@adyen/adyen-web 6.0.0-alpha.7 → 6.0.0-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/adyen.css +6 -6
- package/dist/cjs/adyen.css.map +1 -1
- package/dist/cjs/index.cjs +2 -2
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.cts +2355 -2038
- package/dist/es/adyen.css +6 -6
- package/dist/es/adyen.css.map +1 -1
- package/dist/es/components/ANCV/ANCV.js +1 -1
- package/dist/es/components/ANCV/ANCV.js.map +1 -1
- package/dist/es/components/ANCV/components/ANCVInput.js.map +1 -1
- package/dist/es/components/Ach/components/AchInput/AchInput.js +1 -1
- package/dist/es/components/Ach/components/AchInput/AchInput.js.map +1 -1
- package/dist/es/components/Ach/components/AchInput/defaultProps.js +1 -1
- package/dist/es/components/Ach/components/AchInput/defaultProps.js.map +1 -1
- package/dist/es/components/AfterPay/AfterPayB2B.js +1 -1
- package/dist/es/components/AfterPay/AfterPayB2B.js.map +1 -1
- package/dist/es/components/BacsDD/BacsDD.js +1 -1
- package/dist/es/components/BacsDD/BacsDD.js.map +1 -1
- package/dist/es/components/BacsDD/components/BacsInput.js +1 -1
- package/dist/es/components/BacsDD/components/BacsInput.js.map +1 -1
- package/dist/es/components/Blik/components/BlikInput.js.map +1 -1
- package/dist/es/components/Boleto/components/BoletoInput/BoletoInput.js +1 -1
- package/dist/es/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
- package/dist/es/components/Card/Card.js +1 -1
- package/dist/es/components/Card/Card.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/CardInput.js +1 -1
- package/dist/es/components/Card/components/CardInput/CardInput.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/types.js.map +1 -1
- package/dist/es/components/Doku/Doku.js +1 -1
- package/dist/es/components/Doku/Doku.js.map +1 -1
- package/dist/es/components/Doku/components/DokuInput/DokuInput.js +1 -1
- package/dist/es/components/Doku/components/DokuInput/DokuInput.js.map +1 -1
- package/dist/es/components/Dropin/Dropin.js +1 -1
- package/dist/es/components/Dropin/Dropin.js.map +1 -1
- package/dist/es/components/Econtext/Econtext.js +1 -1
- package/dist/es/components/Econtext/Econtext.js.map +1 -1
- package/dist/es/components/Econtext/components/EcontextInput/EcontextInput.js +1 -1
- package/dist/es/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
- package/dist/es/components/GooglePay/GooglePay.js.map +1 -1
- package/dist/es/components/PersonalDetails/PersonalDetails.js +1 -1
- package/dist/es/components/PersonalDetails/PersonalDetails.js.map +1 -1
- package/dist/es/components/Sepa/Sepa.js +1 -1
- package/dist/es/components/Sepa/Sepa.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
- package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
- package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
- package/dist/es/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js +1 -1
- package/dist/es/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js.map +1 -1
- package/dist/es/components/internal/BaseElement/BaseElement.js +1 -1
- package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
- package/dist/es/components/internal/OpenInvoice/OpenInvoice.js +1 -1
- package/dist/es/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
- package/dist/es/components/internal/UIElement/UIElement.js +1 -1
- package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
- package/dist/es/components/tx-variants.js +1 -1
- package/dist/es/components/tx-variants.js.map +1 -1
- package/dist/es/core/Analytics/analyticsPreProcessor.js +1 -1
- package/dist/es/core/Analytics/analyticsPreProcessor.js.map +1 -1
- package/dist/es/core/Analytics/constants.js +1 -1
- package/dist/es/core/Analytics/constants.js.map +1 -1
- package/dist/es/core/Analytics/utils.js +1 -1
- package/dist/es/core/Analytics/utils.js.map +1 -1
- package/dist/es/core/ProcessResponse/PaymentAction/PaymentAction.js.map +1 -1
- package/dist/es/core/ProcessResponse/PaymentAction/actionTypes.js +1 -1
- package/dist/es/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
- package/dist/es/core/Services/analytics/collect-id.js +1 -1
- package/dist/es/core/Services/analytics/log-event.js +1 -1
- package/dist/es/core/config.js +1 -1
- package/dist/es/core/config.js.map +1 -1
- package/dist/es/core/core.js +1 -1
- package/dist/es/core/core.js.map +1 -1
- package/dist/es/core/core.registry.js +1 -1
- package/dist/es/core/core.registry.js.map +1 -1
- package/dist/es/index.d.ts +2355 -2038
- package/dist/es-legacy/adyen.css +6 -6
- package/dist/es-legacy/adyen.css.map +1 -1
- package/dist/es-legacy/components/ANCV/ANCV.js +1 -1
- package/dist/es-legacy/components/ANCV/ANCV.js.map +1 -1
- package/dist/es-legacy/components/ANCV/components/ANCVInput.js.map +1 -1
- package/dist/es-legacy/components/Ach/components/AchInput/AchInput.js +1 -1
- package/dist/es-legacy/components/Ach/components/AchInput/AchInput.js.map +1 -1
- package/dist/es-legacy/components/Ach/components/AchInput/defaultProps.js +1 -1
- package/dist/es-legacy/components/Ach/components/AchInput/defaultProps.js.map +1 -1
- package/dist/es-legacy/components/AfterPay/AfterPayB2B.js +1 -1
- package/dist/es-legacy/components/AfterPay/AfterPayB2B.js.map +1 -1
- package/dist/es-legacy/components/BacsDD/BacsDD.js +1 -1
- package/dist/es-legacy/components/BacsDD/BacsDD.js.map +1 -1
- package/dist/es-legacy/components/BacsDD/components/BacsInput.js +1 -1
- package/dist/es-legacy/components/BacsDD/components/BacsInput.js.map +1 -1
- package/dist/es-legacy/components/Blik/components/BlikInput.js.map +1 -1
- package/dist/es-legacy/components/Boleto/components/BoletoInput/BoletoInput.js +1 -1
- package/dist/es-legacy/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
- package/dist/es-legacy/components/Card/Card.js +1 -1
- package/dist/es-legacy/components/Card/Card.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/CardInput.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/CardInput.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/types.js.map +1 -1
- package/dist/es-legacy/components/Doku/Doku.js +1 -1
- package/dist/es-legacy/components/Doku/Doku.js.map +1 -1
- package/dist/es-legacy/components/Doku/components/DokuInput/DokuInput.js +1 -1
- package/dist/es-legacy/components/Doku/components/DokuInput/DokuInput.js.map +1 -1
- package/dist/es-legacy/components/Dropin/Dropin.js +1 -1
- package/dist/es-legacy/components/Dropin/Dropin.js.map +1 -1
- package/dist/es-legacy/components/Econtext/Econtext.js +1 -1
- package/dist/es-legacy/components/Econtext/Econtext.js.map +1 -1
- package/dist/es-legacy/components/Econtext/components/EcontextInput/EcontextInput.js +1 -1
- package/dist/es-legacy/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
- package/dist/es-legacy/components/GooglePay/GooglePay.js.map +1 -1
- package/dist/es-legacy/components/PersonalDetails/PersonalDetails.js +1 -1
- package/dist/es-legacy/components/PersonalDetails/PersonalDetails.js.map +1 -1
- package/dist/es-legacy/components/Sepa/Sepa.js +1 -1
- package/dist/es-legacy/components/Sepa/Sepa.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
- package/dist/es-legacy/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js +1 -1
- package/dist/es-legacy/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js.map +1 -1
- package/dist/es-legacy/components/internal/BaseElement/BaseElement.js +1 -1
- package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
- package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js +1 -1
- package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
- package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
- package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
- package/dist/es-legacy/components/tx-variants.js +1 -1
- package/dist/es-legacy/components/tx-variants.js.map +1 -1
- package/dist/es-legacy/core/Analytics/analyticsPreProcessor.js +1 -1
- package/dist/es-legacy/core/Analytics/analyticsPreProcessor.js.map +1 -1
- package/dist/es-legacy/core/Analytics/constants.js +1 -1
- package/dist/es-legacy/core/Analytics/constants.js.map +1 -1
- package/dist/es-legacy/core/Analytics/utils.js +1 -1
- package/dist/es-legacy/core/Analytics/utils.js.map +1 -1
- package/dist/es-legacy/core/ProcessResponse/PaymentAction/PaymentAction.js.map +1 -1
- package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js +1 -1
- package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
- package/dist/es-legacy/core/Services/analytics/collect-id.js +1 -1
- package/dist/es-legacy/core/Services/analytics/log-event.js +1 -1
- package/dist/es-legacy/core/config.js +1 -1
- package/dist/es-legacy/core/config.js.map +1 -1
- package/dist/es-legacy/core/core.js +1 -1
- package/dist/es-legacy/core/core.js.map +1 -1
- package/dist/es-legacy/core/core.registry.js +1 -1
- package/dist/es-legacy/core/core.registry.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/ANCVInput.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/ANCVInput.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import s from"./components/ANCVAwait/config.js";import n from"../internal/Await/Await.js";import i from"../../core/Errors/SRPanelProvider.js";import a from"../../core/Errors/AdyenCheckoutError.js";import p from"../internal/PayButton/PayButton.js";import{sanitizeResponse as c,verifyPaymentDidNotFail as h}from"../internal/UIElement/utils.js";function l(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function m(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);r.push.apply(r,o)}return r}(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})),t}class u extends e{formatData(){var t;return{paymentMethod:{type:u.type,beneficiaryId:null===(t=this.state.data)||void 0===t?void 0:t.beneficiaryId}}}submit(){if(!this.isValid)return this.showValidation(),!1;this.createOrder().then(this.makePaymentsCall).then(c).then(h).then(this.handleResponse).catch(this.handleFailedResult)}get isValid(){return!!this.state.isValid}get displayName(){return this.props.name}render(){return this.props.paymentData?t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(i,{srPanel:this.props.modules.srPanel},t(n,{ref:t=>{this.componentRef=t},clientKey:this.props.clientKey,paymentData:this.props.paymentData,onError:this.props.onError,onComplete:this.onComplete,brandLogo:this.icon,type:this.constructor.type,messageText:this.props.i18n.get("ancv.confirmPayment"),awaitText:this.props.i18n.get("await.waitForConfirmation"),showCountdownTimer:s.showCountdownTimer,throttleTime:s.THROTTLE_TIME,throttleInterval:s.THROTTLE_INTERVAL,onActionHandled:this.props.onActionHandled}))):t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(r,m(function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})))),o.forEach((function(e){l(t,e,r[e])}))}return t}({ref:t=>{this.componentRef=t}},this.props),{onSubmit:this.submit,onChange:this.setState,payButton:this.payButton,showPayButton:this.props.showPayButton})))}constructor(...e){super(...e),l(this,"onOrderRequest",(t=>this.props.onOrderRequest?new Promise(((e,r)=>{this.props.onOrderRequest(e,r,t)})):this.props.session?this.props.session.createOrder():void 0)),l(this,"createOrder",(()=>(this.setStatus("loading"),this.props.order?Promise.resolve():this.onOrderRequest(this.data).then((t=>{const e={orderData:t.orderData,pspReference:t.pspReference};return this.setState(e),Promise.resolve()})).catch((t=>{this.setStatus((null==t?void 0:t.message)||"error"),this.props.onError&&this.handleError(new a("ERROR",t))}))))),l(this,"payButton",(e=>t(p,e)))}}l(u,"type","ancv");export{u as ANCVElement,u as default};
|
|
2
2
|
//# sourceMappingURL=ANCV.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ANCV.js","sources":["../../../../src/components/ANCV/ANCV.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport ANCVInput from './components/ANCVInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport config from './components/ANCVAwait/config';\nimport Await from '../../components/internal/Await';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport PayButton from '../internal/PayButton';\nimport { ANCVConfiguration } from './types';\nexport class ANCVElement extends UIElement<ANCVConfiguration> {\n public static type = 'ancv';\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n paymentMethod: {\n type: ANCVElement.type,\n beneficiaryId: this.state.data?.beneficiaryId\n }\n };\n }\n\n private onOrderRequest = data => {\n if (this.props.onOrderRequest)\n return new Promise((resolve, reject) => {\n this.props.onOrderRequest(resolve, reject, data);\n });\n\n if (this.props.session) {\n return this.props.session.createOrder();\n }\n };\n\n public createOrder = () => {\n if (
|
|
1
|
+
{"version":3,"file":"ANCV.js","sources":["../../../../src/components/ANCV/ANCV.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport ANCVInput from './components/ANCVInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport config from './components/ANCVAwait/config';\nimport Await from '../../components/internal/Await';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport PayButton from '../internal/PayButton';\nimport { ANCVConfiguration } from './types';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\n\nexport class ANCVElement extends UIElement<ANCVConfiguration> {\n public static type = 'ancv';\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n paymentMethod: {\n type: ANCVElement.type,\n beneficiaryId: this.state.data?.beneficiaryId\n }\n };\n }\n\n private onOrderRequest = data => {\n if (this.props.onOrderRequest)\n return new Promise((resolve, reject) => {\n this.props.onOrderRequest(resolve, reject, data);\n });\n\n if (this.props.session) {\n return this.props.session.createOrder();\n }\n };\n\n /**\n * Check if order exists, if it does Resolve.\n * Otherwise createOrder and then Resolve.\n */\n public createOrder = (): Promise<void> => {\n this.setStatus('loading');\n\n // allow for multiple ANCV payments, follow giftcard logic and just use order if it exists\n if (this.props.order) {\n return Promise.resolve();\n }\n\n return this.onOrderRequest(this.data)\n .then((order: { orderData: string; pspReference: string }) => {\n const stateOrder = { orderData: order.orderData, pspReference: order.pspReference };\n this.setState(stateOrder);\n return Promise.resolve();\n })\n .catch(error => {\n this.setStatus(error?.message || 'error');\n if (this.props.onError) this.handleError(new AdyenCheckoutError('ERROR', error));\n });\n };\n\n public submit() {\n if (!this.isValid) {\n this.showValidation();\n return false;\n }\n\n this.createOrder()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then(this.handleResponse)\n .catch(this.handleFailedResult);\n }\n\n // Reimplement payButton similar to GiftCard to allow to set onClick\n public payButton = props => {\n return <PayButton {...props} />;\n };\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n get displayName(): string {\n return this.props.name;\n }\n\n render() {\n if (this.props.paymentData) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <Await\n ref={ref => {\n this.componentRef = ref;\n }}\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.props.onError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n type={this.constructor['type']}\n messageText={this.props.i18n.get('ancv.confirmPayment')}\n awaitText={this.props.i18n.get('await.waitForConfirmation')}\n showCountdownTimer={config.showCountdownTimer}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.props.onActionHandled}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <ANCVInput\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onSubmit={this.submit}\n onChange={this.setState}\n payButton={this.payButton}\n showPayButton={this.props.showPayButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default ANCVElement;\n"],"names":["ANCVElement","UIElement","formatData","_this_state_data","paymentMethod","type","beneficiaryId","this","state","data","submit","isValid","showValidation","createOrder","then","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","handleResponse","catch","handleFailedResult","displayName","props","name","render","paymentData","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","Await","ref","componentRef","clientKey","onError","onComplete","brandLogo","icon","constructor","messageText","get","awaitText","showCountdownTimer","config","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","ANCVInput","onSubmit","onChange","setState","payButton","showPayButton","_define_property","onOrderRequest","Promise","resolve","reject","session","setStatus","order","stateOrder","orderData","pspReference","error","message","handleError","AdyenCheckoutError","PayButton"],"mappings":"8iCAYO,MAAMA,UAAoBC,EAM7BC,UAAAA,GAI2B,IAAAC,EAHvB,MAAO,CACHC,cAAe,CACXC,KAAML,EAAYK,KAClBC,cAA8B,QAAfH,EAAAI,KAAKC,MAAMC,YAAX,IAAAN,OAAA,EAAAA,EAAiBG,eAG5C,CAqCOI,MAAAA,GACH,IAAKH,KAAKI,QAEN,OADAJ,KAAKK,kBACE,EAGXL,KAAKM,cACAC,KAAKP,KAAKQ,kBACVD,KAAKE,GACLF,KAAKG,GACLH,KAAKP,KAAKW,gBACVC,MAAMZ,KAAKa,mBACpB,CAOA,WAAIT,GACA,QAASJ,KAAKC,MAAMG,OACxB,CAEA,eAAIU,GACA,OAAOd,KAAKe,MAAMC,IACtB,CAEAC,MAAAA,GACI,OAAIjB,KAAKe,MAAMG,YAEPC,EAACC,EAAAA,CAAaC,KAAMrB,KAAKe,MAAMM,KAAMC,eAAgBtB,KAAKe,MAAMO,eAAgBC,UAAWvB,KAAKuB,WAC5FJ,EAACK,EAAAA,CAAgBC,QAASzB,KAAKe,MAAMW,QAAQD,SACzCN,EAACQ,EAAAA,CACGC,IAAKA,IACD5B,KAAK6B,aAAeD,CAAAA,EAExBE,UAAW9B,KAAKe,MAAMe,UACtBZ,YAAalB,KAAKe,MAAMG,YACxBa,QAAS/B,KAAKe,MAAMgB,QACpBC,WAAYhC,KAAKgC,WACjBC,UAAWjC,KAAKkC,KAChBpC,KAAME,KAAKmC,YAAmB,KAC9BC,YAAapC,KAAKe,MAAMM,KAAKgB,IAAI,uBACjCC,UAAWtC,KAAKe,MAAMM,KAAKgB,IAAI,6BAC/BE,mBAAoBC,EAAOD,mBAC3BE,aAAcD,EAAOE,cACrBC,iBAAkBH,EAAOI,kBACzBC,gBAAiB7C,KAAKe,MAAM8B,oBAQ5C1B,EAACC,EAAAA,CAAaC,KAAMrB,KAAKe,MAAMM,KAAMC,eAAgBtB,KAAKe,MAAMO,eAAgBC,UAAWvB,KAAKuB,WAC5FJ,EAAC2B,EAAAA,wUAAAA,CAAAA,CACGlB,IAAKA,IACD5B,KAAK6B,aAAeD,CAAAA,GAEpB5B,KAAKe,OAAK,CACdgC,SAAU/C,KAAKG,OACf6C,SAAUhD,KAAKiD,SACfC,UAAWlD,KAAKkD,UAChBC,cAAenD,KAAKe,MAAMoC,iBAI1C,+BAvGAC,EAAApD,KAAQqD,kBAAiBnD,GACjBF,KAAKe,MAAMsC,eACJ,IAAIC,SAAQ,CAACC,EAASC,KACzBxD,KAAKe,MAAMsC,eAAeE,EAASC,EAAQtD,EAAAA,IAG/CF,KAAKe,MAAM0C,QACJzD,KAAKe,MAAM0C,QAAQnD,mBAD9B,IASJ8C,OAAO9C,eAAc,KACjBN,KAAK0D,UAAU,WAGX1D,KAAKe,MAAM4C,MACJL,QAAQC,UAGZvD,KAAKqD,eAAerD,KAAKE,MAC3BK,MAAMoD,IACH,MAAMC,EAAa,CAAEC,UAAWF,EAAME,UAAWC,aAAcH,EAAMG,cAErE,OADA9D,KAAKiD,SAASW,GACPN,QAAQC,SAAO,IAEzB3C,OAAMmD,IACH/D,KAAK0D,WAAUK,aAAAA,EAAAA,EAAOC,UAAW,SAC7BhE,KAAKe,MAAMgB,SAAS/B,KAAKiE,YAAY,IAAIC,EAAmB,QAASH,GAAAA,OAmBrFX,EAAApD,KAAOkD,aAAYnC,GACRI,EAACgD,EAAcpD,MAjE1BqC,EADS3D,EACKK,OAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ANCVInput.js","sources":["../../../../../src/components/ANCV/components/ANCVInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useState } from 'preact/hooks';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport LoadingWrapper from '../../internal/LoadingWrapper';\nimport InputText from '../../internal/FormFields/InputText';\nimport Field from '../../internal/FormFields/Field';\nimport useForm from '../../../utils/useForm';\nimport { ancvValidationRules } from '../validate';\nimport { ANCVDataState } from '../types';\nimport { UIElementProps } from '../../internal/UIElement/types';\n\nexport interface ANCVInputProps extends UIElementProps {\n ref?: any;\n showPayButton: boolean;\n onSubmit: () => void;\n}\n\ntype ANCVInputDataState = ANCVDataState;\n\nfunction ANCVInput({ showPayButton, payButton, onChange, onSubmit }: ANCVInputProps) {\n const { i18n } = useCoreContext();\n\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<ANCVInputDataState>({\n schema: ['beneficiaryId'],\n rules: ancvValidationRules\n });\n\n useEffect(() => {\n onChange({ data, errors, valid, isValid }, this);\n }, [data, valid, errors, isValid]);\n\n const [status, setStatus] = useState<string>('ready');\n\n this.setStatus = setStatus;\n this.showValidation = triggerValidation;\n\n return (\n <LoadingWrapper>\n <div className=\"adyen-checkout__ancv\">\n <p className=\"adyen-checkout-form-instruction\">{i18n.get('ancv.form.instruction')}</p>\n <Field\n errorMessage={!!errors.beneficiaryId && i18n.get(errors.beneficiaryId.errorMessage)}\n label={i18n.get('ancv.input.label')}\n isValid={valid.beneficiaryId}\n name={'beneficiaryId'}\n >\n <InputText\n value={data.beneficiaryId}\n name={'beneficiaryId'}\n spellcheck={true}\n required={true}\n onInput={handleChangeFor('beneficiaryId', 'input')}\n onBlur={handleChangeFor('beneficiaryId', 'blur')}\n />\n </Field>\n {showPayButton && payButton({ status, label: i18n.get('confirmPurchase'), onClick: onSubmit })}\n </div>\n </LoadingWrapper>\n );\n}\n\nANCVInput.defaultProps = {};\n\nexport default ANCVInput;\n"],"names":["ANCVInput","showPayButton","payButton","onChange","onSubmit","i18n","useCoreContext","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","schema","rules","ancvValidationRules","useEffect","this","status","setStatus","useState","showValidation","h","LoadingWrapper","div","className","p","get","Field","errorMessage","beneficiaryId","label","name","InputText","value","spellcheck","required","onInput","onBlur","onClick","defaultProps"],"mappings":"yfAmBA,SAASA,GAAUC,cAAEA,EAAaC,UAAEA,EAASC,SAAEA,EAAQC,SAAEA,IACrD,MAAMC,KAAEA,GAASC,KAEXC,gBAAEA,EAAeC,kBAAEA,EAAiBC,KAAEA,EAAIC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GAAYC,EAA4B,CACrGC,OAAQ,CAAC,iBACTC,MAAOC,IAGXC,GAAU,
|
|
1
|
+
{"version":3,"file":"ANCVInput.js","sources":["../../../../../src/components/ANCV/components/ANCVInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useState } from 'preact/hooks';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport LoadingWrapper from '../../internal/LoadingWrapper';\nimport InputText from '../../internal/FormFields/InputText';\nimport Field from '../../internal/FormFields/Field';\nimport useForm from '../../../utils/useForm';\nimport { ancvValidationRules } from '../validate';\nimport { ANCVDataState } from '../types';\nimport { UIElementProps } from '../../internal/UIElement/types';\n\nexport interface ANCVInputProps extends UIElementProps {\n ref?: any;\n showPayButton: boolean;\n onSubmit: () => void;\n}\n\ntype ANCVInputDataState = ANCVDataState;\n\nfunction ANCVInput({ showPayButton, payButton, onChange, onSubmit }: ANCVInputProps) {\n const { i18n } = useCoreContext();\n\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<ANCVInputDataState>({\n schema: ['beneficiaryId'],\n rules: ancvValidationRules\n });\n\n useEffect(() => {\n // @ts-ignore TODO: Fix this. Preact component types should not inherit from UIElementProps.\n onChange({ data, errors, valid, isValid }, this);\n }, [data, valid, errors, isValid]);\n\n const [status, setStatus] = useState<string>('ready');\n\n this.setStatus = setStatus;\n this.showValidation = triggerValidation;\n\n return (\n <LoadingWrapper>\n <div className=\"adyen-checkout__ancv\">\n <p className=\"adyen-checkout-form-instruction\">{i18n.get('ancv.form.instruction')}</p>\n <Field\n errorMessage={!!errors.beneficiaryId && i18n.get(errors.beneficiaryId.errorMessage)}\n label={i18n.get('ancv.input.label')}\n isValid={valid.beneficiaryId}\n name={'beneficiaryId'}\n >\n <InputText\n value={data.beneficiaryId}\n name={'beneficiaryId'}\n spellcheck={true}\n required={true}\n onInput={handleChangeFor('beneficiaryId', 'input')}\n onBlur={handleChangeFor('beneficiaryId', 'blur')}\n />\n </Field>\n {showPayButton && payButton({ status, label: i18n.get('confirmPurchase'), onClick: onSubmit })}\n </div>\n </LoadingWrapper>\n );\n}\n\nANCVInput.defaultProps = {};\n\nexport default ANCVInput;\n"],"names":["ANCVInput","showPayButton","payButton","onChange","onSubmit","i18n","useCoreContext","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","schema","rules","ancvValidationRules","useEffect","this","status","setStatus","useState","showValidation","h","LoadingWrapper","div","className","p","get","Field","errorMessage","beneficiaryId","label","name","InputText","value","spellcheck","required","onInput","onBlur","onClick","defaultProps"],"mappings":"yfAmBA,SAASA,GAAUC,cAAEA,EAAaC,UAAEA,EAASC,SAAEA,EAAQC,SAAEA,IACrD,MAAMC,KAAEA,GAASC,KAEXC,gBAAEA,EAAeC,kBAAEA,EAAiBC,KAAEA,EAAIC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GAAYC,EAA4B,CACrGC,OAAQ,CAAC,iBACTC,MAAOC,IAGXC,GAAU,KAENd,EAAS,CAAEM,OAAME,SAAQD,QAAOE,WAAWM,KAAI,GAChD,CAACT,EAAMC,EAAOC,EAAQC,IAEzB,MAAOO,EAAQC,GAAaC,EAAiB,SAK7C,OAHAH,KAAKE,UAAYA,EACjBF,KAAKI,eAAiBd,EAGlBe,EAACC,OACGD,EAACE,MAAAA,CAAIC,UAAU,wBACXH,EAACI,IAAAA,CAAED,UAAU,mCAAmCrB,EAAKuB,IAAI,0BACzDL,EAACM,EAAAA,CACGC,eAAgBnB,EAAOoB,eAAiB1B,EAAKuB,IAAIjB,EAAOoB,cAAcD,cACtEE,MAAO3B,EAAKuB,IAAI,oBAChBhB,QAASF,EAAMqB,cACfE,KAAM,iBAENV,EAACW,EAAAA,CACGC,MAAO1B,EAAKsB,cACZE,KAAM,gBACNG,YAAY,EACZC,UAAU,EACVC,QAAS/B,EAAgB,gBAAiB,SAC1CgC,OAAQhC,EAAgB,gBAAiB,WAGhDN,GAAiBC,EAAU,CAAEiB,SAAQa,MAAO3B,EAAKuB,IAAI,mBAAoBY,QAASpC,KAInG,CAEAJ,EAAUyC,aAAe,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useState as r,useRef as t,useEffect as o}from"../../../../external/preact/hooks/dist/hooks.js";import a from"../../../../external/classnames/index.js";import n from"./components/AchSecuredFields.js";import l from"../../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import s from"../../../internal/Address/Address.js";import d from"../../../internal/FormFields/Field/Field.js";import i from"../../../internal/LoadingWrapper/LoadingWrapper.js";import c from"./defaultProps.js";import u from"./defaultStyles.js";import{useCoreContext as m}from"../../../../core/Context/CoreProvider.js";import h from"../../../internal/StoreDetails/StoreDetails.js";import p from"../../../internal/FormFields/InputText.js";import f from"../../../internal/FormInstruction/FormInstruction.js";function y(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function N(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),o.forEach((function(r){y(e,r,t[r])}))}return e}function g(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t.push.apply(t,o)}return t}(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})),e}function b(e,r=!1){return!r||!!e&&"string"==typeof e&&e.trim().length>0}function F(c){const{i18n:y}=m(),F=c.hasHolderName&&(!!c.holderName||!!c.data.holderName),[O,_]=r({}),[v,w]=r(N({},c.holderNameRequired&&{holderName:F})),[C,P]=r(N({},c.hasHolderName&&{holderName:c.holderName||c.data.holderName})),[S,x]=r(c.billingAddressRequired?c.data.billingAddress:null),[A,R]=r(!1),[k,q]=r(""),[V,E]=r(!1),D=e=>{x(N({},S,e.data)),w(g(N({},v),{billingAddress:e.isValid}))},
|
|
1
|
+
import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useState as r,useRef as t,useEffect as o}from"../../../../external/preact/hooks/dist/hooks.js";import a from"../../../../external/classnames/index.js";import n from"./components/AchSecuredFields.js";import l from"../../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import s from"../../../internal/Address/Address.js";import d from"../../../internal/FormFields/Field/Field.js";import i from"../../../internal/LoadingWrapper/LoadingWrapper.js";import c from"./defaultProps.js";import u from"./defaultStyles.js";import{useCoreContext as m}from"../../../../core/Context/CoreProvider.js";import h from"../../../internal/StoreDetails/StoreDetails.js";import p from"../../../internal/FormFields/InputText.js";import f from"../../../internal/FormInstruction/FormInstruction.js";function y(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function N(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),o.forEach((function(r){y(e,r,t[r])}))}return e}function g(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t.push.apply(t,o)}return t}(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})),e}function b(e,r=!1){return!r||!!e&&"string"==typeof e&&e.trim().length>0}function F(c){const{i18n:y}=m(),F=c.hasHolderName&&(!!c.holderName||!!c.data.holderName),[O,_]=r({}),[v,w]=r(N({},c.holderNameRequired&&{holderName:F})),[C,P]=r(N({},c.hasHolderName&&{holderName:c.holderName||c.data.holderName})),[S,x]=r(c.billingAddressRequired?c.data.billingAddress:null),[A,R]=r(!1),[k,q]=r(""),[V,E]=r(!1),D=e=>{x(N({},S,e.data)),w(g(N({},v),{billingAddress:e.isValid}))},H=e=>{const r=e.target.value;P(g(N({},C),{holderName:r})),_(g(N({},O),{holderName:!!c.holderNameRequired&&!b(r)})),w(g(N({},v),{holderName:!c.holderNameRequired||b(r,c.holderNameRequired)}))},I=t(null),B=t(null),L=e=>{B.current=e},[M,W]=r("ready"),T=t({});var K;Object.keys(T.current).length||(null===(K=c.setComponentRef)||void 0===K||K.call(c,T.current));return T.current.showValidation=()=>{I.current.showValidation(),c.holderNameRequired&&!v.holderName&&_(g(N({},O),{holderName:!0})),B.current&&B.current.showValidation()},T.current.setStatus=W,o((()=>(this.setFocusOn=I.current.setFocusOn,this.updateStyles=I.current.updateStyles,()=>{I.current.destroy()})),[]),o((()=>{const e=b(C.holderName,c.holderNameRequired),r=A,t=!c.billingAddressRequired||Boolean(v.billingAddress),o=r&&e&&t;c.onChange({data:C,isValid:o,billingAddress:S,storePaymentMethod:V})}),[C,v,O,V]),e("div",{className:"adyen-checkout__ach"},e(f,null),e(l,g(N({ref:I},j(c)),{styles:N({},u,c.styles),onChange:e=>{const r=e,t=r.autoCompleteName?r.autoCompleteName:C.holderName;P(g(N({},C,r.data),{holderName:t})),_(N({},O,r.errors)),w(g(N({},v,r.valid),{holderName:!c.holderNameRequired||b(t,c.holderNameRequired)})),R(r.isSfpValid)},onFocus:e=>{const r=!0===e.focus;q(e.currentFocusObject),r?c.onFocus(e):c.onBlur(e)},render:({setRootNode:r,setFocusOn:t},o)=>{var l;return e("div",{ref:r,className:"adyen-checkout__ach-input sf-input__wrapper"},e(i,{status:o.status},e("div",{className:a(["adyen-checkout__fieldset","adyen-checkout__fieldset--ach"])},e("div",{className:"adyen-checkout__fieldset__title"},y.get("ach.bankAccount")),c.hasHolderName&&e(d,{label:y.get("ach.accountHolderNameField.title"),className:"adyen-checkout__pm__holderName",errorMessage:!!O.holderName&&y.get("ach.accountHolderNameField.invalid"),showContextualElement:c.showContextualElement,contextualText:y.get("ach.accountHolderNameField.contextualText"),isValid:!!v.holderName,name:"holderName"},e(p,{className:"adyen-checkout__pm__holderName__input adyen-checkout__input",placeholder:null==c||null===(l=c.placeholders)||void 0===l?void 0:l.holderName,value:C.holderName,required:c.holderNameRequired,onInput:H})),e(n,{focusedElement:k,onFocusField:t,errors:o.errors,valid:o.valid})),c.billingAddressRequired&&e(s,{label:"billingAddress",data:S,onChange:D,allowedCountries:c.billingAddressAllowedCountries,requiredFields:c.billingAddressRequiredFields,setComponentRef:L}),c.enableStoreDetails&&e(h,{onChange:E})))}})),c.showPayButton&&c.payButton({status:M,label:y.get("confirmPurchase")}))}F.defaultProps=c;const j=e=>({autoFocus:e.autoFocus,clientKey:e.clientKey,i18n:e.i18n,keypadFix:e.keypadFix,legacyInputMode:e.legacyInputMode,loadingContext:e.loadingContext,onAllValid:e.onAllValid,onConfigSuccess:e.onConfigSuccess,onError:e.onError,onFieldValid:e.onFieldValid,onFocus:e.onFocus,onLoad:e.onLoad,showWarnings:e.showWarnings,styles:e.styles,type:e.type,forceCompat:e.forceCompat,resources:e.resources,placeholders:e.placeholders});export{F as default};
|
|
2
2
|
//# sourceMappingURL=AchInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AchInput.js","sources":["../../../../../../src/components/Ach/components/AchInput/AchInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef } from 'preact/hooks';\nimport classNames from 'classnames';\nimport AchSecuredFields from './components/AchSecuredFields';\nimport SecuredFieldsProvider from '../../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport Address from '../../../internal/Address';\nimport Field from '../../../internal/FormFields/Field';\nimport LoadingWrapper from '../../../internal/LoadingWrapper/LoadingWrapper';\nimport defaultProps from './defaultProps';\nimport defaultStyles from './defaultStyles';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport './AchInput.scss';\nimport { ACHInputDataState, ACHInputProps, ACHInputStateError, ACHInputStateValid } from './types';\nimport StoreDetails from '../../../internal/StoreDetails';\nimport InputText from '../../../internal/FormFields/InputText';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\n\nfunction validateHolderName(holderName, holderNameRequired = false) {\n if (holderNameRequired) {\n return !!holderName && typeof holderName === 'string' && holderName.trim().length > 0;\n }\n return true;\n}\n\nfunction AchInput(props: ACHInputProps) {\n const { i18n } = useCoreContext();\n\n const holderNameIsValid = props.hasHolderName && (!!props.holderName || !!props.data.holderName);\n\n const [errors, setErrors] = useState<ACHInputStateError>({});\n const [valid, setValid] = useState<ACHInputStateValid>({\n ...(props.holderNameRequired && { holderName: holderNameIsValid })\n });\n const [data, setData] = useState<ACHInputDataState>({\n ...(props.hasHolderName && { holderName: props.holderName || props.data.holderName })\n });\n\n const [billingAddress, setBillingAddress] = useState(props.billingAddressRequired ? props.data.billingAddress : null);\n const [isSfpValid, setIsSfpValid] = useState(false);\n const [focusedElement, setFocusedElement] = useState('');\n const [storePaymentMethod, setStorePaymentMethod] = useState(false);\n\n const handleFocus = e => {\n const isFocused = e.focus === true;\n\n setFocusedElement(e.currentFocusObject);\n\n if (isFocused) {\n props.onFocus(e);\n } else {\n props.onBlur(e);\n }\n };\n\n const handleAddress = address => {\n setBillingAddress({ ...billingAddress, ...address.data });\n setValid({ ...valid, billingAddress: address.isValid });\n };\n\n const handleHolderName = e => {\n const holderName = e.target.value;\n\n setData({ ...data, holderName });\n setErrors({ ...errors, holderName: props.holderNameRequired ? !validateHolderName(holderName) : false });\n setValid({ ...valid, holderName: props.holderNameRequired ? validateHolderName(holderName, props.holderNameRequired) : true });\n };\n\n const handleSecuredFieldsChange = newState => {\n const sfState = newState;\n\n const tempHolderName = sfState.autoCompleteName ? sfState.autoCompleteName : data.holderName;\n\n setData({ ...data, ...sfState.data, holderName: tempHolderName });\n setErrors({ ...errors, ...sfState.errors });\n setValid({\n ...valid,\n ...sfState.valid,\n holderName: props.holderNameRequired ? validateHolderName(tempHolderName, props.holderNameRequired) : true\n });\n\n setIsSfpValid(sfState.isSfpValid);\n };\n\n // Refs\n const sfp = useRef(null);\n const billingAddressRef = useRef(null);\n const setAddressRef = ref => {\n billingAddressRef.current = ref;\n };\n\n const [status, setStatus] = useState('ready');\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const achRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(achRef.current).length) {\n props.setComponentRef?.(achRef.current);\n }\n\n achRef.current.showValidation = () => {\n // Validate SecuredFields\n sfp.current.showValidation();\n\n // Validate holderName\n if (props.holderNameRequired && !valid.holderName) {\n setErrors({ ...errors, holderName: true });\n }\n\n // Validate Address\n if (billingAddressRef.current) billingAddressRef.current.showValidation();\n };\n\n achRef.current.setStatus = setStatus;\n\n useEffect(() => {\n this.setFocusOn = sfp.current.setFocusOn;\n this.updateStyles = sfp.current.updateStyles;\n\n return () => {\n sfp.current.destroy();\n };\n }, []);\n\n // Run when state.data, -errors or -valid change\n useEffect(() => {\n // Validate whole component i.e holderName + securedFields + address\n const holderNameValid = validateHolderName(data.holderName, props.holderNameRequired);\n const sfpValid = isSfpValid;\n const billingAddressValid = props.billingAddressRequired ? Boolean(valid.billingAddress) : true;\n\n const isValid = sfpValid && holderNameValid && billingAddressValid;\n\n props.onChange({ data, isValid, billingAddress, storePaymentMethod });\n }, [data, valid, errors, storePaymentMethod]);\n\n return (\n <div className=\"adyen-checkout__ach\">\n {props.showFormInstruction && <FormInstruction />}\n <SecuredFieldsProvider\n ref={sfp}\n {...extractPropsForSFP(props)}\n styles={{ ...defaultStyles, ...props.styles }}\n onChange={handleSecuredFieldsChange}\n onFocus={handleFocus}\n render={({ setRootNode, setFocusOn }, sfpState) => (\n <div ref={setRootNode} className=\"adyen-checkout__ach-input sf-input__wrapper\">\n <LoadingWrapper status={sfpState.status}>\n <div className={classNames(['adyen-checkout__fieldset', 'adyen-checkout__fieldset--ach'])}>\n {<div className=\"adyen-checkout__fieldset__title\">{i18n.get('ach.bankAccount')}</div>}\n\n {props.hasHolderName && (\n <Field\n label={i18n.get('ach.accountHolderNameField.title')}\n className={'adyen-checkout__pm__holderName'}\n errorMessage={!!errors.holderName && i18n.get('ach.accountHolderNameField.invalid')}\n showContextualElement={props.showContextualElement}\n contextualText={i18n.get('ach.accountHolderNameField.contextualText')}\n isValid={!!valid.holderName}\n name={'holderName'}\n >\n <InputText\n className=\"adyen-checkout__pm__holderName__input adyen-checkout__input\"\n placeholder={props?.placeholders?.holderName}\n value={data.holderName}\n required={props.holderNameRequired}\n onInput={handleHolderName}\n />\n </Field>\n )}\n\n <AchSecuredFields\n focusedElement={focusedElement}\n onFocusField={setFocusOn}\n errors={sfpState.errors}\n valid={sfpState.valid}\n />\n </div>\n\n {props.billingAddressRequired && (\n <Address\n label=\"billingAddress\"\n data={billingAddress}\n onChange={handleAddress}\n allowedCountries={props.billingAddressAllowedCountries}\n requiredFields={props.billingAddressRequiredFields}\n setComponentRef={setAddressRef}\n />\n )}\n\n {props.enableStoreDetails && <StoreDetails onChange={setStorePaymentMethod} />}\n </LoadingWrapper>\n </div>\n )}\n />\n {props.showPayButton && props.payButton({ status, label: i18n.get('confirmPurchase') })}\n </div>\n );\n}\n\nAchInput.defaultProps = defaultProps;\n\nexport default AchInput;\n\nconst extractPropsForSFP = (props: ACHInputProps) => {\n return {\n autoFocus: props.autoFocus,\n clientKey: props.clientKey,\n i18n: props.i18n,\n keypadFix: props.keypadFix,\n legacyInputMode: props.legacyInputMode,\n loadingContext: props.loadingContext,\n onAllValid: props.onAllValid,\n onConfigSuccess: props.onConfigSuccess,\n onError: props.onError,\n onFieldValid: props.onFieldValid,\n onFocus: props.onFocus,\n onLoad: props.onLoad,\n showWarnings: props.showWarnings,\n styles: props.styles,\n type: props.type,\n forceCompat: props.forceCompat,\n resources: props.resources,\n placeholders: props.placeholders\n };\n};\n"],"names":["validateHolderName","holderName","holderNameRequired","trim","length","AchInput","props","i18n","useCoreContext","holderNameIsValid","hasHolderName","data","errors","setErrors","useState","valid","setValid","_object_spread","setData","billingAddress","setBillingAddress","billingAddressRequired","isSfpValid","setIsSfpValid","focusedElement","setFocusedElement","storePaymentMethod","setStorePaymentMethod","handleAddress","address","_object_spread_props","isValid","handleHolderName","e","target","value","sfp","useRef","billingAddressRef","setAddressRef","ref","current","status","setStatus","achRef","Object","keys","setComponentRef","showValidation","useEffect","this","setFocusOn","updateStyles","destroy","holderNameValid","sfpValid","billingAddressValid","Boolean","onChange","h","div","className","showFormInstruction","FormInstruction","SecuredFieldsProvider","extractPropsForSFP","styles","defaultStyles","newState","sfState","tempHolderName","autoCompleteName","onFocus","isFocused","focus","currentFocusObject","onBlur","render","setRootNode","sfpState","LoadingWrapper","classNames","get","Field","label","errorMessage","showContextualElement","contextualText","name","InputText","placeholder","placeholders","required","onInput","AchSecuredFields","onFocusField","Address","allowedCountries","billingAddressAllowedCountries","requiredFields","billingAddressRequiredFields","enableStoreDetails","StoreDetails","showPayButton","payButton","defaultProps","autoFocus","clientKey","keypadFix","legacyInputMode","loadingContext","onAllValid","onConfigSuccess","onError","onFieldValid","onLoad","showWarnings","type","forceCompat","resources"],"mappings":"+oDAkBA,SAASA,EAAmBC,EAAYC,GAAqB,GACzD,OAAIA,KACSD,GAAoC,iBAAfA,GAA2BA,EAAWE,OAAOC,OAAS,CAG5F,CAEA,SAASC,EAASC,GACd,MAAMC,KAAEA,GAASC,IAEXC,EAAoBH,EAAMI,kBAAoBJ,EAAML,cAAgBK,EAAMK,KAAKV,aAE9EW,EAAQC,GAAaC,EAA6B,CAAC,IACnDC,EAAOC,GAAYF,EAA6BG,EAC/CX,CAAAA,EAAAA,EAAMJ,oBAAsB,CAAED,WAAYQ,MAE3CE,EAAMO,GAAWJ,EAA4BG,EAC5CX,CAAAA,EAAAA,EAAMI,eAAiB,CAAET,WAAYK,EAAML,YAAcK,EAAMK,KAAKV,eAGrEkB,EAAgBC,GAAqBN,EAASR,EAAMe,uBAAyBf,EAAMK,KAAKQ,eAAiB,OACzGG,EAAYC,GAAiBT,GAAS,IACtCU,EAAgBC,GAAqBX,EAAS,KAC9CY,EAAoBC,GAAyBb,GAAS,GAcvDc,EAAgBC,IAClBT,EAAkBH,EAAA,CAAA,EAAKE,EAAmBU,EAAQlB,OAClDK,EAASc,EAAKf,EAAAA,CAAAA,EAAAA,GAAAA,CAAOI,eAAgBU,EAAQE,YAG3CC,EAAmBC,IACrB,MAAMhC,EAAagC,EAAEC,OAAOC,MAE5BjB,EAAQY,EAAKnB,EAAAA,CAAAA,EAAAA,GAAAA,CAAMV,gBACnBY,EAAUiB,EAAKlB,EAAAA,CAAAA,EAAAA,GAAAA,CAAQX,aAAYK,EAAMJ,qBAAsBF,EAAmBC,MAClFe,EAASc,EAAKf,EAAAA,CAAAA,EAAAA,GAAAA,CAAOd,YAAYK,EAAMJ,oBAAqBF,EAAmBC,EAAYK,EAAMJ,wBAoB/FkC,EAAMC,EAAO,MACbC,EAAoBD,EAAO,MAC3BE,EAAgBC,IAClBF,EAAkBG,QAAUD,CAAAA,GAGzBE,EAAQC,GAAa7B,EAAS,SAG/B8B,EAASP,EAA4B,CAAA,GAGvC/B,IAAAA,EADCuC,OAAOC,KAAKF,EAAOH,SAASrC,SACR,QAArBE,EAAAA,EAAMyC,2BAANzC,GAAAA,EAAAA,KAAAA,EAAwBsC,EAAOH,UAuCnC,OApCAG,EAAOH,QAAQO,eAAiB,KAE5BZ,EAAIK,QAAQO,iBAGR1C,EAAMJ,qBAAuBa,EAAMd,YACnCY,EAAUiB,EAAKlB,EAAAA,CAAAA,EAAAA,GAAAA,CAAQX,YAAY,KAInCqC,EAAkBG,SAASH,EAAkBG,QAAQO,gBAAc,EAG3EJ,EAAOH,QAAQE,UAAYA,EAE3BM,GAAU,KACNC,KAAKC,WAAaf,EAAIK,QAAQU,WAC9BD,KAAKE,aAAehB,EAAIK,QAAQW,aAEzB,KACHhB,EAAIK,QAAQY,SAAO,IAExB,IAGHJ,GAAU,KAEN,MAAMK,EAAkBtD,EAAmBW,EAAKV,WAAYK,EAAMJ,oBAC5DqD,EAAWjC,EACXkC,GAAsBlD,EAAMe,wBAAyBoC,QAAQ1C,EAAMI,gBAEnEY,EAAUwB,GAAYD,GAAmBE,EAE/ClD,EAAMoD,SAAS,CAAE/C,OAAMoB,UAASZ,iBAAgBO,sBAAmB,GACpE,CAACf,EAAMI,EAAOH,EAAQc,IAGrBiC,EAACC,MAAAA,CAAIC,UAAU,uBACVvD,EAAMwD,qBAAuBH,EAACI,EAAAA,MAC/BJ,EAACK,EAAAA,EAAAA,EAAAA,CACGxB,IAAKJ,GACD6B,EAAmB3D,IAAAA,CACvB4D,OAAQjD,EAAA,CAAA,EAAKkD,EAAkB7D,EAAM4D,QACrCR,SA3EsBU,IAC9B,MAAMC,EAAUD,EAEVE,EAAiBD,EAAQE,iBAAmBF,EAAQE,iBAAmB5D,EAAKV,WAElFiB,EAAQY,EAAAb,EAAA,CAAA,EAAKN,EAAS0D,EAAQ1D,MAAI,CAAEV,WAAYqE,KAChDzD,EAAUI,EAAA,CAAA,EAAKL,EAAWyD,EAAQzD,SAClCI,EAASc,EAAAb,EAAA,CAAA,EACFF,EACAsD,EAAQtD,OAAK,CAChBd,YAAYK,EAAMJ,oBAAqBF,EAAmBsE,EAAgBhE,EAAMJ,uBAGpFqB,EAAc8C,EAAQ/C,WAAU,EA+DxBkD,QArGQvC,IAChB,MAAMwC,GAAwB,IAAZxC,EAAEyC,MAEpBjD,EAAkBQ,EAAE0C,oBAEhBF,EACAnE,EAAMkE,QAAQvC,GAEd3B,EAAMsE,OAAO3C,EACjB,EA6FQ4C,OAAQ,EAAGC,cAAa3B,cAAc4B,KAkBGzE,IAAAA,SAjBrCqD,EAACC,MAAAA,CAAIpB,IAAKsC,EAAajB,UAAU,+CAC7BF,EAACqB,EAAAA,CAAetC,OAAQqC,EAASrC,QAC7BiB,EAACC,MAAAA,CAAIC,UAAWoB,EAAW,CAAC,2BAA4B,mCACnDtB,EAACC,MAAAA,CAAIC,UAAU,mCAAmCtD,EAAK2E,IAAI,oBAE3D5E,EAAMI,eACHiD,EAACwB,EAAAA,CACGC,MAAO7E,EAAK2E,IAAI,oCAChBrB,UAAW,iCACXwB,eAAgBzE,EAAOX,YAAcM,EAAK2E,IAAI,sCAC9CI,sBAAuBhF,EAAMgF,sBAC7BC,eAAgBhF,EAAK2E,IAAI,6CACzBnD,UAAWhB,EAAMd,WACjBuF,KAAM,cAEN7B,EAAC8B,EAAAA,CACG5B,UAAU,8DACV6B,YAAapF,SAAmB,QAAnBA,EAAAA,EAAOqF,oBAAPrF,IAAAA,OAAAA,EAAAA,EAAqBL,WAClCkC,MAAOxB,EAAKV,WACZ2F,SAAUtF,EAAMJ,mBAChB2F,QAAS7D,KAKrB2B,EAACmC,EAAAA,CACGtE,eAAgBA,EAChBuE,aAAc5C,EACdvC,OAAQmE,EAASnE,OACjBG,MAAOgE,EAAShE,SAIvBT,EAAMe,wBACHsC,EAACqC,EAAAA,CACGZ,MAAM,iBACNzE,KAAMQ,EACNuC,SAAU9B,EACVqE,iBAAkB3F,EAAM4F,+BACxBC,eAAgB7F,EAAM8F,6BACtBrD,gBAAiBR,IAIxBjC,EAAM+F,oBAAsB1C,EAAC2C,EAAAA,CAAa5C,SAAU/B,UAKpErB,EAAMiG,eAAiBjG,EAAMkG,UAAU,CAAE9D,SAAQ0C,MAAO7E,EAAK2E,IAAI,qBAG9E,CAEA7E,EAASoG,aAAeA,EAIxB,MAAMxC,EAAsB3D,IACjB,CACHoG,UAAWpG,EAAMoG,UACjBC,UAAWrG,EAAMqG,UACjBpG,KAAMD,EAAMC,KACZqG,UAAWtG,EAAMsG,UACjBC,gBAAiBvG,EAAMuG,gBACvBC,eAAgBxG,EAAMwG,eACtBC,WAAYzG,EAAMyG,WAClBC,gBAAiB1G,EAAM0G,gBACvBC,QAAS3G,EAAM2G,QACfC,aAAc5G,EAAM4G,aACpB1C,QAASlE,EAAMkE,QACf2C,OAAQ7G,EAAM6G,OACdC,aAAc9G,EAAM8G,aACpBlD,OAAQ5D,EAAM4D,OACdmD,KAAM/G,EAAM+G,KACZC,YAAahH,EAAMgH,YACnBC,UAAWjH,EAAMiH,UACjB5B,aAAcrF,EAAMqF"}
|
|
1
|
+
{"version":3,"file":"AchInput.js","sources":["../../../../../../src/components/Ach/components/AchInput/AchInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef } from 'preact/hooks';\nimport classNames from 'classnames';\nimport AchSecuredFields from './components/AchSecuredFields';\nimport SecuredFieldsProvider from '../../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport Address from '../../../internal/Address';\nimport Field from '../../../internal/FormFields/Field';\nimport LoadingWrapper from '../../../internal/LoadingWrapper/LoadingWrapper';\nimport defaultProps from './defaultProps';\nimport defaultStyles from './defaultStyles';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport './AchInput.scss';\nimport { ACHInputDataState, ACHInputProps, ACHInputStateError, ACHInputStateValid } from './types';\nimport StoreDetails from '../../../internal/StoreDetails';\nimport InputText from '../../../internal/FormFields/InputText';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\n\nfunction validateHolderName(holderName, holderNameRequired = false) {\n if (holderNameRequired) {\n return !!holderName && typeof holderName === 'string' && holderName.trim().length > 0;\n }\n return true;\n}\n\nfunction AchInput(props: ACHInputProps) {\n const { i18n } = useCoreContext();\n\n const holderNameIsValid = props.hasHolderName && (!!props.holderName || !!props.data.holderName);\n\n const [errors, setErrors] = useState<ACHInputStateError>({});\n const [valid, setValid] = useState<ACHInputStateValid>({\n ...(props.holderNameRequired && { holderName: holderNameIsValid })\n });\n const [data, setData] = useState<ACHInputDataState>({\n ...(props.hasHolderName && { holderName: props.holderName || props.data.holderName })\n });\n\n const [billingAddress, setBillingAddress] = useState(props.billingAddressRequired ? props.data.billingAddress : null);\n const [isSfpValid, setIsSfpValid] = useState(false);\n const [focusedElement, setFocusedElement] = useState('');\n const [storePaymentMethod, setStorePaymentMethod] = useState(false);\n\n const handleFocus = e => {\n const isFocused = e.focus === true;\n\n setFocusedElement(e.currentFocusObject);\n\n if (isFocused) {\n props.onFocus(e);\n } else {\n props.onBlur(e);\n }\n };\n\n const handleAddress = address => {\n setBillingAddress({ ...billingAddress, ...address.data });\n setValid({ ...valid, billingAddress: address.isValid });\n };\n\n const handleHolderName = e => {\n const holderName = e.target.value;\n\n setData({ ...data, holderName });\n setErrors({ ...errors, holderName: props.holderNameRequired ? !validateHolderName(holderName) : false });\n setValid({ ...valid, holderName: props.holderNameRequired ? validateHolderName(holderName, props.holderNameRequired) : true });\n };\n\n const handleSecuredFieldsChange = newState => {\n const sfState = newState;\n\n const tempHolderName = sfState.autoCompleteName ? sfState.autoCompleteName : data.holderName;\n\n setData({ ...data, ...sfState.data, holderName: tempHolderName });\n setErrors({ ...errors, ...sfState.errors });\n setValid({\n ...valid,\n ...sfState.valid,\n holderName: props.holderNameRequired ? validateHolderName(tempHolderName, props.holderNameRequired) : true\n });\n\n setIsSfpValid(sfState.isSfpValid);\n };\n\n // Refs\n const sfp = useRef(null);\n const billingAddressRef = useRef(null);\n const setAddressRef = ref => {\n billingAddressRef.current = ref;\n };\n\n const [status, setStatus] = useState('ready');\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const achRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(achRef.current).length) {\n props.setComponentRef?.(achRef.current);\n }\n\n achRef.current.showValidation = () => {\n // Validate SecuredFields\n sfp.current.showValidation();\n\n // Validate holderName\n if (props.holderNameRequired && !valid.holderName) {\n setErrors({ ...errors, holderName: true });\n }\n\n // Validate Address\n if (billingAddressRef.current) billingAddressRef.current.showValidation();\n };\n\n achRef.current.setStatus = setStatus;\n\n useEffect(() => {\n this.setFocusOn = sfp.current.setFocusOn;\n this.updateStyles = sfp.current.updateStyles;\n\n return () => {\n sfp.current.destroy();\n };\n }, []);\n\n // Run when state.data, -errors or -valid change\n useEffect(() => {\n // Validate whole component i.e holderName + securedFields + address\n const holderNameValid = validateHolderName(data.holderName, props.holderNameRequired);\n const sfpValid = isSfpValid;\n const billingAddressValid = props.billingAddressRequired ? Boolean(valid.billingAddress) : true;\n\n const isValid = sfpValid && holderNameValid && billingAddressValid;\n\n props.onChange({ data, isValid, billingAddress, storePaymentMethod });\n }, [data, valid, errors, storePaymentMethod]);\n\n return (\n <div className=\"adyen-checkout__ach\">\n <FormInstruction />\n\n <SecuredFieldsProvider\n ref={sfp}\n {...extractPropsForSFP(props)}\n styles={{ ...defaultStyles, ...props.styles }}\n onChange={handleSecuredFieldsChange}\n onFocus={handleFocus}\n render={({ setRootNode, setFocusOn }, sfpState) => (\n <div ref={setRootNode} className=\"adyen-checkout__ach-input sf-input__wrapper\">\n <LoadingWrapper status={sfpState.status}>\n <div className={classNames(['adyen-checkout__fieldset', 'adyen-checkout__fieldset--ach'])}>\n {<div className=\"adyen-checkout__fieldset__title\">{i18n.get('ach.bankAccount')}</div>}\n\n {props.hasHolderName && (\n <Field\n label={i18n.get('ach.accountHolderNameField.title')}\n className={'adyen-checkout__pm__holderName'}\n errorMessage={!!errors.holderName && i18n.get('ach.accountHolderNameField.invalid')}\n showContextualElement={props.showContextualElement}\n contextualText={i18n.get('ach.accountHolderNameField.contextualText')}\n isValid={!!valid.holderName}\n name={'holderName'}\n >\n <InputText\n className=\"adyen-checkout__pm__holderName__input adyen-checkout__input\"\n placeholder={props?.placeholders?.holderName}\n value={data.holderName}\n required={props.holderNameRequired}\n onInput={handleHolderName}\n />\n </Field>\n )}\n\n <AchSecuredFields\n focusedElement={focusedElement}\n onFocusField={setFocusOn}\n errors={sfpState.errors}\n valid={sfpState.valid}\n />\n </div>\n\n {props.billingAddressRequired && (\n <Address\n label=\"billingAddress\"\n data={billingAddress}\n onChange={handleAddress}\n allowedCountries={props.billingAddressAllowedCountries}\n requiredFields={props.billingAddressRequiredFields}\n setComponentRef={setAddressRef}\n />\n )}\n\n {props.enableStoreDetails && <StoreDetails onChange={setStorePaymentMethod} />}\n </LoadingWrapper>\n </div>\n )}\n />\n {props.showPayButton && props.payButton({ status, label: i18n.get('confirmPurchase') })}\n </div>\n );\n}\n\nAchInput.defaultProps = defaultProps;\n\nexport default AchInput;\n\nconst extractPropsForSFP = (props: ACHInputProps) => {\n return {\n autoFocus: props.autoFocus,\n clientKey: props.clientKey,\n i18n: props.i18n,\n keypadFix: props.keypadFix,\n legacyInputMode: props.legacyInputMode,\n loadingContext: props.loadingContext,\n onAllValid: props.onAllValid,\n onConfigSuccess: props.onConfigSuccess,\n onError: props.onError,\n onFieldValid: props.onFieldValid,\n onFocus: props.onFocus,\n onLoad: props.onLoad,\n showWarnings: props.showWarnings,\n styles: props.styles,\n type: props.type,\n forceCompat: props.forceCompat,\n resources: props.resources,\n placeholders: props.placeholders\n };\n};\n"],"names":["validateHolderName","holderName","holderNameRequired","trim","length","AchInput","props","i18n","useCoreContext","holderNameIsValid","hasHolderName","data","errors","setErrors","useState","valid","setValid","_object_spread","setData","billingAddress","setBillingAddress","billingAddressRequired","isSfpValid","setIsSfpValid","focusedElement","setFocusedElement","storePaymentMethod","setStorePaymentMethod","handleAddress","address","_object_spread_props","isValid","handleHolderName","e","target","value","sfp","useRef","billingAddressRef","setAddressRef","ref","current","status","setStatus","achRef","Object","keys","setComponentRef","showValidation","useEffect","this","setFocusOn","updateStyles","destroy","holderNameValid","sfpValid","billingAddressValid","Boolean","onChange","h","div","className","FormInstruction","SecuredFieldsProvider","extractPropsForSFP","styles","defaultStyles","newState","sfState","tempHolderName","autoCompleteName","onFocus","isFocused","focus","currentFocusObject","onBlur","render","setRootNode","sfpState","LoadingWrapper","classNames","get","Field","label","errorMessage","showContextualElement","contextualText","name","InputText","placeholder","placeholders","required","onInput","AchSecuredFields","onFocusField","Address","allowedCountries","billingAddressAllowedCountries","requiredFields","billingAddressRequiredFields","enableStoreDetails","StoreDetails","showPayButton","payButton","defaultProps","autoFocus","clientKey","keypadFix","legacyInputMode","loadingContext","onAllValid","onConfigSuccess","onError","onFieldValid","onLoad","showWarnings","type","forceCompat","resources"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e={type:"ach",hasHolderName:!0,holderNameRequired:!0,billingAddressRequired:!0,billingAddressAllowedCountries:["US","PR"],
|
|
1
|
+
var e={type:"ach",hasHolderName:!0,holderNameRequired:!0,billingAddressRequired:!0,billingAddressAllowedCountries:["US","PR"],showContextualElement:!0,onLoad:()=>{},onConfigSuccess:()=>{},onAllValid:()=>{},onFieldValid:()=>{},onError:()=>{},onBlur:()=>{},onFocus:()=>{},onChange:()=>{},holderName:"",data:{holderName:"",billingAddress:{}},styles:{},placeholders:{}};export{e as default};
|
|
2
2
|
//# sourceMappingURL=defaultProps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultProps.js","sources":["../../../../../../src/components/Ach/components/AchInput/defaultProps.ts"],"sourcesContent":["export default {\n type: 'ach',\n\n // Settings\n hasHolderName: true,\n holderNameRequired: true,\n billingAddressRequired: true,\n billingAddressAllowedCountries: ['US', 'PR'],\n
|
|
1
|
+
{"version":3,"file":"defaultProps.js","sources":["../../../../../../src/components/Ach/components/AchInput/defaultProps.ts"],"sourcesContent":["export default {\n type: 'ach',\n\n // Settings\n hasHolderName: true,\n holderNameRequired: true,\n billingAddressRequired: true,\n billingAddressAllowedCountries: ['US', 'PR'],\n showContextualElement: true,\n\n // Events\n onLoad: () => {},\n onConfigSuccess: () => {},\n onAllValid: () => {},\n onFieldValid: () => {},\n onError: () => {},\n onBlur: () => {},\n onFocus: () => {},\n onChange: () => {},\n\n // Values\n holderName: '',\n data: {\n holderName: '',\n billingAddress: {}\n },\n\n // Customization\n styles: {},\n placeholders: {}\n};\n"],"names":["defaultProps","type","hasHolderName","holderNameRequired","billingAddressRequired","billingAddressAllowedCountries","showContextualElement","onLoad","onConfigSuccess","onAllValid","onFieldValid","onError","onBlur","onFocus","onChange","holderName","data","billingAddress","styles","placeholders"],"mappings":"AAAA,IAAeA,EAAA,CACXC,KAAM,MAGNC,eAAe,EACfC,oBAAoB,EACpBC,wBAAwB,EACxBC,+BAAgC,CAAC,KAAM,MACvCC,uBAAuB,EAGvBC,OAAQ,OACRC,gBAAiB,OACjBC,WAAY,OACZC,aAAc,OACdC,QAAS,OACTC,OAAQ,OACRC,QAAS,OACTC,SAAU,OAGVC,WAAY,GACZC,KAAM,CACFD,WAAY,GACZE,eAAgB,CAAC,GAIrBC,OAAQ,CAAC,EACTC,aAAc,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"../helpers/OpenInvoiceContainer/OpenInvoiceContainer.js";import{TxVariants as t}from"../tx-variants.js";import{ALLOWED_COUNTRIES as r}from"./config.js";function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}class i extends e{formatProps(e){return o(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),o.forEach((function(t){n(e,t,r[t])}))}return e}({},super.formatProps(e)),{allowedCountries:e.countryCode?[e.countryCode]:r})}}n(i,"type",t.afterpay_b2b),n(i,"defaultProps",{onChange:()=>{},data:{companyDetails:{},personalDetails:{},billingAddress:{},deliveryAddress:{}},visibility:{companyDetails:"editable",personalDetails:"editable",billingAddress:"editable",deliveryAddress:"editable"}
|
|
1
|
+
import e from"../helpers/OpenInvoiceContainer/OpenInvoiceContainer.js";import{TxVariants as t}from"../tx-variants.js";import{ALLOWED_COUNTRIES as r}from"./config.js";function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}class i extends e{formatProps(e){return o(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),o.forEach((function(t){n(e,t,r[t])}))}return e}({},super.formatProps(e)),{allowedCountries:e.countryCode?[e.countryCode]:r})}}n(i,"type",t.afterpay_b2b),n(i,"defaultProps",{onChange:()=>{},data:{companyDetails:{},personalDetails:{},billingAddress:{},deliveryAddress:{}},visibility:{companyDetails:"editable",personalDetails:"editable",billingAddress:"editable",deliveryAddress:"editable"}});export{i as default};
|
|
2
2
|
//# sourceMappingURL=AfterPayB2B.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AfterPayB2B.js","sources":["../../../../src/components/AfterPay/AfterPayB2B.tsx"],"sourcesContent":["import OpenInvoiceContainer from '../helpers/OpenInvoiceContainer';\nimport { TxVariants } from '../tx-variants';\nimport { OpenInvoiceConfiguration } from '../helpers/OpenInvoiceContainer/types';\nimport { ALLOWED_COUNTRIES } from './config';\n\nexport default class AfterPayB2B extends OpenInvoiceContainer {\n public static type = TxVariants.afterpay_b2b;\n\n protected static defaultProps: Partial<OpenInvoiceConfiguration> = {\n onChange: () => {},\n data: { companyDetails: {}, personalDetails: {}, billingAddress: {}, deliveryAddress: {} },\n visibility: {\n companyDetails: 'editable',\n personalDetails: 'editable',\n billingAddress: 'editable',\n deliveryAddress: 'editable'\n }
|
|
1
|
+
{"version":3,"file":"AfterPayB2B.js","sources":["../../../../src/components/AfterPay/AfterPayB2B.tsx"],"sourcesContent":["import OpenInvoiceContainer from '../helpers/OpenInvoiceContainer';\nimport { TxVariants } from '../tx-variants';\nimport { OpenInvoiceConfiguration } from '../helpers/OpenInvoiceContainer/types';\nimport { ALLOWED_COUNTRIES } from './config';\n\nexport default class AfterPayB2B extends OpenInvoiceContainer {\n public static type = TxVariants.afterpay_b2b;\n\n protected static defaultProps: Partial<OpenInvoiceConfiguration> = {\n onChange: () => {},\n data: { companyDetails: {}, personalDetails: {}, billingAddress: {}, deliveryAddress: {} },\n visibility: {\n companyDetails: 'editable',\n personalDetails: 'editable',\n billingAddress: 'editable',\n deliveryAddress: 'editable'\n }\n };\n\n formatProps(props) {\n return {\n ...super.formatProps(props),\n allowedCountries: props.countryCode ? [props.countryCode] : ALLOWED_COUNTRIES\n };\n }\n}\n"],"names":["AfterPayB2B","OpenInvoiceContainer","formatProps","props","_object_spread_props","_object_spread","super","allowedCountries","countryCode","ALLOWED_COUNTRIES","_define_property","type","TxVariants","afterpay_b2b","defaultProps","onChange","data","companyDetails","personalDetails","billingAddress","deliveryAddress","visibility"],"mappings":"+oBAKe,MAAMA,UAAoBC,EAcrCC,WAAAA,CAAYC,GACR,OAAOC,wUAAAC,CAAA,CAAA,EACAC,MAAMJ,YAAYC,IAAAA,CACrBI,iBAAkBJ,EAAMK,YAAc,CAACL,EAAMK,aAAeC,GAEpE,EAlBAC,EADiBV,EACHW,OAAOC,EAAWC,cAEhCH,EAHiBV,EAGAc,eAAkD,CAC/DC,SAAU,OACVC,KAAM,CAAEC,eAAgB,CAAC,EAAGC,gBAAiB,CAAC,EAAGC,eAAgB,CAAC,EAAGC,gBAAiB,CAAC,GACvFC,WAAY,CACRJ,eAAgB,WAChBC,gBAAiB,WACjBC,eAAgB,WAChBC,gBAAiB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/BacsInput.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import n from"./components/BacsResult.js";import
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/BacsInput.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import n from"./components/BacsResult.js";import i from"../internal/PayButton/PayButton.js";import{TxVariants as s}from"../tx-variants.js";function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function p(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})))),o.forEach((function(e){a(t,e,r[e])}))}return t}function c(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);r.push.apply(r,o)}return r}(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})),t}class u extends e{formatData(){var t,e,r,o;return p({paymentMethod:p({type:u.type},(null===(t=this.state.data)||void 0===t?void 0:t.holderName)&&{holderName:this.state.data.holderName},(null===(e=this.state.data)||void 0===e?void 0:e.bankAccountNumber)&&{bankAccountNumber:this.state.data.bankAccountNumber},(null===(r=this.state.data)||void 0===r?void 0:r.bankLocationId)&&{bankLocationId:this.state.data.bankLocationId})},(null===(o=this.state.data)||void 0===o?void 0:o.shopperEmail)&&{shopperEmail:this.state.data.shopperEmail})}get isValid(){return!!this.state.isValid}render(){return t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.url?t(n,{ref:t=>{this.componentRef=t},icon:this.icon,url:this.props.url,paymentMethodType:this.props.paymentMethodType}):t(r,c(p({ref:t=>{this.componentRef=t}},this.props),{onChange:this.setState,payButton:this.payButton,onSubmit:this.submit})))}constructor(...e){super(...e),a(this,"payButton",(e=>t(i,p({amount:this.props.amount,onClick:this.submit},e))))}}a(u,"type",s.directdebit_GB);export{u as default};
|
|
2
2
|
//# sourceMappingURL=BacsDD.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BacsDD.js","sources":["../../../../src/components/BacsDD/BacsDD.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport BacsInput from './components/BacsInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport BacsResult from './components/BacsResult';\nimport PayButton from '../internal/PayButton';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\nimport { BacsElementData } from './types';\n\nclass BacsElement extends UIElement<VoucherConfiguration> {\n public static type = TxVariants.directdebit_GB;\n\n
|
|
1
|
+
{"version":3,"file":"BacsDD.js","sources":["../../../../src/components/BacsDD/BacsDD.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport BacsInput from './components/BacsInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport BacsResult from './components/BacsResult';\nimport PayButton from '../internal/PayButton';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\nimport { BacsElementData } from './types';\n\nclass BacsElement extends UIElement<VoucherConfiguration> {\n public static type = TxVariants.directdebit_GB;\n\n formatData(): BacsElementData {\n return {\n paymentMethod: {\n type: BacsElement.type,\n ...(this.state.data?.holderName && { holderName: this.state.data.holderName }),\n ...(this.state.data?.bankAccountNumber && { bankAccountNumber: this.state.data.bankAccountNumber }),\n ...(this.state.data?.bankLocationId && { bankLocationId: this.state.data.bankLocationId })\n },\n ...(this.state.data?.shopperEmail && { shopperEmail: this.state.data.shopperEmail })\n };\n }\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n public payButton = props => {\n return <PayButton amount={this.props.amount} onClick={this.submit} {...props} />;\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.url ? (\n <BacsResult\n ref={ref => {\n this.componentRef = ref;\n }}\n icon={this.icon}\n url={this.props.url}\n paymentMethodType={this.props.paymentMethodType}\n />\n ) : (\n <BacsInput\n // @ts-ignore ref is internal from the Component\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onChange={this.setState}\n payButton={this.payButton}\n onSubmit={this.submit}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default BacsElement;\n"],"names":["BacsElement","UIElement","formatData","_this_state_data","_this_state_data1","_this_state_data2","_this_state_data3","_object_spread","paymentMethod","type","this","state","data","holderName","bankAccountNumber","bankLocationId","shopperEmail","isValid","render","h","CoreProvider","i18n","props","loadingContext","resources","url","BacsResult","ref","componentRef","icon","paymentMethodType","BacsInput","onChange","setState","payButton","onSubmit","submit","_define_property","PayButton","amount","onClick","TxVariants","directdebit_GB"],"mappings":"2qCAUA,MAAMA,UAAoBC,EAGtBC,UAAAA,GAIgB,IAAAC,EACAC,EACAC,EAEJC,EAPR,OAAOC,EAAA,CACHC,cAAeD,EAAA,CACXE,KAAMT,EAAYS,OACd,QAAAN,EAAAO,KAAKC,MAAMC,YAAX,IAAAT,OAAA,EAAAA,EAAiBU,aAAc,CAAEA,WAAYH,KAAKC,MAAMC,KAAKC,aAC7D,QAAAT,EAAAM,KAAKC,MAAMC,YAAX,IAAAR,OAAA,EAAAA,EAAiBU,oBAAqB,CAAEA,kBAAmBJ,KAAKC,MAAMC,KAAKE,oBAC3E,QAAAT,EAAAK,KAAKC,MAAMC,YAAX,IAAAP,OAAA,EAAAA,EAAiBU,iBAAkB,CAAEA,eAAgBL,KAAKC,MAAMC,KAAKG,mBAEzE,QAAAT,EAAAI,KAAKC,MAAMC,YAAX,IAAAN,OAAA,EAAAA,EAAiBU,eAAgB,CAAEA,aAAcN,KAAKC,MAAMC,KAAKI,cAE7E,CAEA,WAAIC,GACA,QAASP,KAAKC,MAAMM,OACxB,CAMAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMX,KAAKY,MAAMD,KAAME,eAAgBb,KAAKY,MAAMC,eAAgBC,UAAWd,KAAKc,WAC3Fd,KAAKY,MAAMG,IACRN,EAACO,EAAAA,CACGC,IAAKA,IACDjB,KAAKkB,aAAeD,CAAAA,EAExBE,KAAMnB,KAAKmB,KACXJ,IAAKf,KAAKY,MAAMG,IAChBK,kBAAmBpB,KAAKY,MAAMQ,oBAGlCX,EAACY,EAAAA,EAAAA,EAAAA,CAEGJ,IAAKA,IACDjB,KAAKkB,aAAeD,CAAAA,GAEpBjB,KAAKY,OAAK,CACdU,SAAUtB,KAAKuB,SACfC,UAAWxB,KAAKwB,UAChBC,SAAUzB,KAAK0B,UAKnC,+BA9BAC,EAAA3B,KAAOwB,aAAYZ,GACRH,EAACmB,EAAAA,EAAAA,CAAUC,OAAQ7B,KAAKY,MAAMiB,OAAQC,QAAS9B,KAAK0B,QAAYd,OAnB3Ee,EADErC,EACYS,OAAOgC,EAAWC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useState as a,useEffect as o}from"../../../external/preact/hooks/dist/hooks.js";import n from"../../../external/classnames/index.js";import{useCoreContext as t}from"../../../core/Context/CoreProvider.js";import r from"../../internal/FormFields/Field/Field.js";import c from"../../internal/FormFields/ConsentCheckbox/ConsentCheckbox.js";import{bacsFormatters as i,bacsValidationRules as s}from"./validate.js";import l from"../../../utils/useForm/useForm.js";import d from"../../../core/Context/useImage.js";import u from"../../internal/FormFields/InputText.js";import m from"../../internal/FormFields/InputEmail.js";import b from"../../internal/FormInstruction/FormInstruction.js";import{getErrorMessage as h}from"../../../utils/getErrorMessage.js";import{PREFIX as p}from"../../internal/Icon/constants.js";const k="enter-data",g="confirm-data";function f(f){var N,_;const{i18n:C}=t(),v=d(),{handleChangeFor:y,triggerValidation:I,data:x,valid:E,errors:F,isValid:j}=l({schema:["holderName","bankAccountNumber","bankLocationId","shopperEmail","amountConsentCheckbox","accountConsentCheckbox"],defaultData:f.data,formatters:i,rules:s}),[L,M]=a(k);this.setStatus=M,this.showValidation=I;return o((()=>{f.onChange({data:x,valid:E,errors:F,isValid:j})}),[x,E,F,j]),e("div",{className:n({"adyen-checkout__bacs":!0,"adyen-checkout__bacs--confirm":L===g||"loading"===L})},
|
|
1
|
+
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useState as a,useEffect as o}from"../../../external/preact/hooks/dist/hooks.js";import n from"../../../external/classnames/index.js";import{useCoreContext as t}from"../../../core/Context/CoreProvider.js";import r from"../../internal/FormFields/Field/Field.js";import c from"../../internal/FormFields/ConsentCheckbox/ConsentCheckbox.js";import{bacsFormatters as i,bacsValidationRules as s}from"./validate.js";import l from"../../../utils/useForm/useForm.js";import d from"../../../core/Context/useImage.js";import u from"../../internal/FormFields/InputText.js";import m from"../../internal/FormFields/InputEmail.js";import b from"../../internal/FormInstruction/FormInstruction.js";import{getErrorMessage as h}from"../../../utils/getErrorMessage.js";import{PREFIX as p}from"../../internal/Icon/constants.js";const k="enter-data",g="confirm-data";function f(f){var N,_;const{i18n:C}=t(),v=d(),{handleChangeFor:y,triggerValidation:I,data:x,valid:E,errors:F,isValid:j}=l({schema:["holderName","bankAccountNumber","bankLocationId","shopperEmail","amountConsentCheckbox","accountConsentCheckbox"],defaultData:f.data,formatters:i,rules:s}),[L,M]=a(k);this.setStatus=M,this.showValidation=I;return o((()=>{f.onChange({data:x,valid:E,errors:F,isValid:j})}),[x,E,F,j]),e("div",{className:n({"adyen-checkout__bacs":!0,"adyen-checkout__bacs--confirm":L===g||"loading"===L})},e(b,null),L==g&&e("div",{className:n({"adyen-checkout__bacs--edit":!0,"adyen-checkout__bacs--edit-dropin":f.isDropin})},e(u,{name:"bacsEdit",className:"adyen-checkout__bacs--edit-button",value:C.get("edit"),"aria-label":C.get("edit"),readonly:!0,onClick:()=>this.setStatus(k)})),e(r,{className:n({"adyen-checkout__bacs--holder-name":!0,"adyen-checkout__field--inactive":L===g||"loading"===L}),label:C.get("bacs.accountHolderName"),errorMessage:!!F.holderName&&C.get("bacs.accountHolderName.invalid"),isValid:E.holderName,name:"accountHolderName",i18n:C},e(u,{name:"bacs.accountHolderName",className:"adyen-checkout__bacs-input--holder-name",placeholder:f.placeholders.holderName,value:x.holderName,"aria-invalid":!E.holderName,"aria-label":C.get("bacs.accountHolderName"),"aria-required":"true",required:!0,readonly:L===g||"loading"===L,autocorrect:"off",onBlur:y("holderName","blur"),onInput:y("holderName","input")})),e("div",{className:"adyen-checkout__bacs__num-id adyen-checkout__field-wrapper"},e(r,{errorMessage:!!F.bankAccountNumber&&C.get("bacs.accountNumber.invalid"),label:C.get("bacs.accountNumber"),className:n({"adyen-checkout__bacs--bank-account-number":!0,"adyen-checkout__field--inactive":L===g||"loading"===L}),classNameModifiers:["col-70"],isValid:E.bankAccountNumber,name:"bankAccountNumber",i18n:C},e(u,{value:x.bankAccountNumber,className:"adyen-checkout__bacs-input--bank-account-number",placeholder:f.placeholders.bankAccountNumber,"aria-invalid":!E.bankAccountNumber,"aria-label":C.get("bacs.accountNumber"),"aria-required":"true",required:!0,readonly:L===g||"loading"===L,autocorrect:"off",onBlur:y("bankAccountNumber","blur"),onInput:y("bankAccountNumber","input")})),e(r,{errorMessage:!!F.bankLocationId&&C.get("bacs.bankLocationId.invalid"),label:C.get("bacs.bankLocationId"),className:n({"adyen-checkout__bacs--bank-location-id":!0,"adyen-checkout__field--inactive":L===g||"loading"===L}),classNameModifiers:["col-30"],isValid:E.bankLocationId,name:"bankLocationId",i18n:C},e(u,{value:x.bankLocationId,className:"adyen-checkout__bacs-input--bank-location-id",placeholder:f.placeholders.bankLocationId,"aria-invalid":!E.bankLocationId,"aria-label":C.get("bacs.bankLocationId"),"aria-required":"true",required:!0,readonly:L===g||"loading"===L,autocorrect:"off",onBlur:y("bankLocationId","blur"),onInput:y("bankLocationId","input")}))),e(r,{errorMessage:h(C,F.shopperEmail,C.get("shopperEmail")),label:C.get("shopperEmail"),className:n({"adyen-checkout__bacs--shopper-email":!0,"adyen-checkout__field--inactive":L===g||"loading"===L}),isValid:E.shopperEmail,name:"emailAddress",i18n:C},e(m,{value:x.shopperEmail,name:"shopperEmail",className:"adyen-checkout__bacs-input--shopper-email",classNameModifiers:["large"],placeholder:f.placeholders.shopperEmail,spellcheck:!1,"aria-invalid":!E.shopperEmail,"aria-label":C.get("shopperEmail"),"aria-required":"true",required:!0,readonly:L===g||"loading"===L,autocorrect:"off",onInput:y("shopperEmail","input"),onBlur:y("shopperEmail","blur")})),L===k&&e(c,{classNameModifiers:["amountConsentCheckbox"],errorMessage:!!F.amountConsentCheckbox,label:C.get("bacs.consent.amount"),onChange:y("amountConsentCheckbox"),checked:!!x.amountConsentCheckbox,i18n:C}),L===k&&e(c,{classNameModifiers:["accountConsentCheckbox"],errorMessage:!!F.accountConsentCheckbox,label:C.get("bacs.consent.account"),onChange:y("accountConsentCheckbox"),checked:!!x.accountConsentCheckbox,i18n:C}),f.showPayButton&&f.payButton({status:L,label:L===k?C.get("continue"):`${C.get("bacs.confirm")} ${(null===(N=f.amount)||void 0===N?void 0:N.value)&&(null===(_=f.amount)||void 0===_?void 0:_.currency)?C.amount(f.amount.value,f.amount.currency):""}`,icon:v({imageFolder:"components/"})(`${p}lock`),onClick:()=>j?L===k?this.setStatus(g):L===g?f.onSubmit():void 0:this.showValidation()}))}f.defaultProps={data:{},placeholders:{}};export{f as default};
|
|
2
2
|
//# sourceMappingURL=BacsInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BacsInput.js","sources":["../../../../../src/components/BacsDD/components/BacsInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect } from 'preact/hooks';\nimport classNames from 'classnames';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport Field from '../../internal/FormFields/Field';\nimport ConsentCheckbox from '../../internal/FormFields/ConsentCheckbox';\nimport { bacsValidationRules, bacsFormatters } from './validate';\nimport { BacsDataState, BacsInputProps } from './types';\nimport './BacsInput.scss';\n\nimport useForm from '../../../utils/useForm';\nimport useImage from '../../../core/Context/useImage';\nimport InputText from '../../internal/FormFields/InputText';\nimport InputEmail from '../../internal/FormFields/InputEmail';\nimport FormInstruction from '../../internal/FormInstruction';\nimport { getErrorMessage } from '../../../utils/getErrorMessage';\nimport { PREFIX } from '../../internal/Icon/constants';\n\nconst ENTER_STATE = 'enter-data';\nconst CONFIRM_STATE = 'confirm-data';\n\nfunction BacsInput(props: BacsInputProps) {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<BacsDataState>({\n schema: ['holderName', 'bankAccountNumber', 'bankLocationId', 'shopperEmail', 'amountConsentCheckbox', 'accountConsentCheckbox'],\n defaultData: props.data,\n formatters: bacsFormatters,\n rules: bacsValidationRules\n });\n\n const [status, setStatus] = useState(ENTER_STATE);\n this.setStatus = setStatus;\n this.showValidation = triggerValidation;\n\n const handlePayButton = () => {\n if (!isValid) return this.showValidation();\n\n if (status === ENTER_STATE) {\n return this.setStatus(CONFIRM_STATE);\n } else if (status === CONFIRM_STATE) {\n return props.onSubmit();\n }\n };\n\n const handleEdit = () => {\n return this.setStatus(ENTER_STATE);\n };\n\n useEffect(() => {\n props.onChange({ data, valid, errors, isValid });\n }, [data, valid, errors, isValid]);\n\n return (\n <div\n className={classNames({\n 'adyen-checkout__bacs': true,\n 'adyen-checkout__bacs--confirm': status === CONFIRM_STATE || status === 'loading'\n })}\n >\n {props.showFormInstruction && <FormInstruction />}\n {status == CONFIRM_STATE && (\n <div\n className={classNames({\n 'adyen-checkout__bacs--edit': true,\n 'adyen-checkout__bacs--edit-dropin': props.isDropin\n })}\n >\n <InputText\n name={'bacsEdit'}\n className={'adyen-checkout__bacs--edit-button'}\n value={i18n.get('edit')}\n aria-label={i18n.get('edit')}\n readonly={true}\n onClick={handleEdit}\n />\n </div>\n )}\n\n <Field\n className={classNames({\n 'adyen-checkout__bacs--holder-name': true,\n 'adyen-checkout__field--inactive': status === CONFIRM_STATE || status === 'loading'\n })}\n label={i18n.get('bacs.accountHolderName')}\n errorMessage={errors.holderName ? i18n.get('bacs.accountHolderName.invalid') : false}\n isValid={valid.holderName}\n name={'accountHolderName'}\n i18n={i18n}\n >\n <InputText\n name={'bacs.accountHolderName'}\n className={'adyen-checkout__bacs-input--holder-name'}\n placeholder={props.placeholders.holderName}\n value={data.holderName}\n aria-invalid={!valid.holderName}\n aria-label={i18n.get('bacs.accountHolderName')}\n aria-required={'true'}\n required={true}\n readonly={status === CONFIRM_STATE || status === 'loading'}\n autocorrect={'off'}\n onBlur={handleChangeFor('holderName', 'blur')}\n onInput={handleChangeFor('holderName', 'input')}\n />\n </Field>\n\n <div className=\"adyen-checkout__bacs__num-id adyen-checkout__field-wrapper\">\n <Field\n errorMessage={!!errors.bankAccountNumber && i18n.get('bacs.accountNumber.invalid')}\n label={i18n.get('bacs.accountNumber')}\n className={classNames({\n 'adyen-checkout__bacs--bank-account-number': true,\n 'adyen-checkout__field--inactive': status === CONFIRM_STATE || status === 'loading'\n })}\n classNameModifiers={['col-70']}\n isValid={valid.bankAccountNumber}\n name={'bankAccountNumber'}\n i18n={i18n}\n >\n <InputText\n value={data.bankAccountNumber}\n className={'adyen-checkout__bacs-input--bank-account-number'}\n placeholder={props.placeholders.bankAccountNumber}\n aria-invalid={!valid.bankAccountNumber}\n aria-label={i18n.get('bacs.accountNumber')}\n aria-required={'true'}\n required={true}\n readonly={status === CONFIRM_STATE || status === 'loading'}\n autocorrect={'off'}\n onBlur={handleChangeFor('bankAccountNumber', 'blur')}\n onInput={handleChangeFor('bankAccountNumber', 'input')}\n />\n </Field>\n\n <Field\n errorMessage={!!errors.bankLocationId && i18n.get('bacs.bankLocationId.invalid')}\n label={i18n.get('bacs.bankLocationId')}\n className={classNames({\n 'adyen-checkout__bacs--bank-location-id': true,\n 'adyen-checkout__field--inactive': status === CONFIRM_STATE || status === 'loading'\n })}\n classNameModifiers={['col-30']}\n isValid={valid.bankLocationId}\n name={'bankLocationId'}\n i18n={i18n}\n >\n <InputText\n value={data.bankLocationId}\n className={'adyen-checkout__bacs-input--bank-location-id'}\n placeholder={props.placeholders.bankLocationId}\n aria-invalid={!valid.bankLocationId}\n aria-label={i18n.get('bacs.bankLocationId')}\n aria-required={'true'}\n required={true}\n readonly={status === CONFIRM_STATE || status === 'loading'}\n autocorrect={'off'}\n onBlur={handleChangeFor('bankLocationId', 'blur')}\n onInput={handleChangeFor('bankLocationId', 'input')}\n />\n </Field>\n </div>\n\n <Field\n errorMessage={getErrorMessage(i18n, errors.shopperEmail, i18n.get('shopperEmail'))}\n label={i18n.get('shopperEmail')}\n className={classNames({\n 'adyen-checkout__bacs--shopper-email': true,\n 'adyen-checkout__field--inactive': status === CONFIRM_STATE || status === 'loading'\n })}\n isValid={valid.shopperEmail}\n name={'emailAddress'}\n i18n={i18n}\n >\n <InputEmail\n value={data.shopperEmail}\n name={'shopperEmail'}\n className={'adyen-checkout__bacs-input--shopper-email'}\n classNameModifiers={['large']}\n placeholder={props.placeholders.shopperEmail}\n spellcheck={false}\n aria-invalid={!valid.shopperEmail}\n aria-label={i18n.get('shopperEmail')}\n aria-required={'true'}\n required={true}\n readonly={status === CONFIRM_STATE || status === 'loading'}\n autocorrect={'off'}\n onInput={handleChangeFor('shopperEmail', 'input')}\n onBlur={handleChangeFor('shopperEmail', 'blur')}\n />\n </Field>\n\n {status === ENTER_STATE && (\n <ConsentCheckbox\n classNameModifiers={['amountConsentCheckbox']}\n errorMessage={!!errors.amountConsentCheckbox}\n label={i18n.get('bacs.consent.amount')}\n onChange={handleChangeFor('amountConsentCheckbox')}\n checked={!!data.amountConsentCheckbox}\n i18n={i18n}\n />\n )}\n\n {status === ENTER_STATE && (\n <ConsentCheckbox\n classNameModifiers={['accountConsentCheckbox']}\n errorMessage={!!errors.accountConsentCheckbox}\n label={i18n.get('bacs.consent.account')}\n onChange={handleChangeFor('accountConsentCheckbox')}\n checked={!!data.accountConsentCheckbox}\n i18n={i18n}\n />\n )}\n\n {props.showPayButton &&\n props.payButton({\n status,\n label:\n status === ENTER_STATE\n ? i18n.get('continue')\n : `${i18n.get('bacs.confirm')} ${\n !!props.amount?.value && !!props.amount?.currency ? i18n.amount(props.amount.value, props.amount.currency) : ''\n }`,\n icon: getImage({ imageFolder: 'components/' })(`${PREFIX}lock`),\n onClick: handlePayButton\n })}\n </div>\n );\n}\n\nBacsInput.defaultProps = {\n data: {},\n placeholders: {}\n};\n\nexport default BacsInput;\n"],"names":["ENTER_STATE","CONFIRM_STATE","BacsInput","props","i18n","useCoreContext","getImage","useImage","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","schema","defaultData","formatters","bacsFormatters","rules","bacsValidationRules","status","setStatus","useState","this","showValidation","useEffect","onChange","h","div","className","classNames","showFormInstruction","FormInstruction","isDropin","InputText","name","value","get","aria-label","readonly","onClick","Field","label","errorMessage","holderName","placeholder","placeholders","aria-invalid","aria-required","required","autocorrect","onBlur","onInput","bankAccountNumber","classNameModifiers","bankLocationId","getErrorMessage","shopperEmail","InputEmail","spellcheck","ConsentCheckbox","amountConsentCheckbox","checked","accountConsentCheckbox","showPayButton","payButton","amount","currency","icon","imageFolder","PREFIX","onSubmit","defaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BacsInput.js","sources":["../../../../../src/components/BacsDD/components/BacsInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect } from 'preact/hooks';\nimport classNames from 'classnames';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport Field from '../../internal/FormFields/Field';\nimport ConsentCheckbox from '../../internal/FormFields/ConsentCheckbox';\nimport { bacsValidationRules, bacsFormatters } from './validate';\nimport { BacsDataState, BacsInputProps } from './types';\nimport './BacsInput.scss';\n\nimport useForm from '../../../utils/useForm';\nimport useImage from '../../../core/Context/useImage';\nimport InputText from '../../internal/FormFields/InputText';\nimport InputEmail from '../../internal/FormFields/InputEmail';\nimport FormInstruction from '../../internal/FormInstruction';\nimport { getErrorMessage } from '../../../utils/getErrorMessage';\nimport { PREFIX } from '../../internal/Icon/constants';\n\nconst ENTER_STATE = 'enter-data';\nconst CONFIRM_STATE = 'confirm-data';\n\nfunction BacsInput(props: BacsInputProps) {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<BacsDataState>({\n schema: ['holderName', 'bankAccountNumber', 'bankLocationId', 'shopperEmail', 'amountConsentCheckbox', 'accountConsentCheckbox'],\n defaultData: props.data,\n formatters: bacsFormatters,\n rules: bacsValidationRules\n });\n\n const [status, setStatus] = useState(ENTER_STATE);\n this.setStatus = setStatus;\n this.showValidation = triggerValidation;\n\n const handlePayButton = () => {\n if (!isValid) return this.showValidation();\n\n if (status === ENTER_STATE) {\n return this.setStatus(CONFIRM_STATE);\n } else if (status === CONFIRM_STATE) {\n return props.onSubmit();\n }\n };\n\n const handleEdit = () => {\n return this.setStatus(ENTER_STATE);\n };\n\n useEffect(() => {\n props.onChange({ data, valid, errors, isValid });\n }, [data, valid, errors, isValid]);\n\n return (\n <div\n className={classNames({\n 'adyen-checkout__bacs': true,\n 'adyen-checkout__bacs--confirm': status === CONFIRM_STATE || status === 'loading'\n })}\n >\n <FormInstruction />\n\n {status == CONFIRM_STATE && (\n <div\n className={classNames({\n 'adyen-checkout__bacs--edit': true,\n 'adyen-checkout__bacs--edit-dropin': props.isDropin\n })}\n >\n <InputText\n name={'bacsEdit'}\n className={'adyen-checkout__bacs--edit-button'}\n value={i18n.get('edit')}\n aria-label={i18n.get('edit')}\n readonly={true}\n onClick={handleEdit}\n />\n </div>\n )}\n\n <Field\n className={classNames({\n 'adyen-checkout__bacs--holder-name': true,\n 'adyen-checkout__field--inactive': status === CONFIRM_STATE || status === 'loading'\n })}\n label={i18n.get('bacs.accountHolderName')}\n errorMessage={errors.holderName ? i18n.get('bacs.accountHolderName.invalid') : false}\n isValid={valid.holderName}\n name={'accountHolderName'}\n i18n={i18n}\n >\n <InputText\n name={'bacs.accountHolderName'}\n className={'adyen-checkout__bacs-input--holder-name'}\n placeholder={props.placeholders.holderName}\n value={data.holderName}\n aria-invalid={!valid.holderName}\n aria-label={i18n.get('bacs.accountHolderName')}\n aria-required={'true'}\n required={true}\n readonly={status === CONFIRM_STATE || status === 'loading'}\n autocorrect={'off'}\n onBlur={handleChangeFor('holderName', 'blur')}\n onInput={handleChangeFor('holderName', 'input')}\n />\n </Field>\n\n <div className=\"adyen-checkout__bacs__num-id adyen-checkout__field-wrapper\">\n <Field\n errorMessage={!!errors.bankAccountNumber && i18n.get('bacs.accountNumber.invalid')}\n label={i18n.get('bacs.accountNumber')}\n className={classNames({\n 'adyen-checkout__bacs--bank-account-number': true,\n 'adyen-checkout__field--inactive': status === CONFIRM_STATE || status === 'loading'\n })}\n classNameModifiers={['col-70']}\n isValid={valid.bankAccountNumber}\n name={'bankAccountNumber'}\n i18n={i18n}\n >\n <InputText\n value={data.bankAccountNumber}\n className={'adyen-checkout__bacs-input--bank-account-number'}\n placeholder={props.placeholders.bankAccountNumber}\n aria-invalid={!valid.bankAccountNumber}\n aria-label={i18n.get('bacs.accountNumber')}\n aria-required={'true'}\n required={true}\n readonly={status === CONFIRM_STATE || status === 'loading'}\n autocorrect={'off'}\n onBlur={handleChangeFor('bankAccountNumber', 'blur')}\n onInput={handleChangeFor('bankAccountNumber', 'input')}\n />\n </Field>\n\n <Field\n errorMessage={!!errors.bankLocationId && i18n.get('bacs.bankLocationId.invalid')}\n label={i18n.get('bacs.bankLocationId')}\n className={classNames({\n 'adyen-checkout__bacs--bank-location-id': true,\n 'adyen-checkout__field--inactive': status === CONFIRM_STATE || status === 'loading'\n })}\n classNameModifiers={['col-30']}\n isValid={valid.bankLocationId}\n name={'bankLocationId'}\n i18n={i18n}\n >\n <InputText\n value={data.bankLocationId}\n className={'adyen-checkout__bacs-input--bank-location-id'}\n placeholder={props.placeholders.bankLocationId}\n aria-invalid={!valid.bankLocationId}\n aria-label={i18n.get('bacs.bankLocationId')}\n aria-required={'true'}\n required={true}\n readonly={status === CONFIRM_STATE || status === 'loading'}\n autocorrect={'off'}\n onBlur={handleChangeFor('bankLocationId', 'blur')}\n onInput={handleChangeFor('bankLocationId', 'input')}\n />\n </Field>\n </div>\n\n <Field\n errorMessage={getErrorMessage(i18n, errors.shopperEmail, i18n.get('shopperEmail'))}\n label={i18n.get('shopperEmail')}\n className={classNames({\n 'adyen-checkout__bacs--shopper-email': true,\n 'adyen-checkout__field--inactive': status === CONFIRM_STATE || status === 'loading'\n })}\n isValid={valid.shopperEmail}\n name={'emailAddress'}\n i18n={i18n}\n >\n <InputEmail\n value={data.shopperEmail}\n name={'shopperEmail'}\n className={'adyen-checkout__bacs-input--shopper-email'}\n classNameModifiers={['large']}\n placeholder={props.placeholders.shopperEmail}\n spellcheck={false}\n aria-invalid={!valid.shopperEmail}\n aria-label={i18n.get('shopperEmail')}\n aria-required={'true'}\n required={true}\n readonly={status === CONFIRM_STATE || status === 'loading'}\n autocorrect={'off'}\n onInput={handleChangeFor('shopperEmail', 'input')}\n onBlur={handleChangeFor('shopperEmail', 'blur')}\n />\n </Field>\n\n {status === ENTER_STATE && (\n <ConsentCheckbox\n classNameModifiers={['amountConsentCheckbox']}\n errorMessage={!!errors.amountConsentCheckbox}\n label={i18n.get('bacs.consent.amount')}\n onChange={handleChangeFor('amountConsentCheckbox')}\n checked={!!data.amountConsentCheckbox}\n i18n={i18n}\n />\n )}\n\n {status === ENTER_STATE && (\n <ConsentCheckbox\n classNameModifiers={['accountConsentCheckbox']}\n errorMessage={!!errors.accountConsentCheckbox}\n label={i18n.get('bacs.consent.account')}\n onChange={handleChangeFor('accountConsentCheckbox')}\n checked={!!data.accountConsentCheckbox}\n i18n={i18n}\n />\n )}\n\n {props.showPayButton &&\n props.payButton({\n status,\n label:\n status === ENTER_STATE\n ? i18n.get('continue')\n : `${i18n.get('bacs.confirm')} ${\n !!props.amount?.value && !!props.amount?.currency ? i18n.amount(props.amount.value, props.amount.currency) : ''\n }`,\n icon: getImage({ imageFolder: 'components/' })(`${PREFIX}lock`),\n onClick: handlePayButton\n })}\n </div>\n );\n}\n\nBacsInput.defaultProps = {\n data: {},\n placeholders: {}\n};\n\nexport default BacsInput;\n"],"names":["ENTER_STATE","CONFIRM_STATE","BacsInput","props","i18n","useCoreContext","getImage","useImage","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","schema","defaultData","formatters","bacsFormatters","rules","bacsValidationRules","status","setStatus","useState","this","showValidation","useEffect","onChange","h","div","className","classNames","FormInstruction","isDropin","InputText","name","value","get","aria-label","readonly","onClick","Field","label","errorMessage","holderName","placeholder","placeholders","aria-invalid","aria-required","required","autocorrect","onBlur","onInput","bankAccountNumber","classNameModifiers","bankLocationId","getErrorMessage","shopperEmail","InputEmail","spellcheck","ConsentCheckbox","amountConsentCheckbox","checked","accountConsentCheckbox","showPayButton","payButton","amount","currency","icon","imageFolder","PREFIX","onSubmit","defaultProps"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlikInput.js","sources":["../../../../../src/components/Blik/components/BlikInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect } from 'preact/hooks';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport Field from '../../internal/FormFields/Field';\nimport './BlikInput.scss';\nimport useForm from '../../../utils/useForm';\nimport { digitsOnlyFormatter } from '../../../utils/Formatters/formatters';\nimport useImage from '../../../core/Context/useImage';\nimport InputText from '../../internal/FormFields/InputText';\nimport { UIElementProps } from '../../internal/UIElement/types';\nimport { PREFIX } from '../../internal/Icon/constants';\n\ninterface BlikInputProps extends UIElementProps {\n data?: BlikInputDataState;\n placeholders?: BlikInputDataState;\n}\n\ninterface BlikInputDataState {\n blikCode: string;\n}\n\nfunction BlikInput(props: BlikInputProps) {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<BlikInputDataState>({\n schema: ['blikCode'],\n rules: {\n blikCode: {\n validate: code => code?.length === 6,\n errorMessage: 'blik.invalid',\n modes: ['blur']\n }\n },\n formatters: {\n blikCode: digitsOnlyFormatter\n }\n });\n\n useEffect(() => {\n props.onChange({ data, errors, valid, isValid }, this);\n }, [data, valid, errors, isValid]);\n\n const [status, setStatus] = useState('ready');\n this.setStatus = setStatus;\n this.showValidation = triggerValidation;\n\n return (\n <div className=\"adyen-checkout__blik\">\n <p className=\"adyen-checkout__blik__helper\">{i18n.get('blik.help')}</p>\n <Field\n errorMessage={!!errors.blikCode && i18n.get(errors.blikCode.errorMessage)}\n label={i18n.get('blik.code')}\n classNameModifiers={['blikCode', '50']}\n isValid={valid.blikCode}\n dir={'ltr'}\n name={'blikCode'}\n >\n <InputText\n value={data.blikCode}\n name={'blikCode'}\n spellcheck={false}\n required={true}\n autocorrect={'off'}\n autocomplete={'off'}\n onInput={handleChangeFor('blikCode', 'input')}\n onBlur={handleChangeFor('blikCode', 'blur')}\n placeholder={props?.placeholders?.blikCode}\n inputMode={'numeric'}\n maxLength={6}\n />\n </Field>\n\n {props.showPayButton &&\n props.payButton({\n status,\n icon: getImage({ imageFolder: 'components/' })(`${PREFIX}lock`)\n })}\n </div>\n );\n}\n\nBlikInput.defaultProps = { data: { blikCode: '' } };\n\nexport default BlikInput;\n"],"names":["BlikInput","props","i18n","useCoreContext","getImage","useImage","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","schema","rules","blikCode","validate","code","length","errorMessage","modes","formatters","digitsOnlyFormatter","useEffect","onChange","this","status","setStatus","useState","showValidation","h","div","className","p","get","Field","label","classNameModifiers","dir","name","InputText","value","spellcheck","required","autocorrect","autocomplete","onInput","onBlur","placeholder","placeholders","inputMode","maxLength","showPayButton","payButton","icon","imageFolder","PREFIX","defaultProps"],"mappings":"8jBAqBA,SAASA,EAAUC,
|
|
1
|
+
{"version":3,"file":"BlikInput.js","sources":["../../../../../src/components/Blik/components/BlikInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect } from 'preact/hooks';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport Field from '../../internal/FormFields/Field';\nimport './BlikInput.scss';\nimport useForm from '../../../utils/useForm';\nimport { digitsOnlyFormatter } from '../../../utils/Formatters/formatters';\nimport useImage from '../../../core/Context/useImage';\nimport InputText from '../../internal/FormFields/InputText';\nimport { UIElementProps } from '../../internal/UIElement/types';\nimport { PREFIX } from '../../internal/Icon/constants';\n\ninterface BlikInputProps extends UIElementProps {\n data?: BlikInputDataState;\n placeholders?: BlikInputDataState;\n}\n\ninterface BlikInputDataState {\n blikCode: string;\n}\n\nfunction BlikInput(props: BlikInputProps) {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<BlikInputDataState>({\n schema: ['blikCode'],\n rules: {\n blikCode: {\n validate: code => code?.length === 6,\n errorMessage: 'blik.invalid',\n modes: ['blur']\n }\n },\n formatters: {\n blikCode: digitsOnlyFormatter\n }\n });\n\n useEffect(() => {\n // @ts-ignore TODO: Fix this. Preact component types should not inherit from UIElementProps.\n props.onChange({ data, errors, valid, isValid }, this);\n }, [data, valid, errors, isValid]);\n\n const [status, setStatus] = useState('ready');\n this.setStatus = setStatus;\n this.showValidation = triggerValidation;\n\n return (\n <div className=\"adyen-checkout__blik\">\n <p className=\"adyen-checkout__blik__helper\">{i18n.get('blik.help')}</p>\n <Field\n errorMessage={!!errors.blikCode && i18n.get(errors.blikCode.errorMessage)}\n label={i18n.get('blik.code')}\n classNameModifiers={['blikCode', '50']}\n isValid={valid.blikCode}\n dir={'ltr'}\n name={'blikCode'}\n >\n <InputText\n value={data.blikCode}\n name={'blikCode'}\n spellcheck={false}\n required={true}\n autocorrect={'off'}\n autocomplete={'off'}\n onInput={handleChangeFor('blikCode', 'input')}\n onBlur={handleChangeFor('blikCode', 'blur')}\n placeholder={props?.placeholders?.blikCode}\n inputMode={'numeric'}\n maxLength={6}\n />\n </Field>\n\n {props.showPayButton &&\n props.payButton({\n status,\n icon: getImage({ imageFolder: 'components/' })(`${PREFIX}lock`)\n })}\n </div>\n );\n}\n\nBlikInput.defaultProps = { data: { blikCode: '' } };\n\nexport default BlikInput;\n"],"names":["BlikInput","props","i18n","useCoreContext","getImage","useImage","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","schema","rules","blikCode","validate","code","length","errorMessage","modes","formatters","digitsOnlyFormatter","useEffect","onChange","this","status","setStatus","useState","showValidation","h","div","className","p","get","Field","label","classNameModifiers","dir","name","InputText","value","spellcheck","required","autocorrect","autocomplete","onInput","onBlur","placeholder","placeholders","inputMode","maxLength","showPayButton","payButton","icon","imageFolder","PREFIX","defaultProps"],"mappings":"8jBAqBA,SAASA,EAAUC,GA8CcA,IAAAA,EA7C7B,MAAMC,KAAEA,GAASC,IACXC,EAAWC,KACXC,gBAAEA,EAAeC,kBAAEA,EAAiBC,KAAEA,EAAIC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GAAYC,EAA4B,CACrGC,OAAQ,CAAC,YACTC,MAAO,CACHC,SAAU,CACNC,SAAUC,GAAyB,KAAjBA,aAAAA,EAAAA,EAAMC,QACxBC,aAAc,eACdC,MAAO,CAAC,UAGhBC,WAAY,CACRN,SAAUO,KAIlBC,GAAU,KAENtB,EAAMuB,SAAS,CAAEhB,OAAME,SAAQD,QAAOE,WAAWc,KAAI,GACtD,CAACjB,EAAMC,EAAOC,EAAQC,IAEzB,MAAOe,EAAQC,GAAaC,EAAS,SAIrC,OAHAH,KAAKE,UAAYA,EACjBF,KAAKI,eAAiBtB,EAGlBuB,EAACC,MAAAA,CAAIC,UAAU,wBACXF,EAACG,IAAAA,CAAED,UAAU,gCAAgC9B,EAAKgC,IAAI,cACtDJ,EAACK,EAAAA,CACGhB,eAAgBT,EAAOK,UAAYb,EAAKgC,IAAIxB,EAAOK,SAASI,cAC5DiB,MAAOlC,EAAKgC,IAAI,aAChBG,mBAAoB,CAAC,WAAY,MACjC1B,QAASF,EAAMM,SACfuB,IAAK,MACLC,KAAM,YAENT,EAACU,EAAAA,CACGC,MAAOjC,EAAKO,SACZwB,KAAM,WACNG,YAAY,EACZC,UAAU,EACVC,YAAa,MACbC,aAAc,MACdC,QAASxC,EAAgB,WAAY,SACrCyC,OAAQzC,EAAgB,WAAY,QACpC0C,YAAa/C,SAAmB,QAAnBA,EAAAA,EAAOgD,oBAAPhD,IAAAA,OAAAA,EAAAA,EAAqBc,SAClCmC,UAAW,UACXC,UAAW,KAIlBlD,EAAMmD,eACHnD,EAAMoD,UAAU,CACZ3B,SACA4B,KAAMlD,EAAS,CAAEmD,YAAa,eAAxBnD,CAAyC,GAAGoD,WAItE,CAEAxD,EAAUyD,aAAe,CAAEjD,KAAM,CAAEO,SAAU"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useRef as r,useState as t,useEffect as s}from"../../../../external/preact/hooks/dist/hooks.js";import i from"../../../internal/Address/Address.js";import{boletoValidationRules as o}from"./validate.js";import{boletoFormatters as
|
|
1
|
+
import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useRef as r,useState as t,useEffect as s}from"../../../../external/preact/hooks/dist/hooks.js";import i from"../../../internal/Address/Address.js";import{boletoValidationRules as o}from"./validate.js";import{boletoFormatters as a}from"./utils.js";import l from"../../../internal/SendCopyToEmail/SendCopyToEmail.js";import{useCoreContext as n}from"../../../../core/Context/CoreProvider.js";import d from"../../../../utils/useForm/useForm.js";import{BrazilPersonalDetail as u}from"../../../internal/SocialSecurityNumberBrazil/BrazilPersonalDetail.js";import c from"../../../internal/FormInstruction/FormInstruction.js";function p(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function m(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},s=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(s=s.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),s.forEach((function(r){p(e,r,t[r])}))}return e}function b(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t.push.apply(t,s)}return t}(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})),e}function f(p){const{i18n:f}=n(),g=r(null),{handleChangeFor:y,triggerValidation:h,setSchema:j,setData:O,setValid:A,setErrors:R,data:w,valid:E,errors:P,isValid:q}=d({schema:["firstName","lastName","socialSecurityNumber","billingAddress","shopperEmail"],defaultData:p.data,rules:o,formatters:a}),[v,D]=t(!1);s((()=>{const e=[...p.personalDetailsRequired?["firstName","lastName","socialSecurityNumber"]:[],...p.billingAddressRequired?["billingAddress"]:[],...v?["shopperEmail"]:[]];j(e)}),[v,p.personalDetailsRequired,p.billingAddressRequired]);const[S,C]=t("ready"),N=r({});var B;Object.keys(N.current).length||(null===(B=p.setComponentRef)||void 0===B||B.call(p,N.current));N.current.showValidation=()=>{h(),p.billingAddressRequired&&g.current.showValidation()},N.current.setStatus=C,s((()=>{const e=!p.billingAddressRequired||Boolean(E.billingAddress);p.onChange({data:w,valid:E,errors:P,isValid:q&&e})}),[w,E,P]);const F=[...p.personalDetailsRequired||p.billingAddressRequired||p.showEmailAddress?[]:["standalone"]],V=p.personalDetailsRequired||p.billingAddressRequired;return e("div",{className:"adyen-checkout__boleto-input__field"},V&&e(c,null),p.personalDetailsRequired&&e(u,{i18n:f,data:w,handleChangeFor:y,errors:P,valid:E}),p.billingAddressRequired&&e(i,{allowedCountries:["BR"],label:"billingAddress",data:b(m({},p.data.billingAddress),{country:"BR"}),onChange:e=>{O("billingAddress",e.data),A("billingAddress",e.isValid),R("billingAddress",e.errors)},requiredFields:["country","street","houseNumberOrName","postalCode","city","stateOrProvince"],setComponentRef:e=>{g.current=e}}),p.showEmailAddress&&e(l,{value:w.shopperEmail,errors:P.shopperEmail,onToggle:()=>D(!v),onInput:y("shopperEmail","input"),onBlur:y("shopperEmail","blur")}),p.showPayButton&&p.payButton({status:S,label:f.get("boletobancario.btnLabel"),classNameModifiers:F}))}f.defaultProps={data:{},showEmailAddress:!0,personalDetailsRequired:!0,billingAddressRequired:!0};export{f as default};
|
|
2
2
|
//# sourceMappingURL=BoletoInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoletoInput.js","sources":["../../../../../../src/components/Boleto/components/BoletoInput/BoletoInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef } from 'preact/hooks';\nimport Address from '../../../internal/Address';\nimport { boletoValidationRules } from './validate';\nimport { boletoFormatters } from './utils';\nimport SendCopyToEmail from '../../../internal/SendCopyToEmail/SendCopyToEmail';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { BoletoInputDataState } from '../../types';\nimport useForm from '../../../../utils/useForm';\nimport { BrazilPersonalDetail } from '../../../internal/SocialSecurityNumberBrazil/BrazilPersonalDetail';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\n\ninterface BoletoInputProps {\n onChange(data: any): void;\n // TODO\n [key: string]: any;\n}\n\nfunction BoletoInput(props: BoletoInputProps) {\n const { i18n } = useCoreContext();\n const addressRef = useRef(null);\n const setAddressRef = ref => {\n addressRef.current = ref;\n };\n const { handleChangeFor, triggerValidation, setSchema, setData, setValid, setErrors, data, valid, errors, isValid } =\n useForm<BoletoInputDataState>({\n schema: ['firstName', 'lastName', 'socialSecurityNumber', 'billingAddress', 'shopperEmail'],\n defaultData: props.data,\n rules: boletoValidationRules,\n formatters: boletoFormatters\n });\n\n // Email field toggle\n const [showingEmail, setShowingEmail] = useState<boolean>(false);\n const toggleEmailField = () => setShowingEmail(!showingEmail);\n\n // Handle form schema updates\n useEffect(() => {\n const newSchema = [\n ...(props.personalDetailsRequired ? ['firstName', 'lastName', 'socialSecurityNumber'] : []),\n ...(props.billingAddressRequired ? ['billingAddress'] : []),\n ...(showingEmail ? ['shopperEmail'] : [])\n ];\n setSchema(newSchema);\n }, [showingEmail, props.personalDetailsRequired, props.billingAddressRequired]);\n\n const handleAddress = address => {\n setData('billingAddress', address.data);\n setValid('billingAddress', address.isValid);\n setErrors('billingAddress', address.errors);\n };\n\n const [status, setStatus] = useState('ready');\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const boletoRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(boletoRef.current).length) {\n props.setComponentRef?.(boletoRef.current);\n }\n\n boletoRef.current.showValidation = () => {\n triggerValidation();\n if (props.billingAddressRequired) {\n addressRef.current.showValidation();\n }\n };\n\n boletoRef.current.setStatus = setStatus;\n\n useEffect(() => {\n const billingAddressValid = props.billingAddressRequired ? Boolean(valid.billingAddress) : true;\n props.onChange({ data, valid, errors, isValid: isValid && billingAddressValid });\n }, [data, valid, errors]);\n\n const buttonModifiers = [...(!props.personalDetailsRequired && !props.billingAddressRequired && !props.showEmailAddress ? ['standalone'] : [])];\n\n const showFormInstruction = props.
|
|
1
|
+
{"version":3,"file":"BoletoInput.js","sources":["../../../../../../src/components/Boleto/components/BoletoInput/BoletoInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef } from 'preact/hooks';\nimport Address from '../../../internal/Address';\nimport { boletoValidationRules } from './validate';\nimport { boletoFormatters } from './utils';\nimport SendCopyToEmail from '../../../internal/SendCopyToEmail/SendCopyToEmail';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { BoletoInputDataState } from '../../types';\nimport useForm from '../../../../utils/useForm';\nimport { BrazilPersonalDetail } from '../../../internal/SocialSecurityNumberBrazil/BrazilPersonalDetail';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\n\ninterface BoletoInputProps {\n onChange(data: any): void;\n // TODO\n [key: string]: any;\n}\n\nfunction BoletoInput(props: BoletoInputProps) {\n const { i18n } = useCoreContext();\n const addressRef = useRef(null);\n const setAddressRef = ref => {\n addressRef.current = ref;\n };\n const { handleChangeFor, triggerValidation, setSchema, setData, setValid, setErrors, data, valid, errors, isValid } =\n useForm<BoletoInputDataState>({\n schema: ['firstName', 'lastName', 'socialSecurityNumber', 'billingAddress', 'shopperEmail'],\n defaultData: props.data,\n rules: boletoValidationRules,\n formatters: boletoFormatters\n });\n\n // Email field toggle\n const [showingEmail, setShowingEmail] = useState<boolean>(false);\n const toggleEmailField = () => setShowingEmail(!showingEmail);\n\n // Handle form schema updates\n useEffect(() => {\n const newSchema = [\n ...(props.personalDetailsRequired ? ['firstName', 'lastName', 'socialSecurityNumber'] : []),\n ...(props.billingAddressRequired ? ['billingAddress'] : []),\n ...(showingEmail ? ['shopperEmail'] : [])\n ];\n setSchema(newSchema);\n }, [showingEmail, props.personalDetailsRequired, props.billingAddressRequired]);\n\n const handleAddress = address => {\n setData('billingAddress', address.data);\n setValid('billingAddress', address.isValid);\n setErrors('billingAddress', address.errors);\n };\n\n const [status, setStatus] = useState('ready');\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const boletoRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(boletoRef.current).length) {\n props.setComponentRef?.(boletoRef.current);\n }\n\n boletoRef.current.showValidation = () => {\n triggerValidation();\n if (props.billingAddressRequired) {\n addressRef.current.showValidation();\n }\n };\n\n boletoRef.current.setStatus = setStatus;\n\n useEffect(() => {\n const billingAddressValid = props.billingAddressRequired ? Boolean(valid.billingAddress) : true;\n props.onChange({ data, valid, errors, isValid: isValid && billingAddressValid });\n }, [data, valid, errors]);\n\n const buttonModifiers = [...(!props.personalDetailsRequired && !props.billingAddressRequired && !props.showEmailAddress ? ['standalone'] : [])];\n\n const showFormInstruction = props.personalDetailsRequired || props.billingAddressRequired;\n\n return (\n <div className=\"adyen-checkout__boleto-input__field\">\n {showFormInstruction && <FormInstruction />}\n\n {props.personalDetailsRequired && (\n <BrazilPersonalDetail i18n={i18n} data={data} handleChangeFor={handleChangeFor} errors={errors} valid={valid} />\n )}\n\n {props.billingAddressRequired && (\n <Address\n allowedCountries={['BR']}\n label=\"billingAddress\"\n data={{ ...props.data.billingAddress, country: 'BR' }}\n onChange={handleAddress}\n requiredFields={['country', 'street', 'houseNumberOrName', 'postalCode', 'city', 'stateOrProvince']}\n setComponentRef={setAddressRef}\n />\n )}\n\n {props.showEmailAddress && (\n <SendCopyToEmail\n value={data.shopperEmail}\n errors={errors.shopperEmail}\n onToggle={toggleEmailField}\n onInput={handleChangeFor('shopperEmail', 'input')}\n onBlur={handleChangeFor('shopperEmail', 'blur')}\n />\n )}\n\n {props.showPayButton &&\n props.payButton({\n status,\n label: i18n.get('boletobancario.btnLabel'),\n classNameModifiers: buttonModifiers\n })}\n </div>\n );\n}\n\nBoletoInput.defaultProps = {\n data: {},\n showEmailAddress: true,\n personalDetailsRequired: true,\n billingAddressRequired: true\n};\n\nexport default BoletoInput;\n"],"names":["BoletoInput","props","i18n","useCoreContext","addressRef","useRef","handleChangeFor","triggerValidation","setSchema","setData","setValid","setErrors","data","valid","errors","isValid","useForm","schema","defaultData","rules","boletoValidationRules","formatters","boletoFormatters","showingEmail","setShowingEmail","useState","useEffect","newSchema","personalDetailsRequired","billingAddressRequired","status","setStatus","boletoRef","Object","keys","current","length","setComponentRef","showValidation","billingAddressValid","Boolean","billingAddress","onChange","buttonModifiers","showEmailAddress","showFormInstruction","h","div","className","FormInstruction","BrazilPersonalDetail","Address","allowedCountries","label","_object_spread_props","country","address","requiredFields","ref","SendCopyToEmail","value","shopperEmail","onToggle","onInput","onBlur","showPayButton","payButton","get","classNameModifiers","defaultProps"],"mappings":"4+CAmBA,SAASA,EAAYC,GACjB,MAAMC,KAAEA,GAASC,IACXC,EAAaC,EAAO,OAIpBC,gBAAEA,EAAeC,kBAAEA,EAAiBC,UAAEA,EAASC,QAAEA,EAAOC,SAAEA,EAAQC,UAAEA,EAASC,KAAEA,EAAIC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GACtGC,EAA8B,CAC1BC,OAAQ,CAAC,YAAa,WAAY,uBAAwB,iBAAkB,gBAC5EC,YAAajB,EAAMW,KACnBO,MAAOC,EACPC,WAAYC,KAIbC,EAAcC,GAAmBC,GAAkB,GAI1DC,GAAU,KACN,MAAMC,EAAY,IACV1B,EAAM2B,wBAA0B,CAAC,YAAa,WAAY,wBAA0B,MACpF3B,EAAM4B,uBAAyB,CAAC,kBAAoB,MACpDN,EAAe,CAAC,gBAAkB,IAE1Cf,EAAUmB,EAAAA,GACX,CAACJ,EAActB,EAAM2B,wBAAyB3B,EAAM4B,yBAEvD,MAMOC,EAAQC,GAAaN,EAAS,SAG/BO,EAAY3B,EAA4B,CAAA,GAG1CJ,IAAAA,EADCgC,OAAOC,KAAKF,EAAUG,SAASC,SACX,QAArBnC,EAAAA,EAAMoC,2BAANpC,GAAAA,EAAAA,KAAAA,EAAwB+B,EAAUG,UAGtCH,EAAUG,QAAQG,eAAiB,KAC/B/B,IACIN,EAAM4B,wBACNzB,EAAW+B,QAAQG,gBACvB,EAGJN,EAAUG,QAAQJ,UAAYA,EAE9BL,GAAU,KACN,MAAMa,GAAsBtC,EAAM4B,wBAAyBW,QAAQ3B,EAAM4B,gBACzExC,EAAMyC,SAAS,CAAE9B,OAAMC,QAAOC,SAAQC,QAASA,GAAWwB,GAAoB,GAC/E,CAAC3B,EAAMC,EAAOC,IAEjB,MAAM6B,EAAkB,IAAM1C,EAAM2B,yBAA4B3B,EAAM4B,wBAA2B5B,EAAM2C,iBAAoC,GAAjB,CAAC,eAErHC,EAAsB5C,EAAM2B,yBAA2B3B,EAAM4B,uBAEnE,OACIiB,EAACC,MAAAA,CAAIC,UAAU,uCACVH,GAAuBC,EAACG,EAAAA,MAExBhD,EAAM2B,yBACHkB,EAACI,EAAAA,CAAqBhD,KAAMA,EAAMU,KAAMA,EAAMN,gBAAiBA,EAAiBQ,OAAQA,EAAQD,MAAOA,IAG1GZ,EAAM4B,wBACHiB,EAACK,EAAAA,CACGC,iBAAkB,CAAC,MACnBC,MAAM,iBACNzC,KAAM0C,EAAKrD,EAAAA,CAAAA,EAAAA,EAAMW,KAAK6B,gBAAc,CAAEc,QAAS,OAC/Cb,SA9CMc,IAClB/C,EAAQ,iBAAkB+C,EAAQ5C,MAClCF,EAAS,iBAAkB8C,EAAQzC,SACnCJ,EAAU,iBAAkB6C,EAAQ1C,OAAM,EA4C9B2C,eAAgB,CAAC,UAAW,SAAU,oBAAqB,aAAc,OAAQ,mBACjFpB,gBAzEMqB,IAClBtD,EAAW+B,QAAUuB,CAAAA,IA4EhBzD,EAAM2C,kBACHE,EAACa,EAAAA,CACGC,MAAOhD,EAAKiD,aACZ/C,OAAQA,EAAO+C,aACfC,SApES,IAAMtC,GAAiBD,GAqEhCwC,QAASzD,EAAgB,eAAgB,SACzC0D,OAAQ1D,EAAgB,eAAgB,UAI/CL,EAAMgE,eACHhE,EAAMiE,UAAU,CACZpC,SACAuB,MAAOnD,EAAKiE,IAAI,2BAChBC,mBAAoBzB,IAIxC,CAEA3C,EAAYqE,aAAe,CACvBzD,KAAM,CAAC,EACPgC,kBAAkB,EAClBhB,yBAAyB,EACzBC,wBAAwB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as t}from"../../external/preact/dist/preact.js";import o from"./components/CardInput/CardInput.js";import{CoreProvider as e}from"../../core/Context/CoreProvider.js";import i from"../../utils/browserInfo.js";import r from"../internal/SecuredFields/binLookup/triggerBinLookUp.js";import{reject as s,fieldTypeToSnakeCase as n}from"../internal/SecuredFields/utils.js";import{hasValidInstallmentsObject as a}from"./components/CardInput/utils.js";import l from"../internal/ClickToPay/services/create-clicktopay-service.js";import d from"./components/ClickToPayWrapper.js";import u from"../../core/Errors/SRPanelProvider.js";import{TxVariants as c}from"../tx-variants.js";import{UIElement as p}from"../internal/UIElement/UIElement.js";import h from"../internal/PayButton/PayButton.js";import{ANALYTICS_RENDERED_STR as m,ANALYTICS_CONFIGURED_STR as y,ANALYTICS_FOCUS_STR as v,ANALYTICS_UNFOCUS_STR as f,ANALYTICS_VALIDATION_ERROR_STR as b}from"../../core/Analytics/constants.js";import{ALL_SECURED_FIELDS as g}from"../internal/SecuredFields/lib/constants.js";import{hasOwnProperty as P}from"../../utils/hasOwnProperty.js";import C,{IMPLEMENTATION_ERROR as S}from"../../core/Errors/AdyenCheckoutError.js";import{getErrorMessageFromCode as k}from"../../core/Errors/utils.js";import{SF_ErrorCodes as j}from"../../core/Errors/constants.js";function O(t,o,e){return o in t?Object.defineProperty(t,o,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[o]=e,t}function T(t){for(var o=1;o<arguments.length;o++){var e=null!=arguments[o]?arguments[o]:{},i=Object.keys(e);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(e).filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})))),i.forEach((function(o){O(t,o,e[o])}))}return t}function B(t,o){return o=null!=o?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):function(t,o){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e.push.apply(e,i)}return e}(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))})),t}class R extends p{setStatus(t,o){var e,i;return(null===(e=this.componentRef)||void 0===e?void 0:e.setStatus)&&this.componentRef.setStatus(t,o),(null===(i=this.clickToPayRef)||void 0===i?void 0:i.setStatus)&&this.clickToPayRef.setStatus(t,o),this}formatProps(t){var o,e,i,r,s,n,a,l,d,u,p,h,m,y,v,f,b,g,P,k;const j=null!==(k=null===(e=t.session)||void 0===e||null===(o=e.configuration)||void 0===o?void 0:o.enableStoreDetails)&&void 0!==k?k:t.enableStoreDetails,O=!(0===(null===(i=t.amount)||void 0===i?void 0:i.value))&&j,R=t.storedPaymentMethodId||t.id,I=R&&(null==t||null===(r=t.supportedShopperInteractions)||void 0===r?void 0:r.includes("Ecommerce"));if(R&&!I)throw new C(S,"You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions");var w,E;return T(B(T({},t),{holderNameRequired:!!t.hasHolderName&&t.holderNameRequired,hasCVC:!(t.brand&&"bcmc"===t.brand||t.hideCVC),billingAddressRequired:!t.storedPaymentMethodId&&t.billingAddressRequired,brand:null!==(w=t.brand)&&void 0!==w?w:c.card,countryCode:t.countryCode?t.countryCode.toLowerCase():null,configuration:B(T({},t.configuration),{socialSecurityNumberMode:null!==(E=null===(s=t.configuration)||void 0===s?void 0:s.socialSecurityNumberMode)&&void 0!==E?E:"auto"}),brandsConfiguration:t.brandsConfiguration||(null===(n=t.configuration)||void 0===n?void 0:n.brandsConfiguration)||{},icon:t.icon||(null===(a=t.configuration)||void 0===a?void 0:a.icon),installmentOptions:(null===(d=t.session)||void 0===d||null===(l=d.configuration)||void 0===l?void 0:l.installmentOptions)||t.installmentOptions,enableStoreDetails:j,showStoreDetailsCheckbox:O,clickToPayConfiguration:B(T({},t.clickToPayConfiguration),{disableOtpAutoFocus:(null===(u=t.clickToPayConfiguration)||void 0===u?void 0:u.disableOtpAutoFocus)||!1,shopperEmail:(null===(p=t.clickToPayConfiguration)||void 0===p?void 0:p.shopperEmail)||(null===(m=this.core.options)||void 0===m||null===(h=m.session)||void 0===h?void 0:h.shopperEmail),telephoneNumber:(null===(y=t.clickToPayConfiguration)||void 0===y?void 0:y.telephoneNumber)||(null===(f=this.core.options)||void 0===f||null===(v=f.session)||void 0===v?void 0:v.telephoneNumber),locale:(null===(b=t.clickToPayConfiguration)||void 0===b?void 0:b.locale)||(null===(P=t.i18n)||void 0===P||null===(g=P.locale)||void 0===g?void 0:g.replace("-","_"))})}),R&&{storedPaymentMethodId:R})}formatData(){const t=this.state.selectedBrandValue;return B(T({paymentMethod:T({type:R.type},this.state.data,this.props.storedPaymentMethodId&&{storedPaymentMethodId:this.props.storedPaymentMethodId},t&&{brand:t},this.props.fundingSource&&{fundingSource:this.props.fundingSource})},this.state.billingAddress&&{billingAddress:this.state.billingAddress},this.state.socialSecurityNumber&&{socialSecurityNumber:this.state.socialSecurityNumber},this.storePaymentMethodPayload,a(this.state.installments)&&{installments:this.state.installments}),{browserInfo:this.browserInfo,origin:!!window&&window.location.origin})}updateStyles(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.updateStyles)&&this.componentRef.updateStyles(t),this}setFocusOn(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.setFocusOn)&&this.componentRef.setFocusOn(t),this}processBinLookupResponse(t,o=!1){var e;return(null===(e=this.componentRef)||void 0===e?void 0:e.processBinLookupResponse)&&this.componentRef.processBinLookupResponse(t,o),this}handleUnsupportedCard(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.handleUnsupportedCard)&&this.componentRef.handleUnsupportedCard(t),this}onBinLookup(t){if(!t.isReset){const o=s("supportedBrandsRaw").from(t);this.props.onBinLookup(o)}}submitAnalytics(t){const{type:o}=t;o!==m&&o!==y||"scheme"===this.constructor.type&&P(this.props,"supportedShopperInteractions")&&(t.isStoredPaymentMethod=!0,t.brand=this.props.brand),super.submitAnalytics(t)}get storePaymentMethodPayload(){var t,o;if((null===(t=this.props.storedPaymentMethodId)||void 0===t?void 0:t.length)>0)return{};if(0===(null===(o=this.props.amount)||void 0===o?void 0:o.value))return this.props.enableStoreDetails?{storePaymentMethod:!0}:{};return this.props.showStoreDetailsCheckbox&&void 0!==this.state.storePaymentMethod?{storePaymentMethod:Boolean(this.state.storePaymentMethod)}:{}}get isValid(){return!!this.state.isValid}get icon(){var t;return null!==(t=this.props.icon)&&void 0!==t?t:this.resources.getImage()(this.props.brand)}get brands(){const{brands:t,brandsConfiguration:o}=this.props;return t?t.map((t=>{var e,i;return{icon:null!==(i=null===(e=o[t])||void 0===e?void 0:e.icon)&&void 0!==i?i:this.props.modules.resources.getImage()(t),name:t}})):[]}get displayName(){return this.props.storedPaymentMethodId?`•••• ${this.props.lastFour}`:this.props.name||R.type}get accessibleName(){return(this.props.name||R.type)+(this.props.storedPaymentMethodId?" "+this.props.i18n.get("creditCard.storedCard.description.ariaLabel").replace("%@",this.props.lastFour):"")}get browserInfo(){return i()}renderCardInput(e=!0){return t(o,B(T({setComponentRef:this.setComponentRef},this.props,this.state),{onChange:this.setState,onSubmit:this.submit,payButton:this.payButton,onBrand:this.onBrand,onBinValue:this.onBinValue,brand:this.props.brand,brandsIcons:this.brands,isPayButtonPrimaryVariant:e,resources:this.resources,onFocus:this.onFocus,onBlur:this.onBlur,onValidationErrorAnalytics:this.onValidationErrorAnalytics,onConfigSuccess:this.onConfigSuccess}))}render(){return t(e,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(u,{srPanel:this.props.modules.srPanel},t(d,{amount:this.props.amount,configuration:this.props.clickToPayConfiguration,clickToPayService:this.clickToPayService,isStandaloneComponent:!1,setClickToPayRef:this.setClickToPayRef,onSetStatus:this.setElementStatus,onSubmit:this.handleClickToPaySubmit,onError:this.handleError},(t=>this.renderCardInput(t)))))}constructor(o,e){var i;(super(o,e),O(this,"clickToPayService",void 0),O(this,"clickToPayRef",null),O(this,"setClickToPayRef",(t=>{this.clickToPayRef=t})),O(this,"onBrand",(t=>{var o,e;null===(o=(e=this.props).onBrand)||void 0===o||o.call(e,t)})),O(this,"handleClickToPaySubmit",(t=>{this.setState({data:T({},t),valid:{},errors:{},isValid:!0}),this.submit()})),O(this,"onConfigSuccess",(t=>{var o,e;this.submitAnalytics({type:y}),null===(o=(e=this.props).onConfigSuccess)||void 0===o||o.call(e,t)})),O(this,"onFocus",(t=>{var o,e,i,r;(this.submitAnalytics({type:v,target:n(t.fieldType)}),g.includes(t.fieldType))?null===(o=(e=this.props).onFocus)||void 0===o||o.call(e,t.event):null===(i=(r=this.props).onFocus)||void 0===i||i.call(r,t)})),O(this,"onBlur",(t=>{var o,e,i,r;(this.submitAnalytics({type:f,target:n(t.fieldType)}),g.includes(t.fieldType))?null===(o=(e=this.props).onBlur)||void 0===o||o.call(e,t.event):null===(i=(r=this.props).onBlur)||void 0===i||i.call(r,t)})),O(this,"onValidationErrorAnalytics",(t=>{this.submitAnalytics({type:b,target:n(t.fieldType),validationErrorCode:t.errorCode,validationErrorMessage:k(t.errorCode,j)})})),O(this,"onBinValue",r(this)),O(this,"payButton",(o=>{var e,i;const r=0===(null===(e=this.props.amount)||void 0===e?void 0:e.value),s=(null===(i=this.props.storedPaymentMethodId)||void 0===i?void 0:i.length)>0;return t(h,B(T({},o),{amount:this.props.amount,secondaryAmount:this.props.secondaryAmount,label:r&&!s?this.props.i18n.get("payButton.saveDetails"):"",onClick:this.submit}))})),e&&!e._disableClickToPay)&&(this.clickToPayService=l(this.props.configuration,this.props.clickToPayConfiguration,this.props.environment),null===(i=this.clickToPayService)||void 0===i||i.initialize())}}O(R,"type",c.scheme),O(R,"defaultProps",{onBinLookup:()=>{},
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import o from"./components/CardInput/CardInput.js";import{CoreProvider as e}from"../../core/Context/CoreProvider.js";import i from"../../utils/browserInfo.js";import r from"../internal/SecuredFields/binLookup/triggerBinLookUp.js";import{reject as s,fieldTypeToSnakeCase as n}from"../internal/SecuredFields/utils.js";import{hasValidInstallmentsObject as a}from"./components/CardInput/utils.js";import l from"../internal/ClickToPay/services/create-clicktopay-service.js";import d from"./components/ClickToPayWrapper.js";import u from"../../core/Errors/SRPanelProvider.js";import{TxVariants as c}from"../tx-variants.js";import{UIElement as p}from"../internal/UIElement/UIElement.js";import h from"../internal/PayButton/PayButton.js";import{ANALYTICS_RENDERED_STR as m,ANALYTICS_CONFIGURED_STR as y,ANALYTICS_FOCUS_STR as v,ANALYTICS_UNFOCUS_STR as f,ANALYTICS_VALIDATION_ERROR_STR as b}from"../../core/Analytics/constants.js";import{ALL_SECURED_FIELDS as g}from"../internal/SecuredFields/lib/constants.js";import{hasOwnProperty as P}from"../../utils/hasOwnProperty.js";import C,{IMPLEMENTATION_ERROR as S}from"../../core/Errors/AdyenCheckoutError.js";import{getErrorMessageFromCode as k}from"../../core/Errors/utils.js";import{SF_ErrorCodes as j}from"../../core/Errors/constants.js";function O(t,o,e){return o in t?Object.defineProperty(t,o,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[o]=e,t}function T(t){for(var o=1;o<arguments.length;o++){var e=null!=arguments[o]?arguments[o]:{},i=Object.keys(e);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(e).filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})))),i.forEach((function(o){O(t,o,e[o])}))}return t}function B(t,o){return o=null!=o?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):function(t,o){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e.push.apply(e,i)}return e}(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))})),t}class R extends p{setStatus(t,o){var e,i;return(null===(e=this.componentRef)||void 0===e?void 0:e.setStatus)&&this.componentRef.setStatus(t,o),(null===(i=this.clickToPayRef)||void 0===i?void 0:i.setStatus)&&this.clickToPayRef.setStatus(t,o),this}formatProps(t){var o,e,i,r,s,n,a,l,d,u,p,h,m,y,v,f,b,g,P,k;const j=null!==(k=null===(e=t.session)||void 0===e||null===(o=e.configuration)||void 0===o?void 0:o.enableStoreDetails)&&void 0!==k?k:t.enableStoreDetails,O=!(0===(null===(i=t.amount)||void 0===i?void 0:i.value))&&j,R=t.storedPaymentMethodId||t.id,I=R&&(null==t||null===(r=t.supportedShopperInteractions)||void 0===r?void 0:r.includes("Ecommerce"));if(R&&!I)throw new C(S,"You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions");var w,E;return T(B(T({},t),{holderNameRequired:!!t.hasHolderName&&t.holderNameRequired,hasCVC:!(t.brand&&"bcmc"===t.brand||t.hideCVC),billingAddressRequired:!t.storedPaymentMethodId&&t.billingAddressRequired,brand:null!==(w=t.brand)&&void 0!==w?w:c.card,countryCode:t.countryCode?t.countryCode.toLowerCase():null,configuration:B(T({},t.configuration),{socialSecurityNumberMode:null!==(E=null===(s=t.configuration)||void 0===s?void 0:s.socialSecurityNumberMode)&&void 0!==E?E:"auto"}),brandsConfiguration:t.brandsConfiguration||(null===(n=t.configuration)||void 0===n?void 0:n.brandsConfiguration)||{},icon:t.icon||(null===(a=t.configuration)||void 0===a?void 0:a.icon),installmentOptions:(null===(d=t.session)||void 0===d||null===(l=d.configuration)||void 0===l?void 0:l.installmentOptions)||t.installmentOptions,enableStoreDetails:j,showStoreDetailsCheckbox:O,clickToPayConfiguration:B(T({},t.clickToPayConfiguration),{disableOtpAutoFocus:(null===(u=t.clickToPayConfiguration)||void 0===u?void 0:u.disableOtpAutoFocus)||!1,shopperEmail:(null===(p=t.clickToPayConfiguration)||void 0===p?void 0:p.shopperEmail)||(null===(m=this.core.options)||void 0===m||null===(h=m.session)||void 0===h?void 0:h.shopperEmail),telephoneNumber:(null===(y=t.clickToPayConfiguration)||void 0===y?void 0:y.telephoneNumber)||(null===(f=this.core.options)||void 0===f||null===(v=f.session)||void 0===v?void 0:v.telephoneNumber),locale:(null===(b=t.clickToPayConfiguration)||void 0===b?void 0:b.locale)||(null===(P=t.i18n)||void 0===P||null===(g=P.locale)||void 0===g?void 0:g.replace("-","_"))})}),R&&{storedPaymentMethodId:R})}formatData(){const t=this.state.selectedBrandValue;return B(T({paymentMethod:T({type:R.type},this.state.data,this.props.storedPaymentMethodId&&{storedPaymentMethodId:this.props.storedPaymentMethodId},t&&{brand:t},this.props.fundingSource&&{fundingSource:this.props.fundingSource})},this.state.billingAddress&&{billingAddress:this.state.billingAddress},this.state.socialSecurityNumber&&{socialSecurityNumber:this.state.socialSecurityNumber},this.storePaymentMethodPayload,a(this.state.installments)&&{installments:this.state.installments}),{browserInfo:this.browserInfo,origin:!!window&&window.location.origin})}updateStyles(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.updateStyles)&&this.componentRef.updateStyles(t),this}setFocusOn(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.setFocusOn)&&this.componentRef.setFocusOn(t),this}processBinLookupResponse(t,o=!1){var e;return(null===(e=this.componentRef)||void 0===e?void 0:e.processBinLookupResponse)&&this.componentRef.processBinLookupResponse(t,o),this}handleUnsupportedCard(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.handleUnsupportedCard)&&this.componentRef.handleUnsupportedCard(t),this}onBinLookup(t){if(!t.isReset){const o=s("supportedBrandsRaw").from(t);this.props.onBinLookup(o)}}submitAnalytics(t){const{type:o}=t;o!==m&&o!==y||"scheme"===this.constructor.type&&P(this.props,"supportedShopperInteractions")&&(t.isStoredPaymentMethod=!0,t.brand=this.props.brand),super.submitAnalytics(t)}get storePaymentMethodPayload(){var t,o;if((null===(t=this.props.storedPaymentMethodId)||void 0===t?void 0:t.length)>0)return{};if(0===(null===(o=this.props.amount)||void 0===o?void 0:o.value))return this.props.enableStoreDetails?{storePaymentMethod:!0}:{};return this.props.showStoreDetailsCheckbox&&void 0!==this.state.storePaymentMethod?{storePaymentMethod:Boolean(this.state.storePaymentMethod)}:{}}get isValid(){return!!this.state.isValid}get icon(){var t;return null!==(t=this.props.icon)&&void 0!==t?t:this.resources.getImage()(this.props.brand)}get brands(){const{brands:t,brandsConfiguration:o}=this.props;return t?t.map((t=>{var e,i;return{icon:null!==(i=null===(e=o[t])||void 0===e?void 0:e.icon)&&void 0!==i?i:this.props.modules.resources.getImage()(t),name:t}})):[]}get displayName(){return this.props.storedPaymentMethodId?`•••• ${this.props.lastFour}`:this.props.name||R.type}get accessibleName(){return(this.props.name||R.type)+(this.props.storedPaymentMethodId?" "+this.props.i18n.get("creditCard.storedCard.description.ariaLabel").replace("%@",this.props.lastFour):"")}get browserInfo(){return i()}renderCardInput(e=!0){return t(o,B(T({setComponentRef:this.setComponentRef},this.props,this.state),{onChange:this.setState,onSubmit:this.submit,payButton:this.payButton,onBrand:this.onBrand,onBinValue:this.onBinValue,brand:this.props.brand,brandsIcons:this.brands,isPayButtonPrimaryVariant:e,resources:this.resources,onFocus:this.onFocus,onBlur:this.onBlur,onValidationErrorAnalytics:this.onValidationErrorAnalytics,onConfigSuccess:this.onConfigSuccess}))}render(){return t(e,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(u,{srPanel:this.props.modules.srPanel},t(d,{amount:this.props.amount,configuration:this.props.clickToPayConfiguration,clickToPayService:this.clickToPayService,isStandaloneComponent:!1,setClickToPayRef:this.setClickToPayRef,onSetStatus:this.setElementStatus,onSubmit:this.handleClickToPaySubmit,onError:this.handleError},(t=>this.renderCardInput(t)))))}constructor(o,e){var i;(super(o,e),O(this,"clickToPayService",void 0),O(this,"clickToPayRef",null),O(this,"setClickToPayRef",(t=>{this.clickToPayRef=t})),O(this,"onBrand",(t=>{var o,e;null===(o=(e=this.props).onBrand)||void 0===o||o.call(e,t)})),O(this,"handleClickToPaySubmit",(t=>{this.setState({data:T({},t),valid:{},errors:{},isValid:!0}),this.submit()})),O(this,"onConfigSuccess",(t=>{var o,e;this.submitAnalytics({type:y}),null===(o=(e=this.props).onConfigSuccess)||void 0===o||o.call(e,t)})),O(this,"onFocus",(t=>{var o,e,i,r;(this.submitAnalytics({type:v,target:n(t.fieldType)}),g.includes(t.fieldType))?null===(o=(e=this.props).onFocus)||void 0===o||o.call(e,t.event):null===(i=(r=this.props).onFocus)||void 0===i||i.call(r,t)})),O(this,"onBlur",(t=>{var o,e,i,r;(this.submitAnalytics({type:f,target:n(t.fieldType)}),g.includes(t.fieldType))?null===(o=(e=this.props).onBlur)||void 0===o||o.call(e,t.event):null===(i=(r=this.props).onBlur)||void 0===i||i.call(r,t)})),O(this,"onValidationErrorAnalytics",(t=>{this.submitAnalytics({type:b,target:n(t.fieldType),validationErrorCode:t.errorCode,validationErrorMessage:k(t.errorCode,j)})})),O(this,"onBinValue",r(this)),O(this,"payButton",(o=>{var e,i;const r=0===(null===(e=this.props.amount)||void 0===e?void 0:e.value),s=(null===(i=this.props.storedPaymentMethodId)||void 0===i?void 0:i.length)>0;return t(h,B(T({},o),{amount:this.props.amount,secondaryAmount:this.props.secondaryAmount,label:r&&!s?this.props.i18n.get("payButton.saveDetails"):"",onClick:this.submit}))})),e&&!e._disableClickToPay)&&(this.clickToPayService=l(this.props.configuration,this.props.clickToPayConfiguration,this.props.environment),null===(i=this.clickToPayService)||void 0===i||i.initialize())}}O(R,"type",c.scheme),O(R,"defaultProps",{onBinLookup:()=>{},_disableClickToPay:!1});export{R as CardElement,R as default};
|
|
2
2
|
//# sourceMappingURL=Card.js.map
|