vue3-google-map 0.7.10 → 0.8.3

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,21 +1,31 @@
1
- 'use strict';Object.defineProperty(exports,"__esModule",{value:!0});var vue=require("vue"),jsApiLoader=require("@googlemaps/js-api-loader");
2
- let mapSymbol=Symbol("map"),apiSymbol=Symbol("api"),mapWasLoadedSymbol=Symbol("mapwasloaded"),loaderInstance=vue.ref(null),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(" "),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(" "),
3
- polylineEvents="click dblclick drag dragend dragstart mousedown mousemove mouseout mouseover mouseup rightclick".split(" "),polygonEvents=polylineEvents,rectangleEvents=polylineEvents.concat(["bounds_changed"]),circleEvents=polylineEvents.concat(["center_changed","radius_changed"]);
4
- var _sfc_main$1=vue.defineComponent({props:{apiKey:{type:String,default:""},libraries:Array,region:String,language:String,backgroundColor:String,center:Object,clickableIcons:{type:Boolean,default:void 0},controlSize:Number,disableDefaultUi:{type:Boolean,default:void 0},disableDoubleClickZoom:{type:Boolean,default:void 0},draggable:{type:Boolean,default:void 0},draggableCursor:String,draggingCursor:String,fullscreenControl:{type:Boolean,default:void 0},fullscreenControlPosition:String,gestureHandling:String,
5
- heading:Number,keyboardShortcuts:{type:Boolean,default:void 0},mapTypeControl:{type:Boolean,default:void 0},mapTypeControlOptions:Object,mapTypeId:{type:[Number,String]},maxZoom:Number,minZoom:Number,noClear:{type:Boolean,default:void 0},panControl:{type:Boolean,default:void 0},panControlPosition:String,restriction:Object,rotateControl:{type:Boolean,default:void 0},rotateControlPosition:String,scaleControl:{type:Boolean,default:void 0},scaleControlStyle:Number,scrollwheel:{type:Boolean,default:void 0},
6
- streetView:Object,streetViewControl:{type:Boolean,default:void 0},streetViewControlPosition:String,styles:Array,tilt:Number,zoom:Number,zoomControl:{type:Boolean,default:void 0},zoomControlPosition:String},emits:mapEvents,setup(a,{emit:d}){let e=vue.ref(null),f=vue.ref(!1),b=vue.ref(null),g=vue.ref(null),h=vue.ref(!1);vue.provide(mapSymbol,b);vue.provide(apiSymbol,g);vue.provide(mapWasLoadedSymbol,h);let k=()=>{var b,c,l,d,e;const f={backgroundColor:a.backgroundColor,center:a.center,clickableIcons:a.clickableIcons,
7
- controlSize:a.controlSize,disableDefaultUI:a.disableDefaultUi,disableDoubleClickZoom:a.disableDoubleClickZoom,draggable:a.draggable,draggableCursor:a.draggableCursor,draggingCursor:a.draggingCursor,fullscreenControl:a.fullscreenControl,fullscreenControlOptions:a.fullscreenControlPosition?{position:null===(b=g.value)||void 0===b?void 0:b.ControlPosition[a.fullscreenControlPosition]}:{},gestureHandling:a.gestureHandling,heading:a.heading,keyboardShortcuts:a.keyboardShortcuts,mapTypeControl:a.mapTypeControl,
8
- mapTypeControlOptions:a.mapTypeControlOptions,mapTypeId:a.mapTypeId,maxZoom:a.maxZoom,minZoom:a.minZoom,noClear:a.noClear,panControl:a.panControl,panControlOptions:a.panControlPosition?{position:null===(c=g.value)||void 0===c?void 0:c.ControlPosition[a.panControlPosition]}:{},restriction:a.restriction,rotateControl:a.rotateControl,rotateControlOptions:a.rotateControlPosition?{position:null===(l=g.value)||void 0===l?void 0:l.ControlPosition[a.rotateControlPosition]}:{},scaleControl:a.scaleControl,
9
- scaleControlOptions:a.scaleControlStyle?{style:a.scaleControlStyle}:{},scrollwheel:a.scrollwheel,streetView:a.streetView,streetViewControl:a.streetViewControl,streetViewControlOptions:a.streetViewControlPosition?{position:null===(d=g.value)||void 0===d?void 0:d.ControlPosition[a.streetViewControlPosition]}:{},styles:a.styles,tilt:a.tilt,zoom:a.zoom,zoomControl:a.zoomControl,zoomControlOptions:a.zoomControlPosition?{position:null===(e=g.value)||void 0===e?void 0:e.ControlPosition[a.zoomControlPosition]}:
10
- {}};Object.keys(f).forEach(a=>void 0===f[a]&&delete f[a]);return f};vue.onBeforeUnmount(()=>{var a;h.value=!1;b.value&&(null===(a=g.value)||void 0===a?void 0:a.event.clearInstanceListeners(b.value))});let n=vue.watch([g,b],([a,c])=>{a&&c&&(a.event.addListenerOnce(c,"tilesloaded",()=>{h.value=!0}),setTimeout(n,0))},{immediate:!0});vue.onMounted(()=>{try{loaderInstance.value=new jsApiLoader.Loader({apiKey:a.apiKey,version:"weekly",libraries:a.libraries||["places"],language:a.language,region:a.region})}catch(m){console.error(m)}finally{loaderInstance.value.load().then(()=>
11
- {var {Map:h}=g.value=google.maps;b.value=new h(e.value,k());mapEvents.forEach(a=>{var c;null===(c=b.value)||void 0===c?void 0:c.addListener(a,c=>d(a,c))});f.value=!0;h=Object.keys(a).filter(a=>!["center","zoom"].includes(a)).map(c=>vue.toRef(a,c));vue.watch([()=>a.center,()=>a.zoom,...h],([a,l],[d,e])=>{var c,f,g;let {center:h,zoom:m,...p}=k();null===(c=b.value)||void 0===c?void 0:c.setOptions(p);void 0!==l&&l!==e&&(null===(f=b.value)||void 0===f?void 0:f.setZoom(l));!a||d&&a.lng===d.lng&&a.lat===
12
- d.lat||(null===(g=b.value)||void 0===g?void 0:g.panTo(a))})})}});return{mapRef:e,ready:f,map:b,api:g}}});function _sfc_render$1(a,d,e,f,b,g){return vue.openBlock(),vue.createBlock("div",null,[vue.createVNode("div",vue.mergeProps(a.$attrs,{ref:"mapRef"}),null,16),vue.renderSlot(a.$slots,"default")])}_sfc_main$1.render=_sfc_render$1;
13
- let useSetupMapComponent=(a,d,e,f)=>{let b=null;const g=vue.ref(null),h=vue.inject(mapSymbol,vue.ref(null)),k=vue.inject(apiSymbol,vue.ref(null));vue.watch([h,e],(n,m,c)=>{h.value&&k.value&&(g.value=b=new k.value[a]({...e.value,map:h.value}),d.forEach(a=>{null===b||void 0===b?void 0:b.addListener(a,c=>f(a,c))}));c(()=>{var a;b&&(null===(a=k.value)||void 0===a?void 0:a.event.clearInstanceListeners(b),b.setMap(null))})},{immediate:!0});return{component:g}};
14
- 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}},
15
- emits:polygonEvents,setup(a,{emit:d}){a=vue.toRef(a,"options");return{polygon:useSetupMapComponent("Polygon",polygonEvents,a,d)}},render:()=>null}),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}),Circle=vue.defineComponent({props:{options:{type:Object,required:!0}},emits:circleEvents,setup(a,{emit:d}){a=vue.toRef(a,"options");
16
- 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)),b=vue.inject(apiSymbol,vue.ref(null)),g=vue.inject(mapWasLoadedSymbol,vue.ref(!1)),h=vue.ref(!1),k=vue.watch([g,b,e],([c,b,e])=>{b&&c&&e&&(n(a.position),h.value=!0,d("content:loaded"),setTimeout(k,0))},{immediate:!0}),
17
- n=a=>{f.value&&b.value&&e.value&&f.value.controls[b.value.ControlPosition[a]].push(e.value)},m=a=>{if(f.value&&b.value){let c=null;a=b.value.ControlPosition[a];f.value.controls[a].forEach((a,b)=>{a===e.value&&(c=b)});null!==c&&f.value.controls[a].removeAt(c)}};vue.onBeforeUnmount(()=>m(a.position));vue.watch(()=>a.position,(a,b)=>{m(b);n(a)});vue.watch(()=>a.index,b=>{b&&e.value&&(e.value.index=a.index)});return{controlRef:e,showContent:h}}});let _hoisted_1={ref:"controlRef"};
18
- function _sfc_render(a,d,e,f,b,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)}_sfc_main.render=_sfc_render;
1
+ 'use strict';Object.defineProperty(exports,"__esModule",{value:!0});var vue=require("vue");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(" ");
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 d;if(Array.isArray(a)){var c=a.length;if(c!=b.length)return!1;for(d=c;0!==d--;)if(!equal(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);
3
+ c=f.length;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],!equal(a[c],b[c]))return!1;return!0}return a!==a&&b!==b};let DEFAULT_ID="__googleMapsScriptId";
4
+ class Loader{constructor({apiKey:a,channel:b,client:e,id:d=DEFAULT_ID,libraries:c=[],language:f,region:g,version:k,mapIds:l,nonce:m,retries:h=3,url:n="https://maps.googleapis.com/maps/api/js"}){this.CALLBACK="__googleMapsCallback";this.callbacks=[];this.loading=this.done=!1;this.errors=[];this.version=k;this.apiKey=a;this.channel=b;this.client=e;this.id=d||DEFAULT_ID;this.libraries=c;this.language=f;this.region=g;this.mapIds=l;this.nonce=m;this.retries=h;this.url=n;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$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,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),d=vue.ref(!1),c=vue.ref(null),f=vue.ref(null),
14
+ g=vue.ref(!1);vue.provide(mapSymbol,c);vue.provide(apiSymbol,f);vue.provide(mapWasLoadedSymbol,g);let k=()=>{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}},l=vue.watch([f,c],([a,b])=>{a&&b&&(a.event.addListenerOnce(b,"tilesloaded",()=>{g.value=!0}),setTimeout(l,0))},{immediate:!0}),m=()=>{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(h){console.error(h)}};vue.onMounted(()=>{m();loaderInstance.value.load().then(()=>{f.value=google.maps;
16
+ c.value=new google.maps.Map(e.value,k());mapEvents.forEach(a=>{var d;null===(d=c.value)||void 0===d?void 0:d.addListener(a,c=>b(a,c))});d.value=!0;let h=Object.keys(a).filter(a=>!["center","zoom"].includes(a)).map(b=>vue.toRef(a,b));vue.watch([()=>a.center,()=>a.zoom,...h],([a,b],[d,e])=>{var h,f,g;let {center:l,zoom:n,...m}=k();null===(h=c.value)||void 0===h?void 0:h.setOptions(m);void 0!==b&&b!==e&&(null===(f=c.value)||void 0===f?void 0:f.setZoom(b));b=!d||a.lng!==d.lng||a.lat!==d.lat;a&&b&&(null===
17
+ (g=c.value)||void 0===g?void 0:g.panTo(a))})})});vue.onBeforeUnmount(()=>{var a;g.value=!1;c.value&&(null===(a=f.value)||void 0===a?void 0:a.event.clearInstanceListeners(c.value))});return{mapRef:e,ready:d,map:c,api:f}}});
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],d=document.createElement("style");d.type="text/css";"top"===b?e.firstChild?e.insertBefore(d,e.firstChild):e.appendChild(d):e.appendChild(d);d.styleSheet?d.styleSheet.cssText=a:d.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$1={ref:"mapRef",class:"mapdiv"};vue.popScopeId();let _sfc_render$1=_withId((a,b,e,d,c,f)=>(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";
20
+ let useSetupMapComponent=(a,b,e,d)=>{let c=null;const f=vue.ref(null),g=vue.inject(mapSymbol,vue.ref(null)),k=vue.inject(apiSymbol,vue.ref(null));vue.watch([g,e],(l,[m,h])=>{l=JSON.stringify(e.value)!==JSON.stringify(h)||g.value!==m;g.value&&k.value&&l&&(c?(c.setOptions(e.value),c.setMap(g.value)):(f.value=c=new k.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});vue.onBeforeUnmount(()=>{var a;c&&(null===(a=k.value)||void 0===
21
+ a?void 0:a.event.clearInstanceListeners(c),c.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});
24
+ let circleEvents=polylineEvents.concat(["center_changed","radius_changed"]);
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=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),d=vue.inject(mapSymbol,vue.ref(null)),c=vue.inject(apiSymbol,vue.ref(null)),f=vue.inject(mapWasLoadedSymbol,vue.ref(!1)),
26
+ g=vue.ref(!1),k=vue.watch([f,c,e],([c,d,e])=>{d&&c&&e&&(l(a.position),g.value=!0,b("content:loaded"),setTimeout(k,0))},{immediate:!0}),l=a=>{d.value&&c.value&&e.value&&d.value.controls[c.value.ControlPosition[a]].push(e.value)},m=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)}};vue.onBeforeUnmount(()=>m(a.position));vue.watch(()=>a.position,(a,b)=>{m(b);l(a)});vue.watch(()=>a.index,
27
+ b=>{b&&e.value&&(e.value.index=a.index)});return{controlRef:e,showContent:g}}});let _hoisted_1={ref:"controlRef"};function _sfc_render(a,b,e,d,c,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,[vue.renderSlot(a.$slots,"default")],512),[[vue.vShow,a.showContent]])],2112)}
28
+ _sfc_main.render=_sfc_render;
19
29
  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",
20
30
  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",
21
31
  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"}]},
package/dist/es/index.js CHANGED
@@ -1,29 +1,39 @@
1
- import{Loader}from'@googlemaps/js-api-loader';import{ref,defineComponent,provide,onBeforeUnmount,watch,onMounted,toRef,openBlock,createBlock,createVNode,mergeProps,renderSlot,inject,Fragment,createCommentVNode,withDirectives,vShow}from'vue';let m=Symbol("map"),q=Symbol("api"),r=Symbol("mapwasloaded"),t=ref(null),u="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(" "),v="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(" "),
2
- w="click dblclick drag dragend dragstart mousedown mousemove mouseout mouseover mouseup rightclick".split(" "),x=w.concat(["bounds_changed"]),y=w.concat(["center_changed","radius_changed"]);
3
- var z=defineComponent({props:{apiKey:{type:String,default:""},libraries:Array,region:String,language:String,backgroundColor:String,center:Object,clickableIcons:{type:Boolean,default:void 0},controlSize:Number,disableDefaultUi:{type:Boolean,default:void 0},disableDoubleClickZoom:{type:Boolean,default:void 0},draggable:{type:Boolean,default:void 0},draggableCursor:String,draggingCursor:String,fullscreenControl:{type:Boolean,default:void 0},fullscreenControlPosition:String,gestureHandling:String,heading:Number,
4
- keyboardShortcuts:{type:Boolean,default:void 0},mapTypeControl:{type:Boolean,default:void 0},mapTypeControlOptions:Object,mapTypeId:{type:[Number,String]},maxZoom:Number,minZoom:Number,noClear:{type:Boolean,default:void 0},panControl:{type:Boolean,default:void 0},panControlPosition:String,restriction:Object,rotateControl:{type:Boolean,default:void 0},rotateControlPosition:String,scaleControl:{type:Boolean,default:void 0},scaleControlStyle:Number,scrollwheel:{type:Boolean,default:void 0},streetView:Object,
5
- streetViewControl:{type:Boolean,default:void 0},streetViewControlPosition:String,styles:Array,tilt:Number,zoom:Number,zoomControl:{type:Boolean,default:void 0},zoomControlPosition:String},emits:u,setup(a,{emit:d}){let e=ref(null),f=ref(!1),b=ref(null),g=ref(null),h=ref(!1);provide(m,b);provide(q,g);provide(r,h);let k=()=>{var b,c,l,d,e;const f={backgroundColor:a.backgroundColor,center:a.center,clickableIcons:a.clickableIcons,controlSize:a.controlSize,disableDefaultUI:a.disableDefaultUi,disableDoubleClickZoom:a.disableDoubleClickZoom,
6
- draggable:a.draggable,draggableCursor:a.draggableCursor,draggingCursor:a.draggingCursor,fullscreenControl:a.fullscreenControl,fullscreenControlOptions:a.fullscreenControlPosition?{position:null===(b=g.value)||void 0===b?void 0:b.ControlPosition[a.fullscreenControlPosition]}:{},gestureHandling:a.gestureHandling,heading:a.heading,keyboardShortcuts:a.keyboardShortcuts,mapTypeControl:a.mapTypeControl,mapTypeControlOptions:a.mapTypeControlOptions,mapTypeId:a.mapTypeId,maxZoom:a.maxZoom,minZoom:a.minZoom,
7
- noClear:a.noClear,panControl:a.panControl,panControlOptions:a.panControlPosition?{position:null===(c=g.value)||void 0===c?void 0:c.ControlPosition[a.panControlPosition]}:{},restriction:a.restriction,rotateControl:a.rotateControl,rotateControlOptions:a.rotateControlPosition?{position:null===(l=g.value)||void 0===l?void 0:l.ControlPosition[a.rotateControlPosition]}:{},scaleControl:a.scaleControl,scaleControlOptions:a.scaleControlStyle?{style:a.scaleControlStyle}:{},scrollwheel:a.scrollwheel,streetView:a.streetView,
8
- streetViewControl:a.streetViewControl,streetViewControlOptions:a.streetViewControlPosition?{position:null===(d=g.value)||void 0===d?void 0:d.ControlPosition[a.streetViewControlPosition]}:{},styles:a.styles,tilt:a.tilt,zoom:a.zoom,zoomControl:a.zoomControl,zoomControlOptions:a.zoomControlPosition?{position:null===(e=g.value)||void 0===e?void 0:e.ControlPosition[a.zoomControlPosition]}:{}};Object.keys(f).forEach(a=>void 0===f[a]&&delete f[a]);return f};onBeforeUnmount(()=>{var a;h.value=!1;b.value&&
9
- (null===(a=g.value)||void 0===a?void 0:a.event.clearInstanceListeners(b.value))});let p=watch([g,b],([a,c])=>{a&&c&&(a.event.addListenerOnce(c,"tilesloaded",()=>{h.value=!0}),setTimeout(p,0))},{immediate:!0});onMounted(()=>{try{t.value=new Loader({apiKey:a.apiKey,version:"weekly",libraries:a.libraries||["places"],language:a.language,region:a.region})}catch(n){console.error(n)}finally{t.value.load().then(()=>{var {Map:h}=g.value=google.maps;b.value=new h(e.value,k());u.forEach(a=>{var c;null===(c=
10
- b.value)||void 0===c?void 0:c.addListener(a,c=>d(a,c))});f.value=!0;h=Object.keys(a).filter(a=>!["center","zoom"].includes(a)).map(c=>toRef(a,c));watch([()=>a.center,()=>a.zoom,...h],([a,l],[d,e])=>{var c,f,g;let {center:h,zoom:n,...E}=k();null===(c=b.value)||void 0===c?void 0:c.setOptions(E);void 0!==l&&l!==e&&(null===(f=b.value)||void 0===f?void 0:f.setZoom(l));!a||d&&a.lng===d.lng&&a.lat===d.lat||(null===(g=b.value)||void 0===g?void 0:g.panTo(a))})})}});return{mapRef:e,ready:f,map:b,api:g}}});
11
- z.render=function(a){return openBlock(),createBlock("div",null,[createVNode("div",mergeProps(a.$attrs,{ref:"mapRef"}),null,16),renderSlot(a.$slots,"default")])};
12
- let A=(a,d,e,f)=>{let b=null;const g=ref(null),h=inject(m,ref(null)),k=inject(q,ref(null));watch([h,e],(p,n,c)=>{h.value&&k.value&&(g.value=b=new k.value[a]({...e.value,map:h.value}),d.forEach(a=>{null===b||void 0===b?void 0:b.addListener(a,c=>f(a,c))}));c(()=>{var a;b&&(null===(a=k.value)||void 0===a?void 0:a.event.clearInstanceListeners(b),b.setMap(null))})},{immediate:!0});return{component:g}};
13
- var B=defineComponent({props:{options:{type:Object,required:!0}},emits:v,setup(a,{emit:d}){a=toRef(a,"options");return{marker:A("Marker",v,a,d)}},render:()=>null}),C=defineComponent({props:{options:{type:Object,required:!0}},emits:w,setup(a,{emit:d}){a=toRef(a,"options");return{polyline:A("Polyline",w,a,d)}},render:()=>null}),D=defineComponent({props:{options:{type:Object,required:!0}},emits:w,setup(a,{emit:d}){a=toRef(a,"options");return{polygon:A("Polygon",w,a,d)}},render:()=>null}),F=defineComponent({props:{options:{type:Object,
14
- required:!0}},emits:x,setup(a,{emit:d}){a=toRef(a,"options");return{rectangle:A("Rectangle",x,a,d)}},render:()=>null}),G=defineComponent({props:{options:{type:Object,required:!0}},emits:y,setup(a,{emit:d}){a=toRef(a,"options");return{circle:A("Circle",y,a,d)}},render:()=>null}),H=defineComponent({props:{position:{type:String,required:!0},index:{type:Number,default:1}},emits:["content:loaded"],setup(a,{emit:d}){let e=ref(null),f=inject(m,ref(null)),b=inject(q,ref(null)),g=inject(r,ref(!1)),h=ref(!1),
15
- k=watch([g,b,e],([c,b,e])=>{b&&c&&e&&(p(a.position),h.value=!0,d("content:loaded"),setTimeout(k,0))},{immediate:!0}),p=a=>{f.value&&b.value&&e.value&&f.value.controls[b.value.ControlPosition[a]].push(e.value)},n=a=>{if(f.value&&b.value){let c=null;a=b.value.ControlPosition[a];f.value.controls[a].forEach((a,b)=>{a===e.value&&(c=b)});null!==c&&f.value.controls[a].removeAt(c)}};onBeforeUnmount(()=>n(a.position));watch(()=>a.position,(a,b)=>{n(b);p(a)});watch(()=>a.index,b=>{b&&e.value&&(e.value.index=
16
- a.index)});return{controlRef:e,showContent:h}}});let I={ref:"controlRef"};H.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",I,[renderSlot(a.$slots,"default")],512),[[vShow,a.showContent]])],2112)};
17
- let J=[{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}from'vue';let n=Symbol("map"),p=Symbol("api"),q=Symbol("mapwasloaded"),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:h,mapIds:k,nonce:l,retries:m=3,url:B="https://maps.googleapis.com/maps/api/js"}){this.CALLBACK="__googleMapsCallback";this.callbacks=[];this.loading=this.done=!1;this.errors=[];this.version=h;this.apiKey=a;this.channel=b;this.client=e;this.id=d||"__googleMapsScriptId";this.libraries=c;this.language=f;this.region=g;this.mapIds=k;this.nonce=l;this.retries=m;this.url=B;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 x="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 y=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:x,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 h=()=>{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),fullscreenControlOptions:c(a.fullscreenControlPosition),
15
+ disableDefaultUI:a.disableDefaultUi};return{...b,...c}},k=watch([f,c],([a,b])=>{a&&b&&(a.event.addListenerOnce(b,"tilesloaded",()=>{g.value=!0}),setTimeout(k,0))},{immediate:!0}),l=()=>{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(m){console.error(m)}};onMounted(()=>{l();r.value.load().then(()=>{f.value=google.maps;c.value=new google.maps.Map(e.value,h());x.forEach(a=>{var d;null===(d=c.value)||void 0===
16
+ d?void 0:d.addListener(a,c=>b(a,c))});d.value=!0;let m=Object.keys(a).filter(a=>!["center","zoom"].includes(a)).map(b=>toRef(a,b));watch([()=>a.center,()=>a.zoom,...m],([a,b],[d,m])=>{var e,f,g;let {center:k,zoom:B,...l}=h();null===(e=c.value)||void 0===e?void 0:e.setOptions(l);void 0!==b&&b!==m&&(null===(f=c.value)||void 0===f?void 0:f.setZoom(b));b=!d||a.lng!==d.lng||a.lat!==d.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}}});var z=void 0;void 0===z&&(z={});var A=z.insertAt;
18
+ if("undefined"!==typeof document){var C=document.head||document.getElementsByTagName("head")[0],D=document.createElement("style");D.type="text/css";"top"===A?C.firstChild?C.insertBefore(D,C.firstChild):C.appendChild(D):C.appendChild(D);D.styleSheet?D.styleSheet.cssText="\n.mapdiv[data-v-177d06e3] {\n width: 100%;\n height: 100%;\n}\n":D.appendChild(document.createTextNode("\n.mapdiv[data-v-177d06e3] {\n width: 100%;\n height: 100%;\n}\n"))}let E=withScopeId("data-v-177d06e3");pushScopeId("data-v-177d06e3");
19
+ let F={ref:"mapRef",class:"mapdiv"};popScopeId();let G=E(a=>(openBlock(),createBlock("div",null,[createVNode("div",F,null,512),renderSlot(a.$slots,"default",{},void 0,!0)])));y.render=G;y.__scopeId="data-v-177d06e3";
20
+ let H=(a,b,e,d)=>{let c=null;const f=ref(null),g=inject(n,ref(null)),h=inject(p,ref(null));watch([g,e],(k,[l,m])=>{k=JSON.stringify(e.value)!==JSON.stringify(m)||g.value!==l;g.value&&h.value&&k&&(c?(c.setOptions(e.value),c.setMap(g.value)):(f.value=c=new h.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=h.value)||void 0===a?void 0:a.event.clearInstanceListeners(c),c.setMap(null))});
21
+ return{component:f}},I="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 J=defineComponent({props:{options:{type:Object,required:!0}},emits:I,setup(a,{emit:b}){a=toRef(a,"options");return{marker:H("Marker",I,a,b)}},render:()=>null}),K=defineComponent({props:{options:{type:Object,required:!0}},emits:t,setup(a,{emit:b}){a=toRef(a,"options");return{polyline:H("Polyline",t,a,b)}},render:()=>null}),L=defineComponent({props:{options:{type:Object,required:!0}},emits:t,setup(a,{emit:b}){a=toRef(a,"options");return{polygon:H("Polygon",t,a,b)}},render:()=>null});let M=t.concat(["bounds_changed"]);
23
+ var N=defineComponent({props:{options:{type:Object,required:!0}},emits:M,setup(a,{emit:b}){a=toRef(a,"options");return{rectangle:H("Rectangle",M,a,b)}},render:()=>null});let O=t.concat(["center_changed","radius_changed"]);
24
+ var P=defineComponent({props:{options:{type:Object,required:!0}},emits:O,setup(a,{emit:b}){a=toRef(a,"options");return{circle:H("Circle",O,a,b)}},render:()=>null}),Q=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),h=watch([f,c,e],([c,d,e])=>{d&&c&&e&&(k(a.position),g.value=!0,b("content:loaded"),setTimeout(h,0))},{immediate:!0}),
25
+ k=a=>{d.value&&c.value&&e.value&&d.value.controls[c.value.ControlPosition[a]].push(e.value)},l=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(()=>l(a.position));watch(()=>a.position,(a,b)=>{l(b);k(a)});watch(()=>a.index,b=>{b&&e.value&&(e.value.index=a.index)});return{controlRef:e,showContent:g}}});let R={ref:"controlRef"};
26
+ Q.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",R,[renderSlot(a.$slots,"default")],512),[[vShow,a.showContent]])],2112)};
27
+ let S=[{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"}]},
18
28
  {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"}]},
19
29
  {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",
20
30
  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},
21
- {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"}]}],K=[{featureType:"all",elementType:"labels",stylers:[{visibility:"on"}]},{featureType:"all",elementType:"labels.text.fill",stylers:[{saturation:36},{color:"#000000"},
31
+ {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"}]}],T=[{featureType:"all",elementType:"labels",stylers:[{visibility:"on"}]},{featureType:"all",elementType:"labels.text.fill",stylers:[{saturation:36},{color:"#000000"},
22
32
  {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"}]},
23
33
  {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",
24
34
  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"}]},
25
35
  {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"},
26
- {lightness:17}]}],L=[...K,...J];
36
+ {lightness:17}]}],U=[...T,...S];
27
37
  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",
28
38
  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",
29
39
  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,4 +51,4 @@ elementType:"geometry",stylers:[{color:"#dfd2ae"}]},{featureType:"poi",elementTy
41
51
  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"}]}];
42
52
  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}]},
43
53
  {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"}]},
44
- {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{G as Circle,H as CustomControl,z as GoogleMap,B as Marker,D as Polygon,C as Polyline,F as Rectangle,aubergine,dark,grey,J as minimal,retro,K as roadways,L as roadwaysMinimal,ultraLight}
54
+ {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{P as Circle,Q as CustomControl,y as GoogleMap,J as Marker,L as Polygon,K as Polyline,N as Rectangle,aubergine,dark,grey,S as minimal,retro,T as roadways,U as roadwaysMinimal,ultraLight}
@@ -1,24 +1,4 @@
1
1
  /// <reference types="google.maps" />
2
2
  import * as themes from "../themes/index";
3
- export declare type IGoogleMapsAPI = typeof google.maps;
4
- export declare type IMap = google.maps.Map;
5
- export declare type IMapOptions = google.maps.MapOptions;
6
- export declare type ILatLng = google.maps.LatLng;
7
3
  export declare type IControlPosition = keyof typeof google.maps.ControlPosition;
8
- export declare type IScaleControlStyle = google.maps.ScaleControlStyle;
9
- export declare type IMapTypeControlOptions = google.maps.MapTypeControlOptions;
10
- export declare type IMapTypeId = google.maps.MapTypeId;
11
- export declare type IMapRestriction = google.maps.MapRestriction;
12
- export declare type IStreetViewPanorama = google.maps.StreetViewPanorama;
13
- export declare type IMapTypeStyle = google.maps.MapTypeStyle;
14
- export declare type IMarker = google.maps.Marker;
15
- export declare type IPolyline = google.maps.Polyline;
16
- export declare type IPolygon = google.maps.Polygon;
17
- export declare type IRectangle = google.maps.Rectangle;
18
- export declare type ICircle = google.maps.Circle;
19
- export declare type IMarkerOptions = google.maps.MarkerOptions;
20
- export declare type IPolylineOptions = google.maps.PolylineOptions;
21
- export declare type IPolygonOptions = google.maps.PolygonOptions;
22
- export declare type IRectangleOptions = google.maps.RectangleOptions;
23
- export declare type ICircleOptions = google.maps.CircleOptions;
24
4
  export declare type ITheme = keyof typeof themes;
@@ -5,89 +5,183 @@ declare const _default: import("vue").DefineComponent<{
5
5
  type: StringConstructor;
6
6
  default: string;
7
7
  };
8
- libraries: PropType<("drawing" | "geometry" | "localContext" | "places" | "visualization")[]>;
9
- region: StringConstructor;
10
- language: StringConstructor;
11
- backgroundColor: StringConstructor;
12
- center: PropType<google.maps.LatLng>;
8
+ version: {
9
+ type: StringConstructor;
10
+ default: string;
11
+ };
12
+ libraries: {
13
+ type: PropType<("drawing" | "geometry" | "localContext" | "places" | "visualization")[]>;
14
+ default: () => string[];
15
+ };
16
+ region: {
17
+ type: StringConstructor;
18
+ required: false;
19
+ };
20
+ language: {
21
+ type: StringConstructor;
22
+ required: false;
23
+ };
24
+ backgroundColor: {
25
+ type: StringConstructor;
26
+ required: false;
27
+ };
28
+ center: {
29
+ type: PropType<google.maps.LatLng>;
30
+ default: () => {
31
+ lat: number;
32
+ lng: number;
33
+ };
34
+ };
13
35
  clickableIcons: {
14
36
  type: BooleanConstructor;
37
+ required: false;
15
38
  default: undefined;
16
39
  };
17
- controlSize: NumberConstructor;
40
+ controlSize: {
41
+ type: NumberConstructor;
42
+ required: false;
43
+ };
18
44
  disableDefaultUi: {
19
45
  type: BooleanConstructor;
46
+ required: false;
20
47
  default: undefined;
21
48
  };
22
49
  disableDoubleClickZoom: {
23
50
  type: BooleanConstructor;
51
+ required: false;
24
52
  default: undefined;
25
53
  };
26
54
  draggable: {
27
55
  type: BooleanConstructor;
56
+ required: false;
28
57
  default: undefined;
29
58
  };
30
- draggableCursor: StringConstructor;
31
- draggingCursor: StringConstructor;
59
+ draggableCursor: {
60
+ type: StringConstructor;
61
+ required: false;
62
+ };
63
+ draggingCursor: {
64
+ type: StringConstructor;
65
+ required: false;
66
+ };
32
67
  fullscreenControl: {
33
68
  type: BooleanConstructor;
69
+ required: false;
34
70
  default: undefined;
35
71
  };
36
- fullscreenControlPosition: 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">;
37
- gestureHandling: PropType<"cooperative" | "greedy" | "none" | "auto">;
38
- heading: NumberConstructor;
72
+ fullscreenControlPosition: {
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">;
74
+ required: false;
75
+ };
76
+ gestureHandling: {
77
+ type: PropType<"cooperative" | "greedy" | "none" | "auto">;
78
+ required: false;
79
+ };
80
+ heading: {
81
+ type: NumberConstructor;
82
+ required: false;
83
+ };
39
84
  keyboardShortcuts: {
40
85
  type: BooleanConstructor;
86
+ required: false;
41
87
  default: undefined;
42
88
  };
43
89
  mapTypeControl: {
44
90
  type: BooleanConstructor;
91
+ required: false;
45
92
  default: undefined;
46
93
  };
47
- mapTypeControlOptions: PropType<google.maps.MapTypeControlOptions>;
94
+ mapTypeControlOptions: {
95
+ type: PropType<google.maps.MapTypeControlOptions>;
96
+ required: false;
97
+ };
48
98
  mapTypeId: {
49
99
  type: PropType<string>;
100
+ required: false;
101
+ };
102
+ maxZoom: {
103
+ type: NumberConstructor;
104
+ required: false;
105
+ };
106
+ minZoom: {
107
+ type: NumberConstructor;
108
+ required: false;
50
109
  };
51
- maxZoom: NumberConstructor;
52
- minZoom: NumberConstructor;
53
110
  noClear: {
54
111
  type: BooleanConstructor;
112
+ required: false;
55
113
  default: undefined;
56
114
  };
57
115
  panControl: {
58
116
  type: BooleanConstructor;
117
+ required: false;
59
118
  default: undefined;
60
119
  };
61
- panControlPosition: 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">;
62
- restriction: PropType<google.maps.MapRestriction>;
120
+ panControlPosition: {
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">;
122
+ required: false;
123
+ };
124
+ restriction: {
125
+ type: PropType<google.maps.MapRestriction>;
126
+ required: false;
127
+ };
63
128
  rotateControl: {
64
129
  type: BooleanConstructor;
130
+ required: false;
65
131
  default: undefined;
66
132
  };
67
- rotateControlPosition: 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">;
133
+ rotateControlPosition: {
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">;
135
+ required: false;
136
+ };
68
137
  scaleControl: {
69
138
  type: BooleanConstructor;
139
+ required: false;
70
140
  default: undefined;
71
141
  };
72
- scaleControlStyle: PropType<google.maps.ScaleControlStyle>;
142
+ scaleControlStyle: {
143
+ type: PropType<google.maps.ScaleControlStyle>;
144
+ required: false;
145
+ };
73
146
  scrollwheel: {
74
147
  type: BooleanConstructor;
148
+ required: false;
75
149
  default: undefined;
76
150
  };
77
- streetView: PropType<google.maps.StreetViewPanorama>;
151
+ streetView: {
152
+ type: PropType<google.maps.StreetViewPanorama>;
153
+ required: false;
154
+ };
78
155
  streetViewControl: {
79
156
  type: BooleanConstructor;
157
+ required: false;
80
158
  default: undefined;
81
159
  };
82
- streetViewControlPosition: 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">;
83
- styles: PropType<google.maps.MapTypeStyle[]>;
84
- tilt: NumberConstructor;
85
- zoom: NumberConstructor;
160
+ streetViewControlPosition: {
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">;
162
+ required: false;
163
+ };
164
+ styles: {
165
+ type: PropType<google.maps.MapTypeStyle[]>;
166
+ required: false;
167
+ };
168
+ tilt: {
169
+ type: NumberConstructor;
170
+ required: false;
171
+ };
172
+ zoom: {
173
+ type: NumberConstructor;
174
+ required: false;
175
+ };
86
176
  zoomControl: {
87
177
  type: BooleanConstructor;
178
+ required: false;
88
179
  default: undefined;
89
180
  };
90
- zoomControlPosition: 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">;
181
+ zoomControlPosition: {
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">;
183
+ required: false;
184
+ };
91
185
  }, {
92
186
  mapRef: import("vue").Ref<HTMLElement | null>;
93
187
  ready: import("vue").Ref<boolean>;
@@ -509,6 +603,9 @@ declare const _default: import("vue").DefineComponent<{
509
603
  } | null>;
510
604
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
511
605
  apiKey: string;
606
+ version: string;
607
+ libraries: ("drawing" | "geometry" | "localContext" | "places" | "visualization")[];
608
+ center: google.maps.LatLng;
512
609
  clickableIcons: boolean;
513
610
  disableDefaultUi: boolean;
514
611
  disableDoubleClickZoom: boolean;
@@ -524,11 +621,9 @@ declare const _default: import("vue").DefineComponent<{
524
621
  streetViewControl: boolean;
525
622
  zoomControl: boolean;
526
623
  } & {
527
- libraries?: ("drawing" | "geometry" | "localContext" | "places" | "visualization")[] | undefined;
528
624
  region?: string | undefined;
529
625
  language?: string | undefined;
530
626
  backgroundColor?: string | undefined;
531
- center?: google.maps.LatLng | undefined;
532
627
  controlSize?: number | undefined;
533
628
  draggableCursor?: string | undefined;
534
629
  draggingCursor?: string | undefined;
@@ -551,6 +646,9 @@ declare const _default: import("vue").DefineComponent<{
551
646
  zoomControlPosition?: "BOTTOM_CENTER" | "BOTTOM_LEFT" | "BOTTOM_RIGHT" | "LEFT_BOTTOM" | "LEFT_CENTER" | "LEFT_TOP" | "RIGHT_BOTTOM" | "RIGHT_CENTER" | "RIGHT_TOP" | "TOP_CENTER" | "TOP_LEFT" | "TOP_RIGHT" | undefined;
552
647
  }>, {
553
648
  apiKey: string;
649
+ version: string;
650
+ libraries: ("drawing" | "geometry" | "localContext" | "places" | "visualization")[];
651
+ center: google.maps.LatLng;
554
652
  clickableIcons: boolean;
555
653
  disableDefaultUi: boolean;
556
654
  disableDoubleClickZoom: boolean;
@@ -1,7 +1,7 @@
1
+ /// <reference types="google.maps" />
1
2
  import { Ref } from "vue";
2
- import { IMarker, IPolyline, IPolygon, IRectangle, ICircle, IMarkerOptions, IPolylineOptions, IPolygonOptions, IRectangleOptions, ICircleOptions } from "../@types/index";
3
- export declare type IComponent = IMarker | IPolyline | IPolygon | IRectangle | ICircle;
4
- export declare type IComponentOptions = IMarkerOptions | IPolylineOptions | IPolygonOptions | IRectangleOptions | ICircleOptions;
3
+ export declare type IComponent = google.maps.Marker | google.maps.Polyline | google.maps.Polygon | google.maps.Rectangle | google.maps.Circle;
4
+ export declare type IComponentOptions = google.maps.MarkerOptions | google.maps.PolylineOptions | google.maps.PolygonOptions | google.maps.RectangleOptions | google.maps.CircleOptions;
5
5
  export declare const useSetupMapComponent: (componentName: "Marker" | "Polyline" | "Polygon" | "Rectangle" | "Circle", events: string[], options: Ref<IComponentOptions>, emit: (event: string, ...args: unknown[]) => void) => {
6
6
  component: Ref<IComponent | null>;
7
7
  };
@@ -1,25 +1,25 @@
1
+ /// <reference types="google.maps" />
1
2
  import { InjectionKey, Ref } from "vue";
2
- import { IGoogleMapsAPI, IMap } from "../@types/index";
3
- export declare const mapSymbol: InjectionKey<Ref<IMap | null>>;
4
- export declare const apiSymbol: InjectionKey<Ref<IGoogleMapsAPI | null>>;
3
+ export declare const mapSymbol: InjectionKey<Ref<google.maps.Map | null>>;
4
+ export declare const apiSymbol: InjectionKey<Ref<typeof google.maps | null>>;
5
5
  /**
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
9
  export declare const mapWasLoadedSymbol: 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,14 +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
- export declare const mapEvents: string[];
44
- export declare const markerEvents: string[];
45
43
  export declare const polylineEvents: string[];
46
- export declare const polygonEvents: string[];
47
- export declare const rectangleEvents: string[];
48
- export declare const circleEvents: string[];
@@ -1,2 +1,2 @@
1
- import { IMapTypeStyle } from "../@types/index";
2
- export declare const aubergine: IMapTypeStyle[];
1
+ /// <reference types="google.maps" />
2
+ export declare const aubergine: google.maps.MapTypeStyle[];
@@ -1,6 +1,6 @@
1
- import { IMapTypeStyle } from "../@types/index";
1
+ /// <reference types="google.maps" />
2
2
  /**
3
3
  * Dark mode theme from:
4
4
  * [dark mode](https://developers-dot-devsite-v2-prod.appspot.com/maps/documentation/javascript/examples/style-array)
5
5
  */
6
- export declare const dark: IMapTypeStyle[];
6
+ export declare const dark: google.maps.MapTypeStyle[];
@@ -1,2 +1,2 @@
1
- import { IMapTypeStyle } from "../@types/index";
2
- export declare const grey: IMapTypeStyle[];
1
+ /// <reference types="google.maps" />
2
+ export declare const grey: google.maps.MapTypeStyle[];
@@ -1,2 +1,2 @@
1
- import { IMapTypeStyle } from "../@types/index";
2
- export declare const minimal: IMapTypeStyle[];
1
+ /// <reference types="google.maps" />
2
+ export declare const minimal: google.maps.MapTypeStyle[];
@@ -1,2 +1,2 @@
1
- import { IMapTypeStyle } from "../@types/index";
2
- export declare const retro: IMapTypeStyle[];
1
+ /// <reference types="google.maps" />
2
+ export declare const retro: google.maps.MapTypeStyle[];
@@ -1,2 +1,2 @@
1
- import { IMapTypeStyle } from "../@types/index";
2
- export declare const roadways: IMapTypeStyle[];
1
+ /// <reference types="google.maps" />
2
+ export declare const roadways: google.maps.MapTypeStyle[];
@@ -1,2 +1,2 @@
1
- import { IMapTypeStyle } from "../@types/index";
2
- export declare const roadwaysMinimal: IMapTypeStyle[];
1
+ /// <reference types="google.maps" />
2
+ export declare const roadwaysMinimal: google.maps.MapTypeStyle[];
@@ -1,2 +1,2 @@
1
- import { IMapTypeStyle } from "../@types/index";
2
- export declare const ultraLight: IMapTypeStyle[];
1
+ /// <reference types="google.maps" />
2
+ export declare const ultraLight: google.maps.MapTypeStyle[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue3-google-map",
3
- "version": "0.7.10",
3
+ "version": "0.8.3",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -31,15 +31,18 @@
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",
42
- "@types/google-maps": "^3.2.0",
45
+ "@types/google.maps": "^3.45.6",
43
46
  "@typescript-eslint/eslint-plugin": "^4.25.0",
44
47
  "@typescript-eslint/parser": "^4.25.0",
45
48
  "@vitejs/plugin-vue": "^1.2.2",
@@ -54,14 +57,17 @@
54
57
  "eslint-plugin-vue": "^7.9.0",
55
58
  "minimist": "^1.2.5",
56
59
  "npm-run-all": "^4.1.5",
60
+ "postcss": "^8.3.2",
57
61
  "prettier": "^2.1.2",
58
62
  "rimraf": "^3.0.2",
59
63
  "rollup": "^2.50.4",
60
64
  "rollup-plugin-analyzer": "^4.0.0",
61
65
  "rollup-plugin-babel": "^4.4.0",
66
+ "rollup-plugin-postcss": "^4.0.0",
62
67
  "rollup-plugin-terser": "^7.0.2",
63
68
  "rollup-plugin-typescript2": "^0.30.0",
64
69
  "rollup-plugin-vue": "^6.0.0",
70
+ "standard-version": "^9.3.2",
65
71
  "ttypescript": "^1.5.12",
66
72
  "typescript": "~4.3.2",
67
73
  "typescript-transform-paths": "^2.2.4",
@@ -70,7 +76,6 @@
70
76
  "vue": "3"
71
77
  },
72
78
  "peerDependencies": {
73
- "@googlemaps/js-api-loader": "^1.11.1",
74
79
  "vue": "3"
75
80
  },
76
81
  "engines": {