vue3-google-map 0.27.0 → 0.27.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.
@@ -2,8 +2,10 @@ import { PropType, type Ref } from "vue";
2
2
  export interface IAdvancedMarkerExposed {
3
3
  marker: Ref<google.maps.marker.AdvancedMarkerElement | undefined>;
4
4
  }
5
- export declare const markerEvents: string[];
6
- declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
5
+ export declare const markerEvents: readonly ["drag", "dragend", "dragstart", "gmp-click"];
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
8
+ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
7
9
  options: {
8
10
  type: PropType<google.maps.marker.AdvancedMarkerElementOptions>;
9
11
  required: true;
@@ -15,7 +17,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
15
17
  }>, {
16
18
  hasCustomSlotContent: import("vue").ComputedRef<boolean | undefined>;
17
19
  markerRef: Ref<HTMLElement | undefined, HTMLElement | undefined>;
18
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
20
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "drag" | "dragend" | "dragstart" | "gmp-click")[], "click" | "drag" | "dragend" | "dragstart" | "gmp-click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
19
21
  options: {
20
22
  type: PropType<google.maps.marker.AdvancedMarkerElementOptions>;
21
23
  required: true;
@@ -25,6 +27,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
25
27
  required: false;
26
28
  };
27
29
  }>> & Readonly<{
28
- [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
30
+ onClick?: ((...args: any[]) => any) | undefined;
31
+ onDrag?: ((...args: any[]) => any) | undefined;
32
+ onDragend?: ((...args: any[]) => any) | undefined;
33
+ onDragstart?: ((...args: any[]) => any) | undefined;
34
+ "onGmp-click"?: ((...args: any[]) => any) | undefined;
29
35
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
30
- export default _default;
@@ -1,5 +1,5 @@
1
1
  import { PropType } from "vue";
2
- export declare const circleEvents: string[];
2
+ export declare const circleEvents: readonly ["click", "dblclick", "drag", "dragend", "dragstart", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup", "rightclick", "center_changed", "radius_changed"];
3
3
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
4
  options: {
5
5
  type: PropType<google.maps.CircleOptions>;
@@ -7,12 +7,24 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
7
7
  };
8
8
  }>, {
9
9
  circle: import("vue").Ref<google.maps.Circle | undefined, google.maps.Circle | undefined>;
10
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
10
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "dblclick" | "drag" | "dragend" | "dragstart" | "mousedown" | "mousemove" | "mouseout" | "mouseover" | "mouseup" | "rightclick" | "center_changed" | "radius_changed")[], "click" | "dblclick" | "drag" | "dragend" | "dragstart" | "mousedown" | "mousemove" | "mouseout" | "mouseover" | "mouseup" | "rightclick" | "center_changed" | "radius_changed", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
11
11
  options: {
12
12
  type: PropType<google.maps.CircleOptions>;
13
13
  required: true;
14
14
  };
15
15
  }>> & Readonly<{
16
- [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
16
+ onClick?: ((...args: any[]) => any) | undefined;
17
+ onDblclick?: ((...args: any[]) => any) | undefined;
18
+ onDrag?: ((...args: any[]) => any) | undefined;
19
+ onDragend?: ((...args: any[]) => any) | undefined;
20
+ onDragstart?: ((...args: any[]) => any) | undefined;
21
+ onMousemove?: ((...args: any[]) => any) | undefined;
22
+ onMouseout?: ((...args: any[]) => any) | undefined;
23
+ onMouseover?: ((...args: any[]) => any) | undefined;
24
+ onRightclick?: ((...args: any[]) => any) | undefined;
25
+ onCenter_changed?: ((...args: any[]) => any) | undefined;
26
+ onMousedown?: ((...args: any[]) => any) | undefined;
27
+ onMouseup?: ((...args: any[]) => any) | undefined;
28
+ onRadius_changed?: ((...args: any[]) => any) | undefined;
17
29
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
18
30
  export default _default;
@@ -1,6 +1,8 @@
1
1
  import { PropType, Ref } from "vue";
2
2
  import { IControlPosition } from "../@types/index";
3
- declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
+ declare const _default: typeof __VLS_export;
4
+ export default _default;
5
+ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
6
  position: {
5
7
  type: PropType<IControlPosition>;
6
8
  required: true;
@@ -25,4 +27,3 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
25
27
  }>, {
26
28
  index: number;
27
29
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
28
- export default _default;
@@ -2,7 +2,9 @@ import { PropType, type Ref } from "vue";
2
2
  export interface ICustomMarkerExposed {
3
3
  customMarker: Ref<InstanceType<typeof google.maps.CustomMarker> | undefined>;
4
4
  }
5
- declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
5
+ declare const _default: typeof __VLS_export;
6
+ export default _default;
7
+ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
6
8
  options: {
7
9
  type: PropType<google.maps.CustomMarkerOptions>;
8
10
  required: true;
@@ -25,4 +27,3 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
25
27
  required: true;
26
28
  };
27
29
  }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
28
- export default _default;
@@ -7,7 +7,7 @@ import { MarkerClusterer, MarkerClustererOptions } from "@googlemaps/markerclust
7
7
  * This provides immediate visual feedback while still batching rapid updates.
8
8
  */
9
9
  export declare class DebouncedMarkerClusterer extends MarkerClusterer {
10
- private readonly debouncedRender;
10
+ private debouncedRender;
11
11
  constructor(options: MarkerClustererOptions, debounceDelay?: number);
12
12
  addMarker(marker: google.maps.Marker | google.maps.marker.AdvancedMarkerElement, noDraw?: boolean): void;
13
13
  removeMarker(marker: google.maps.Marker | google.maps.marker.AdvancedMarkerElement, noDraw?: boolean): boolean;
@@ -16,5 +16,13 @@ export declare class DebouncedMarkerClusterer extends MarkerClusterer {
16
16
  clearMarkers(noDraw?: boolean): void;
17
17
  /** Renders immediately, canceling any pending debounced render. */
18
18
  render(): void;
19
+ /**
20
+ * Cancels any pending debounced render and replaces `debouncedRender` with a
21
+ * no-op so that calls arriving after destroy (e.g. `removeMarker` triggered
22
+ * by child components unmounting after `MarkerCluster.onBeforeUnmount`) cannot
23
+ * restart the debounce. Without this, a trailing `setTimeout` fires later and
24
+ * crashes inside `MarkerClusterer.render()` if the Maps API has been torn
25
+ * down. See issue #376.
26
+ */
19
27
  destroy(): void;
20
28
  }
@@ -1,8 +1,10 @@
1
1
  import { PropType } from "vue";
2
2
  import { IControlPosition } from "../@types/index";
3
3
  export declare const __resetOptionsFlag: () => void;
4
- export declare const mapEvents: string[];
5
- declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
+ export declare const mapEvents: readonly ["bounds_changed", "center_changed", "click", "contextmenu", "dblclick", "drag", "dragend", "dragstart", "heading_changed", "idle", "isfractionalzoomenabled_changed", "mapcapabilities_changed", "maptypeid_changed", "mousemove", "mouseout", "mouseover", "projection_changed", "renderingtype_changed", "rightclick", "tilesloaded", "tilt_changed", "zoom_changed"];
5
+ declare const _default: typeof __VLS_export;
6
+ export default _default;
7
+ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
6
8
  apiPromise: {
7
9
  type: PropType<Promise<typeof google>>;
8
10
  };
@@ -215,7 +217,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
215
217
  map: import("vue").Ref<google.maps.Map | undefined, google.maps.Map | undefined>;
216
218
  api: import("vue").Ref<typeof google.maps | undefined, typeof google.maps | undefined>;
217
219
  mapTilesLoaded: import("vue").Ref<boolean, boolean>;
218
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
220
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "dblclick" | "drag" | "dragend" | "dragstart" | "mousemove" | "mouseout" | "mouseover" | "rightclick" | "bounds_changed" | "center_changed" | "contextmenu" | "heading_changed" | "idle" | "isfractionalzoomenabled_changed" | "mapcapabilities_changed" | "maptypeid_changed" | "projection_changed" | "renderingtype_changed" | "tilesloaded" | "tilt_changed" | "zoom_changed")[], "click" | "dblclick" | "drag" | "dragend" | "dragstart" | "mousemove" | "mouseout" | "mouseover" | "rightclick" | "bounds_changed" | "center_changed" | "contextmenu" | "heading_changed" | "idle" | "isfractionalzoomenabled_changed" | "mapcapabilities_changed" | "maptypeid_changed" | "projection_changed" | "renderingtype_changed" | "tilesloaded" | "tilt_changed" | "zoom_changed", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
219
221
  apiPromise: {
220
222
  type: PropType<Promise<typeof google>>;
221
223
  };
@@ -423,7 +425,28 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
423
425
  required: false;
424
426
  };
425
427
  }>> & Readonly<{
426
- [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
428
+ onClick?: ((...args: any[]) => any) | undefined;
429
+ onDblclick?: ((...args: any[]) => any) | undefined;
430
+ onDrag?: ((...args: any[]) => any) | undefined;
431
+ onDragend?: ((...args: any[]) => any) | undefined;
432
+ onDragstart?: ((...args: any[]) => any) | undefined;
433
+ onMousemove?: ((...args: any[]) => any) | undefined;
434
+ onMouseout?: ((...args: any[]) => any) | undefined;
435
+ onMouseover?: ((...args: any[]) => any) | undefined;
436
+ onRightclick?: ((...args: any[]) => any) | undefined;
437
+ onBounds_changed?: ((...args: any[]) => any) | undefined;
438
+ onCenter_changed?: ((...args: any[]) => any) | undefined;
439
+ onContextmenu?: ((...args: any[]) => any) | undefined;
440
+ onHeading_changed?: ((...args: any[]) => any) | undefined;
441
+ onIdle?: ((...args: any[]) => any) | undefined;
442
+ onIsfractionalzoomenabled_changed?: ((...args: any[]) => any) | undefined;
443
+ onMapcapabilities_changed?: ((...args: any[]) => any) | undefined;
444
+ onMaptypeid_changed?: ((...args: any[]) => any) | undefined;
445
+ onProjection_changed?: ((...args: any[]) => any) | undefined;
446
+ onRenderingtype_changed?: ((...args: any[]) => any) | undefined;
447
+ onTilesloaded?: ((...args: any[]) => any) | undefined;
448
+ onTilt_changed?: ((...args: any[]) => any) | undefined;
449
+ onZoom_changed?: ((...args: any[]) => any) | undefined;
427
450
  }>, {
428
451
  apiKey: string;
429
452
  version: string;
@@ -446,4 +469,3 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
446
469
  zoomControl: boolean;
447
470
  cameraControl: boolean;
448
471
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
449
- export default _default;
@@ -6,8 +6,12 @@ interface ExtendedHeatmapLayerOptions extends Omit<HeatmapLayerOptions, "data">
6
6
  })[];
7
7
  }
8
8
  /**
9
- * @deprecated The HeatmapLayer component was deprecated on May 27, 2025 and will be sunset in May 2026.
10
- * Google recommends migrating to third-party library integrations like deck.gl, which offers a HeatmapLayer implementation.
9
+ * @deprecated The Heatmap Layer was removed from the Maps JavaScript API as of version 3.65.
10
+ * It is no longer available on the `weekly` (or any newer) channel and only works if the API is
11
+ * pinned to version 3.64 or earlier via the `version` prop on `GoogleMap` (or the `v` option of
12
+ * `@googlemaps/js-api-loader`). That pin is temporary — Google rotates out old versions over time.
13
+ * Deprecated on May 27, 2025; Google recommends migrating to third-party integrations like deck.gl,
14
+ * which offers a HeatmapLayer implementation.
11
15
  * @see {@link https://developers.google.com/maps/deprecations} for more information.
12
16
  */
13
17
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
@@ -4,8 +4,10 @@ export interface IInfoWindowExposed {
4
4
  open: (opts?: google.maps.InfoWindowOpenOptions) => void;
5
5
  close: () => void;
6
6
  }
7
- export declare const infoWindowEvents: string[];
8
- declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
7
+ export declare const infoWindowEvents: readonly ["closeclick", "content_changed", "domready", "position_changed", "visible", "zindex_changed"];
8
+ declare const _default: typeof __VLS_export;
9
+ export default _default;
10
+ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
9
11
  options: {
10
12
  type: PropType<google.maps.InfoWindowOptions>;
11
13
  default: () => {};
@@ -19,7 +21,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
19
21
  hasSlotContent: import("vue").ComputedRef<boolean | undefined>;
20
22
  open: (opts?: google.maps.InfoWindowOpenOptions) => void;
21
23
  close: () => void;
22
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
24
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("visible" | "zindex_changed" | "position_changed" | "closeclick" | "content_changed" | "domready" | "update:modelValue")[], "visible" | "zindex_changed" | "position_changed" | "closeclick" | "content_changed" | "domready" | "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
23
25
  options: {
24
26
  type: PropType<google.maps.InfoWindowOptions>;
25
27
  default: () => {};
@@ -28,9 +30,14 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
28
30
  type: BooleanConstructor;
29
31
  };
30
32
  }>> & Readonly<{
31
- [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
33
+ onZindex_changed?: ((...args: any[]) => any) | undefined;
34
+ onPosition_changed?: ((...args: any[]) => any) | undefined;
35
+ onVisible?: ((...args: any[]) => any) | undefined;
36
+ onCloseclick?: ((...args: any[]) => any) | undefined;
37
+ onContent_changed?: ((...args: any[]) => any) | undefined;
38
+ onDomready?: ((...args: any[]) => any) | undefined;
39
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
32
40
  }>, {
33
41
  options: google.maps.InfoWindowOptions;
34
42
  modelValue: boolean;
35
43
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
36
- export default _default;
@@ -2,7 +2,7 @@ import { PropType, Ref } from "vue";
2
2
  export interface IMarkerExposed {
3
3
  marker: Ref<google.maps.Marker | undefined>;
4
4
  }
5
- export declare const markerEvents: string[];
5
+ export declare const markerEvents: readonly ["animation_changed", "click", "dblclick", "rightclick", "dragstart", "dragend", "drag", "mouseover", "mousedown", "mouseout", "mouseup", "draggable_changed", "clickable_changed", "contextmenu", "cursor_changed", "flat_changed", "zindex_changed", "icon_changed", "position_changed", "shape_changed", "title_changed", "visible_changed"];
6
6
  /**
7
7
  * @deprecated The Marker component is deprecated as of February 2024. Use AdvancedMarker instead.
8
8
  * The google.maps.Marker API is deprecated and will be removed in a future version.
@@ -16,12 +16,33 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
16
16
  };
17
17
  }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
18
18
  [key: string]: any;
19
- }>[] | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
19
+ }>[] | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "dblclick" | "drag" | "dragend" | "dragstart" | "mousedown" | "mouseout" | "mouseover" | "mouseup" | "rightclick" | "contextmenu" | "animation_changed" | "draggable_changed" | "clickable_changed" | "cursor_changed" | "flat_changed" | "zindex_changed" | "icon_changed" | "position_changed" | "shape_changed" | "title_changed" | "visible_changed")[], "click" | "dblclick" | "drag" | "dragend" | "dragstart" | "mousedown" | "mouseout" | "mouseover" | "mouseup" | "rightclick" | "contextmenu" | "animation_changed" | "draggable_changed" | "clickable_changed" | "cursor_changed" | "flat_changed" | "zindex_changed" | "icon_changed" | "position_changed" | "shape_changed" | "title_changed" | "visible_changed", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
20
20
  options: {
21
21
  type: PropType<google.maps.MarkerOptions>;
22
22
  required: true;
23
23
  };
24
24
  }>> & Readonly<{
25
- [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
25
+ onClick?: ((...args: any[]) => any) | undefined;
26
+ onDblclick?: ((...args: any[]) => any) | undefined;
27
+ onDrag?: ((...args: any[]) => any) | undefined;
28
+ onDragend?: ((...args: any[]) => any) | undefined;
29
+ onDragstart?: ((...args: any[]) => any) | undefined;
30
+ onMouseout?: ((...args: any[]) => any) | undefined;
31
+ onMouseover?: ((...args: any[]) => any) | undefined;
32
+ onRightclick?: ((...args: any[]) => any) | undefined;
33
+ onContextmenu?: ((...args: any[]) => any) | undefined;
34
+ onMousedown?: ((...args: any[]) => any) | undefined;
35
+ onMouseup?: ((...args: any[]) => any) | undefined;
36
+ onAnimation_changed?: ((...args: any[]) => any) | undefined;
37
+ onDraggable_changed?: ((...args: any[]) => any) | undefined;
38
+ onClickable_changed?: ((...args: any[]) => any) | undefined;
39
+ onCursor_changed?: ((...args: any[]) => any) | undefined;
40
+ onFlat_changed?: ((...args: any[]) => any) | undefined;
41
+ onZindex_changed?: ((...args: any[]) => any) | undefined;
42
+ onIcon_changed?: ((...args: any[]) => any) | undefined;
43
+ onPosition_changed?: ((...args: any[]) => any) | undefined;
44
+ onShape_changed?: ((...args: any[]) => any) | undefined;
45
+ onTitle_changed?: ((...args: any[]) => any) | undefined;
46
+ onVisible_changed?: ((...args: any[]) => any) | undefined;
26
47
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
27
48
  export default _default;
@@ -27,9 +27,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
27
27
  };
28
28
  }>> & Readonly<{
29
29
  onClick?: ((...args: any[]) => any) | undefined;
30
+ "onGmp-click"?: ((...args: any[]) => any) | undefined;
30
31
  onClusteringbegin?: ((...args: any[]) => any) | undefined;
31
32
  onClusteringend?: ((...args: any[]) => any) | undefined;
32
- "onGmp-click"?: ((...args: any[]) => any) | undefined;
33
33
  }>, {
34
34
  options: MarkerClustererOptions;
35
35
  renderDebounceDelay: number;
@@ -6,12 +6,22 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
6
6
  };
7
7
  }>, {
8
8
  polygon: import("vue").Ref<google.maps.Polygon | undefined, google.maps.Polygon | undefined>;
9
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
9
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "dblclick" | "drag" | "dragend" | "dragstart" | "mousedown" | "mousemove" | "mouseout" | "mouseover" | "mouseup" | "rightclick")[], "click" | "dblclick" | "drag" | "dragend" | "dragstart" | "mousedown" | "mousemove" | "mouseout" | "mouseover" | "mouseup" | "rightclick", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
10
10
  options: {
11
11
  type: PropType<google.maps.PolygonOptions>;
12
12
  required: true;
13
13
  };
14
14
  }>> & Readonly<{
15
- [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
15
+ onClick?: ((...args: any[]) => any) | undefined;
16
+ onDblclick?: ((...args: any[]) => any) | undefined;
17
+ onDrag?: ((...args: any[]) => any) | undefined;
18
+ onDragend?: ((...args: any[]) => any) | undefined;
19
+ onDragstart?: ((...args: any[]) => any) | undefined;
20
+ onMousemove?: ((...args: any[]) => any) | undefined;
21
+ onMouseout?: ((...args: any[]) => any) | undefined;
22
+ onMouseover?: ((...args: any[]) => any) | undefined;
23
+ onRightclick?: ((...args: any[]) => any) | undefined;
24
+ onMousedown?: ((...args: any[]) => any) | undefined;
25
+ onMouseup?: ((...args: any[]) => any) | undefined;
16
26
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
17
27
  export default _default;
@@ -6,12 +6,22 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
6
6
  };
7
7
  }>, {
8
8
  polyline: import("vue").Ref<google.maps.Polyline | undefined, google.maps.Polyline | undefined>;
9
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
9
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "dblclick" | "drag" | "dragend" | "dragstart" | "mousedown" | "mousemove" | "mouseout" | "mouseover" | "mouseup" | "rightclick")[], "click" | "dblclick" | "drag" | "dragend" | "dragstart" | "mousedown" | "mousemove" | "mouseout" | "mouseover" | "mouseup" | "rightclick", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
10
10
  options: {
11
11
  type: PropType<google.maps.PolylineOptions>;
12
12
  required: true;
13
13
  };
14
14
  }>> & Readonly<{
15
- [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
15
+ onClick?: ((...args: any[]) => any) | undefined;
16
+ onDblclick?: ((...args: any[]) => any) | undefined;
17
+ onDrag?: ((...args: any[]) => any) | undefined;
18
+ onDragend?: ((...args: any[]) => any) | undefined;
19
+ onDragstart?: ((...args: any[]) => any) | undefined;
20
+ onMousemove?: ((...args: any[]) => any) | undefined;
21
+ onMouseout?: ((...args: any[]) => any) | undefined;
22
+ onMouseover?: ((...args: any[]) => any) | undefined;
23
+ onRightclick?: ((...args: any[]) => any) | undefined;
24
+ onMousedown?: ((...args: any[]) => any) | undefined;
25
+ onMouseup?: ((...args: any[]) => any) | undefined;
16
26
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
17
27
  export default _default;
@@ -1,5 +1,5 @@
1
1
  import { PropType } from "vue";
2
- export declare const rectangleEvents: string[];
2
+ export declare const rectangleEvents: readonly ["click", "dblclick", "drag", "dragend", "dragstart", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup", "rightclick", "bounds_changed"];
3
3
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
4
  options: {
5
5
  type: PropType<google.maps.RectangleOptions>;
@@ -7,12 +7,23 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
7
7
  };
8
8
  }>, {
9
9
  rectangle: import("vue").Ref<google.maps.Rectangle | undefined, google.maps.Rectangle | undefined>;
10
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
10
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "dblclick" | "drag" | "dragend" | "dragstart" | "mousedown" | "mousemove" | "mouseout" | "mouseover" | "mouseup" | "rightclick" | "bounds_changed")[], "click" | "dblclick" | "drag" | "dragend" | "dragstart" | "mousedown" | "mousemove" | "mouseout" | "mouseover" | "mouseup" | "rightclick" | "bounds_changed", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
11
11
  options: {
12
12
  type: PropType<google.maps.RectangleOptions>;
13
13
  required: true;
14
14
  };
15
15
  }>> & Readonly<{
16
- [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
16
+ onClick?: ((...args: any[]) => any) | undefined;
17
+ onDblclick?: ((...args: any[]) => any) | undefined;
18
+ onDrag?: ((...args: any[]) => any) | undefined;
19
+ onDragend?: ((...args: any[]) => any) | undefined;
20
+ onDragstart?: ((...args: any[]) => any) | undefined;
21
+ onMousemove?: ((...args: any[]) => any) | undefined;
22
+ onMouseout?: ((...args: any[]) => any) | undefined;
23
+ onMouseover?: ((...args: any[]) => any) | undefined;
24
+ onRightclick?: ((...args: any[]) => any) | undefined;
25
+ onBounds_changed?: ((...args: any[]) => any) | undefined;
26
+ onMousedown?: ((...args: any[]) => any) | undefined;
27
+ onMouseup?: ((...args: any[]) => any) | undefined;
17
28
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
18
29
  export default _default;
@@ -5,5 +5,5 @@ type IComponent<T> = T extends "Marker" ? google.maps.Marker : T extends "Polyli
5
5
  type IComponentOptions<T> = T extends "Marker" ? google.maps.MarkerOptions : T extends "Polyline" ? google.maps.PolylineOptions : T extends "Polygon" ? google.maps.PolygonOptions : T extends "Rectangle" ? google.maps.RectangleOptions : T extends "Circle" ? google.maps.CircleOptions : T extends typeof customMarkerClassSymbol ? google.maps.CustomMarkerOptions & {
6
6
  element?: HTMLElement;
7
7
  } : never;
8
- export declare const useSetupMapComponent: <T extends ICtorKey>(ctorKey: T, events: string[], options: Ref<IComponentOptions<T>>, emit: (event: string, ...args: unknown[]) => void) => Ref<IComponent<T> | undefined>;
8
+ export declare const useSetupMapComponent: <T extends ICtorKey>(ctorKey: T, events: readonly string[], options: Ref<IComponentOptions<T>>, emit: (event: any, ...args: any[]) => void) => Ref<IComponent<T> | undefined>;
9
9
  export {};
@@ -10,4 +10,4 @@ export declare const customMarkerClassSymbol: "CustomMarker";
10
10
  * was fully loaded (including its tiles) to decide their behavior
11
11
  */
12
12
  export declare const mapTilesLoadedSymbol: InjectionKey<Ref<boolean>>;
13
- export declare const polylineEvents: string[];
13
+ export declare const polylineEvents: readonly ["click", "dblclick", "drag", "dragend", "dragstart", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup", "rightclick"];
@@ -1,3 +1,17 @@
1
+ /**
2
+ * Snapshots the plain-data portions of an options object so it can be compared
3
+ * against a future value even if the source (or any of its nested arrays /
4
+ * objects) is mutated in place. This is what enables deep reactivity of
5
+ * `:options` props: without a snapshot insulated from in-place mutation, the
6
+ * change-detection `equal()` check would compare the live value against an old
7
+ * value that shares the same (already-mutated) nested references and therefore
8
+ * never detect a change.
9
+ *
10
+ * Plain objects and arrays are deep-cloned. Non-plain values — DOM nodes, class
11
+ * instances (e.g. `google.maps.LatLng`), and functions — are preserved by
12
+ * reference and compared by identity.
13
+ */
14
+ export declare function cloneOptions<T>(options: T): T;
1
15
  type ICustomMarkerInterface = google.maps.OverlayView & {
2
16
  getPosition(): google.maps.LatLng | null;
3
17
  getVisible(): boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue3-google-map",
3
- "version": "0.27.0",
3
+ "version": "0.27.2",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -44,59 +44,60 @@
44
44
  "clean": "rimraf dist/**/*",
45
45
  "lint": "npx eslint --ext .ts,.vue src playground --fix",
46
46
  "lint:check": "npx eslint --ext .ts,.vue src playground",
47
- "build:umd": "node ./scripts/build-umd.js",
47
+ "build:umd": "node ./scripts/build-umd.mjs",
48
48
  "build": "pnpm clean && vue-tsc --declaration --emitDeclarationOnly --project tsconfig.build.json && vite build && pnpm build:umd",
49
49
  "docs": "vitepress dev docs",
50
50
  "docs:dev": "vitepress dev docs",
51
51
  "docs:build": "vitepress build docs",
52
52
  "docs:serve": "vitepress serve docs",
53
- "release": "standard-version",
54
53
  "test": "jest",
54
+ "test:types": "pnpm run build && tsc --noEmit --project tsconfig.typetest.json",
55
55
  "test:watch": "jest --watch",
56
56
  "test:coverage": "jest --coverage"
57
57
  },
58
58
  "dependencies": {
59
- "@googlemaps/js-api-loader": "^2.0.1",
60
- "@googlemaps/markerclusterer": "^2.4.0",
59
+ "@googlemaps/js-api-loader": "^2.0.2",
60
+ "@googlemaps/markerclusterer": "^2.6.2",
61
61
  "fast-deep-equal": "^3.1.3",
62
62
  "lodash-es": "^4.17.21"
63
63
  },
64
64
  "devDependencies": {
65
- "@babel/core": "^7.28.0",
66
- "@googlemaps/jest-mocks": "^2.22.6",
67
- "@types/google.maps": "^3.58.1",
65
+ "@babel/core": "^7.29.0",
66
+ "@googlemaps/jest-mocks": "^2.22.8",
67
+ "@types/google.maps": "^3.64.0",
68
68
  "@types/jest": "^29.5.14",
69
69
  "@types/lodash-es": "^4.17.12",
70
70
  "@typescript-eslint/eslint-plugin": "^4.33.0",
71
71
  "@typescript-eslint/parser": "^4.33.0",
72
- "@vitejs/plugin-vue": "^4.3.1",
72
+ "@vitejs/plugin-vue": "^6.0.6",
73
73
  "@vue/eslint-config-prettier": "^6.0.0",
74
74
  "@vue/eslint-config-typescript": "^7.0.0",
75
- "@vue/test-utils": "^2.4.6",
75
+ "@vue/test-utils": "^2.4.10",
76
76
  "@vue/vue3-jest": "^29.2.6",
77
77
  "babel-jest": "29.7.0",
78
78
  "eslint": "^7.32.0",
79
79
  "eslint-config-prettier": "^8.10.0",
80
80
  "eslint-plugin-prettier": "^3.4.1",
81
81
  "eslint-plugin-vue": "^7.20.0",
82
+ "expect-type": "^1.3.0",
82
83
  "jest": "^29.7.0",
83
84
  "jest-environment-jsdom": "^29.7.0",
84
- "pnpm": "^10.13.1",
85
+ "pnpm": "^10.33.2",
85
86
  "prettier": "^2.8.8",
86
- "rimraf": "^5.0.1",
87
- "standard-version": "^9.5.0",
88
- "ts-jest": "^29.4.0",
89
- "typescript": "^5.1.6",
90
- "vite": "^4.5.3",
91
- "vite-plugin-css-injected-by-js": "^3.2.1",
92
- "vitepress": "^1.0.0-rc.40",
93
- "vue": "^3.3.4",
94
- "vue-tsc": "^3.0.3"
87
+ "rimraf": "^6.1.3",
88
+ "ts-jest": "^29.4.9",
89
+ "typescript": "^5.8.3",
90
+ "vite": "^8.0.10",
91
+ "vite-plugin-css-injected-by-js": "^5.0.1",
92
+ "vitepress": "^1.6.4",
93
+ "vue": "^3.5.33",
94
+ "vue-tsc": "^3.2.7"
95
95
  },
96
96
  "peerDependencies": {
97
97
  "vue": "^3"
98
98
  },
99
99
  "engines": {
100
100
  "node": ">=18.12.0"
101
- }
101
+ },
102
+ "packageManager": "pnpm@10.33.2"
102
103
  }