//>>built define("../_base/array ../_base/declare ../_base/lang ../dom ../dom-class ../Evented ../has ../on ../topic ../touch ./common ./Mover ../_base/window".split(" "),function(p,q,c,k,f,r,u,d,l,g,m,t,n){var h,e=function(){},e=function(a,b){"touchAction"in document.body.style?h="touchAction":"msTouchAction"in document.body.style&&(h="msTouchAction");e=function(a,b){a.style[h]=b};e(a,b)};return q("dojo.dnd.Moveable",[r],{handle:"",delay:0,skip:!1,constructor:function(a,b){this.node=k.byId(a);e(this.node, "none");b||(b={});this.handle=b.handle?k.byId(b.handle):null;this.handle||(this.handle=this.node);this.delay=0this.delay||Math.abs(a.pageY-this._lastY)>this.delay)this.onMouseUp(a),this.onDragDetected(a);a.stopPropagation(); a.preventDefault()},onMouseUp:function(a){for(var b=0;2>b;++b)this.events.pop().remove();a.stopPropagation();a.preventDefault()},onSelectStart:function(a){this.skip&&m.isFormElement(a)||(a.stopPropagation(),a.preventDefault())},onDragDetected:function(a){new this.mover(this.node,a,this)},onMoveStart:function(a){l.publish("/dnd/move/start",a);f.add(n.body(),"dojoMove");f.add(this.node,"dojoMoveItem")},onMoveStop:function(a){l.publish("/dnd/move/stop",a);f.remove(n.body(),"dojoMove");f.remove(this.node, "dojoMoveItem")},onFirstMove:function(){},onMove:function(a,b){this.onMoving(a,b);var c=a.node.style;c.left=b.l+"px";c.top=b.t+"px";this.onMoved(a,b)},onMoving:function(){},onMoved:function(){}})});