import{__awaiter as t,__generator as e}from"./_virtual/_tslib.js";import i from"./load-plugins.js";import r from"./mixins/mixins.js";import{lngLat2Array as n,nearPair as s}from"./utils/amap-helpers.js";import{defineProp as o}from"./mixins/props.js";import{plane as a}from"./mixins/geometry.js";import u from"./mixins/editable.js";var d=r(a,u).extend({name:"AmapEllipse",amapMeta:{initComponent:function(i,r){return t(this,void 0,void 0,(function(){return e(this,(function(t){return[2,new i.Ellipse(r)]}))}))},editable:{events:["move","end","adjust"],loadEditor:function(){return t(this,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return[4,i("AMap.EllipseEditor")];case 1:return t.sent(),[2]}}))}))},initEditor:function(i,r,n,s){return t(this,void 0,void 0,(function(){return e(this,(function(t){return[2,new i.EllipseEditor(r,n,s)]}))}))},onEdit:function(t){var e=n(t.target.getCenter());s(this.center,e)||this.$emit("update:center",e);var i=t.target.getRadius();s(this.radius,i)||this.$emit("update:radius",i.slice(0))}}},props:{center:o({type:Array,setter:function(t,e){if(this.$props.editable||this.$props.draggable){var i=n(t.getCenter());if(s(e,i))return}t.setCenter(e)},getter:function(t){return n(t.getCenter())},clone:!0,deep:!0,equals:s,events:["dragging","dragend"]}),radius:o({type:Array,setter:function(t,e){var i=t;if(this.$props.editable){var r=i.getRadius();if(s(e,r))return}i.setRadius(e)},clone:!0,deep:!0,equals:s})}});export default d;