@ionic/core
Version:
Base components for Ionic
4 lines • 2.01 kB
JavaScript
/*!
* (C) Ionic http://ionicframework.com - MIT License
*/
System.register(["./p-792919fd.system.js","./p-455cd7cc.system.js"],(function(e){"use strict";var n,r;return{setters:[function(e){n=e.d},function(e){r=e.q}],execute:function(){var t=e("startTapClick",(function(e){if(n===undefined){return}var t=0;var v;var d;var s;var l=e.getBoolean("animated",true)&&e.getBoolean("rippleEffect",true);var p=new WeakMap;var m=function(){if(s)clearTimeout(s);s=undefined;if(v){j(false);v=undefined}};var T=function(e){if(v||e.button===2){return}b(i(e),e)};var w=function(e){b(undefined,e)};var b=function(e,n){if(e&&e===v){return}if(s)clearTimeout(s);s=undefined;var t=r(n),i=t.x,f=t.y;if(v){if(p.has(v)){throw new Error("internal error")}if(!v.classList.contains(u)){y(v,i,f)}j(true)}if(e){var c=p.get(e);if(c){clearTimeout(c);p.delete(e)}e.classList.remove(u);var d=function(){y(e,i,f);s=undefined};if(a(e)){d()}else{s=setTimeout(d,o)}}v=e};var y=function(e,n,r){t=Date.now();e.classList.add(u);if(!l)return;var i=f(e);if(i!==null){h();d=i.addRipple(n,r)}};var h=function(){if(d!==undefined){d.then((function(e){return e()}));d=undefined}};var j=function(e){h();var n=v;if(!n){return}var r=c-Date.now()+t;if(e&&r>0&&!a(n)){var i=setTimeout((function(){n.classList.remove(u);p.delete(n)}),c);p.set(n,i)}else{n.classList.remove(u)}};n.addEventListener("ionGestureCaptured",m);n.addEventListener("pointerdown",T,true);n.addEventListener("pointerup",w,true);n.addEventListener("pointercancel",m,true)}));var i=function(e){if(e.composedPath!==undefined){var n=e.composedPath();for(var r=0;r<n.length-2;r++){var t=n[r];if(!(t instanceof ShadowRoot)&&t.classList.contains("ion-activatable")){return t}}}else{return e.target.closest(".ion-activatable")}};var a=function(e){return e.classList.contains("ion-activatable-instant")};var f=function(e){if(e.shadowRoot){var n=e.shadowRoot.querySelector("ion-ripple-effect");if(n){return n}}return e.querySelector("ion-ripple-effect")};var u="ion-activated";var o=100;var c=150}}}));