react-klasha
Version:
This is an reactJS library for implementing klasha payment gateway
1 lines • 4 kB
JavaScript
import{b as t,c as n}from"./p-125156f2.js";import{OVERLAY_BACK_BUTTON_PRIORITY as o}from"./p-94c70170.js";import{c as e,a,b as i,g as s}from"./p-f4d641a6.js";let r=0;const c=new WeakMap,d=t=>({create:n=>x(t,n),dismiss:(n,o,e)=>k(document,n,o,t,e),getTop:async()=>j(document,t)}),u=d("ion-alert"),p=d("ion-action-sheet"),l=d("ion-loading"),m=d("ion-modal"),f=d("ion-picker"),y=d("ion-popover"),b=d("ion-toast"),v=t=>{"undefined"!=typeof document&&g(document);const n=r++;t.overlayIndex=n,t.hasAttribute("id")||(t.id=`ion-overlay-${n}`)},x=(t,n)=>"undefined"!=typeof customElements?customElements.whenDefined(t).then((()=>{const o=document.createElement(t);return o.classList.add("overlay-hidden"),Object.assign(o,n),O(document).appendChild(o),new Promise((t=>e(o,t)))})):Promise.resolve(),h='[tabindex]:not([tabindex^="-"]), input:not([type=hidden]):not([tabindex^="-"]), textarea:not([tabindex^="-"]), button:not([tabindex^="-"]), select:not([tabindex^="-"]), .ion-focusable:not([tabindex^="-"])',w="input:not([type=hidden]), textarea, button, select",g=t=>{0===r&&(r=1,t.addEventListener("focus",(n=>((t,n)=>{const o=j(n),e=t.target;if(o&&e)if(o===e)o.lastFocus=void 0;else{const t=s(o);if(!t.contains(e))return;const a=t.querySelector(".ion-overlay-wrapper");if(!a)return;if(a.contains(e))o.lastFocus=e;else{const t=o.lastFocus;((t,n)=>{let o=t.querySelector(h);const e=o&&o.shadowRoot;e&&(o=e.querySelector(w)||o),o?o.focus():n.focus()})(a,o),t===n.activeElement&&((t,n)=>{const o=Array.from(t.querySelectorAll(h));let e=o.length>0?o[o.length-1]:null;const a=e&&e.shadowRoot;a&&(e=a.querySelector(w)||e),e?e.focus():n.focus()})(a,o),o.lastFocus=n.activeElement}}})(n,t)),!0),t.addEventListener("ionBackButton",(n=>{const e=j(t);e&&e.backdropDismiss&&n.detail.register(o,(()=>e.dismiss(void 0,S)))})),t.addEventListener("keyup",(n=>{if("Escape"===n.key){const n=j(t);n&&n.backdropDismiss&&n.dismiss(void 0,S)}})))},k=(t,n,o,e,a)=>{const i=j(t,e,a);return i?i.dismiss(n,o):Promise.reject("overlay does not exist")},j=(t,n,o)=>{const e=((t,n)=>(void 0===n&&(n="ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker,ion-popover,ion-toast"),Array.from(t.querySelectorAll(n)).filter((t=>t.overlayIndex>0))))(t,n);return void 0===o?e[e.length-1]:e.find((t=>t.id===o))},P=(t=!1)=>{const n=O(document).querySelector("ion-router-outlet, ion-nav, #ion-view-container-root");n&&(t?n.setAttribute("aria-hidden","true"):n.removeAttribute("aria-hidden"))},A=async(o,e,a,i,s)=>{if(o.presented)return;P(!0),o.presented=!0,o.willPresent.emit();const r=t(o),c=o.enterAnimation?o.enterAnimation:n.get(e,"ios"===r?a:i);await T(o,c,o.el,s)&&o.didPresent.emit(),"ION-TOAST"!==o.el.tagName&&B(o.el),o.keyboardClose&&o.el.focus()},B=async t=>{let n=document.activeElement;if(!n)return;const o=n&&n.shadowRoot;o&&(n=o.querySelector(w)||n),await t.onDidDismiss(),n.focus()},E=async(o,e,a,i,s,r,d)=>{if(!o.presented)return!1;P(!1),o.presented=!1;try{o.el.style.setProperty("pointer-events","none"),o.willDismiss.emit({data:e,role:a});const u=t(o),p=o.leaveAnimation?o.leaveAnimation:n.get(i,"ios"===u?s:r);"gesture"!==a&&await T(o,p,o.el,d),o.didDismiss.emit({data:e,role:a}),c.delete(o)}catch(u){console.error(u)}return o.el.remove(),!0},O=t=>t.querySelector("ion-app")||t.body,T=async(t,o,e,a)=>{e.classList.remove("overlay-hidden");const i=o(e.shadowRoot||t.el,a);t.animated&&n.getBoolean("animated",!0)||i.duration(0),t.keyboardClose&&i.beforeAddWrite((()=>{const t=e.ownerDocument.activeElement;t&&t.matches("input, ion-input, ion-textarea")&&t.blur()}));const s=c.get(t)||[];return c.set(t,[...s,i]),await i.play(),!0},z=(t,n)=>{let o;const e=new Promise((t=>o=t));return G(t,n,(t=>{o(t.detail)})),e},G=(t,n,o)=>{const e=a=>{i(t,n,e),o(a)};a(t,n,e)},I=t=>"cancel"===t||t===S,M=t=>t(),N=(t,o)=>{if("function"==typeof t)return n.get("_zoneGate",M)((()=>{try{return t(o)}catch(n){console.error(n)}}))},S="backdrop";export{S as B,u as a,p as b,y as c,A as d,v as e,E as f,z as g,c as h,I as i,l,m,f as p,N as s,b as t}