@lugg/maps 1.0.0-beta.0 → 1.0.0-beta.10

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 (186) hide show
  1. package/README.md +4 -1
  2. package/android/build.gradle +1 -1
  3. package/android/src/main/java/com/luggmaps/LuggCalloutView.kt +79 -0
  4. package/android/src/main/java/com/luggmaps/LuggCalloutViewManager.kt +39 -0
  5. package/android/src/main/java/com/luggmaps/LuggCircleView.kt +85 -0
  6. package/android/src/main/java/com/luggmaps/LuggCircleViewManager.kt +79 -0
  7. package/android/src/main/java/com/luggmaps/LuggGroundOverlayView.kt +81 -0
  8. package/android/src/main/java/com/luggmaps/LuggGroundOverlayViewManager.kt +82 -0
  9. package/android/src/main/java/com/luggmaps/LuggMapView.kt +49 -0
  10. package/android/src/main/java/com/luggmaps/LuggMapViewManager.kt +31 -0
  11. package/android/src/main/java/com/luggmaps/LuggMapWrapperView.kt +0 -11
  12. package/android/src/main/java/com/luggmaps/LuggMarkerView.kt +99 -51
  13. package/android/src/main/java/com/luggmaps/LuggMarkerViewManager.kt +13 -0
  14. package/android/src/main/java/com/luggmaps/LuggPackage.kt +11 -1
  15. package/android/src/main/java/com/luggmaps/LuggPolylineView.kt +1 -22
  16. package/android/src/main/java/com/luggmaps/LuggTileOverlayView.kt +92 -0
  17. package/android/src/main/java/com/luggmaps/LuggTileOverlayViewManager.kt +80 -0
  18. package/android/src/main/java/com/luggmaps/core/GoogleMapProvider.kt +628 -18
  19. package/android/src/main/java/com/luggmaps/core/MapProviderDelegate.kt +14 -0
  20. package/android/src/main/java/com/luggmaps/core/PolylineAnimator.kt +12 -7
  21. package/android/src/main/java/com/luggmaps/events/CirclePressEvent.kt +12 -0
  22. package/android/src/main/java/com/luggmaps/events/GroundOverlayPressEvent.kt +12 -0
  23. package/android/src/main/java/com/luggmaps/events/TileOverlayPressEvent.kt +12 -0
  24. package/android/src/main/java/com/luggmaps/extensions/ViewExtensions.kt +11 -0
  25. package/ios/LuggCalloutView.h +23 -0
  26. package/ios/LuggCalloutView.mm +155 -0
  27. package/ios/LuggCircleView.h +31 -0
  28. package/ios/LuggCircleView.mm +133 -0
  29. package/ios/LuggGroundOverlayView.h +30 -0
  30. package/ios/LuggGroundOverlayView.mm +125 -0
  31. package/ios/LuggMapView.mm +84 -2
  32. package/ios/LuggMarkerView.h +5 -0
  33. package/ios/LuggMarkerView.mm +40 -2
  34. package/ios/LuggTileOverlayView.h +31 -0
  35. package/ios/LuggTileOverlayView.mm +130 -0
  36. package/ios/core/AppleMapProvider.mm +838 -34
  37. package/ios/core/GMSPolylineAnimator.m +6 -3
  38. package/ios/core/GoogleMapProvider.mm +506 -19
  39. package/ios/core/LuggAnnotationView.h +12 -0
  40. package/ios/core/LuggAnnotationView.mm +55 -0
  41. package/ios/core/MapProviderDelegate.h +20 -1
  42. package/ios/events/CirclePressEvent.h +20 -0
  43. package/ios/events/GroundOverlayPressEvent.h +20 -0
  44. package/ios/events/TileOverlayPressEvent.h +20 -0
  45. package/lib/module/MapProvider.web.js +7 -2
  46. package/lib/module/MapProvider.web.js.map +1 -1
  47. package/lib/module/MapView.js +12 -1
  48. package/lib/module/MapView.js.map +1 -1
  49. package/lib/module/MapView.web.js +36 -20
  50. package/lib/module/MapView.web.js.map +1 -1
  51. package/lib/module/components/Circle.js +46 -0
  52. package/lib/module/components/Circle.js.map +1 -0
  53. package/lib/module/components/Circle.types.js +4 -0
  54. package/lib/module/components/Circle.types.js.map +1 -0
  55. package/lib/module/components/Circle.web.js +79 -0
  56. package/lib/module/components/Circle.web.js.map +1 -0
  57. package/lib/module/components/GeoJson.js +3 -3
  58. package/lib/module/components/GeoJson.js.map +1 -1
  59. package/lib/module/components/GroundOverlay.js +45 -0
  60. package/lib/module/components/GroundOverlay.js.map +1 -0
  61. package/lib/module/components/GroundOverlay.types.js +4 -0
  62. package/lib/module/components/GroundOverlay.types.js.map +1 -0
  63. package/lib/module/components/GroundOverlay.web.js +77 -0
  64. package/lib/module/components/GroundOverlay.web.js.map +1 -0
  65. package/lib/module/components/Marker.js +41 -6
  66. package/lib/module/components/Marker.js.map +1 -1
  67. package/lib/module/components/Marker.web.js +103 -26
  68. package/lib/module/components/Marker.web.js.map +1 -1
  69. package/lib/module/components/Polygon.web.js +3 -3
  70. package/lib/module/components/Polygon.web.js.map +1 -1
  71. package/lib/module/components/Polyline.web.js +6 -12
  72. package/lib/module/components/Polyline.web.js.map +1 -1
  73. package/lib/module/components/TileOverlay.js +44 -0
  74. package/lib/module/components/TileOverlay.js.map +1 -0
  75. package/lib/module/components/TileOverlay.types.js +4 -0
  76. package/lib/module/components/TileOverlay.types.js.map +1 -0
  77. package/lib/module/components/TileOverlay.web.js +69 -0
  78. package/lib/module/components/TileOverlay.web.js.map +1 -0
  79. package/lib/module/components/index.js +3 -0
  80. package/lib/module/components/index.js.map +1 -1
  81. package/lib/module/components/index.web.js +3 -0
  82. package/lib/module/components/index.web.js.map +1 -1
  83. package/lib/module/fabric/LuggCalloutViewNativeComponent.ts +20 -0
  84. package/lib/module/fabric/LuggCircleViewNativeComponent.ts +25 -0
  85. package/lib/module/fabric/LuggGroundOverlayViewNativeComponent.ts +29 -0
  86. package/lib/module/fabric/LuggMapViewNativeComponent.ts +13 -5
  87. package/lib/module/fabric/LuggMarkerViewNativeComponent.ts +14 -2
  88. package/lib/module/fabric/LuggTileOverlayViewNativeComponent.ts +30 -0
  89. package/lib/module/index.js +3 -0
  90. package/lib/module/index.js.map +1 -1
  91. package/lib/module/index.web.js +3 -0
  92. package/lib/module/index.web.js.map +1 -1
  93. package/lib/typescript/src/MapProvider.web.d.ts +9 -2
  94. package/lib/typescript/src/MapProvider.web.d.ts.map +1 -1
  95. package/lib/typescript/src/MapView.d.ts +1 -1
  96. package/lib/typescript/src/MapView.d.ts.map +1 -1
  97. package/lib/typescript/src/MapView.types.d.ts +36 -1
  98. package/lib/typescript/src/MapView.types.d.ts.map +1 -1
  99. package/lib/typescript/src/MapView.web.d.ts +1 -1
  100. package/lib/typescript/src/MapView.web.d.ts.map +1 -1
  101. package/lib/typescript/src/components/Circle.d.ts +10 -0
  102. package/lib/typescript/src/components/Circle.d.ts.map +1 -0
  103. package/lib/typescript/src/components/Circle.types.d.ts +33 -0
  104. package/lib/typescript/src/components/Circle.types.d.ts.map +1 -0
  105. package/lib/typescript/src/components/Circle.web.d.ts +3 -0
  106. package/lib/typescript/src/components/Circle.web.d.ts.map +1 -0
  107. package/lib/typescript/src/components/GeoJson.d.ts +2 -1
  108. package/lib/typescript/src/components/GeoJson.d.ts.map +1 -1
  109. package/lib/typescript/src/components/GeoJson.types.d.ts +11 -1
  110. package/lib/typescript/src/components/GeoJson.types.d.ts.map +1 -1
  111. package/lib/typescript/src/components/GroundOverlay.d.ts +10 -0
  112. package/lib/typescript/src/components/GroundOverlay.d.ts.map +1 -0
  113. package/lib/typescript/src/components/GroundOverlay.types.d.ts +35 -0
  114. package/lib/typescript/src/components/GroundOverlay.types.d.ts.map +1 -0
  115. package/lib/typescript/src/components/GroundOverlay.web.d.ts +3 -0
  116. package/lib/typescript/src/components/GroundOverlay.web.d.ts.map +1 -0
  117. package/lib/typescript/src/components/Marker.d.ts +6 -3
  118. package/lib/typescript/src/components/Marker.d.ts.map +1 -1
  119. package/lib/typescript/src/components/Marker.types.d.ts +40 -2
  120. package/lib/typescript/src/components/Marker.types.d.ts.map +1 -1
  121. package/lib/typescript/src/components/Marker.web.d.ts +3 -2
  122. package/lib/typescript/src/components/Marker.web.d.ts.map +1 -1
  123. package/lib/typescript/src/components/Polygon.web.d.ts +1 -1
  124. package/lib/typescript/src/components/Polygon.web.d.ts.map +1 -1
  125. package/lib/typescript/src/components/Polyline.web.d.ts +1 -1
  126. package/lib/typescript/src/components/Polyline.web.d.ts.map +1 -1
  127. package/lib/typescript/src/components/TileOverlay.d.ts +10 -0
  128. package/lib/typescript/src/components/TileOverlay.d.ts.map +1 -0
  129. package/lib/typescript/src/components/TileOverlay.types.d.ts +36 -0
  130. package/lib/typescript/src/components/TileOverlay.types.d.ts.map +1 -0
  131. package/lib/typescript/src/components/TileOverlay.web.d.ts +3 -0
  132. package/lib/typescript/src/components/TileOverlay.web.d.ts.map +1 -0
  133. package/lib/typescript/src/components/index.d.ts +7 -1
  134. package/lib/typescript/src/components/index.d.ts.map +1 -1
  135. package/lib/typescript/src/components/index.web.d.ts +7 -1
  136. package/lib/typescript/src/components/index.web.d.ts.map +1 -1
  137. package/lib/typescript/src/fabric/LuggCalloutViewNativeComponent.d.ts +13 -0
  138. package/lib/typescript/src/fabric/LuggCalloutViewNativeComponent.d.ts.map +1 -0
  139. package/lib/typescript/src/fabric/LuggCircleViewNativeComponent.d.ts +18 -0
  140. package/lib/typescript/src/fabric/LuggCircleViewNativeComponent.d.ts.map +1 -0
  141. package/lib/typescript/src/fabric/LuggGroundOverlayViewNativeComponent.d.ts +21 -0
  142. package/lib/typescript/src/fabric/LuggGroundOverlayViewNativeComponent.d.ts.map +1 -0
  143. package/lib/typescript/src/fabric/LuggMapViewNativeComponent.d.ts +10 -5
  144. package/lib/typescript/src/fabric/LuggMapViewNativeComponent.d.ts.map +1 -1
  145. package/lib/typescript/src/fabric/LuggMarkerViewNativeComponent.d.ts +8 -1
  146. package/lib/typescript/src/fabric/LuggMarkerViewNativeComponent.d.ts.map +1 -1
  147. package/lib/typescript/src/fabric/LuggTileOverlayViewNativeComponent.d.ts +21 -0
  148. package/lib/typescript/src/fabric/LuggTileOverlayViewNativeComponent.d.ts.map +1 -0
  149. package/lib/typescript/src/index.d.ts +10 -4
  150. package/lib/typescript/src/index.d.ts.map +1 -1
  151. package/lib/typescript/src/index.web.d.ts +9 -3
  152. package/lib/typescript/src/index.web.d.ts.map +1 -1
  153. package/lib/typescript/src/types.d.ts +0 -4
  154. package/lib/typescript/src/types.d.ts.map +1 -1
  155. package/package.json +6 -2
  156. package/src/MapProvider.web.tsx +15 -3
  157. package/src/MapView.tsx +12 -1
  158. package/src/MapView.types.ts +118 -1
  159. package/src/MapView.web.tsx +379 -322
  160. package/src/components/Circle.tsx +52 -0
  161. package/src/components/Circle.types.ts +33 -0
  162. package/src/components/Circle.web.tsx +95 -0
  163. package/src/components/GeoJson.tsx +3 -3
  164. package/src/components/GeoJson.types.ts +12 -1
  165. package/src/components/GroundOverlay.tsx +47 -0
  166. package/src/components/GroundOverlay.types.ts +36 -0
  167. package/src/components/GroundOverlay.web.tsx +81 -0
  168. package/src/components/Marker.tsx +59 -5
  169. package/src/components/Marker.types.ts +42 -2
  170. package/src/components/Marker.web.tsx +235 -99
  171. package/src/components/Polygon.web.tsx +93 -89
  172. package/src/components/Polyline.web.tsx +235 -235
  173. package/src/components/TileOverlay.tsx +44 -0
  174. package/src/components/TileOverlay.types.ts +37 -0
  175. package/src/components/TileOverlay.web.tsx +97 -0
  176. package/src/components/index.ts +11 -0
  177. package/src/components/index.web.ts +10 -1
  178. package/src/fabric/LuggCalloutViewNativeComponent.ts +20 -0
  179. package/src/fabric/LuggCircleViewNativeComponent.ts +25 -0
  180. package/src/fabric/LuggGroundOverlayViewNativeComponent.ts +29 -0
  181. package/src/fabric/LuggMapViewNativeComponent.ts +13 -5
  182. package/src/fabric/LuggMarkerViewNativeComponent.ts +14 -2
  183. package/src/fabric/LuggTileOverlayViewNativeComponent.ts +30 -0
  184. package/src/index.ts +14 -1
  185. package/src/index.web.ts +17 -1
  186. package/src/types.ts +0 -5
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import React, { useMemo } from 'react';
3
+ import React, { memo, useMemo } from 'react';
4
4
  import { Marker } from './Marker';
5
5
  import { Polygon } from './Polygon';
6
6
  import { Polyline } from './Polyline';
@@ -137,7 +137,7 @@ const renderGeometry = (geometry, feature, props, keyPrefix) => {
137
137
  }
138
138
  return elements;
139
139
  };
140
- export const GeoJson = props => {
140
+ export const GeoJson = /*#__PURE__*/memo(props => {
141
141
  const {
142
142
  geojson
143
143
  } = props;
@@ -155,5 +155,5 @@ export const GeoJson = props => {
155
155
  return /*#__PURE__*/_jsx(_Fragment, {
156
156
  children: elements
157
157
  });
158
- };
158
+ });
159
159
  //# sourceMappingURL=GeoJson.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","Marker","Polygon","Polyline","jsx","_jsx","Fragment","_Fragment","toCoordinate","position","latitude","longitude","toCoordinates","positions","map","normalizeFeatures","geojson","type","features","geometry","properties","renderGeometry","feature","props","keyPrefix","elements","markerProps","coordinate","coordinates","title","description","zIndex","push","renderMarker","i","length","key","p","polylineProps","strokeColors","stroke","undefined","strokeWidth","renderPolyline","outer","holes","slice","polygonProps","fillColor","fill","strokeColor","renderPolygon","rings","geometries","GeoJson","result","id","String","children"],"sourceRoot":"../../../src","sources":["components/GeoJson.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","memo","useMemo","Marker","Polygon","Polyline","jsx","_jsx","Fragment","_Fragment","toCoordinate","position","latitude","longitude","toCoordinates","positions","map","normalizeFeatures","geojson","type","features","geometry","properties","renderGeometry","feature","props","keyPrefix","elements","markerProps","coordinate","coordinates","title","description","zIndex","push","renderMarker","i","length","key","p","polylineProps","strokeColors","stroke","undefined","strokeWidth","renderPolyline","outer","holes","slice","polygonProps","fillColor","fill","strokeColor","renderPolygon","rings","geometries","GeoJson","result","id","String","children"],"sourceRoot":"../../../src","sources":["components/GeoJson.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { Image, StyleSheet } from 'react-native';
5
+ import LuggGroundOverlayViewNativeComponent from '../fabric/LuggGroundOverlayViewNativeComponent';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ export class GroundOverlay extends React.PureComponent {
8
+ getStyle(zIndex) {
9
+ if (zIndex == null) return styles.overlay;
10
+ if (zIndex !== this._cachedZIndex) {
11
+ this._cachedZIndex = zIndex;
12
+ this._cachedStyle = [{
13
+ zIndex
14
+ }, styles.overlay];
15
+ }
16
+ return this._cachedStyle;
17
+ }
18
+ render() {
19
+ const {
20
+ image,
21
+ bounds,
22
+ opacity,
23
+ bearing,
24
+ zIndex,
25
+ onPress
26
+ } = this.props;
27
+ const resolved = Image.resolveAssetSource(image);
28
+ return /*#__PURE__*/_jsx(LuggGroundOverlayViewNativeComponent, {
29
+ style: this.getStyle(zIndex),
30
+ image: resolved?.uri ?? '',
31
+ bounds: bounds,
32
+ opacity: opacity,
33
+ bearing: bearing,
34
+ tappable: !!onPress,
35
+ onGroundOverlayPress: onPress
36
+ });
37
+ }
38
+ }
39
+ const styles = StyleSheet.create({
40
+ overlay: {
41
+ position: 'absolute',
42
+ pointerEvents: 'none'
43
+ }
44
+ });
45
+ //# sourceMappingURL=GroundOverlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Image","StyleSheet","LuggGroundOverlayViewNativeComponent","jsx","_jsx","GroundOverlay","PureComponent","getStyle","zIndex","styles","overlay","_cachedZIndex","_cachedStyle","render","image","bounds","opacity","bearing","onPress","props","resolved","resolveAssetSource","style","uri","tappable","onGroundOverlayPress","create","position","pointerEvents"],"sourceRoot":"../../../src","sources":["components/GroundOverlay.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,EAAEC,UAAU,QAAQ,cAAc;AAChD,OAAOC,oCAAoC,MAAM,gDAAgD;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQlG,OAAO,MAAMC,aAAa,SAASN,KAAK,CAACO,aAAa,CAAqB;EAIjEC,QAAQA,CAACC,MAA0B,EAAE;IAC3C,IAAIA,MAAM,IAAI,IAAI,EAAE,OAAOC,MAAM,CAACC,OAAO;IACzC,IAAIF,MAAM,KAAK,IAAI,CAACG,aAAa,EAAE;MACjC,IAAI,CAACA,aAAa,GAAGH,MAAM;MAC3B,IAAI,CAACI,YAAY,GAAG,CAAC;QAAEJ;MAAO,CAAC,EAAEC,MAAM,CAACC,OAAO,CAAC;IAClD;IACA,OAAO,IAAI,CAACE,YAAY;EAC1B;EAEAC,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC,KAAK;MAAEC,MAAM;MAAEC,OAAO;MAAEC,OAAO;MAAET,MAAM;MAAEU;IAAQ,CAAC,GAAG,IAAI,CAACC,KAAK;IACvE,MAAMC,QAAQ,GAAGpB,KAAK,CAACqB,kBAAkB,CAACP,KAAK,CAAC;IAEhD,oBACEV,IAAA,CAACF,oCAAoC;MACnCoB,KAAK,EAAE,IAAI,CAACf,QAAQ,CAACC,MAAM,CAAE;MAC7BM,KAAK,EAAEM,QAAQ,EAAEG,GAAG,IAAI,EAAG;MAC3BR,MAAM,EAAEA,MAAO;MACfC,OAAO,EAAEA,OAAQ;MACjBC,OAAO,EAAEA,OAAQ;MACjBO,QAAQ,EAAE,CAAC,CAACN,OAAQ;MACpBO,oBAAoB,EAAEP;IAAQ,CAC/B,CAAC;EAEN;AACF;AAEA,MAAMT,MAAM,GAAGR,UAAU,CAACyB,MAAM,CAAC;EAC/BhB,OAAO,EAAE;IACPiB,QAAQ,EAAE,UAAU;IACpBC,aAAa,EAAE;EACjB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=GroundOverlay.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["components/GroundOverlay.types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ import { memo, useCallback, useEffect, useRef } from 'react';
4
+ import { useMapContext } from "../MapProvider.web.js";
5
+ export const GroundOverlay = /*#__PURE__*/memo(({
6
+ image,
7
+ bounds,
8
+ opacity = 1,
9
+ zIndex = 0,
10
+ onPress
11
+ }) => {
12
+ const {
13
+ map
14
+ } = useMapContext();
15
+ const overlayRef = useRef(null);
16
+ const listenersRef = useRef([]);
17
+ const handleClick = useCallback(() => {
18
+ onPress?.();
19
+ }, [onPress]);
20
+
21
+ // Cleanup on unmount
22
+ useEffect(() => {
23
+ return () => {
24
+ listenersRef.current.forEach(l => l.remove());
25
+ listenersRef.current = [];
26
+ overlayRef.current?.setMap(null);
27
+ overlayRef.current = null;
28
+ };
29
+ }, []);
30
+
31
+ // Sync listeners
32
+ useEffect(() => {
33
+ const overlay = overlayRef.current;
34
+ if (!overlay) return;
35
+ listenersRef.current.forEach(l => l.remove());
36
+ listenersRef.current = [];
37
+ if (onPress) {
38
+ listenersRef.current.push(overlay.addListener('click', handleClick));
39
+ }
40
+ overlay.set('clickable', !!onPress);
41
+ }, [onPress, handleClick]);
42
+
43
+ // Sync overlay with props
44
+ useEffect(() => {
45
+ if (!map) {
46
+ overlayRef.current?.setMap(null);
47
+ return;
48
+ }
49
+ const source = typeof image === 'number' ? null : Array.isArray(image) ? image[0] : image;
50
+ const imageUrl = source?.uri ?? '';
51
+ if (!imageUrl) return;
52
+ const latLngBounds = new google.maps.LatLngBounds({
53
+ lat: bounds.southwest.latitude,
54
+ lng: bounds.southwest.longitude
55
+ }, {
56
+ lat: bounds.northeast.latitude,
57
+ lng: bounds.northeast.longitude
58
+ });
59
+
60
+ // GroundOverlay bounds are immutable — recreate if bounds change
61
+ overlayRef.current?.setMap(null);
62
+ listenersRef.current.forEach(l => l.remove());
63
+ listenersRef.current = [];
64
+ const overlay = new google.maps.GroundOverlay(imageUrl, latLngBounds, {
65
+ opacity,
66
+ clickable: !!onPress,
67
+ map
68
+ });
69
+ overlay.set('zIndex', zIndex);
70
+ overlayRef.current = overlay;
71
+ if (onPress) {
72
+ listenersRef.current.push(overlay.addListener('click', handleClick));
73
+ }
74
+ }, [map, image, bounds, opacity, zIndex, onPress, handleClick]);
75
+ return null;
76
+ });
77
+ //# sourceMappingURL=GroundOverlay.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","useCallback","useEffect","useRef","useMapContext","GroundOverlay","image","bounds","opacity","zIndex","onPress","map","overlayRef","listenersRef","handleClick","current","forEach","l","remove","setMap","overlay","push","addListener","set","source","Array","isArray","imageUrl","uri","latLngBounds","google","maps","LatLngBounds","lat","southwest","latitude","lng","longitude","northeast","clickable"],"sourceRoot":"../../../src","sources":["components/GroundOverlay.web.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAC5D,SAASC,aAAa,QAAQ,uBAAoB;AAGlD,OAAO,MAAMC,aAAa,gBAAGL,IAAI,CAC/B,CAAC;EAAEM,KAAK;EAAEC,MAAM;EAAEC,OAAO,GAAG,CAAC;EAAEC,MAAM,GAAG,CAAC;EAAEC;AAA4B,CAAC,KAAK;EAC3E,MAAM;IAAEC;EAAI,CAAC,GAAGP,aAAa,CAAC,CAAC;EAC/B,MAAMQ,UAAU,GAAGT,MAAM,CAAmC,IAAI,CAAC;EACjE,MAAMU,YAAY,GAAGV,MAAM,CAAkC,EAAE,CAAC;EAEhE,MAAMW,WAAW,GAAGb,WAAW,CAAC,MAAM;IACpCS,OAAO,GAAG,CAAC;EACb,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;;EAEb;EACAR,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACXW,YAAY,CAACE,OAAO,CAACC,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAACC,MAAM,CAAC,CAAC,CAAC;MAC/CL,YAAY,CAACE,OAAO,GAAG,EAAE;MACzBH,UAAU,CAACG,OAAO,EAAEI,MAAM,CAAC,IAAI,CAAC;MAChCP,UAAU,CAACG,OAAO,GAAG,IAAI;IAC3B,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;;EAEN;EACAb,SAAS,CAAC,MAAM;IACd,MAAMkB,OAAO,GAAGR,UAAU,CAACG,OAAO;IAClC,IAAI,CAACK,OAAO,EAAE;IAEdP,YAAY,CAACE,OAAO,CAACC,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAACC,MAAM,CAAC,CAAC,CAAC;IAC/CL,YAAY,CAACE,OAAO,GAAG,EAAE;IAEzB,IAAIL,OAAO,EAAE;MACXG,YAAY,CAACE,OAAO,CAACM,IAAI,CAACD,OAAO,CAACE,WAAW,CAAC,OAAO,EAAER,WAAW,CAAC,CAAC;IACtE;IACAM,OAAO,CAACG,GAAG,CAAC,WAAW,EAAE,CAAC,CAACb,OAAO,CAAC;EACrC,CAAC,EAAE,CAACA,OAAO,EAAEI,WAAW,CAAC,CAAC;;EAE1B;EACAZ,SAAS,CAAC,MAAM;IACd,IAAI,CAACS,GAAG,EAAE;MACRC,UAAU,CAACG,OAAO,EAAEI,MAAM,CAAC,IAAI,CAAC;MAChC;IACF;IAEA,MAAMK,MAAM,GACV,OAAOlB,KAAK,KAAK,QAAQ,GACrB,IAAI,GACJmB,KAAK,CAACC,OAAO,CAACpB,KAAK,CAAC,GACpBA,KAAK,CAAC,CAAC,CAAC,GACRA,KAAK;IACX,MAAMqB,QAAQ,GAAGH,MAAM,EAAEI,GAAG,IAAI,EAAE;IAClC,IAAI,CAACD,QAAQ,EAAE;IAEf,MAAME,YAAY,GAAG,IAAIC,MAAM,CAACC,IAAI,CAACC,YAAY,CAC/C;MAAEC,GAAG,EAAE1B,MAAM,CAAC2B,SAAS,CAACC,QAAQ;MAAEC,GAAG,EAAE7B,MAAM,CAAC2B,SAAS,CAACG;IAAU,CAAC,EACnE;MAAEJ,GAAG,EAAE1B,MAAM,CAAC+B,SAAS,CAACH,QAAQ;MAAEC,GAAG,EAAE7B,MAAM,CAAC+B,SAAS,CAACD;IAAU,CACpE,CAAC;;IAED;IACAzB,UAAU,CAACG,OAAO,EAAEI,MAAM,CAAC,IAAI,CAAC;IAChCN,YAAY,CAACE,OAAO,CAACC,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAACC,MAAM,CAAC,CAAC,CAAC;IAC/CL,YAAY,CAACE,OAAO,GAAG,EAAE;IAEzB,MAAMK,OAAO,GAAG,IAAIU,MAAM,CAACC,IAAI,CAAC1B,aAAa,CAACsB,QAAQ,EAAEE,YAAY,EAAE;MACpErB,OAAO;MACP+B,SAAS,EAAE,CAAC,CAAC7B,OAAO;MACpBC;IACF,CAAC,CAAC;IAEFS,OAAO,CAACG,GAAG,CAAC,QAAQ,EAAEd,MAAM,CAAC;IAC7BG,UAAU,CAACG,OAAO,GAAGK,OAAO;IAE5B,IAAIV,OAAO,EAAE;MACXG,YAAY,CAACE,OAAO,CAACM,IAAI,CAACD,OAAO,CAACE,WAAW,CAAC,OAAO,EAAER,WAAW,CAAC,CAAC;IACtE;EACF,CAAC,EAAE,CAACH,GAAG,EAAEL,KAAK,EAAEC,MAAM,EAAEC,OAAO,EAAEC,MAAM,EAAEC,OAAO,EAAEI,WAAW,CAAC,CAAC;EAE/D,OAAO,IAAI;AACb,CACF,CAAC","ignoreList":[]}
@@ -1,10 +1,26 @@
1
1
  "use strict";
2
2
 
3
- import React from 'react';
3
+ import React, { isValidElement } from 'react';
4
4
  import { StyleSheet } from 'react-native';
5
- import LuggMarkerViewNativeComponent from '../fabric/LuggMarkerViewNativeComponent';
6
- import { jsx as _jsx } from "react/jsx-runtime";
5
+ import LuggMarkerViewNativeComponent, { Commands } from '../fabric/LuggMarkerViewNativeComponent';
6
+ import LuggCalloutViewNativeComponent from '../fabric/LuggCalloutViewNativeComponent';
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ const DEFAULT_ANCHOR = {
9
+ x: 0.5,
10
+ y: 1
11
+ };
7
12
  export class Marker extends React.PureComponent {
13
+ nativeRef = /*#__PURE__*/React.createRef();
14
+ showCallout() {
15
+ const ref = this.nativeRef.current;
16
+ if (!ref) return;
17
+ Commands.showCallout(ref);
18
+ }
19
+ hideCallout() {
20
+ const ref = this.nativeRef.current;
21
+ if (!ref) return;
22
+ Commands.hideCallout(ref);
23
+ }
8
24
  getStyle(zIndex) {
9
25
  if (zIndex == null) return styles.marker;
10
26
  if (zIndex !== this._cachedZIndex) {
@@ -26,29 +42,42 @@ export class Marker extends React.PureComponent {
26
42
  rotate = 0,
27
43
  scale = 1,
28
44
  rasterize = true,
45
+ centerOnPress = true,
29
46
  draggable = false,
30
47
  onPress,
31
48
  onDragStart,
32
49
  onDragChange,
33
50
  onDragEnd,
51
+ callout,
52
+ calloutOptions,
34
53
  children
35
54
  } = this.props;
36
- return /*#__PURE__*/_jsx(LuggMarkerViewNativeComponent, {
55
+ const calloutContent = callout ? /*#__PURE__*/isValidElement(callout) ? callout : /*#__PURE__*/React.createElement(callout) : null;
56
+ const calloutBubbled = calloutOptions?.bubbled ?? true;
57
+ const calloutOffset = calloutOptions?.offset;
58
+ return /*#__PURE__*/_jsxs(LuggMarkerViewNativeComponent, {
59
+ ref: this.nativeRef,
37
60
  style: this.getStyle(zIndex),
38
61
  name: name,
39
62
  coordinate: coordinate,
40
63
  title: title,
41
64
  description: description,
42
- anchor: anchor,
65
+ anchor: anchor ?? DEFAULT_ANCHOR,
43
66
  rotate: rotate,
44
67
  scale: scale,
45
68
  rasterize: rasterize,
69
+ centerOnPress: centerOnPress,
46
70
  draggable: draggable,
47
71
  onMarkerPress: onPress,
48
72
  onMarkerDragStart: onDragStart,
49
73
  onMarkerDragChange: onDragChange,
50
74
  onMarkerDragEnd: onDragEnd,
51
- children: children
75
+ children: [children, calloutContent && /*#__PURE__*/_jsx(LuggCalloutViewNativeComponent, {
76
+ style: calloutStyles.callout,
77
+ bubbled: calloutBubbled,
78
+ offset: calloutOffset,
79
+ children: calloutContent
80
+ })]
52
81
  });
53
82
  }
54
83
  }
@@ -58,4 +87,10 @@ const styles = StyleSheet.create({
58
87
  pointerEvents: 'box-none'
59
88
  }
60
89
  });
90
+ const calloutStyles = StyleSheet.create({
91
+ callout: {
92
+ position: 'absolute',
93
+ pointerEvents: 'box-none'
94
+ }
95
+ });
61
96
  //# sourceMappingURL=Marker.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","StyleSheet","LuggMarkerViewNativeComponent","jsx","_jsx","Marker","PureComponent","getStyle","zIndex","styles","marker","_cachedZIndex","_cachedStyle","render","name","coordinate","title","description","anchor","rotate","scale","rasterize","draggable","onPress","onDragStart","onDragChange","onDragEnd","children","props","style","onMarkerPress","onMarkerDragStart","onMarkerDragChange","onMarkerDragEnd","create","position","pointerEvents"],"sourceRoot":"../../../src","sources":["components/Marker.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,cAAc;AACzC,OAAOC,6BAA6B,MAAM,yCAAyC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AASpF,OAAO,MAAMC,MAAM,SAASL,KAAK,CAACM,aAAa,CAAc;EACnDC,QAAQA,CAACC,MAA0B,EAAE;IAC3C,IAAIA,MAAM,IAAI,IAAI,EAAE,OAAOC,MAAM,CAACC,MAAM;IACxC,IAAIF,MAAM,KAAK,IAAI,CAACG,aAAa,EAAE;MACjC,IAAI,CAACA,aAAa,GAAGH,MAAM;MAC3B,IAAI,CAACI,YAAY,GAAG,CAAC;QAAEJ;MAAO,CAAC,EAAEC,MAAM,CAACC,MAAM,CAAC;IACjD;IACA,OAAO,IAAI,CAACE,YAAY;EAC1B;EAKAC,MAAMA,CAAA,EAAG;IACP,MAAM;MACJC,IAAI;MACJC,UAAU;MACVC,KAAK;MACLC,WAAW;MACXC,MAAM;MACNV,MAAM;MACNW,MAAM,GAAG,CAAC;MACVC,KAAK,GAAG,CAAC;MACTC,SAAS,GAAG,IAAI;MAChBC,SAAS,GAAG,KAAK;MACjBC,OAAO;MACPC,WAAW;MACXC,YAAY;MACZC,SAAS;MACTC;IACF,CAAC,GAAG,IAAI,CAACC,KAAK;IAEd,oBACExB,IAAA,CAACF,6BAA6B;MAC5B2B,KAAK,EAAE,IAAI,CAACtB,QAAQ,CAACC,MAAM,CAAE;MAC7BM,IAAI,EAAEA,IAAK;MACXC,UAAU,EAAEA,UAAW;MACvBC,KAAK,EAAEA,KAAM;MACbC,WAAW,EAAEA,WAAY;MACzBC,MAAM,EAAEA,MAAO;MACfC,MAAM,EAAEA,MAAO;MACfC,KAAK,EAAEA,KAAM;MACbC,SAAS,EAAEA,SAAU;MACrBC,SAAS,EAAEA,SAAU;MACrBQ,aAAa,EAAEP,OAAQ;MACvBQ,iBAAiB,EAAEP,WAAY;MAC/BQ,kBAAkB,EAAEP,YAAa;MACjCQ,eAAe,EAAEP,SAAU;MAAAC,QAAA,EAE1BA;IAAQ,CACoB,CAAC;EAEpC;AACF;AAEA,MAAMlB,MAAM,GAAGR,UAAU,CAACiC,MAAM,CAAC;EAC/BxB,MAAM,EAAE;IACNyB,QAAQ,EAAE,UAAU;IACpBC,aAAa,EAAE;EACjB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","isValidElement","StyleSheet","LuggMarkerViewNativeComponent","Commands","LuggCalloutViewNativeComponent","jsx","_jsx","jsxs","_jsxs","DEFAULT_ANCHOR","x","y","Marker","PureComponent","nativeRef","createRef","showCallout","ref","current","hideCallout","getStyle","zIndex","styles","marker","_cachedZIndex","_cachedStyle","render","name","coordinate","title","description","anchor","rotate","scale","rasterize","centerOnPress","draggable","onPress","onDragStart","onDragChange","onDragEnd","callout","calloutOptions","children","props","calloutContent","createElement","calloutBubbled","bubbled","calloutOffset","offset","style","onMarkerPress","onMarkerDragStart","onMarkerDragChange","onMarkerDragEnd","calloutStyles","create","position","pointerEvents"],"sourceRoot":"../../../src","sources":["components/Marker.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,9 +1,33 @@
1
1
  "use strict";
2
2
 
3
- import { useCallback, useEffect, useRef } from 'react';
4
- import { AdvancedMarker } from '@vis.gl/react-google-maps';
3
+ import React, { forwardRef, isValidElement, memo, useCallback, useEffect, useImperativeHandle, useRef, useState } from 'react';
4
+ import { AdvancedMarker, InfoWindow, useAdvancedMarkerRef } from '@vis.gl/react-google-maps';
5
5
  import { useMapContext } from "../MapProvider.web.js";
6
- import { jsx as _jsx } from "react/jsx-runtime";
6
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
7
+ const CALLOUT_ARROW_HEIGHT = 12;
8
+ const UNBUBBLED_CLASS = 'rnm-callout-unbubbled';
9
+ const UNBUBBLED_STYLE_ID = 'rnm-callout-unbubbled-style';
10
+ function injectUnbubbledStyle() {
11
+ if (document.getElementById(UNBUBBLED_STYLE_ID)) return;
12
+ const style = document.createElement('style');
13
+ style.id = UNBUBBLED_STYLE_ID;
14
+ style.textContent = `
15
+ .gm-style-iw-c:has(.${UNBUBBLED_CLASS}) {
16
+ background: transparent !important;
17
+ box-shadow: none !important;
18
+ padding: 0 !important;
19
+ border-radius: 0 !important;
20
+ }
21
+ .gm-style-iw-d:has(.${UNBUBBLED_CLASS}) {
22
+ overflow: visible !important;
23
+ }
24
+ .gm-style-iw-t:has(.${UNBUBBLED_CLASS})::after,
25
+ .gm-style-iw-t:has(.${UNBUBBLED_CLASS}) .gm-style-iw-tc {
26
+ display: none !important;
27
+ }
28
+ `;
29
+ document.head.appendChild(style);
30
+ }
7
31
  const toWebAnchor = value => `-${value * 100}%`;
8
32
  const createEvent = (e, coordinate) => ({
9
33
  nativeEvent: {
@@ -17,24 +41,60 @@ const createEvent = (e, coordinate) => ({
17
41
  }
18
42
  }
19
43
  });
20
- export const Marker = ({
44
+ export const Marker = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(({
21
45
  coordinate,
22
46
  title,
47
+ description,
23
48
  anchor,
24
49
  zIndex,
25
50
  rotate,
26
51
  scale,
52
+ centerOnPress = true,
27
53
  draggable,
28
54
  onPress,
29
55
  onDragStart,
30
56
  onDragChange,
31
57
  onDragEnd,
58
+ callout,
59
+ calloutOptions,
32
60
  children
33
- }) => {
61
+ }, ref) => {
34
62
  const {
35
- moveCamera
63
+ moveCamera,
64
+ onCalloutClose,
65
+ closeCallouts
36
66
  } = useMapContext();
37
67
  const dragPositionRef = useRef(null);
68
+ const [markerRef, markerElement] = useAdvancedMarkerRef();
69
+ const [infoWindowOpen, setInfoWindowOpen] = useState(false);
70
+ const calloutBubbled = calloutOptions?.bubbled ?? true;
71
+ const calloutOffset = calloutOptions?.offset;
72
+ const closeCallout = useCallback(() => setInfoWindowOpen(false), []);
73
+ useEffect(() => onCalloutClose(closeCallout), [onCalloutClose, closeCallout]);
74
+ useEffect(() => {
75
+ if (!calloutBubbled) injectUnbubbledStyle();
76
+ }, [calloutBubbled]);
77
+ const hasCallout = !!(callout || title);
78
+ useImperativeHandle(ref, () => ({
79
+ showCallout() {
80
+ if (hasCallout) {
81
+ closeCallouts(closeCallout);
82
+ setInfoWindowOpen(true);
83
+ }
84
+ },
85
+ hideCallout() {
86
+ setInfoWindowOpen(false);
87
+ }
88
+ }), [hasCallout, closeCallouts, closeCallout]);
89
+ const calloutContent = callout ? /*#__PURE__*/isValidElement(callout) ? callout : /*#__PURE__*/React.createElement(callout) : title ? /*#__PURE__*/React.createElement('div', {
90
+ style: {
91
+ fontSize: 14
92
+ }
93
+ }, /*#__PURE__*/React.createElement('div', {
94
+ style: {
95
+ fontWeight: 500
96
+ }
97
+ }, title), description ? /*#__PURE__*/React.createElement('div', null, description) : null) : null;
38
98
  const transforms = [];
39
99
  if (rotate) transforms.push(`rotate(${rotate}deg)`);
40
100
  if (scale && scale !== 1) transforms.push(`scale(${scale})`);
@@ -44,9 +104,13 @@ export const Marker = ({
44
104
  latitude: pos.lat,
45
105
  longitude: pos.lng
46
106
  } : coordinate;
47
- moveCamera(coord);
107
+ if (centerOnPress) moveCamera(coord);
48
108
  onPress?.(createEvent(e, coordinate));
49
- }, [moveCamera, onPress, coordinate]);
109
+ if (hasCallout) {
110
+ closeCallouts(closeCallout);
111
+ setInfoWindowOpen(prev => !prev);
112
+ }
113
+ }, [centerOnPress, moveCamera, onPress, coordinate, hasCallout, closeCallouts, closeCallout]);
50
114
  const handleDragStart = useCallback(e => {
51
115
  const latLng = e.latLng;
52
116
  if (latLng) {
@@ -80,26 +144,39 @@ export const Marker = ({
80
144
  useEffect(() => {
81
145
  dragPositionRef.current = null;
82
146
  }, [coordinate.latitude, coordinate.longitude]);
83
- const position = dragPositionRef.current ?? {
147
+ const latLngPosition = {
84
148
  lat: coordinate.latitude,
85
149
  lng: coordinate.longitude
86
150
  };
87
- return /*#__PURE__*/_jsx(AdvancedMarker, {
88
- position: position,
89
- title: title,
90
- zIndex: zIndex,
91
- anchorLeft: anchor ? toWebAnchor(anchor.x) : undefined,
92
- anchorTop: anchor ? toWebAnchor(anchor.y) : undefined,
93
- clickable: true,
94
- draggable: draggable,
95
- onClick: handleClick,
96
- onDragStart: handleDragStart,
97
- onDrag: handleDrag,
98
- onDragEnd: handleDragEnd,
99
- style: transforms.length > 0 ? {
100
- transform: transforms.join(' ')
101
- } : undefined,
102
- children: children
151
+ const position = dragPositionRef.current ?? latLngPosition;
152
+ return /*#__PURE__*/_jsxs(_Fragment, {
153
+ children: [/*#__PURE__*/_jsx(AdvancedMarker, {
154
+ ref: markerRef,
155
+ position: position,
156
+ title: title,
157
+ zIndex: zIndex,
158
+ anchorLeft: anchor ? toWebAnchor(anchor.x) : undefined,
159
+ anchorTop: anchor ? toWebAnchor(anchor.y) : undefined,
160
+ clickable: true,
161
+ draggable: draggable,
162
+ onClick: handleClick,
163
+ onDragStart: draggable ? handleDragStart : undefined,
164
+ onDrag: draggable ? handleDrag : undefined,
165
+ onDragEnd: draggable ? handleDragEnd : undefined,
166
+ style: transforms.length > 0 ? {
167
+ transform: transforms.join(' ')
168
+ } : undefined,
169
+ children: children
170
+ }), calloutContent && infoWindowOpen && markerElement && /*#__PURE__*/_jsx(InfoWindow, {
171
+ anchor: markerElement,
172
+ pixelOffset: !calloutBubbled ? [calloutOffset?.x ?? 0, CALLOUT_ARROW_HEIGHT + (calloutOffset?.y ?? 0)] : undefined,
173
+ headerDisabled: true,
174
+ onClose: () => setInfoWindowOpen(false),
175
+ children: !calloutBubbled ? /*#__PURE__*/_jsx("div", {
176
+ className: UNBUBBLED_CLASS,
177
+ children: calloutContent
178
+ }) : calloutContent
179
+ })]
103
180
  });
104
- };
181
+ }));
105
182
  //# sourceMappingURL=Marker.web.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useRef","AdvancedMarker","useMapContext","jsx","_jsx","toWebAnchor","value","createEvent","e","coordinate","nativeEvent","latitude","latLng","lat","longitude","lng","point","x","domEvent","clientX","y","clientY","Marker","title","anchor","zIndex","rotate","scale","draggable","onPress","onDragStart","onDragChange","onDragEnd","children","moveCamera","dragPositionRef","transforms","push","handleClick","pos","current","coord","handleDragStart","handleDrag","handleDragEnd","position","anchorLeft","undefined","anchorTop","clickable","onClick","onDrag","style","length","transform","join"],"sourceRoot":"../../../src","sources":["components/Marker.web.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","forwardRef","isValidElement","memo","useCallback","useEffect","useImperativeHandle","useRef","useState","AdvancedMarker","InfoWindow","useAdvancedMarkerRef","useMapContext","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","CALLOUT_ARROW_HEIGHT","UNBUBBLED_CLASS","UNBUBBLED_STYLE_ID","injectUnbubbledStyle","document","getElementById","style","createElement","id","textContent","head","appendChild","toWebAnchor","value","createEvent","e","coordinate","nativeEvent","latitude","latLng","lat","longitude","lng","point","x","domEvent","clientX","y","clientY","Marker","title","description","anchor","zIndex","rotate","scale","centerOnPress","draggable","onPress","onDragStart","onDragChange","onDragEnd","callout","calloutOptions","children","ref","moveCamera","onCalloutClose","closeCallouts","dragPositionRef","markerRef","markerElement","infoWindowOpen","setInfoWindowOpen","calloutBubbled","bubbled","calloutOffset","offset","closeCallout","hasCallout","showCallout","hideCallout","calloutContent","fontSize","fontWeight","transforms","push","handleClick","pos","current","coord","prev","handleDragStart","handleDrag","handleDragEnd","latLngPosition","position","anchorLeft","undefined","anchorTop","clickable","onClick","onDrag","length","transform","join","pixelOffset","headerDisabled","onClose","className"],"sourceRoot":"../../../src","sources":["components/Marker.web.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
- import { useCallback, useEffect, useRef } from 'react';
3
+ import { memo, useCallback, useEffect, useRef } from 'react';
4
4
  import { useMapContext } from "../MapProvider.web.js";
5
- export const Polygon = ({
5
+ export const Polygon = /*#__PURE__*/memo(({
6
6
  coordinates,
7
7
  holes,
8
8
  strokeColor = '#000000',
@@ -83,5 +83,5 @@ export const Polygon = ({
83
83
  }
84
84
  }, [map, coordinates, holes, strokeColor, strokeWidth, fillColor, zIndex, onPress, handleClick]);
85
85
  return null;
86
- };
86
+ });
87
87
  //# sourceMappingURL=Polygon.web.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useRef","useMapContext","Polygon","coordinates","holes","strokeColor","strokeWidth","fillColor","zIndex","onPress","map","polygonRef","listenersRef","handleClick","current","forEach","l","remove","setMap","polygon","push","addListener","set","length","outerPath","c","lat","latitude","lng","longitude","paths","hole","reverse","setPaths","setOptions","strokeWeight","google","maps","strokeOpacity","fillOpacity","clickable"],"sourceRoot":"../../../src","sources":["components/Polygon.web.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["memo","useCallback","useEffect","useRef","useMapContext","Polygon","coordinates","holes","strokeColor","strokeWidth","fillColor","zIndex","onPress","map","polygonRef","listenersRef","handleClick","current","forEach","l","remove","setMap","polygon","push","addListener","set","length","outerPath","c","lat","latitude","lng","longitude","paths","hole","reverse","setPaths","setOptions","strokeWeight","google","maps","strokeOpacity","fillOpacity","clickable"],"sourceRoot":"../../../src","sources":["components/Polygon.web.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
3
+ import { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
4
  import { useMapContext } from "../MapProvider.web.js";
5
5
  const DEFAULT_DURATION = 2150;
6
6
  const applyEasing = (t, easing = 'linear') => {
@@ -37,7 +37,7 @@ const getGradientColor = (colors, position) => {
37
37
  const t = scaledPos - index;
38
38
  return interpolateColor(colors[index], colors[index + 1], t);
39
39
  };
40
- export const Polyline = ({
40
+ export const Polyline = /*#__PURE__*/memo(({
41
41
  coordinates,
42
42
  strokeColors,
43
43
  strokeWidth = 1,
@@ -48,7 +48,7 @@ export const Polyline = ({
48
48
  const resolvedZIndex = zIndex ?? (animated ? 1 : 0);
49
49
  const {
50
50
  map,
51
- isDragging
51
+ isDraggingRef
52
52
  } = useMapContext();
53
53
  const {
54
54
  duration,
@@ -63,7 +63,6 @@ export const Polyline = ({
63
63
  }), [animatedOptions?.duration, animatedOptions?.easing, animatedOptions?.trailLength, animatedOptions?.delay]);
64
64
  const polylinesRef = useRef([]);
65
65
  const animationRef = useRef(0);
66
- const isPausedRef = useRef(false);
67
66
  const colors = useMemo(() => strokeColors && strokeColors.length > 0 ? strokeColors : ['#000000'], [strokeColors]);
68
67
  const hasGradient = colors.length > 1;
69
68
 
@@ -141,11 +140,6 @@ export const Polyline = ({
141
140
  };
142
141
  }, []);
143
142
 
144
- // Pause/resume animation during drag
145
- useEffect(() => {
146
- isPausedRef.current = isDragging;
147
- }, [isDragging]);
148
-
149
143
  // Main effect
150
144
  useEffect(() => {
151
145
  if (!propsRef.current.map || coordinates.length === 0) return;
@@ -166,7 +160,7 @@ export const Polyline = ({
166
160
  let delayRemaining = delay;
167
161
  let pausedAt = null;
168
162
  const animate = time => {
169
- if (isPausedRef.current) {
163
+ if (isDraggingRef.current) {
170
164
  if (pausedAt === null) pausedAt = time;
171
165
  animationRef.current = requestAnimationFrame(animate);
172
166
  return;
@@ -242,7 +236,7 @@ export const Polyline = ({
242
236
  };
243
237
  animationRef.current = requestAnimationFrame(animate);
244
238
  return () => cancelAnimationFrame(animationRef.current);
245
- }, [coordinates, animated, duration, easing, trailLength, delay, hasGradient, updatePath, mapReady]);
239
+ }, [coordinates, animated, duration, easing, trailLength, delay, hasGradient, updatePath, mapReady, isDraggingRef]);
246
240
  return null;
247
- };
241
+ });
248
242
  //# sourceMappingURL=Polyline.web.js.map