@lugg/maps 0.2.0-alpha.9 → 1.0.0-beta.1

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 (184) hide show
  1. package/README.md +21 -20
  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/LuggMapView.kt +290 -0
  6. package/android/src/main/java/com/luggmaps/{LuggGoogleMapViewManager.kt → LuggMapViewManager.kt} +99 -36
  7. package/android/src/main/java/com/luggmaps/LuggMapWrapperView.kt +11 -14
  8. package/android/src/main/java/com/luggmaps/LuggMarkerView.kt +187 -21
  9. package/android/src/main/java/com/luggmaps/LuggMarkerViewManager.kt +28 -0
  10. package/android/src/main/java/com/luggmaps/LuggPackage.kt +8 -4
  11. package/android/src/main/java/com/luggmaps/LuggPolygonView.kt +85 -0
  12. package/android/src/main/java/com/luggmaps/LuggPolygonViewManager.kt +100 -0
  13. package/android/src/main/java/com/luggmaps/LuggPolylineView.kt +16 -0
  14. package/android/src/main/java/com/luggmaps/LuggPolylineViewManager.kt +22 -0
  15. package/android/src/main/java/com/luggmaps/core/GoogleMapProvider.kt +874 -0
  16. package/android/src/main/java/com/luggmaps/core/MapProviderDelegate.kt +60 -0
  17. package/android/src/main/java/com/luggmaps/core/PolylineAnimator.kt +89 -24
  18. package/android/src/main/java/com/luggmaps/events/LongPressEvent.kt +29 -0
  19. package/android/src/main/java/com/luggmaps/events/MarkerDragEvent.kt +41 -0
  20. package/android/src/main/java/com/luggmaps/events/MarkerPressEvent.kt +34 -0
  21. package/android/src/main/java/com/luggmaps/events/PolygonPressEvent.kt +12 -0
  22. package/android/src/main/java/com/luggmaps/events/PressEvent.kt +29 -0
  23. package/ios/LuggCalloutView.h +23 -0
  24. package/ios/LuggCalloutView.mm +145 -0
  25. package/ios/LuggMapView.h +9 -0
  26. package/ios/LuggMapView.mm +343 -0
  27. package/ios/LuggMarkerView.h +15 -0
  28. package/ios/LuggMarkerView.mm +136 -2
  29. package/ios/LuggPolygonView.h +31 -0
  30. package/ios/LuggPolygonView.mm +151 -0
  31. package/ios/LuggPolylineView.h +4 -0
  32. package/ios/LuggPolylineView.mm +23 -0
  33. package/ios/core/AppleMapProvider.h +15 -0
  34. package/ios/core/AppleMapProvider.mm +1173 -0
  35. package/ios/core/GMSPolylineAnimator.h +3 -0
  36. package/ios/core/GMSPolylineAnimator.m +101 -15
  37. package/ios/core/GoogleMapProvider.h +13 -0
  38. package/ios/core/GoogleMapProvider.mm +798 -0
  39. package/ios/core/LuggAnnotationView.h +12 -0
  40. package/ios/core/LuggAnnotationView.mm +55 -0
  41. package/ios/core/MKPolylineAnimator.h +4 -0
  42. package/ios/core/MKPolylineAnimator.m +167 -42
  43. package/ios/core/MapProviderDelegate.h +84 -0
  44. package/ios/core/PolylineAnimatorBase.h +24 -1
  45. package/ios/core/PolylineAnimatorBase.m +82 -19
  46. package/ios/events/LongPressEvent.h +29 -0
  47. package/ios/events/MarkerDragEvent.h +69 -0
  48. package/ios/events/MarkerPressEvent.h +29 -0
  49. package/ios/events/PolygonPressEvent.h +20 -0
  50. package/ios/events/PressEvent.h +29 -0
  51. package/ios/extensions/MKMapView+Zoom.h +2 -0
  52. package/ios/extensions/MKMapView+Zoom.m +14 -4
  53. package/lib/module/MapProvider.js +2 -4
  54. package/lib/module/MapProvider.js.map +1 -1
  55. package/lib/module/MapProvider.web.js +14 -7
  56. package/lib/module/MapProvider.web.js.map +1 -1
  57. package/lib/module/MapView.js +33 -16
  58. package/lib/module/MapView.js.map +1 -1
  59. package/lib/module/MapView.web.js +296 -181
  60. package/lib/module/MapView.web.js.map +1 -1
  61. package/lib/module/components/GeoJson.js +159 -0
  62. package/lib/module/components/GeoJson.js.map +1 -0
  63. package/lib/module/components/GeoJson.types.js +4 -0
  64. package/lib/module/components/GeoJson.types.js.map +1 -0
  65. package/lib/module/components/Marker.js +49 -8
  66. package/lib/module/components/Marker.js.map +1 -1
  67. package/lib/module/components/Marker.types.js +4 -0
  68. package/lib/module/components/Marker.types.js.map +1 -0
  69. package/lib/module/components/Marker.web.js +159 -24
  70. package/lib/module/components/Marker.web.js.map +1 -1
  71. package/lib/module/components/Polygon.js +46 -0
  72. package/lib/module/components/Polygon.js.map +1 -0
  73. package/lib/module/components/Polygon.types.js +4 -0
  74. package/lib/module/components/Polygon.types.js.map +1 -0
  75. package/lib/module/components/Polygon.web.js +87 -0
  76. package/lib/module/components/Polygon.web.js.map +1 -0
  77. package/lib/module/components/Polyline.js +17 -4
  78. package/lib/module/components/Polyline.js.map +1 -1
  79. package/lib/module/components/Polyline.types.js +4 -0
  80. package/lib/module/components/Polyline.types.js.map +1 -0
  81. package/lib/module/components/Polyline.web.js +108 -31
  82. package/lib/module/components/Polyline.web.js.map +1 -1
  83. package/lib/module/components/index.js +4 -2
  84. package/lib/module/components/index.js.map +1 -1
  85. package/lib/module/components/index.web.js +2 -0
  86. package/lib/module/components/index.web.js.map +1 -1
  87. package/lib/module/fabric/LuggCalloutViewNativeComponent.ts +20 -0
  88. package/lib/module/fabric/{LuggGoogleMapViewNativeComponent.ts → LuggMapViewNativeComponent.ts} +43 -7
  89. package/lib/module/fabric/LuggMarkerViewNativeComponent.ts +49 -1
  90. package/lib/module/fabric/LuggPolygonViewNativeComponent.ts +25 -0
  91. package/lib/module/fabric/LuggPolylineViewNativeComponent.ts +8 -0
  92. package/lib/module/index.js +4 -1
  93. package/lib/module/index.js.map +1 -1
  94. package/lib/module/index.web.js +4 -1
  95. package/lib/module/index.web.js.map +1 -1
  96. package/lib/typescript/src/MapProvider.d.ts +1 -1
  97. package/lib/typescript/src/MapProvider.d.ts.map +1 -1
  98. package/lib/typescript/src/MapProvider.web.d.ts +23 -1
  99. package/lib/typescript/src/MapProvider.web.d.ts.map +1 -1
  100. package/lib/typescript/src/MapView.d.ts +4 -4
  101. package/lib/typescript/src/MapView.d.ts.map +1 -1
  102. package/lib/typescript/src/MapView.types.d.ts +35 -9
  103. package/lib/typescript/src/MapView.types.d.ts.map +1 -1
  104. package/lib/typescript/src/MapView.web.d.ts +2 -11
  105. package/lib/typescript/src/MapView.web.d.ts.map +1 -1
  106. package/lib/typescript/src/components/GeoJson.d.ts +4 -0
  107. package/lib/typescript/src/components/GeoJson.d.ts.map +1 -0
  108. package/lib/typescript/src/components/GeoJson.types.d.ts +89 -0
  109. package/lib/typescript/src/components/GeoJson.types.d.ts.map +1 -0
  110. package/lib/typescript/src/components/Marker.d.ts +6 -33
  111. package/lib/typescript/src/components/Marker.d.ts.map +1 -1
  112. package/lib/typescript/src/components/Marker.types.d.ts +100 -0
  113. package/lib/typescript/src/components/Marker.types.d.ts.map +1 -0
  114. package/lib/typescript/src/components/Marker.web.d.ts +2 -5
  115. package/lib/typescript/src/components/Marker.web.d.ts.map +1 -1
  116. package/lib/typescript/src/components/Polygon.d.ts +10 -0
  117. package/lib/typescript/src/components/Polygon.d.ts.map +1 -0
  118. package/lib/typescript/src/components/Polygon.types.d.ts +33 -0
  119. package/lib/typescript/src/components/Polygon.types.d.ts.map +1 -0
  120. package/lib/typescript/src/components/Polygon.web.d.ts +3 -0
  121. package/lib/typescript/src/components/Polygon.web.d.ts.map +1 -0
  122. package/lib/typescript/src/components/Polyline.d.ts +6 -21
  123. package/lib/typescript/src/components/Polyline.d.ts.map +1 -1
  124. package/lib/typescript/src/components/Polyline.types.d.ts +53 -0
  125. package/lib/typescript/src/components/Polyline.types.d.ts.map +1 -0
  126. package/lib/typescript/src/components/Polyline.web.d.ts +2 -5
  127. package/lib/typescript/src/components/Polyline.web.d.ts.map +1 -1
  128. package/lib/typescript/src/components/index.d.ts +8 -2
  129. package/lib/typescript/src/components/index.d.ts.map +1 -1
  130. package/lib/typescript/src/components/index.web.d.ts +6 -2
  131. package/lib/typescript/src/components/index.web.d.ts.map +1 -1
  132. package/lib/typescript/src/fabric/LuggCalloutViewNativeComponent.d.ts +13 -0
  133. package/lib/typescript/src/fabric/LuggCalloutViewNativeComponent.d.ts.map +1 -0
  134. package/lib/typescript/src/fabric/{LuggGoogleMapViewNativeComponent.d.ts → LuggMapViewNativeComponent.d.ts} +30 -4
  135. package/lib/typescript/src/fabric/LuggMapViewNativeComponent.d.ts.map +1 -0
  136. package/lib/typescript/src/fabric/LuggMarkerViewNativeComponent.d.ts +45 -1
  137. package/lib/typescript/src/fabric/LuggMarkerViewNativeComponent.d.ts.map +1 -1
  138. package/lib/typescript/src/fabric/LuggPolygonViewNativeComponent.d.ts +18 -0
  139. package/lib/typescript/src/fabric/LuggPolygonViewNativeComponent.d.ts.map +1 -0
  140. package/lib/typescript/src/fabric/LuggPolylineViewNativeComponent.d.ts +7 -0
  141. package/lib/typescript/src/fabric/LuggPolylineViewNativeComponent.d.ts.map +1 -1
  142. package/lib/typescript/src/index.d.ts +11 -3
  143. package/lib/typescript/src/index.d.ts.map +1 -1
  144. package/lib/typescript/src/index.web.d.ts +9 -1
  145. package/lib/typescript/src/index.web.d.ts.map +1 -1
  146. package/lib/typescript/src/types.d.ts +11 -0
  147. package/lib/typescript/src/types.d.ts.map +1 -1
  148. package/package.json +11 -9
  149. package/src/MapProvider.tsx +1 -3
  150. package/src/MapProvider.web.tsx +22 -3
  151. package/src/MapView.tsx +32 -26
  152. package/src/MapView.types.ts +43 -9
  153. package/src/MapView.web.tsx +368 -210
  154. package/src/components/GeoJson.tsx +221 -0
  155. package/src/components/GeoJson.types.ts +118 -0
  156. package/src/components/Marker.tsx +75 -38
  157. package/src/components/Marker.types.ts +102 -0
  158. package/src/components/Marker.web.tsx +197 -19
  159. package/src/components/Polygon.tsx +52 -0
  160. package/src/components/Polygon.types.ts +33 -0
  161. package/src/components/Polygon.web.tsx +104 -0
  162. package/src/components/Polyline.tsx +23 -22
  163. package/src/components/Polyline.types.ts +55 -0
  164. package/src/components/Polyline.web.tsx +151 -37
  165. package/src/components/index.ts +17 -2
  166. package/src/components/index.web.ts +6 -2
  167. package/src/fabric/LuggCalloutViewNativeComponent.ts +20 -0
  168. package/src/fabric/{LuggGoogleMapViewNativeComponent.ts → LuggMapViewNativeComponent.ts} +43 -7
  169. package/src/fabric/LuggMarkerViewNativeComponent.ts +49 -1
  170. package/src/fabric/LuggPolygonViewNativeComponent.ts +25 -0
  171. package/src/fabric/LuggPolylineViewNativeComponent.ts +8 -0
  172. package/src/index.ts +30 -1
  173. package/src/index.web.ts +16 -1
  174. package/src/types.ts +13 -0
  175. package/android/src/main/java/com/luggmaps/LuggGoogleMapView.kt +0 -511
  176. package/ios/LuggAppleMapView.h +0 -16
  177. package/ios/LuggAppleMapView.mm +0 -592
  178. package/ios/LuggGoogleMapView.h +0 -13
  179. package/ios/LuggGoogleMapView.mm +0 -455
  180. package/lib/module/fabric/LuggAppleMapViewNativeComponent.ts +0 -83
  181. package/lib/typescript/src/fabric/LuggAppleMapViewNativeComponent.d.ts +0 -54
  182. package/lib/typescript/src/fabric/LuggAppleMapViewNativeComponent.d.ts.map +0 -1
  183. package/lib/typescript/src/fabric/LuggGoogleMapViewNativeComponent.d.ts.map +0 -1
  184. package/src/fabric/LuggAppleMapViewNativeComponent.ts +0 -83
@@ -0,0 +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":[]}
@@ -4,20 +4,33 @@ import React from 'react';
4
4
  import { StyleSheet } from 'react-native';
5
5
  import LuggPolylineViewNativeComponent from '../fabric/LuggPolylineViewNativeComponent';
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
- export class Polyline extends React.Component {
7
+ export class Polyline extends React.PureComponent {
8
+ getStyle(zIndex) {
9
+ if (zIndex == null) return styles.polyline;
10
+ if (zIndex !== this._cachedZIndex) {
11
+ this._cachedZIndex = zIndex;
12
+ this._cachedStyle = [{
13
+ zIndex
14
+ }, styles.polyline];
15
+ }
16
+ return this._cachedStyle;
17
+ }
8
18
  render() {
9
19
  const {
10
20
  coordinates,
11
21
  strokeColors,
12
22
  strokeWidth,
13
- animated = false
23
+ animated = false,
24
+ animatedOptions,
25
+ zIndex
14
26
  } = this.props;
15
27
  return /*#__PURE__*/_jsx(LuggPolylineViewNativeComponent, {
16
- style: styles.polyline,
28
+ style: this.getStyle(zIndex),
17
29
  coordinates: coordinates,
18
30
  strokeColors: strokeColors,
19
31
  strokeWidth: strokeWidth,
20
- animated: animated
32
+ animated: animated,
33
+ animatedOptions: animatedOptions
21
34
  });
22
35
  }
23
36
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","StyleSheet","LuggPolylineViewNativeComponent","jsx","_jsx","Polyline","Component","render","coordinates","strokeColors","strokeWidth","animated","props","style","styles","polyline","create","position","pointerEvents"],"sourceRoot":"../../../src","sources":["components/Polyline.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,UAAU,QAAQ,cAAc;AACzC,OAAOC,+BAA+B,MAAM,2CAA2C;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAsBxF,OAAO,MAAMC,QAAQ,SAASL,KAAK,CAACM,SAAS,CAAgB;EAC3DC,MAAMA,CAAA,EAAG;IACP,MAAM;MACJC,WAAW;MACXC,YAAY;MACZC,WAAW;MACXC,QAAQ,GAAG;IACb,CAAC,GAAG,IAAI,CAACC,KAAK;IAEd,oBACER,IAAA,CAACF,+BAA+B;MAC9BW,KAAK,EAAEC,MAAM,CAACC,QAAS;MACvBP,WAAW,EAAEA,WAAY;MACzBC,YAAY,EAAEA,YAAa;MAC3BC,WAAW,EAAEA,WAAY;MACzBC,QAAQ,EAAEA;IAAS,CACpB,CAAC;EAEN;AACF;AAEA,MAAMG,MAAM,GAAGb,UAAU,CAACe,MAAM,CAAC;EAC/BD,QAAQ,EAAE;IACRE,QAAQ,EAAE,UAAU;IACpBC,aAAa,EAAE;EACjB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","StyleSheet","LuggPolylineViewNativeComponent","jsx","_jsx","Polyline","PureComponent","getStyle","zIndex","styles","polyline","_cachedZIndex","_cachedStyle","render","coordinates","strokeColors","strokeWidth","animated","animatedOptions","props","style","create","position","pointerEvents"],"sourceRoot":"../../../src","sources":["components/Polyline.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,cAAc;AACzC,OAAOC,+BAA+B,MAAM,2CAA2C;AAAC,SAAAC,GAAA,IAAAC,IAAA;AASxF,OAAO,MAAMC,QAAQ,SAASL,KAAK,CAACM,aAAa,CAAgB;EACvDC,QAAQA,CAACC,MAA0B,EAAE;IAC3C,IAAIA,MAAM,IAAI,IAAI,EAAE,OAAOC,MAAM,CAACC,QAAQ;IAC1C,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,QAAQ,CAAC;IACnD;IACA,OAAO,IAAI,CAACE,YAAY;EAC1B;EAKAC,MAAMA,CAAA,EAAG;IACP,MAAM;MACJC,WAAW;MACXC,YAAY;MACZC,WAAW;MACXC,QAAQ,GAAG,KAAK;MAChBC,eAAe;MACfV;IACF,CAAC,GAAG,IAAI,CAACW,KAAK;IAEd,oBACEf,IAAA,CAACF,+BAA+B;MAC9BkB,KAAK,EAAE,IAAI,CAACb,QAAQ,CAACC,MAAM,CAAE;MAC7BM,WAAW,EAAEA,WAAY;MACzBC,YAAY,EAAEA,YAAa;MAC3BC,WAAW,EAAEA,WAAY;MACzBC,QAAQ,EAAEA,QAAS;MACnBC,eAAe,EAAEA;IAAgB,CAClC,CAAC;EAEN;AACF;AAEA,MAAMT,MAAM,GAAGR,UAAU,CAACoB,MAAM,CAAC;EAC/BX,QAAQ,EAAE;IACRY,QAAQ,EAAE,UAAU;IACpBC,aAAa,EAAE;EACjB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=Polyline.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["components/Polyline.types.ts"],"mappings":"","ignoreList":[]}
@@ -1,10 +1,21 @@
1
1
  "use strict";
2
2
 
3
- import { Component, useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
- import { useMap } from '@vis.gl/react-google-maps';
5
- import { jsx as _jsx } from "react/jsx-runtime";
6
- const ANIMATION_DURATION = 1500;
7
- function interpolateColor(color1, color2, t) {
3
+ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
+ import { useMapContext } from "../MapProvider.web.js";
5
+ const DEFAULT_DURATION = 2150;
6
+ const applyEasing = (t, easing = 'linear') => {
7
+ switch (easing) {
8
+ case 'easeIn':
9
+ return t * t;
10
+ case 'easeOut':
11
+ return t * (2 - t);
12
+ case 'easeInOut':
13
+ return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;
14
+ default:
15
+ return t;
16
+ }
17
+ };
18
+ const interpolateColor = (color1, color2, t) => {
8
19
  const hex = c => parseInt(c, 16);
9
20
  const r1 = hex(color1.slice(1, 3));
10
21
  const g1 = hex(color1.slice(3, 5));
@@ -16,8 +27,8 @@ function interpolateColor(color1, color2, t) {
16
27
  const g = Math.round(g1 + (g2 - g1) * t);
17
28
  const b = Math.round(b1 + (b2 - b1) * t);
18
29
  return `#${r.toString(16).padStart(2, '0')}${g.toString(16).padStart(2, '0')}${b.toString(16).padStart(2, '0')}`;
19
- }
20
- function getGradientColor(colors, position) {
30
+ };
31
+ const getGradientColor = (colors, position) => {
21
32
  if (colors.length === 0) return '#000000';
22
33
  if (colors.length === 1 || position <= 0) return colors[0];
23
34
  if (position >= 1) return colors[colors.length - 1];
@@ -25,16 +36,34 @@ function getGradientColor(colors, position) {
25
36
  const index = Math.floor(scaledPos);
26
37
  const t = scaledPos - index;
27
38
  return interpolateColor(colors[index], colors[index + 1], t);
28
- }
29
- function PolylineImpl({
39
+ };
40
+ export const Polyline = ({
30
41
  coordinates,
31
42
  strokeColors,
32
43
  strokeWidth = 1,
33
- animated
34
- }) {
35
- const map = useMap();
44
+ animated,
45
+ animatedOptions,
46
+ zIndex
47
+ }) => {
48
+ const resolvedZIndex = zIndex ?? (animated ? 1 : 0);
49
+ const {
50
+ map,
51
+ isDragging
52
+ } = useMapContext();
53
+ const {
54
+ duration,
55
+ easing,
56
+ trailLength,
57
+ delay
58
+ } = useMemo(() => ({
59
+ duration: animatedOptions?.duration ?? DEFAULT_DURATION,
60
+ easing: animatedOptions?.easing ?? 'linear',
61
+ trailLength: Math.max(0.01, Math.min(1, animatedOptions?.trailLength ?? 1)),
62
+ delay: animatedOptions?.delay ?? 0
63
+ }), [animatedOptions?.duration, animatedOptions?.easing, animatedOptions?.trailLength, animatedOptions?.delay]);
36
64
  const polylinesRef = useRef([]);
37
65
  const animationRef = useRef(0);
66
+ const isPausedRef = useRef(false);
38
67
  const colors = useMemo(() => strokeColors && strokeColors.length > 0 ? strokeColors : ['#000000'], [strokeColors]);
39
68
  const hasGradient = colors.length > 1;
40
69
 
@@ -43,7 +72,8 @@ function PolylineImpl({
43
72
  map,
44
73
  colors,
45
74
  strokeWidth,
46
- hasGradient
75
+ hasGradient,
76
+ zIndex: resolvedZIndex
47
77
  });
48
78
  const [mapReady, setMapReady] = useState(!!map);
49
79
  useEffect(() => {
@@ -51,20 +81,27 @@ function PolylineImpl({
51
81
  map,
52
82
  colors,
53
83
  strokeWidth,
54
- hasGradient
84
+ hasGradient,
85
+ zIndex: resolvedZIndex
55
86
  };
56
87
  if (map && !mapReady) setMapReady(true);
57
- }, [map, colors, strokeWidth, hasGradient, mapReady]);
88
+ }, [map, colors, strokeWidth, hasGradient, resolvedZIndex, mapReady]);
58
89
  const updatePath = useCallback(path => {
59
90
  const {
60
91
  map: currentMap,
61
92
  colors: currentColors,
62
93
  strokeWidth: currentStrokeWidth,
63
- hasGradient: currentHasGradient
94
+ hasGradient: currentHasGradient,
95
+ zIndex: currentZIndex
64
96
  } = propsRef.current;
65
- if (!currentMap || path.length < 2) return;
66
- const neededSegments = currentHasGradient ? path.length - 1 : 1;
67
97
  const existing = polylinesRef.current;
98
+ if (!currentMap) return;
99
+ if (path.length < 2) {
100
+ existing.forEach(p => p.setMap(null));
101
+ existing.length = 0;
102
+ return;
103
+ }
104
+ const neededSegments = currentHasGradient ? path.length - 1 : 1;
68
105
 
69
106
  // Update or create segments
70
107
  for (let i = 0; i < neededSegments; i++) {
@@ -82,6 +119,7 @@ function PolylineImpl({
82
119
  strokeColor: color,
83
120
  strokeWeight: currentStrokeWidth,
84
121
  strokeOpacity: 1,
122
+ zIndex: currentZIndex,
85
123
  map: currentMap
86
124
  }));
87
125
  }
@@ -103,6 +141,11 @@ function PolylineImpl({
103
141
  };
104
142
  }, []);
105
143
 
144
+ // Pause/resume animation during drag
145
+ useEffect(() => {
146
+ isPausedRef.current = isDragging;
147
+ }, [isDragging]);
148
+
106
149
  // Main effect
107
150
  useEffect(() => {
108
151
  if (!propsRef.current.map || coordinates.length === 0) return;
@@ -116,11 +159,52 @@ function PolylineImpl({
116
159
  return;
117
160
  }
118
161
  const totalPoints = fullPath.length;
119
- const cycleDuration = ANIMATION_DURATION * 2;
162
+ const useTrailMode = trailLength < 1;
163
+ const renderMax = useTrailMode ? 1 : 2;
164
+ const cycleMax = useTrailMode ? 1 : 2.15;
165
+ let startTime = null;
166
+ let delayRemaining = delay;
167
+ let pausedAt = null;
120
168
  const animate = time => {
121
- const progress = time % cycleDuration / ANIMATION_DURATION;
122
- const startIdx = progress <= 1 ? 0 : (progress - 1) * totalPoints;
123
- const endIdx = progress <= 1 ? progress * totalPoints : totalPoints;
169
+ if (isPausedRef.current) {
170
+ if (pausedAt === null) pausedAt = time;
171
+ animationRef.current = requestAnimationFrame(animate);
172
+ return;
173
+ }
174
+ if (pausedAt !== null) {
175
+ if (startTime !== null) {
176
+ startTime += time - pausedAt;
177
+ }
178
+ pausedAt = null;
179
+ }
180
+ if (startTime === null) {
181
+ startTime = time;
182
+ }
183
+ const elapsed = time - startTime;
184
+ if (delayRemaining > 0) {
185
+ if (elapsed < delayRemaining) {
186
+ animationRef.current = requestAnimationFrame(animate);
187
+ return;
188
+ }
189
+ startTime = time - (elapsed - delayRemaining);
190
+ delayRemaining = 0;
191
+ }
192
+ const rawProgress = (time - startTime) / duration;
193
+ if (rawProgress >= cycleMax) {
194
+ delayRemaining = delay;
195
+ startTime = time;
196
+ }
197
+ const clampedProgress = Math.min(rawProgress, renderMax);
198
+ const easedProgress = applyEasing(clampedProgress / renderMax, easing) * renderMax;
199
+ let startIdx;
200
+ let endIdx;
201
+ if (useTrailMode) {
202
+ endIdx = easedProgress * totalPoints;
203
+ startIdx = Math.max(0, endIdx - trailLength * totalPoints);
204
+ } else {
205
+ startIdx = easedProgress <= 1 ? 0 : (easedProgress - 1) * totalPoints;
206
+ endIdx = easedProgress <= 1 ? easedProgress * totalPoints : totalPoints;
207
+ }
124
208
  const partialPath = [];
125
209
  const startFloor = Math.floor(startIdx);
126
210
  const endFloor = Math.floor(endIdx);
@@ -158,14 +242,7 @@ function PolylineImpl({
158
242
  };
159
243
  animationRef.current = requestAnimationFrame(animate);
160
244
  return () => cancelAnimationFrame(animationRef.current);
161
- }, [coordinates, animated, hasGradient, updatePath, mapReady]);
245
+ }, [coordinates, animated, duration, easing, trailLength, delay, hasGradient, updatePath, mapReady]);
162
246
  return null;
163
- }
164
- export class Polyline extends Component {
165
- render() {
166
- return /*#__PURE__*/_jsx(PolylineImpl, {
167
- ...this.props
168
- });
169
- }
170
- }
247
+ };
171
248
  //# sourceMappingURL=Polyline.web.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Component","useCallback","useEffect","useMemo","useRef","useState","useMap","jsx","_jsx","ANIMATION_DURATION","interpolateColor","color1","color2","t","hex","c","parseInt","r1","slice","g1","b1","r2","g2","b2","r","Math","round","g","b","toString","padStart","getGradientColor","colors","position","length","scaledPos","index","floor","PolylineImpl","coordinates","strokeColors","strokeWidth","animated","map","polylinesRef","animationRef","hasGradient","propsRef","mapReady","setMapReady","current","updatePath","path","currentMap","currentColors","currentStrokeWidth","currentHasGradient","neededSegments","existing","i","segmentPath","color","segment","setPath","setOptions","strokeColor","push","google","maps","Polyline","strokeWeight","strokeOpacity","setMap","polylines","cancelAnimationFrame","forEach","p","fullPath","lat","latitude","lng","longitude","totalPoints","cycleDuration","animate","time","progress","startIdx","endIdx","partialPath","startFloor","endFloor","frac","from","to","min","requestAnimationFrame","render","props"],"sourceRoot":"../../../src","sources":["components/Polyline.web.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","useMapContext","DEFAULT_DURATION","applyEasing","t","easing","interpolateColor","color1","color2","hex","c","parseInt","r1","slice","g1","b1","r2","g2","b2","r","Math","round","g","b","toString","padStart","getGradientColor","colors","position","length","scaledPos","index","floor","Polyline","coordinates","strokeColors","strokeWidth","animated","animatedOptions","zIndex","resolvedZIndex","map","isDragging","duration","trailLength","delay","max","min","polylinesRef","animationRef","isPausedRef","hasGradient","propsRef","mapReady","setMapReady","current","updatePath","path","currentMap","currentColors","currentStrokeWidth","currentHasGradient","currentZIndex","existing","forEach","p","setMap","neededSegments","i","segmentPath","color","segment","setPath","setOptions","strokeColor","push","google","maps","strokeWeight","strokeOpacity","polylines","cancelAnimationFrame","fullPath","lat","latitude","lng","longitude","totalPoints","useTrailMode","renderMax","cycleMax","startTime","delayRemaining","pausedAt","animate","time","requestAnimationFrame","elapsed","rawProgress","clampedProgress","easedProgress","startIdx","endIdx","partialPath","startFloor","endFloor","frac","from","to"],"sourceRoot":"../../../src","sources":["components/Polyline.web.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
- export * from './Marker';
4
- export * from './Polyline';
3
+ export { Marker } from './Marker';
4
+ export { Polygon } from './Polygon';
5
+ export { Polyline } from './Polyline';
6
+ export { GeoJson } from "./GeoJson.js";
5
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;AAAA,cAAc,UAAU;AACxB,cAAc,YAAY","ignoreList":[]}
1
+ {"version":3,"names":["Marker","Polygon","Polyline","GeoJson"],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,UAAU;AAOjC,SAASC,OAAO,QAAQ,WAAW;AAEnC,SAASC,QAAQ,QAAQ,YAAY;AAMrC,SAASC,OAAO,QAAQ,cAAW","ignoreList":[]}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  export { Marker } from "./Marker.web.js";
4
+ export { Polygon } from "./Polygon.web.js";
4
5
  export { Polyline } from "./Polyline.web.js";
6
+ export { GeoJson } from "./GeoJson.js";
5
7
  //# sourceMappingURL=index.web.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Marker","Polyline"],"sourceRoot":"../../../src","sources":["components/index.web.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,iBAAc;AACrC,SAASC,QAAQ,QAAQ,mBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["Marker","Polygon","Polyline","GeoJson"],"sourceRoot":"../../../src","sources":["components/index.web.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,iBAAc;AACrC,SAASC,OAAO,QAAQ,kBAAe;AACvC,SAASC,QAAQ,QAAQ,mBAAgB;AAIzC,SAASC,OAAO,QAAQ,cAAW","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ import { codegenNativeComponent } from 'react-native';
2
+ import type { ViewProps, HostComponent } from 'react-native';
3
+ import type {
4
+ Double,
5
+ WithDefault,
6
+ } from 'react-native/Libraries/Types/CodegenTypes';
7
+
8
+ export interface Point {
9
+ x: Double;
10
+ y: Double;
11
+ }
12
+
13
+ export interface NativeProps extends ViewProps {
14
+ bubbled?: WithDefault<boolean, true>;
15
+ anchor?: Point;
16
+ }
17
+
18
+ export default codegenNativeComponent<NativeProps>(
19
+ 'LuggCalloutView'
20
+ ) as HostComponent<NativeProps>;
@@ -2,6 +2,7 @@ import { codegenNativeComponent, codegenNativeCommands } from 'react-native';
2
2
  import type { ViewProps, HostComponent } from 'react-native';
3
3
  import type {
4
4
  Double,
5
+ WithDefault,
5
6
  DirectEventHandler,
6
7
  } from 'react-native/Libraries/Types/CodegenTypes';
7
8
 
@@ -35,9 +36,32 @@ export interface CameraIdleEvent {
35
36
  gesture: boolean;
36
37
  }
37
38
 
39
+ export interface PressEvent {
40
+ coordinate: {
41
+ latitude: Double;
42
+ longitude: Double;
43
+ };
44
+ point: {
45
+ x: Double;
46
+ y: Double;
47
+ };
48
+ }
49
+
50
+ export interface LongPressEvent {
51
+ coordinate: {
52
+ latitude: Double;
53
+ longitude: Double;
54
+ };
55
+ point: {
56
+ x: Double;
57
+ y: Double;
58
+ };
59
+ }
60
+
38
61
  export interface ReadyEvent {}
39
62
 
40
63
  export interface NativeProps extends ViewProps {
64
+ provider?: WithDefault<'google' | 'apple', 'google'>;
41
65
  mapId?: string;
42
66
  initialCoordinate?: Coordinate;
43
67
  initialZoom?: Double;
@@ -47,8 +71,12 @@ export interface NativeProps extends ViewProps {
47
71
  scrollEnabled?: boolean;
48
72
  rotateEnabled?: boolean;
49
73
  pitchEnabled?: boolean;
50
- padding?: EdgeInsets;
74
+ edgeInsets?: EdgeInsets;
51
75
  userLocationEnabled?: boolean;
76
+ userLocationButtonEnabled?: boolean;
77
+ theme?: WithDefault<'light' | 'dark' | 'system', 'system'>;
78
+ onMapPress?: DirectEventHandler<PressEvent>;
79
+ onMapLongPress?: DirectEventHandler<LongPressEvent>;
52
80
  onCameraMove?: DirectEventHandler<CameraMoveEvent>;
53
81
  onCameraIdle?: DirectEventHandler<CameraIdleEvent>;
54
82
  onReady?: DirectEventHandler<ReadyEvent>;
@@ -67,18 +95,26 @@ interface NativeCommands {
67
95
  fitCoordinates: (
68
96
  viewRef: React.ElementRef<ComponentType>,
69
97
  coordinates: Coordinate[],
70
- paddingTop: Double,
71
- paddingLeft: Double,
72
- paddingBottom: Double,
73
- paddingRight: Double,
98
+ edgeInsetsTop: Double,
99
+ edgeInsetsLeft: Double,
100
+ edgeInsetsBottom: Double,
101
+ edgeInsetsRight: Double,
102
+ duration: Double
103
+ ) => void;
104
+ setEdgeInsets: (
105
+ viewRef: React.ElementRef<ComponentType>,
106
+ top: Double,
107
+ left: Double,
108
+ bottom: Double,
109
+ right: Double,
74
110
  duration: Double
75
111
  ) => void;
76
112
  }
77
113
 
78
114
  export const Commands = codegenNativeCommands<NativeCommands>({
79
- supportedCommands: ['moveCamera', 'fitCoordinates'],
115
+ supportedCommands: ['moveCamera', 'fitCoordinates', 'setEdgeInsets'],
80
116
  });
81
117
 
82
118
  export default codegenNativeComponent<NativeProps>(
83
- 'LuggGoogleMapView'
119
+ 'LuggMapView'
84
120
  ) as ComponentType;
@@ -1,6 +1,10 @@
1
1
  import { codegenNativeComponent } from 'react-native';
2
2
  import type { ViewProps, HostComponent } from 'react-native';
3
- import type { Double } from 'react-native/Libraries/Types/CodegenTypes';
3
+ import type {
4
+ Double,
5
+ WithDefault,
6
+ DirectEventHandler,
7
+ } from 'react-native/Libraries/Types/CodegenTypes';
4
8
 
5
9
  export interface Coordinate {
6
10
  latitude: Double;
@@ -18,6 +22,50 @@ export interface NativeProps extends ViewProps {
18
22
  title?: string;
19
23
  description?: string;
20
24
  anchor?: Point;
25
+ rotate?: WithDefault<Double, 0>;
26
+ scale?: WithDefault<Double, 1>;
27
+ rasterize?: WithDefault<boolean, true>;
28
+ draggable?: WithDefault<boolean, false>;
29
+ onMarkerPress?: DirectEventHandler<{
30
+ coordinate: {
31
+ latitude: Double;
32
+ longitude: Double;
33
+ };
34
+ point: {
35
+ x: Double;
36
+ y: Double;
37
+ };
38
+ }>;
39
+ onMarkerDragStart?: DirectEventHandler<{
40
+ coordinate: {
41
+ latitude: Double;
42
+ longitude: Double;
43
+ };
44
+ point: {
45
+ x: Double;
46
+ y: Double;
47
+ };
48
+ }>;
49
+ onMarkerDragChange?: DirectEventHandler<{
50
+ coordinate: {
51
+ latitude: Double;
52
+ longitude: Double;
53
+ };
54
+ point: {
55
+ x: Double;
56
+ y: Double;
57
+ };
58
+ }>;
59
+ onMarkerDragEnd?: DirectEventHandler<{
60
+ coordinate: {
61
+ latitude: Double;
62
+ longitude: Double;
63
+ };
64
+ point: {
65
+ x: Double;
66
+ y: Double;
67
+ };
68
+ }>;
21
69
  }
22
70
 
23
71
  export default codegenNativeComponent<NativeProps>(
@@ -0,0 +1,25 @@
1
+ import { codegenNativeComponent } from 'react-native';
2
+ import type { ViewProps, HostComponent, ColorValue } from 'react-native';
3
+ import type {
4
+ Double,
5
+ DirectEventHandler,
6
+ } from 'react-native/Libraries/Types/CodegenTypes';
7
+
8
+ export interface Coordinate {
9
+ latitude: Double;
10
+ longitude: Double;
11
+ }
12
+
13
+ export interface NativeProps extends ViewProps {
14
+ coordinates: ReadonlyArray<Coordinate>;
15
+ holes?: ReadonlyArray<ReadonlyArray<Coordinate>>;
16
+ strokeColor?: ColorValue;
17
+ strokeWidth?: Double;
18
+ fillColor?: ColorValue;
19
+ tappable?: boolean;
20
+ onPolygonPress?: DirectEventHandler<null>;
21
+ }
22
+
23
+ export default codegenNativeComponent<NativeProps>(
24
+ 'LuggPolygonView'
25
+ ) as HostComponent<NativeProps>;
@@ -7,11 +7,19 @@ export interface Coordinate {
7
7
  longitude: Double;
8
8
  }
9
9
 
10
+ export interface AnimatedOptions {
11
+ duration?: Double;
12
+ easing?: string;
13
+ trailLength?: Double;
14
+ delay?: Double;
15
+ }
16
+
10
17
  export interface NativeProps extends ViewProps {
11
18
  coordinates: ReadonlyArray<Coordinate>;
12
19
  strokeColors?: ReadonlyArray<ColorValue>;
13
20
  strokeWidth?: Double;
14
21
  animated?: boolean;
22
+ animatedOptions?: AnimatedOptions;
15
23
  }
16
24
 
17
25
  export default codegenNativeComponent<NativeProps>(
@@ -2,5 +2,8 @@
2
2
 
3
3
  export { MapView } from './MapView';
4
4
  export { MapProvider } from './MapProvider';
5
- export * from './components';
5
+ export { Marker } from './components';
6
+ export { Polygon } from './components';
7
+ export { Polyline } from './components';
8
+ export { GeoJson } from './components';
6
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["MapView","MapProvider"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,WAAW;AACnC,SAASC,WAAW,QAAQ,eAAe;AAE3C,cAAc,cAAc","ignoreList":[]}
1
+ {"version":3,"names":["MapView","MapProvider","Marker","Polygon","Polyline","GeoJson"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,WAAW;AACnC,SAASC,WAAW,QAAQ,eAAe;AAE3C,SAASC,MAAM,QAAQ,cAAc;AAOrC,SAASC,OAAO,QAAQ,cAAc;AAEtC,SAASC,QAAQ,QAAQ,cAAc;AAMvC,SAASC,OAAO,QAAQ,cAAc","ignoreList":[]}
@@ -2,5 +2,8 @@
2
2
 
3
3
  export { MapView } from "./MapView.web.js";
4
4
  export { MapProvider } from "./MapProvider.web.js";
5
- export * from "./components/index.web.js";
5
+ export { Marker } from "./components/index.web.js";
6
+ export { Polygon } from "./components/index.web.js";
7
+ export { Polyline } from "./components/index.web.js";
8
+ export { GeoJson } from "./components/index.web.js";
6
9
  //# sourceMappingURL=index.web.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["MapView","MapProvider"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,kBAAe;AACvC,SAASC,WAAW,QAAQ,sBAAmB;AAE/C,cAAc,2BAAwB","ignoreList":[]}
1
+ {"version":3,"names":["MapView","MapProvider","Marker","Polygon","Polyline","GeoJson"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,kBAAe;AACvC,SAASC,WAAW,QAAQ,sBAAmB;AAE/C,SAASC,MAAM,QAAQ,2BAAwB;AAE/C,SAASC,OAAO,QAAQ,2BAAwB;AAEhD,SAASC,QAAQ,QAAQ,2BAAwB;AAEjD,SAASC,OAAO,QAAQ,2BAAwB","ignoreList":[]}
@@ -4,5 +4,5 @@ import type { MapProviderProps } from './MapProvider.types';
4
4
  * On web, wraps children with Google Maps APIProvider.
5
5
  * On native, passes children through.
6
6
  */
7
- export declare function MapProvider({ children }: MapProviderProps): import("react").ReactNode;
7
+ export declare const MapProvider: ({ children }: MapProviderProps) => import("react").ReactNode;
8
8
  //# sourceMappingURL=MapProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MapProvider.d.ts","sourceRoot":"","sources":["../../../src/MapProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,gBAAgB,6BAEzD"}
1
+ {"version":3,"file":"MapProvider.d.ts","sourceRoot":"","sources":["../../../src/MapProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,cAAc,gBAAgB,8BAAa,CAAC"}
@@ -1,3 +1,25 @@
1
1
  import type { MapProviderProps } from './MapProvider.types';
2
- export declare function MapProvider({ apiKey, children }: MapProviderProps): import("react/jsx-runtime").JSX.Element;
2
+ type CalloutCloseListener = () => void;
3
+ export declare const MapContext: import("react").Context<{
4
+ map: google.maps.Map | null;
5
+ isDragging: boolean;
6
+ moveCamera: (coordinate: {
7
+ latitude: number;
8
+ longitude: number;
9
+ }) => void;
10
+ onCalloutClose: (listener: CalloutCloseListener) => () => void;
11
+ closeCallouts: (except?: CalloutCloseListener) => void;
12
+ }>;
13
+ export declare const useMapContext: () => {
14
+ map: google.maps.Map | null;
15
+ isDragging: boolean;
16
+ moveCamera: (coordinate: {
17
+ latitude: number;
18
+ longitude: number;
19
+ }) => void;
20
+ onCalloutClose: (listener: CalloutCloseListener) => () => void;
21
+ closeCallouts: (except?: CalloutCloseListener) => void;
22
+ };
23
+ export declare const MapProvider: ({ apiKey, children }: MapProviderProps) => import("react/jsx-runtime").JSX.Element;
24
+ export {};
3
25
  //# sourceMappingURL=MapProvider.web.d.ts.map