tg-map-vue3 4.2.12 → 4.3.0

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.
@@ -39,9 +39,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
39
39
  default: null;
40
40
  };
41
41
  }>> & Readonly<{}>, {
42
- top: string | number;
43
- bottom: string | number;
44
42
  left: string | number;
43
+ top: string | number;
45
44
  right: string | number;
45
+ bottom: string | number;
46
46
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
47
47
  export default _default;
@@ -6,8 +6,8 @@ type TgInfoBoxEmits = {
6
6
  };
7
7
  declare const TgInfoBox: import("vue").DefineComponent<{
8
8
  show: boolean;
9
- zIndex?: number | undefined;
10
9
  position?: LatLng | undefined;
10
+ zIndex?: number | undefined;
11
11
  maxWidth?: number | undefined;
12
12
  offset?: any;
13
13
  disableAutoPan?: boolean | undefined;
@@ -30,8 +30,8 @@ declare const TgInfoBox: import("vue").DefineComponent<{
30
30
  recreate(): void;
31
31
  }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, import("vue").ComponentOptionsMixin, EventEmits<TgInfoBoxEmits>, string, import("vue").PublicProps, Readonly<{
32
32
  show: boolean;
33
- zIndex?: number | undefined;
34
33
  position?: LatLng | undefined;
34
+ zIndex?: number | undefined;
35
35
  maxWidth?: number | undefined;
36
36
  offset?: any;
37
37
  disableAutoPan?: boolean | undefined;
@@ -59,12 +59,12 @@ declare const TgMarker: import("vue").DefineComponent<{
59
59
  autoAddToClusterer: boolean;
60
60
  label?: MarkerLabel | undefined;
61
61
  title?: string | undefined;
62
- draggable?: boolean | undefined;
63
- visible?: boolean | undefined;
64
62
  zIndex?: number | undefined;
65
63
  clickable?: boolean | undefined;
64
+ visible?: boolean | undefined;
66
65
  normalizePositionForBaidu?: boolean | undefined;
67
66
  icon?: UnionIcon | undefined;
67
+ draggable?: boolean | undefined;
68
68
  crossOnDrag?: boolean | undefined;
69
69
  cursor?: string | undefined;
70
70
  'onUpdate:position'?: (import("tg-map-core").EventCallback<LatLng> & ((event: LatLng) => any)) | undefined;
@@ -105,12 +105,12 @@ declare const TgMarker: import("vue").DefineComponent<{
105
105
  autoAddToClusterer: boolean;
106
106
  label?: MarkerLabel | undefined;
107
107
  title?: string | undefined;
108
- draggable?: boolean | undefined;
109
- visible?: boolean | undefined;
110
108
  zIndex?: number | undefined;
111
109
  clickable?: boolean | undefined;
110
+ visible?: boolean | undefined;
112
111
  normalizePositionForBaidu?: boolean | undefined;
113
112
  icon?: UnionIcon | undefined;
113
+ draggable?: boolean | undefined;
114
114
  crossOnDrag?: boolean | undefined;
115
115
  cursor?: string | undefined;
116
116
  'onUpdate:position'?: (import("tg-map-core").EventCallback<LatLng> & ((event: LatLng) => any)) | undefined;
@@ -41,7 +41,6 @@ export declare const tgPolygonProps: {
41
41
  export type TgPolygonEventEmits = EventEmits<PolygonEventMap & TgPolygonEmits>;
42
42
  declare const _default: import("vue").DefineComponent<{
43
43
  paths: LatLng[][];
44
- visible?: boolean | undefined;
45
44
  zIndex?: number | undefined;
46
45
  clickable?: boolean | undefined;
47
46
  editable?: boolean | undefined;
@@ -50,6 +49,7 @@ declare const _default: import("vue").DefineComponent<{
50
49
  strokeWeight?: number | undefined;
51
50
  fillColor?: string | undefined;
52
51
  fillOpacity?: number | undefined;
52
+ visible?: boolean | undefined;
53
53
  'onUpdate:paths'?: (import("tg-map-core").EventCallback<LatLng[][]> & ((event: LatLng[][]) => any)) | undefined;
54
54
  onClick?: ((event: import("tg-map-core").Tg.Event) => any) | undefined;
55
55
  onDblclick?: ((event: import("tg-map-core").Tg.Event) => any) | undefined;
@@ -70,7 +70,6 @@ declare const _default: import("vue").DefineComponent<{
70
70
  recreate(): void;
71
71
  }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, import("vue").ComponentOptionsMixin, EventEmits<PolygonEventMap & TgPolygonEmits>, string, import("vue").PublicProps, Readonly<{
72
72
  paths: LatLng[][];
73
- visible?: boolean | undefined;
74
73
  zIndex?: number | undefined;
75
74
  clickable?: boolean | undefined;
76
75
  editable?: boolean | undefined;
@@ -79,6 +78,7 @@ declare const _default: import("vue").DefineComponent<{
79
78
  strokeWeight?: number | undefined;
80
79
  fillColor?: string | undefined;
81
80
  fillOpacity?: number | undefined;
81
+ visible?: boolean | undefined;
82
82
  'onUpdate:paths'?: (import("tg-map-core").EventCallback<LatLng[][]> & ((event: LatLng[][]) => any)) | undefined;
83
83
  onClick?: ((event: import("tg-map-core").Tg.Event) => any) | undefined;
84
84
  onDblclick?: ((event: import("tg-map-core").Tg.Event) => any) | undefined;
@@ -5,7 +5,6 @@ type TgRectangleEmits = {
5
5
  };
6
6
  declare const _default: import("vue").DefineComponent<{
7
7
  bounds: LatLngBounds;
8
- visible?: boolean | undefined;
9
8
  zIndex?: number | undefined;
10
9
  clickable?: boolean | undefined;
11
10
  editable?: boolean | undefined;
@@ -14,6 +13,7 @@ declare const _default: import("vue").DefineComponent<{
14
13
  strokeWeight?: number | undefined;
15
14
  fillColor?: string | undefined;
16
15
  fillOpacity?: number | undefined;
16
+ visible?: boolean | undefined;
17
17
  'onUpdate:bounds'?: (import("tg-map-core").EventCallback<LatLngBounds> & ((event: LatLngBounds) => any)) | undefined;
18
18
  onClick?: ((event: import("tg-map-core").Tg.Event) => any) | undefined;
19
19
  onDblclick?: ((event: import("tg-map-core").Tg.Event) => any) | undefined;
@@ -34,7 +34,6 @@ declare const _default: import("vue").DefineComponent<{
34
34
  recreate(): void;
35
35
  }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, import("vue").ComponentOptionsMixin, EventEmits<RectangleEventMap & TgRectangleEmits>, string, import("vue").PublicProps, Readonly<{
36
36
  bounds: LatLngBounds;
37
- visible?: boolean | undefined;
38
37
  zIndex?: number | undefined;
39
38
  clickable?: boolean | undefined;
40
39
  editable?: boolean | undefined;
@@ -43,6 +42,7 @@ declare const _default: import("vue").DefineComponent<{
43
42
  strokeWeight?: number | undefined;
44
43
  fillColor?: string | undefined;
45
44
  fillOpacity?: number | undefined;
45
+ visible?: boolean | undefined;
46
46
  'onUpdate:bounds'?: (import("tg-map-core").EventCallback<LatLngBounds> & ((event: LatLngBounds) => any)) | undefined;
47
47
  onClick?: ((event: import("tg-map-core").Tg.Event) => any) | undefined;
48
48
  onDblclick?: ((event: import("tg-map-core").Tg.Event) => any) | undefined;
package/dist/tg-map.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const h=require("tg-commons"),r=require("tg-map-core"),i=require("vue");require("tg-map-core/dist/tg-map-core.css");function c(e,t){return{type:String,default:t,validator:s=>Object.values(e).includes(s)}}function S(e,t){return{type:String,default:t,validator:s=>e.includes(s)}}function m(e){return{type:e,required:!0}}function o(e,t){return{type:e,default:t}}function N(e){const t={};return Object.entries(e).forEach(([s,n])=>{const a=`__${s}`;t[s]={get(){const l=this[a];return l===void 0?n:l},set(l){this[a]=l}}}),t}const $={enumerable:!0,configurable:!0,get:h.noop,set:h.noop};function E(e){return Object.keys(e).forEach(t=>{const s=e[t];let n=!1;typeof s=="function"?($.get=s,$.set=h.noop,n=!0):typeof s=="object"&&typeof s.get=="function"&&($.get=s.get,$.set=s.set,n=!0),n&&(e[t]=Object.defineProperty(e,t,$))}),e}function x(e){return E(e)}function C(){return i.createCommentVNode()}function y(e,t){const s=e.$options[t];if(s)for(const n of s)n.call(e)}function z(e,t){for(const s of e)if(s.$options.name===t.name)return s}function D(e,t){if(!e.default)return;const s=e.default();for(const n of s)if((n==null?void 0:n.type).name===t.name)return n}function I(e,t){const s={},n={},a={};return Object.keys(e).forEach(l=>{l.startsWith("on")?s[r.Strings.pascal2kebab(l.substring(2))]=e[l]:n[l]=e[l]}),t&&Object.keys(t).forEach(l=>{l.startsWith("on")&&(a[r.Strings.pascal2kebab(l.substring(2))]=t[l])}),{binds:n,listeners:s,listenerProps:a}}function u(e,t){return i.computed(()=>I(e,t))}function p(){return Function}const V=()=>{let e,t;function s(a){console.log(a),e=a&&a.type,t=Date.now()}function n(a){((a&&a.type)!==e||Date.now()-(t??0)>1e3)&&s(a)}return{eventLog:s,eventLogLess:n}};function _(e,t){return(e==null?void 0:e.$options.name)===t.name}function w(e,t){return _(e,t)?e:void 0}function P(e,t,s){let n=t;for(;n;){if(_(n,e))return n;if(s&&_(n,s))return;n=n.$parent}}const T="$map",g="onCreate",v="onDestroy",d=i.defineComponent({inject:[T],mounted(){y(this,g)},beforeUnmount(){y(this,v)},methods:{recreate(){y(this,v),y(this,g)}},render(){return C()}}),W={type:c(r.TgMapType,r.TgMapType.google),center:m(r.LatLng),centerSyncDelay:o(Number,300),currentCenter:o(r.LatLng),lastCenter:o(r.LatLng),zoom:m(Number),infoWindowMode:S(r.InfoWindowModeValues),gestureHandling:c(r.GestureHandlingOptions),fractionalZoom:o(Boolean),minZoom:o(Number),maxZoom:o(Number),mapStyle:o(Object),mapTypeId:c(r.BuildInMapTypeId),mapType:o(Object),hideLogo:o(Boolean),onLoad:p(),"onUpdate:center":p(),"onUpdate:current-center":p(),"onUpdate:last-center":p(),"onUpdate:map-type":p(),"onUpdate:map-type-id":p(),"onUpdate:zoom":p(),onError:p()},R=i.defineComponent({name:"tg-map",provide(){return{[T]:i.computed(()=>this.map)}},inheritAttrs:!1,props:W,emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),centerSyncTimeoutId:void 0}},data(){return{map:h.typed(),isDestroyed:!1}},computed:{propsJson(){return r.Objects.toJsonSafely(this.$props)}},watch:{gestureHandling(e){var t;e&&((t=this.map)==null||t.setGestureHandling(r.unwrapStringEnumValue(e,r.GestureHandlingOptions)))},minZoom(e){var t;(t=this.map)==null||t.setMinZoom(e)},maxZoom(e){var t;(t=this.map)==null||t.setMaxZoom(e)},mapStyle(e){var t;(t=this.map)==null||t.setMapStyle(e)},mapTypeId(e){var t;e&&((t=this.map)==null||t.setBuildInMapTypeId(r.unwrapStringEnumValue(e,r.BuildInMapTypeId)))},mapType(e){var t;(t=this.map)==null||t.setMapType(e??r.MapType.NORMAL)},hideLogo(e){var t;(t=this.map)==null||t.setHideLogo(e??!1)},fractionalZoom(e){var t;(t=this.map)==null||t.setFractionalZoom(e??!1)}},async mounted(){const e=r.unwrapStringEnumValue(this.type,r.TgMapType);try{await r.loadCachedMap(e)}catch(a){this.$emit("error",a);return}if(this.isDestroyed){console.warn(`tg-map(type=${e})已销毁, 不需要继续执行`);return}const t=r.TgMapFactory.createMap(e,this.$refs.map,{center:this.center,zoom:this.zoom,infoWindowMode:this.infoWindowMode,gestureHandling:r.unwrapStringEnumValue(this.gestureHandling,r.GestureHandlingOptions),minZoom:this.minZoom,maxZoom:this.maxZoom,mapStyle:this.mapStyle,buildInMapTypeId:r.unwrapStringEnumValue(this.mapTypeId,r.BuildInMapTypeId),hideLogo:this.hideLogo,fractionalZoom:this.fractionalZoom});if(this.map=i.markRaw(t),this.mapType&&t.setMapType(this.mapType),"ready"in this.attrs.listeners&&console.error("地图载入完成的事件已经从ready改为了load, 请手动修改"),r.bindEvents(this.attrs.listeners,t,this.$emit,["load"]),this.$emit("load",t),i.watch([()=>this.zoom,()=>this.center],([a,l],[b,A])=>{a!==b&&t.setZoom(a),l!==A&&(t.getCenter().equals(l)||t.setCenter(l))}),this.attrs.listenerProps["update:center"]){const a=()=>this.$emit("update:center",t.getCenter());t.addEventListener("center-changed",()=>{this.centerSyncDelay>0?(clearTimeout(this.centerSyncTimeoutId),this.centerSyncTimeoutId=setTimeout(a,this.centerSyncDelay)):a()})}this.attrs.listenerProps["update:current-center"]&&(this.$emit("update:current-center",this.center),t.addEventListener("center-changed",()=>{this.$emit("update:current-center",t.getCenter())})),this.attrs.listenerProps["update:zoom"]&&t.addEventListener("zoom-changed",()=>{this.$emit("update:zoom",t.getZoom())});const s=this.attrs.listenerProps["update:map-type"],n=this.attrs.listenerProps["update:map-type-id"];(s||n)&&t.addEventListener("map-type-changed",()=>{const a=t.getMapType();s&&this.$emit("update:map-type",a),n&&this.$emit("update:map-type-id",a.id)})},unmounted(){this.isDestroyed=!0,this.map&&(this.attrs.listenerProps["update:last-center"]&&this.$emit("update:last-center",this.map.getCenter()),this.attrs.listenerProps["update:center"]&&(clearTimeout(this.centerSyncTimeoutId),this.$emit("update:center",this.map.getCenter())))},methods:{}}),f=(e,t)=>{const s=e.__vccOpts||e;for(const[n,a]of t)s[n]=a;return s};function Z(e,t,s,n,a,l){return i.openBlock(),i.createElementBlock("div",i.mergeProps({class:"tg-map"},e.attrs.binds),[i.createElementVNode("div",{ref:"map",class:i.normalizeClass({"tg-map__map":!0,[`tg-map__map--hide-logo-${e.type}`]:e.hideLogo})},null,2),i.createCommentVNode("",!0),e.map?i.renderSlot(e.$slots,"default",{key:1}):i.createCommentVNode("",!0),i.renderSlot(e.$slots,"overlay")],16)}const k=f(R,[["render",Z]]),U=i.defineComponent({name:"tg-map-widget",props:{left:{type:[Number,String],default:null},top:{type:[Number,String],default:null},right:{type:[Number,String],default:null},bottom:{type:[Number,String],default:null}},computed:{topValue(){return this.top==null&&this.bottom==null?0:this.top}},methods:{dimen:r.dimen}});function j(e,t,s,n,a,l){return i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(e.$options.name),style:i.normalizeStyle({left:e.dimen(e.left),top:e.dimen(e.topValue),right:e.dimen(e.right),bottom:e.dimen(e.bottom)})},[i.renderSlot(e.$slots,"default")],6)}const H=f(U,[["render",j]]),F=i.defineComponent({name:"tg-custom-control",mixins:[d],props:{position:c(r.ControlPosition,r.ControlPosition.RIGHT_BOTTOM)},setup(){return{control:h.lateinit()}},watch:{position(){this.recreate()}},onCreate(){w(this.$parent,k)||console.warn("请将tg-custom-control放到tg-map中");const{$el:e}=this,t=class extends r.CustomControl{onCreateElement(){return e}};this.control=new t(r.unwrapStringEnumValue(this.position,r.ControlPosition)),this.$map.addCustomControl(this.control)},onDestroy(){this.$map.removeCustomControl(this.control)}});function G(e,t,s,n,a,l){return i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(e.$options.name)},[i.renderSlot(e.$slots,"default")],2)}const q=f(F,[["render",G]]),X=i.defineComponent({name:"tg-map-type-control",mixins:[d],props:{position:c(r.ControlPosition,r.ControlPosition.TOP_LEFT),type:c(r.MapTypeControlType),mapTypes:o(Array)},setup(){return{control:h.lateinit()}},watch:{position(e){this.control.setPosition(e)},type(){this.recreate()},mapTypes:{handler(){this.recreate()},deep:!0}},onCreate(){this.control=this.$map.createMapTypeControl(r.unwrapStringEnumValue(this)),this.$map.addControl(this.control)},onDestroy(){this.$map.removeControl(this.control)}}),K=i.defineComponent({name:"tg-scale-control",mixins:[d],props:{position:c(r.ControlPosition,r.ControlPosition.BOTTOM_RIGHT)},setup(){return{control:h.lateinit()}},watch:{position(e){this.control.setPosition(e)}},onCreate(){this.control=this.$map.createScaleControl(r.unwrapStringEnumValue(this)),this.$map.addControl(this.control)},onDestroy(){this.$map.removeControl(this.control)}});function L(){var s;const e=(s=i.getCurrentInstance())==null?void 0:s.type;let t=(e==null?void 0:e.name)??(e==null?void 0:e.__name);if(!t){const n=e==null?void 0:e.__file;n&&(t=h.path.basename(n,".vue"))}return t}function O(){const e=i.inject(T);let t,s;return e==null&&h.throwError(`<${L()||"unknown"}>必须作为<tg-map>的子代组件`),{mapRef:e,get map(){return e.value??h.throwError("map尚未初始化")},[g](n){i.onMounted(n),t&&h.throwError(`${g}只能调用一次`),t=n},[v](n){i.onBeforeUnmount(n),s&&h.throwError(`${v}只能调用一次`),s=n},recreate(){s==null||s(),t==null||t()}}}const J=i.defineComponent({name:"tg-street-view-control",props:{position:c(r.ControlPosition,r.ControlPosition.RIGHT_BOTTOM)},setup(e){let t=h.lateinit();const{map:s,onCreate:n,onDestroy:a}=O();return n(()=>{t=s.createStreetViewControl(r.unwrapStringEnumValue(e)),s.addControl(t)}),a(()=>{s.removeControl(t)}),i.watch(()=>e.position,l=>{t.setPosition(r.unwrapStringEnumValue(l,r.ControlPosition))}),C}}),Y=i.defineComponent({name:"tg-zoom-control",props:{position:c(r.ControlPosition,r.ControlPosition.RIGHT_BOTTOM),showZoomLevel:o(Boolean)},setup(e){let t=h.lateinit();const{map:s,onCreate:n,onDestroy:a}=O();return n(()=>{t=s.createZoomControl(r.unwrapStringEnumValue(e)),s.addControl(t)}),a(()=>{s.removeControl(t)}),i.watch(()=>e.position,l=>{t.setPosition(r.unwrapStringEnumValue(l,r.ControlPosition))}),i.watch(()=>e.showZoomLevel,l=>{t.setShowZoomLevel(l??!0)}),C}}),Q=i.defineComponent({name:"tg-heatmap",props:{maxIntensity:o(Number),gradient:o(Object),opacity:o(Number),radius:o(Number),data:m(Array)},setup(e){const{map:t,onCreate:s,onDestroy:n}=O();let a=h.lateinit();return s(()=>{a=t.createHeatmap(e)}),n(()=>{a.remove()}),i.watch(()=>e.data,l=>a.setData(l)),i.watch([()=>e.maxIntensity,()=>e.gradient,()=>e.opacity,()=>e.radius],()=>a.setOptions(e)),C}}),ee=i.defineComponent({name:"tg-marker-clusterer",mixins:[d],props:{gridSize:o(Number),maxZoom:o(Number),minClusterSize:o(Number),averageCenter:o(Boolean),styles:o(Array),stylesIndexCalculator:o(Function),zIndex:o(Number)},setup(){return{clusterer:h.lateinit(),markers:h.typed([]),pendingMarkers:h.typed([])}},watch:{gridSize(){this.recreate()},maxZoom(){this.recreate()},minClusterSize(){this.recreate()},averageCenter(){this.recreate()},styles:{handler(){this.recreate()},deep:!0},stylesIndexCalculator(){this.recreate()},zIndex(){this.recreate()}},onCreate(){this.clusterer=this.$map.createMarkerClusterer(this)},onDestroy(){this.clusterer.clearMarkers(!0),this.pendingMarkers=[]},methods:{isInitiated(){return this.clusterer!=null},performAddMarkers(){this.clusterer.addMarkers(this.pendingMarkers),this.pendingMarkers=[]},onAddMarker(e){this.markers.push(e),this.isInitiated()&&(this.pendingMarkers.length||this.$nextTick(this.performAddMarkers),this.pendingMarkers.push(e))},onRemoveMarker(e){this.isInitiated()&&(h.Arrays.remove(this.pendingMarkers,e)||this.clusterer.removeMarker(e)),h.Arrays.remove(this.markers,e)}}});function te(e,t,s,n,a,l){return i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(e.$options.name)},[i.renderSlot(e.$slots,"default")],2)}const B=f(ee,[["render",te]]),oe=i.defineComponent({name:"tg-traffic-layer",mixins:[d],setup(){return{layer:h.lateinit()}},watch:{},onCreate(){this.layer=new r.TrafficLayer,this.$map.addLayer(this.layer)},onDestroy(){this.$map.removeLayer(this.layer)}}),ie=i.defineComponent({name:"tg-circle",mixins:[d],inheritAttrs:!1,props:{center:m(r.LatLng),radius:m(Number),clickable:o(Boolean),editable:o(Boolean),strokeColor:o(String),strokeOpacity:o(Number),strokeWeight:o(Number),visible:o(Boolean),zIndex:o(Number),fillColor:o(String),fillOpacity:o(Number),"onUpdate:center":p(),"onUpdate:radius":p()},emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),overlay:h.lateinit(),emittedRadius:void 0,emittedCenter:void 0}},watch:{center(e){if(this.emittedCenter!=null){const t=this.emittedCenter;if(this.emittedCenter=void 0,t===i.toRaw(e))return}this.overlay.setCenter(e)},radius(e){if(this.emittedRadius!=null){const t=this.emittedRadius;if(this.emittedRadius=void 0,t===e)return}this.overlay.setRadius(e)},clickable(){this.recreate()},editable(e){this.overlay.setEditable(e)},strokeColor(e){this.overlay.setStrokeColor(e)},strokeOpacity(e){this.overlay.setStrokeOpacity(e)},strokeWeight(e){this.overlay.setStrokeWeight(e)},fillColor(e){this.overlay.setFillColor(e)},fillOpacity(e){this.overlay.setFillOpacity(e)},visible(e){this.overlay.setVisible(e)},zIndex(e){this.overlay.setZIndex(e)}},onCreate(){this.overlay=this.$map.createCircle(this),this.$map.addOverlay(this.overlay),r.bindEvents(this.attrs.listeners,this.overlay,this.$emit),this.attrs.listenerProps["update:center"]&&this.overlay.addEventListener("center-changed",()=>{this.$emit("update:center",this.emittedCenter=this.overlay.getCenter())}),this.attrs.listenerProps["update:radius"]&&this.overlay.addEventListener("radius-changed",()=>{this.$emit("update:radius",this.emittedRadius=this.overlay.getRadius())})},onDestroy(){this.$map.removeOverlay(this.overlay)}});class re extends r.ElementOverlay{constructor(t,s,n,a){super(t,s),this.content=n,this.position=a}onCreate(){return this.content}onDraw(t){const s=t.fromLatLngToOverlayPoint(this.position);this.content.style.left=s.x+"px",this.content.style.top=s.y+"px"}setPosition(t){this.position=t,this.draw()}}const se=i.defineComponent({name:"tg-element-overlay",mixins:[d],props:{mapPane:c(r.MapPane,r.MapPane.overlayMouseTarget),position:m(r.LatLng)},setup(){return{overlay:h.lateinit()}},watch:{position(e){this.overlay.setPosition(e)},mapPane(){this.recreate()}},methods:{content(){return this.$el}},onCreate(){this.overlay=new re(this.$map,r.unwrapStringEnumValue(this),this.content(),this.position),this.$map.addElementOverlay(this.overlay)},onDestroy(){this.$map.removeElementOverlay(this.overlay)}});function ne(e,t,s,n,a,l){return i.openBlock(),i.createElementBlock("div",i.mergeProps({class:e.$options.name},e.$attrs),[i.renderSlot(e.$slots,"default")],16)}const ae=f(se,[["render",ne]]),le={position:m(r.LatLng),title:o(String),label:o(Object),icon:o(Object),clickable:o(Boolean),draggable:o(Boolean),crossOnDrag:o(Boolean),cursor:o(String),zIndex:o(Number),visible:o(Boolean),normalizePositionForBaidu:o(Boolean),autoAddToClusterer:o(Boolean,!0),"onUpdate:position":p()},he=i.defineComponent({name:"tg-marker",mixins:[d],inheritAttrs:!1,props:le,emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),marker:h.lateinit(),labelOverlay:h.typed(),info:h.typed(),emittedPosition:void 0,autoAddToClustererWhenCreate:e.autoAddToClusterer}},watch:{position(e){if(this.emittedPosition!=null){const t=this.emittedPosition;if(this.emittedPosition=void 0,t===i.toRaw(e))return}this.marker.setPosition(e)},title(e){this.marker.setTitle(e)},label(e,t){h.deepEqual(e,t)||(e?this.marker.setLabel(e):this.recreate())},icon(e){var t;e?(t=this.marker)==null||t.setIcon(e):this.recreate()},clickable(e){this.marker instanceof r.BaiduMarker?this.recreate():this.marker.setClickable(e)},draggable(e){this.marker.setDraggable(e)},crossOnDrag(){this.recreate()},cursor(){this.recreate()},zIndex(e){this.marker instanceof r.BaiduMarker?this.recreate():this.marker.setZIndex(e)},visible(e){this.marker.setVisible(e)},normalizePositionForBaidu(){this.recreate()},autoAddToClusterer(){this.recreate()}},onCreate(){this.marker=this.$map.createMarker(this),this.labelOverlay&&this.marker.attachLabelOverlay(this.labelOverlay.overlay),this.$clusterer()&&this.autoAddToClusterer?this.$clusterer().onAddMarker(this.marker):this.$map.addOverlay(this.marker),this.autoAddToClustererWhenCreate=this.autoAddToClusterer,this.info&&this.info.show&&this.info.overlay.open(this.marker),r.bindEvents(this.attrs.listeners,this.marker,this.$emit),this.attrs.listenerProps["update:position"]&&this.marker.addEventListener("dragend",e=>{this.$emit("update:position",this.emittedPosition=e.position)})},onDestroy(){this.$clusterer()&&this.autoAddToClustererWhenCreate?this.$clusterer().onRemoveMarker(this.marker):this.$map.removeOverlay(this.marker)},methods:{recreate(){y(this,v),this.labelOverlay&&this.marker.attachLabelOverlay(void 0),this.info&&this.info.overlay.close(),y(this,g)},$clusterer(){return w(this.$parent,B)},onAddLabel(e){this.labelOverlay=e,this.marker&&this.marker.attachLabelOverlay(e.overlay)},onRemoveLabel(e){this.marker.attachLabelOverlay(void 0),this.labelOverlay=void 0},onAddInfo(e){this.info=e,this.marker&&e.show&&e.overlay.open(this.marker)},onRemoveInfo(e){e.overlay.close(),this.info=void 0},onInfoShowChanged(e,t){t?e.overlay.open(this.marker):e.overlay.close()}}});function pe(e,t,s,n,a,l){return i.renderSlot(e.$slots,"default")}const M=f(he,[["render",pe]]),de=i.defineComponent({name:"tg-info-box",mixins:[d],inheritAttrs:!1,props:{show:m(Boolean),position:o(r.LatLng),offset:o(Object),maxWidth:o(Number),borderClass:o(String),zIndex:o(Number),disableAutoPan:o(Boolean),"onUpdate:show":p()},emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),overlay:h.lateinit()}},watch:{show(e){this.$marker()?this.$marker().onInfoShowChanged(this,e):e?this.overlay.open():this.overlay.close()},position(e){this.overlay.setPosition(e)},offset(){this.recreate()},maxWidth(e){this.overlay.setMaxWidth(e)},borderClass(){this.recreate()},zIndex(e){this.overlay.setZIndex(e)},disableAutoPan(){this.recreate()}},onCreate(){this.overlay=this.$map.createInfoBox(this.getOptions()),this.$marker()?this.$marker().onAddInfo(this):this.show&&this.overlay.open(),this.attrs.listenerProps["update:show"]&&this.overlay.addEventListener("closeclick",()=>{this.$emit("update:show",!1)}),r.bindEvents(this.attrs.listeners,this.overlay,this.$emit)},onDestroy(){this.$marker()?this.$marker().onRemoveInfo(this):this.overlay.close()},methods:{getOptions(){return{content:this.content(),position:this.position,offset:this.offset,zIndex:this.zIndex,maxWidth:this.maxWidth,borderClass:this.borderClass,disableAutoPan:this.disableAutoPan}},content(){return this.$map instanceof r.GoogleMap?r.wrapComponentElementForGoogle(this.$el,"google-info-container"):this.$el},$marker(){return P(M,this.$parent,k)},open(e){this.overlay.open(e)},close(){this.overlay.close()}}});function me(e,t,s,n,a,l){return i.openBlock(),i.createElementBlock("div",i.mergeProps({class:e.$options.name},e.attrs.binds),[i.renderSlot(e.$slots,"default")],16)}const ce=f(de,[["render",me]]),ue=i.defineComponent({name:"tg-info-window",mixins:[d],inheritAttrs:!1,props:{show:m(Boolean),position:o(r.LatLng),maxWidth:o(Number),offset:o(Object),disableAutoPan:o(Boolean),"onUpdate:show":p()},emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),overlay:h.lateinit()}},watch:{show(e){this.$marker()?this.$marker().onInfoShowChanged(this,e):e?this.overlay.open():this.overlay.close()},position(e){this.overlay.setPosition(e)},maxWidth(){this.recreate()},offset(){this.recreate()},disableAutoPan(){this.recreate()}},methods:{content(){return this.$map instanceof r.GoogleMap?r.wrapComponentElementForGoogle(this.$el,"google-info-container"):this.$el},$marker(){return P(M,this.$parent,k)},getOptions(){return{content:this.content(),position:this.position,maxWidth:this.maxWidth,offset:this.offset,disableAutoPan:this.disableAutoPan}}},onCreate(){this.overlay=this.$map.createInfoWindow(this.getOptions()),this.$marker()?this.$marker().onAddInfo(this):this.show&&this.overlay.open(),this.overlay.addEventListener("open",()=>{this.$emit("update:show",!0)}),this.overlay.addEventListener("close",()=>{this.$emit("update:show",!1)}),r.bindEvents(this.attrs.listeners,this.overlay,this.$emit)},onDestroy(){this.$marker()?this.$marker().onRemoveInfo(this):this.overlay.close()}});function fe(e,t,s,n,a,l){return i.withDirectives((i.openBlock(),i.createElementBlock("div",i.mergeProps({class:e.$options.name},e.attrs.binds),[i.renderSlot(e.$slots,"default")],16)),[[i.vShow,e.show]])}const ye=f(ue,[["render",fe]]),ge=i.defineComponent({name:"tg-label",mixins:[d],inheritAttrs:!1,props:{position:o(r.LatLng),offset:o(Object),zIndex:o(Number),mapPane:c(r.MapPane)},emits:void 0,setup(e,{attrs:t}){return{attrs:u(t),overlay:h.lateinit()}},watch:{position(e){this.overlay.setPosition(e)},offset(e){var t;(t=this.overlay)==null||t.setOffset(e)},zIndex(e){this.overlay.setZIndex(e)},visible(e){this.overlay.setVisible(e)},mapPane(){this.recreate()}},methods:{content(){return this.$el},marker(){var e;return(e=this.$marker())==null?void 0:e.marker},$marker(){return P(M,this.$parent,k)},getOptions(){return{content:this.content(),position:this.position,offset:this.offset,zIndex:this.zIndex,mapPane:r.unwrapStringEnumValue(this.mapPane,r.MapPane)}}},onCreate(){this.overlay=this.$map.createLabel(this.getOptions()),this.$marker()?this.$marker().onAddLabel(this):this.$map.addOverlay(this.overlay),r.bindEvents(this.attrs.listeners,this.overlay,this.$emit)},onDestroy(){this.$marker()?this.$marker().onRemoveLabel(this):this.$map.removeOverlay(this.overlay)}});function ve(e,t,s,n,a,l){return i.openBlock(),i.createElementBlock("div",i.mergeProps({class:e.$options.name},e.attrs.binds),[i.renderSlot(e.$slots,"default")],16)}const be=f(ge,[["render",ve]]),$e={paths:m(Array),clickable:o(Boolean),editable:o(Boolean),strokeColor:o(String),strokeOpacity:o(Number),strokeWeight:o(Number),visible:o(Boolean),zIndex:o(Number),fillColor:o(String),fillOpacity:o(Number),"onUpdate:paths":p()},Ce=i.defineComponent({name:"tg-polygon",mixins:[d],inheritAttrs:!1,props:$e,emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),overlay:h.lateinit(),emittedPaths:void 0}},watch:{paths:{handler(e){if(this.emittedPaths!=null){const t=this.emittedPaths;if(this.emittedPaths=void 0,t.length===e.length&&t.every((s,n)=>s===i.toRaw(e[n])))return}this.overlay.setPaths(e)},deep:!0},clickable(){this.recreate()},editable(e){this.overlay.setEditable(e)},strokeColor(e){this.overlay.setStrokeColor(e)},strokeOpacity(e){this.overlay.setStrokeOpacity(e)},strokeWeight(e){this.overlay.setStrokeWeight(e)},fillColor(e){this.overlay.setFillColor(e)},fillOpacity(e){this.overlay.setFillOpacity(e)},visible(e){this.overlay.setVisible(e)},zIndex(e){this.overlay.setZIndex(e)}},onCreate(){this.overlay=this.$map.createPolygon(this),this.$map.addOverlay(this.overlay),r.bindEvents(this.attrs.listeners,this.overlay,this.$emit),this.attrs.listenerProps["update:paths"]&&this.overlay.addEventListener("paths-edited",()=>{this.$emit("update:paths",this.emittedPaths=this.overlay.getPaths())})},onDestroy(){this.$map.removeOverlay(this.overlay)}}),ke=i.defineComponent({name:"tg-polyline",mixins:[d],inheritAttrs:!1,props:{path:m(Array),icons:o(Array),clickable:o(Boolean),editable:o(Boolean),strokeColor:o(String),strokeOpacity:o(Number),strokeWeight:o(Number),visible:o(Boolean),zIndex:o(Number),"onUpdate:path":p()},emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),overlay:h.lateinit(),emittedPath:void 0}},watch:{path:{handler(e){if(this.emittedPath!=null){const t=this.emittedPath;if(this.emittedPath=void 0,t===i.toRaw(e))return}this.overlay.setPath(e)},deep:!0},icons:{handler(){this.recreate()},deep:!0},clickable(){this.recreate()},editable(e){this.overlay.setEditable(e)},strokeColor(e){this.overlay.setStrokeColor(e)},strokeOpacity(e){this.overlay.setStrokeOpacity(e)},strokeWeight(e){this.overlay.setStrokeWeight(e)},visible(e){this.overlay.setVisible(e)},zIndex(e){this.overlay.setZIndex(e)}},onCreate(){this.overlay=this.$map.createPolyline(this),this.$map.addOverlay(this.overlay),r.bindEvents(this.attrs.listeners,this.overlay,this.$emit),this.attrs.listenerProps["update:path"]&&this.overlay.addEventListener("path-edited",()=>{this.$emit("update:path",this.emittedPath=this.overlay.getPath())})},onDestroy(){this.overlay.remove()}}),_e=i.defineComponent({name:"tg-rectangle",mixins:[d],inheritAttrs:!1,props:{bounds:m(Object),clickable:o(Boolean),editable:o(Boolean),strokeColor:o(String),strokeOpacity:o(Number),strokeWeight:o(Number),visible:o(Boolean),zIndex:o(Number),fillColor:o(String),fillOpacity:o(Number),"onUpdate:bounds":p()},emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),overlay:h.lateinit(),emittedBounds:void 0}},watch:{bounds(e){if(this.emittedBounds!=null){const t=this.emittedBounds;if(this.emittedBounds=void 0,t.equals(e))return}this.overlay.setBounds(e)},clickable(){this.recreate()},editable(e){this.overlay.setEditable(e)},strokeColor(e){this.overlay.setStrokeColor(e)},strokeOpacity(e){this.overlay.setStrokeOpacity(e)},strokeWeight(e){this.overlay.setStrokeWeight(e)},fillColor(e){this.overlay.setFillColor(e)},fillOpacity(e){this.overlay.setFillOpacity(e)},visible(e){this.overlay.setVisible(e)},zIndex(e){this.overlay.setZIndex(e)}},onCreate(){this.overlay=this.$map.createRectangle(this),this.$map.addOverlay(this.overlay),r.bindEvents(this.attrs.listeners,this.overlay,this.$emit),this.attrs.listenerProps["update:bounds"]&&this.overlay.addEventListener("bounds-changed",()=>{this.$emit("update:bounds",this.emittedBounds=this.overlay.getBounds())})},onDestroy(){this.$map.removeOverlay(this.overlay)}}),Pe=["beforeUpdate","updated"],Te={install(e,t={}){if(t.enable!==!1){const s=i.defineComponent({beforeCreate(){const n=L()??"",l=(t.nameRegex||/^[A-Z]/).test(n)?b=>{t.hookNames?t.hookNames.includes(b)&&console.debug("[lifecycle]",n,b):Pe.includes(b)||console.debug("[lifecycle]",n,b)}:h.noop;l("beforeCreate"),this.__life_impl=l},created(){this.__life("created")},beforeMount(){this.__life("beforeMount")},mounted(){this.__life("mounted")},beforeUpdate(){this.__life("beforeUpdate")},updated(){this.__life("updated")},beforeUnmount(){this.__life("beforeUnmount")},unmounted(){this.__life("unmounted")},methods:{__life(n){this.__life_impl(n)}},onCreate(){this.__life("onCreate")},onDestroy(){this.__life("onDestroy")}});e.mixin(s)}}},Oe={install(e,t){r.setTgMapConfig(t);const s=e.config.optionMergeStrategies;s[g]=s[v]=(n,a)=>n?[...new Set([].concat(n,a))]:Array.isArray(a)?a:[a]}};exports.LifecycleLogPlugin=Te;exports.MIXIN_HOOK_CREATE=g;exports.MIXIN_HOOK_DESTROY=v;exports.MIXIN_MAP_NAME=T;exports.MapMixin=d;exports.TgCircle=ie;exports.TgCustomControl=q;exports.TgElementOverlay=ae;exports.TgHeatmap=Q;exports.TgInfoBox=ce;exports.TgInfoWindow=ye;exports.TgLabel=be;exports.TgMap=k;exports.TgMapTypeControl=X;exports.TgMapWidget=H;exports.TgMarker=M;exports.TgMarkerClusterer=B;exports.TgPolygon=Ce;exports.TgPolyline=ke;exports.TgRectangle=_e;exports.TgScaleControl=K;exports.TgStreetViewControl=J;exports.TgTrafficLayer=oe;exports.TgZoomControl=Y;exports.callHook=y;exports.computedSaveOnThis=N;exports.createEmptyVNode=C;exports.createPropertyObject=E;exports.createPropertyObjectTyped=x;exports.default=Oe;exports.eventProp=p;exports.extractVNodeFromSlotsByComponent=D;exports.findAncestorComponentByType=P;exports.findByComponentType=z;exports.isComponentByType=_;exports.optionalProp=o;exports.requiredProp=m;exports.safeAsComponent=w;exports.splitAttrs=I;exports.stringEnumProp=c;exports.stringUnionPropFromValues=S;exports.useEventLogMethods=V;exports.useSplittedAttrs=u;exports.useTgMapInner=O;Object.keys(r).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:()=>r[e]})});
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const h=require("tg-commons"),r=require("tg-map-core"),i=require("vue");require("tg-map-core/dist/tg-map-core.css");function c(e,t){return{type:String,default:t,validator:s=>Object.values(e).includes(s)}}function S(e,t){return{type:String,default:t,validator:s=>e.includes(s)}}function m(e){return{type:e,required:!0}}function o(e,t){return{type:e,default:t}}function N(e){const t={};return Object.entries(e).forEach(([s,n])=>{const a=`__${s}`;t[s]={get(){const l=this[a];return l===void 0?n:l},set(l){this[a]=l}}}),t}const $={enumerable:!0,configurable:!0,get:h.noop,set:h.noop};function I(e){return Object.keys(e).forEach(t=>{const s=e[t];let n=!1;typeof s=="function"?($.get=s,$.set=h.noop,n=!0):typeof s=="object"&&typeof s.get=="function"&&($.get=s.get,$.set=s.set,n=!0),n&&(e[t]=Object.defineProperty(e,t,$))}),e}function x(e){return I(e)}function C(){return i.createCommentVNode()}function y(e,t){const s=e.$options[t];if(s)for(const n of s)n.call(e)}function z(e,t){for(const s of e)if(s.$options.name===t.name)return s}function D(e,t){if(!e.default)return;const s=e.default();for(const n of s)if((n==null?void 0:n.type).name===t.name)return n}function E(e,t){const s={},n={},a={};return Object.keys(e).forEach(l=>{l.startsWith("on")?s[r.Strings.pascal2kebab(l.substring(2))]=e[l]:n[l]=e[l]}),t&&Object.keys(t).forEach(l=>{l.startsWith("on")&&(a[r.Strings.pascal2kebab(l.substring(2))]=t[l])}),{binds:n,listeners:s,listenerProps:a}}function u(e,t){return i.computed(()=>E(e,t))}function p(){return Function}const V=()=>{let e,t;function s(a){console.log(a),e=a&&a.type,t=Date.now()}function n(a){((a&&a.type)!==e||Date.now()-(t??0)>1e3)&&s(a)}return{eventLog:s,eventLogLess:n}};function _(e,t){return(e==null?void 0:e.$options.name)===t.name}function w(e,t){return _(e,t)?e:void 0}function P(e,t,s){let n=t;for(;n;){if(_(n,e))return n;if(s&&_(n,s))return;n=n.$parent}}const T="$map",g="onCreate",v="onDestroy",d=i.defineComponent({inject:[T],mounted(){y(this,g)},beforeUnmount(){y(this,v)},methods:{recreate(){y(this,v),y(this,g)}},render(){return C()}}),W={type:c(r.TgMapType,r.TgMapType.google),center:m(r.LatLng),centerSyncDelay:o(Number,300),currentCenter:o(r.LatLng),lastCenter:o(r.LatLng),zoom:m(Number),infoWindowMode:S(r.InfoWindowModeValues),gestureHandling:c(r.GestureHandlingOptions),fractionalZoom:o(Boolean),minZoom:o(Number),maxZoom:o(Number),mapStyle:o(Object),mapTypeId:c(r.BuildInMapTypeId),mapType:o(Object),hideLogo:o(Boolean),onLoad:p(),"onUpdate:center":p(),"onUpdate:current-center":p(),"onUpdate:last-center":p(),"onUpdate:map-type":p(),"onUpdate:map-type-id":p(),"onUpdate:zoom":p(),onError:p()},R=i.defineComponent({name:"tg-map",provide(){return{[T]:i.computed(()=>this.map)}},inheritAttrs:!1,props:W,emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),centerSyncTimeoutId:void 0}},data(){return{map:h.typed(),isDestroyed:!1}},computed:{propsJson(){return r.Objects.toJsonSafely(this.$props)}},watch:{gestureHandling(e){var t;e&&((t=this.map)==null||t.setGestureHandling(r.unwrapStringEnumValue(e,r.GestureHandlingOptions)))},minZoom(e){var t;(t=this.map)==null||t.setMinZoom(e)},maxZoom(e){var t;(t=this.map)==null||t.setMaxZoom(e)},mapStyle(e){var t;(t=this.map)==null||t.setMapStyle(e)},mapTypeId(e){var t;e&&((t=this.map)==null||t.setBuildInMapTypeId(r.unwrapStringEnumValue(e,r.BuildInMapTypeId)))},mapType(e){var t;(t=this.map)==null||t.setMapType(e??r.MapType.NORMAL)},hideLogo(e){var t;(t=this.map)==null||t.setHideLogo(e??!1)},fractionalZoom(e){var t;(t=this.map)==null||t.setFractionalZoom(e??!1)}},async mounted(){const e=r.unwrapStringEnumValue(this.type,r.TgMapType);try{await r.loadCachedMap(e)}catch(a){this.$emit("error",a);return}if(this.isDestroyed){console.warn(`tg-map(type=${e})已销毁, 不需要继续执行`);return}const t=r.TgMapFactory.createMap(e,this.$refs.map,{center:this.center,zoom:this.zoom,infoWindowMode:this.infoWindowMode,gestureHandling:r.unwrapStringEnumValue(this.gestureHandling,r.GestureHandlingOptions),minZoom:this.minZoom,maxZoom:this.maxZoom,mapStyle:this.mapStyle,buildInMapTypeId:r.unwrapStringEnumValue(this.mapTypeId,r.BuildInMapTypeId),hideLogo:this.hideLogo,fractionalZoom:this.fractionalZoom});if(this.map=i.markRaw(t),this.mapType&&t.setMapType(this.mapType),"ready"in this.attrs.listeners&&console.error("地图载入完成的事件已经从ready改为了load, 请手动修改"),r.bindEvents(this.attrs.listeners,t,this.$emit,["load"]),this.$emit("load",t),i.watch([()=>this.zoom,()=>this.center],([a,l],[b,A])=>{a!==b&&t.setZoom(a),l!==A&&t.setCenterIfChanged(l)}),this.attrs.listenerProps["update:center"]){const a=()=>this.$emit("update:center",t.getCenter());t.addEventListener("center-changed",()=>{this.centerSyncDelay>0?(clearTimeout(this.centerSyncTimeoutId),this.centerSyncTimeoutId=setTimeout(a,this.centerSyncDelay)):a()})}this.attrs.listenerProps["update:current-center"]&&(this.$emit("update:current-center",this.center),t.addEventListener("center-changed",()=>{this.$emit("update:current-center",t.getCenter())})),this.attrs.listenerProps["update:zoom"]&&t.addEventListener("zoom-changed",()=>{this.$emit("update:zoom",t.getZoom())});const s=this.attrs.listenerProps["update:map-type"],n=this.attrs.listenerProps["update:map-type-id"];(s||n)&&t.addEventListener("map-type-changed",()=>{const a=t.getMapType();s&&this.$emit("update:map-type",a),n&&this.$emit("update:map-type-id",a.id)})},unmounted(){this.isDestroyed=!0,this.map&&(this.attrs.listenerProps["update:last-center"]&&this.$emit("update:last-center",this.map.getCenter()),this.attrs.listenerProps["update:center"]&&(clearTimeout(this.centerSyncTimeoutId),this.$emit("update:center",this.map.getCenter())))},methods:{}}),f=(e,t)=>{const s=e.__vccOpts||e;for(const[n,a]of t)s[n]=a;return s};function Z(e,t,s,n,a,l){return i.openBlock(),i.createElementBlock("div",i.mergeProps({class:"tg-map"},e.attrs.binds),[i.createElementVNode("div",{ref:"map",class:i.normalizeClass({"tg-map__map":!0,[`tg-map__map--hide-logo-${e.type}`]:e.hideLogo})},null,2),i.createCommentVNode("",!0),e.map?i.renderSlot(e.$slots,"default",{key:1}):i.createCommentVNode("",!0),i.renderSlot(e.$slots,"overlay")],16)}const k=f(R,[["render",Z]]),U=i.defineComponent({name:"tg-map-widget",props:{left:{type:[Number,String],default:null},top:{type:[Number,String],default:null},right:{type:[Number,String],default:null},bottom:{type:[Number,String],default:null}},computed:{topValue(){return this.top==null&&this.bottom==null?0:this.top}},methods:{dimen:r.dimen}});function j(e,t,s,n,a,l){return i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(e.$options.name),style:i.normalizeStyle({left:e.dimen(e.left),top:e.dimen(e.topValue),right:e.dimen(e.right),bottom:e.dimen(e.bottom)})},[i.renderSlot(e.$slots,"default")],6)}const H=f(U,[["render",j]]),F=i.defineComponent({name:"tg-custom-control",mixins:[d],props:{position:c(r.ControlPosition,r.ControlPosition.RIGHT_BOTTOM)},setup(){return{control:h.lateinit()}},watch:{position(){this.recreate()}},onCreate(){w(this.$parent,k)||console.warn("请将tg-custom-control放到tg-map中");const{$el:e}=this,t=class extends r.CustomControl{onCreateElement(){return e}};this.control=new t(r.unwrapStringEnumValue(this.position,r.ControlPosition)),this.$map.addCustomControl(this.control)},onDestroy(){this.$map.removeCustomControl(this.control)}});function G(e,t,s,n,a,l){return i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(e.$options.name)},[i.renderSlot(e.$slots,"default")],2)}const q=f(F,[["render",G]]),X=i.defineComponent({name:"tg-map-type-control",mixins:[d],props:{position:c(r.ControlPosition,r.ControlPosition.TOP_LEFT),type:c(r.MapTypeControlType),mapTypes:o(Array)},setup(){return{control:h.lateinit()}},watch:{position(e){this.control.setPosition(e)},type(){this.recreate()},mapTypes:{handler(){this.recreate()},deep:!0}},onCreate(){this.control=this.$map.createMapTypeControl(r.unwrapStringEnumValue(this)),this.$map.addControl(this.control)},onDestroy(){this.$map.removeControl(this.control)}}),K=i.defineComponent({name:"tg-scale-control",mixins:[d],props:{position:c(r.ControlPosition,r.ControlPosition.BOTTOM_RIGHT)},setup(){return{control:h.lateinit()}},watch:{position(e){this.control.setPosition(e)}},onCreate(){this.control=this.$map.createScaleControl(r.unwrapStringEnumValue(this)),this.$map.addControl(this.control)},onDestroy(){this.$map.removeControl(this.control)}});function L(){var s;const e=(s=i.getCurrentInstance())==null?void 0:s.type;let t=(e==null?void 0:e.name)??(e==null?void 0:e.__name);if(!t){const n=e==null?void 0:e.__file;n&&(t=h.path.basename(n,".vue"))}return t}function O(){const e=i.inject(T);let t,s;return e==null&&h.throwError(`<${L()||"unknown"}>必须作为<tg-map>的子代组件`),{mapRef:e,get map(){return e.value??h.throwError("map尚未初始化")},[g](n){i.onMounted(n),t&&h.throwError(`${g}只能调用一次`),t=n},[v](n){i.onBeforeUnmount(n),s&&h.throwError(`${v}只能调用一次`),s=n},recreate(){s==null||s(),t==null||t()}}}const J=i.defineComponent({name:"tg-street-view-control",props:{position:c(r.ControlPosition,r.ControlPosition.RIGHT_BOTTOM)},setup(e){let t=h.lateinit();const{map:s,onCreate:n,onDestroy:a}=O();return n(()=>{t=s.createStreetViewControl(r.unwrapStringEnumValue(e)),s.addControl(t)}),a(()=>{s.removeControl(t)}),i.watch(()=>e.position,l=>{t.setPosition(r.unwrapStringEnumValue(l,r.ControlPosition))}),C}}),Y=i.defineComponent({name:"tg-zoom-control",props:{position:c(r.ControlPosition,r.ControlPosition.RIGHT_BOTTOM),showZoomLevel:o(Boolean)},setup(e){let t=h.lateinit();const{map:s,onCreate:n,onDestroy:a}=O();return n(()=>{t=s.createZoomControl(r.unwrapStringEnumValue(e)),s.addControl(t)}),a(()=>{s.removeControl(t)}),i.watch(()=>e.position,l=>{t.setPosition(r.unwrapStringEnumValue(l,r.ControlPosition))}),i.watch(()=>e.showZoomLevel,l=>{t.setShowZoomLevel(l??!0)}),C}}),Q=i.defineComponent({name:"tg-heatmap",props:{maxIntensity:o(Number),gradient:o(Object),opacity:o(Number),radius:o(Number),data:m(Array)},setup(e){const{map:t,onCreate:s,onDestroy:n}=O();let a=h.lateinit();return s(()=>{a=t.createHeatmap(e)}),n(()=>{a.remove()}),i.watch(()=>e.data,l=>a.setData(l)),i.watch([()=>e.maxIntensity,()=>e.gradient,()=>e.opacity,()=>e.radius],()=>a.setOptions(e)),C}}),ee=i.defineComponent({name:"tg-marker-clusterer",mixins:[d],props:{gridSize:o(Number),maxZoom:o(Number),minClusterSize:o(Number),averageCenter:o(Boolean),styles:o(Array),stylesIndexCalculator:o(Function),zIndex:o(Number)},setup(){return{clusterer:h.lateinit(),markers:h.typed([]),pendingMarkers:h.typed([])}},watch:{gridSize(){this.recreate()},maxZoom(){this.recreate()},minClusterSize(){this.recreate()},averageCenter(){this.recreate()},styles:{handler(){this.recreate()},deep:!0},stylesIndexCalculator(){this.recreate()},zIndex(){this.recreate()}},onCreate(){this.clusterer=this.$map.createMarkerClusterer(this)},onDestroy(){this.clusterer.clearMarkers(!0),this.pendingMarkers=[]},methods:{isInitiated(){return this.clusterer!=null},performAddMarkers(){this.clusterer.addMarkers(this.pendingMarkers),this.pendingMarkers=[]},onAddMarker(e){this.markers.push(e),this.isInitiated()&&(this.pendingMarkers.length||this.$nextTick(this.performAddMarkers),this.pendingMarkers.push(e))},onRemoveMarker(e){this.isInitiated()&&(h.Arrays.remove(this.pendingMarkers,e)||this.clusterer.removeMarker(e)),h.Arrays.remove(this.markers,e)}}});function te(e,t,s,n,a,l){return i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(e.$options.name)},[i.renderSlot(e.$slots,"default")],2)}const B=f(ee,[["render",te]]),oe=i.defineComponent({name:"tg-traffic-layer",mixins:[d],setup(){return{layer:h.lateinit()}},watch:{},onCreate(){this.layer=new r.TrafficLayer,this.$map.addLayer(this.layer)},onDestroy(){this.$map.removeLayer(this.layer)}}),ie=i.defineComponent({name:"tg-circle",mixins:[d],inheritAttrs:!1,props:{center:m(r.LatLng),radius:m(Number),clickable:o(Boolean),editable:o(Boolean),strokeColor:o(String),strokeOpacity:o(Number),strokeWeight:o(Number),visible:o(Boolean),zIndex:o(Number),fillColor:o(String),fillOpacity:o(Number),"onUpdate:center":p(),"onUpdate:radius":p()},emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),overlay:h.lateinit(),emittedRadius:void 0,emittedCenter:void 0}},watch:{center(e){if(this.emittedCenter!=null){const t=this.emittedCenter;if(this.emittedCenter=void 0,t===i.toRaw(e))return}this.overlay.setCenter(e)},radius(e){if(this.emittedRadius!=null){const t=this.emittedRadius;if(this.emittedRadius=void 0,t===e)return}this.overlay.setRadius(e)},clickable(){this.recreate()},editable(e){this.overlay.setEditable(e)},strokeColor(e){this.overlay.setStrokeColor(e)},strokeOpacity(e){this.overlay.setStrokeOpacity(e)},strokeWeight(e){this.overlay.setStrokeWeight(e)},fillColor(e){this.overlay.setFillColor(e)},fillOpacity(e){this.overlay.setFillOpacity(e)},visible(e){this.overlay.setVisible(e)},zIndex(e){this.overlay.setZIndex(e)}},onCreate(){this.overlay=this.$map.createCircle(this),this.$map.addOverlay(this.overlay),r.bindEvents(this.attrs.listeners,this.overlay,this.$emit),this.attrs.listenerProps["update:center"]&&this.overlay.addEventListener("center-changed",()=>{this.$emit("update:center",this.emittedCenter=this.overlay.getCenter())}),this.attrs.listenerProps["update:radius"]&&this.overlay.addEventListener("radius-changed",()=>{this.$emit("update:radius",this.emittedRadius=this.overlay.getRadius())})},onDestroy(){this.$map.removeOverlay(this.overlay)}});class re extends r.ElementOverlay{constructor(t,s,n,a){super(t,s),this.content=n,this.position=a}onCreate(){return this.content}onDraw(t){const s=t.fromLatLngToOverlayPoint(this.position);this.content.style.left=s.x+"px",this.content.style.top=s.y+"px"}setPosition(t){this.position=t,this.draw()}}const se=i.defineComponent({name:"tg-element-overlay",mixins:[d],props:{mapPane:c(r.MapPane,r.MapPane.overlayMouseTarget),position:m(r.LatLng)},setup(){return{overlay:h.lateinit()}},watch:{position(e){this.overlay.setPosition(e)},mapPane(){this.recreate()}},methods:{content(){return this.$el}},onCreate(){this.overlay=new re(this.$map,r.unwrapStringEnumValue(this),this.content(),this.position),this.$map.addElementOverlay(this.overlay)},onDestroy(){this.$map.removeElementOverlay(this.overlay)}});function ne(e,t,s,n,a,l){return i.openBlock(),i.createElementBlock("div",i.mergeProps({class:e.$options.name},e.$attrs),[i.renderSlot(e.$slots,"default")],16)}const ae=f(se,[["render",ne]]),le={position:m(r.LatLng),title:o(String),label:o(Object),icon:o(Object),clickable:o(Boolean),draggable:o(Boolean),crossOnDrag:o(Boolean),cursor:o(String),zIndex:o(Number),visible:o(Boolean),normalizePositionForBaidu:o(Boolean),autoAddToClusterer:o(Boolean,!0),"onUpdate:position":p()},he=i.defineComponent({name:"tg-marker",mixins:[d],inheritAttrs:!1,props:le,emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),marker:h.lateinit(),labelOverlay:h.typed(),info:h.typed(),emittedPosition:void 0,autoAddToClustererWhenCreate:e.autoAddToClusterer}},watch:{position(e){if(this.emittedPosition!=null){const t=this.emittedPosition;if(this.emittedPosition=void 0,t===i.toRaw(e))return}this.marker.setPosition(e)},title(e){this.marker.setTitle(e)},label(e,t){h.deepEqual(e,t)||(e?this.marker.setLabel(e):this.recreate())},icon(e){var t;e?(t=this.marker)==null||t.setIcon(e):this.recreate()},clickable(e){this.marker instanceof r.BaiduMarker?this.recreate():this.marker.setClickable(e)},draggable(e){this.marker.setDraggable(e)},crossOnDrag(){this.recreate()},cursor(){this.recreate()},zIndex(e){this.marker instanceof r.BaiduMarker?this.recreate():this.marker.setZIndex(e)},visible(e){this.marker.setVisible(e)},normalizePositionForBaidu(){this.recreate()},autoAddToClusterer(){this.recreate()}},onCreate(){this.marker=this.$map.createMarker(this),this.labelOverlay&&this.marker.attachLabelOverlay(this.labelOverlay.overlay),this.$clusterer()&&this.autoAddToClusterer?this.$clusterer().onAddMarker(this.marker):this.$map.addOverlay(this.marker),this.autoAddToClustererWhenCreate=this.autoAddToClusterer,this.info&&this.info.show&&this.info.overlay.open(this.marker),r.bindEvents(this.attrs.listeners,this.marker,this.$emit),this.attrs.listenerProps["update:position"]&&this.marker.addEventListener("dragend",e=>{this.$emit("update:position",this.emittedPosition=e.position)})},onDestroy(){this.$clusterer()&&this.autoAddToClustererWhenCreate?this.$clusterer().onRemoveMarker(this.marker):this.$map.removeOverlay(this.marker)},methods:{recreate(){y(this,v),this.labelOverlay&&this.marker.attachLabelOverlay(void 0),this.info&&this.info.overlay.close(),y(this,g)},$clusterer(){return w(this.$parent,B)},onAddLabel(e){this.labelOverlay=e,this.marker&&this.marker.attachLabelOverlay(e.overlay)},onRemoveLabel(e){this.marker.attachLabelOverlay(void 0),this.labelOverlay=void 0},onAddInfo(e){this.info=e,this.marker&&e.show&&e.overlay.open(this.marker)},onRemoveInfo(e){e.overlay.close(),this.info=void 0},onInfoShowChanged(e,t){t?e.overlay.open(this.marker):e.overlay.close()}}});function pe(e,t,s,n,a,l){return i.renderSlot(e.$slots,"default")}const M=f(he,[["render",pe]]),de=i.defineComponent({name:"tg-info-box",mixins:[d],inheritAttrs:!1,props:{show:m(Boolean),position:o(r.LatLng),offset:o(Object),maxWidth:o(Number),borderClass:o(String),zIndex:o(Number),disableAutoPan:o(Boolean),"onUpdate:show":p()},emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),overlay:h.lateinit()}},watch:{show(e){this.$marker()?this.$marker().onInfoShowChanged(this,e):e?this.overlay.open():this.overlay.close()},position(e){this.overlay.setPosition(e)},offset(){this.recreate()},maxWidth(e){this.overlay.setMaxWidth(e)},borderClass(){this.recreate()},zIndex(e){this.overlay.setZIndex(e)},disableAutoPan(){this.recreate()}},onCreate(){this.overlay=this.$map.createInfoBox(this.getOptions()),this.$marker()?this.$marker().onAddInfo(this):this.show&&this.overlay.open(),this.attrs.listenerProps["update:show"]&&this.overlay.addEventListener("closeclick",()=>{this.$emit("update:show",!1)}),r.bindEvents(this.attrs.listeners,this.overlay,this.$emit)},onDestroy(){this.$marker()?this.$marker().onRemoveInfo(this):this.overlay.close()},methods:{getOptions(){return{content:this.content(),position:this.position,offset:this.offset,zIndex:this.zIndex,maxWidth:this.maxWidth,borderClass:this.borderClass,disableAutoPan:this.disableAutoPan}},content(){return this.$map instanceof r.GoogleMap?r.wrapComponentElementForGoogle(this.$el,"google-info-container"):this.$el},$marker(){return P(M,this.$parent,k)},open(e){this.overlay.open(e)},close(){this.overlay.close()}}});function me(e,t,s,n,a,l){return i.openBlock(),i.createElementBlock("div",i.mergeProps({class:e.$options.name},e.attrs.binds),[i.renderSlot(e.$slots,"default")],16)}const ce=f(de,[["render",me]]),ue=i.defineComponent({name:"tg-info-window",mixins:[d],inheritAttrs:!1,props:{show:m(Boolean),position:o(r.LatLng),maxWidth:o(Number),offset:o(Object),disableAutoPan:o(Boolean),"onUpdate:show":p()},emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),overlay:h.lateinit()}},watch:{show(e){this.$marker()?this.$marker().onInfoShowChanged(this,e):e?this.overlay.open():this.overlay.close()},position(e){this.overlay.setPosition(e)},maxWidth(){this.recreate()},offset(){this.recreate()},disableAutoPan(){this.recreate()}},methods:{content(){return this.$map instanceof r.GoogleMap?r.wrapComponentElementForGoogle(this.$el,"google-info-container"):this.$el},$marker(){return P(M,this.$parent,k)},getOptions(){return{content:this.content(),position:this.position,maxWidth:this.maxWidth,offset:this.offset,disableAutoPan:this.disableAutoPan}}},onCreate(){this.overlay=this.$map.createInfoWindow(this.getOptions()),this.$marker()?this.$marker().onAddInfo(this):this.show&&this.overlay.open(),this.overlay.addEventListener("open",()=>{this.$emit("update:show",!0)}),this.overlay.addEventListener("close",()=>{this.$emit("update:show",!1)}),r.bindEvents(this.attrs.listeners,this.overlay,this.$emit)},onDestroy(){this.$marker()?this.$marker().onRemoveInfo(this):this.overlay.close()}});function fe(e,t,s,n,a,l){return i.withDirectives((i.openBlock(),i.createElementBlock("div",i.mergeProps({class:e.$options.name},e.attrs.binds),[i.renderSlot(e.$slots,"default")],16)),[[i.vShow,e.show]])}const ye=f(ue,[["render",fe]]),ge=i.defineComponent({name:"tg-label",mixins:[d],inheritAttrs:!1,props:{position:o(r.LatLng),offset:o(Object),zIndex:o(Number),mapPane:c(r.MapPane)},emits:void 0,setup(e,{attrs:t}){return{attrs:u(t),overlay:h.lateinit()}},watch:{position(e){this.overlay.setPosition(e)},offset(e){var t;(t=this.overlay)==null||t.setOffset(e)},zIndex(e){this.overlay.setZIndex(e)},visible(e){this.overlay.setVisible(e)},mapPane(){this.recreate()}},methods:{content(){return this.$el},marker(){var e;return(e=this.$marker())==null?void 0:e.marker},$marker(){return P(M,this.$parent,k)},getOptions(){return{content:this.content(),position:this.position,offset:this.offset,zIndex:this.zIndex,mapPane:r.unwrapStringEnumValue(this.mapPane,r.MapPane)}}},onCreate(){this.overlay=this.$map.createLabel(this.getOptions()),this.$marker()?this.$marker().onAddLabel(this):this.$map.addOverlay(this.overlay),r.bindEvents(this.attrs.listeners,this.overlay,this.$emit)},onDestroy(){this.$marker()?this.$marker().onRemoveLabel(this):this.$map.removeOverlay(this.overlay)}});function ve(e,t,s,n,a,l){return i.openBlock(),i.createElementBlock("div",i.mergeProps({class:e.$options.name},e.attrs.binds),[i.renderSlot(e.$slots,"default")],16)}const be=f(ge,[["render",ve]]),$e={paths:m(Array),clickable:o(Boolean),editable:o(Boolean),strokeColor:o(String),strokeOpacity:o(Number),strokeWeight:o(Number),visible:o(Boolean),zIndex:o(Number),fillColor:o(String),fillOpacity:o(Number),"onUpdate:paths":p()},Ce=i.defineComponent({name:"tg-polygon",mixins:[d],inheritAttrs:!1,props:$e,emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),overlay:h.lateinit(),emittedPaths:void 0}},watch:{paths:{handler(e){if(this.emittedPaths!=null){const t=this.emittedPaths;if(this.emittedPaths=void 0,t.length===e.length&&t.every((s,n)=>s===i.toRaw(e[n])))return}this.overlay.setPaths(e)},deep:!0},clickable(){this.recreate()},editable(e){this.overlay.setEditable(e)},strokeColor(e){this.overlay.setStrokeColor(e)},strokeOpacity(e){this.overlay.setStrokeOpacity(e)},strokeWeight(e){this.overlay.setStrokeWeight(e)},fillColor(e){this.overlay.setFillColor(e)},fillOpacity(e){this.overlay.setFillOpacity(e)},visible(e){this.overlay.setVisible(e)},zIndex(e){this.overlay.setZIndex(e)}},onCreate(){this.overlay=this.$map.createPolygon(this),this.$map.addOverlay(this.overlay),r.bindEvents(this.attrs.listeners,this.overlay,this.$emit),this.attrs.listenerProps["update:paths"]&&this.overlay.addEventListener("paths-edited",()=>{this.$emit("update:paths",this.emittedPaths=this.overlay.getPaths())})},onDestroy(){this.$map.removeOverlay(this.overlay)}}),ke=i.defineComponent({name:"tg-polyline",mixins:[d],inheritAttrs:!1,props:{path:m(Array),icons:o(Array),clickable:o(Boolean),editable:o(Boolean),strokeColor:o(String),strokeOpacity:o(Number),strokeWeight:o(Number),visible:o(Boolean),zIndex:o(Number),"onUpdate:path":p()},emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),overlay:h.lateinit(),emittedPath:void 0}},watch:{path:{handler(e){if(this.emittedPath!=null){const t=this.emittedPath;if(this.emittedPath=void 0,t===i.toRaw(e))return}this.overlay.setPath(e)},deep:!0},icons:{handler(){this.recreate()},deep:!0},clickable(){this.recreate()},editable(e){this.overlay.setEditable(e)},strokeColor(e){this.overlay.setStrokeColor(e)},strokeOpacity(e){this.overlay.setStrokeOpacity(e)},strokeWeight(e){this.overlay.setStrokeWeight(e)},visible(e){this.overlay.setVisible(e)},zIndex(e){this.overlay.setZIndex(e)}},onCreate(){this.overlay=this.$map.createPolyline(this),this.$map.addOverlay(this.overlay),r.bindEvents(this.attrs.listeners,this.overlay,this.$emit),this.attrs.listenerProps["update:path"]&&this.overlay.addEventListener("path-edited",()=>{this.$emit("update:path",this.emittedPath=this.overlay.getPath())})},onDestroy(){this.overlay.remove()}}),_e=i.defineComponent({name:"tg-rectangle",mixins:[d],inheritAttrs:!1,props:{bounds:m(Object),clickable:o(Boolean),editable:o(Boolean),strokeColor:o(String),strokeOpacity:o(Number),strokeWeight:o(Number),visible:o(Boolean),zIndex:o(Number),fillColor:o(String),fillOpacity:o(Number),"onUpdate:bounds":p()},emits:void 0,setup(e,{attrs:t}){return{attrs:u(t,e),overlay:h.lateinit(),emittedBounds:void 0}},watch:{bounds(e){if(this.emittedBounds!=null){const t=this.emittedBounds;if(this.emittedBounds=void 0,t.equals(e))return}this.overlay.setBounds(e)},clickable(){this.recreate()},editable(e){this.overlay.setEditable(e)},strokeColor(e){this.overlay.setStrokeColor(e)},strokeOpacity(e){this.overlay.setStrokeOpacity(e)},strokeWeight(e){this.overlay.setStrokeWeight(e)},fillColor(e){this.overlay.setFillColor(e)},fillOpacity(e){this.overlay.setFillOpacity(e)},visible(e){this.overlay.setVisible(e)},zIndex(e){this.overlay.setZIndex(e)}},onCreate(){this.overlay=this.$map.createRectangle(this),this.$map.addOverlay(this.overlay),r.bindEvents(this.attrs.listeners,this.overlay,this.$emit),this.attrs.listenerProps["update:bounds"]&&this.overlay.addEventListener("bounds-changed",()=>{this.$emit("update:bounds",this.emittedBounds=this.overlay.getBounds())})},onDestroy(){this.$map.removeOverlay(this.overlay)}}),Pe=["beforeUpdate","updated"],Te={install(e,t={}){if(t.enable!==!1){const s=i.defineComponent({beforeCreate(){const n=L()??"",l=(t.nameRegex||/^[A-Z]/).test(n)?b=>{t.hookNames?t.hookNames.includes(b)&&console.debug("[lifecycle]",n,b):Pe.includes(b)||console.debug("[lifecycle]",n,b)}:h.noop;l("beforeCreate"),this.__life_impl=l},created(){this.__life("created")},beforeMount(){this.__life("beforeMount")},mounted(){this.__life("mounted")},beforeUpdate(){this.__life("beforeUpdate")},updated(){this.__life("updated")},beforeUnmount(){this.__life("beforeUnmount")},unmounted(){this.__life("unmounted")},methods:{__life(n){this.__life_impl(n)}},onCreate(){this.__life("onCreate")},onDestroy(){this.__life("onDestroy")}});e.mixin(s)}}},Oe={install(e,t){r.setTgMapConfig(t);const s=e.config.optionMergeStrategies;s[g]=s[v]=(n,a)=>n?[...new Set([].concat(n,a))]:Array.isArray(a)?a:[a]}};exports.LifecycleLogPlugin=Te;exports.MIXIN_HOOK_CREATE=g;exports.MIXIN_HOOK_DESTROY=v;exports.MIXIN_MAP_NAME=T;exports.MapMixin=d;exports.TgCircle=ie;exports.TgCustomControl=q;exports.TgElementOverlay=ae;exports.TgHeatmap=Q;exports.TgInfoBox=ce;exports.TgInfoWindow=ye;exports.TgLabel=be;exports.TgMap=k;exports.TgMapTypeControl=X;exports.TgMapWidget=H;exports.TgMarker=M;exports.TgMarkerClusterer=B;exports.TgPolygon=Ce;exports.TgPolyline=ke;exports.TgRectangle=_e;exports.TgScaleControl=K;exports.TgStreetViewControl=J;exports.TgTrafficLayer=oe;exports.TgZoomControl=Y;exports.callHook=y;exports.computedSaveOnThis=N;exports.createEmptyVNode=C;exports.createPropertyObject=I;exports.createPropertyObjectTyped=x;exports.default=Oe;exports.eventProp=p;exports.extractVNodeFromSlotsByComponent=D;exports.findAncestorComponentByType=P;exports.findByComponentType=z;exports.isComponentByType=_;exports.optionalProp=o;exports.requiredProp=m;exports.safeAsComponent=w;exports.splitAttrs=E;exports.stringEnumProp=c;exports.stringUnionPropFromValues=S;exports.useEventLogMethods=V;exports.useSplittedAttrs=u;exports.useTgMapInner=O;Object.keys(r).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:()=>r[e]})});
2
2
  //# sourceMappingURL=tg-map.cjs.map