forms-reactive
Version:
Reactive Form Web Component
5 lines • 1.88 kB
JavaScript
import{d as e}from"./p-3647f076.js";import{u as t}from"./p-c1432a35.js";
/*!
* (C) Ionic http://ionicframework.com - MIT License
*/const n=n=>{if(e===undefined){return}let u=0;let a;let d;let l;const p=n.getBoolean("animated",true)&&n.getBoolean("rippleEffect",true);const m=new WeakMap;const w=()=>{if(l)clearTimeout(l);l=undefined;if(a){x(false);a=undefined}};const T=e=>{if(a||e.button===2){return}b(i(e),e)};const v=e=>{b(undefined,e)};const b=(e,n)=>{if(e&&e===a){return}if(l)clearTimeout(l);l=undefined;const{x:i,y:r}=t(n);if(a){if(m.has(a)){throw new Error("internal error")}if(!a.classList.contains(f)){h(a,i,r)}x(true)}if(e){const t=m.get(e);if(t){clearTimeout(t);m.delete(e)}e.classList.remove(f);const n=()=>{h(e,i,r);l=undefined};if(o(e)){n()}else{l=setTimeout(n,c)}}a=e};const h=(e,t,n)=>{u=Date.now();e.classList.add(f);if(!p)return;const i=r(e);if(i!==null){j();d=i.addRipple(t,n)}};const j=()=>{if(d!==undefined){d.then((e=>e()));d=undefined}};const x=e=>{j();const t=a;if(!t){return}const n=s-Date.now()+u;if(e&&n>0&&!o(t)){const e=setTimeout((()=>{t.classList.remove(f);m.delete(t)}),s);m.set(t,e)}else{t.classList.remove(f)}};e.addEventListener("ionGestureCaptured",w);e.addEventListener("pointerdown",T,true);e.addEventListener("pointerup",v,true);e.addEventListener("pointercancel",w,true)};const i=e=>{if(e.composedPath!==undefined){const t=e.composedPath();for(let e=0;e<t.length-2;e++){const n=t[e];if(!(n instanceof ShadowRoot)&&n.classList.contains("ion-activatable")){return n}}}else{return e.target.closest(".ion-activatable")}};const o=e=>e.classList.contains("ion-activatable-instant");const r=e=>{if(e.shadowRoot){const t=e.shadowRoot.querySelector("ion-ripple-effect");if(t){return t}}return e.querySelector("ion-ripple-effect")};const f="ion-activated";const c=100;const s=150;export{n as startTapClick};
//# sourceMappingURL=p-e76cbd20.js.map