!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var i=e();for(var n in i)("object"==typeof exports?exports:t)[n]=i[n]}}(window,(function(){return function(t){var e={};function i(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,i),o.l=!0,o.exports}return i.m=t,i.c=e,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)i.d(n,o,function(e){return t[e]}.bind(null,o));return n},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="./",i(i.s=42)}({0:function(t,e,i){"use strict";function n(t,e,i,n,o,s,a,h){var r,l="function"==typeof t?t.options:t;if(e&&(l.render=e,l.staticRenderFns=i,l._compiled=!0),n&&(l.functional=!0),s&&(l._scopeId="data-v-"+s),a?(r=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},l._ssrRegister=r):o&&(r=h?function(){o.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:o),r)if(l.functional){l._injectStyles=r;var u=l.render;l.render=function(t,e){return r.call(e),u(t,e)}}else{var m=l.beforeCreate;l.beforeCreate=m?[].concat(m,r):[r]}return{exports:t,options:l}}i.d(e,"a",(function(){return n}))},42:function(t,e,i){"use strict";i.r(e);var n=function(){var t,e=this,i=e.$createElement,n=e._self._c||i;return n("div",{class:[(t={},t[e.classNameActive]=e.enabled,t[e.classNameDragging]=e.dragging,t[e.classNameResizing]=e.resizing,t[e.classNameDraggable]=e.draggable,t[e.classNameResizable]=e.resizable,t),e.className],style:e.style,on:{mousedown:e.elementDown,touchstart:e.elementTouchDown}},[e._l(e.actualHandles,(function(t){return n("div",{key:t,class:[e.classNameHandle,e.classNameHandle+"-"+t],style:{display:e.enabled?"block":"none"},on:{mousedown:function(i){return i.stopPropagation(),i.preventDefault(),e.handleDown(t,i)},touchstart:function(i){return i.stopPropagation(),i.preventDefault(),e.handleTouchDown(t,i)}}},[e._t(t)],2)})),e._v(" "),e._t("default")],2)};function o(t){return"function"==typeof t||"[object Function]"===Object.prototype.toString.call(t)}function s(t,e,i){var n=t,s=["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"].find((function(t){return o(n[t])}));if(!o(n[s]))return!1;do{if(n[s](e))return!0;if(n===i)return!1;n=n.parentNode}while(n);return!1}function a(t,e,i){t&&(t.attachEvent?t.attachEvent("on"+e,i):t.addEventListener?t.addEventListener(e,i,!0):t["on"+e]=i)}function h(t,e,i){t&&(t.detachEvent?t.detachEvent("on"+e,i):t.removeEventListener?t.removeEventListener(e,i,!0):t["on"+e]=null)}function r(){return(r=Object.assign||function(t){for(var e=1;e0}},h:{type:Number,default:200,validator:function(t){return t>0}},minWidth:{type:Number,default:0,validator:function(t){return t>=0}},minHeight:{type:Number,default:0,validator:function(t){return t>=0}},maxWidth:{type:Number,default:null,validator:function(t){return t>=0}},maxHeight:{type:Number,default:null,validator:function(t){return t>=0}},x:{type:Number,default:0,validator:function(t){return"number"==typeof t}},y:{type:Number,default:0,validator:function(t){return"number"==typeof t}},z:{type:[String,Number],default:"auto",validator:function(t){return"string"==typeof t?"auto"===t:t>=0}},handles:{type:Array,default:function(){return["tl","tm","tr","mr","br","bm","bl","ml"]},validator:function(t){var e=new Set(["tl","tm","tr","mr","br","bm","bl","ml"]);return new Set(t.filter((function(t){return e.has(t)}))).size===t.length}},dragHandle:{type:String,default:null},dragCancel:{type:String,default:null},axis:{type:String,default:"both",validator:function(t){return["x","y","both"].includes(t)}},grid:{type:Array,default:function(){return[1,1]}},parent:{type:Boolean,default:!1},onDragStart:{type:Function,default:null},onResizeStart:{type:Function,default:null}},data:function(){return{rawWidth:this.w,rawHeight:this.h,rawLeft:this.x,rawTop:this.y,rawRight:null,rawBottom:null,left:this.x,top:this.y,right:null,bottom:null,aspectFactor:this.w/this.h,parentWidth:null,parentHeight:null,minW:this.minWidth,minH:this.minHeight,maxW:this.maxWidth,maxH:this.maxHeight,handle:null,enabled:this.active,resizing:!1,dragging:!1,zIndex:this.z}},computed:{style:function(){return r({position:"absolute",top:this.top+"px",left:this.left+"px",width:this.width+"px",height:this.height+"px",zIndex:this.zIndex},this.dragging&&this.disableUserSelect?u:m)},actualHandles:function(){return this.resizable?this.handles:[]},width:function(){return this.parentWidth-this.left-this.right},height:function(){return this.parentHeight-this.top-this.bottom},resizingOnX:function(){return Boolean(this.handle)&&(this.handle.includes("l")||this.handle.includes("r"))},resizingOnY:function(){return Boolean(this.handle)&&(this.handle.includes("t")||this.handle.includes("b"))},isCornerHandle:function(){return Boolean(this.handle)&&["tl","tr","br","bl"].includes(this.handle)}},watch:{active:function(t){this.enabled=t,t?this.$emit("activated"):this.$emit("deactivated")},z:function(t){(t>=0||"auto"===t)&&(this.zIndex=t)},rawLeft:function(t){var e=this.bounds,i=this.aspectFactor,n=this.lockAspectRatio,o=this.left,s=this.top;null!==e.minLeft&&t0&&t<=this.width&&(this.minW=t)},minHeight:function(t){t>0&&t<=this.height&&(this.minH=t)},maxWidth:function(t){this.maxW=t},maxHeight:function(t){this.maxH=t},w:function(){if(!this.resizing&&!this.dragging){this.parent&&(this.bounds=this.calcResizeLimits());var t=this.width-this.w;t%this.grid[0]==0&&(this.rawRight=this.right+t)}},h:function(){if(!this.resizing&&!this.dragging){this.parent&&(this.bounds=this.calcResizeLimits());var t=this.height-this.h;t%this.grid[1]==0&&(this.rawBottom=this.bottom+t)}}},created:function(){this.maxWidth&&this.minWidth>this.maxWidth&&console.warn("[drag-and-resizable warn]: Invalid prop: minWidth cannot be greater than maxWidth"),this.maxWidth&&this.minHeight>this.maxHeight&&console.warn("[drag-and-resizable warn]: Invalid prop: minHeight cannot be greater than maxHeight"),this.resetBoundsAndMouseState()},mounted:function(){this.enableNativeDrag||(this.$el.ondragstart=function(){return!1});var t=this.getParentSize();this.parentWidth=t[0],this.parentHeight=t[1],this.rawRight=this.parentWidth-this.rawWidth-this.rawLeft,this.rawBottom=this.parentHeight-this.rawHeight-this.rawTop,a(document.documentElement,"mousedown",this.deselect),a(document.documentElement,"touchend touchcancel",this.deselect),a(window,"resize",this.checkParentSize)},beforeDestroy:function(){h(document.documentElement,"mousedown",this.deselect),h(document.documentElement,"touchstart",this.handleUp),h(document.documentElement,"mousemove",this.move),h(document.documentElement,"touchmove",this.move),h(document.documentElement,"mouseup",this.handleUp),h(document.documentElement,"touchend touchcancel",this.deselect),h(window,"resize",this.checkParentSize)},methods:{resetBoundsAndMouseState:function(){this.mouseClickPosition={mouseX:0,mouseY:0,x:0,y:0,w:0,h:0},this.bounds={minLeft:null,maxLeft:null,minRight:null,maxRight:null,minTop:null,maxTop:null,minBottom:null,maxBottom:null}},checkParentSize:function(){if(this.parent){var t=this.getParentSize(),e=t[0],i=t[1],n=this.parentWidth-e,o=this.parentHeight-i;this.rawRight-=n,this.rawBottom-=o,this.parentWidth=e,this.parentHeight=i}},getParentSize:function(){if(this.parent){var t=window.getComputedStyle(this.$el.parentNode,null);return[parseInt(t.getPropertyValue("width"),10),parseInt(t.getPropertyValue("height"),10)]}return[null,null]},elementTouchDown:function(t){c=l,this.elementDown(t)},elementDown:function(t){var e=t.target||t.srcElement;if(this.$el.contains(e)){if(this.onDragStart&&!1===this.onDragStart(t))return;if(this.dragHandle&&!s(e,this.dragHandle,this.$el)||this.dragCancel&&s(e,this.dragCancel,this.$el))return;this.enabled||(this.enabled=!0,this.$emit("activated"),this.$emit("update:active",!0)),this.draggable&&(this.dragging=!0),this.mouseClickPosition.mouseX=t.touches?t.touches[0].pageX:t.pageX,this.mouseClickPosition.mouseY=t.touches?t.touches[0].pageY:t.pageY,this.mouseClickPosition.left=this.left,this.mouseClickPosition.right=this.right,this.mouseClickPosition.top=this.top,this.mouseClickPosition.bottom=this.bottom,this.parent&&(this.bounds=this.calcDragLimits()),a(document.documentElement,c.move,this.move),a(document.documentElement,c.stop,this.handleUp)}},calcDragLimits:function(){return{minLeft:(this.parentWidth+this.left)%this.grid[0],maxLeft:Math.floor((this.parentWidth-this.width-this.left)/this.grid[0])*this.grid[0]+this.left,minRight:(this.parentWidth+this.right)%this.grid[0],maxRight:Math.floor((this.parentWidth-this.width-this.right)/this.grid[0])*this.grid[0]+this.right,minTop:(this.parentHeight+this.top)%this.grid[1],maxTop:Math.floor((this.parentHeight-this.height-this.top)/this.grid[1])*this.grid[1]+this.top,minBottom:(this.parentHeight+this.bottom)%this.grid[1],maxBottom:Math.floor((this.parentHeight-this.height-this.bottom)/this.grid[1])*this.grid[1]+this.bottom}},deselect:function(t){var e=t.target||t.srcElement,i=new RegExp(this.className+"-([trmbl]{2})","");this.$el.contains(e)||i.test(e.className)||(this.enabled&&!this.preventDeactivation&&(this.enabled=!1,this.$emit("deactivated"),this.$emit("update:active",!1)),h(document.documentElement,c.move,this.handleMove)),this.resetBoundsAndMouseState()},handleTouchDown:function(t,e){c=l,this.handleDown(t,e)},handleDown:function(t,e){this.onResizeStart&&!1===this.onResizeStart(t,e)||(e.stopPropagation&&e.stopPropagation(),this.lockAspectRatio&&!t.includes("m")?this.handle="m"+t.substring(1):this.handle=t,this.resizing=!0,this.mouseClickPosition.mouseX=e.touches?e.touches[0].pageX:e.pageX,this.mouseClickPosition.mouseY=e.touches?e.touches[0].pageY:e.pageY,this.mouseClickPosition.left=this.left,this.mouseClickPosition.right=this.right,this.mouseClickPosition.top=this.top,this.mouseClickPosition.bottom=this.bottom,this.bounds=this.calcResizeLimits(),a(document.documentElement,c.move,this.handleMove),a(document.documentElement,c.stop,this.handleUp))},calcResizeLimits:function(){var t=this.minW,e=this.minH,i=this.maxW,n=this.maxH,o=this.aspectFactor,s=this.grid,a=s[0],h=s[1],r=this.width,l=this.height,u=this.left,m=this.top,c=this.right,d=this.bottom;this.lockAspectRatio&&(t/e>o?e=t/o:t=o*e,i&&n?(i=Math.min(i,o*n),n=Math.min(n,i/o)):i?n=i/o:n&&(i=o*n)),i-=i%a,n-=n%h;var g={minLeft:null,maxLeft:null,minTop:null,maxTop:null,minRight:null,maxRight:null,minBottom:null,maxBottom:null};return this.parent?(g.minLeft=(this.parentWidth+u)%a,g.maxLeft=u+Math.floor((r-t)/a)*a,g.minTop=(this.parentHeight+m)%h,g.maxTop=m+Math.floor((l-e)/h)*h,g.minRight=(this.parentWidth+c)%a,g.maxRight=c+Math.floor((r-t)/a)*a,g.minBottom=(this.parentHeight+d)%h,g.maxBottom=d+Math.floor((l-e)/h)*h,i&&(g.minLeft=Math.max(g.minLeft,this.parentWidth-c-i),g.minRight=Math.max(g.minRight,this.parentWidth-u-i)),n&&(g.minTop=Math.max(g.minTop,this.parentHeight-d-n),g.minBottom=Math.max(g.minBottom,this.parentHeight-m-n)),this.lockAspectRatio&&(g.minLeft=Math.max(g.minLeft,u-m*o),g.minTop=Math.max(g.minTop,m-u/o),g.minRight=Math.max(g.minRight,c-d*o),g.minBottom=Math.max(g.minBottom,d-c/o))):(g.minLeft=null,g.maxLeft=u+Math.floor((r-t)/a)*a,g.minTop=null,g.maxTop=m+Math.floor((l-e)/h)*h,g.minRight=null,g.maxRight=c+Math.floor((r-t)/a)*a,g.minBottom=null,g.maxBottom=d+Math.floor((l-e)/h)*h,i&&(g.minLeft=-(c+i),g.minRight=-(u+i)),n&&(g.minTop=-(d+n),g.minBottom=-(m+n)),this.lockAspectRatio&&i&&n&&(g.minLeft=Math.min(g.minLeft,-(c+i)),g.minTop=Math.min(g.minTop,-(n+d)),g.minRight=Math.min(g.minRight,-u-i),g.minBottom=Math.min(g.minBottom,-m-n))),g},move:function(t){this.resizing?this.handleMove(t):this.dragging&&this.elementMove(t)},elementMove:function(t){var e=this.axis,i=(this.grid,this.mouseClickPosition),n=e&&"y"!==e?i.mouseX-(t.touches?t.touches[0].pageX:t.pageX):0,o=e&&"x"!==e?i.mouseY-(t.touches?t.touches[0].pageY:t.pageY):0,s=this.snapToGrid(this.grid,n,o),a=s[0],h=s[1];this.rawTop=i.top-h,this.rawBottom=i.bottom+h,this.rawLeft=i.left-a,this.rawRight=i.right+a,this.$emit("dragging",this.left,this.top)},handleMove:function(t){var e=this.handle,i=this.mouseClickPosition,n=i.mouseX-(t.touches?t.touches[0].pageX:t.pageX),o=i.mouseY-(t.touches?t.touches[0].pageY:t.pageY),s=this.snapToGrid(this.grid,n,o),a=s[0],h=s[1];e.includes("b")?this.rawBottom=i.bottom+h:e.includes("t")&&(this.rawTop=i.top-h),e.includes("r")?this.rawRight=i.right+a:e.includes("l")&&(this.rawLeft=i.left-a),this.$emit("resizing",this.left,this.top,this.width,this.height)},handleUp:function(t){this.handle=null,this.resetBoundsAndMouseState(),this.rawTop=this.top,this.rawBottom=this.bottom,this.rawLeft=this.left,this.rawRight=this.right,this.resizing&&(this.resizing=!1,this.$emit("resizestop",this.left,this.top,this.width,this.height)),this.dragging&&(this.dragging=!1,this.$emit("dragstop",this.left,this.top)),h(document.documentElement,c.move,this.handleMove)},snapToGrid:function(t,e,i){return[Math.round(e/t[0])*t[0],Math.round(i/t[1])*t[1]]}}},g=i(0),p=Object(g.a)(d,n,[],!1,null,"3a4ea399",null);p.options.__file="DragAndResizable/index.vue";e.default=p.exports}})})); //# sourceMappingURL=DragAndResizable.js.map