import{__awaiter as t,__generator as n}from"./_virtual/_tslib.js";import e from"./load-plugins.js";import i from"./mixins/mixins.js";import{bounds2Array as r,makeBounds as o,near as s}from"./utils/amap-helpers.js";import{defineProp as u}from"./mixins/props.js";import{plane as a}from"./mixins/geometry.js";import d from"./mixins/editable.js";function m(t,n){return!(!t||!n)&&(s(t[0][0],n[0][0])&&s(t[0][1],n[0][1])&&s(t[1][0],n[1][0])&&s(t[1][1],n[1][1]))}var p=i(a,d).extend({name:"AmapRectangle",amapMeta:{initComponent:function(e,i){return t(this,void 0,void 0,(function(){return n(this,(function(t){return[2,new e.Rectangle(i)]}))}))},editable:{events:["move","end","adjust"],loadEditor:function(){return t(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return[4,e("AMap.RectangleEditor")];case 1:return t.sent(),[2]}}))}))},initEditor:function(e,i,r,o){return t(this,void 0,void 0,(function(){return n(this,(function(t){return[2,new e.RectangleEditor(i,r,o)]}))}))},onEdit:function(t){var n=t.target,e=r(n.getBounds());this.$emit("update:bounds",e)}}},props:{bounds:u({type:Array,deep:!0,setter:function(t,n){if((this.$props.editable||this.$props.draggable)&&m(r(t.getBounds()),n))return;t.setBounds(o(n))},getter:function(t){return r(t.getBounds())},transform:o,clone:!0,equals:m,events:["dragging","dragend"]})}});export default p;