const t=(t,e)=>{const i=e.x-t.x,o=e.y-t.y;return Math.sqrt(i*i+o*o)},e=t=>t*(Math.PI/180),i=t=>t*(180/Math.PI),o=new Map,n=t=>{o.has(t)&&clearTimeout(o.get(t)),o.set(t,setTimeout(t,100))},r=(t,e,i)=>{const o=e.split(/[ ,]+/g);let n;for(let e=0;e{const o=e.split(/[ ,]+/g);let n;for(let e=0;e(t.preventDefault(),t.type.match(/^touch/)?t.changedTouches:t),a=()=>({x:void 0!==window.pageXOffset?window.pageXOffset:(document.documentElement||document.body.parentNode||document.body).scrollLeft,y:void 0!==window.pageYOffset?window.pageYOffset:(document.documentElement||document.body.parentNode||document.body).scrollTop}),p=(t,e)=>{e.top||e.right||e.bottom||e.left?(t.style.top=e.top,t.style.right=e.right,t.style.bottom=e.bottom,t.style.left=e.left):(t.style.left=e.x+"px",t.style.top=e.y+"px")},l=(t,e,i)=>{const o=c(t);for(let t in o)if(o.hasOwnProperty(t))if("string"==typeof e)o[t]=e+" "+i;else{let n="";for(let t=0,o=e.length;t{const e={};e[t]="";return["webkit","Moz","o"].forEach(function(i){e[i+t.charAt(0).toUpperCase()+t.slice(1)]=""}),e},h=(t,e)=>{for(let i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t},u=(t,e)=>{if(t.length)for(let i=0,o=t.length;i=0&&i._handlers_[t].splice(i._handlers_[t].indexOf(e),1),i},b.prototype.trigger=function(t,e){var i,o=this,n=t.split(/[ ,]+/g);o._handlers_=o._handlers_||{};for(var r=0;r{const i={};for(let o in t)t.hasOwnProperty(o)&&e.hasOwnProperty(o)?i[o]=e[o]:t.hasOwnProperty(o)&&(i[o]=t[o]);return i})(e.options,t))},b.prototype.bindEvt=function(t,e){var i=this;return i._domHandlers_=i._domHandlers_||{},i._domHandlers_[e]=function(){"function"==typeof i["on"+e]?i["on"+e].apply(i,arguments):console.warn('[WARNING] : Missing "on'+e+'" handler.')},r(t,f[e],i._domHandlers_[e]),x[e]&&r(t,x[e],i._domHandlers_[e]),i},b.prototype.unbindEvt=function(t,e){var i=this;return i._domHandlers_=i._domHandlers_||{},s(t,f[e],i._domHandlers_[e]),x[e]&&s(t,x[e],i._domHandlers_[e]),delete i._domHandlers_[e],this},O.prototype=new b,O.constructor=O,O.id=0,O.prototype.buildEl=function(t){return this.ui={},this.options.dataOnly||(this.ui.el=document.createElement("div"),this.ui.back=document.createElement("div"),this.ui.front=document.createElement("div"),this.ui.el.className="nipple collection_"+this.collection.id,this.ui.back.className="back",this.ui.front.className="front",this.ui.el.setAttribute("id","nipple_"+this.collection.id+"_"+this.id),this.ui.el.appendChild(this.ui.back),this.ui.el.appendChild(this.ui.front)),this},O.prototype.stylize=function(){if(this.options.dataOnly)return this;var t=this.options.fadeTime+"ms",e=((t,e)=>{const i=c(t);for(let t in i)i.hasOwnProperty(t)&&(i[t]=e);return i})("borderRadius","50%"),i=l("transition","opacity",t),o={};return o.el={position:"absolute",opacity:this.options.restOpacity,display:"block",zIndex:999},o.back={position:"absolute",display:"block",width:this.options.size+"px",height:this.options.size+"px",left:0,marginLeft:-this.options.size/2+"px",marginTop:-this.options.size/2+"px",background:this.options.color,opacity:".5"},o.front={width:this.options.size/2+"px",height:this.options.size/2+"px",position:"absolute",display:"block",left:0,marginLeft:-this.options.size/4+"px",marginTop:-this.options.size/4+"px",background:this.options.color,opacity:".5",transform:"translate(0px, 0px)"},h(o.el,i),"circle"===this.options.shape&&h(o.back,e),h(o.front,e),this.applyStyles(o),this},O.prototype.applyStyles=function(t){for(var e in this.ui)if(this.ui.hasOwnProperty(e))for(var i in t[e])this.ui[e].style[i]=t[e][i];return this},O.prototype.addToDom=function(){return this.options.dataOnly||document.body.contains(this.ui.el)||this.options.zone.appendChild(this.ui.el),this},O.prototype.removeFromDom=function(){return this.options.dataOnly||!document.body.contains(this.ui.el)||this.options.zone.removeChild(this.ui.el),this},O.prototype.destroy=function(){clearTimeout(this.removeTimeout),clearTimeout(this.showTimeout),clearTimeout(this.restTimeout),this.trigger("destroyed",this.instance),this.removeFromDom(),this.off()},O.prototype.show=function(t){var e=this;return e.options.dataOnly||(clearTimeout(e.removeTimeout),clearTimeout(e.showTimeout),clearTimeout(e.restTimeout),e.addToDom(),e.restCallback(),setTimeout(function(){e.ui.el.style.opacity=1},0),e.showTimeout=setTimeout(function(){e.trigger("shown",e.instance),"function"==typeof t&&t.call(this)},e.options.fadeTime)),e},O.prototype.hide=function(t){var e=this;if(e.options.dataOnly)return e;if(e.ui.el.style.opacity=e.options.restOpacity,clearTimeout(e.removeTimeout),clearTimeout(e.showTimeout),clearTimeout(e.restTimeout),e.removeTimeout=setTimeout(function(){var i="dynamic"===e.options.mode?"none":"block";e.ui.el.style.display=i,"function"==typeof t&&t.call(e),e.trigger("hidden",e.instance)},e.options.fadeTime),e.options.restJoystick){const i=e.options.restJoystick,o={};o.x=!0===i||!1!==i.x?0:e.instance.frontPosition.x,o.y=!0===i||!1!==i.y?0:e.instance.frontPosition.y,e.setPosition(t,o)}return e},O.prototype.setPosition=function(t,e){var i=this;i.frontPosition={x:e.x,y:e.y};var o=i.options.fadeTime+"ms",n={};n.front=l("transition",["transform"],o);var r={front:{}};r.front={transform:"translate("+i.frontPosition.x+"px,"+i.frontPosition.y+"px)"},i.applyStyles(n),i.applyStyles(r),i.restTimeout=setTimeout(function(){"function"==typeof t&&t.call(i),i.restCallback()},i.options.fadeTime)},O.prototype.restCallback=function(){var t=this,e={};e.front=l("transition","none",""),t.applyStyles(e),t.trigger("rested",t.instance)},O.prototype.resetDirection=function(){this.direction={x:!1,y:!1,angle:!1}},O.prototype.computeDirection=function(t){var e,i,o,n=t.angle.radian,r=Math.PI/4,s=Math.PI/2;if(n>r&&n<3*r&&!t.lockX?e="up":n>-r&&n<=r&&!t.lockY?e="left":n>3*-r&&n<=-r&&!t.lockX?e="down":t.lockY||(e="right"),t.lockY||(i=n>-s&&n0?"up":"down"),t.force>this.options.threshold){var d,a={};for(d in this.direction)this.direction.hasOwnProperty(d)&&(a[d]=this.direction[d]);var p={};for(d in this.direction={x:i,y:o,angle:e},t.direction=this.direction,a)a[d]===this.direction[d]&&(p[d]=!0);if(p.x&&p.y&&p.angle)return t;p.x&&p.y||this.trigger("plain",t),p.x||this.trigger("plain:"+i,t),p.y||this.trigger("plain:"+o,t),p.angle||this.trigger("dir dir:"+e,t)}else this.resetDirection();return t},w.prototype=new b,w.constructor=w,w.id=0,w.prototype.prepareNipples=function(){var t=this,e=t.nipples;e.on=t.on.bind(t),e.off=t.off.bind(t),e.options=t.options,e.destroy=t.destroy.bind(t),e.ids=t.ids,e.id=t.id,e.processOnMove=t.processOnMove.bind(t),e.processOnEnd=t.processOnEnd.bind(t),e.get=function(t){if(void 0===t)return e[0];for(var i=0,o=e.length;i