@adyen/adyen-web
Version:
[](https://www.npmjs.com/package/@adyen/adyen-web)
3 lines (2 loc) • 3.64 kB
JavaScript
import t from"../../../_virtual/index.js";import{createElement as e}from"../../../external/preact/dist/preact.js";import{useEffect as a}from"../../../external/preact/hooks/dist/hooks.js";import{useCoreContext as o}from"../../../core/Context/CoreProvider.js";import{usePaymentStatusTimer as n}from"../../../hooks/usePaymentStatusTimer/usePaymentStatusTimer.js";import{DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_INTERVAL_MS as r,DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_TIME_MS as i,DEFAULT_PAYMENT_STATUS_TIMER_DELAY_MS as s,DEFAULT_PAYMENT_STATUS_TIMER_COUNTDOWN_TIME_MIN as c}from"../../../hooks/usePaymentStatusTimer/constants.js";import l from"../Spinner/Spinner.js";import m from"../Button/Button.js";import d from"../ContentSeparator/ContentSeparator.js";import u from"../Countdown/index.js";import{AwaitFinalState as _}from"./components/AwaitFinalState.js";import{redirectToApp as p}from"../../../utils/urls.js";import{useAmount as y}from"../../../core/Context/AmountProvider.js";import{useA11yReporter as h}from"../../../core/Errors/useA11yReporter.js";function w(r){const{i18n:i,loadingContext:s}=o();h(r.awaitText);const{state:c,actions:w}=n({loadingContext:s,paymentData:r.paymentData,clientKey:r.clientKey,delay:r.delay,throttleTime:r.throttleTime,throttleInterval:r.throttleInterval,type:r.type,onError:r.onError,onComplete:r.onComplete,pollStatus:r.pollStatus,onActionHandled:r.onActionHandled}),{completed:g,expired:k,loading:f,percentage:v}=c,{onTick:N,onTimeUp:T}=w,{amount:C}=y();if(a(()=>{r.shouldRedirectAutomatically&&r.url&&p(r.url)},[r.shouldRedirectAutomatically,r.url]),k)return e(_,{image:"error",message:i.get("error.subtitle.payment")});if(g)return e(_,{image:"success",message:i.get("creditCard.success")});if(f)return e("div",{className:"adyen-checkout__await"},r.brandLogo&&e("img",{src:r.brandLogo,alt:r.type,className:"adyen-checkout__await__brand-logo"}),e(l,{inline:!1,size:"large"}));const x=i.get("wechatpay.timetopay").split("%@");return e("div",{className:t("adyen-checkout__await",`adyen-checkout__await--${r.type}`,r.classNameModifiers.map(t=>`adyen-checkout__await--${t}`))},r.brandLogo&&e("img",{src:r.brandLogo,alt:r.type,className:"adyen-checkout__await__brand-logo"}),!(!r.showAmount||null===C?.value||!C?.currency)&&e("div",{className:"adyen-checkout__await__amount"},i.amount(C.value,C.currency)),null!=r.messageText&&e("div",{className:"adyen-checkout__await__subtitle"},r.messageText),e("div",{className:"adyen-checkout__await__indicator-holder"},e("div",{className:"adyen-checkout__await__indicator-spinner"},e(l,{inline:!1,size:"medium"})),e("div",{className:"adyen-checkout__await__indicator-text"},r.awaitText)),r.showCountdownTimer&&e("div",{className:"adyen-checkout__await__countdown-holder"},e("div",{className:"adyen-checkout__await__progress"},e("span",{className:"adyen-checkout__await__percentage",style:{width:`${v}%`}})),e("div",{className:"adyen-checkout__await__countdown"},x[0]," ",e(u,{minutesFromNow:r.countdownTime,onTick:N,onCompleted:T})," ",x[1])),r.url&&!r.shouldRedirectAutomatically&&e("div",{className:"adyen-checkout__await__app-link"},e(d,null),e(m,{classNameModifiers:["await"],onClick:()=>p(r.url),label:i.get("openApp")})),r.instructions&&e("div",{className:"adyen-checkout__await__instructions"},"string"==typeof r.instructions?i.get(r.instructions):r.instructions?.()),r.endSlot&&e("div",{className:"adyen-checkout__await__end-slot"},r.endSlot()))}w.defaultProps={countdownTime:c,delay:s,throttleTime:i,throttleInterval:r,onError:()=>{},onComplete:()=>{},showCountdownTimer:!0,classNameModifiers:[],url:null};export{w as Await};
//# sourceMappingURL=Await.js.map