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