react-native-maplibre-lite 0.1.9 → 0.2.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 (78) hide show
  1. package/README.md +92 -6
  2. package/lib/module/components/MapView.js +167 -48
  3. package/lib/module/components/MapView.js.map +1 -1
  4. package/lib/module/components/NavigatorHud.js +152 -0
  5. package/lib/module/components/NavigatorHud.js.map +1 -0
  6. package/lib/module/components/NavigatorRecenterButton.js +48 -0
  7. package/lib/module/components/NavigatorRecenterButton.js.map +1 -0
  8. package/lib/module/components/NavigatorVoiceControl.js +173 -0
  9. package/lib/module/components/NavigatorVoiceControl.js.map +1 -0
  10. package/lib/module/components/navigatorChromeTheme.js +98 -0
  11. package/lib/module/components/navigatorChromeTheme.js.map +1 -0
  12. package/lib/module/components/navigatorManeuverIcon.js +210 -0
  13. package/lib/module/components/navigatorManeuverIcon.js.map +1 -0
  14. package/lib/module/components/navigatorVoiceCatalog.js +225 -0
  15. package/lib/module/components/navigatorVoiceCatalog.js.map +1 -0
  16. package/lib/module/components/navigatorVoiceKeys.js +14 -0
  17. package/lib/module/components/navigatorVoiceKeys.js.map +1 -0
  18. package/lib/module/components/navigatorVoicePlayer.js +100 -0
  19. package/lib/module/components/navigatorVoicePlayer.js.map +1 -0
  20. package/lib/module/components/navigatorVoiceStrings.js +31 -0
  21. package/lib/module/components/navigatorVoiceStrings.js.map +1 -0
  22. package/lib/module/components/types.js +47 -0
  23. package/lib/module/components/types.js.map +1 -1
  24. package/lib/module/components/useNavigatorVoice.js +78 -0
  25. package/lib/module/components/useNavigatorVoice.js.map +1 -0
  26. package/lib/module/components/utils.js +26 -0
  27. package/lib/module/components/utils.js.map +1 -1
  28. package/lib/module/components/webMapBuild.js +1 -1
  29. package/lib/module/components/webMapBuild.js.map +1 -1
  30. package/lib/module/index.js.map +1 -1
  31. package/lib/typescript/src/components/MapView.d.ts +15 -2
  32. package/lib/typescript/src/components/MapView.d.ts.map +1 -1
  33. package/lib/typescript/src/components/NavigatorHud.d.ts +13 -0
  34. package/lib/typescript/src/components/NavigatorHud.d.ts.map +1 -0
  35. package/lib/typescript/src/components/NavigatorRecenterButton.d.ts +11 -0
  36. package/lib/typescript/src/components/NavigatorRecenterButton.d.ts.map +1 -0
  37. package/lib/typescript/src/components/NavigatorVoiceControl.d.ts +20 -0
  38. package/lib/typescript/src/components/NavigatorVoiceControl.d.ts.map +1 -0
  39. package/lib/typescript/src/components/navigatorChromeTheme.d.ts +19 -0
  40. package/lib/typescript/src/components/navigatorChromeTheme.d.ts.map +1 -0
  41. package/lib/typescript/src/components/navigatorManeuverIcon.d.ts +20 -0
  42. package/lib/typescript/src/components/navigatorManeuverIcon.d.ts.map +1 -0
  43. package/lib/typescript/src/components/navigatorVoiceCatalog.d.ts +50 -0
  44. package/lib/typescript/src/components/navigatorVoiceCatalog.d.ts.map +1 -0
  45. package/lib/typescript/src/components/navigatorVoiceKeys.d.ts +10 -0
  46. package/lib/typescript/src/components/navigatorVoiceKeys.d.ts.map +1 -0
  47. package/lib/typescript/src/components/navigatorVoicePlayer.d.ts +15 -0
  48. package/lib/typescript/src/components/navigatorVoicePlayer.d.ts.map +1 -0
  49. package/lib/typescript/src/components/navigatorVoiceStrings.d.ts +19 -0
  50. package/lib/typescript/src/components/navigatorVoiceStrings.d.ts.map +1 -0
  51. package/lib/typescript/src/components/types.d.ts +205 -12
  52. package/lib/typescript/src/components/types.d.ts.map +1 -1
  53. package/lib/typescript/src/components/useNavigatorVoice.d.ts +20 -0
  54. package/lib/typescript/src/components/useNavigatorVoice.d.ts.map +1 -0
  55. package/lib/typescript/src/components/utils.d.ts +9 -0
  56. package/lib/typescript/src/components/utils.d.ts.map +1 -1
  57. package/lib/typescript/src/components/webMapBuild.d.ts +1 -1
  58. package/lib/typescript/src/components/webMapBuild.d.ts.map +1 -1
  59. package/lib/typescript/src/index.d.ts +1 -1
  60. package/lib/typescript/src/index.d.ts.map +1 -1
  61. package/package.json +16 -7
  62. package/resources/README.md +62 -0
  63. package/resources/map.html +797 -0
  64. package/src/components/MapView.tsx +209 -58
  65. package/src/components/NavigatorHud.tsx +166 -0
  66. package/src/components/NavigatorRecenterButton.tsx +45 -0
  67. package/src/components/NavigatorVoiceControl.tsx +198 -0
  68. package/src/components/navigatorChromeTheme.ts +118 -0
  69. package/src/components/navigatorManeuverIcon.tsx +177 -0
  70. package/src/components/navigatorVoiceCatalog.ts +275 -0
  71. package/src/components/navigatorVoiceKeys.ts +132 -0
  72. package/src/components/navigatorVoicePlayer.tsx +126 -0
  73. package/src/components/navigatorVoiceStrings.ts +42 -0
  74. package/src/components/types.ts +198 -16
  75. package/src/components/useNavigatorVoice.ts +96 -0
  76. package/src/components/utils.ts +28 -0
  77. package/src/components/webMapBuild.ts +1 -1
  78. package/src/index.tsx +19 -0
@@ -1 +1 @@
1
- {"version":3,"file":"webMapBuild.d.ts","sourceRoot":"","sources":["../../../../src/components/webMapBuild.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ,yxtzCAA68jzC,CAAC"}
1
+ {"version":3,"file":"webMapBuild.d.ts","sourceRoot":"","sources":["../../../../src/components/webMapBuild.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ,gi/zCAA0z0zC,CAAC"}
@@ -5,6 +5,6 @@ import { Polyline } from './components/Polyline';
5
5
  export { MapView, Marker, Polygon, Polyline };
6
6
  export default MapView;
7
7
  export type { MapViewRef } from './components/MapView';
8
- export type { EventParams, MapLiteWebError, MarkerProps, NavigatorChromeParams, NavigatorInstructionParams, NavigatorLang, NavigatorLngLat, NavigatorProfile, NavigatorPositionMode, NavigatorPositionSetParams, NavigatorRouteSetParams, PolygonProps, PolylineProps, } from './components/types';
8
+ export type { EventParams, MapLiteFitBoundsParams, MapLiteFlyToParams, MapLiteInitParams, MapLiteMapErrorEventParams, MapLiteMapEventName, MapLiteMapEventParamsMap, MapLiteMarkerParams, MapLitePolygonParams, MapLitePolylineParams, MapLiteRemoveOverlayParams, MapLiteSetNavigatorPointParams, MapLiteSetNavigatorPositionParams, MapLiteStyleSpecification, MapLiteUpdateParams, MapLiteWebError, MarkerProps, NativeToWebCommand, NavigatorChromeParams, NavigatorHudState, NavigatorInstructionParams, NavigatorLang, NavigatorLngLat, NavigatorProfile, NavigatorPositionMode, NavigatorPositionSetParams, NavigatorRouteSetParams, NavigatorVoiceAction, NavigatorVoicePlayParams, PolygonProps, PolylineProps, WebToNativeMessage, } from './components/types';
9
9
  export { NAVIGATOR_PROFILE_IDS } from './components/types';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC9C,eAAe,OAAO,CAAC;AAEvB,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EACR,WAAW,EACX,eAAe,EACf,WAAW,EACX,qBAAqB,EACrB,0BAA0B,EAC1B,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,YAAY,EACZ,aAAa,GAChB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC9C,eAAe,OAAO,CAAC;AAEvB,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EACR,WAAW,EACX,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,8BAA8B,EAC9B,iCAAiC,EACjC,yBAAyB,EACzB,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,0BAA0B,EAC1B,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,YAAY,EACZ,aAAa,EACb,kBAAkB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-maplibre-lite",
3
- "version": "0.1.9",
3
+ "version": "0.2.1",
4
4
  "description": "Lightweight MapLibre GL JS wrapper using WebView",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -14,6 +14,7 @@
14
14
  },
15
15
  "files": [
16
16
  "demo",
17
+ "resources",
17
18
  "src",
18
19
  "lib",
19
20
  "android",
@@ -65,9 +66,13 @@
65
66
  "@eslint/eslintrc": "^3.3.0",
66
67
  "@eslint/js": "^9.22.0",
67
68
  "@evilmartians/lefthook": "^1.5.0",
69
+ "@react-native-async-storage/async-storage": "*",
70
+ "@react-native-community/geolocation": "*",
68
71
  "@react-native/babel-preset": "0.78.2",
69
72
  "@react-native/eslint-config": "^0.78.0",
70
73
  "@release-it/conventional-changelog": "^9.0.2",
74
+ "@sayem314/react-native-keep-awake": "*",
75
+ "@types/geojson": "*",
71
76
  "@types/jest": "^29.5.5",
72
77
  "@types/react": "^19.0.12",
73
78
  "commitlint": "^19.6.1",
@@ -80,18 +85,22 @@
80
85
  "react": "19.0.0",
81
86
  "react-native": "0.79.3",
82
87
  "react-native-builder-bob": "^0.40.8",
88
+ "react-native-svg": "^15.0.0",
89
+ "react-native-video": "^6.0.0",
90
+ "react-native-webview": "*",
83
91
  "release-it": "^17.10.0",
84
- "typescript": "^5.8.3",
85
- "@types/geojson": "*"
92
+ "typescript": "^5.8.3"
86
93
  },
87
94
  "peerDependencies": {
88
- "react": "*",
89
- "react-native": "*",
90
- "react-native-webview": "*",
91
95
  "@react-native-async-storage/async-storage": "*",
96
+ "@react-native-community/geolocation": "*",
92
97
  "@sayem314/react-native-keep-awake": "*",
93
98
  "@types/geojson": "*",
94
- "@react-native-community/geolocation": "*"
99
+ "react": "*",
100
+ "react-native": "*",
101
+ "react-native-svg": "*",
102
+ "react-native-video": "*",
103
+ "react-native-webview": "*"
95
104
  },
96
105
  "workspaces": [
97
106
  "example"
@@ -0,0 +1,62 @@
1
+ # map.html — размещение в нативном приложении
2
+
3
+ Файл `map.html` генерируется при сборке `webProject` (`npm run build`) и содержит тот же single-file бандл, что и `src/components/webMapBuild.ts` (`MAP_HTML`).
4
+
5
+ Его можно положить в нативные ресурсы приложения и загружать в `WebView` по URI вместо inline HTML.
6
+
7
+ ## MapView
8
+
9
+ ```tsx
10
+ <MapView useNativeMapHtml mapStyle={...} center={...} zoom={...} style={...} />
11
+ ```
12
+
13
+ При `useNativeMapHtml={true}` WebView загружает `map.html` из нативного bundle (не inline `MAP_HTML` из пакета). По умолчанию — inline HTML.
14
+
15
+ ## Android
16
+
17
+ **Куда положить:**
18
+
19
+ ```
20
+ android/app/src/main/assets/map.html
21
+ ```
22
+
23
+ Папку `assets` создайте, если её ещё нет.
24
+
25
+ **URI (используется автоматически при `useNativeMapHtml`):**
26
+
27
+ ```
28
+ file:///android_asset/map.html
29
+ ```
30
+
31
+ ## iOS
32
+
33
+ **Куда положить:**
34
+
35
+ ```
36
+ ios/<ИмяПриложения>/map.html
37
+ ```
38
+
39
+ Например: `ios/MyApp/map.html`. Можно использовать подпапку `Resources`, если так принято в проекте.
40
+
41
+ **Xcode:**
42
+
43
+ 1. Перетащите `map.html` в дерево проекта приложения (не только в Finder).
44
+ 2. В диалоге включите **Copy items if needed** и отметьте target приложения.
45
+ 3. Убедитесь, что файл есть в **Build Phases → Copy Bundle Resources**.
46
+
47
+ **URI:** строится автоматически из пути к `.app` bundle (release / standalone). В Metro dev-сборке может понадобиться inline HTML или `developerLocalhostBundleUrl`.
48
+
49
+ ## Обновление
50
+
51
+ После изменений в `webProject` пересоберите бандл и замените `map.html` в обеих платформах:
52
+
53
+ ```bash
54
+ cd webProject
55
+ npm run build
56
+ cp ../resources/map.html android/app/src/main/assets/map.html
57
+ cp ../resources/map.html ios/<ИмяПриложения>/map.html
58
+ ```
59
+
60
+ ## Альтернатива
61
+
62
+ Без копирования в нативные ресурсы `MapView` по умолчанию использует inline HTML из сгенерированного `webMapBuild.ts` (`MAP_HTML` внутри пакета).