UNPKG

@adyen/adyen-web

Version:

[![npm](https://img.shields.io/npm/v/@adyen/adyen-web.svg)](https://www.npmjs.com/package/@adyen/adyen-web)

3 lines (2 loc) 3.73 kB
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useCoreContext as t}from"../../../core/Context/CoreProvider.js";import{usePaymentStatusTimer as o}from"../../../hooks/usePaymentStatusTimer/usePaymentStatusTimer.js";import{DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_INTERVAL_MS as r,DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_TIME_MS as a,DEFAULT_PAYMENT_STATUS_TIMER_DELAY_MS as n,DEFAULT_PAYMENT_STATUS_TIMER_COUNTDOWN_TIME_MIN as i}from"../../../hooks/usePaymentStatusTimer/constants.js";import c from"../../../utils/useAutoFocus.js";import l from"../Button/Button.js";import d from"../ContentSeparator/ContentSeparator.js";import{AnalyticsInfoEvent as s,UiTarget as m,InfoEventType as u}from"../../../core/Analytics/events/AnalyticsInfoEvent.js";import p from"../Spinner/Spinner.js";import{QRDetails as y}from"./components/QRDetails.js";import{QRFinalState as _}from"./components/QRFinalState.js";import{QRLoaderDetailsProvider as h}from"./QRLoaderDetailsProvider.js";import{redirectToApp as g}from"../../../utils/urls.js";import{useAmount as f}from"../../../core/Context/AmountProvider.js";function q(r){var a;const{i18n:n,loadingContext:i}=t(),{state:q,actions:C}=o({loadingContext:i,paymentData:r.paymentData,clientKey:r.clientKey,delay:r.delay,throttleTime:r.throttleTime,throttleInterval:r.throttledInterval,type:r.type,onError:r.onError,onComplete:r.onComplete,onActionHandled:r.onActionHandled}),{completed:v,expired:k,loading:b,percentage:T}=q,{onTick:j,onTimeUp:N}=C,{showAmount:w,url:A,brandLogo:D,brandName:P,countdownTime:I,type:S,onActionHandled:x}=r,{amount:$}=f(),B=r.qrCodeData?`${i}utility/v1/barcode.png?type=qrCode&data=${r.qrCodeData}&clientKey=${r.clientKey}`:r.qrCodeImage,E=c();if(k)return e(_,{image:"error",message:n.get("error.subtitle.payment")});if(v)return e(_,{image:"success",message:n.get("creditCard.success")});if(b)return e("div",{className:"adyen-checkout__qr-loader"},D&&e("div",{className:"adyen-checkout__qr-loader__brand-logo-wrapper"},e("img",{alt:P,src:D,className:"adyen-checkout__qr-loader__brand-logo"})),e(p,null));const L=r.classNameModifiers.map(e=>`adyen-checkout__qr-loader--${e}`);return e("div",{className:`adyen-checkout__qr-loader adyen-checkout__qr-loader--${S} ${L.join(" ")}`,"data-testid":`${S}-qr-loader`},D&&e("div",{className:"adyen-checkout__qr-loader__brand-logo-wrapper"},e("img",{src:D,alt:P,className:"adyen-checkout__qr-loader__brand-logo"})),w&&$&&null!==$.value&&!!$.currency&&e("h1",{className:"adyen-checkout__qr-loader__payment_amount"},n.amount($.value,$.currency)),A&&e("div",{className:"adyen-checkout__qr-loader__app-link"},r.redirectIntroduction&&e("p",{className:"adyen-checkout__qr-loader__subtitle"},n.get(r.redirectIntroduction)),e(l,{classNameModifiers:["qr-loader"],onClick:()=>g(A),label:n.get(r.buttonLabel)}),e(d,null)),e("p",{ref:E,tabIndex:0,className:"adyen-checkout__qr-loader__subtitle"},"string"==typeof r.introduction?n.get(r.introduction):null===(a=r.introduction)||void 0===a?void 0:a.call(r)),e(h,{type:S,qrCodeImage:B,qrCodeData:r.qrCodeData,percentage:T,timeToPay:r.timeToPay,copyBtn:r.copyBtn,instructions:r.instructions,countdownTime:I,onTick:e=>j(e),onQRCodeLoad:()=>{null==x||x({componentType:r.type,actionDescription:"qr-code-loaded"})},onTimeUp:()=>N(),handleCopy:()=>{const e=new s({component:r.type,type:u.download,target:m.qrDownloadButton});r.onSubmitAnalytics(e)}},r.children?r.children:e(y,null)))}q.defaultProps={countdownTime:i,delay:n,throttleTime:a,throttledInterval:r,onError:()=>{},onComplete:()=>{},classNameModifiers:[],introduction:"wechatpay.scanqrcode",timeToPay:"wechatpay.timetopay",buttonLabel:"openApp",showAmount:!0};export{q as QRLoader}; //# sourceMappingURL=QRLoader.js.map