@adyen/adyen-web
Version:
[](https://www.npmjs.com/package/@adyen/adyen-web)
3 lines (2 loc) • 2.99 kB
JavaScript
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./components/UPIComponent/UPIComponent.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import n from"../internal/Await/Await.js";import i from"../internal/QRLoader/QRLoader.js";import s from"../../core/Errors/SRPanelProvider.js";import{TxVariants as p}from"../tx-variants.js";import a from"../../utils/isMobile.js";function d(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}class l extends e{formatProps(t){if(!a())return{...super.formatProps(t),defaultMode:t?.defaultMode??"qrCode",apps:[]};const e=t.apps?.length>0,o=e?"intent":"vpa",r=[o,"qrCode"],n={id:"vpa",name:t.i18n.get("upi.collect.dropdown.label"),type:p.upi_collect},i=e?[...t.apps.map((t=>({...t,type:p.upi_intent}))),n]:[];return{...super.formatProps(t),defaultMode:r.includes(t?.defaultMode)?t.defaultMode:o,apps:i}}get isValid(){return this.state.isValid}formatData(){const{virtualPaymentAddress:t,app:e}=this.state.data||{};return{paymentMethod:{...this.paymentType&&{type:this.paymentType},...this.paymentType===p.upi_collect&&t&&{virtualPaymentAddress:t},...this.paymentType===p.upi_intent&&e?.id&&{appId:e.id}}}}get paymentType(){return"qrCode"===this.selectedMode?p.upi_qr:"vpa"===this.selectedMode?p.upi_collect:this.state.data?.app?.type}renderContent(e,r,s){switch(e){case"qrCode":return t(i,{ref:t=>{this.componentRef=t},...this.props,qrCodeData:this.props.qrCodeData?encodeURIComponent(this.props.qrCodeData):null,type:p.upi_qr,brandLogo:this.props.brandLogo||this.icon,onComplete:this.onComplete,introduction:this.props.i18n.get("upi.qrCodeWaitingMessage"),countdownTime:5,onActionHandled:this.onActionHandled});case"await":return t(n,{ref:t=>{this.componentRef=t},url:r,type:s,showCountdownTimer:!0,shouldRedirectAutomatically:!0,countdownTime:5,clientKey:this.props.clientKey,paymentData:this.props.paymentData,onActionHandled:this.onActionHandled,onError:this.props.onError,messageText:this.props.i18n.get("upi.vpaWaitingMessage"),awaitText:this.props.i18n.get("await.waitForConfirmation"),onComplete:this.onComplete,brandLogo:this.icon});default:return t(o,{ref:t=>{this.componentRef=t},payButton:this.payButton,onChange:this.setState,onUpdateMode:this.onUpdateMode,apps:this.props.apps,defaultMode:this.props.defaultMode,showPayButton:this.props.showPayButton})}}render(){const{type:e,url:o,paymentMethodType:n}=this.props;return t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(s,{srPanel:this.props.modules.srPanel},this.renderContent(e,o,n)))}constructor(t,e){super(t,e),d(this,"selectedMode",void 0),d(this,"onUpdateMode",(t=>{this.selectedMode=t})),this.selectedMode=this.props.defaultMode}}d(l,"type",p.upi),d(l,"txVariants",[p.upi,p.upi_qr,p.upi_collect,p.upi_intent]);export{l as default};
//# sourceMappingURL=UPI.js.map