/*! * (C) Ionic http://ionicframework.com - MIT License */ import{G as GESTURE_CONTROLLER}from"./gesture-controller-1bf57181.js";export{G as GESTURE_CONTROLLER}from"./gesture-controller-1bf57181.js";var addEventListener=function(e,r,t,a){var n=supportsPassive(e)?{capture:!!a.capture,passive:!!a.passive}:!!a.capture;var i;var f;if(e["__zone_symbol__addEventListener"]){i="__zone_symbol__addEventListener";f="__zone_symbol__removeEventListener"}else{i="addEventListener";f="removeEventListener"}e[i](r,t,n);return function(){e[f](r,t,n)}};var supportsPassive=function(e){if(_sPassive===undefined){try{var r=Object.defineProperty({},"passive",{get:function(){_sPassive=true}});e.addEventListener("optsTest",(function(){return}),r)}catch(e){_sPassive=false}}return!!_sPassive};var _sPassive;var MOUSE_WAIT=2e3;var createPointerEvents=function(e,r,t,a,n){var i;var f;var v;var u;var s;var o;var c;var d=0;var l=function(a){d=Date.now()+MOUSE_WAIT;if(!r(a)){return}if(!f&&t){f=addEventListener(e,"touchmove",t,n)}if(!v){v=addEventListener(a.target,"touchend",m,n)}if(!u){u=addEventListener(a.target,"touchcancel",m,n)}};var E=function(a){if(d>Date.now()){return}if(!r(a)){return}if(!o&&t){o=addEventListener(getDocument(e),"mousemove",t,n)}if(!c){c=addEventListener(getDocument(e),"mouseup",p,n)}};var m=function(e){_();if(a){a(e)}};var p=function(e){L();if(a){a(e)}};var _=function(){if(f){f()}if(v){v()}if(u){u()}f=v=u=undefined};var L=function(){if(o){o()}if(c){c()}o=c=undefined};var D=function(){_();L()};var G=function(r){if(r===void 0){r=true}if(!r){if(i){i()}if(s){s()}i=s=undefined;D()}else{if(!i){i=addEventListener(e,"touchstart",l,n)}if(!s){s=addEventListener(e,"mousedown",E,n)}}};var P=function(){G(false);a=t=r=undefined};return{enable:G,stop:D,destroy:P}};var getDocument=function(e){return e instanceof Document?e:e.ownerDocument};var createPanRecognizer=function(e,r,t){var a=t*(Math.PI/180);var n=e==="x";var i=Math.cos(a);var f=r*r;var v=0;var u=0;var s=false;var o=0;return{start:function(e,r){v=e;u=r;o=0;s=true},detect:function(e,r){if(!s){return false}var t=e-v;var a=r-u;var c=t*t+a*a;if(ci){o=1}else if(l<-i){o=-1}else{o=0}s=false;return true},isGesture:function(){return o!==0},getDirection:function(){return o}}};var createGesture=function(e){var r=false;var t=false;var a=true;var n=false;var i=Object.assign({disableScroll:false,direction:"x",gesturePriority:0,passive:true,maxAngle:40,threshold:10},e);var f=i.canStart;var v=i.onWillStart;var u=i.onStart;var s=i.onEnd;var o=i.notCaptured;var c=i.onMove;var d=i.threshold;var l=i.passive;var E=i.blurOnStart;var m={type:"pan",startX:0,startY:0,startTime:0,currentX:0,currentY:0,velocityX:0,velocityY:0,deltaX:0,deltaY:0,currentTime:0,event:undefined,data:undefined};var p=createPanRecognizer(i.direction,i.threshold,i.maxAngle);var _=GESTURE_CONTROLLER.createGesture({name:e.gestureName,priority:e.gesturePriority,disableScroll:e.disableScroll});var L=function(e){var r=now(e);if(t||!a){return false}updateDetail(e,m);m.startX=m.currentX;m.startY=m.currentY;m.startTime=m.currentTime=r;m.velocityX=m.velocityY=m.deltaX=m.deltaY=0;m.event=e;if(f&&f(m)===false){return false}_.release();if(!_.start()){return false}t=true;if(d===0){return P()}p.start(m.startX,m.startY);return true};var D=function(e){if(r){if(!n&&a){n=true;calcGestureData(m,e);requestAnimationFrame(G)}return}calcGestureData(m,e);if(p.detect(m.currentX,m.currentY)){if(!p.isGesture()||!P()){h()}}};var G=function(){if(!r){return}n=false;if(c){c(m)}};var P=function(){if(!_.capture()){return false}r=true;a=false;m.startX=m.currentX;m.startY=m.currentY;m.startTime=m.currentTime;if(v){v(m).then(y)}else{y()}return true};var g=function(){if(typeof document!=="undefined"){var e=document.activeElement;if(e===null||e===void 0?void 0:e.blur){e.blur()}}};var y=function(){if(E){g()}if(u){u(m)}a=true};var R=function(){r=false;t=false;n=false;a=true;_.release()};var T=function(e){var t=r;var n=a;R();if(!n){return}calcGestureData(m,e);if(t){if(s){s(m)}return}if(o){o(m)}};var b=createPointerEvents(i.el,L,D,T,{capture:false,passive:l});var h=function(){R();b.stop();if(o){o(m)}};return{enable:function(e){if(e===void 0){e=true}if(!e){if(r){T(undefined)}R()}b.enable(e)},destroy:function(){_.destroy();b.destroy()}}};var calcGestureData=function(e,r){if(!r){return}var t=e.currentX;var a=e.currentY;var n=e.currentTime;updateDetail(r,e);var i=e.currentX;var f=e.currentY;var v=e.currentTime=now(r);var u=v-n;if(u>0&&u<100){var s=(i-t)/u;var o=(f-a)/u;e.velocityX=s*.7+e.velocityX*.3;e.velocityY=o*.7+e.velocityY*.3}e.deltaX=i-e.startX;e.deltaY=f-e.startY;e.event=r};var updateDetail=function(e,r){var t=0;var a=0;if(e){var n=e.changedTouches;if(n&&n.length>0){var i=n[0];t=i.clientX;a=i.clientY}else if(e.pageX!==undefined){t=e.pageX;a=e.pageY}}r.currentX=t;r.currentY=a};var now=function(e){return e.timeStamp||Date.now()};export{createGesture};