vue3-google-map 0.8.1 → 0.8.4

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.
package/dist/cjs/index.js CHANGED
@@ -1,22 +1,34 @@
1
- 'use strict';Object.defineProperty(exports,"__esModule",{value:!0});var vue=require("vue"),jsApiLoader=require("@googlemaps/js-api-loader");let mapSymbol=Symbol("map"),apiSymbol=Symbol("api"),mapWasLoadedSymbol=Symbol("mapwasloaded"),loaderInstance=vue.ref(null),polylineEvents="click dblclick drag dragend dragstart mousedown mousemove mouseout mouseover mouseup rightclick".split(" "),mapEvents="bounds_changed center_changed click dblclick drag dragend dragstart heading_changed idle maptypeid_changed mousemove mouseout mouseover projection_changed resize rightclick tilesloaded tilt_changed zoom_changed".split(" ");
2
- var _sfc_main$1=vue.defineComponent({props:{apiKey:{type:String,default:""},version:{type:String,default:"weekly"},libraries:{type:Array,default:()=>["places"]},region:{type:String,required:!1},language:{type:String,required:!1},backgroundColor:{type:String,required:!1},center:{type:Object,default:()=>({lat:0,lng:0})},clickableIcons:{type:Boolean,required:!1},controlSize:{type:Number,required:!1},disableDefaultUi:{type:Boolean,required:!1},disableDoubleClickZoom:{type:Boolean,required:!1},draggable:{type:Boolean,
3
- required:!1},draggableCursor:{type:String,required:!1},draggingCursor:{type:String,required:!1},fullscreenControl:{type:Boolean,required:!1},fullscreenControlPosition:{type:String,required:!1},gestureHandling:{type:String,required:!1},heading:{type:Number,required:!1},keyboardShortcuts:{type:Boolean,required:!1},mapTypeControl:{type:Boolean,required:!1},mapTypeControlOptions:{type:Object,required:!1},mapTypeId:{type:[Number,String],required:!1},maxZoom:{type:Number,required:!1},minZoom:{type:Number,
4
- required:!1},noClear:{type:Boolean,required:!1},panControl:{type:Boolean,required:!1},panControlPosition:{type:String,required:!1},restriction:{type:Object,required:!1},rotateControl:{type:Boolean,required:!1},rotateControlPosition:{type:String,required:!1},scaleControl:{type:Boolean,required:!1},scaleControlStyle:{type:Number,required:!1},scrollwheel:{type:Boolean,required:!1},streetView:{type:Object,required:!1},streetViewControl:{type:Boolean,required:!1},streetViewControlPosition:{type:String,
5
- required:!1},styles:{type:Array,required:!1},tilt:{type:Number,required:!1},zoom:{type:Number,required:!1},zoomControl:{type:Boolean,required:!1},zoomControlPosition:{type:String,required:!1}},emits:mapEvents,setup(a,{emit:d}){let e=vue.ref(null),f=vue.ref(!1),c=vue.ref(null),g=vue.ref(null),k=vue.ref(!1);vue.provide(mapSymbol,c);vue.provide(apiSymbol,g);vue.provide(mapWasLoadedSymbol,k);let l=()=>{const h={...a};Object.keys(h).forEach(a=>{void 0===h[a]&&delete h[a]});var b=a=>{var b;return a?{position:null===
6
- (b=g.value)||void 0===b?void 0:b.ControlPosition[a]}:{}};b={scaleControlOptions:a.scaleControlStyle?{style:a.scaleControlStyle}:{},panControlOptions:b(a.panControlPosition),zoomControlOptions:b(a.zoomControlPosition),rotateControlOptions:b(a.rotateControlPosition),streetViewControlOptions:b(a.streetViewControlPosition),fullscreenControlOptions:b(a.fullscreenControlPosition)};return{...h,...b}},m=vue.watch([g,c],([a,b])=>{a&&b&&(a.event.addListenerOnce(b,"tilesloaded",()=>{k.value=!0}),setTimeout(m,
7
- 0))},{immediate:!0}),n=()=>{try{const {apiKey:c,region:b,version:d,language:e,libraries:f}=a;loaderInstance.value=new jsApiLoader.Loader({apiKey:c,region:b,version:d,language:e,libraries:f})}catch(h){console.error(h)}};vue.onMounted(()=>{n();loaderInstance.value.load().then(()=>{g.value=google.maps;c.value=new google.maps.Map(e.value,l());mapEvents.forEach(a=>{var b;null===(b=c.value)||void 0===b?void 0:b.addListener(a,b=>d(a,b))});f.value=!0;let h=Object.keys(a).filter(a=>!["center","zoom"].includes(a)).map(b=>
8
- vue.toRef(a,b));vue.watch([()=>a.center,()=>a.zoom,...h],([a,h],[d,e])=>{var b,f,g;let {center:k,zoom:m,...n}=l();null===(b=c.value)||void 0===b?void 0:b.setOptions(n);void 0!==h&&h!==e&&(null===(f=c.value)||void 0===f?void 0:f.setZoom(h));h=!d||a.lng!==d.lng||a.lat!==d.lat;a&&h&&(null===(g=c.value)||void 0===g?void 0:g.panTo(a))})})});vue.onBeforeUnmount(()=>{var a;k.value=!1;c.value&&(null===(a=g.value)||void 0===a?void 0:a.event.clearInstanceListeners(c.value))});return{mapRef:e,ready:f,map:c,
9
- api:g}}});function styleInject(a,d){void 0===d&&(d={});d=d.insertAt;if(a&&"undefined"!==typeof document){var e=document.head||document.getElementsByTagName("head")[0],f=document.createElement("style");f.type="text/css";"top"===d?e.firstChild?e.insertBefore(f,e.firstChild):e.appendChild(f):e.appendChild(f);f.styleSheet?f.styleSheet.cssText=a:f.appendChild(document.createTextNode(a))}}var css_248z="\n.mapdiv[data-v-177d06e3] {\n width: 100%;\n height: 100%;\n}\n";styleInject(css_248z);
10
- let _withId=vue.withScopeId("data-v-177d06e3");vue.pushScopeId("data-v-177d06e3");let _hoisted_1$1={ref:"mapRef",class:"mapdiv"};vue.popScopeId();let _sfc_render$1=_withId((a,d,e,f,c,g)=>(vue.openBlock(),vue.createBlock("div",null,[vue.createVNode("div",_hoisted_1$1,null,512),vue.renderSlot(a.$slots,"default",{},void 0,!0)])));_sfc_main$1.render=_sfc_render$1;_sfc_main$1.__scopeId="data-v-177d06e3";
11
- let useSetupMapComponent=(a,d,e,f)=>{let c=null;const g=vue.ref(null),k=vue.inject(mapSymbol,vue.ref(null)),l=vue.inject(apiSymbol,vue.ref(null));vue.watch([k,e],(m,[n,h])=>{m=JSON.stringify(e.value)!==JSON.stringify(h)||k.value!==n;k.value&&l.value&&m&&(c?(c.setOptions(e.value),c.setMap(k.value)):(g.value=c=new l.value[a]({...e.value,map:k.value}),d.forEach(a=>{null===c||void 0===c?void 0:c.addListener(a,b=>f(a,b))})))},{immediate:!0});vue.onBeforeUnmount(()=>{var a;c&&(null===(a=l.value)||void 0===
12
- a?void 0:a.event.clearInstanceListeners(c),c.setMap(null))});return{component:g}},markerEvents="animation_changed click dblclick rightclick dragstart dragend drag mouseover mousedown mouseout mouseup draggable_changed clickable_changed contextmenu cursor_changed flat_changed rightclick zindex_changed icon_changed position_changed shape_changed title_changed visible_changed".split(" ");
13
- var Marker=vue.defineComponent({props:{options:{type:Object,required:!0}},emits:markerEvents,setup(a,{emit:d}){a=vue.toRef(a,"options");return{marker:useSetupMapComponent("Marker",markerEvents,a,d)}},render:()=>null}),Polyline=vue.defineComponent({props:{options:{type:Object,required:!0}},emits:polylineEvents,setup(a,{emit:d}){a=vue.toRef(a,"options");return{polyline:useSetupMapComponent("Polyline",polylineEvents,a,d)}},render:()=>null}),Polygon=vue.defineComponent({props:{options:{type:Object,required:!0}},
14
- emits:polylineEvents,setup(a,{emit:d}){a=vue.toRef(a,"options");return{polygon:useSetupMapComponent("Polygon",polylineEvents,a,d)}},render:()=>null});let rectangleEvents=polylineEvents.concat(["bounds_changed"]);var Rectangle=vue.defineComponent({props:{options:{type:Object,required:!0}},emits:rectangleEvents,setup(a,{emit:d}){a=vue.toRef(a,"options");return{rectangle:useSetupMapComponent("Rectangle",rectangleEvents,a,d)}},render:()=>null});
1
+ 'use strict';Object.defineProperty(exports,"__esModule",{value:!0});var vue=require("vue");let mapSymbol=Symbol("map"),apiSymbol=Symbol("api"),mapTilesLoadedSymbol=Symbol("mapTilesLoaded"),loaderInstance=vue.ref(null),polylineEvents="click dblclick drag dragend dragstart mousedown mousemove mouseout mouseover mouseup rightclick".split(" ");
2
+ var fastDeepEqual=function equal(a,b){if(a===b)return!0;if(a&&b&&"object"==typeof a&&"object"==typeof b){if(a.constructor!==b.constructor)return!1;var c;if(Array.isArray(a)){var d=a.length;if(d!=b.length)return!1;for(c=d;0!==c--;)if(!equal(a[c],b[c]))return!1;return!0}if(a.constructor===RegExp)return a.source===b.source&&a.flags===b.flags;if(a.valueOf!==Object.prototype.valueOf)return a.valueOf()===b.valueOf();if(a.toString!==Object.prototype.toString)return a.toString()===b.toString();var f=Object.keys(a);
3
+ d=f.length;if(d!==Object.keys(b).length)return!1;for(c=d;0!==c--;)if(!Object.prototype.hasOwnProperty.call(b,f[c]))return!1;for(c=d;0!==c--;)if(d=f[c],!equal(a[d],b[d]))return!1;return!0}return a!==a&&b!==b};let DEFAULT_ID="__googleMapsScriptId";
4
+ class Loader{constructor({apiKey:a,channel:b,client:e,id:c=DEFAULT_ID,libraries:d=[],language:f,region:g,version:l,mapIds:k,nonce:h,retries:m=3,url:p="https://maps.googleapis.com/maps/api/js"}){this.CALLBACK="__googleMapsCallback";this.callbacks=[];this.loading=this.done=!1;this.errors=[];this.version=l;this.apiKey=a;this.channel=b;this.client=e;this.id=c||DEFAULT_ID;this.libraries=d;this.language=f;this.region=g;this.mapIds=k;this.nonce=h;this.retries=m;this.url=p;if(Loader.instance){if(!fastDeepEqual(this.options,
5
+ Loader.instance.options))throw Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(Loader.instance.options)}`);return Loader.instance}Loader.instance=this}get options(){return{version:this.version,apiKey:this.apiKey,channel:this.channel,client:this.client,id:this.id,libraries:this.libraries,language:this.language,region:this.region,mapIds:this.mapIds,nonce:this.nonce,url:this.url}}get failed(){return this.done&&!this.loading&&this.errors.length>=
6
+ this.retries+1}createUrl(){let a=this.url;a+=`?callback=${this.CALLBACK}`;this.apiKey&&(a+=`&key=${this.apiKey}`);this.channel&&(a+=`&channel=${this.channel}`);this.client&&(a+=`&client=${this.client}`);0<this.libraries.length&&(a+=`&libraries=${this.libraries.join(",")}`);this.language&&(a+=`&language=${this.language}`);this.region&&(a+=`&region=${this.region}`);this.version&&(a+=`&v=${this.version}`);this.mapIds&&(a+=`&map_ids=${this.mapIds.join(",")}`);return a}deleteScript(){let a=document.getElementById(this.id);
7
+ a&&a.remove()}load(){return this.loadPromise()}loadPromise(){return new Promise((a,b)=>{this.loadCallback(e=>{e?b(e.error):a(window.google)})})}loadCallback(a){this.callbacks.push(a);this.execute()}setScript(){if(document.getElementById(this.id))this.callback();else{var a=this.createUrl(),b=document.createElement("script");b.id=this.id;b.type="text/javascript";b.src=a;b.onerror=this.loadErrorCallback.bind(this);b.defer=!0;b.async=!0;this.nonce&&(b.nonce=this.nonce);document.head.appendChild(b)}}reset(){this.deleteScript();
8
+ this.loading=this.done=!1;this.errors=[];this.onerrorEvent=null}resetIfRetryingFailed(){this.failed&&this.reset()}loadErrorCallback(a){this.errors.push(a);this.errors.length<=this.retries?(a=this.errors.length*Math.pow(2,this.errors.length),console.log(`Failed to load Google Maps script, retrying in ${a} ms.`),setTimeout(()=>{this.deleteScript();this.setScript()},a)):(this.onerrorEvent=a,this.callback())}setCallback(){window.__googleMapsCallback=this.callback.bind(this)}callback(){this.done=!0;this.loading=
9
+ !1;this.callbacks.forEach(a=>{a(this.onerrorEvent)});this.callbacks=[]}execute(){this.resetIfRetryingFailed();this.done?this.callback():window.google&&window.google.maps&&window.google.maps.version?(console.warn("Google Maps already loaded outside @googlemaps/js-api-loader.This may result in undesirable behavior as options and script parameters may not match."),this.callback()):this.loading||(this.loading=!0,this.setCallback(),this.setScript())}}let mapEvents="bounds_changed center_changed click dblclick drag dragend dragstart heading_changed idle maptypeid_changed mousemove mouseout mouseover projection_changed resize rightclick tilesloaded tilt_changed zoom_changed".split(" ");
10
+ var _sfc_main$2=vue.defineComponent({props:{apiKey:{type:String,default:""},version:{type:String,default:"weekly"},libraries:{type:Array,default:()=>["places"]},region:{type:String,required:!1},language:{type:String,required:!1},backgroundColor:{type:String,required:!1},center:{type:Object,default:()=>({lat:0,lng:0})},clickableIcons:{type:Boolean,required:!1,default:void 0},controlSize:{type:Number,required:!1},disableDefaultUi:{type:Boolean,required:!1,default:void 0},disableDoubleClickZoom:{type:Boolean,
11
+ required:!1,default:void 0},draggable:{type:Boolean,required:!1,default:void 0},draggableCursor:{type:String,required:!1},draggingCursor:{type:String,required:!1},fullscreenControl:{type:Boolean,required:!1,default:void 0},fullscreenControlPosition:{type:String,required:!1},gestureHandling:{type:String,required:!1},heading:{type:Number,required:!1},keyboardShortcuts:{type:Boolean,required:!1,default:void 0},mapTypeControl:{type:Boolean,required:!1,default:void 0},mapTypeControlOptions:{type:Object,
12
+ required:!1},mapTypeId:{type:[Number,String],required:!1},maxZoom:{type:Number,required:!1},minZoom:{type:Number,required:!1},noClear:{type:Boolean,required:!1,default:void 0},panControl:{type:Boolean,required:!1,default:void 0},panControlPosition:{type:String,required:!1},restriction:{type:Object,required:!1},rotateControl:{type:Boolean,required:!1,default:void 0},rotateControlPosition:{type:String,required:!1},scaleControl:{type:Boolean,required:!1,default:void 0},scaleControlStyle:{type:Number,
13
+ required:!1},scrollwheel:{type:Boolean,required:!1,default:void 0},streetView:{type:Object,required:!1},streetViewControl:{type:Boolean,required:!1,default:void 0},streetViewControlPosition:{type:String,required:!1},styles:{type:Array,required:!1},tilt:{type:Number,required:!1},zoom:{type:Number,required:!1},zoomControl:{type:Boolean,required:!1,default:void 0},zoomControlPosition:{type:String,required:!1}},emits:mapEvents,setup(a,{emit:b}){let e=vue.ref(null),c=vue.ref(!1),d=vue.ref(null),f=vue.ref(null),
14
+ g=vue.ref(!1);vue.provide(mapSymbol,d);vue.provide(apiSymbol,f);vue.provide(mapTilesLoadedSymbol,g);let l=()=>{const b={...a};Object.keys(b).forEach(a=>{void 0===b[a]&&delete b[a]});var c=a=>{var b;return a?{position:null===(b=f.value)||void 0===b?void 0:b.ControlPosition[a]}:{}};c={scaleControlOptions:a.scaleControlStyle?{style:a.scaleControlStyle}:{},panControlOptions:c(a.panControlPosition),zoomControlOptions:c(a.zoomControlPosition),rotateControlOptions:c(a.rotateControlPosition),streetViewControlOptions:c(a.streetViewControlPosition),
15
+ fullscreenControlOptions:c(a.fullscreenControlPosition),disableDefaultUI:a.disableDefaultUi};return{...b,...c}},k=vue.watch([f,d],([a,b])=>{a&&b&&(a.event.addListenerOnce(b,"tilesloaded",()=>{g.value=!0}),setTimeout(k,0))},{immediate:!0}),h=()=>{try{const {apiKey:b,region:c,version:d,language:e,libraries:f}=a;loaderInstance.value=new Loader({apiKey:b,region:c,version:d,language:e,libraries:f})}catch(m){console.error(m)}};vue.onMounted(()=>{h();loaderInstance.value.load().then(()=>{f.value=google.maps;
16
+ d.value=new google.maps.Map(e.value,l());mapEvents.forEach(a=>{var c;null===(c=d.value)||void 0===c?void 0:c.addListener(a,c=>b(a,c))});c.value=!0;let m=Object.keys(a).filter(a=>!["center","zoom"].includes(a)).map(b=>vue.toRef(a,b));vue.watch([()=>a.center,()=>a.zoom,...m],([a,b],[c,m])=>{var e,f,g;let {center:k,zoom:p,...h}=l();null===(e=d.value)||void 0===e?void 0:e.setOptions(h);void 0!==b&&b!==m&&(null===(f=d.value)||void 0===f?void 0:f.setZoom(b));b=!c||a.lng!==c.lng||a.lat!==c.lat;a&&b&&(null===
17
+ (g=d.value)||void 0===g?void 0:g.panTo(a))})})});vue.onBeforeUnmount(()=>{var a;g.value=!1;d.value&&(null===(a=f.value)||void 0===a?void 0:a.event.clearInstanceListeners(d.value))});return{mapRef:e,ready:c,map:d,api:f,mapTilesLoaded:g}}});
18
+ function styleInject(a,b){void 0===b&&(b={});b=b.insertAt;if(a&&"undefined"!==typeof document){var e=document.head||document.getElementsByTagName("head")[0],c=document.createElement("style");c.type="text/css";"top"===b?e.firstChild?e.insertBefore(c,e.firstChild):e.appendChild(c):e.appendChild(c);c.styleSheet?c.styleSheet.cssText=a:c.appendChild(document.createTextNode(a))}}var css_248z="\n.mapdiv[data-v-177d06e3] {\n width: 100%;\n height: 100%;\n}\n";styleInject(css_248z);let _withId=vue.withScopeId("data-v-177d06e3");
19
+ vue.pushScopeId("data-v-177d06e3");let _hoisted_1$2={ref:"mapRef",class:"mapdiv"};vue.popScopeId();let _sfc_render$2=_withId((a,b,e,c,d,f)=>(vue.openBlock(),vue.createBlock("div",null,[vue.createVNode("div",_hoisted_1$2,null,512),vue.renderSlot(a.$slots,"default",{ready:a.ready,map:a.map,api:a.api,mapTilesLoaded:a.mapTilesLoaded},void 0,!0)])));_sfc_main$2.render=_sfc_render$2;_sfc_main$2.__scopeId="data-v-177d06e3";
20
+ let useSetupMapComponent=(a,b,e,c)=>{let d=null;const f=vue.ref(null),g=vue.inject(mapSymbol,vue.ref(null)),l=vue.inject(apiSymbol,vue.ref(null));vue.watch([g,e],(k,[h,m])=>{k=JSON.stringify(e.value)!==JSON.stringify(m)||g.value!==h;g.value&&l.value&&k&&(d?(d.setOptions(e.value),d.setMap(g.value)):(f.value=d=new l.value[a]({...e.value,map:g.value}),b.forEach(a=>{null===d||void 0===d?void 0:d.addListener(a,b=>c(a,b))})))},{immediate:!0});vue.onBeforeUnmount(()=>{var a;d&&(null===(a=l.value)||void 0===
21
+ a?void 0:a.event.clearInstanceListeners(d),d.setMap(null))});return{component:f}},markerEvents="animation_changed click dblclick rightclick dragstart dragend drag mouseover mousedown mouseout mouseup draggable_changed clickable_changed contextmenu cursor_changed flat_changed rightclick zindex_changed icon_changed position_changed shape_changed title_changed visible_changed".split(" ");
22
+ var Marker=vue.defineComponent({props:{options:{type:Object,required:!0}},emits:markerEvents,setup(a,{emit:b}){a=vue.toRef(a,"options");return{marker:useSetupMapComponent("Marker",markerEvents,a,b)}},render:()=>null}),Polyline=vue.defineComponent({props:{options:{type:Object,required:!0}},emits:polylineEvents,setup(a,{emit:b}){a=vue.toRef(a,"options");return{polyline:useSetupMapComponent("Polyline",polylineEvents,a,b)}},render:()=>null}),Polygon=vue.defineComponent({props:{options:{type:Object,required:!0}},
23
+ emits:polylineEvents,setup(a,{emit:b}){a=vue.toRef(a,"options");return{polygon:useSetupMapComponent("Polygon",polylineEvents,a,b)}},render:()=>null});let rectangleEvents=polylineEvents.concat(["bounds_changed"]);var Rectangle=vue.defineComponent({props:{options:{type:Object,required:!0}},emits:rectangleEvents,setup(a,{emit:b}){a=vue.toRef(a,"options");return{rectangle:useSetupMapComponent("Rectangle",rectangleEvents,a,b)}},render:()=>null});
15
24
  let circleEvents=polylineEvents.concat(["center_changed","radius_changed"]);
16
- var Circle=vue.defineComponent({props:{options:{type:Object,required:!0}},emits:circleEvents,setup(a,{emit:d}){a=vue.toRef(a,"options");return{circle:useSetupMapComponent("Circle",circleEvents,a,d)}},render:()=>null}),_sfc_main=vue.defineComponent({props:{position:{type:String,required:!0},index:{type:Number,default:1}},emits:["content:loaded"],setup(a,{emit:d}){let e=vue.ref(null),f=vue.inject(mapSymbol,vue.ref(null)),c=vue.inject(apiSymbol,vue.ref(null)),g=vue.inject(mapWasLoadedSymbol,vue.ref(!1)),
17
- k=vue.ref(!1),l=vue.watch([g,c,e],([c,b,e])=>{b&&c&&e&&(m(a.position),k.value=!0,d("content:loaded"),setTimeout(l,0))},{immediate:!0}),m=a=>{f.value&&c.value&&e.value&&f.value.controls[c.value.ControlPosition[a]].push(e.value)},n=a=>{if(f.value&&c.value){let b=null;a=c.value.ControlPosition[a];f.value.controls[a].forEach((a,c)=>{a===e.value&&(b=c)});null!==b&&f.value.controls[a].removeAt(b)}};vue.onBeforeUnmount(()=>n(a.position));vue.watch(()=>a.position,(a,b)=>{n(b);m(a)});vue.watch(()=>a.index,
18
- c=>{c&&e.value&&(e.value.index=a.index)});return{controlRef:e,showContent:k}}});let _hoisted_1={ref:"controlRef"};function _sfc_render(a,d,e,f,c,g){return vue.openBlock(),vue.createBlock(vue.Fragment,null,[vue.createCommentVNode("\n v-show must be used instead of v-if otherwise there\n would be no rendered content pushed to the map controls\n "),vue.withDirectives(vue.createVNode("div",_hoisted_1,[vue.renderSlot(a.$slots,"default")],512),[[vue.vShow,a.showContent]])],2112)}
19
- _sfc_main.render=_sfc_render;
25
+ var Circle=vue.defineComponent({props:{options:{type:Object,required:!0}},emits:circleEvents,setup(a,{emit:b}){a=vue.toRef(a,"options");return{circle:useSetupMapComponent("Circle",circleEvents,a,b)}},render:()=>null}),_sfc_main$1=vue.defineComponent({props:{position:{type:String,required:!0},index:{type:Number,default:1}},emits:["content:loaded"],setup(a,{emit:b}){let e=vue.ref(null),c=vue.inject(mapSymbol,vue.ref(null)),d=vue.inject(apiSymbol,vue.ref(null)),f=vue.inject(mapTilesLoadedSymbol,vue.ref(!1)),
26
+ g=vue.ref(!1),l=vue.watch([f,d,e],([c,d,e])=>{d&&c&&e&&(k(a.position),g.value=!0,b("content:loaded"),setTimeout(l,0))},{immediate:!0}),k=a=>{c.value&&d.value&&e.value&&c.value.controls[d.value.ControlPosition[a]].push(e.value)},h=a=>{if(c.value&&d.value){let b=null;a=d.value.ControlPosition[a];c.value.controls[a].forEach((a,c)=>{a===e.value&&(b=c)});null!==b&&c.value.controls[a].removeAt(b)}};vue.onBeforeUnmount(()=>h(a.position));vue.watch(()=>a.position,(a,b)=>{h(b);k(a)});vue.watch(()=>a.index,
27
+ b=>{b&&e.value&&(e.value.index=a.index)});return{controlRef:e,showContent:g}}});let _hoisted_1$1={ref:"controlRef"};function _sfc_render$1(a,b,e,c,d,f){return vue.openBlock(),vue.createBlock(vue.Fragment,null,[vue.createCommentVNode("\n v-show must be used instead of v-if otherwise there\n would be no rendered content pushed to the map controls\n "),vue.withDirectives(vue.createVNode("div",_hoisted_1$1,[vue.renderSlot(a.$slots,"default")],512),[[vue.vShow,a.showContent]])],2112)}
28
+ _sfc_main$1.render=_sfc_render$1;let infoWindowEvents="closeclick content_changed domready position_changed visible zindex_changed".split(" ");
29
+ var _sfc_main=vue.defineComponent({props:{options:{type:Object,required:!0}},emits:infoWindowEvents,setup(a,{slots:b,emit:e}){let c,d=vue.ref(),f=vue.ref(),g=vue.inject(mapSymbol,vue.ref(null)),l=vue.inject(apiSymbol,vue.ref(null)),k=vue.inject(mapTilesLoadedSymbol,vue.ref(!1)),h=vue.computed(()=>{var a;return null===(a=b.default)||void 0===a?void 0:a.call(b).some(a=>a.type!==vue.Comment)});vue.watch([g,()=>a.options,k],([,a,b],[n,q,r])=>{n=JSON.stringify(a)!==JSON.stringify(q)||g.value!==n;g.value&&
30
+ l.value&&(n||b&&!r)&&(c?(c.setOptions({...a,content:h.value?f.value:a.content}),h.value&&!k.value||c.open({map:g.value})):(d.value=c=new l.value.InfoWindow({...a,content:h.value?f.value:a.content}),h.value&&!k.value||c.open({map:g.value}),infoWindowEvents.forEach(a=>{null===c||void 0===c?void 0:c.addListener(a,b=>e(a,b))})))},{immediate:!0});vue.onBeforeUnmount(()=>{var a;c&&(null===(a=l.value)||void 0===a?void 0:a.event.clearInstanceListeners(c),c.close())});return{infoWindow:d,infoWindowRef:f,hasSlotContent:h,
31
+ mapTilesLoaded:k}}});let _hoisted_1={key:0,ref:"infoWindowRef"};function _sfc_render(a,b,e,c,d,f){return a.hasSlotContent?vue.withDirectives((vue.openBlock(),vue.createBlock("div",_hoisted_1,[vue.renderSlot(a.$slots,"default")],512)),[[vue.vShow,a.mapTilesLoaded]]):vue.createCommentVNode("v-if",!0)}_sfc_main.render=_sfc_render;
20
32
  let aubergine=[{elementType:"geometry",stylers:[{color:"#1d2c4d"}]},{elementType:"labels.text.fill",stylers:[{color:"#8ec3b9"}]},{elementType:"labels.text.stroke",stylers:[{color:"#1a3646"}]},{featureType:"administrative.country",elementType:"geometry.stroke",stylers:[{color:"#4b6878"}]},{featureType:"administrative.land_parcel",elementType:"labels.text.fill",stylers:[{color:"#64779e"}]},{featureType:"administrative.province",elementType:"geometry.stroke",stylers:[{color:"#4b6878"}]},{featureType:"landscape.man_made",
21
33
  elementType:"geometry.stroke",stylers:[{color:"#334e87"}]},{featureType:"landscape.natural",elementType:"geometry",stylers:[{color:"#023e58"}]},{featureType:"poi",elementType:"geometry",stylers:[{color:"#283d6a"}]},{featureType:"poi",elementType:"labels.text.fill",stylers:[{color:"#6f9ba5"}]},{featureType:"poi",elementType:"labels.text.stroke",stylers:[{color:"#1d2c4d"}]},{featureType:"poi.park",elementType:"geometry.fill",stylers:[{color:"#023e58"}]},{featureType:"poi.park",elementType:"labels.text.fill",
22
34
  stylers:[{color:"#3C7680"}]},{featureType:"road",elementType:"geometry",stylers:[{color:"#304a7d"}]},{featureType:"road",elementType:"labels.text.fill",stylers:[{color:"#98a5be"}]},{featureType:"road",elementType:"labels.text.stroke",stylers:[{color:"#1d2c4d"}]},{featureType:"road.highway",elementType:"geometry",stylers:[{color:"#2c6675"}]},{featureType:"road.highway",elementType:"geometry.stroke",stylers:[{color:"#255763"}]},{featureType:"road.highway",elementType:"labels.text.fill",stylers:[{color:"#b0d5ce"}]},
@@ -41,5 +53,5 @@ stylers:[{visibility:"on"}]},{featureType:"road.highway",elementType:"geometry.f
41
53
  elementType:"geometry.fill",stylers:[{color:"#575757"}]},{featureType:"road.arterial",elementType:"labels.text.fill",stylers:[{color:"#ffffff"}]},{featureType:"road.arterial",elementType:"labels.text.stroke",stylers:[{color:"#2c2c2c"}]},{featureType:"road.local",elementType:"geometry",stylers:[{color:"#000000"},{lightness:16}]},{featureType:"road.local",elementType:"labels.text.fill",stylers:[{color:"#999999"}]},{featureType:"transit",elementType:"geometry",stylers:[{color:"#000000"},{lightness:19}]},
42
54
  {featureType:"water",elementType:"geometry",stylers:[{color:"#000000"},{lightness:17}]}],roadwaysMinimal=[...roadways,...minimal],ultraLight=[{featureType:"water",elementType:"geometry",stylers:[{color:"#e9e9e9"},{lightness:17}]},{featureType:"landscape",elementType:"geometry",stylers:[{color:"#f5f5f5"},{lightness:20}]},{featureType:"road.highway",elementType:"geometry.fill",stylers:[{color:"#ffffff"},{lightness:17}]},{featureType:"road.highway",elementType:"geometry.stroke",stylers:[{color:"#ffffff"},
43
55
  {lightness:29},{weight:.2}]},{featureType:"road.arterial",elementType:"geometry",stylers:[{color:"#ffffff"},{lightness:18}]},{featureType:"road.local",elementType:"geometry",stylers:[{color:"#ffffff"},{lightness:16}]},{featureType:"poi",elementType:"geometry",stylers:[{color:"#f5f5f5"},{lightness:21}]},{featureType:"poi.park",elementType:"geometry",stylers:[{color:"#dedede"},{lightness:21}]},{elementType:"labels.text.stroke",stylers:[{visibility:"on"},{color:"#ffffff"},{lightness:16}]},{elementType:"labels.text.fill",
44
- stylers:[{saturation:36},{color:"#333333"},{lightness:40}]},{elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"transit",elementType:"geometry",stylers:[{color:"#f2f2f2"},{lightness:19}]},{featureType:"administrative",elementType:"geometry.fill",stylers:[{color:"#fefefe"},{lightness:20}]},{featureType:"administrative",elementType:"geometry.stroke",stylers:[{color:"#fefefe"},{lightness:17},{weight:1.2}]}];exports.Circle=Circle;exports.CustomControl=_sfc_main;exports.GoogleMap=_sfc_main$1;
45
- exports.Marker=Marker;exports.Polygon=Polygon;exports.Polyline=Polyline;exports.Rectangle=Rectangle;exports.aubergine=aubergine;exports.dark=dark;exports.grey=grey;exports.minimal=minimal;exports.retro=retro;exports.roadways=roadways;exports.roadwaysMinimal=roadwaysMinimal;exports.ultraLight=ultraLight
56
+ stylers:[{saturation:36},{color:"#333333"},{lightness:40}]},{elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"transit",elementType:"geometry",stylers:[{color:"#f2f2f2"},{lightness:19}]},{featureType:"administrative",elementType:"geometry.fill",stylers:[{color:"#fefefe"},{lightness:20}]},{featureType:"administrative",elementType:"geometry.stroke",stylers:[{color:"#fefefe"},{lightness:17},{weight:1.2}]}];exports.Circle=Circle;exports.CustomControl=_sfc_main$1;
57
+ exports.GoogleMap=_sfc_main$2;exports.InfoWindow=_sfc_main;exports.Marker=Marker;exports.Polygon=Polygon;exports.Polyline=Polyline;exports.Rectangle=Rectangle;exports.aubergine=aubergine;exports.dark=dark;exports.grey=grey;exports.minimal=minimal;exports.retro=retro;exports.roadways=roadways;exports.roadwaysMinimal=roadwaysMinimal;exports.ultraLight=ultraLight
package/dist/es/index.js CHANGED
@@ -1,30 +1,42 @@
1
- import{Loader}from'@googlemaps/js-api-loader';import{ref,defineComponent,provide,watch,onMounted,toRef,onBeforeUnmount,pushScopeId,popScopeId,openBlock,createBlock,createVNode,renderSlot,withScopeId,inject,Fragment,createCommentVNode,withDirectives,vShow}from'vue';let p=Symbol("map"),q=Symbol("api"),r=Symbol("mapwasloaded"),t=ref(null),u="click dblclick drag dragend dragstart mousedown mousemove mouseout mouseover mouseup rightclick".split(" "),v="bounds_changed center_changed click dblclick drag dragend dragstart heading_changed idle maptypeid_changed mousemove mouseout mouseover projection_changed resize rightclick tilesloaded tilt_changed zoom_changed".split(" ");
2
- var w=defineComponent({props:{apiKey:{type:String,default:""},version:{type:String,default:"weekly"},libraries:{type:Array,default:()=>["places"]},region:{type:String,required:!1},language:{type:String,required:!1},backgroundColor:{type:String,required:!1},center:{type:Object,default:()=>({lat:0,lng:0})},clickableIcons:{type:Boolean,required:!1},controlSize:{type:Number,required:!1},disableDefaultUi:{type:Boolean,required:!1},disableDoubleClickZoom:{type:Boolean,required:!1},draggable:{type:Boolean,
3
- required:!1},draggableCursor:{type:String,required:!1},draggingCursor:{type:String,required:!1},fullscreenControl:{type:Boolean,required:!1},fullscreenControlPosition:{type:String,required:!1},gestureHandling:{type:String,required:!1},heading:{type:Number,required:!1},keyboardShortcuts:{type:Boolean,required:!1},mapTypeControl:{type:Boolean,required:!1},mapTypeControlOptions:{type:Object,required:!1},mapTypeId:{type:[Number,String],required:!1},maxZoom:{type:Number,required:!1},minZoom:{type:Number,
4
- required:!1},noClear:{type:Boolean,required:!1},panControl:{type:Boolean,required:!1},panControlPosition:{type:String,required:!1},restriction:{type:Object,required:!1},rotateControl:{type:Boolean,required:!1},rotateControlPosition:{type:String,required:!1},scaleControl:{type:Boolean,required:!1},scaleControlStyle:{type:Number,required:!1},scrollwheel:{type:Boolean,required:!1},streetView:{type:Object,required:!1},streetViewControl:{type:Boolean,required:!1},streetViewControlPosition:{type:String,
5
- required:!1},styles:{type:Array,required:!1},tilt:{type:Number,required:!1},zoom:{type:Number,required:!1},zoomControl:{type:Boolean,required:!1},zoomControlPosition:{type:String,required:!1}},emits:v,setup(a,{emit:d}){let f=ref(null),k=ref(!1),c=ref(null),h=ref(null),g=ref(!1);provide(p,c);provide(q,h);provide(r,g);let l=()=>{const e={...a};Object.keys(e).forEach(a=>{void 0===e[a]&&delete e[a]});var b=a=>{var b;return a?{position:null===(b=h.value)||void 0===b?void 0:b.ControlPosition[a]}:{}};b=
6
- {scaleControlOptions:a.scaleControlStyle?{style:a.scaleControlStyle}:{},panControlOptions:b(a.panControlPosition),zoomControlOptions:b(a.zoomControlPosition),rotateControlOptions:b(a.rotateControlPosition),streetViewControlOptions:b(a.streetViewControlPosition),fullscreenControlOptions:b(a.fullscreenControlPosition)};return{...e,...b}},m=watch([h,c],([a,b])=>{a&&b&&(a.event.addListenerOnce(b,"tilesloaded",()=>{g.value=!0}),setTimeout(m,0))},{immediate:!0}),n=()=>{try{const {apiKey:e,region:b,version:c,
7
- language:d,libraries:f}=a;t.value=new Loader({apiKey:e,region:b,version:c,language:d,libraries:f})}catch(e){console.error(e)}};onMounted(()=>{n();t.value.load().then(()=>{h.value=google.maps;c.value=new google.maps.Map(f.value,l());v.forEach(a=>{var b;null===(b=c.value)||void 0===b?void 0:b.addListener(a,b=>d(a,b))});k.value=!0;let e=Object.keys(a).filter(a=>!["center","zoom"].includes(a)).map(b=>toRef(a,b));watch([()=>a.center,()=>a.zoom,...e],([a,e],[d,f])=>{var b,g,h;let {center:m,zoom:k,...n}=
8
- l();null===(b=c.value)||void 0===b?void 0:b.setOptions(n);void 0!==e&&e!==f&&(null===(g=c.value)||void 0===g?void 0:g.setZoom(e));e=!d||a.lng!==d.lng||a.lat!==d.lat;a&&e&&(null===(h=c.value)||void 0===h?void 0:h.panTo(a))})})});onBeforeUnmount(()=>{var a;g.value=!1;c.value&&(null===(a=h.value)||void 0===a?void 0:a.event.clearInstanceListeners(c.value))});return{mapRef:f,ready:k,map:c,api:h}}});var x=void 0;void 0===x&&(x={});var y=x.insertAt;
9
- if("undefined"!==typeof document){var z=document.head||document.getElementsByTagName("head")[0],A=document.createElement("style");A.type="text/css";"top"===y?z.firstChild?z.insertBefore(A,z.firstChild):z.appendChild(A):z.appendChild(A);A.styleSheet?A.styleSheet.cssText="\n.mapdiv[data-v-177d06e3] {\n width: 100%;\n height: 100%;\n}\n":A.appendChild(document.createTextNode("\n.mapdiv[data-v-177d06e3] {\n width: 100%;\n height: 100%;\n}\n"))}let B=withScopeId("data-v-177d06e3");pushScopeId("data-v-177d06e3");
10
- let C={ref:"mapRef",class:"mapdiv"};popScopeId();let D=B(a=>(openBlock(),createBlock("div",null,[createVNode("div",C,null,512),renderSlot(a.$slots,"default",{},void 0,!0)])));w.render=D;w.__scopeId="data-v-177d06e3";
11
- let E=(a,d,f,k)=>{let c=null;const h=ref(null),g=inject(p,ref(null)),l=inject(q,ref(null));watch([g,f],(m,[n,e])=>{m=JSON.stringify(f.value)!==JSON.stringify(e)||g.value!==n;g.value&&l.value&&m&&(c?(c.setOptions(f.value),c.setMap(g.value)):(h.value=c=new l.value[a]({...f.value,map:g.value}),d.forEach(a=>{null===c||void 0===c?void 0:c.addListener(a,b=>k(a,b))})))},{immediate:!0});onBeforeUnmount(()=>{var a;c&&(null===(a=l.value)||void 0===a?void 0:a.event.clearInstanceListeners(c),c.setMap(null))});
12
- return{component:h}},F="animation_changed click dblclick rightclick dragstart dragend drag mouseover mousedown mouseout mouseup draggable_changed clickable_changed contextmenu cursor_changed flat_changed rightclick zindex_changed icon_changed position_changed shape_changed title_changed visible_changed".split(" ");
13
- var G=defineComponent({props:{options:{type:Object,required:!0}},emits:F,setup(a,{emit:d}){a=toRef(a,"options");return{marker:E("Marker",F,a,d)}},render:()=>null}),H=defineComponent({props:{options:{type:Object,required:!0}},emits:u,setup(a,{emit:d}){a=toRef(a,"options");return{polyline:E("Polyline",u,a,d)}},render:()=>null}),I=defineComponent({props:{options:{type:Object,required:!0}},emits:u,setup(a,{emit:d}){a=toRef(a,"options");return{polygon:E("Polygon",u,a,d)}},render:()=>null});let J=u.concat(["bounds_changed"]);
14
- var K=defineComponent({props:{options:{type:Object,required:!0}},emits:J,setup(a,{emit:d}){a=toRef(a,"options");return{rectangle:E("Rectangle",J,a,d)}},render:()=>null});let L=u.concat(["center_changed","radius_changed"]);
15
- var M=defineComponent({props:{options:{type:Object,required:!0}},emits:L,setup(a,{emit:d}){a=toRef(a,"options");return{circle:E("Circle",L,a,d)}},render:()=>null}),N=defineComponent({props:{position:{type:String,required:!0},index:{type:Number,default:1}},emits:["content:loaded"],setup(a,{emit:d}){let f=ref(null),k=inject(p,ref(null)),c=inject(q,ref(null)),h=inject(r,ref(!1)),g=ref(!1),l=watch([h,c,f],([e,b,c])=>{b&&e&&c&&(m(a.position),g.value=!0,d("content:loaded"),setTimeout(l,0))},{immediate:!0}),
16
- m=a=>{k.value&&c.value&&f.value&&k.value.controls[c.value.ControlPosition[a]].push(f.value)},n=a=>{if(k.value&&c.value){let b=null;a=c.value.ControlPosition[a];k.value.controls[a].forEach((a,c)=>{a===f.value&&(b=c)});null!==b&&k.value.controls[a].removeAt(b)}};onBeforeUnmount(()=>n(a.position));watch(()=>a.position,(a,b)=>{n(b);m(a)});watch(()=>a.index,c=>{c&&f.value&&(f.value.index=a.index)});return{controlRef:f,showContent:g}}});let O={ref:"controlRef"};
17
- N.render=function(a){return openBlock(),createBlock(Fragment,null,[createCommentVNode("\n v-show must be used instead of v-if otherwise there\n would be no rendered content pushed to the map controls\n "),withDirectives(createVNode("div",O,[renderSlot(a.$slots,"default")],512),[[vShow,a.showContent]])],2112)};
18
- let P=[{featureType:"administrative.land_parcel",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"administrative.land_parcel",elementType:"geometry.stroke",stylers:[{visibility:"off"},{weight:7}]},{featureType:"administrative.locality",elementType:"geometry.stroke",stylers:[{visibility:"on"}]},{featureType:"administrative.locality",elementType:"labels.text.fill",stylers:[{visibility:"on"}]},{featureType:"administrative.locality",elementType:"labels.text.stroke",stylers:[{visibility:"on"}]},
1
+ import{ref,defineComponent,provide,watch,onMounted,toRef,onBeforeUnmount,pushScopeId,popScopeId,openBlock,createBlock,createVNode,renderSlot,withScopeId,inject,Fragment,createCommentVNode,withDirectives,vShow,computed,Comment}from'vue';let n=Symbol("map"),p=Symbol("api"),q=Symbol("mapTilesLoaded"),r=ref(null),t="click dblclick drag dragend dragstart mousedown mousemove mouseout mouseover mouseup rightclick".split(" ");
2
+ var v=function u(a,b){if(a===b)return!0;if(a&&b&&"object"==typeof a&&"object"==typeof b){if(a.constructor!==b.constructor)return!1;var d;if(Array.isArray(a)){var c=a.length;if(c!=b.length)return!1;for(d=c;0!==d--;)if(!u(a[d],b[d]))return!1;return!0}if(a.constructor===RegExp)return a.source===b.source&&a.flags===b.flags;if(a.valueOf!==Object.prototype.valueOf)return a.valueOf()===b.valueOf();if(a.toString!==Object.prototype.toString)return a.toString()===b.toString();var f=Object.keys(a);c=f.length;
3
+ if(c!==Object.keys(b).length)return!1;for(d=c;0!==d--;)if(!Object.prototype.hasOwnProperty.call(b,f[d]))return!1;for(d=c;0!==d--;)if(c=f[d],!u(a[c],b[c]))return!1;return!0}return a!==a&&b!==b};
4
+ class w{constructor({apiKey:a,channel:b,client:e,id:d="__googleMapsScriptId",libraries:c=[],language:f,region:g,version:m,mapIds:l,nonce:k,retries:h=3,url:C="https://maps.googleapis.com/maps/api/js"}){this.CALLBACK="__googleMapsCallback";this.callbacks=[];this.loading=this.done=!1;this.errors=[];this.version=m;this.apiKey=a;this.channel=b;this.client=e;this.id=d||"__googleMapsScriptId";this.libraries=c;this.language=f;this.region=g;this.mapIds=l;this.nonce=k;this.retries=h;this.url=C;if(w.instance){if(!v(this.options,
5
+ w.instance.options))throw Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(w.instance.options)}`);return w.instance}w.instance=this}get options(){return{version:this.version,apiKey:this.apiKey,channel:this.channel,client:this.client,id:this.id,libraries:this.libraries,language:this.language,region:this.region,mapIds:this.mapIds,nonce:this.nonce,url:this.url}}get failed(){return this.done&&!this.loading&&this.errors.length>=this.retries+
6
+ 1}createUrl(){let a=this.url;a+=`?callback=${this.CALLBACK}`;this.apiKey&&(a+=`&key=${this.apiKey}`);this.channel&&(a+=`&channel=${this.channel}`);this.client&&(a+=`&client=${this.client}`);0<this.libraries.length&&(a+=`&libraries=${this.libraries.join(",")}`);this.language&&(a+=`&language=${this.language}`);this.region&&(a+=`&region=${this.region}`);this.version&&(a+=`&v=${this.version}`);this.mapIds&&(a+=`&map_ids=${this.mapIds.join(",")}`);return a}deleteScript(){let a=document.getElementById(this.id);
7
+ a&&a.remove()}load(){return this.loadPromise()}loadPromise(){return new Promise((a,b)=>{this.loadCallback(e=>{e?b(e.error):a(window.google)})})}loadCallback(a){this.callbacks.push(a);this.execute()}setScript(){if(document.getElementById(this.id))this.callback();else{var a=this.createUrl(),b=document.createElement("script");b.id=this.id;b.type="text/javascript";b.src=a;b.onerror=this.loadErrorCallback.bind(this);b.defer=!0;b.async=!0;this.nonce&&(b.nonce=this.nonce);document.head.appendChild(b)}}reset(){this.deleteScript();
8
+ this.loading=this.done=!1;this.errors=[];this.onerrorEvent=null}resetIfRetryingFailed(){this.failed&&this.reset()}loadErrorCallback(a){this.errors.push(a);this.errors.length<=this.retries?(a=this.errors.length*Math.pow(2,this.errors.length),console.log(`Failed to load Google Maps script, retrying in ${a} ms.`),setTimeout(()=>{this.deleteScript();this.setScript()},a)):(this.onerrorEvent=a,this.callback())}setCallback(){window.__googleMapsCallback=this.callback.bind(this)}callback(){this.done=!0;this.loading=
9
+ !1;this.callbacks.forEach(a=>{a(this.onerrorEvent)});this.callbacks=[]}execute(){this.resetIfRetryingFailed();this.done?this.callback():window.google&&window.google.maps&&window.google.maps.version?(console.warn("Google Maps already loaded outside @googlemaps/js-api-loader.This may result in undesirable behavior as options and script parameters may not match."),this.callback()):this.loading||(this.loading=!0,this.setCallback(),this.setScript())}}let y="bounds_changed center_changed click dblclick drag dragend dragstart heading_changed idle maptypeid_changed mousemove mouseout mouseover projection_changed resize rightclick tilesloaded tilt_changed zoom_changed".split(" ");
10
+ var z=defineComponent({props:{apiKey:{type:String,default:""},version:{type:String,default:"weekly"},libraries:{type:Array,default:()=>["places"]},region:{type:String,required:!1},language:{type:String,required:!1},backgroundColor:{type:String,required:!1},center:{type:Object,default:()=>({lat:0,lng:0})},clickableIcons:{type:Boolean,required:!1,default:void 0},controlSize:{type:Number,required:!1},disableDefaultUi:{type:Boolean,required:!1,default:void 0},disableDoubleClickZoom:{type:Boolean,required:!1,
11
+ default:void 0},draggable:{type:Boolean,required:!1,default:void 0},draggableCursor:{type:String,required:!1},draggingCursor:{type:String,required:!1},fullscreenControl:{type:Boolean,required:!1,default:void 0},fullscreenControlPosition:{type:String,required:!1},gestureHandling:{type:String,required:!1},heading:{type:Number,required:!1},keyboardShortcuts:{type:Boolean,required:!1,default:void 0},mapTypeControl:{type:Boolean,required:!1,default:void 0},mapTypeControlOptions:{type:Object,required:!1},
12
+ mapTypeId:{type:[Number,String],required:!1},maxZoom:{type:Number,required:!1},minZoom:{type:Number,required:!1},noClear:{type:Boolean,required:!1,default:void 0},panControl:{type:Boolean,required:!1,default:void 0},panControlPosition:{type:String,required:!1},restriction:{type:Object,required:!1},rotateControl:{type:Boolean,required:!1,default:void 0},rotateControlPosition:{type:String,required:!1},scaleControl:{type:Boolean,required:!1,default:void 0},scaleControlStyle:{type:Number,required:!1},
13
+ scrollwheel:{type:Boolean,required:!1,default:void 0},streetView:{type:Object,required:!1},streetViewControl:{type:Boolean,required:!1,default:void 0},streetViewControlPosition:{type:String,required:!1},styles:{type:Array,required:!1},tilt:{type:Number,required:!1},zoom:{type:Number,required:!1},zoomControl:{type:Boolean,required:!1,default:void 0},zoomControlPosition:{type:String,required:!1}},emits:y,setup(a,{emit:b}){let e=ref(null),d=ref(!1),c=ref(null),f=ref(null),g=ref(!1);provide(n,c);provide(p,
14
+ f);provide(q,g);let m=()=>{const h={...a};Object.keys(h).forEach(a=>{void 0===h[a]&&delete h[a]});var b=a=>{var b;return a?{position:null===(b=f.value)||void 0===b?void 0:b.ControlPosition[a]}:{}};b={scaleControlOptions:a.scaleControlStyle?{style:a.scaleControlStyle}:{},panControlOptions:b(a.panControlPosition),zoomControlOptions:b(a.zoomControlPosition),rotateControlOptions:b(a.rotateControlPosition),streetViewControlOptions:b(a.streetViewControlPosition),fullscreenControlOptions:b(a.fullscreenControlPosition),
15
+ disableDefaultUI:a.disableDefaultUi};return{...h,...b}},l=watch([f,c],([a,b])=>{a&&b&&(a.event.addListenerOnce(b,"tilesloaded",()=>{g.value=!0}),setTimeout(l,0))},{immediate:!0}),k=()=>{try{const {apiKey:b,region:c,version:d,language:e,libraries:f}=a;r.value=new w({apiKey:b,region:c,version:d,language:e,libraries:f})}catch(h){console.error(h)}};onMounted(()=>{k();r.value.load().then(()=>{f.value=google.maps;c.value=new google.maps.Map(e.value,m());y.forEach(a=>{var h;null===(h=c.value)||void 0===
16
+ h?void 0:h.addListener(a,h=>b(a,h))});d.value=!0;let h=Object.keys(a).filter(a=>!["center","zoom"].includes(a)).map(b=>toRef(a,b));watch([()=>a.center,()=>a.zoom,...h],([a,b],[h,d])=>{var e,f,g;let {center:l,zoom:C,...k}=m();null===(e=c.value)||void 0===e?void 0:e.setOptions(k);void 0!==b&&b!==d&&(null===(f=c.value)||void 0===f?void 0:f.setZoom(b));b=!h||a.lng!==h.lng||a.lat!==h.lat;a&&b&&(null===(g=c.value)||void 0===g?void 0:g.panTo(a))})})});onBeforeUnmount(()=>{var a;g.value=!1;c.value&&(null===
17
+ (a=f.value)||void 0===a?void 0:a.event.clearInstanceListeners(c.value))});return{mapRef:e,ready:d,map:c,api:f,mapTilesLoaded:g}}});var A=void 0;void 0===A&&(A={});var B=A.insertAt;
18
+ if("undefined"!==typeof document){var D=document.head||document.getElementsByTagName("head")[0],E=document.createElement("style");E.type="text/css";"top"===B?D.firstChild?D.insertBefore(E,D.firstChild):D.appendChild(E):D.appendChild(E);E.styleSheet?E.styleSheet.cssText="\n.mapdiv[data-v-177d06e3] {\n width: 100%;\n height: 100%;\n}\n":E.appendChild(document.createTextNode("\n.mapdiv[data-v-177d06e3] {\n width: 100%;\n height: 100%;\n}\n"))}let F=withScopeId("data-v-177d06e3");pushScopeId("data-v-177d06e3");
19
+ let G={ref:"mapRef",class:"mapdiv"};popScopeId();let H=F(a=>(openBlock(),createBlock("div",null,[createVNode("div",G,null,512),renderSlot(a.$slots,"default",{ready:a.ready,map:a.map,api:a.api,mapTilesLoaded:a.mapTilesLoaded},void 0,!0)])));z.render=H;z.__scopeId="data-v-177d06e3";
20
+ let I=(a,b,e,d)=>{let c=null;const f=ref(null),g=inject(n,ref(null)),m=inject(p,ref(null));watch([g,e],(l,[k,h])=>{l=JSON.stringify(e.value)!==JSON.stringify(h)||g.value!==k;g.value&&m.value&&l&&(c?(c.setOptions(e.value),c.setMap(g.value)):(f.value=c=new m.value[a]({...e.value,map:g.value}),b.forEach(a=>{null===c||void 0===c?void 0:c.addListener(a,b=>d(a,b))})))},{immediate:!0});onBeforeUnmount(()=>{var a;c&&(null===(a=m.value)||void 0===a?void 0:a.event.clearInstanceListeners(c),c.setMap(null))});
21
+ return{component:f}},J="animation_changed click dblclick rightclick dragstart dragend drag mouseover mousedown mouseout mouseup draggable_changed clickable_changed contextmenu cursor_changed flat_changed rightclick zindex_changed icon_changed position_changed shape_changed title_changed visible_changed".split(" ");
22
+ var K=defineComponent({props:{options:{type:Object,required:!0}},emits:J,setup(a,{emit:b}){a=toRef(a,"options");return{marker:I("Marker",J,a,b)}},render:()=>null}),L=defineComponent({props:{options:{type:Object,required:!0}},emits:t,setup(a,{emit:b}){a=toRef(a,"options");return{polyline:I("Polyline",t,a,b)}},render:()=>null}),M=defineComponent({props:{options:{type:Object,required:!0}},emits:t,setup(a,{emit:b}){a=toRef(a,"options");return{polygon:I("Polygon",t,a,b)}},render:()=>null});let P=t.concat(["bounds_changed"]);
23
+ var Q=defineComponent({props:{options:{type:Object,required:!0}},emits:P,setup(a,{emit:b}){a=toRef(a,"options");return{rectangle:I("Rectangle",P,a,b)}},render:()=>null});let R=t.concat(["center_changed","radius_changed"]);
24
+ var S=defineComponent({props:{options:{type:Object,required:!0}},emits:R,setup(a,{emit:b}){a=toRef(a,"options");return{circle:I("Circle",R,a,b)}},render:()=>null}),T=defineComponent({props:{position:{type:String,required:!0},index:{type:Number,default:1}},emits:["content:loaded"],setup(a,{emit:b}){let e=ref(null),d=inject(n,ref(null)),c=inject(p,ref(null)),f=inject(q,ref(!1)),g=ref(!1),m=watch([f,c,e],([h,c,d])=>{c&&h&&d&&(l(a.position),g.value=!0,b("content:loaded"),setTimeout(m,0))},{immediate:!0}),
25
+ l=a=>{d.value&&c.value&&e.value&&d.value.controls[c.value.ControlPosition[a]].push(e.value)},k=a=>{if(d.value&&c.value){let b=null;a=c.value.ControlPosition[a];d.value.controls[a].forEach((a,c)=>{a===e.value&&(b=c)});null!==b&&d.value.controls[a].removeAt(b)}};onBeforeUnmount(()=>k(a.position));watch(()=>a.position,(a,b)=>{k(b);l(a)});watch(()=>a.index,b=>{b&&e.value&&(e.value.index=a.index)});return{controlRef:e,showContent:g}}});let U={ref:"controlRef"};
26
+ T.render=function(a){return openBlock(),createBlock(Fragment,null,[createCommentVNode("\n v-show must be used instead of v-if otherwise there\n would be no rendered content pushed to the map controls\n "),withDirectives(createVNode("div",U,[renderSlot(a.$slots,"default")],512),[[vShow,a.showContent]])],2112)};let V="closeclick content_changed domready position_changed visible zindex_changed".split(" ");
27
+ var W=defineComponent({props:{options:{type:Object,required:!0}},emits:V,setup(a,{slots:b,emit:e}){let d,c=ref(),f=ref(),g=inject(n,ref(null)),m=inject(p,ref(null)),l=inject(q,ref(!1)),k=computed(()=>{var a;return null===(a=b.default)||void 0===a?void 0:a.call(b).some(a=>a.type!==Comment)});watch([g,()=>a.options,l],([,a,b],[x,N,O])=>{x=JSON.stringify(a)!==JSON.stringify(N)||g.value!==x;g.value&&m.value&&(x||b&&!O)&&(d?(d.setOptions({...a,content:k.value?f.value:a.content}),k.value&&!l.value||d.open({map:g.value})):
28
+ (c.value=d=new m.value.InfoWindow({...a,content:k.value?f.value:a.content}),k.value&&!l.value||d.open({map:g.value}),V.forEach(a=>{null===d||void 0===d?void 0:d.addListener(a,b=>e(a,b))})))},{immediate:!0});onBeforeUnmount(()=>{var a;d&&(null===(a=m.value)||void 0===a?void 0:a.event.clearInstanceListeners(d),d.close())});return{infoWindow:c,infoWindowRef:f,hasSlotContent:k,mapTilesLoaded:l}}});let X={key:0,ref:"infoWindowRef"};
29
+ W.render=function(a){return a.hasSlotContent?withDirectives((openBlock(),createBlock("div",X,[renderSlot(a.$slots,"default")],512)),[[vShow,a.mapTilesLoaded]]):createCommentVNode("v-if",!0)};
30
+ let Y=[{featureType:"administrative.land_parcel",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"administrative.land_parcel",elementType:"geometry.stroke",stylers:[{visibility:"off"},{weight:7}]},{featureType:"administrative.locality",elementType:"geometry.stroke",stylers:[{visibility:"on"}]},{featureType:"administrative.locality",elementType:"labels.text.fill",stylers:[{visibility:"on"}]},{featureType:"administrative.locality",elementType:"labels.text.stroke",stylers:[{visibility:"on"}]},
19
31
  {featureType:"administrative.neighborhood",stylers:[{visibility:"off"}]},{featureType:"administrative.neighborhood",elementType:"geometry.fill",stylers:[{color:"#00ff28"},{visibility:"on"},{weight:2}]},{featureType:"administrative.neighborhood",elementType:"geometry.stroke",stylers:[{color:"#00ff28"},{visibility:"on"}]},{featureType:"administrative.neighborhood",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"administrative.neighborhood",elementType:"labels.text.stroke",stylers:[{visibility:"off"}]},
20
32
  {featureType:"landscape.natural",elementType:"geometry.fill",stylers:[{visibility:"on"}]},{featureType:"poi",elementType:"labels.text",stylers:[{visibility:"off"}]},{featureType:"poi.attraction",stylers:[{visibility:"off"}]},{featureType:"poi.business",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"poi.medical",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"poi.place_of_worship",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"poi.school",elementType:"all",
21
33
  stylers:[{visibility:"off"}]},{featureType:"poi.sports_complex",elementType:"geometry.fill",stylers:[{visibility:"on"}]},{featureType:"poi.sports_complex",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"road",elementType:"labels.text",stylers:[{visibility:"on"},{lightness:-10},{color:"#b5b5b5"},{weight:.2}]},{featureType:"road",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"road.local",elementType:"geometry.fill",stylers:[{color:"#fbfbfb"},{lightness:-15},
22
- {weight:.5}]},{featureType:"road.local",elementType:"geometry.stroke",stylers:[{visibility:"off"}]},{featureType:"transit",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"transit.station",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"water",elementType:"labels.text",stylers:[{visibility:"off"}]}],Q=[{featureType:"all",elementType:"labels",stylers:[{visibility:"on"}]},{featureType:"all",elementType:"labels.text.fill",stylers:[{saturation:36},{color:"#000000"},
34
+ {weight:.5}]},{featureType:"road.local",elementType:"geometry.stroke",stylers:[{visibility:"off"}]},{featureType:"transit",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"transit.station",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"water",elementType:"labels.text",stylers:[{visibility:"off"}]}],Z=[{featureType:"all",elementType:"labels",stylers:[{visibility:"on"}]},{featureType:"all",elementType:"labels.text.fill",stylers:[{saturation:36},{color:"#000000"},
23
35
  {lightness:40}]},{featureType:"all",elementType:"labels.text.stroke",stylers:[{visibility:"on"},{color:"#000000"},{lightness:16}]},{featureType:"all",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"administrative",elementType:"geometry.fill",stylers:[{color:"#000000"},{lightness:20}]},{featureType:"administrative",elementType:"geometry.stroke",stylers:[{color:"#000000"},{lightness:17},{weight:1.2}]},{featureType:"administrative.country",elementType:"labels.text.fill",stylers:[{color:"#e5c163"}]},
24
36
  {featureType:"administrative.locality",elementType:"labels.text.fill",stylers:[{color:"#c4c4c4"}]},{featureType:"administrative.neighborhood",elementType:"labels.text.fill",stylers:[{color:"#e5c163"}]},{featureType:"landscape",elementType:"geometry",stylers:[{color:"#000000"},{lightness:20}]},{featureType:"poi",elementType:"geometry",stylers:[{color:"#000000"},{lightness:21},{visibility:"on"}]},{featureType:"poi.business",elementType:"geometry",stylers:[{visibility:"on"}]},{featureType:"road.highway",
25
37
  elementType:"geometry.fill",stylers:[{color:"#e5c163"},{lightness:0}]},{featureType:"road.highway",elementType:"geometry.stroke",stylers:[{visibility:"off"}]},{featureType:"road.highway",elementType:"labels.text.fill",stylers:[{color:"#ffffff"}]},{featureType:"road.highway",elementType:"labels.text.stroke",stylers:[{color:"#e5c163"}]},{featureType:"road.arterial",elementType:"geometry",stylers:[{color:"#000000"},{lightness:18}]},{featureType:"road.arterial",elementType:"geometry.fill",stylers:[{color:"#575757"}]},
26
38
  {featureType:"road.arterial",elementType:"labels.text.fill",stylers:[{color:"#ffffff"}]},{featureType:"road.arterial",elementType:"labels.text.stroke",stylers:[{color:"#2c2c2c"}]},{featureType:"road.local",elementType:"geometry",stylers:[{color:"#000000"},{lightness:16}]},{featureType:"road.local",elementType:"labels.text.fill",stylers:[{color:"#999999"}]},{featureType:"transit",elementType:"geometry",stylers:[{color:"#000000"},{lightness:19}]},{featureType:"water",elementType:"geometry",stylers:[{color:"#000000"},
27
- {lightness:17}]}],R=[...Q,...P];
39
+ {lightness:17}]}],aa=[...Z,...Y];
28
40
  var aubergine=[{elementType:"geometry",stylers:[{color:"#1d2c4d"}]},{elementType:"labels.text.fill",stylers:[{color:"#8ec3b9"}]},{elementType:"labels.text.stroke",stylers:[{color:"#1a3646"}]},{featureType:"administrative.country",elementType:"geometry.stroke",stylers:[{color:"#4b6878"}]},{featureType:"administrative.land_parcel",elementType:"labels.text.fill",stylers:[{color:"#64779e"}]},{featureType:"administrative.province",elementType:"geometry.stroke",stylers:[{color:"#4b6878"}]},{featureType:"landscape.man_made",
29
41
  elementType:"geometry.stroke",stylers:[{color:"#334e87"}]},{featureType:"landscape.natural",elementType:"geometry",stylers:[{color:"#023e58"}]},{featureType:"poi",elementType:"geometry",stylers:[{color:"#283d6a"}]},{featureType:"poi",elementType:"labels.text.fill",stylers:[{color:"#6f9ba5"}]},{featureType:"poi",elementType:"labels.text.stroke",stylers:[{color:"#1d2c4d"}]},{featureType:"poi.park",elementType:"geometry.fill",stylers:[{color:"#023e58"}]},{featureType:"poi.park",elementType:"labels.text.fill",
30
42
  stylers:[{color:"#3C7680"}]},{featureType:"road",elementType:"geometry",stylers:[{color:"#304a7d"}]},{featureType:"road",elementType:"labels.text.fill",stylers:[{color:"#98a5be"}]},{featureType:"road",elementType:"labels.text.stroke",stylers:[{color:"#1d2c4d"}]},{featureType:"road.highway",elementType:"geometry",stylers:[{color:"#2c6675"}]},{featureType:"road.highway",elementType:"geometry.stroke",stylers:[{color:"#255763"}]},{featureType:"road.highway",elementType:"labels.text.fill",stylers:[{color:"#b0d5ce"}]},
@@ -42,4 +54,4 @@ elementType:"geometry",stylers:[{color:"#dfd2ae"}]},{featureType:"poi",elementTy
42
54
  stylers:[{color:"#dfd2ae"}]},{featureType:"transit.line",elementType:"labels.text.fill",stylers:[{color:"#8f7d77"}]},{featureType:"transit.line",elementType:"labels.text.stroke",stylers:[{color:"#ebe3cd"}]},{featureType:"transit.station",elementType:"geometry",stylers:[{color:"#dfd2ae"}]},{featureType:"water",elementType:"geometry.fill",stylers:[{color:"#b9d3c2"}]},{featureType:"water",elementType:"labels.text.fill",stylers:[{color:"#92998d"}]}];
43
55
  var ultraLight=[{featureType:"water",elementType:"geometry",stylers:[{color:"#e9e9e9"},{lightness:17}]},{featureType:"landscape",elementType:"geometry",stylers:[{color:"#f5f5f5"},{lightness:20}]},{featureType:"road.highway",elementType:"geometry.fill",stylers:[{color:"#ffffff"},{lightness:17}]},{featureType:"road.highway",elementType:"geometry.stroke",stylers:[{color:"#ffffff"},{lightness:29},{weight:.2}]},{featureType:"road.arterial",elementType:"geometry",stylers:[{color:"#ffffff"},{lightness:18}]},
44
56
  {featureType:"road.local",elementType:"geometry",stylers:[{color:"#ffffff"},{lightness:16}]},{featureType:"poi",elementType:"geometry",stylers:[{color:"#f5f5f5"},{lightness:21}]},{featureType:"poi.park",elementType:"geometry",stylers:[{color:"#dedede"},{lightness:21}]},{elementType:"labels.text.stroke",stylers:[{visibility:"on"},{color:"#ffffff"},{lightness:16}]},{elementType:"labels.text.fill",stylers:[{saturation:36},{color:"#333333"},{lightness:40}]},{elementType:"labels.icon",stylers:[{visibility:"off"}]},
45
- {featureType:"transit",elementType:"geometry",stylers:[{color:"#f2f2f2"},{lightness:19}]},{featureType:"administrative",elementType:"geometry.fill",stylers:[{color:"#fefefe"},{lightness:20}]},{featureType:"administrative",elementType:"geometry.stroke",stylers:[{color:"#fefefe"},{lightness:17},{weight:1.2}]}];export{M as Circle,N as CustomControl,w as GoogleMap,G as Marker,I as Polygon,H as Polyline,K as Rectangle,aubergine,dark,grey,P as minimal,retro,Q as roadways,R as roadwaysMinimal,ultraLight}
57
+ {featureType:"transit",elementType:"geometry",stylers:[{color:"#f2f2f2"},{lightness:19}]},{featureType:"administrative",elementType:"geometry.fill",stylers:[{color:"#fefefe"},{lightness:20}]},{featureType:"administrative",elementType:"geometry.stroke",stylers:[{color:"#fefefe"},{lightness:17},{weight:1.2}]}];export{S as Circle,T as CustomControl,z as GoogleMap,W as InfoWindow,K as Marker,M as Polygon,L as Polyline,Q as Rectangle,aubergine,dark,grey,Y as minimal,retro,Z as roadways,aa as roadwaysMinimal,ultraLight}
@@ -35,6 +35,7 @@ declare const _default: import("vue").DefineComponent<{
35
35
  clickableIcons: {
36
36
  type: BooleanConstructor;
37
37
  required: false;
38
+ default: undefined;
38
39
  };
39
40
  controlSize: {
40
41
  type: NumberConstructor;
@@ -43,14 +44,17 @@ declare const _default: import("vue").DefineComponent<{
43
44
  disableDefaultUi: {
44
45
  type: BooleanConstructor;
45
46
  required: false;
47
+ default: undefined;
46
48
  };
47
49
  disableDoubleClickZoom: {
48
50
  type: BooleanConstructor;
49
51
  required: false;
52
+ default: undefined;
50
53
  };
51
54
  draggable: {
52
55
  type: BooleanConstructor;
53
56
  required: false;
57
+ default: undefined;
54
58
  };
55
59
  draggableCursor: {
56
60
  type: StringConstructor;
@@ -63,6 +67,7 @@ declare const _default: import("vue").DefineComponent<{
63
67
  fullscreenControl: {
64
68
  type: BooleanConstructor;
65
69
  required: false;
70
+ default: undefined;
66
71
  };
67
72
  fullscreenControlPosition: {
68
73
  type: PropType<"BOTTOM_CENTER" | "BOTTOM_LEFT" | "BOTTOM_RIGHT" | "LEFT_BOTTOM" | "LEFT_CENTER" | "LEFT_TOP" | "RIGHT_BOTTOM" | "RIGHT_CENTER" | "RIGHT_TOP" | "TOP_CENTER" | "TOP_LEFT" | "TOP_RIGHT">;
@@ -79,10 +84,12 @@ declare const _default: import("vue").DefineComponent<{
79
84
  keyboardShortcuts: {
80
85
  type: BooleanConstructor;
81
86
  required: false;
87
+ default: undefined;
82
88
  };
83
89
  mapTypeControl: {
84
90
  type: BooleanConstructor;
85
91
  required: false;
92
+ default: undefined;
86
93
  };
87
94
  mapTypeControlOptions: {
88
95
  type: PropType<google.maps.MapTypeControlOptions>;
@@ -103,10 +110,12 @@ declare const _default: import("vue").DefineComponent<{
103
110
  noClear: {
104
111
  type: BooleanConstructor;
105
112
  required: false;
113
+ default: undefined;
106
114
  };
107
115
  panControl: {
108
116
  type: BooleanConstructor;
109
117
  required: false;
118
+ default: undefined;
110
119
  };
111
120
  panControlPosition: {
112
121
  type: PropType<"BOTTOM_CENTER" | "BOTTOM_LEFT" | "BOTTOM_RIGHT" | "LEFT_BOTTOM" | "LEFT_CENTER" | "LEFT_TOP" | "RIGHT_BOTTOM" | "RIGHT_CENTER" | "RIGHT_TOP" | "TOP_CENTER" | "TOP_LEFT" | "TOP_RIGHT">;
@@ -119,6 +128,7 @@ declare const _default: import("vue").DefineComponent<{
119
128
  rotateControl: {
120
129
  type: BooleanConstructor;
121
130
  required: false;
131
+ default: undefined;
122
132
  };
123
133
  rotateControlPosition: {
124
134
  type: PropType<"BOTTOM_CENTER" | "BOTTOM_LEFT" | "BOTTOM_RIGHT" | "LEFT_BOTTOM" | "LEFT_CENTER" | "LEFT_TOP" | "RIGHT_BOTTOM" | "RIGHT_CENTER" | "RIGHT_TOP" | "TOP_CENTER" | "TOP_LEFT" | "TOP_RIGHT">;
@@ -127,6 +137,7 @@ declare const _default: import("vue").DefineComponent<{
127
137
  scaleControl: {
128
138
  type: BooleanConstructor;
129
139
  required: false;
140
+ default: undefined;
130
141
  };
131
142
  scaleControlStyle: {
132
143
  type: PropType<google.maps.ScaleControlStyle>;
@@ -135,6 +146,7 @@ declare const _default: import("vue").DefineComponent<{
135
146
  scrollwheel: {
136
147
  type: BooleanConstructor;
137
148
  required: false;
149
+ default: undefined;
138
150
  };
139
151
  streetView: {
140
152
  type: PropType<google.maps.StreetViewPanorama>;
@@ -143,6 +155,7 @@ declare const _default: import("vue").DefineComponent<{
143
155
  streetViewControl: {
144
156
  type: BooleanConstructor;
145
157
  required: false;
158
+ default: undefined;
146
159
  };
147
160
  streetViewControlPosition: {
148
161
  type: PropType<"BOTTOM_CENTER" | "BOTTOM_LEFT" | "BOTTOM_RIGHT" | "LEFT_BOTTOM" | "LEFT_CENTER" | "LEFT_TOP" | "RIGHT_BOTTOM" | "RIGHT_CENTER" | "RIGHT_TOP" | "TOP_CENTER" | "TOP_LEFT" | "TOP_RIGHT">;
@@ -163,6 +176,7 @@ declare const _default: import("vue").DefineComponent<{
163
176
  zoomControl: {
164
177
  type: BooleanConstructor;
165
178
  required: false;
179
+ default: undefined;
166
180
  };
167
181
  zoomControlPosition: {
168
182
  type: PropType<"BOTTOM_CENTER" | "BOTTOM_LEFT" | "BOTTOM_RIGHT" | "LEFT_BOTTOM" | "LEFT_CENTER" | "LEFT_TOP" | "RIGHT_BOTTOM" | "RIGHT_CENTER" | "RIGHT_TOP" | "TOP_CENTER" | "TOP_LEFT" | "TOP_RIGHT">;
@@ -587,6 +601,7 @@ declare const _default: import("vue").DefineComponent<{
587
601
  HeatmapLayer: typeof google.maps.visualization.HeatmapLayer;
588
602
  };
589
603
  } | null>;
604
+ mapTilesLoaded: import("vue").Ref<boolean>;
590
605
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
591
606
  apiKey: string;
592
607
  version: string;
@@ -0,0 +1,16 @@
1
+ /// <reference types="google.maps" />
2
+ import { PropType } from "vue";
3
+ declare const _default: import("vue").DefineComponent<{
4
+ options: {
5
+ type: PropType<google.maps.InfoWindowOptions>;
6
+ required: true;
7
+ };
8
+ }, {
9
+ infoWindow: import("vue").Ref<google.maps.InfoWindow | undefined>;
10
+ infoWindowRef: import("vue").Ref<HTMLElement | undefined>;
11
+ hasSlotContent: import("vue").ComputedRef<boolean | undefined>;
12
+ mapTilesLoaded: import("vue").Ref<boolean>;
13
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
14
+ options: google.maps.InfoWindowOptions;
15
+ } & {}>, {}>;
16
+ export default _default;
@@ -5,3 +5,4 @@ export { default as Polygon } from "./Polygon";
5
5
  export { default as Rectangle } from "./Rectangle";
6
6
  export { default as Circle } from "./Circle";
7
7
  export { default as CustomControl } from "./CustomControl.vue";
8
+ export { default as InfoWindow } from "./InfoWindow.vue";
@@ -6,20 +6,20 @@ export declare const apiSymbol: InjectionKey<Ref<typeof google.maps | null>>;
6
6
  * Utilitary flag for components that need to know the map
7
7
  * was fully loaded (including its tiles) to decide their behavior
8
8
  */
9
- export declare const mapWasLoadedSymbol: InjectionKey<Ref<boolean>>;
9
+ export declare const mapTilesLoadedSymbol: InjectionKey<Ref<boolean>>;
10
10
  export declare const loaderInstance: Ref<{
11
- version: string;
12
- apiKey: string;
13
- channel: string;
14
- client: string;
15
- id: string;
16
- libraries: ("drawing" | "geometry" | "localContext" | "places" | "visualization")[];
17
- language: string;
18
- region: string;
19
- mapIds: string[];
20
- nonce: string | null;
21
- retries: number;
22
- url: string;
11
+ readonly version: string;
12
+ readonly apiKey: string;
13
+ readonly channel: string;
14
+ readonly client: string;
15
+ readonly id: string;
16
+ readonly libraries: ("drawing" | "geometry" | "localContext" | "places" | "visualization")[];
17
+ readonly language: string;
18
+ readonly region: string;
19
+ readonly mapIds: string[];
20
+ readonly nonce: string | null;
21
+ readonly retries: number;
22
+ readonly url: string;
23
23
  readonly options: {
24
24
  apiKey: string;
25
25
  channel?: string | undefined;
@@ -35,9 +35,9 @@ export declare const loaderInstance: Ref<{
35
35
  retries?: number | undefined;
36
36
  };
37
37
  createUrl: () => string;
38
- load: () => Promise<void>;
39
- loadPromise: () => Promise<void>;
40
- loadCallback: (fn: (e: Event) => void) => void;
41
38
  deleteScript: () => void;
39
+ load: () => Promise<typeof google>;
40
+ loadPromise: () => Promise<typeof google>;
41
+ loadCallback: (fn: (e: ErrorEvent) => void) => void;
42
42
  } | null>;
43
43
  export declare const polylineEvents: string[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue3-google-map",
3
- "version": "0.8.1",
3
+ "version": "0.8.4",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -31,11 +31,14 @@
31
31
  "docs": "vitepress dev docs",
32
32
  "docs:dev": "vitepress dev docs",
33
33
  "docs:build": "vitepress build docs",
34
- "docs:serve": "vitepress serve docs"
34
+ "docs:serve": "vitepress serve docs",
35
+ "release": "standard-version"
36
+ },
37
+ "dependencies": {
38
+ "@googlemaps/js-api-loader": "^1.12.11"
35
39
  },
36
40
  "devDependencies": {
37
41
  "@ampproject/rollup-plugin-closure-compiler": "^0.26.0",
38
- "@googlemaps/js-api-loader": "^1.11.1",
39
42
  "@rollup/plugin-commonjs": "^19.0.0",
40
43
  "@rollup/plugin-json": "^4.1.0",
41
44
  "@rollup/plugin-node-resolve": "^13.0.0",
@@ -64,6 +67,7 @@
64
67
  "rollup-plugin-terser": "^7.0.2",
65
68
  "rollup-plugin-typescript2": "^0.30.0",
66
69
  "rollup-plugin-vue": "^6.0.0",
70
+ "standard-version": "^9.3.2",
67
71
  "ttypescript": "^1.5.12",
68
72
  "typescript": "~4.3.2",
69
73
  "typescript-transform-paths": "^2.2.4",
@@ -72,7 +76,6 @@
72
76
  "vue": "3"
73
77
  },
74
78
  "peerDependencies": {
75
- "@googlemaps/js-api-loader": "^1.11.1",
76
79
  "vue": "3"
77
80
  },
78
81
  "engines": {