react-native-google-maps-plus 1.7.0 → 1.8.0-dev.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/android/build.gradle +1 -1
  2. package/android/gradle.properties +2 -1
  3. package/android/src/main/java/com/rngooglemapsplus/MapCircleBuilder.kt +2 -3
  4. package/android/src/main/java/com/rngooglemapsplus/MapMarkerBuilder.kt +51 -54
  5. package/android/src/main/java/com/rngooglemapsplus/MapPolygonBuilder.kt +6 -23
  6. package/android/src/main/java/com/rngooglemapsplus/MapPolylineBuilder.kt.kt +12 -39
  7. package/android/src/main/java/com/rngooglemapsplus/RNGoogleMapsPlusView.kt +4 -2
  8. package/android/src/main/java/com/rngooglemapsplus/extensions/{RNCameraExtension.kt → RNCameraUpdateExtension.kt} +2 -2
  9. package/android/src/main/java/com/rngooglemapsplus/extensions/RNLineCapTypeExtension.kt +14 -0
  10. package/android/src/main/java/com/rngooglemapsplus/extensions/RNLineJoinTypeExtension.kt +12 -0
  11. package/android/src/main/java/com/rngooglemapsplus/extensions/RNMapCircleExtension.kt +7 -1
  12. package/android/src/main/java/com/rngooglemapsplus/extensions/RNMarkerExtension.kt +54 -17
  13. package/android/src/main/java/com/rngooglemapsplus/extensions/RNPolygonExtension.kt +31 -1
  14. package/android/src/main/java/com/rngooglemapsplus/extensions/RNPolylineExtension.kt +6 -1
  15. package/ios/GoogleMapViewImpl.swift +4 -1
  16. package/ios/LocationHandler.swift +3 -1
  17. package/ios/MapCircleBuilder.swift +2 -3
  18. package/ios/MapHelper.swift +3 -5
  19. package/ios/MapMarkerBuilder.swift +108 -105
  20. package/ios/MapPolygonBuilder.swift +6 -41
  21. package/ios/MapPolylineBuilder.swift +2 -10
  22. package/ios/RNGoogleMapsPlusView.swift +28 -22
  23. package/ios/extensions/{RNCamera+Extension.swift → RNCameraUpdate+Extension.swift} +1 -1
  24. package/ios/extensions/RNCircle+Extension.swift +14 -5
  25. package/ios/extensions/RNLatLng+Extension.swift +11 -0
  26. package/ios/extensions/RNLineCapType+Extension.swift +10 -0
  27. package/ios/extensions/RNLineJoinType+Extension.swift +11 -0
  28. package/ios/extensions/RNMarker+Extension.swift +43 -12
  29. package/ios/extensions/RNPolygon+Extension.swift.swift +50 -21
  30. package/ios/extensions/RNPolyline+Extension.swift.swift +15 -26
  31. package/ios/extensions/SVGKImage+Extension.swift +22 -0
  32. package/lib/module/types.js.map +1 -1
  33. package/lib/typescript/src/RNGoogleMapsPlusView.nitro.d.ts +2 -2
  34. package/lib/typescript/src/RNGoogleMapsPlusView.nitro.d.ts.map +1 -1
  35. package/lib/typescript/src/types.d.ts +8 -2
  36. package/lib/typescript/src/types.d.ts.map +1 -1
  37. package/nitrogen/generated/android/c++/JFunc_void_RNRegion_RNCamera.hpp +0 -1
  38. package/nitrogen/generated/android/c++/JFunc_void_RNRegion_RNCamera_bool.hpp +0 -1
  39. package/nitrogen/generated/android/c++/JHybridRNGoogleMapsPlusViewSpec.cpp +11 -7
  40. package/nitrogen/generated/android/c++/JHybridRNGoogleMapsPlusViewSpec.hpp +1 -1
  41. package/nitrogen/generated/android/c++/JRNCamera.hpp +15 -16
  42. package/nitrogen/generated/android/c++/JRNCameraUpdate.hpp +71 -0
  43. package/nitrogen/generated/android/c++/JRNInitialProps.hpp +11 -7
  44. package/nitrogen/generated/android/c++/JRNMarker.hpp +1 -5
  45. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/HybridRNGoogleMapsPlusViewSpec.kt +1 -1
  46. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNCamera.kt +5 -5
  47. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNCameraUpdate.kt +46 -0
  48. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNInitialProps.kt +6 -3
  49. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNMarker.kt +2 -5
  50. package/nitrogen/generated/ios/RNGoogleMapsPlus-Swift-Cxx-Bridge.hpp +10 -7
  51. package/nitrogen/generated/ios/RNGoogleMapsPlus-Swift-Cxx-Umbrella.hpp +3 -0
  52. package/nitrogen/generated/ios/c++/HybridRNGoogleMapsPlusViewSpecSwift.hpp +7 -4
  53. package/nitrogen/generated/ios/swift/HybridRNGoogleMapsPlusViewSpec.swift +1 -1
  54. package/nitrogen/generated/ios/swift/HybridRNGoogleMapsPlusViewSpec_cxx.swift +1 -1
  55. package/nitrogen/generated/ios/swift/RNCamera.swift +14 -62
  56. package/nitrogen/generated/ios/swift/RNCameraUpdate.swift +116 -0
  57. package/nitrogen/generated/ios/swift/RNInitialProps.swift +36 -6
  58. package/nitrogen/generated/ios/swift/RNMarker.swift +1 -31
  59. package/nitrogen/generated/shared/c++/HybridRNGoogleMapsPlusViewSpec.hpp +4 -1
  60. package/nitrogen/generated/shared/c++/RNCamera.hpp +17 -18
  61. package/nitrogen/generated/shared/c++/RNCameraUpdate.hpp +89 -0
  62. package/nitrogen/generated/shared/c++/RNInitialProps.hpp +12 -8
  63. package/nitrogen/generated/shared/c++/RNMarker.hpp +1 -5
  64. package/package.json +1 -1
  65. package/src/RNGoogleMapsPlusView.nitro.ts +6 -1
  66. package/src/types.ts +9 -2
@@ -0,0 +1,89 @@
1
+ ///
2
+ /// RNCameraUpdate.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #if __has_include(<NitroModules/JSIConverter.hpp>)
11
+ #include <NitroModules/JSIConverter.hpp>
12
+ #else
13
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
14
+ #endif
15
+ #if __has_include(<NitroModules/NitroDefines.hpp>)
16
+ #include <NitroModules/NitroDefines.hpp>
17
+ #else
18
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
19
+ #endif
20
+ #if __has_include(<NitroModules/JSIHelpers.hpp>)
21
+ #include <NitroModules/JSIHelpers.hpp>
22
+ #else
23
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
+ #endif
25
+
26
+ // Forward declaration of `RNLatLng` to properly resolve imports.
27
+ namespace margelo::nitro::rngooglemapsplus { struct RNLatLng; }
28
+
29
+ #include "RNLatLng.hpp"
30
+ #include <optional>
31
+
32
+ namespace margelo::nitro::rngooglemapsplus {
33
+
34
+ /**
35
+ * A struct which can be represented as a JavaScript object (RNCameraUpdate).
36
+ */
37
+ struct RNCameraUpdate {
38
+ public:
39
+ std::optional<RNLatLng> center SWIFT_PRIVATE;
40
+ std::optional<double> zoom SWIFT_PRIVATE;
41
+ std::optional<double> bearing SWIFT_PRIVATE;
42
+ std::optional<double> tilt SWIFT_PRIVATE;
43
+
44
+ public:
45
+ RNCameraUpdate() = default;
46
+ explicit RNCameraUpdate(std::optional<RNLatLng> center, std::optional<double> zoom, std::optional<double> bearing, std::optional<double> tilt): center(center), zoom(zoom), bearing(bearing), tilt(tilt) {}
47
+ };
48
+
49
+ } // namespace margelo::nitro::rngooglemapsplus
50
+
51
+ namespace margelo::nitro {
52
+
53
+ // C++ RNCameraUpdate <> JS RNCameraUpdate (object)
54
+ template <>
55
+ struct JSIConverter<margelo::nitro::rngooglemapsplus::RNCameraUpdate> final {
56
+ static inline margelo::nitro::rngooglemapsplus::RNCameraUpdate fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
57
+ jsi::Object obj = arg.asObject(runtime);
58
+ return margelo::nitro::rngooglemapsplus::RNCameraUpdate(
59
+ JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNLatLng>>::fromJSI(runtime, obj.getProperty(runtime, "center")),
60
+ JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "zoom")),
61
+ JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "bearing")),
62
+ JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "tilt"))
63
+ );
64
+ }
65
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::rngooglemapsplus::RNCameraUpdate& arg) {
66
+ jsi::Object obj(runtime);
67
+ obj.setProperty(runtime, "center", JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNLatLng>>::toJSI(runtime, arg.center));
68
+ obj.setProperty(runtime, "zoom", JSIConverter<std::optional<double>>::toJSI(runtime, arg.zoom));
69
+ obj.setProperty(runtime, "bearing", JSIConverter<std::optional<double>>::toJSI(runtime, arg.bearing));
70
+ obj.setProperty(runtime, "tilt", JSIConverter<std::optional<double>>::toJSI(runtime, arg.tilt));
71
+ return obj;
72
+ }
73
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
74
+ if (!value.isObject()) {
75
+ return false;
76
+ }
77
+ jsi::Object obj = value.getObject(runtime);
78
+ if (!nitro::isPlainObject(runtime, obj)) {
79
+ return false;
80
+ }
81
+ if (!JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNLatLng>>::canConvert(runtime, obj.getProperty(runtime, "center"))) return false;
82
+ if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "zoom"))) return false;
83
+ if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "bearing"))) return false;
84
+ if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "tilt"))) return false;
85
+ return true;
86
+ }
87
+ };
88
+
89
+ } // namespace margelo::nitro
@@ -23,12 +23,12 @@
23
23
  #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
24
  #endif
25
25
 
26
- // Forward declaration of `RNCamera` to properly resolve imports.
27
- namespace margelo::nitro::rngooglemapsplus { struct RNCamera; }
26
+ // Forward declaration of `RNCameraUpdate` to properly resolve imports.
27
+ namespace margelo::nitro::rngooglemapsplus { struct RNCameraUpdate; }
28
28
 
29
29
  #include <string>
30
30
  #include <optional>
31
- #include "RNCamera.hpp"
31
+ #include "RNCameraUpdate.hpp"
32
32
 
33
33
  namespace margelo::nitro::rngooglemapsplus {
34
34
 
@@ -39,11 +39,12 @@ namespace margelo::nitro::rngooglemapsplus {
39
39
  public:
40
40
  std::optional<std::string> mapId SWIFT_PRIVATE;
41
41
  std::optional<bool> liteMode SWIFT_PRIVATE;
42
- std::optional<RNCamera> camera SWIFT_PRIVATE;
42
+ std::optional<RNCameraUpdate> camera SWIFT_PRIVATE;
43
+ std::optional<std::string> backgroundColor SWIFT_PRIVATE;
43
44
 
44
45
  public:
45
46
  RNInitialProps() = default;
46
- explicit RNInitialProps(std::optional<std::string> mapId, std::optional<bool> liteMode, std::optional<RNCamera> camera): mapId(mapId), liteMode(liteMode), camera(camera) {}
47
+ explicit RNInitialProps(std::optional<std::string> mapId, std::optional<bool> liteMode, std::optional<RNCameraUpdate> camera, std::optional<std::string> backgroundColor): mapId(mapId), liteMode(liteMode), camera(camera), backgroundColor(backgroundColor) {}
47
48
  };
48
49
 
49
50
  } // namespace margelo::nitro::rngooglemapsplus
@@ -58,14 +59,16 @@ namespace margelo::nitro {
58
59
  return margelo::nitro::rngooglemapsplus::RNInitialProps(
59
60
  JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "mapId")),
60
61
  JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, "liteMode")),
61
- JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNCamera>>::fromJSI(runtime, obj.getProperty(runtime, "camera"))
62
+ JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNCameraUpdate>>::fromJSI(runtime, obj.getProperty(runtime, "camera")),
63
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "backgroundColor"))
62
64
  );
63
65
  }
64
66
  static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::rngooglemapsplus::RNInitialProps& arg) {
65
67
  jsi::Object obj(runtime);
66
68
  obj.setProperty(runtime, "mapId", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.mapId));
67
69
  obj.setProperty(runtime, "liteMode", JSIConverter<std::optional<bool>>::toJSI(runtime, arg.liteMode));
68
- obj.setProperty(runtime, "camera", JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNCamera>>::toJSI(runtime, arg.camera));
70
+ obj.setProperty(runtime, "camera", JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNCameraUpdate>>::toJSI(runtime, arg.camera));
71
+ obj.setProperty(runtime, "backgroundColor", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.backgroundColor));
69
72
  return obj;
70
73
  }
71
74
  static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
@@ -78,7 +81,8 @@ namespace margelo::nitro {
78
81
  }
79
82
  if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "mapId"))) return false;
80
83
  if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, "liteMode"))) return false;
81
- if (!JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNCamera>>::canConvert(runtime, obj.getProperty(runtime, "camera"))) return false;
84
+ if (!JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNCameraUpdate>>::canConvert(runtime, obj.getProperty(runtime, "camera"))) return false;
85
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "backgroundColor"))) return false;
82
86
  return true;
83
87
  }
84
88
  };
@@ -47,7 +47,6 @@ namespace margelo::nitro::rngooglemapsplus {
47
47
  std::optional<double> zIndex SWIFT_PRIVATE;
48
48
  RNLatLng coordinate SWIFT_PRIVATE;
49
49
  std::optional<RNPosition> anchor SWIFT_PRIVATE;
50
- std::optional<bool> showInfoWindow SWIFT_PRIVATE;
51
50
  std::optional<std::string> title SWIFT_PRIVATE;
52
51
  std::optional<std::string> snippet SWIFT_PRIVATE;
53
52
  std::optional<double> opacity SWIFT_PRIVATE;
@@ -60,7 +59,7 @@ namespace margelo::nitro::rngooglemapsplus {
60
59
 
61
60
  public:
62
61
  RNMarker() = default;
63
- explicit RNMarker(std::string id, std::optional<double> zIndex, RNLatLng coordinate, std::optional<RNPosition> anchor, std::optional<bool> showInfoWindow, std::optional<std::string> title, std::optional<std::string> snippet, std::optional<double> opacity, std::optional<bool> flat, std::optional<bool> draggable, std::optional<double> rotation, std::optional<RNPosition> infoWindowAnchor, std::optional<RNMarkerSvg> iconSvg, std::optional<RNMarkerSvg> infoWindowIconSvg): id(id), zIndex(zIndex), coordinate(coordinate), anchor(anchor), showInfoWindow(showInfoWindow), title(title), snippet(snippet), opacity(opacity), flat(flat), draggable(draggable), rotation(rotation), infoWindowAnchor(infoWindowAnchor), iconSvg(iconSvg), infoWindowIconSvg(infoWindowIconSvg) {}
62
+ explicit RNMarker(std::string id, std::optional<double> zIndex, RNLatLng coordinate, std::optional<RNPosition> anchor, std::optional<std::string> title, std::optional<std::string> snippet, std::optional<double> opacity, std::optional<bool> flat, std::optional<bool> draggable, std::optional<double> rotation, std::optional<RNPosition> infoWindowAnchor, std::optional<RNMarkerSvg> iconSvg, std::optional<RNMarkerSvg> infoWindowIconSvg): id(id), zIndex(zIndex), coordinate(coordinate), anchor(anchor), title(title), snippet(snippet), opacity(opacity), flat(flat), draggable(draggable), rotation(rotation), infoWindowAnchor(infoWindowAnchor), iconSvg(iconSvg), infoWindowIconSvg(infoWindowIconSvg) {}
64
63
  };
65
64
 
66
65
  } // namespace margelo::nitro::rngooglemapsplus
@@ -77,7 +76,6 @@ namespace margelo::nitro {
77
76
  JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "zIndex")),
78
77
  JSIConverter<margelo::nitro::rngooglemapsplus::RNLatLng>::fromJSI(runtime, obj.getProperty(runtime, "coordinate")),
79
78
  JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNPosition>>::fromJSI(runtime, obj.getProperty(runtime, "anchor")),
80
- JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, "showInfoWindow")),
81
79
  JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "title")),
82
80
  JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "snippet")),
83
81
  JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "opacity")),
@@ -95,7 +93,6 @@ namespace margelo::nitro {
95
93
  obj.setProperty(runtime, "zIndex", JSIConverter<std::optional<double>>::toJSI(runtime, arg.zIndex));
96
94
  obj.setProperty(runtime, "coordinate", JSIConverter<margelo::nitro::rngooglemapsplus::RNLatLng>::toJSI(runtime, arg.coordinate));
97
95
  obj.setProperty(runtime, "anchor", JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNPosition>>::toJSI(runtime, arg.anchor));
98
- obj.setProperty(runtime, "showInfoWindow", JSIConverter<std::optional<bool>>::toJSI(runtime, arg.showInfoWindow));
99
96
  obj.setProperty(runtime, "title", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.title));
100
97
  obj.setProperty(runtime, "snippet", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.snippet));
101
98
  obj.setProperty(runtime, "opacity", JSIConverter<std::optional<double>>::toJSI(runtime, arg.opacity));
@@ -119,7 +116,6 @@ namespace margelo::nitro {
119
116
  if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "zIndex"))) return false;
120
117
  if (!JSIConverter<margelo::nitro::rngooglemapsplus::RNLatLng>::canConvert(runtime, obj.getProperty(runtime, "coordinate"))) return false;
121
118
  if (!JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNPosition>>::canConvert(runtime, obj.getProperty(runtime, "anchor"))) return false;
122
- if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, "showInfoWindow"))) return false;
123
119
  if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "title"))) return false;
124
120
  if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "snippet"))) return false;
125
121
  if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "opacity"))) return false;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-google-maps-plus",
3
- "version": "1.7.0",
3
+ "version": "1.8.0-dev.2",
4
4
  "description": "React Native wrapper for Android & iOS Google Maps SDK",
5
5
  "main": "./lib/module/index.js",
6
6
  "module": "./lib/module/index.js",
@@ -5,6 +5,7 @@ import type {
5
5
  } from 'react-native-nitro-modules';
6
6
  import type {
7
7
  RNCamera,
8
+ RNCameraUpdate,
8
9
  RNLatLng,
9
10
  RNMapPadding,
10
11
  RNPolygon,
@@ -95,7 +96,11 @@ export interface RNGoogleMapsPlusViewMethods extends HybridViewMethods {
95
96
 
96
97
  hideMarkerInfoWindow(id: string): void;
97
98
 
98
- setCamera(camera: RNCamera, animated?: boolean, durationMs?: number): void;
99
+ setCamera(
100
+ camera: RNCameraUpdate,
101
+ animated?: boolean,
102
+ durationMs?: number
103
+ ): void;
99
104
 
100
105
  setCameraToCoordinates(
101
106
  coordinates: RNLatLng[],
package/src/types.ts CHANGED
@@ -6,7 +6,8 @@ export type GoogleMapsViewRef = HybridView<RNGoogleMapsPlusViewMethods>;
6
6
  export type RNInitialProps = {
7
7
  mapId?: string;
8
8
  liteMode?: boolean;
9
- camera?: RNCamera;
9
+ camera?: RNCameraUpdate;
10
+ backgroundColor?: string;
10
11
  };
11
12
 
12
13
  export type RNMapUiSettings = {
@@ -130,6 +131,13 @@ export interface RNMapStyleElement {
130
131
  }
131
132
 
132
133
  export type RNCamera = {
134
+ center: RNLatLng;
135
+ zoom: number;
136
+ bearing: number;
137
+ tilt: number;
138
+ };
139
+
140
+ export type RNCameraUpdate = {
133
141
  center?: RNLatLng;
134
142
  zoom?: number;
135
143
  bearing?: number;
@@ -162,7 +170,6 @@ export type RNMarker = {
162
170
  zIndex?: number;
163
171
  coordinate: RNLatLng;
164
172
  anchor?: RNPosition;
165
- showInfoWindow?: boolean;
166
173
  title?: string;
167
174
  snippet?: string;
168
175
  opacity?: number;