@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,110 @@
1
+ "use strict";
2
+
3
+ import React, { useCallback, useMemo, useRef, useState } from 'react';
4
+ import { Platform, View } from 'react-native';
5
+ import { MapContext } from "./internals/context.js";
6
+ import GraniteNaverMapViewNativeComponent from './specs/GraniteNaverMapViewNativeComponent';
7
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
8
+ /**
9
+ * Avoid View Flattening issue on Android
10
+ */
11
+ const AvoidViewFlatteningOnAndroid = ({
12
+ style,
13
+ children
14
+ }) => {
15
+ if (Platform.OS === 'android') {
16
+ return /*#__PURE__*/_jsx(View, {
17
+ style: style,
18
+ collapsable: false,
19
+ children: children
20
+ });
21
+ }
22
+ return /*#__PURE__*/_jsx(_Fragment, {
23
+ children: children
24
+ });
25
+ };
26
+ export function NaverMapView({
27
+ style,
28
+ onTouch,
29
+ onMapClick,
30
+ onCameraChange,
31
+ onInitialized,
32
+ children,
33
+ center,
34
+ mapPadding,
35
+ ...props
36
+ }) {
37
+ const mapRef = useRef(null);
38
+ const [isReady, setIsReady] = useState(false);
39
+ const markersRef = useRef(new Map());
40
+ const onMarkerClick = useCallback(event => {
41
+ const marker = markersRef.current.get(event.nativeEvent.id);
42
+ marker?.onPress?.();
43
+ }, []);
44
+ const handleCameraChange = useCallback(event => {
45
+ onCameraChange?.(event);
46
+ }, [onCameraChange]);
47
+ const handleTouch = useCallback(event => {
48
+ onTouch?.(event);
49
+ }, [onTouch]);
50
+ const handleMapClick = useCallback(event => {
51
+ onMapClick?.(event);
52
+ }, [onMapClick]);
53
+ const handleInitialized = useCallback(() => {
54
+ console.log('[NaverMapView] handleInitialized called - setting isReady to true');
55
+ setIsReady(true);
56
+ onInitialized?.();
57
+ }, [onInitialized]);
58
+ const mapContext = useMemo(() => isReady && mapRef.current ? {
59
+ mapView: mapRef.current,
60
+ markers: markersRef.current
61
+ } : null, [isReady]);
62
+
63
+ // Convert center prop to native format
64
+ const nativeCenter = useMemo(() => {
65
+ if (!center) {
66
+ return undefined;
67
+ }
68
+ return {
69
+ latitude: center.latitude,
70
+ longitude: center.longitude,
71
+ zoom: center.zoom,
72
+ tilt: center.tilt,
73
+ bearing: center.bearing
74
+ };
75
+ }, [center]);
76
+
77
+ // Convert mapPadding prop to native format
78
+ const nativeMapPadding = useMemo(() => {
79
+ if (!mapPadding) {
80
+ return undefined;
81
+ }
82
+ return {
83
+ top: mapPadding.top,
84
+ left: mapPadding.left,
85
+ bottom: mapPadding.bottom,
86
+ right: mapPadding.right
87
+ };
88
+ }, [mapPadding]);
89
+ return /*#__PURE__*/_jsx(AvoidViewFlatteningOnAndroid, {
90
+ style: style,
91
+ children: /*#__PURE__*/_jsxs(MapContext.Provider, {
92
+ value: mapContext,
93
+ children: [/*#__PURE__*/_jsx(GraniteNaverMapViewNativeComponent, {
94
+ ref: mapRef,
95
+ style: Platform.OS === 'ios' ? style : {
96
+ flex: 1
97
+ },
98
+ ...props,
99
+ center: nativeCenter,
100
+ mapPadding: nativeMapPadding,
101
+ onInitialized: handleInitialized,
102
+ onMarkerClick: onMarkerClick,
103
+ onCameraChange: handleCameraChange,
104
+ onTouch: handleTouch,
105
+ onMapClick: handleMapClick
106
+ }), children]
107
+ })
108
+ });
109
+ }
110
+ //# sourceMappingURL=NaverMapView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","useMemo","useRef","useState","Platform","View","MapContext","GraniteNaverMapViewNativeComponent","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","AvoidViewFlatteningOnAndroid","style","children","OS","collapsable","NaverMapView","onTouch","onMapClick","onCameraChange","onInitialized","center","mapPadding","props","mapRef","isReady","setIsReady","markersRef","Map","onMarkerClick","event","marker","current","get","nativeEvent","id","onPress","handleCameraChange","handleTouch","handleMapClick","handleInitialized","console","log","mapContext","mapView","markers","nativeCenter","undefined","latitude","longitude","zoom","tilt","bearing","nativeMapPadding","top","left","bottom","right","Provider","value","ref","flex"],"sourceRoot":"../../src","sources":["NaverMapView.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ export * from "./overlays/index.js";
4
+ export * from "./NaverMapView.js";
5
+ export * from "./types/index.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,cAAc,qBAAY;AAC1B,cAAc,mBAAgB;AAC9B,cAAc,kBAAS","ignoreList":[]}