@granite-js/naver-map 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/GraniteNaverMap.podspec +81 -0
  3. package/android/build.gradle +160 -0
  4. package/android/gradle.properties +5 -0
  5. package/android/src/builtinProvider/java/run/granite/navermap/builtinProvider/BuiltInGraniteNaverMapProvider.kt +549 -0
  6. package/android/src/main/AndroidManifest.xml +3 -0
  7. package/android/src/main/java/run/granite/navermap/GraniteNaverMapEvents.kt +91 -0
  8. package/android/src/main/java/run/granite/navermap/GraniteNaverMapPackage.kt +16 -0
  9. package/android/src/main/java/run/granite/navermap/GraniteNaverMapProvider.kt +242 -0
  10. package/android/src/main/java/run/granite/navermap/GraniteNaverMapRegistry.kt +116 -0
  11. package/android/src/main/java/run/granite/navermap/GraniteNaverMapView.kt +732 -0
  12. package/android/src/newarch/java/run/granite/navermap/GraniteNaverMapViewManager.kt +446 -0
  13. package/android/src/oldarch/java/run/granite/navermap/GraniteNaverMapViewManager.kt +249 -0
  14. package/dist/module/NaverMapView.js +110 -0
  15. package/dist/module/NaverMapView.js.map +1 -0
  16. package/dist/module/index.js +6 -0
  17. package/dist/module/index.js.map +1 -0
  18. package/dist/module/internals/colorUtils.js +624 -0
  19. package/dist/module/internals/colorUtils.js.map +1 -0
  20. package/dist/module/internals/context.js +8 -0
  21. package/dist/module/internals/context.js.map +1 -0
  22. package/dist/module/internals/id.js +10 -0
  23. package/dist/module/internals/id.js.map +1 -0
  24. package/dist/module/internals/useMapOverlay.js +44 -0
  25. package/dist/module/internals/useMapOverlay.js.map +1 -0
  26. package/dist/module/internals/usePreservedReference.js +36 -0
  27. package/dist/module/internals/usePreservedReference.js.map +1 -0
  28. package/dist/module/overlays/ArrowheadPath.js +37 -0
  29. package/dist/module/overlays/ArrowheadPath.js.map +1 -0
  30. package/dist/module/overlays/Circle.js +35 -0
  31. package/dist/module/overlays/Circle.js.map +1 -0
  32. package/dist/module/overlays/GroundOverlay.js +30 -0
  33. package/dist/module/overlays/GroundOverlay.js.map +1 -0
  34. package/dist/module/overlays/InfoWindow.js +32 -0
  35. package/dist/module/overlays/InfoWindow.js.map +1 -0
  36. package/dist/module/overlays/Marker.js +37 -0
  37. package/dist/module/overlays/Marker.js.map +1 -0
  38. package/dist/module/overlays/Path.js +41 -0
  39. package/dist/module/overlays/Path.js.map +1 -0
  40. package/dist/module/overlays/Polygon.js +51 -0
  41. package/dist/module/overlays/Polygon.js.map +1 -0
  42. package/dist/module/overlays/Polyline.js +60 -0
  43. package/dist/module/overlays/Polyline.js.map +1 -0
  44. package/dist/module/overlays/index.js +11 -0
  45. package/dist/module/overlays/index.js.map +1 -0
  46. package/dist/module/package.json +1 -0
  47. package/dist/module/specs/GraniteNaverMapViewNativeComponent.ts +352 -0
  48. package/dist/module/types/Coord.js +2 -0
  49. package/dist/module/types/Coord.js.map +1 -0
  50. package/dist/module/types/index.js +29 -0
  51. package/dist/module/types/index.js.map +1 -0
  52. package/dist/typescript/NaverMapView.d.ts +41 -0
  53. package/dist/typescript/index.d.ts +3 -0
  54. package/dist/typescript/internals/colorUtils.d.ts +10 -0
  55. package/dist/typescript/internals/context.d.ts +8 -0
  56. package/dist/typescript/internals/id.d.ts +1 -0
  57. package/dist/typescript/internals/useMapOverlay.d.ts +15 -0
  58. package/dist/typescript/internals/usePreservedReference.d.ts +6 -0
  59. package/dist/typescript/overlays/ArrowheadPath.d.ts +11 -0
  60. package/dist/typescript/overlays/Circle.d.ts +10 -0
  61. package/dist/typescript/overlays/GroundOverlay.d.ts +11 -0
  62. package/dist/typescript/overlays/InfoWindow.d.ts +14 -0
  63. package/dist/typescript/overlays/Marker.d.ts +16 -0
  64. package/dist/typescript/overlays/Path.d.ts +15 -0
  65. package/dist/typescript/overlays/Polygon.d.ts +10 -0
  66. package/dist/typescript/overlays/Polyline.d.ts +11 -0
  67. package/dist/typescript/overlays/index.d.ts +16 -0
  68. package/dist/typescript/specs/GraniteNaverMapViewNativeComponent.d.ts +92 -0
  69. package/dist/typescript/types/Coord.d.ts +4 -0
  70. package/dist/typescript/types/index.d.ts +55 -0
  71. package/ios/GraniteNaverMap-Bridging-Header.h +20 -0
  72. package/ios/GraniteNaverMapProvider.swift +312 -0
  73. package/ios/GraniteNaverMapRegistry.swift +91 -0
  74. package/ios/GraniteNaverMapView.h +15 -0
  75. package/ios/GraniteNaverMapView.mm +390 -0
  76. package/ios/GraniteNaverMapViewImpl.swift +496 -0
  77. package/ios/GraniteNaverMapViewManager.m +67 -0
  78. package/ios/GraniteNaverMapViewManager.swift +133 -0
  79. package/ios/GraniteNaverMapViewWrapper.swift +215 -0
  80. package/ios/builtinProvider/BuiltInNaverMapProvider.swift +489 -0
  81. package/ios/builtinProvider/GraniteNaverMapMarkerData.swift +66 -0
  82. package/ios/builtinProvider/NMFMarker+Extension.swift +65 -0
  83. package/ios/builtinProvider/RCTConvert+NMFMapView.h +17 -0
  84. package/ios/builtinProvider/RCTConvert+NMFMapView.m +67 -0
  85. package/package.json +103 -0
  86. package/src/NaverMapView.tsx +168 -0
  87. package/src/index.tsx +3 -0
  88. package/src/internals/colorUtils.ts +697 -0
  89. package/src/internals/context.ts +14 -0
  90. package/src/internals/id.ts +9 -0
  91. package/src/internals/useMapOverlay.ts +59 -0
  92. package/src/internals/usePreservedReference.ts +41 -0
  93. package/src/overlays/ArrowheadPath.ts +71 -0
  94. package/src/overlays/Circle.ts +68 -0
  95. package/src/overlays/GroundOverlay.ts +62 -0
  96. package/src/overlays/InfoWindow.ts +68 -0
  97. package/src/overlays/Marker.ts +83 -0
  98. package/src/overlays/Path.ts +87 -0
  99. package/src/overlays/Polygon.ts +83 -0
  100. package/src/overlays/Polyline.ts +93 -0
  101. package/src/overlays/index.ts +23 -0
  102. package/src/specs/GraniteNaverMapViewNativeComponent.ts +352 -0
  103. package/src/types/Coord.ts +4 -0
  104. package/src/types/index.ts +78 -0
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ import { useEffect, useLayoutEffect } from 'react';
4
+ import { useMapContext } from "./context.js";
5
+ import { useOverlayId } from "./id.js";
6
+ export function useMapOverlay({
7
+ props,
8
+ eventListeners,
9
+ methods,
10
+ registrySelector
11
+ }) {
12
+ const id = useOverlayId();
13
+ const mapContext = useMapContext();
14
+ useEffect(() => {
15
+ if (!mapContext) {
16
+ return;
17
+ }
18
+ const registry = registrySelector(mapContext);
19
+ registry.set(id, eventListeners);
20
+ return () => {
21
+ registry.delete(id);
22
+ };
23
+ }, [id, mapContext, registrySelector, eventListeners]);
24
+ useLayoutEffect(() => {
25
+ console.log('[useMapOverlay] useLayoutEffect - mapContext:', mapContext ? 'exists' : 'null', 'id:', id);
26
+ if (!mapContext) {
27
+ return;
28
+ }
29
+ const {
30
+ mapView
31
+ } = mapContext;
32
+ console.log('[useMapOverlay] calling methods.add for id:', id);
33
+ methods.add(mapView, id, props);
34
+ return () => methods.remove(mapView, id);
35
+ // eslint-disable-next-line react-hooks/exhaustive-deps
36
+ }, [id, mapContext, methods]);
37
+ useLayoutEffect(() => {
38
+ if (!mapContext) {
39
+ return;
40
+ }
41
+ methods.update(mapContext.mapView, id, props);
42
+ }, [id, mapContext, methods, props]);
43
+ }
44
+ //# sourceMappingURL=useMapOverlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useLayoutEffect","useMapContext","useOverlayId","useMapOverlay","props","eventListeners","methods","registrySelector","id","mapContext","registry","set","delete","console","log","mapView","add","remove","update"],"sourceRoot":"../../../src","sources":["internals/useMapOverlay.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,eAAe,QAAQ,OAAO;AAElD,SAA+BC,aAAa,QAAQ,cAAW;AAC/D,SAASC,YAAY,QAAQ,SAAM;AAenC,OAAO,SAASC,aAAaA,CAAwB;EACnDC,KAAK;EACLC,cAAc;EACdC,OAAO;EACPC;AACsC,CAAC,EAAE;EACzC,MAAMC,EAAE,GAAGN,YAAY,CAAC,CAAC;EACzB,MAAMO,UAAU,GAAGR,aAAa,CAAC,CAAC;EAElCF,SAAS,CAAC,MAAM;IACd,IAAI,CAACU,UAAU,EAAE;MACf;IACF;IAEA,MAAMC,QAAQ,GAAGH,gBAAgB,CAACE,UAAU,CAAC;IAC7CC,QAAQ,CAACC,GAAG,CAACH,EAAE,EAAEH,cAAc,CAAC;IAChC,OAAO,MAAM;MACXK,QAAQ,CAACE,MAAM,CAACJ,EAAE,CAAC;IACrB,CAAC;EACH,CAAC,EAAE,CAACA,EAAE,EAAEC,UAAU,EAAEF,gBAAgB,EAAEF,cAAc,CAAC,CAAC;EAEtDL,eAAe,CAAC,MAAM;IACpBa,OAAO,CAACC,GAAG,CAAC,+CAA+C,EAAEL,UAAU,GAAG,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAED,EAAE,CAAC;IACvG,IAAI,CAACC,UAAU,EAAE;MACf;IACF;IAEA,MAAM;MAAEM;IAAQ,CAAC,GAAGN,UAAU;IAC9BI,OAAO,CAACC,GAAG,CAAC,6CAA6C,EAAEN,EAAE,CAAC;IAC9DF,OAAO,CAACU,GAAG,CAACD,OAAO,EAAEP,EAAE,EAAEJ,KAAK,CAAC;IAC/B,OAAO,MAAME,OAAO,CAACW,MAAM,CAACF,OAAO,EAAEP,EAAE,CAAC;IACxC;EACF,CAAC,EAAE,CAACA,EAAE,EAAEC,UAAU,EAAEH,OAAO,CAAC,CAAC;EAE7BN,eAAe,CAAC,MAAM;IACpB,IAAI,CAACS,UAAU,EAAE;MACf;IACF;IACAH,OAAO,CAACY,MAAM,CAACT,UAAU,CAACM,OAAO,EAAEP,EAAE,EAAEJ,KAAK,CAAC;EAC/C,CAAC,EAAE,CAACI,EAAE,EAAEC,UAAU,EAAEH,OAAO,EAAEF,KAAK,CAAC,CAAC;AACtC","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ import { useRef } from 'react';
4
+
5
+ /**
6
+ * Returns a memoized reference that only changes when the object's content changes.
7
+ * This is useful for preventing unnecessary re-renders when object references change
8
+ * but the content remains the same.
9
+ */
10
+ export function usePreservedReference(value) {
11
+ const ref = useRef(value);
12
+ if (!shallowEqual(ref.current, value)) {
13
+ ref.current = value;
14
+ }
15
+ return ref.current;
16
+ }
17
+ function shallowEqual(a, b) {
18
+ if (a === b) {
19
+ return true;
20
+ }
21
+ if (typeof a !== 'object' || typeof b !== 'object' || a === null || b === null) {
22
+ return false;
23
+ }
24
+ const keysA = Object.keys(a);
25
+ const keysB = Object.keys(b);
26
+ if (keysA.length !== keysB.length) {
27
+ return false;
28
+ }
29
+ for (const key of keysA) {
30
+ if (a[key] !== b[key]) {
31
+ return false;
32
+ }
33
+ }
34
+ return true;
35
+ }
36
+ //# sourceMappingURL=usePreservedReference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useRef","usePreservedReference","value","ref","shallowEqual","current","a","b","keysA","Object","keys","keysB","length","key"],"sourceRoot":"../../../src","sources":["internals/usePreservedReference.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,OAAO;;AAE9B;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAAIC,KAAQ,EAAK;EACpD,MAAMC,GAAG,GAAGH,MAAM,CAAIE,KAAK,CAAC;EAE5B,IAAI,CAACE,YAAY,CAACD,GAAG,CAACE,OAAO,EAAEH,KAAK,CAAC,EAAE;IACrCC,GAAG,CAACE,OAAO,GAAGH,KAAK;EACrB;EAEA,OAAOC,GAAG,CAACE,OAAO;AACpB;AAEA,SAASD,YAAYA,CAAIE,CAAI,EAAEC,CAAI,EAAW;EAC5C,IAAID,CAAC,KAAKC,CAAC,EAAE;IACX,OAAO,IAAI;EACb;EAEA,IAAI,OAAOD,CAAC,KAAK,QAAQ,IAAI,OAAOC,CAAC,KAAK,QAAQ,IAAID,CAAC,KAAK,IAAI,IAAIC,CAAC,KAAK,IAAI,EAAE;IAC9E,OAAO,KAAK;EACd;EAEA,MAAMC,KAAK,GAAGC,MAAM,CAACC,IAAI,CAACJ,CAAC,CAAgB;EAC3C,MAAMK,KAAK,GAAGF,MAAM,CAACC,IAAI,CAACH,CAAC,CAAgB;EAE3C,IAAIC,KAAK,CAACI,MAAM,KAAKD,KAAK,CAACC,MAAM,EAAE;IACjC,OAAO,KAAK;EACd;EAEA,KAAK,MAAMC,GAAG,IAAIL,KAAK,EAAE;IACvB,IAAIF,CAAC,CAACO,GAAG,CAAC,KAAKN,CAAC,CAACM,GAAG,CAAC,EAAE;MACrB,OAAO,KAAK;IACd;EACF;EAEA,OAAO,IAAI;AACb","ignoreList":[]}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ import { processColorInput } from "../internals/colorUtils.js";
4
+ import { useMapOverlay } from "../internals/useMapOverlay.js";
5
+ import { usePreservedReference } from "../internals/usePreservedReference.js";
6
+ import { Commands } from '../specs/GraniteNaverMapViewNativeComponent';
7
+ const add = (v, id, args) => {
8
+ const color = processColorInput(args.color, 0xff000000);
9
+ const outlineColor = processColorInput(args.outlineColor, 0xffffffff);
10
+ const coordsJson = JSON.stringify(args.coordinates);
11
+ Commands.addArrowheadPath(v, id, coordsJson, args.width ?? 5, args.outlineWidth ?? 1, color, outlineColor, args.headSizeRatio ?? 3, args.zIndex ?? 0);
12
+ };
13
+ const update = (v, id, args) => {
14
+ const color = processColorInput(args.color, 0xff000000);
15
+ const outlineColor = processColorInput(args.outlineColor, 0xffffffff);
16
+ const coordsJson = JSON.stringify(args.coordinates);
17
+ Commands.updateArrowheadPath(v, id, coordsJson, args.width ?? 5, args.outlineWidth ?? 1, color, outlineColor, args.headSizeRatio ?? 3, args.zIndex ?? 0);
18
+ };
19
+ const remove = (v, id) => {
20
+ Commands.removeArrowheadPath(v, id);
21
+ };
22
+ const methods = {
23
+ add,
24
+ update,
25
+ remove
26
+ };
27
+ export function ArrowheadPath(props) {
28
+ const preserved = usePreservedReference(props);
29
+ useMapOverlay({
30
+ registrySelector: c => c.markers,
31
+ methods,
32
+ props: preserved,
33
+ eventListeners: {}
34
+ });
35
+ return null;
36
+ }
37
+ //# sourceMappingURL=ArrowheadPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["processColorInput","useMapOverlay","usePreservedReference","Commands","add","v","id","args","color","outlineColor","coordsJson","JSON","stringify","coordinates","addArrowheadPath","width","outlineWidth","headSizeRatio","zIndex","update","updateArrowheadPath","remove","removeArrowheadPath","methods","ArrowheadPath","props","preserved","registrySelector","c","markers","eventListeners"],"sourceRoot":"../../../src","sources":["overlays/ArrowheadPath.ts"],"mappings":";;AACA,SAASA,iBAAiB,QAAQ,4BAAyB;AAC3D,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,qBAAqB,QAAQ,uCAAoC;AAC1E,SAASC,QAAQ,QAAQ,6CAA6C;AAatE,MAAMC,GAAG,GAAGA,CAACC,CAAO,EAAEC,EAAU,EAAEC,IAAwB,KAAK;EAC7D,MAAMC,KAAK,GAAGR,iBAAiB,CAACO,IAAI,CAACC,KAAK,EAAE,UAAU,CAAC;EACvD,MAAMC,YAAY,GAAGT,iBAAiB,CAACO,IAAI,CAACE,YAAY,EAAE,UAAU,CAAC;EACrE,MAAMC,UAAU,GAAGC,IAAI,CAACC,SAAS,CAACL,IAAI,CAACM,WAAW,CAAC;EAEnDV,QAAQ,CAACW,gBAAgB,CACvBT,CAAC,EACDC,EAAE,EACFI,UAAU,EACVH,IAAI,CAACQ,KAAK,IAAI,CAAC,EACfR,IAAI,CAACS,YAAY,IAAI,CAAC,EACtBR,KAAK,EACLC,YAAY,EACZF,IAAI,CAACU,aAAa,IAAI,CAAC,EACvBV,IAAI,CAACW,MAAM,IAAI,CACjB,CAAC;AACH,CAAC;AAED,MAAMC,MAAM,GAAGA,CAACd,CAAO,EAAEC,EAAU,EAAEC,IAAwB,KAAK;EAChE,MAAMC,KAAK,GAAGR,iBAAiB,CAACO,IAAI,CAACC,KAAK,EAAE,UAAU,CAAC;EACvD,MAAMC,YAAY,GAAGT,iBAAiB,CAACO,IAAI,CAACE,YAAY,EAAE,UAAU,CAAC;EACrE,MAAMC,UAAU,GAAGC,IAAI,CAACC,SAAS,CAACL,IAAI,CAACM,WAAW,CAAC;EAEnDV,QAAQ,CAACiB,mBAAmB,CAC1Bf,CAAC,EACDC,EAAE,EACFI,UAAU,EACVH,IAAI,CAACQ,KAAK,IAAI,CAAC,EACfR,IAAI,CAACS,YAAY,IAAI,CAAC,EACtBR,KAAK,EACLC,YAAY,EACZF,IAAI,CAACU,aAAa,IAAI,CAAC,EACvBV,IAAI,CAACW,MAAM,IAAI,CACjB,CAAC;AACH,CAAC;AAED,MAAMG,MAAM,GAAGA,CAAChB,CAAO,EAAEC,EAAU,KAAK;EACtCH,QAAQ,CAACmB,mBAAmB,CAACjB,CAAC,EAASC,EAAE,CAAC;AAC5C,CAAC;AAED,MAAMiB,OAAO,GAAG;EAAEnB,GAAG;EAAEe,MAAM;EAAEE;AAAO,CAAC;AAEvC,OAAO,SAASG,aAAaA,CAACC,KAAyB,EAAE;EACvD,MAAMC,SAAS,GAAGxB,qBAAqB,CAACuB,KAAK,CAAC;EAE9CxB,aAAa,CAA6B;IACxC0B,gBAAgB,EAAGC,CAAC,IAAKA,CAAC,CAACC,OAAO;IAClCN,OAAO;IACPE,KAAK,EAAEC,SAAS;IAChBI,cAAc,EAAE,CAAC;EACnB,CAAC,CAAC;EAEF,OAAO,IAAI;AACb","ignoreList":[]}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ import { processColorInput } from "../internals/colorUtils.js";
4
+ import { useMapOverlay } from "../internals/useMapOverlay.js";
5
+ import { usePreservedReference } from "../internals/usePreservedReference.js";
6
+ import { Commands } from '../specs/GraniteNaverMapViewNativeComponent';
7
+ const add = (v, id, args) => {
8
+ const fillColor = processColorInput(args.fillColor, 0x80000000);
9
+ const strokeColor = processColorInput(args.strokeColor, 0xff000000);
10
+ Commands.addCircle(v, id, args.center.latitude, args.center.longitude, args.radius, fillColor, strokeColor, args.strokeWidth ?? 0, args.zIndex ?? 0);
11
+ };
12
+ const update = (v, id, args) => {
13
+ const fillColor = processColorInput(args.fillColor, 0x80000000);
14
+ const strokeColor = processColorInput(args.strokeColor, 0xff000000);
15
+ Commands.updateCircle(v, id, args.center.latitude, args.center.longitude, args.radius, fillColor, strokeColor, args.strokeWidth ?? 0, args.zIndex ?? 0);
16
+ };
17
+ const remove = (v, id) => {
18
+ Commands.removeCircle(v, id);
19
+ };
20
+ const methods = {
21
+ add,
22
+ update,
23
+ remove
24
+ };
25
+ export function Circle(props) {
26
+ const preserved = usePreservedReference(props);
27
+ useMapOverlay({
28
+ registrySelector: c => c.markers,
29
+ methods,
30
+ props: preserved,
31
+ eventListeners: {}
32
+ });
33
+ return null;
34
+ }
35
+ //# sourceMappingURL=Circle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["processColorInput","useMapOverlay","usePreservedReference","Commands","add","v","id","args","fillColor","strokeColor","addCircle","center","latitude","longitude","radius","strokeWidth","zIndex","update","updateCircle","remove","removeCircle","methods","Circle","props","preserved","registrySelector","c","markers","eventListeners"],"sourceRoot":"../../../src","sources":["overlays/Circle.ts"],"mappings":";;AACA,SAASA,iBAAiB,QAAQ,4BAAyB;AAC3D,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,qBAAqB,QAAQ,uCAAoC;AAC1E,SAASC,QAAQ,QAAQ,6CAA6C;AAYtE,MAAMC,GAAG,GAAGA,CAACC,CAAO,EAAEC,EAAU,EAAEC,IAAiB,KAAK;EACtD,MAAMC,SAAS,GAAGR,iBAAiB,CAACO,IAAI,CAACC,SAAS,EAAE,UAAU,CAAC;EAC/D,MAAMC,WAAW,GAAGT,iBAAiB,CAACO,IAAI,CAACE,WAAW,EAAE,UAAU,CAAC;EAEnEN,QAAQ,CAACO,SAAS,CAChBL,CAAC,EACDC,EAAE,EACFC,IAAI,CAACI,MAAM,CAACC,QAAQ,EACpBL,IAAI,CAACI,MAAM,CAACE,SAAS,EACrBN,IAAI,CAACO,MAAM,EACXN,SAAS,EACTC,WAAW,EACXF,IAAI,CAACQ,WAAW,IAAI,CAAC,EACrBR,IAAI,CAACS,MAAM,IAAI,CACjB,CAAC;AACH,CAAC;AAED,MAAMC,MAAM,GAAGA,CAACZ,CAAO,EAAEC,EAAU,EAAEC,IAAiB,KAAK;EACzD,MAAMC,SAAS,GAAGR,iBAAiB,CAACO,IAAI,CAACC,SAAS,EAAE,UAAU,CAAC;EAC/D,MAAMC,WAAW,GAAGT,iBAAiB,CAACO,IAAI,CAACE,WAAW,EAAE,UAAU,CAAC;EAEnEN,QAAQ,CAACe,YAAY,CACnBb,CAAC,EACDC,EAAE,EACFC,IAAI,CAACI,MAAM,CAACC,QAAQ,EACpBL,IAAI,CAACI,MAAM,CAACE,SAAS,EACrBN,IAAI,CAACO,MAAM,EACXN,SAAS,EACTC,WAAW,EACXF,IAAI,CAACQ,WAAW,IAAI,CAAC,EACrBR,IAAI,CAACS,MAAM,IAAI,CACjB,CAAC;AACH,CAAC;AAED,MAAMG,MAAM,GAAGA,CAACd,CAAO,EAAEC,EAAU,KAAK;EACtCH,QAAQ,CAACiB,YAAY,CAACf,CAAC,EAASC,EAAE,CAAC;AACrC,CAAC;AAED,MAAMe,OAAO,GAAG;EAAEjB,GAAG;EAAEa,MAAM;EAAEE;AAAO,CAAC;AAEvC,OAAO,SAASG,MAAMA,CAACC,KAAkB,EAAE;EACzC,MAAMC,SAAS,GAAGtB,qBAAqB,CAACqB,KAAK,CAAC;EAE9CtB,aAAa,CAAsB;IACjCwB,gBAAgB,EAAGC,CAAC,IAAKA,CAAC,CAACC,OAAO;IAClCN,OAAO;IACPE,KAAK,EAAEC,SAAS;IAChBI,cAAc,EAAE,CAAC;EACnB,CAAC,CAAC;EAEF,OAAO,IAAI;AACb","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ import { useMapOverlay } from "../internals/useMapOverlay.js";
4
+ import { usePreservedReference } from "../internals/usePreservedReference.js";
5
+ import { Commands } from '../specs/GraniteNaverMapViewNativeComponent';
6
+ const add = (v, id, args) => {
7
+ Commands.addGroundOverlay(v, id, args.bounds.southWest.latitude, args.bounds.southWest.longitude, args.bounds.northEast.latitude, args.bounds.northEast.longitude, args.image, args.alpha ?? 1, args.zIndex ?? 0);
8
+ };
9
+ const update = (v, id, args) => {
10
+ Commands.updateGroundOverlay(v, id, args.bounds.southWest.latitude, args.bounds.southWest.longitude, args.bounds.northEast.latitude, args.bounds.northEast.longitude, args.image, args.alpha ?? 1, args.zIndex ?? 0);
11
+ };
12
+ const remove = (v, id) => {
13
+ Commands.removeGroundOverlay(v, id);
14
+ };
15
+ const methods = {
16
+ add,
17
+ update,
18
+ remove
19
+ };
20
+ export function GroundOverlay(props) {
21
+ const preserved = usePreservedReference(props);
22
+ useMapOverlay({
23
+ registrySelector: c => c.markers,
24
+ methods,
25
+ props: preserved,
26
+ eventListeners: {}
27
+ });
28
+ return null;
29
+ }
30
+ //# sourceMappingURL=GroundOverlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMapOverlay","usePreservedReference","Commands","add","v","id","args","addGroundOverlay","bounds","southWest","latitude","longitude","northEast","image","alpha","zIndex","update","updateGroundOverlay","remove","removeGroundOverlay","methods","GroundOverlay","props","preserved","registrySelector","c","markers","eventListeners"],"sourceRoot":"../../../src","sources":["overlays/GroundOverlay.ts"],"mappings":";;AACA,SAASA,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,qBAAqB,QAAQ,uCAAoC;AAC1E,SAASC,QAAQ,QAAQ,6CAA6C;AAatE,MAAMC,GAAG,GAAGA,CAACC,CAAO,EAAEC,EAAU,EAAEC,IAAwB,KAAK;EAC7DJ,QAAQ,CAACK,gBAAgB,CACvBH,CAAC,EACDC,EAAE,EACFC,IAAI,CAACE,MAAM,CAACC,SAAS,CAACC,QAAQ,EAC9BJ,IAAI,CAACE,MAAM,CAACC,SAAS,CAACE,SAAS,EAC/BL,IAAI,CAACE,MAAM,CAACI,SAAS,CAACF,QAAQ,EAC9BJ,IAAI,CAACE,MAAM,CAACI,SAAS,CAACD,SAAS,EAC/BL,IAAI,CAACO,KAAK,EACVP,IAAI,CAACQ,KAAK,IAAI,CAAC,EACfR,IAAI,CAACS,MAAM,IAAI,CACjB,CAAC;AACH,CAAC;AAED,MAAMC,MAAM,GAAGA,CAACZ,CAAO,EAAEC,EAAU,EAAEC,IAAwB,KAAK;EAChEJ,QAAQ,CAACe,mBAAmB,CAC1Bb,CAAC,EACDC,EAAE,EACFC,IAAI,CAACE,MAAM,CAACC,SAAS,CAACC,QAAQ,EAC9BJ,IAAI,CAACE,MAAM,CAACC,SAAS,CAACE,SAAS,EAC/BL,IAAI,CAACE,MAAM,CAACI,SAAS,CAACF,QAAQ,EAC9BJ,IAAI,CAACE,MAAM,CAACI,SAAS,CAACD,SAAS,EAC/BL,IAAI,CAACO,KAAK,EACVP,IAAI,CAACQ,KAAK,IAAI,CAAC,EACfR,IAAI,CAACS,MAAM,IAAI,CACjB,CAAC;AACH,CAAC;AAED,MAAMG,MAAM,GAAGA,CAACd,CAAO,EAAEC,EAAU,KAAK;EACtCH,QAAQ,CAACiB,mBAAmB,CAACf,CAAC,EAASC,EAAE,CAAC;AAC5C,CAAC;AAED,MAAMe,OAAO,GAAG;EAAEjB,GAAG;EAAEa,MAAM;EAAEE;AAAO,CAAC;AAEvC,OAAO,SAASG,aAAaA,CAACC,KAAyB,EAAE;EACvD,MAAMC,SAAS,GAAGtB,qBAAqB,CAACqB,KAAK,CAAC;EAE9CtB,aAAa,CAA6B;IACxCwB,gBAAgB,EAAGC,CAAC,IAAKA,CAAC,CAACC,OAAO;IAClCN,OAAO;IACPE,KAAK,EAAEC,SAAS;IAChBI,cAAc,EAAE,CAAC;EACnB,CAAC,CAAC;EAEF,OAAO,IAAI;AACb","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ import { useMapOverlay } from "../internals/useMapOverlay.js";
4
+ import { usePreservedReference } from "../internals/usePreservedReference.js";
5
+ import { Commands } from '../specs/GraniteNaverMapViewNativeComponent';
6
+ const add = (v, id, args) => {
7
+ Commands.addInfoWindow(v, id, args.coordinate.latitude, args.coordinate.longitude, args.text, args.alpha ?? 1, args.zIndex ?? 0, args.offsetX ?? 0, args.offsetY ?? 0);
8
+ };
9
+ const update = (v, id, args) => {
10
+ Commands.updateInfoWindow(v, id, args.coordinate.latitude, args.coordinate.longitude, args.text, args.alpha ?? 1, args.zIndex ?? 0, args.offsetX ?? 0, args.offsetY ?? 0);
11
+ };
12
+ const remove = (v, id) => {
13
+ Commands.removeInfoWindow(v, id);
14
+ };
15
+ const methods = {
16
+ add,
17
+ update,
18
+ remove
19
+ };
20
+ export function InfoWindow(props) {
21
+ const preserved = usePreservedReference(props);
22
+ useMapOverlay({
23
+ registrySelector: c => c.markers,
24
+ methods,
25
+ props: preserved,
26
+ eventListeners: {
27
+ onPress: props.onPress
28
+ }
29
+ });
30
+ return null;
31
+ }
32
+ //# sourceMappingURL=InfoWindow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMapOverlay","usePreservedReference","Commands","add","v","id","args","addInfoWindow","coordinate","latitude","longitude","text","alpha","zIndex","offsetX","offsetY","update","updateInfoWindow","remove","removeInfoWindow","methods","InfoWindow","props","preserved","registrySelector","c","markers","eventListeners","onPress"],"sourceRoot":"../../../src","sources":["overlays/InfoWindow.ts"],"mappings":";;AACA,SAASA,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,qBAAqB,QAAQ,uCAAoC;AAC1E,SAASC,QAAQ,QAAQ,6CAA6C;AAiBtE,MAAMC,GAAG,GAAGA,CAACC,CAAO,EAAEC,EAAU,EAAEC,IAAqB,KAAK;EAC1DJ,QAAQ,CAACK,aAAa,CACpBH,CAAC,EACDC,EAAE,EACFC,IAAI,CAACE,UAAU,CAACC,QAAQ,EACxBH,IAAI,CAACE,UAAU,CAACE,SAAS,EACzBJ,IAAI,CAACK,IAAI,EACTL,IAAI,CAACM,KAAK,IAAI,CAAC,EACfN,IAAI,CAACO,MAAM,IAAI,CAAC,EAChBP,IAAI,CAACQ,OAAO,IAAI,CAAC,EACjBR,IAAI,CAACS,OAAO,IAAI,CAClB,CAAC;AACH,CAAC;AAED,MAAMC,MAAM,GAAGA,CAACZ,CAAO,EAAEC,EAAU,EAAEC,IAAqB,KAAK;EAC7DJ,QAAQ,CAACe,gBAAgB,CACvBb,CAAC,EACDC,EAAE,EACFC,IAAI,CAACE,UAAU,CAACC,QAAQ,EACxBH,IAAI,CAACE,UAAU,CAACE,SAAS,EACzBJ,IAAI,CAACK,IAAI,EACTL,IAAI,CAACM,KAAK,IAAI,CAAC,EACfN,IAAI,CAACO,MAAM,IAAI,CAAC,EAChBP,IAAI,CAACQ,OAAO,IAAI,CAAC,EACjBR,IAAI,CAACS,OAAO,IAAI,CAClB,CAAC;AACH,CAAC;AAED,MAAMG,MAAM,GAAGA,CAACd,CAAO,EAAEC,EAAU,KAAK;EACtCH,QAAQ,CAACiB,gBAAgB,CAACf,CAAC,EAASC,EAAE,CAAC;AACzC,CAAC;AAED,MAAMe,OAAO,GAAG;EAAEjB,GAAG;EAAEa,MAAM;EAAEE;AAAO,CAAC;AAEvC,OAAO,SAASG,UAAUA,CAACC,KAAsB,EAAE;EACjD,MAAMC,SAAS,GAAGtB,qBAAqB,CAACqB,KAAK,CAAC;EAE9CtB,aAAa,CAA4C;IACvDwB,gBAAgB,EAAGC,CAAC,IAAKA,CAAC,CAACC,OAAO;IAClCN,OAAO;IACPE,KAAK,EAAEC,SAAS;IAChBI,cAAc,EAAE;MACdC,OAAO,EAAEN,KAAK,CAACM;IACjB;EACF,CAAC,CAAC;EAEF,OAAO,IAAI;AACb","ignoreList":[]}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ import { processColorInput } from "../internals/colorUtils.js";
4
+ import { useMapOverlay } from "../internals/useMapOverlay.js";
5
+ import { usePreservedReference } from "../internals/usePreservedReference.js";
6
+ import { Commands } from '../specs/GraniteNaverMapViewNativeComponent';
7
+ const add = (v, id, args) => {
8
+ // pinColor: 0 means use default icon, otherwise process the color
9
+ const pinColor = args.pinColor != null ? processColorInput(args.pinColor, 0) : 0;
10
+ Commands.addMarker(v, id, args.coordinate.latitude, args.coordinate.longitude, args.width ?? 0, args.height ?? 0, args.zIndex ?? 0, args.rotation ?? 0, args.flat ?? false, args.alpha ?? 1, pinColor, args.image ?? '');
11
+ };
12
+ const update = (v, id, args) => {
13
+ // pinColor: 0 means use default icon, otherwise process the color
14
+ const pinColor = args.pinColor != null ? processColorInput(args.pinColor, 0) : 0;
15
+ Commands.updateMarker(v, id, args.coordinate.latitude, args.coordinate.longitude, args.width ?? 0, args.height ?? 0, args.zIndex ?? 0, args.rotation ?? 0, args.flat ?? false, args.alpha ?? 1, pinColor, args.image ?? '');
16
+ };
17
+ const remove = (v, id) => {
18
+ Commands.removeMarker(v, id);
19
+ };
20
+ const methods = {
21
+ add,
22
+ update,
23
+ remove
24
+ };
25
+ export function Marker(props) {
26
+ const preserved = usePreservedReference(props);
27
+ useMapOverlay({
28
+ registrySelector: c => c.markers,
29
+ methods,
30
+ props: preserved,
31
+ eventListeners: {
32
+ onPress: props.onPress
33
+ }
34
+ });
35
+ return null;
36
+ }
37
+ //# sourceMappingURL=Marker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["processColorInput","useMapOverlay","usePreservedReference","Commands","add","v","id","args","pinColor","addMarker","coordinate","latitude","longitude","width","height","zIndex","rotation","flat","alpha","image","update","updateMarker","remove","removeMarker","methods","Marker","props","preserved","registrySelector","c","markers","eventListeners","onPress"],"sourceRoot":"../../../src","sources":["overlays/Marker.ts"],"mappings":";;AACA,SAASA,iBAAiB,QAAQ,4BAAyB;AAC3D,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,qBAAqB,QAAQ,uCAAoC;AAC1E,SAASC,QAAQ,QAAQ,6CAA6C;AAmBtE,MAAMC,GAAG,GAAGA,CAACC,CAAO,EAAEC,EAAU,EAAEC,IAAiB,KAAK;EACtD;EACA,MAAMC,QAAQ,GAAGD,IAAI,CAACC,QAAQ,IAAI,IAAI,GAAGR,iBAAiB,CAACO,IAAI,CAACC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC;EAEhFL,QAAQ,CAACM,SAAS,CAChBJ,CAAC,EACDC,EAAE,EACFC,IAAI,CAACG,UAAU,CAACC,QAAQ,EACxBJ,IAAI,CAACG,UAAU,CAACE,SAAS,EACzBL,IAAI,CAACM,KAAK,IAAI,CAAC,EACfN,IAAI,CAACO,MAAM,IAAI,CAAC,EAChBP,IAAI,CAACQ,MAAM,IAAI,CAAC,EAChBR,IAAI,CAACS,QAAQ,IAAI,CAAC,EAClBT,IAAI,CAACU,IAAI,IAAI,KAAK,EAClBV,IAAI,CAACW,KAAK,IAAI,CAAC,EACfV,QAAQ,EACRD,IAAI,CAACY,KAAK,IAAI,EAChB,CAAC;AACH,CAAC;AAED,MAAMC,MAAM,GAAGA,CAACf,CAAO,EAAEC,EAAU,EAAEC,IAAiB,KAAK;EACzD;EACA,MAAMC,QAAQ,GAAGD,IAAI,CAACC,QAAQ,IAAI,IAAI,GAAGR,iBAAiB,CAACO,IAAI,CAACC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC;EAEhFL,QAAQ,CAACkB,YAAY,CACnBhB,CAAC,EACDC,EAAE,EACFC,IAAI,CAACG,UAAU,CAACC,QAAQ,EACxBJ,IAAI,CAACG,UAAU,CAACE,SAAS,EACzBL,IAAI,CAACM,KAAK,IAAI,CAAC,EACfN,IAAI,CAACO,MAAM,IAAI,CAAC,EAChBP,IAAI,CAACQ,MAAM,IAAI,CAAC,EAChBR,IAAI,CAACS,QAAQ,IAAI,CAAC,EAClBT,IAAI,CAACU,IAAI,IAAI,KAAK,EAClBV,IAAI,CAACW,KAAK,IAAI,CAAC,EACfV,QAAQ,EACRD,IAAI,CAACY,KAAK,IAAI,EAChB,CAAC;AACH,CAAC;AAED,MAAMG,MAAM,GAAGA,CAACjB,CAAO,EAAEC,EAAU,KAAK;EACtCH,QAAQ,CAACoB,YAAY,CAAClB,CAAC,EAASC,EAAE,CAAC;AACrC,CAAC;AAED,MAAMkB,OAAO,GAAG;EAAEpB,GAAG;EAAEgB,MAAM;EAAEE;AAAO,CAAC;AAEvC,OAAO,SAASG,MAAMA,CAACC,KAAkB,EAAE;EACzC,MAAMC,SAAS,GAAGzB,qBAAqB,CAACwB,KAAK,CAAC;EAE9CzB,aAAa,CAAoC;IAC/C2B,gBAAgB,EAAGC,CAAC,IAAKA,CAAC,CAACC,OAAO;IAClCN,OAAO;IACPE,KAAK,EAAEC,SAAS;IAChBI,cAAc,EAAE;MACdC,OAAO,EAAEN,KAAK,CAACM;IACjB;EACF,CAAC,CAAC;EAEF,OAAO,IAAI;AACb","ignoreList":[]}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ import { processColorInput } from "../internals/colorUtils.js";
4
+ import { useMapOverlay } from "../internals/useMapOverlay.js";
5
+ import { usePreservedReference } from "../internals/usePreservedReference.js";
6
+ import { Commands } from '../specs/GraniteNaverMapViewNativeComponent';
7
+ const add = (v, id, args) => {
8
+ const color = processColorInput(args.color, 0xff000000);
9
+ const outlineColor = processColorInput(args.outlineColor, 0xffffffff);
10
+ const passedColor = processColorInput(args.passedColor, 0xff808080);
11
+ const passedOutlineColor = processColorInput(args.passedOutlineColor, 0xffffffff);
12
+ const coordsJson = JSON.stringify(args.coordinates);
13
+ Commands.addPath(v, id, coordsJson, args.width ?? 5, args.outlineWidth ?? 1, color, outlineColor, passedColor, passedOutlineColor, args.patternImage ?? '', args.patternInterval ?? 0, args.progress ?? 0, args.zIndex ?? 0);
14
+ };
15
+ const update = (v, id, args) => {
16
+ const color = processColorInput(args.color, 0xff000000);
17
+ const outlineColor = processColorInput(args.outlineColor, 0xffffffff);
18
+ const passedColor = processColorInput(args.passedColor, 0xff808080);
19
+ const passedOutlineColor = processColorInput(args.passedOutlineColor, 0xffffffff);
20
+ const coordsJson = JSON.stringify(args.coordinates);
21
+ Commands.updatePath(v, id, coordsJson, args.width ?? 5, args.outlineWidth ?? 1, color, outlineColor, passedColor, passedOutlineColor, args.patternImage ?? '', args.patternInterval ?? 0, args.progress ?? 0, args.zIndex ?? 0);
22
+ };
23
+ const remove = (v, id) => {
24
+ Commands.removePath(v, id);
25
+ };
26
+ const methods = {
27
+ add,
28
+ update,
29
+ remove
30
+ };
31
+ export function Path(props) {
32
+ const preserved = usePreservedReference(props);
33
+ useMapOverlay({
34
+ registrySelector: c => c.markers,
35
+ methods,
36
+ props: preserved,
37
+ eventListeners: {}
38
+ });
39
+ return null;
40
+ }
41
+ //# sourceMappingURL=Path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["processColorInput","useMapOverlay","usePreservedReference","Commands","add","v","id","args","color","outlineColor","passedColor","passedOutlineColor","coordsJson","JSON","stringify","coordinates","addPath","width","outlineWidth","patternImage","patternInterval","progress","zIndex","update","updatePath","remove","removePath","methods","Path","props","preserved","registrySelector","c","markers","eventListeners"],"sourceRoot":"../../../src","sources":["overlays/Path.ts"],"mappings":";;AACA,SAASA,iBAAiB,QAAQ,4BAAyB;AAC3D,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,qBAAqB,QAAQ,uCAAoC;AAC1E,SAASC,QAAQ,QAAQ,6CAA6C;AAiBtE,MAAMC,GAAG,GAAGA,CAACC,CAAO,EAAEC,EAAU,EAAEC,IAAe,KAAK;EACpD,MAAMC,KAAK,GAAGR,iBAAiB,CAACO,IAAI,CAACC,KAAK,EAAE,UAAU,CAAC;EACvD,MAAMC,YAAY,GAAGT,iBAAiB,CAACO,IAAI,CAACE,YAAY,EAAE,UAAU,CAAC;EACrE,MAAMC,WAAW,GAAGV,iBAAiB,CAACO,IAAI,CAACG,WAAW,EAAE,UAAU,CAAC;EACnE,MAAMC,kBAAkB,GAAGX,iBAAiB,CAACO,IAAI,CAACI,kBAAkB,EAAE,UAAU,CAAC;EACjF,MAAMC,UAAU,GAAGC,IAAI,CAACC,SAAS,CAACP,IAAI,CAACQ,WAAW,CAAC;EAEnDZ,QAAQ,CAACa,OAAO,CACdX,CAAC,EACDC,EAAE,EACFM,UAAU,EACVL,IAAI,CAACU,KAAK,IAAI,CAAC,EACfV,IAAI,CAACW,YAAY,IAAI,CAAC,EACtBV,KAAK,EACLC,YAAY,EACZC,WAAW,EACXC,kBAAkB,EAClBJ,IAAI,CAACY,YAAY,IAAI,EAAE,EACvBZ,IAAI,CAACa,eAAe,IAAI,CAAC,EACzBb,IAAI,CAACc,QAAQ,IAAI,CAAC,EAClBd,IAAI,CAACe,MAAM,IAAI,CACjB,CAAC;AACH,CAAC;AAED,MAAMC,MAAM,GAAGA,CAAClB,CAAO,EAAEC,EAAU,EAAEC,IAAe,KAAK;EACvD,MAAMC,KAAK,GAAGR,iBAAiB,CAACO,IAAI,CAACC,KAAK,EAAE,UAAU,CAAC;EACvD,MAAMC,YAAY,GAAGT,iBAAiB,CAACO,IAAI,CAACE,YAAY,EAAE,UAAU,CAAC;EACrE,MAAMC,WAAW,GAAGV,iBAAiB,CAACO,IAAI,CAACG,WAAW,EAAE,UAAU,CAAC;EACnE,MAAMC,kBAAkB,GAAGX,iBAAiB,CAACO,IAAI,CAACI,kBAAkB,EAAE,UAAU,CAAC;EACjF,MAAMC,UAAU,GAAGC,IAAI,CAACC,SAAS,CAACP,IAAI,CAACQ,WAAW,CAAC;EAEnDZ,QAAQ,CAACqB,UAAU,CACjBnB,CAAC,EACDC,EAAE,EACFM,UAAU,EACVL,IAAI,CAACU,KAAK,IAAI,CAAC,EACfV,IAAI,CAACW,YAAY,IAAI,CAAC,EACtBV,KAAK,EACLC,YAAY,EACZC,WAAW,EACXC,kBAAkB,EAClBJ,IAAI,CAACY,YAAY,IAAI,EAAE,EACvBZ,IAAI,CAACa,eAAe,IAAI,CAAC,EACzBb,IAAI,CAACc,QAAQ,IAAI,CAAC,EAClBd,IAAI,CAACe,MAAM,IAAI,CACjB,CAAC;AACH,CAAC;AAED,MAAMG,MAAM,GAAGA,CAACpB,CAAO,EAAEC,EAAU,KAAK;EACtCH,QAAQ,CAACuB,UAAU,CAACrB,CAAC,EAASC,EAAE,CAAC;AACnC,CAAC;AAED,MAAMqB,OAAO,GAAG;EAAEvB,GAAG;EAAEmB,MAAM;EAAEE;AAAO,CAAC;AAEvC,OAAO,SAASG,IAAIA,CAACC,KAAgB,EAAE;EACrC,MAAMC,SAAS,GAAG5B,qBAAqB,CAAC2B,KAAK,CAAC;EAE9C5B,aAAa,CAAoB;IAC/B8B,gBAAgB,EAAGC,CAAC,IAAKA,CAAC,CAACC,OAAO;IAClCN,OAAO;IACPE,KAAK,EAAEC,SAAS;IAChBI,cAAc,EAAE,CAAC;EACnB,CAAC,CAAC;EAEF,OAAO,IAAI;AACb","ignoreList":[]}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ import { processColorInput } from "../internals/colorUtils.js";
4
+ import { useMapOverlay } from "../internals/useMapOverlay.js";
5
+ import { usePreservedReference } from "../internals/usePreservedReference.js";
6
+ import { Commands } from '../specs/GraniteNaverMapViewNativeComponent';
7
+ // Close the ring by adding the first coordinate at the end if not already closed
8
+ const closeRing = coords => {
9
+ if (coords.length < 3) {
10
+ return coords;
11
+ }
12
+ const first = coords[0];
13
+ const last = coords[coords.length - 1];
14
+ if (first.latitude === last.latitude && first.longitude === last.longitude) {
15
+ return coords; // Already closed
16
+ }
17
+ return [...coords, first];
18
+ };
19
+ const add = (v, id, args) => {
20
+ const fillColor = processColorInput(args.fillColor, 0x80000000);
21
+ const strokeColor = processColorInput(args.strokeColor, 0xff000000);
22
+ const coordsJson = JSON.stringify(closeRing(args.coordinates));
23
+ const holesJson = JSON.stringify((args.holes ?? []).map(closeRing));
24
+ Commands.addPolygon(v, id, coordsJson, holesJson, fillColor, strokeColor, args.strokeWidth ?? 0, args.zIndex ?? 0);
25
+ };
26
+ const update = (v, id, args) => {
27
+ const fillColor = processColorInput(args.fillColor, 0x80000000);
28
+ const strokeColor = processColorInput(args.strokeColor, 0xff000000);
29
+ const coordsJson = JSON.stringify(closeRing(args.coordinates));
30
+ const holesJson = JSON.stringify((args.holes ?? []).map(closeRing));
31
+ Commands.updatePolygon(v, id, coordsJson, holesJson, fillColor, strokeColor, args.strokeWidth ?? 0, args.zIndex ?? 0);
32
+ };
33
+ const remove = (v, id) => {
34
+ Commands.removePolygon(v, id);
35
+ };
36
+ const methods = {
37
+ add,
38
+ update,
39
+ remove
40
+ };
41
+ export function Polygon(props) {
42
+ const preserved = usePreservedReference(props);
43
+ useMapOverlay({
44
+ registrySelector: c => c.markers,
45
+ methods,
46
+ props: preserved,
47
+ eventListeners: {}
48
+ });
49
+ return null;
50
+ }
51
+ //# sourceMappingURL=Polygon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["processColorInput","useMapOverlay","usePreservedReference","Commands","closeRing","coords","length","first","last","latitude","longitude","add","v","id","args","fillColor","strokeColor","coordsJson","JSON","stringify","coordinates","holesJson","holes","map","addPolygon","strokeWidth","zIndex","update","updatePolygon","remove","removePolygon","methods","Polygon","props","preserved","registrySelector","c","markers","eventListeners"],"sourceRoot":"../../../src","sources":["overlays/Polygon.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ import { processColorInput } from "../internals/colorUtils.js";
4
+ import { useMapOverlay } from "../internals/useMapOverlay.js";
5
+ import { usePreservedReference } from "../internals/usePreservedReference.js";
6
+ import { Commands } from '../specs/GraniteNaverMapViewNativeComponent';
7
+ const lineCapToInt = cap => {
8
+ switch (cap) {
9
+ case 'round':
10
+ return 1;
11
+ case 'square':
12
+ return 2;
13
+ default:
14
+ return 0;
15
+ // butt
16
+ }
17
+ };
18
+ const lineJoinToInt = join => {
19
+ switch (join) {
20
+ case 'miter':
21
+ return 1;
22
+ case 'round':
23
+ return 2;
24
+ default:
25
+ return 0;
26
+ // bevel
27
+ }
28
+ };
29
+ const add = (v, id, args) => {
30
+ const strokeColor = processColorInput(args.strokeColor, 0xff000000);
31
+ const coordsJson = JSON.stringify(args.coordinates);
32
+ const patternJson = JSON.stringify(args.pattern ?? []);
33
+ Commands.addPolyline(v, id, coordsJson, args.strokeWidth ?? 1, strokeColor, args.zIndex ?? 0, lineCapToInt(args.lineCap), lineJoinToInt(args.lineJoin), patternJson);
34
+ };
35
+ const update = (v, id, args) => {
36
+ const strokeColor = processColorInput(args.strokeColor, 0xff000000);
37
+ const coordsJson = JSON.stringify(args.coordinates);
38
+ const patternJson = JSON.stringify(args.pattern ?? []);
39
+ Commands.updatePolyline(v, id, coordsJson, args.strokeWidth ?? 1, strokeColor, args.zIndex ?? 0, lineCapToInt(args.lineCap), lineJoinToInt(args.lineJoin), patternJson);
40
+ };
41
+ const remove = (v, id) => {
42
+ Commands.removePolyline(v, id);
43
+ };
44
+ const methods = {
45
+ add,
46
+ update,
47
+ remove
48
+ };
49
+ export function Polyline(props) {
50
+ const preserved = usePreservedReference(props);
51
+ useMapOverlay({
52
+ registrySelector: c => c.markers,
53
+ // reuse markers registry for now
54
+ methods,
55
+ props: preserved,
56
+ eventListeners: {}
57
+ });
58
+ return null;
59
+ }
60
+ //# sourceMappingURL=Polyline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["processColorInput","useMapOverlay","usePreservedReference","Commands","lineCapToInt","cap","lineJoinToInt","join","add","v","id","args","strokeColor","coordsJson","JSON","stringify","coordinates","patternJson","pattern","addPolyline","strokeWidth","zIndex","lineCap","lineJoin","update","updatePolyline","remove","removePolyline","methods","Polyline","props","preserved","registrySelector","c","markers","eventListeners"],"sourceRoot":"../../../src","sources":["overlays/Polyline.ts"],"mappings":";;AACA,SAASA,iBAAiB,QAAQ,4BAAyB;AAC3D,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,qBAAqB,QAAQ,uCAAoC;AAC1E,SAASC,QAAQ,QAAQ,6CAA6C;AAatE,MAAMC,YAAY,GAAIC,GAAY,IAAa;EAC7C,QAAQA,GAAG;IACT,KAAK,OAAO;MACV,OAAO,CAAC;IACV,KAAK,QAAQ;MACX,OAAO,CAAC;IACV;MACE,OAAO,CAAC;IAAE;EACd;AACF,CAAC;AAED,MAAMC,aAAa,GAAIC,IAAa,IAAa;EAC/C,QAAQA,IAAI;IACV,KAAK,OAAO;MACV,OAAO,CAAC;IACV,KAAK,OAAO;MACV,OAAO,CAAC;IACV;MACE,OAAO,CAAC;IAAE;EACd;AACF,CAAC;AAED,MAAMC,GAAG,GAAGA,CAACC,CAAO,EAAEC,EAAU,EAAEC,IAAmB,KAAK;EACxD,MAAMC,WAAW,GAAGZ,iBAAiB,CAACW,IAAI,CAACC,WAAW,EAAE,UAAU,CAAC;EACnE,MAAMC,UAAU,GAAGC,IAAI,CAACC,SAAS,CAACJ,IAAI,CAACK,WAAW,CAAC;EACnD,MAAMC,WAAW,GAAGH,IAAI,CAACC,SAAS,CAACJ,IAAI,CAACO,OAAO,IAAI,EAAE,CAAC;EAEtDf,QAAQ,CAACgB,WAAW,CAClBV,CAAC,EACDC,EAAE,EACFG,UAAU,EACVF,IAAI,CAACS,WAAW,IAAI,CAAC,EACrBR,WAAW,EACXD,IAAI,CAACU,MAAM,IAAI,CAAC,EAChBjB,YAAY,CAACO,IAAI,CAACW,OAAO,CAAC,EAC1BhB,aAAa,CAACK,IAAI,CAACY,QAAQ,CAAC,EAC5BN,WACF,CAAC;AACH,CAAC;AAED,MAAMO,MAAM,GAAGA,CAACf,CAAO,EAAEC,EAAU,EAAEC,IAAmB,KAAK;EAC3D,MAAMC,WAAW,GAAGZ,iBAAiB,CAACW,IAAI,CAACC,WAAW,EAAE,UAAU,CAAC;EACnE,MAAMC,UAAU,GAAGC,IAAI,CAACC,SAAS,CAACJ,IAAI,CAACK,WAAW,CAAC;EACnD,MAAMC,WAAW,GAAGH,IAAI,CAACC,SAAS,CAACJ,IAAI,CAACO,OAAO,IAAI,EAAE,CAAC;EAEtDf,QAAQ,CAACsB,cAAc,CACrBhB,CAAC,EACDC,EAAE,EACFG,UAAU,EACVF,IAAI,CAACS,WAAW,IAAI,CAAC,EACrBR,WAAW,EACXD,IAAI,CAACU,MAAM,IAAI,CAAC,EAChBjB,YAAY,CAACO,IAAI,CAACW,OAAO,CAAC,EAC1BhB,aAAa,CAACK,IAAI,CAACY,QAAQ,CAAC,EAC5BN,WACF,CAAC;AACH,CAAC;AAED,MAAMS,MAAM,GAAGA,CAACjB,CAAO,EAAEC,EAAU,KAAK;EACtCP,QAAQ,CAACwB,cAAc,CAAClB,CAAC,EAASC,EAAE,CAAC;AACvC,CAAC;AAED,MAAMkB,OAAO,GAAG;EAAEpB,GAAG;EAAEgB,MAAM;EAAEE;AAAO,CAAC;AAEvC,OAAO,SAASG,QAAQA,CAACC,KAAoB,EAAE;EAC7C,MAAMC,SAAS,GAAG7B,qBAAqB,CAAC4B,KAAK,CAAC;EAE9C7B,aAAa,CAAwB;IACnC+B,gBAAgB,EAAGC,CAAC,IAAKA,CAAC,CAACC,OAAO;IAAE;IACpCN,OAAO;IACPE,KAAK,EAAEC,SAAS;IAChBI,cAAc,EAAE,CAAC;EACnB,CAAC,CAAC;EAEF,OAAO,IAAI;AACb","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ export { Marker } from "./Marker.js";
4
+ export { Polyline } from "./Polyline.js";
5
+ export { Polygon } from "./Polygon.js";
6
+ export { Circle } from "./Circle.js";
7
+ export { Path } from "./Path.js";
8
+ export { ArrowheadPath } from "./ArrowheadPath.js";
9
+ export { GroundOverlay } from "./GroundOverlay.js";
10
+ export { InfoWindow } from "./InfoWindow.js";
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Marker","Polyline","Polygon","Circle","Path","ArrowheadPath","GroundOverlay","InfoWindow"],"sourceRoot":"../../../src","sources":["overlays/index.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,aAAU;AAGjC,SAASC,QAAQ,QAAQ,eAAY;AAGrC,SAASC,OAAO,QAAQ,cAAW;AAGnC,SAASC,MAAM,QAAQ,aAAU;AAGjC,SAASC,IAAI,QAAQ,WAAQ;AAG7B,SAASC,aAAa,QAAQ,oBAAiB;AAG/C,SAASC,aAAa,QAAQ,oBAAiB;AAG/C,SAASC,UAAU,QAAQ,iBAAc","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"module"}