"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../utils/defer.js"),t=require("../_virtual/_tslib.js"),r=require("../utils/common.js"),s=require("./mixins.js"),i=require("../utils/log.js"),a=require("../utils/amap-helpers.js"),n=require("./events.js"),o=require("./props.js"),u=require("./component.js"),l=s.default(u.default).extend({inject:["$amapMap"],amapMeta:{slot:!1,initComponent:r.panic,add:function(e,t){t.setMap(e.target)},remove:function(e,t){t.setMap(null)}},props:{extraOptions:{type:Object,required:!1,default:void 0}},beforeCreate:function(){var t=e.default(),r={AMap:null,ready:t.promise,target:null,vm:this,destroyed:!1};this.$amap={events:{},ready:t,context:r,logger:i.createLogger(this)}},mounted:function(){return t.__awaiter(this,void 0,void 0,(function(){var e,r,s,i,u,l,p;return t.__generator(this,(function(t){switch(t.label){case 0:return r=(e=this).$amap,s=e.$context,i=e.$container,u=this.$options.amapMeta,[4,i.ready];case 1:return t.sent(),s.AMap=i.AMap,u.prepare?[4,u.prepare()]:[3,3];case 2:t.sent(),t.label=3;case 3:return l=a.getOptionsFromProps(this),s.destroyed?[2]:[4,u.initComponent.call(this,s.AMap,l)];case 4:return p=t.sent(),s.target=p,u.add.call(this,i,p),o.bindProps(this),n.bindEvents(this),r.ready.resolve(p),this.$emit("amap-ready",p),[2]}}))}))},beforeDestroy:function(){var e=this.$context,t=this.$container,r=this.$target;r&&(n.unbindEvents(this),this.$options.amapMeta.remove.call(this,t,r));e.destroyed=!0},render:function(e){return this.$options.amapMeta.slot&&this.$slots.default?e("div",{class:"amap-vue-placeholder",style:"visibility: hidden; pointer-events: none;"},this.$slots.default):null}});exports.default=l;