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

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 (60) hide show
  1. package/README.md +1 -1
  2. package/android/build.gradle +1 -1
  3. package/android/src/main/java/com/luggmaps/LuggCalloutView.kt +74 -0
  4. package/android/src/main/java/com/luggmaps/LuggCalloutViewManager.kt +38 -0
  5. package/android/src/main/java/com/luggmaps/LuggMapWrapperView.kt +0 -11
  6. package/android/src/main/java/com/luggmaps/LuggMarkerView.kt +73 -51
  7. package/android/src/main/java/com/luggmaps/LuggPackage.kt +8 -1
  8. package/android/src/main/java/com/luggmaps/core/GoogleMapProvider.kt +181 -5
  9. package/ios/LuggCalloutView.h +23 -0
  10. package/ios/LuggCalloutView.mm +145 -0
  11. package/ios/LuggMarkerView.h +2 -0
  12. package/ios/LuggMarkerView.mm +17 -2
  13. package/ios/core/AppleMapProvider.mm +211 -24
  14. package/ios/core/GoogleMapProvider.mm +125 -5
  15. package/ios/core/LuggAnnotationView.h +12 -0
  16. package/ios/core/LuggAnnotationView.mm +55 -0
  17. package/lib/module/MapProvider.web.js +3 -1
  18. package/lib/module/MapProvider.web.js.map +1 -1
  19. package/lib/module/MapView.web.js +15 -2
  20. package/lib/module/MapView.web.js.map +1 -1
  21. package/lib/module/components/Marker.js +21 -4
  22. package/lib/module/components/Marker.js.map +1 -1
  23. package/lib/module/components/Marker.web.js +86 -22
  24. package/lib/module/components/Marker.web.js.map +1 -1
  25. package/lib/module/components/index.js.map +1 -1
  26. package/lib/module/fabric/LuggCalloutViewNativeComponent.ts +20 -0
  27. package/lib/module/index.js.map +1 -1
  28. package/lib/typescript/src/MapProvider.web.d.ts +6 -0
  29. package/lib/typescript/src/MapProvider.web.d.ts.map +1 -1
  30. package/lib/typescript/src/MapView.web.d.ts.map +1 -1
  31. package/lib/typescript/src/components/GeoJson.types.d.ts +11 -1
  32. package/lib/typescript/src/components/GeoJson.types.d.ts.map +1 -1
  33. package/lib/typescript/src/components/Marker.d.ts +1 -1
  34. package/lib/typescript/src/components/Marker.d.ts.map +1 -1
  35. package/lib/typescript/src/components/Marker.types.d.ts +27 -1
  36. package/lib/typescript/src/components/Marker.types.d.ts.map +1 -1
  37. package/lib/typescript/src/components/Marker.web.d.ts +1 -1
  38. package/lib/typescript/src/components/Marker.web.d.ts.map +1 -1
  39. package/lib/typescript/src/components/index.d.ts +1 -1
  40. package/lib/typescript/src/components/index.d.ts.map +1 -1
  41. package/lib/typescript/src/components/index.web.d.ts +1 -1
  42. package/lib/typescript/src/components/index.web.d.ts.map +1 -1
  43. package/lib/typescript/src/fabric/LuggCalloutViewNativeComponent.d.ts +13 -0
  44. package/lib/typescript/src/fabric/LuggCalloutViewNativeComponent.d.ts.map +1 -0
  45. package/lib/typescript/src/index.d.ts +2 -2
  46. package/lib/typescript/src/index.d.ts.map +1 -1
  47. package/lib/typescript/src/index.web.d.ts +2 -2
  48. package/lib/typescript/src/index.web.d.ts.map +1 -1
  49. package/package.json +2 -1
  50. package/src/MapProvider.web.tsx +11 -1
  51. package/src/MapView.web.tsx +26 -2
  52. package/src/components/GeoJson.types.ts +12 -1
  53. package/src/components/Marker.tsx +29 -1
  54. package/src/components/Marker.types.ts +28 -1
  55. package/src/components/Marker.web.tsx +113 -23
  56. package/src/components/index.ts +1 -0
  57. package/src/components/index.web.ts +1 -1
  58. package/src/fabric/LuggCalloutViewNativeComponent.ts +20 -0
  59. package/src/index.ts +2 -0
  60. package/src/index.web.ts +2 -1
@@ -1,4 +1,5 @@
1
1
  #import "GoogleMapProvider.h"
2
+ #import "../LuggCalloutView.h"
2
3
  #import "../LuggMarkerView.h"
3
4
  #import "../LuggPolygonView.h"
4
5
  #import "../LuggPolylineView.h"
@@ -8,10 +9,12 @@
8
9
  static NSString *const kDemoMapId = @"DEMO_MAP_ID";
9
10
 
10
11
  @interface GoogleMapProvider () <
11
- LuggMarkerViewDelegate, LuggPolylineViewDelegate, LuggPolygonViewDelegate>
12
+ LuggMarkerViewDelegate, LuggCalloutViewDelegate, LuggPolylineViewDelegate,
13
+ LuggPolygonViewDelegate>
12
14
  @end
13
15
 
14
16
  @implementation GoogleMapProvider {
17
+ UIView *_wrapperView;
15
18
  GMSMapView *_mapView;
16
19
  BOOL _isMapReady;
17
20
  BOOL _isDragging;
@@ -23,6 +26,7 @@ static NSString *const kDemoMapId = @"DEMO_MAP_ID";
23
26
  NSMapTable<LuggPolylineView *, GMSPolylineAnimator *> *_polylineAnimators;
24
27
  NSMapTable<GMSPolygon *, LuggPolygonView *> *_polygonToViewMap;
25
28
  NSMapTable<GMSMarker *, LuggMarkerView *> *_markerToViewMap;
29
+ LuggMarkerView *_activeNonBubbledMarker;
26
30
 
27
31
  // Edge insets animation
28
32
  CADisplayLink *_edgeInsetsDisplayLink;
@@ -88,6 +92,7 @@ static NSString *const kDemoMapId = @"DEMO_MAP_ID";
88
92
  _mapView.paddingAdjustmentBehavior =
89
93
  kGMSMapViewPaddingAdjustmentBehaviorNever;
90
94
 
95
+ _wrapperView = wrapperView;
91
96
  [wrapperView addSubview:_mapView];
92
97
 
93
98
  [self applyTheme];
@@ -248,6 +253,7 @@ static NSString *const kDemoMapId = @"DEMO_MAP_ID";
248
253
  longitude:position.target.longitude
249
254
  zoom:position.zoom
250
255
  gesture:_isDragging];
256
+ [self positionNonBubbledCallout];
251
257
  }
252
258
 
253
259
  - (void)mapView:(GMSMapView *)mapView
@@ -267,6 +273,7 @@ static NSString *const kDemoMapId = @"DEMO_MAP_ID";
267
273
 
268
274
  - (void)mapView:(GMSMapView *)mapView
269
275
  didTapAtCoordinate:(CLLocationCoordinate2D)coordinate {
276
+ [self dismissNonBubbledCallout];
270
277
  CGPoint point = [mapView.projection pointForCoordinate:coordinate];
271
278
  [_delegate mapProviderDidPress:coordinate.latitude
272
279
  longitude:coordinate.longitude
@@ -296,10 +303,26 @@ static NSString *const kDemoMapId = @"DEMO_MAP_ID";
296
303
  }
297
304
 
298
305
  - (BOOL)mapView:(GMSMapView *)mapView didTapMarker:(GMSMarker *)marker {
306
+ [self dismissNonBubbledCallout];
307
+
299
308
  LuggMarkerView *markerView = [_markerToViewMap objectForKey:marker];
300
309
  if (markerView) {
301
310
  CGPoint point = [_mapView.projection pointForCoordinate:marker.position];
302
311
  [markerView emitPressEventWithPoint:point];
312
+
313
+ LuggCalloutView *calloutView = markerView.calloutView;
314
+ if (calloutView && calloutView.hasCustomContent) {
315
+ [mapView animateToLocation:marker.position];
316
+
317
+ dispatch_async(dispatch_get_main_queue(), ^{
318
+ if (calloutView.bubbled) {
319
+ mapView.selectedMarker = marker;
320
+ } else {
321
+ [self showNonBubbledCallout:markerView];
322
+ }
323
+ });
324
+ return YES;
325
+ }
303
326
  }
304
327
  return NO;
305
328
  }
@@ -332,6 +355,99 @@ static NSString *const kDemoMapId = @"DEMO_MAP_ID";
332
355
  }
333
356
  }
334
357
 
358
+ - (UIView *)rasterizedCalloutView:(LuggCalloutView *)calloutView {
359
+ UIView *contentView = calloutView.contentView;
360
+ [contentView layoutIfNeeded];
361
+
362
+ CGSize size = contentView.bounds.size;
363
+ if (size.width <= 0 || size.height <= 0)
364
+ return nil;
365
+
366
+ UIGraphicsImageRendererFormat *format =
367
+ [UIGraphicsImageRendererFormat defaultFormat];
368
+ format.scale = [UIScreen mainScreen].scale;
369
+ UIGraphicsImageRenderer *renderer =
370
+ [[UIGraphicsImageRenderer alloc] initWithSize:size format:format];
371
+ UIImage *image =
372
+ [renderer imageWithActions:^(UIGraphicsImageRendererContext *context) {
373
+ [contentView.layer renderInContext:context.CGContext];
374
+ }];
375
+
376
+ return [[UIImageView alloc] initWithImage:image];
377
+ }
378
+
379
+ - (UIView *)mapView:(GMSMapView *)mapView markerInfoWindow:(GMSMarker *)marker {
380
+ // Non-bubbled callouts are rendered as live views, not info windows
381
+ return nil;
382
+ }
383
+
384
+ - (UIView *)mapView:(GMSMapView *)mapView
385
+ markerInfoContents:(GMSMarker *)marker {
386
+ LuggMarkerView *markerView = [_markerToViewMap objectForKey:marker];
387
+ if (!markerView || !markerView.calloutView ||
388
+ !markerView.calloutView.hasCustomContent)
389
+ return nil;
390
+
391
+ if (markerView.calloutView.bubbled) {
392
+ return [self rasterizedCalloutView:markerView.calloutView];
393
+ }
394
+
395
+ return nil;
396
+ }
397
+
398
+ - (void)showNonBubbledCallout:(LuggMarkerView *)markerView {
399
+ [self dismissNonBubbledCallout];
400
+ _mapView.selectedMarker = nil;
401
+
402
+ LuggCalloutView *calloutView = markerView.calloutView;
403
+ UIView *contentView = calloutView.contentView;
404
+ [contentView removeFromSuperview];
405
+
406
+ contentView.userInteractionEnabled = YES;
407
+ contentView.hidden = YES;
408
+ calloutView.delegate = self;
409
+ [_wrapperView addSubview:contentView];
410
+
411
+ _activeNonBubbledMarker = markerView;
412
+ dispatch_async(dispatch_get_main_queue(), ^{
413
+ [self positionNonBubbledCallout];
414
+ contentView.hidden = NO;
415
+ });
416
+ }
417
+
418
+ - (void)calloutViewDidUpdate:(LuggCalloutView *)calloutView {
419
+ [self positionNonBubbledCallout];
420
+ }
421
+
422
+ - (void)dismissNonBubbledCallout {
423
+ if (!_activeNonBubbledMarker)
424
+ return;
425
+
426
+ LuggCalloutView *calloutView = _activeNonBubbledMarker.calloutView;
427
+ calloutView.delegate = nil;
428
+ [calloutView.contentView removeFromSuperview];
429
+ _activeNonBubbledMarker = nil;
430
+ }
431
+
432
+ - (void)positionNonBubbledCallout {
433
+ if (!_activeNonBubbledMarker)
434
+ return;
435
+
436
+ LuggCalloutView *calloutView = _activeNonBubbledMarker.calloutView;
437
+ UIView *contentView = calloutView.contentView;
438
+ CGSize contentSize = contentView.bounds.size;
439
+ if (contentSize.width <= 0 || contentSize.height <= 0)
440
+ return;
441
+
442
+ CGPoint anchor = calloutView.anchor;
443
+ CGPoint point = [_mapView.projection
444
+ pointForCoordinate:_activeNonBubbledMarker.coordinate];
445
+
446
+ contentView.center =
447
+ CGPointMake(point.x + contentSize.width * (0.5 - anchor.x),
448
+ point.y + contentSize.height * (0.5 - anchor.y));
449
+ }
450
+
335
451
  #pragma mark - MarkerViewDelegate
336
452
 
337
453
  - (void)markerViewDidLayout:(LuggMarkerView *)markerView {
@@ -387,8 +503,10 @@ static NSString *const kDemoMapId = @"DEMO_MAP_ID";
387
503
 
388
504
  GMSAdvancedMarker *marker = (GMSAdvancedMarker *)markerView.marker;
389
505
  marker.position = markerView.coordinate;
390
- marker.title = markerView.title;
391
- marker.snippet = markerView.markerDescription;
506
+ marker.title = markerView.title.length > 0 ? markerView.title : nil;
507
+ marker.snippet = markerView.markerDescription.length > 0
508
+ ? markerView.markerDescription
509
+ : nil;
392
510
  marker.zIndex = (int)markerView.zIndex;
393
511
  marker.draggable = markerView.draggable;
394
512
  [self applyMarkerStyle:markerView marker:marker];
@@ -410,8 +528,10 @@ static NSString *const kDemoMapId = @"DEMO_MAP_ID";
410
528
 
411
529
  GMSAdvancedMarker *marker = [[GMSAdvancedMarker alloc] init];
412
530
  marker.position = markerView.coordinate;
413
- marker.title = markerView.title;
414
- marker.snippet = markerView.markerDescription;
531
+ marker.title = markerView.title.length > 0 ? markerView.title : nil;
532
+ marker.snippet = markerView.markerDescription.length > 0
533
+ ? markerView.markerDescription
534
+ : nil;
415
535
  marker.zIndex = (int)markerView.zIndex;
416
536
  marker.draggable = markerView.draggable;
417
537
 
@@ -0,0 +1,12 @@
1
+ #import <MapKit/MapKit.h>
2
+
3
+ @interface LuggAnnotationView : MKAnnotationView
4
+ @end
5
+
6
+ @interface LuggMarkerAnnotationView : MKMarkerAnnotationView
7
+ @end
8
+
9
+ // Shared hit-test helpers for annotation views with subviews outside bounds
10
+ BOOL LuggAnnotationPointInside(UIView *self, CGPoint point, UIEvent *event);
11
+ UIView *_Nullable LuggAnnotationHitTest(UIView *self, CGPoint point,
12
+ UIEvent *event);
@@ -0,0 +1,55 @@
1
+ #import "LuggAnnotationView.h"
2
+
3
+ BOOL LuggAnnotationPointInside(UIView *self, CGPoint point, UIEvent *event) {
4
+ for (UIView *subview in self.subviews) {
5
+ CGPoint subviewPoint = [subview convertPoint:point fromView:self];
6
+ if ([subview pointInside:subviewPoint withEvent:event])
7
+ return YES;
8
+ }
9
+ return NO;
10
+ }
11
+
12
+ UIView *_Nullable LuggAnnotationHitTest(UIView *self, CGPoint point,
13
+ UIEvent *event) {
14
+ for (UIView *subview in [self.subviews reverseObjectEnumerator]) {
15
+ CGPoint subviewPoint = [subview convertPoint:point fromView:self];
16
+ UIView *result = [subview hitTest:subviewPoint withEvent:event];
17
+ if (result)
18
+ return result;
19
+ }
20
+ return nil;
21
+ }
22
+
23
+ @implementation LuggAnnotationView
24
+
25
+ - (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
26
+ if ([super pointInside:point withEvent:event])
27
+ return YES;
28
+ return LuggAnnotationPointInside(self, point, event);
29
+ }
30
+
31
+ - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
32
+ UIView *result = [super hitTest:point withEvent:event];
33
+ if (result)
34
+ return result;
35
+ return LuggAnnotationHitTest(self, point, event);
36
+ }
37
+
38
+ @end
39
+
40
+ @implementation LuggMarkerAnnotationView
41
+
42
+ - (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
43
+ if ([super pointInside:point withEvent:event])
44
+ return YES;
45
+ return LuggAnnotationPointInside(self, point, event);
46
+ }
47
+
48
+ - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
49
+ UIView *result = [super hitTest:point withEvent:event];
50
+ if (result)
51
+ return result;
52
+ return LuggAnnotationHitTest(self, point, event);
53
+ }
54
+
55
+ @end
@@ -6,7 +6,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
6
6
  export const MapContext = /*#__PURE__*/createContext({
7
7
  map: null,
8
8
  isDragging: false,
9
- moveCamera: () => {}
9
+ moveCamera: () => {},
10
+ onCalloutClose: () => () => {},
11
+ closeCallouts: () => {}
10
12
  });
11
13
  export const useMapContext = () => useContext(MapContext);
12
14
  export const MapProvider = ({
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useContext","APIProvider","jsx","_jsx","MapContext","map","isDragging","moveCamera","useMapContext","MapProvider","apiKey","children"],"sourceRoot":"../../src","sources":["MapProvider.web.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AACjD,SAASC,WAAW,QAAQ,2BAA2B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGxD,OAAO,MAAMC,UAAU,gBAAGL,aAAa,CAIpC;EAAEM,GAAG,EAAE,IAAI;EAAEC,UAAU,EAAE,KAAK;EAAEC,UAAU,EAAEA,CAAA,KAAM,CAAC;AAAE,CAAC,CAAC;AAE1D,OAAO,MAAMC,aAAa,GAAGA,CAAA,KAAMR,UAAU,CAACI,UAAU,CAAC;AAEzD,OAAO,MAAMK,WAAW,GAAGA,CAAC;EAAEC,MAAM,GAAG,EAAE;EAAEC;AAA2B,CAAC,kBACrER,IAAA,CAACF,WAAW;EAACS,MAAM,EAAEA,MAAO;EAAAC,QAAA,EAAEA;AAAQ,CAAc,CACrD","ignoreList":[]}
1
+ {"version":3,"names":["createContext","useContext","APIProvider","jsx","_jsx","MapContext","map","isDragging","moveCamera","onCalloutClose","closeCallouts","useMapContext","MapProvider","apiKey","children"],"sourceRoot":"../../src","sources":["MapProvider.web.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AACjD,SAASC,WAAW,QAAQ,2BAA2B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAKxD,OAAO,MAAMC,UAAU,gBAAGL,aAAa,CAMpC;EACDM,GAAG,EAAE,IAAI;EACTC,UAAU,EAAE,KAAK;EACjBC,UAAU,EAAEA,CAAA,KAAM,CAAC,CAAC;EACpBC,cAAc,EAAEA,CAAA,KAAM,MAAM,CAAC,CAAC;EAC9BC,aAAa,EAAEA,CAAA,KAAM,CAAC;AACxB,CAAC,CAAC;AAEF,OAAO,MAAMC,aAAa,GAAGA,CAAA,KAAMV,UAAU,CAACI,UAAU,CAAC;AAEzD,OAAO,MAAMO,WAAW,GAAGA,CAAC;EAAEC,MAAM,GAAG,EAAE;EAAEC;AAA2B,CAAC,kBACrEV,IAAA,CAACF,WAAW;EAACW,MAAM,EAAEA,MAAO;EAAAC,QAAA,EAAEA;AAAQ,CAAc,CACrD","ignoreList":[]}
@@ -220,6 +220,16 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
220
220
  }, [map, edgeInsets, applyEdgeInsets]);
221
221
  const longPressTimer = useRef(null);
222
222
  const longPressFired = useRef(false);
223
+ const calloutListeners = useRef(new Set()).current;
224
+ const onCalloutClose = useCallback(listener => {
225
+ calloutListeners.add(listener);
226
+ return () => calloutListeners.delete(listener);
227
+ }, [calloutListeners]);
228
+ const closeCallouts = useCallback(except => {
229
+ calloutListeners.forEach(l => {
230
+ if (l !== except) l();
231
+ });
232
+ }, [calloutListeners]);
223
233
  const getPoint = useCallback(domEvent => {
224
234
  const el = containerRef.current;
225
235
  if (!domEvent || !el) return {
@@ -238,6 +248,7 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
238
248
  longPressFired.current = false;
239
249
  return;
240
250
  }
251
+ closeCallouts();
241
252
  const latLng = event.detail.latLng;
242
253
  if (!onPress || !latLng) return;
243
254
  onPress(createSyntheticEvent({
@@ -247,7 +258,7 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
247
258
  },
248
259
  point: getPoint(event.domEvent)
249
260
  }));
250
- }, [onPress, getPoint]);
261
+ }, [onPress, getPoint, closeCallouts]);
251
262
  const handleMouseDown = useCallback(event => {
252
263
  if (!onLongPress) return;
253
264
  const point = getPoint(event.domEvent);
@@ -330,7 +341,9 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
330
341
  value: {
331
342
  map,
332
343
  isDragging,
333
- moveCamera: panToCoordinate
344
+ moveCamera: panToCoordinate,
345
+ onCalloutClose,
346
+ closeCallouts
334
347
  },
335
348
  children: /*#__PURE__*/_jsx(View, {
336
349
  ref: containerRef,
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","useCallback","useEffect","useId","useImperativeHandle","useRef","useState","View","ColorScheme","Map","useMap","Marker","MapContext","jsx","_jsx","jsxs","_jsxs","createSyntheticEvent","nativeEvent","currentTarget","target","bubbles","cancelable","defaultPrevented","eventPhase","isTrusted","preventDefault","stopPropagation","isDefaultPrevented","isPropagationStopped","persist","timeStamp","Date","now","type","userLocationDotStyle","width","height","backgroundColor","border","borderRadius","boxShadow","UserLocationMarker","enabled","coordinate","setCoordinate","watchId","updateLocation","position","latitude","coords","longitude","navigator","geolocation","getCurrentPosition","watchPosition","clearWatch","anchor","x","y","children","style","MapView","props","ref","mapId","initialCoordinate","initialZoom","minZoom","maxZoom","zoomEnabled","scrollEnabled","pitchEnabled","edgeInsets","userLocationEnabled","theme","onPress","onLongPress","onCameraMove","onCameraIdle","onReady","id","map","containerRef","readyFired","isDragging","setIsDragging","wasGesture","prevEdgeInsets","offsetCenter","coord","zoom","insets","reverse","p","current","lat","lng","dir","scale","Math","pow","offsetX","right","left","offsetY","bottom","top","latRad","PI","log","tan","cos","atan","sinh","applyEdgeInsets","newEdgeInsets","duration","prev","center","getCenter","getZoom","logicalCenter","newCenter","moveCamera","panTo","panToCoordinate","undefined","options","targetZoom","currentZoom","zoomChanged","setZoom","fitCoordinates","coordinates","first","padding","fitPadding","length","bounds","google","maps","LatLngBounds","forEach","extend","ei","fitBounds","setEdgeInsets","changed","longPressTimer","longPressFired","getPoint","domEvent","el","rect","getBoundingClientRect","e","clientX","clientY","handleClick","event","latLng","detail","point","handleMouseDown","setTimeout","handleMouseUp","clearTimeout","listeners","addListener","l","removeListener","handleDragStart","handleDragEnd","handleCameraChanged","payload","gesture","handleIdle","gestureHandling","colorScheme","DARK","LIGHT","FOLLOW_SYSTEM","defaultCenter","Provider","value","defaultZoom","disableDefaultUI","isFractionalZoomEnabled","tilt","onClick","onDragstart","onDragend","onCameraChanged","onIdle"],"sourceRoot":"../../src","sources":["MapView.web.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","useCallback","useEffect","useId","useImperativeHandle","useRef","useState","View","ColorScheme","Map","useMap","Marker","MapContext","jsx","_jsx","jsxs","_jsxs","createSyntheticEvent","nativeEvent","currentTarget","target","bubbles","cancelable","defaultPrevented","eventPhase","isTrusted","preventDefault","stopPropagation","isDefaultPrevented","isPropagationStopped","persist","timeStamp","Date","now","type","userLocationDotStyle","width","height","backgroundColor","border","borderRadius","boxShadow","UserLocationMarker","enabled","coordinate","setCoordinate","watchId","updateLocation","position","latitude","coords","longitude","navigator","geolocation","getCurrentPosition","watchPosition","clearWatch","anchor","x","y","children","style","MapView","props","ref","mapId","initialCoordinate","initialZoom","minZoom","maxZoom","zoomEnabled","scrollEnabled","pitchEnabled","edgeInsets","userLocationEnabled","theme","onPress","onLongPress","onCameraMove","onCameraIdle","onReady","id","map","containerRef","readyFired","isDragging","setIsDragging","wasGesture","prevEdgeInsets","offsetCenter","coord","zoom","insets","reverse","p","current","lat","lng","dir","scale","Math","pow","offsetX","right","left","offsetY","bottom","top","latRad","PI","log","tan","cos","atan","sinh","applyEdgeInsets","newEdgeInsets","duration","prev","center","getCenter","getZoom","logicalCenter","newCenter","moveCamera","panTo","panToCoordinate","undefined","options","targetZoom","currentZoom","zoomChanged","setZoom","fitCoordinates","coordinates","first","padding","fitPadding","length","bounds","google","maps","LatLngBounds","forEach","extend","ei","fitBounds","setEdgeInsets","changed","longPressTimer","longPressFired","calloutListeners","Set","onCalloutClose","listener","add","delete","closeCallouts","except","l","getPoint","domEvent","el","rect","getBoundingClientRect","e","clientX","clientY","handleClick","event","latLng","detail","point","handleMouseDown","setTimeout","handleMouseUp","clearTimeout","listeners","addListener","removeListener","handleDragStart","handleDragEnd","handleCameraChanged","payload","gesture","handleIdle","gestureHandling","colorScheme","DARK","LIGHT","FOLLOW_SYSTEM","defaultCenter","Provider","value","defaultZoom","disableDefaultUI","isFractionalZoomEnabled","tilt","onClick","onDragstart","onDragend","onCameraChanged","onIdle"],"sourceRoot":"../../src","sources":["MapView.web.tsx"],"mappings":";;AAAA,SACEA,UAAU,EACVC,WAAW,EACXC,SAAS,EACTC,KAAK,EACLC,mBAAmB,EACnBC,MAAM,EACNC,QAAQ,QAEH,OAAO;AAEd,SAASC,IAAI,QAAQ,cAAc;AACnC,SACEC,WAAW,EACXC,GAAG,EACHC,MAAM,QAID,2BAA2B;AAClC,SAASC,MAAM,QAAQ,4BAAyB;AAChD,SAASC,UAAU,QAAQ,sBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAY/C,MAAMC,oBAAoB,GAAQC,WAAc,KAC7C;EACCA,WAAW;EACXC,aAAa,EAAE,IAAI;EACnBC,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE,KAAK;EACdC,UAAU,EAAE,KAAK;EACjBC,gBAAgB,EAAE,KAAK;EACvBC,UAAU,EAAE,CAAC;EACbC,SAAS,EAAE,IAAI;EACfC,cAAc,EAAEA,CAAA,KAAM,CAAC,CAAC;EACxBC,eAAe,EAAEA,CAAA,KAAM,CAAC,CAAC;EACzBC,kBAAkB,EAAEA,CAAA,KAAM,KAAK;EAC/BC,oBAAoB,EAAEA,CAAA,KAAM,KAAK;EACjCC,OAAO,EAAEA,CAAA,KAAM,CAAC,CAAC;EACjBC,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC;EACrBC,IAAI,EAAE;AACR,CAAC,CAAuC;AAE1C,MAAMC,oBAAmC,GAAG;EAC1CC,KAAK,EAAE,EAAE;EACTC,MAAM,EAAE,EAAE;EACVC,eAAe,EAAE,SAAS;EAC1BC,MAAM,EAAE,iBAAiB;EACzBC,YAAY,EAAE,KAAK;EACnBC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,kBAAkB,GAAGA,CAAC;EAAEC;AAA+B,CAAC,KAAK;EACjE,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGvC,QAAQ,CAAoB,IAAI,CAAC;EAErEJ,SAAS,CAAC,MAAM;IACd,IAAI,CAACyC,OAAO,EAAE;MACZE,aAAa,CAAC,IAAI,CAAC;MACnB;IACF;IAEA,IAAIC,OAAsB,GAAG,IAAI;IAEjC,MAAMC,cAAc,GAAIC,QAA6B,IAAK;MACxDH,aAAa,CAAC;QACZI,QAAQ,EAAED,QAAQ,CAACE,MAAM,CAACD,QAAQ;QAClCE,SAAS,EAAEH,QAAQ,CAACE,MAAM,CAACC;MAC7B,CAAC,CAAC;IACJ,CAAC;IAEDC,SAAS,CAACC,WAAW,CAACC,kBAAkB,CAACP,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAClED,OAAO,GAAGM,SAAS,CAACC,WAAW,CAACE,aAAa,CAACR,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAEvE,OAAO,MAAM;MACX,IAAID,OAAO,KAAK,IAAI,EAAE;QACpBM,SAAS,CAACC,WAAW,CAACG,UAAU,CAACV,OAAO,CAAC;MAC3C;IACF,CAAC;EACH,CAAC,EAAE,CAACH,OAAO,CAAC,CAAC;EAEb,IAAI,CAACC,UAAU,EAAE,OAAO,IAAI;EAE5B,oBACE9B,IAAA,CAACH,MAAM;IAACiC,UAAU,EAAEA,UAAW;IAACa,MAAM,EAAE;MAAEC,CAAC,EAAE,GAAG;MAAEC,CAAC,EAAE;IAAI,CAAE;IAAAC,QAAA,eACzD9C,IAAA;MAAK+C,KAAK,EAAE1B;IAAqB,CAAE;EAAC,CAC9B,CAAC;AAEb,CAAC;AAED,OAAO,MAAM2B,OAAO,gBAAG9D,UAAU,CAA2B,SAAS8D,OAAOA,CAC1EC,KAAK,EACLC,GAAG,EACH;EACA,MAAM;IACJC,KAAK,GAAG,aAAa;IACrBC,iBAAiB;IACjBC,WAAW,GAAG,EAAE;IAChBC,OAAO;IACPC,OAAO;IACPC,WAAW,GAAG,IAAI;IAClBC,aAAa,GAAG,IAAI;IACpBC,YAAY,GAAG,IAAI;IACnBC,UAAU;IACVC,mBAAmB;IACnBC,KAAK,GAAG,QAAQ;IAChBC,OAAO;IACPC,WAAW;IACXC,YAAY;IACZC,YAAY;IACZC,OAAO;IACPpB,QAAQ;IACRC;EACF,CAAC,GAAGE,KAAK;EAET,MAAMkB,EAAE,GAAG9E,KAAK,CAAC,CAAC;EAClB,MAAM+E,GAAG,GAAGxE,MAAM,CAACuE,EAAE,CAAC;EACtB,MAAME,YAAY,GAAG9E,MAAM,CAAO,IAAI,CAAC;EACvC,MAAM+E,UAAU,GAAG/E,MAAM,CAAC,KAAK,CAAC;EAChC,MAAM,CAACgF,UAAU,EAAEC,aAAa,CAAC,GAAGhF,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAMiF,UAAU,GAAGlF,MAAM,CAAC,KAAK,CAAC;EAChC,MAAMmF,cAAc,GAAGnF,MAAM,CAACoE,UAAU,CAAC;EAEzC,MAAMgB,YAAY,GAAGxF,WAAW,CAC9B,CAACyF,KAAiB,EAAEC,IAAY,EAAEC,MAAmB,EAAEC,OAAO,GAAG,KAAK,KAAK;IACzE,MAAMC,CAAC,GAAGF,MAAM,IAAIJ,cAAc,CAACO,OAAO;IAC1C,IAAI,CAACD,CAAC,EAAE;MACN,OAAO;QAAEE,GAAG,EAAEN,KAAK,CAACzC,QAAQ;QAAEgD,GAAG,EAAEP,KAAK,CAACvC;MAAU,CAAC;IACtD;IAEA,MAAM+C,GAAG,GAAGL,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC;IAC5B,MAAMM,KAAK,GAAG,GAAG,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEV,IAAI,CAAC;IACrC,MAAMW,OAAO,GAAIJ,GAAG,IAAI,CAACJ,CAAC,CAACS,KAAK,IAAI,CAAC,KAAKT,CAAC,CAACU,IAAI,IAAI,CAAC,CAAC,CAAC,GAAI,CAAC;IAC5D,MAAMC,OAAO,GAAIP,GAAG,IAAI,CAACJ,CAAC,CAACY,MAAM,IAAI,CAAC,KAAKZ,CAAC,CAACa,GAAG,IAAI,CAAC,CAAC,CAAC,GAAI,CAAC;IAE5D,MAAMC,MAAM,GAAIlB,KAAK,CAACzC,QAAQ,GAAGmD,IAAI,CAACS,EAAE,GAAI,GAAG;IAC/C,MAAMnD,CAAC,GAAI,CAACgC,KAAK,CAACvC,SAAS,GAAG,GAAG,IAAI,GAAG,GAAIgD,KAAK,GAAGG,OAAO;IAC3D,MAAM3C,CAAC,GACJ,CAAC,CAAC,GAAGyC,IAAI,CAACU,GAAG,CAACV,IAAI,CAACW,GAAG,CAACH,MAAM,CAAC,GAAG,CAAC,GAAGR,IAAI,CAACY,GAAG,CAACJ,MAAM,CAAC,CAAC,GAAGR,IAAI,CAACS,EAAE,IAC/D,CAAC,GACDV,KAAK,GACPM,OAAO;IAET,MAAMR,GAAG,GAAIvC,CAAC,GAAGyC,KAAK,GAAI,GAAG,GAAG,GAAG;IACnC,MAAMH,GAAG,GACNI,IAAI,CAACa,IAAI,CAACb,IAAI,CAACc,IAAI,CAACd,IAAI,CAACS,EAAE,IAAI,CAAC,GAAI,CAAC,GAAGlD,CAAC,GAAIwC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAIC,IAAI,CAACS,EAAE;IAEzE,OAAO;MAAEb,GAAG;MAAEC;IAAI,CAAC;EACrB,CAAC,EACD,EACF,CAAC;EAED,MAAMkB,eAAe,GAAGlH,WAAW,CACjC,CAACmH,aAAyB,EAAEC,QAAiB,KAAK;IAChD,IAAI,CAACnC,GAAG,EAAE;IAEV,MAAMoC,IAAI,GAAG9B,cAAc,CAACO,OAAO;IACnC,MAAMwB,MAAM,GAAGrC,GAAG,CAACsC,SAAS,CAAC,CAAC;IAC9B,MAAM7B,IAAI,GAAGT,GAAG,CAACuC,OAAO,CAAC,CAAC,IAAItD,WAAW;IAEzC,IAAIoD,MAAM,EAAE;MACV,MAAMG,aAAa,GAAGjC,YAAY,CAChC;QAAExC,QAAQ,EAAEsE,MAAM,CAACvB,GAAG,CAAC,CAAC;QAAE7C,SAAS,EAAEoE,MAAM,CAACtB,GAAG,CAAC;MAAE,CAAC,EACnDN,IAAI,EACJ2B,IAAI,EACJ,IACF,CAAC;MACD,MAAMK,SAAS,GAAGlC,YAAY,CAC5B;QAAExC,QAAQ,EAAEyE,aAAa,CAAC1B,GAAG;QAAE7C,SAAS,EAAEuE,aAAa,CAACzB;MAAI,CAAC,EAC7DN,IAAI,EACJyB,aAAa,EACb,KACF,CAAC;MAED,IAAIC,QAAQ,KAAK,CAAC,EAAE;QAClBnC,GAAG,CAAC0C,UAAU,CAAC;UAAEL,MAAM,EAAEI,SAAS;UAAEhC;QAAK,CAAC,CAAC;MAC7C,CAAC,MAAM;QACLT,GAAG,CAAC2C,KAAK,CAACF,SAAS,CAAC;MACtB;IACF;IAEAnC,cAAc,CAACO,OAAO,GAAGqB,aAAa;EACxC,CAAC,EACD,CAAClC,GAAG,EAAEf,WAAW,EAAEsB,YAAY,CACjC,CAAC;EAED,MAAMqC,eAAe,GAAG7H,WAAW,CAChC2C,UAAsB,IAAK;IAC1B,IAAI,CAACsC,GAAG,EAAE;IACV,MAAMS,IAAI,GAAGT,GAAG,CAACuC,OAAO,CAAC,CAAC,IAAItD,WAAW;IACzC,MAAMoD,MAAM,GAAG9B,YAAY,CAAC7C,UAAU,EAAE+C,IAAI,EAAEoC,SAAS,EAAE,KAAK,CAAC;IAC/D7C,GAAG,CAAC2C,KAAK,CAACN,MAAM,CAAC;EACnB,CAAC,EACD,CAACrC,GAAG,EAAEf,WAAW,EAAEsB,YAAY,CACjC,CAAC;EAEDrF,mBAAmB,CACjB4D,GAAG,EACH,OAAO;IACL4D,UAAUA,CAAChF,UAAsB,EAAEoF,OAA2B,EAAE;MAC9D,IAAI,CAAC9C,GAAG,EAAE;MAEV,MAAM;QAAES,IAAI,GAAG,CAAC;QAAE0B,QAAQ,GAAG,CAAC;MAAE,CAAC,GAAGW,OAAO,IAAI,CAAC,CAAC;MACjD,MAAMC,UAAU,GAAGtC,IAAI,IAAIT,GAAG,CAACuC,OAAO,CAAC,CAAC,IAAItD,WAAW;MACvD,MAAMoD,MAAM,GAAG9B,YAAY,CAAC7C,UAAU,EAAEqF,UAAU,EAAEF,SAAS,EAAE,KAAK,CAAC;MAErE,IAAIV,QAAQ,KAAK,CAAC,EAAE;QAClBnC,GAAG,CAAC0C,UAAU,CAAC;UAAEL,MAAM;UAAE5B,IAAI,EAAEsC;QAAW,CAAC,CAAC;MAC9C,CAAC,MAAM;QACL,MAAMC,WAAW,GAAGhD,GAAG,CAACuC,OAAO,CAAC,CAAC;QACjC,MAAMU,WAAW,GAAGxC,IAAI,KAAK,CAAC,IAAIA,IAAI,KAAKuC,WAAW;QAEtD,IAAIC,WAAW,EAAE;UACfjD,GAAG,CAACkD,OAAO,CAACzC,IAAI,CAAC;QACnB;QACAT,GAAG,CAAC2C,KAAK,CAACN,MAAM,CAAC;MACnB;IACF,CAAC;IAEDc,cAAcA,CACZC,WAAyB,EACzBN,OAA+B,EAC/B;MACA,MAAMO,KAAK,GAAGD,WAAW,CAAC,CAAC,CAAC;MAC5B,IAAI,CAACpD,GAAG,IAAI,CAACqD,KAAK,EAAE;MAEpB,MAAM;QAAEC,OAAO,EAAEC,UAAU;QAAEpB,QAAQ,GAAG,CAAC;MAAE,CAAC,GAAGW,OAAO,IAAI,CAAC,CAAC;MAE5D,IAAIM,WAAW,CAACI,MAAM,KAAK,CAAC,EAAE;QAC5B,IAAI,CAACd,UAAU,CAACW,KAAK,EAAE;UAAE5C,IAAI,EAAExB,WAAW;UAAEkD;QAAS,CAAC,CAAC;QACvD;MACF;MAEA,MAAMsB,MAAM,GAAG,IAAIC,MAAM,CAACC,IAAI,CAACC,YAAY,CAAC,CAAC;MAC7CR,WAAW,CAACS,OAAO,CAAErD,KAAK,IAAK;QAC7BiD,MAAM,CAACK,MAAM,CAAC;UAAEhD,GAAG,EAAEN,KAAK,CAACzC,QAAQ;UAAEgD,GAAG,EAAEP,KAAK,CAACvC;QAAU,CAAC,CAAC;MAC9D,CAAC,CAAC;MAEF,MAAM8F,EAAE,GAAGzD,cAAc,CAACO,OAAO;MACjCb,GAAG,CAACgE,SAAS,CAACP,MAAM,EAAE;QACpBhC,GAAG,EAAE,CAACsC,EAAE,EAAEtC,GAAG,IAAI,CAAC,KAAK8B,UAAU,EAAE9B,GAAG,IAAI,CAAC,CAAC;QAC5CH,IAAI,EAAE,CAACyC,EAAE,EAAEzC,IAAI,IAAI,CAAC,KAAKiC,UAAU,EAAEjC,IAAI,IAAI,CAAC,CAAC;QAC/CE,MAAM,EAAE,CAACuC,EAAE,EAAEvC,MAAM,IAAI,CAAC,KAAK+B,UAAU,EAAE/B,MAAM,IAAI,CAAC,CAAC;QACrDH,KAAK,EAAE,CAAC0C,EAAE,EAAE1C,KAAK,IAAI,CAAC,KAAKkC,UAAU,EAAElC,KAAK,IAAI,CAAC;MACnD,CAAC,CAAC;IACJ,CAAC;IAED4C,aAAaA,CAAC/B,aAAyB,EAAEY,OAA8B,EAAE;MACvEb,eAAe,CAACC,aAAa,EAAEY,OAAO,EAAEX,QAAQ,CAAC;IACnD;EACF,CAAC,CAAC,EACF,CAACnC,GAAG,EAAEf,WAAW,EAAEsB,YAAY,EAAE0B,eAAe,CAClD,CAAC;EAEDjH,SAAS,CAAC,MAAM;IACd,IAAIgF,GAAG,IAAI,CAACE,UAAU,CAACW,OAAO,EAAE;MAC9BX,UAAU,CAACW,OAAO,GAAG,IAAI;MACzBf,OAAO,GAAG,CAAC;IACb;EACF,CAAC,EAAE,CAACE,GAAG,EAAEF,OAAO,CAAC,CAAC;EAElB9E,SAAS,CAAC,MAAM;IACd,IAAI,CAACgF,GAAG,IAAI,CAACT,UAAU,EAAE;IAEzB,MAAM6C,IAAI,GAAG9B,cAAc,CAACO,OAAO;IACnC,MAAMqD,OAAO,GACX9B,IAAI,EAAEX,GAAG,KAAKlC,UAAU,CAACkC,GAAG,IAC5BW,IAAI,EAAEd,IAAI,KAAK/B,UAAU,CAAC+B,IAAI,IAC9Bc,IAAI,EAAEZ,MAAM,KAAKjC,UAAU,CAACiC,MAAM,IAClCY,IAAI,EAAEf,KAAK,KAAK9B,UAAU,CAAC8B,KAAK;IAElC,IAAI6C,OAAO,EAAE;MACXjC,eAAe,CAAC1C,UAAU,CAAC;IAC7B;EACF,CAAC,EAAE,CAACS,GAAG,EAAET,UAAU,EAAE0C,eAAe,CAAC,CAAC;EAEtC,MAAMkC,cAAc,GAAGhJ,MAAM,CAAuC,IAAI,CAAC;EACzE,MAAMiJ,cAAc,GAAGjJ,MAAM,CAAC,KAAK,CAAC;EAEpC,MAAMkJ,gBAAgB,GAAGlJ,MAAM,CAAC,IAAImJ,GAAG,CAAa,CAAC,CAAC,CAACzD,OAAO;EAC9D,MAAM0D,cAAc,GAAGxJ,WAAW,CAC/ByJ,QAAoB,IAAK;IACxBH,gBAAgB,CAACI,GAAG,CAACD,QAAQ,CAAC;IAC9B,OAAO,MAAMH,gBAAgB,CAACK,MAAM,CAACF,QAAQ,CAAC;EAChD,CAAC,EACD,CAACH,gBAAgB,CACnB,CAAC;EACD,MAAMM,aAAa,GAAG5J,WAAW,CAC9B6J,MAAmB,IAAK;IACvBP,gBAAgB,CAACR,OAAO,CAAEgB,CAAC,IAAK;MAC9B,IAAIA,CAAC,KAAKD,MAAM,EAAEC,CAAC,CAAC,CAAC;IACvB,CAAC,CAAC;EACJ,CAAC,EACD,CAACR,gBAAgB,CACnB,CAAC;EAED,MAAMS,QAAQ,GAAG/J,WAAW,CAAEgK,QAAgB,IAAK;IACjD,MAAMC,EAAE,GAAG/E,YAAY,CAACY,OAAwC;IAChE,IAAI,CAACkE,QAAQ,IAAI,CAACC,EAAE,EAAE,OAAO;MAAExG,CAAC,EAAE,CAAC;MAAEC,CAAC,EAAE;IAAE,CAAC;IAC3C,MAAMwG,IAAI,GAAGD,EAAE,CAACE,qBAAqB,CAAC,CAAC;IACvC,MAAMC,CAAC,GAAGJ,QAA8B;IACxC,OAAO;MAAEvG,CAAC,EAAE2G,CAAC,CAACC,OAAO,GAAGH,IAAI,CAAC3D,IAAI;MAAE7C,CAAC,EAAE0G,CAAC,CAACE,OAAO,GAAGJ,IAAI,CAACxD;IAAI,CAAC;EAC9D,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM6D,WAAW,GAAGvK,WAAW,CAC5BwK,KAAoB,IAAK;IACxB,IAAInB,cAAc,CAACvD,OAAO,EAAE;MAC1BuD,cAAc,CAACvD,OAAO,GAAG,KAAK;MAC9B;IACF;IACA8D,aAAa,CAAC,CAAC;IACf,MAAMa,MAAM,GAAGD,KAAK,CAACE,MAAM,CAACD,MAAM;IAClC,IAAI,CAAC9F,OAAO,IAAI,CAAC8F,MAAM,EAAE;IACzB9F,OAAO,CACL3D,oBAAoB,CAAC;MACnB2B,UAAU,EAAE;QAAEK,QAAQ,EAAEyH,MAAM,CAAC1E,GAAG;QAAE7C,SAAS,EAAEuH,MAAM,CAACzE;MAAI,CAAC;MAC3D2E,KAAK,EAAEZ,QAAQ,CAACS,KAAK,CAACR,QAAQ;IAChC,CAAC,CACH,CAAC;EACH,CAAC,EACD,CAACrF,OAAO,EAAEoF,QAAQ,EAAEH,aAAa,CACnC,CAAC;EAED,MAAMgB,eAAe,GAAG5K,WAAW,CAChCwK,KAAgC,IAAK;IACpC,IAAI,CAAC5F,WAAW,EAAE;IAClB,MAAM+F,KAAK,GAAGZ,QAAQ,CAACS,KAAK,CAACR,QAAQ,CAAC;IACtCX,cAAc,CAACvD,OAAO,GAAG,KAAK;IAC9BsD,cAAc,CAACtD,OAAO,GAAG+E,UAAU,CAAC,MAAM;MACxCxB,cAAc,CAACvD,OAAO,GAAG,IAAI;MAC7B,MAAM2E,MAAM,GAAGD,KAAK,CAACC,MAAM;MAC3B,IAAI,CAACA,MAAM,EAAE;MACb7F,WAAW,CACT5D,oBAAoB,CAAC;QACnB2B,UAAU,EAAE;UAAEK,QAAQ,EAAEyH,MAAM,CAAC1E,GAAG,CAAC,CAAC;UAAE7C,SAAS,EAAEuH,MAAM,CAACzE,GAAG,CAAC;QAAE,CAAC;QAC/D2E;MACF,CAAC,CACH,CAAC;IACH,CAAC,EAAE,GAAG,CAAC;EACT,CAAC,EACD,CAAC/F,WAAW,EAAEmF,QAAQ,CACxB,CAAC;EAED,MAAMe,aAAa,GAAG9K,WAAW,CAAC,MAAM;IACtC,IAAIoJ,cAAc,CAACtD,OAAO,EAAE;MAC1BiF,YAAY,CAAC3B,cAAc,CAACtD,OAAO,CAAC;MACpCsD,cAAc,CAACtD,OAAO,GAAG,IAAI;IAC/B;EACF,CAAC,EAAE,EAAE,CAAC;EAEN7F,SAAS,CAAC,MAAM;IACd,IAAI,CAACgF,GAAG,IAAI,CAACL,WAAW,EAAE;IAC1B,MAAMoG,SAAS,GAAG,CAChB/F,GAAG,CAACgG,WAAW,CAAC,WAAW,EAAEL,eAAe,CAAC,EAC7C3F,GAAG,CAACgG,WAAW,CAAC,SAAS,EAAEH,aAAa,CAAC,CAC1C;IACD,OAAO,MAAM;MACXE,SAAS,CAAClC,OAAO,CAAEgB,CAAC,IAAKnB,MAAM,CAACC,IAAI,CAAC4B,KAAK,CAACU,cAAc,CAACpB,CAAC,CAAC,CAAC;MAC7DgB,aAAa,CAAC,CAAC;IACjB,CAAC;EACH,CAAC,EAAE,CAAC7F,GAAG,EAAEL,WAAW,EAAEgG,eAAe,EAAEE,aAAa,CAAC,CAAC;EAEtD,MAAMK,eAAe,GAAGA,CAAA,KAAM;IAC5BL,aAAa,CAAC,CAAC;IACfzF,aAAa,CAAC,IAAI,CAAC;IACnBC,UAAU,CAACQ,OAAO,GAAG,IAAI;EAC3B,CAAC;EAED,MAAMsF,aAAa,GAAGA,CAAA,KAAM;IAC1B/F,aAAa,CAAC,KAAK,CAAC;EACtB,CAAC;EAED,MAAMgG,mBAAmB,GAAIb,KAA4B,IAAK;IAC5D,MAAM/C,aAAa,GAAGjC,YAAY,CAChC;MAAExC,QAAQ,EAAEwH,KAAK,CAACE,MAAM,CAACpD,MAAM,CAACvB,GAAG;MAAE7C,SAAS,EAAEsH,KAAK,CAACE,MAAM,CAACpD,MAAM,CAACtB;IAAI,CAAC,EACzEwE,KAAK,CAACE,MAAM,CAAChF,IAAI,EACjBoC,SAAS,EACT,IACF,CAAC;IACD,MAAMwD,OAA2B,GAAG;MAClC3I,UAAU,EAAE;QACVK,QAAQ,EAAEyE,aAAa,CAAC1B,GAAG;QAC3B7C,SAAS,EAAEuE,aAAa,CAACzB;MAC3B,CAAC;MACDN,IAAI,EAAE8E,KAAK,CAACE,MAAM,CAAChF,IAAI;MACvB6F,OAAO,EAAEnG;IACX,CAAC;IACDP,YAAY,GAAG7D,oBAAoB,CAACsK,OAAO,CAAC,CAAC;EAC/C,CAAC;EAED,MAAME,UAAU,GAAIhB,KAAe,IAAK;IACtC,MAAMlD,MAAM,GAAGkD,KAAK,CAACvF,GAAG,CAACsC,SAAS,CAAC,CAAC;IACpC,MAAM7B,IAAI,GAAG8E,KAAK,CAACvF,GAAG,CAACuC,OAAO,CAAC,CAAC,IAAI,CAAC;IACrC,MAAMC,aAAa,GAAGjC,YAAY,CAChC;MAAExC,QAAQ,EAAEsE,MAAM,EAAEvB,GAAG,CAAC,CAAC,IAAI,CAAC;MAAE7C,SAAS,EAAEoE,MAAM,EAAEtB,GAAG,CAAC,CAAC,IAAI;IAAE,CAAC,EAC/DN,IAAI,EACJoC,SAAS,EACT,IACF,CAAC;IACD,MAAMwD,OAA2B,GAAG;MAClC3I,UAAU,EAAE;QACVK,QAAQ,EAAEyE,aAAa,CAAC1B,GAAG;QAC3B7C,SAAS,EAAEuE,aAAa,CAACzB;MAC3B,CAAC;MACDN,IAAI;MACJ6F,OAAO,EAAEjG,UAAU,CAACQ;IACtB,CAAC;IACDhB,YAAY,GAAG9D,oBAAoB,CAACsK,OAAO,CAAC,CAAC;IAC7ChG,UAAU,CAACQ,OAAO,GAAG,KAAK;EAC5B,CAAC;EAED,MAAM2F,eAAe,GACnBnH,aAAa,KAAK,KAAK,IAAID,WAAW,KAAK,KAAK,GAC5C,MAAM,GACNC,aAAa,KAAK,KAAK,GACvB,aAAa,GACb,MAAM;EAEZ,MAAMoH,WAAW,GACfhH,KAAK,KAAK,MAAM,GACZnE,WAAW,CAACoL,IAAI,GAChBjH,KAAK,KAAK,OAAO,GACjBnE,WAAW,CAACqL,KAAK,GACjBrL,WAAW,CAACsL,aAAa;EAE/B,MAAMC,aAAa,GAAG7H,iBAAiB,GACnC;IAAE8B,GAAG,EAAE9B,iBAAiB,CAACjB,QAAQ;IAAEgD,GAAG,EAAE/B,iBAAiB,CAACf;EAAU,CAAC,GACrE4E,SAAS;EAEb,oBACEjH,IAAA,CAACF,UAAU,CAACoL,QAAQ;IAClBC,KAAK,EAAE;MACL/G,GAAG;MACHG,UAAU;MACVuC,UAAU,EAAEE,eAAe;MAC3B2B,cAAc;MACdI;IACF,CAAE;IAAAjG,QAAA,eAEF9C,IAAA,CAACP,IAAI;MAACyD,GAAG,EAAEmB,YAAa;MAACtB,KAAK,EAAEA,KAAM;MAAAD,QAAA,eACpC5C,KAAA,CAACP,GAAG;QACFwE,EAAE,EAAEA,EAAG;QACPhB,KAAK,EAAEA,KAAM;QACb8H,aAAa,EAAEA,aAAc;QAC7BG,WAAW,EAAE/H,WAAY;QACzBC,OAAO,EAAEA,OAAQ;QACjBC,OAAO,EAAEA,OAAQ;QACjBqH,eAAe,EAAEA,eAAgB;QACjCC,WAAW,EAAEA,WAAY;QACzBQ,gBAAgB;QAChBC,uBAAuB;QACvBC,IAAI,EAAE7H,YAAY,KAAK,KAAK,GAAG,CAAC,GAAGuD,SAAU;QAC7CuE,OAAO,EAAE9B,WAAY;QACrB+B,WAAW,EAAEnB,eAAgB;QAC7BoB,SAAS,EAAEnB,aAAc;QACzBoB,eAAe,EAAEnB,mBAAoB;QACrCoB,MAAM,EAAEjB,UAAW;QAAA7H,QAAA,gBAEnB9C,IAAA,CAAC4B,kBAAkB;UAACC,OAAO,EAAE+B;QAAoB,CAAE,CAAC,EACnDd,QAAQ;MAAA,CACN;IAAC,CACF;EAAC,CACY,CAAC;AAE1B,CAAC,CAAC","ignoreList":[]}
@@ -1,9 +1,10 @@
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
5
  import LuggMarkerViewNativeComponent from '../fabric/LuggMarkerViewNativeComponent';
6
- import { jsx as _jsx } from "react/jsx-runtime";
6
+ import LuggCalloutViewNativeComponent from '../fabric/LuggCalloutViewNativeComponent';
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
8
  export class Marker extends React.PureComponent {
8
9
  getStyle(zIndex) {
9
10
  if (zIndex == null) return styles.marker;
@@ -31,9 +32,14 @@ export class Marker extends React.PureComponent {
31
32
  onDragStart,
32
33
  onDragChange,
33
34
  onDragEnd,
35
+ callout,
36
+ calloutOptions,
34
37
  children
35
38
  } = this.props;
36
- return /*#__PURE__*/_jsx(LuggMarkerViewNativeComponent, {
39
+ const calloutContent = callout ? /*#__PURE__*/isValidElement(callout) ? callout : /*#__PURE__*/React.createElement(callout) : null;
40
+ const calloutBubbled = calloutOptions?.bubbled ?? true;
41
+ const calloutAnchor = calloutOptions?.anchor;
42
+ return /*#__PURE__*/_jsxs(LuggMarkerViewNativeComponent, {
37
43
  style: this.getStyle(zIndex),
38
44
  name: name,
39
45
  coordinate: coordinate,
@@ -48,7 +54,12 @@ export class Marker extends React.PureComponent {
48
54
  onMarkerDragStart: onDragStart,
49
55
  onMarkerDragChange: onDragChange,
50
56
  onMarkerDragEnd: onDragEnd,
51
- children: children
57
+ children: [children, calloutContent && /*#__PURE__*/_jsx(LuggCalloutViewNativeComponent, {
58
+ style: calloutStyles.callout,
59
+ bubbled: calloutBubbled,
60
+ anchor: calloutAnchor,
61
+ children: calloutContent
62
+ })]
52
63
  });
53
64
  }
54
65
  }
@@ -58,4 +69,10 @@ const styles = StyleSheet.create({
58
69
  pointerEvents: 'box-none'
59
70
  }
60
71
  });
72
+ const calloutStyles = StyleSheet.create({
73
+ callout: {
74
+ position: 'absolute',
75
+ pointerEvents: 'box-none'
76
+ }
77
+ });
61
78
  //# 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","LuggCalloutViewNativeComponent","jsx","_jsx","jsxs","_jsxs","Marker","PureComponent","getStyle","zIndex","styles","marker","_cachedZIndex","_cachedStyle","render","name","coordinate","title","description","anchor","rotate","scale","rasterize","draggable","onPress","onDragStart","onDragChange","onDragEnd","callout","calloutOptions","children","props","calloutContent","createElement","calloutBubbled","bubbled","calloutAnchor","style","onMarkerPress","onMarkerDragStart","onMarkerDragChange","onMarkerDragEnd","calloutStyles","create","position","pointerEvents"],"sourceRoot":"../../../src","sources":["components/Marker.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,cAAc,QAAQ,OAAO;AAC7C,SAASC,UAAU,QAAQ,cAAc;AACzC,OAAOC,6BAA6B,MAAM,yCAAyC;AACnF,OAAOC,8BAA8B,MAAM,0CAA0C;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAUtF,OAAO,MAAMC,MAAM,SAAST,KAAK,CAACU,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,OAAO;MACPC,cAAc;MACdC;IACF,CAAC,GAAG,IAAI,CAACC,KAAK;IAEd,MAAMC,cAAc,GAAGJ,OAAO,GAC1B,aAAA9B,cAAc,CAAC8B,OAAO,CAAC,GACrBA,OAAO,gBACP/B,KAAK,CAACoC,aAAa,CAACL,OAAO,CAAC,GAC9B,IAAI;IACR,MAAMM,cAAc,GAAGL,cAAc,EAAEM,OAAO,IAAI,IAAI;IACtD,MAAMC,aAAa,GAAGP,cAAc,EAAEV,MAAM;IAE5C,oBACEd,KAAA,CAACL,6BAA6B;MAC5BqC,KAAK,EAAE,IAAI,CAAC7B,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;MACrBe,aAAa,EAAEd,OAAQ;MACvBe,iBAAiB,EAAEd,WAAY;MAC/Be,kBAAkB,EAAEd,YAAa;MACjCe,eAAe,EAAEd,SAAU;MAAAG,QAAA,GAE1BA,QAAQ,EACRE,cAAc,iBACb7B,IAAA,CAACF,8BAA8B;QAC7BoC,KAAK,EAAEK,aAAa,CAACd,OAAQ;QAC7BO,OAAO,EAAED,cAAe;QACxBf,MAAM,EAAEiB,aAAc;QAAAN,QAAA,EAErBE;MAAc,CACe,CACjC;IAAA,CAC4B,CAAC;EAEpC;AACF;AAEA,MAAMtB,MAAM,GAAGX,UAAU,CAAC4C,MAAM,CAAC;EAC/BhC,MAAM,EAAE;IACNiC,QAAQ,EAAE,UAAU;IACpBC,aAAa,EAAE;EACjB;AACF,CAAC,CAAC;AAEF,MAAMH,aAAa,GAAG3C,UAAU,CAAC4C,MAAM,CAAC;EACtCf,OAAO,EAAE;IACPgB,QAAQ,EAAE,UAAU;IACpBC,aAAa,EAAE;EACjB;AACF,CAAC,CAAC","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, { isValidElement, useCallback, useEffect, 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: {
@@ -20,6 +44,7 @@ const createEvent = (e, coordinate) => ({
20
44
  export const Marker = ({
21
45
  coordinate,
22
46
  title,
47
+ description,
23
48
  anchor,
24
49
  zIndex,
25
50
  rotate,
@@ -29,12 +54,34 @@ export const Marker = ({
29
54
  onDragStart,
30
55
  onDragChange,
31
56
  onDragEnd,
57
+ callout,
58
+ calloutOptions,
32
59
  children
33
60
  }) => {
34
61
  const {
35
- moveCamera
62
+ moveCamera,
63
+ onCalloutClose,
64
+ closeCallouts
36
65
  } = useMapContext();
37
66
  const dragPositionRef = useRef(null);
67
+ const [markerRef, markerElement] = useAdvancedMarkerRef();
68
+ const [infoWindowOpen, setInfoWindowOpen] = useState(false);
69
+ const calloutBubbled = calloutOptions?.bubbled ?? true;
70
+ const closeCallout = useCallback(() => setInfoWindowOpen(false), []);
71
+ useEffect(() => onCalloutClose(closeCallout), [onCalloutClose, closeCallout]);
72
+ useEffect(() => {
73
+ if (!calloutBubbled) injectUnbubbledStyle();
74
+ }, [calloutBubbled]);
75
+ const hasCallout = !!(callout || title);
76
+ const calloutContent = callout ? /*#__PURE__*/isValidElement(callout) ? callout : /*#__PURE__*/React.createElement(callout) : title ? /*#__PURE__*/React.createElement('div', {
77
+ style: {
78
+ fontSize: 14
79
+ }
80
+ }, /*#__PURE__*/React.createElement('div', {
81
+ style: {
82
+ fontWeight: 500
83
+ }
84
+ }, title), description ? /*#__PURE__*/React.createElement('div', null, description) : null) : null;
38
85
  const transforms = [];
39
86
  if (rotate) transforms.push(`rotate(${rotate}deg)`);
40
87
  if (scale && scale !== 1) transforms.push(`scale(${scale})`);
@@ -46,7 +93,11 @@ export const Marker = ({
46
93
  } : coordinate;
47
94
  moveCamera(coord);
48
95
  onPress?.(createEvent(e, coordinate));
49
- }, [moveCamera, onPress, coordinate]);
96
+ if (hasCallout) {
97
+ closeCallouts(closeCallout);
98
+ setInfoWindowOpen(prev => !prev);
99
+ }
100
+ }, [moveCamera, onPress, coordinate, hasCallout, closeCallouts, closeCallout]);
50
101
  const handleDragStart = useCallback(e => {
51
102
  const latLng = e.latLng;
52
103
  if (latLng) {
@@ -80,26 +131,39 @@ export const Marker = ({
80
131
  useEffect(() => {
81
132
  dragPositionRef.current = null;
82
133
  }, [coordinate.latitude, coordinate.longitude]);
83
- const position = dragPositionRef.current ?? {
134
+ const latLngPosition = {
84
135
  lat: coordinate.latitude,
85
136
  lng: coordinate.longitude
86
137
  };
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
138
+ const position = dragPositionRef.current ?? latLngPosition;
139
+ return /*#__PURE__*/_jsxs(_Fragment, {
140
+ children: [/*#__PURE__*/_jsx(AdvancedMarker, {
141
+ ref: markerRef,
142
+ position: position,
143
+ title: title,
144
+ zIndex: zIndex,
145
+ anchorLeft: anchor ? toWebAnchor(anchor.x) : undefined,
146
+ anchorTop: anchor ? toWebAnchor(anchor.y) : undefined,
147
+ clickable: true,
148
+ draggable: draggable,
149
+ onClick: handleClick,
150
+ onDragStart: handleDragStart,
151
+ onDrag: handleDrag,
152
+ onDragEnd: handleDragEnd,
153
+ style: transforms.length > 0 ? {
154
+ transform: transforms.join(' ')
155
+ } : undefined,
156
+ children: children
157
+ }), calloutContent && infoWindowOpen && markerElement && /*#__PURE__*/_jsx(InfoWindow, {
158
+ anchor: markerElement,
159
+ pixelOffset: !calloutBubbled ? [0, CALLOUT_ARROW_HEIGHT] : undefined,
160
+ headerDisabled: true,
161
+ onClose: () => setInfoWindowOpen(false),
162
+ children: !calloutBubbled ? /*#__PURE__*/_jsx("div", {
163
+ className: UNBUBBLED_CLASS,
164
+ children: calloutContent
165
+ }) : calloutContent
166
+ })]
103
167
  });
104
168
  };
105
169
  //# sourceMappingURL=Marker.web.js.map