@adyen/adyen-web 6.45.0 → 6.45.1
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 +12 -12
- 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 +1983 -1924
- package/dist/es/adyen.css +12 -12
- package/dist/es/adyen.css.map +1 -1
- package/dist/es/components/ANCV/components/ANCVInput.js +1 -1
- package/dist/es/components/ANCV/components/ANCVInput.js.map +1 -1
- package/dist/es/components/Ach/Ach.js +1 -1
- package/dist/es/components/Ach/Ach.js.map +1 -1
- package/dist/es/components/Ach/components/AchComponent.js +1 -1
- package/dist/es/components/Ach/components/AchComponent.js.map +1 -1
- package/dist/es/components/AmazonPay/AmazonPay.js +1 -1
- package/dist/es/components/AmazonPay/AmazonPay.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/BankTransfer/BankTransfer.js +1 -1
- package/dist/es/components/BankTransfer/BankTransfer.js.map +1 -1
- package/dist/es/components/BankTransfer/components/BankTransferInput/BankTransferInput.js +1 -1
- package/dist/es/components/BankTransfer/components/BankTransferInput/BankTransferInput.js.map +1 -1
- package/dist/es/components/Blik/Blik.js +1 -1
- package/dist/es/components/Blik/Blik.js.map +1 -1
- package/dist/es/components/Blik/components/BlikInput.js +1 -1
- package/dist/es/components/Blik/components/BlikInput.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/types.js.map +1 -1
- package/dist/es/components/Card/components/ClickToPayHolder.js.map +1 -1
- package/dist/es/components/Card/components/ClickToPayWrapper.js +1 -1
- package/dist/es/components/Card/components/ClickToPayWrapper.js.map +1 -1
- package/dist/es/components/CashAppPay/CashAppPay.js +1 -1
- package/dist/es/components/CashAppPay/CashAppPay.js.map +1 -1
- package/dist/es/components/CustomCard/CustomCard.js +1 -1
- package/dist/es/components/CustomCard/CustomCard.js.map +1 -1
- package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
- package/dist/es/components/Donation/Donation.js +1 -1
- package/dist/es/components/Donation/Donation.js.map +1 -1
- package/dist/es/components/Donation/components/DonationComponent.js +1 -1
- package/dist/es/components/Donation/components/DonationComponent.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/Dropin/components/DropinComponent.js.map +1 -1
- package/dist/es/components/Giftcard/Giftcard.js.map +1 -1
- package/dist/es/components/Giftcard/components/GiftcardComponent.js.map +1 -1
- package/dist/es/components/Giropay/Giropay.js +1 -1
- package/dist/es/components/Giropay/Giropay.js.map +1 -1
- package/dist/es/components/MBWay/MBWay.js +1 -1
- package/dist/es/components/MBWay/MBWay.js.map +1 -1
- package/dist/es/components/MBWay/components/MBWayInput/MBWayInput.js +1 -1
- package/dist/es/components/MBWay/components/MBWayInput/MBWayInput.js.map +1 -1
- package/dist/es/components/Multibanco/Multibanco.js +1 -1
- package/dist/es/components/Multibanco/Multibanco.js.map +1 -1
- package/dist/es/components/PayByBankPix/PayByBankPix.js +1 -1
- package/dist/es/components/PayByBankPix/PayByBankPix.js.map +1 -1
- package/dist/es/components/PayByBankUS/PayByBankUS.js +1 -1
- package/dist/es/components/PayByBankUS/PayByBankUS.js.map +1 -1
- package/dist/es/components/PayTo/components/BSBInput.js +1 -1
- package/dist/es/components/PayTo/components/BSBInput.js.map +1 -1
- package/dist/es/components/PayTo/components/PayToNameFields.js +1 -1
- package/dist/es/components/PayTo/components/PayToNameFields.js.map +1 -1
- package/dist/es/components/PayTo/components/PayToPhone.js +1 -1
- package/dist/es/components/PayTo/components/PayToPhone.js.map +1 -1
- package/dist/es/components/Pix/Pix.js +1 -1
- package/dist/es/components/Pix/Pix.js.map +1 -1
- package/dist/es/components/Pix/components/PixInput/PixInput.js +1 -1
- package/dist/es/components/Pix/components/PixInput/PixInput.js.map +1 -1
- package/dist/es/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js +1 -1
- package/dist/es/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js.map +1 -1
- package/dist/es/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js +1 -1
- package/dist/es/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js.map +1 -1
- package/dist/es/components/Redirect/Redirect.js +1 -1
- package/dist/es/components/Redirect/Redirect.js.map +1 -1
- package/dist/es/components/Sepa/Sepa.js.map +1 -1
- package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
- package/dist/es/components/Trustly/Trustly.js +1 -1
- package/dist/es/components/Trustly/Trustly.js.map +1 -1
- package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js +1 -1
- package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
- package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
- package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
- package/dist/es/components/internal/Address/Specifications.js.map +1 -1
- package/dist/es/components/internal/Address/components/AddressSearch.js.map +1 -1
- package/dist/es/components/internal/Address/components/FieldContainer.js.map +1 -1
- package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPLogin/CtPLoginInput.js +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPLogin/CtPLoginInput.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/context/ClickToPayProvider.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/MastercardSdk.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/VisaSdk.js.map +1 -1
- package/dist/es/components/internal/IbanInput/IbanInput.js +1 -1
- package/dist/es/components/internal/IbanInput/IbanInput.js.map +1 -1
- package/dist/es/components/internal/IbanInput/validate.js +1 -1
- package/dist/es/components/internal/IbanInput/validate.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/PhoneInput/PhoneInputForm.js +1 -1
- package/dist/es/components/internal/PhoneInput/PhoneInputForm.js.map +1 -1
- package/dist/es/components/internal/RedirectButton/RedirectButton.js +1 -1
- package/dist/es/components/internal/RedirectButton/RedirectButton.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.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/internal/UIElement/utils.js +1 -1
- package/dist/es/components/internal/UIElement/utils.js.map +1 -1
- package/dist/es/core/config.js +1 -1
- package/dist/es/index.d.ts +1983 -1924
- package/dist/es/utils/Validator/Validator.js +1 -1
- package/dist/es/utils/Validator/Validator.js.map +1 -1
- package/dist/es/utils/useForm/reducer.js +1 -1
- package/dist/es/utils/useForm/reducer.js.map +1 -1
- package/dist/es/utils/useForm/useForm.js +1 -1
- package/dist/es/utils/useForm/useForm.js.map +1 -1
- package/dist/es/utils/useForm/useFormWithA11y.js +1 -1
- package/dist/es/utils/useForm/useFormWithA11y.js.map +1 -1
- package/dist/es-legacy/adyen.css +12 -12
- package/dist/es-legacy/adyen.css.map +1 -1
- package/dist/es-legacy/components/ANCV/components/ANCVInput.js +1 -1
- package/dist/es-legacy/components/ANCV/components/ANCVInput.js.map +1 -1
- package/dist/es-legacy/components/Ach/Ach.js +1 -1
- package/dist/es-legacy/components/Ach/Ach.js.map +1 -1
- package/dist/es-legacy/components/Ach/components/AchComponent.js +1 -1
- package/dist/es-legacy/components/Ach/components/AchComponent.js.map +1 -1
- package/dist/es-legacy/components/AmazonPay/AmazonPay.js +1 -1
- package/dist/es-legacy/components/AmazonPay/AmazonPay.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/BankTransfer/BankTransfer.js +1 -1
- package/dist/es-legacy/components/BankTransfer/BankTransfer.js.map +1 -1
- package/dist/es-legacy/components/BankTransfer/components/BankTransferInput/BankTransferInput.js +1 -1
- package/dist/es-legacy/components/BankTransfer/components/BankTransferInput/BankTransferInput.js.map +1 -1
- package/dist/es-legacy/components/Blik/Blik.js +1 -1
- package/dist/es-legacy/components/Blik/Blik.js.map +1 -1
- package/dist/es-legacy/components/Blik/components/BlikInput.js +1 -1
- package/dist/es-legacy/components/Blik/components/BlikInput.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/types.js.map +1 -1
- package/dist/es-legacy/components/Card/components/ClickToPayHolder.js.map +1 -1
- package/dist/es-legacy/components/Card/components/ClickToPayWrapper.js +1 -1
- package/dist/es-legacy/components/Card/components/ClickToPayWrapper.js.map +1 -1
- package/dist/es-legacy/components/CashAppPay/CashAppPay.js +1 -1
- package/dist/es-legacy/components/CashAppPay/CashAppPay.js.map +1 -1
- package/dist/es-legacy/components/CustomCard/CustomCard.js +1 -1
- package/dist/es-legacy/components/CustomCard/CustomCard.js.map +1 -1
- package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
- package/dist/es-legacy/components/Donation/Donation.js +1 -1
- package/dist/es-legacy/components/Donation/Donation.js.map +1 -1
- package/dist/es-legacy/components/Donation/components/DonationComponent.js +1 -1
- package/dist/es-legacy/components/Donation/components/DonationComponent.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/Dropin/components/DropinComponent.js.map +1 -1
- package/dist/es-legacy/components/Giftcard/Giftcard.js.map +1 -1
- package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js.map +1 -1
- package/dist/es-legacy/components/Giropay/Giropay.js +1 -1
- package/dist/es-legacy/components/Giropay/Giropay.js.map +1 -1
- package/dist/es-legacy/components/MBWay/MBWay.js +1 -1
- package/dist/es-legacy/components/MBWay/MBWay.js.map +1 -1
- package/dist/es-legacy/components/MBWay/components/MBWayInput/MBWayInput.js +1 -1
- package/dist/es-legacy/components/MBWay/components/MBWayInput/MBWayInput.js.map +1 -1
- package/dist/es-legacy/components/Multibanco/Multibanco.js +1 -1
- package/dist/es-legacy/components/Multibanco/Multibanco.js.map +1 -1
- package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js +1 -1
- package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js.map +1 -1
- package/dist/es-legacy/components/PayByBankUS/PayByBankUS.js +1 -1
- package/dist/es-legacy/components/PayByBankUS/PayByBankUS.js.map +1 -1
- package/dist/es-legacy/components/PayTo/components/BSBInput.js +1 -1
- package/dist/es-legacy/components/PayTo/components/BSBInput.js.map +1 -1
- package/dist/es-legacy/components/PayTo/components/PayToNameFields.js +1 -1
- package/dist/es-legacy/components/PayTo/components/PayToNameFields.js.map +1 -1
- package/dist/es-legacy/components/PayTo/components/PayToPhone.js +1 -1
- package/dist/es-legacy/components/PayTo/components/PayToPhone.js.map +1 -1
- package/dist/es-legacy/components/Pix/Pix.js +1 -1
- package/dist/es-legacy/components/Pix/Pix.js.map +1 -1
- package/dist/es-legacy/components/Pix/components/PixInput/PixInput.js +1 -1
- package/dist/es-legacy/components/Pix/components/PixInput/PixInput.js.map +1 -1
- package/dist/es-legacy/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js +1 -1
- package/dist/es-legacy/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js.map +1 -1
- package/dist/es-legacy/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js +1 -1
- package/dist/es-legacy/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js.map +1 -1
- package/dist/es-legacy/components/Redirect/Redirect.js +1 -1
- package/dist/es-legacy/components/Redirect/Redirect.js.map +1 -1
- package/dist/es-legacy/components/Sepa/Sepa.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
- package/dist/es-legacy/components/Trustly/Trustly.js +1 -1
- package/dist/es-legacy/components/Trustly/Trustly.js.map +1 -1
- package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js +1 -1
- package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
- package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
- package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
- package/dist/es-legacy/components/internal/Address/Specifications.js.map +1 -1
- package/dist/es-legacy/components/internal/Address/components/AddressSearch.js.map +1 -1
- package/dist/es-legacy/components/internal/Address/components/FieldContainer.js.map +1 -1
- package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPLogin/CtPLoginInput.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPLogin/CtPLoginInput.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/context/ClickToPayProvider.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/sdks/MastercardSdk.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/sdks/VisaSdk.js.map +1 -1
- package/dist/es-legacy/components/internal/IbanInput/IbanInput.js +1 -1
- package/dist/es-legacy/components/internal/IbanInput/IbanInput.js.map +1 -1
- package/dist/es-legacy/components/internal/IbanInput/validate.js +1 -1
- package/dist/es-legacy/components/internal/IbanInput/validate.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/PhoneInput/PhoneInputForm.js +1 -1
- package/dist/es-legacy/components/internal/PhoneInput/PhoneInputForm.js.map +1 -1
- package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js +1 -1
- package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.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/internal/UIElement/utils.js +1 -1
- package/dist/es-legacy/components/internal/UIElement/utils.js.map +1 -1
- package/dist/es-legacy/core/config.js +1 -1
- package/dist/es-legacy/utils/Validator/Validator.js +1 -1
- package/dist/es-legacy/utils/Validator/Validator.js.map +1 -1
- package/dist/es-legacy/utils/useForm/reducer.js +1 -1
- package/dist/es-legacy/utils/useForm/reducer.js.map +1 -1
- package/dist/es-legacy/utils/useForm/useForm.js +1 -1
- package/dist/es-legacy/utils/useForm/useForm.js.map +1 -1
- package/dist/es-legacy/utils/useForm/useFormWithA11y.js +1 -1
- package/dist/es-legacy/utils/useForm/useFormWithA11y.js.map +1 -1
- package/package.json +10 -10
- package/styles/adyen.css +12 -12
|
@@ -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 o from"./components/MultibancoVoucherResult/MultibancoVoucherResult.js";import n from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as r}from"../tx-variants.js";class a extends e{get isValid(){return!0}formatProps(t){return{...t,name:t.name||"Multibanco"}}formatData(){return{paymentMethod:{type:this.props.type||a.type}}}componentToRender(){return this.props.reference?t(o,{...this.props,onActionHandled:this.onActionHandled}):this.props.showPayButton?t(n,{showPayButton:this.props.showPayButton,name:this.displayName,payButton:this.payButton,onSubmit:this.submit,
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./components/MultibancoVoucherResult/MultibancoVoucherResult.js";import n from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as r}from"../tx-variants.js";class a extends e{get isValid(){return!0}formatProps(t){return{...t,name:t.name||"Multibanco"}}formatData(){return{paymentMethod:{type:this.props.type||a.type}}}componentToRender(){return this.props.reference?t(o,{...this.props,onActionHandled:this.onActionHandled}):this.props.showPayButton?t(n,{showPayButton:this.props.showPayButton,name:this.displayName,payButton:this.payButton,onSubmit:this.submit,setComponentRef:this.setComponentRef}):null}}var s,i,p;s=a,i="type",p=r.multibanco,i in s?Object.defineProperty(s,i,{value:p,enumerable:!0,configurable:!0,writable:!0}):s[i]=p;export{a as MultibancoElement,a as default};
|
|
2
2
|
//# sourceMappingURL=Multibanco.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Multibanco.js","sources":["../../../../src/components/Multibanco/Multibanco.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MultibancoVoucherResult from './components/MultibancoVoucherResult';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class MultibancoElement extends UIElement<VoucherConfiguration> {\n public static readonly type = TxVariants.multibanco;\n\n get isValid() {\n return true;\n }\n\n formatProps(props) {\n return {\n ...props,\n name: props.name || 'Multibanco'\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n paymentMethod: {\n type: this.props.type || MultibancoElement.type\n }\n };\n }\n\n protected override componentToRender(): h.JSX.Element {\n if (this.props.reference) {\n return <MultibancoVoucherResult {...this.props} onActionHandled={this.onActionHandled} />;\n }\n\n if (this.props.showPayButton) {\n return (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n payButton={this.payButton}\n onSubmit={this.submit}\n
|
|
1
|
+
{"version":3,"file":"Multibanco.js","sources":["../../../../src/components/Multibanco/Multibanco.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MultibancoVoucherResult from './components/MultibancoVoucherResult';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class MultibancoElement extends UIElement<VoucherConfiguration> {\n public static readonly type = TxVariants.multibanco;\n\n get isValid() {\n return true;\n }\n\n formatProps(props) {\n return {\n ...props,\n name: props.name || 'Multibanco'\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n paymentMethod: {\n type: this.props.type || MultibancoElement.type\n }\n };\n }\n\n protected override componentToRender(): h.JSX.Element {\n if (this.props.reference) {\n return <MultibancoVoucherResult {...this.props} onActionHandled={this.onActionHandled} />;\n }\n\n if (this.props.showPayButton) {\n return (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n payButton={this.payButton}\n onSubmit={this.submit}\n setComponentRef={this.setComponentRef}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default MultibancoElement;\n"],"names":["MultibancoElement","UIElement","isValid","formatProps","props","name","formatData","paymentMethod","type","this","componentToRender","reference","h","MultibancoVoucherResult","onActionHandled","showPayButton","RedirectButton","displayName","payButton","onSubmit","submit","setComponentRef","TxVariants","multibanco"],"mappings":"8TAOO,MAAMA,UAA0BC,EAGnC,WAAIC,GACA,OAAO,CACX,CAEAC,WAAAA,CAAYC,GACR,MAAO,IACAA,EACHC,KAAMD,EAAMC,MAAQ,aAE5B,CAKAC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKL,MAAMI,MAAQR,EAAkBQ,MAGvD,CAEmBE,iBAAAA,GACf,OAAID,KAAKL,MAAMO,UACJC,EAACC,EAAAA,IAA4BJ,KAAKL,MAAOU,gBAAiBL,KAAKK,kBAGtEL,KAAKL,MAAMW,cAEPH,EAACI,EAAAA,CACGD,cAAeN,KAAKL,MAAMW,cAC1BV,KAAMI,KAAKQ,YACXC,UAAWT,KAAKS,UAChBC,SAAUV,KAAKW,OACfC,gBAAiBZ,KAAKY,kBAK3B,IACX,cA3CSrB,IACcQ,SAAOc,EAAWC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as t}from"../../external/preact/dist/preact.js";import{TxVariants as e}from"../tx-variants.js";import{UIElement as s}from"../internal/UIElement/UIElement.js";import n from"../internal/RedirectButton/RedirectButton.js";import i,{ERROR as
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import{TxVariants as e}from"../tx-variants.js";import{UIElement as s}from"../internal/UIElement/UIElement.js";import n from"../internal/RedirectButton/RedirectButton.js";import i,{ERROR as o}from"../../core/Errors/AdyenCheckoutError.js";import{PasskeyService as r}from"./services/PasskeyService.js";import{authorizeEnrollment as a}from"./services/authorizeEnrollment.js";import{authorizePayment as p}from"./services/authorizePayment.js";import d from"./components/StoredPayment/StoredPayment.js";import h from"./components/Enrollment/Enrollment.js";function l(t,e,s){return e in t?Object.defineProperty(t,e,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[e]=s,t}class c extends s{get isValid(){return!(this.props._isAdyenHosted&&!this.props.storedPaymentMethodId)||!!this.state?.isValid}get additionalInfo(){return this.props.storedPaymentMethodId?this.props.i18n.get("paybybankpix.storedPayment.additionalLabel",{values:{receiver:this.props?.payByBankPixDetails?.receiver}}):""}get icon(){return this.props.storedPaymentMethodId?this.resources.getImage({parentFolder:`${c.type}/`})(this.props?.payByBankPixDetails?.ispb):super.icon}async isAvailable(){const t=await this.passkeyService.getWebAuthnUnsupportedReason();if(t)return Promise.reject(new i(o,t));if(!this.props._isAdyenHosted)return Promise.resolve();try{if(await this.passkeyService.initialize(),this.props.storedPaymentMethodId){return await this.passkeyService.canUseStoredCredential()?Promise.resolve():Promise.reject(new i("ERROR","The stored payment method is not available on this device"))}return Promise.resolve()}catch(t){return Promise.reject(t instanceof Error?t?.message:"Unknown error")}}handleAction(t,e={}){const s=this.core.createFromAction(t,{...this.elementRef.props,...e,onAdditionalDetails:this.handleAdditionalDetails});return s?(this.unmount(),s.isAvailable().then(()=>{s.mount(this._node)}),s):null}formatData(){if(!this.props._isAdyenHosted)return{paymentMethod:{type:e.paybybank_pix}};const t=null==this.props.storedPaymentMethodId;return{paymentMethod:{type:e.paybybank_pix,...this.state.data},...t?{storePaymentMethod:!0}:{}}}componentToRender(){return this.props._isAdyenHosted?null!=this.props.storedPaymentMethodId?t(d,{txVariant:c.type,type:this.props.type,clientKey:this.props.clientKey,enrollmentId:this.props.paymentMethodData?.enrollmentId,initiationId:this.props.paymentMethodData?.initiationId,setComponentRef:this.setComponentRef,onPay:this.payWithStoredPayment,onAuthorize:this.authorizePayment}):t(h,{onError:this.handleError,txVariant:c.type,type:this.props.type,clientKey:this.props.clientKey,enrollmentId:this.props.paymentMethodData?.enrollmentId,countdownTime:this.props.countdownTime,onEnroll:this.authorizeEnrollment,issuers:this.props.issuers,payButton:this.payButton,onChange:this.onIssuerSelected,onSubmitAnalytics:this.submitAnalytics,setComponentRef:this.setComponentRef}):t(n,{showPayButton:this.props.showPayButton,name:this.displayName,label:this.props.i18n.get("paybybankpix.redirectBtn.label"),payButton:this.payButton,onSubmit:this.submit,setComponentRef:this.setComponentRef})}constructor(t,e){super(t,e),l(this,"passkeyService",void 0),l(this,"onIssuerSelected",async t=>{try{const{data:e={}}=t;if(!e.issuer)return;const{deviceId:s,...n}=await this.passkeyService.captureRiskSignalsEnrollment();this.setState({...t,data:{...e,riskSignals:n,deviceId:s}})}catch(t){const e=t instanceof Error?t.message:"Unknown error in the onIssuerSelected";this.handleError(t instanceof i?t:new i(o,e))}}),l(this,"authorizeEnrollment",async t=>{try{const e=await this.passkeyService.createCredentialForEnrollment(t),s={enrollmentId:this.props.paymentMethodData?.enrollmentId,fidoAssertion:e},{redirectResult:n}=await a({enrollment:s,clientKey:this.props.clientKey,loadingContext:this.props.loadingContext});this.handleAdditionalDetails({data:{details:{redirectResult:n}}})}catch(t){const e=t instanceof Error?t.message:"Unknown error in the authorizeEnrollment";this.handleError(t instanceof i?t:new i(o,e))}}),l(this,"payWithStoredPayment",async()=>{try{const{deviceId:t,...e}=await this.passkeyService.captureRiskSignalsAuthentication();this.state={...this.state,data:{storedPaymentMethodId:this.props.storedPaymentMethodId,riskSignals:e,deviceId:t}},this.executePaymentsCall()}catch(t){const e=t instanceof Error?t.message:"Unknown error in the payWithStoredPayment";this.handleError(t instanceof i?t:new i(o,e))}}),l(this,"authorizePayment",async t=>{try{const e=await this.passkeyService.authenticateWithCredential(t),s={enrollmentId:this.props.paymentMethodData?.enrollmentId,initiationId:this.props.paymentMethodData?.initiationId,fidoAssertion:e},{redirectResult:n}=await p({payment:s,clientKey:this.props.clientKey,loadingContext:this.props.loadingContext});this.handleAdditionalDetails({data:{details:{redirectResult:n}}})}catch(t){const e=t instanceof Error?t.message:"Unknown error in the authorizePayment";this.handleError(t instanceof i?t:new i(o,e))}});const s=this.props.storedPaymentMethodId?this.props?.payByBankPixDetails?.deviceId:this.props.deviceId;this.passkeyService=new r({environment:this.props.environment,deviceId:s},this.analytics),this.props._isAdyenHosted&&this.passkeyService.initialize()}}l(c,"type",e.paybybank_pix),l(c,"TIMEOUT_MINUTES",1),l(c,"defaultProps",{showPayButton:!0,_isAdyenHosted:(()=>{try{return new URL(window.location.href).hostname.endsWith(".adyen.com")}catch(t){return!1}})(),countdownTime:c.TIMEOUT_MINUTES});export{c as default};
|
|
2
2
|
//# sourceMappingURL=PayByBankPix.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PayByBankPix.js","sources":["../../../../src/components/PayByBankPix/PayByBankPix.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { PayByBankPixData, PayByBankPixConfiguration } from './types';\nimport { TxVariants } from '../tx-variants';\nimport UIElement from '../internal/UIElement';\nimport RedirectButton from '../internal/RedirectButton';\nimport AdyenCheckoutError, { ERROR } from '../../core/Errors/AdyenCheckoutError';\nimport { PasskeyService } from './services/PasskeyService';\nimport { authorizeEnrollment } from './services/authorizeEnrollment';\nimport { authorizePayment } from './services/authorizePayment';\nimport StoredPayment from './components/StoredPayment';\nimport Enrollment from './components/Enrollment';\nimport { PaymentAction } from '../../types/global-types';\nimport type { ICore } from '../../core/types';\n\nconst isAdyenHosted = () => {\n try {\n const currentUrl = new URL(window.location.href);\n return currentUrl.hostname.endsWith('.adyen.com');\n } catch (e) {\n // SSR, or it fails to parse the full url\n return false;\n }\n};\nclass PayByBankPixElement extends UIElement<PayByBankPixConfiguration> {\n public static readonly type = TxVariants.paybybank_pix;\n private static readonly TIMEOUT_MINUTES = 1;\n private readonly passkeyService: PasskeyService;\n\n public static readonly defaultProps: PayByBankPixConfiguration = {\n showPayButton: true,\n _isAdyenHosted: isAdyenHosted(),\n countdownTime: PayByBankPixElement.TIMEOUT_MINUTES\n };\n\n constructor(checkout: ICore, props?: PayByBankPixConfiguration) {\n super(checkout, props);\n const deviceId = this.props.storedPaymentMethodId ? this.props?.payByBankPixDetails?.deviceId : this.props.deviceId;\n\n this.passkeyService = new PasskeyService(\n {\n environment: this.props.environment,\n deviceId\n },\n this.analytics\n );\n\n if (this.props._isAdyenHosted) {\n void this.passkeyService.initialize();\n }\n }\n\n get isValid(): boolean {\n // Always true for non-hosted page or stored payment\n if (!this.props._isAdyenHosted || this.props.storedPaymentMethodId) {\n return true;\n }\n return !!this.state?.isValid;\n }\n\n /**\n * Display in the drop-in\n */\n get additionalInfo() {\n return this.props.storedPaymentMethodId\n ? this.props.i18n.get('paybybankpix.storedPayment.additionalLabel', { values: { receiver: this.props?.payByBankPixDetails?.receiver } })\n : '';\n }\n\n /**\n * Display in the drop-in\n */\n public override get icon() {\n return this.props.storedPaymentMethodId\n ? this.resources.getImage({ parentFolder: `${PayByBankPixElement.type}/` })(this.props?.payByBankPixDetails?.ispb)\n : super.icon;\n }\n\n /**\n * Method used to let the merchant know if the shopper's device supports WebAuthn APIs: https://featuredetect.passkeys.dev/\n */\n public override async isAvailable(): Promise<void> {\n const unsupportedReason = await this.passkeyService.getWebAuthnUnsupportedReason();\n if (unsupportedReason) {\n return Promise.reject(new AdyenCheckoutError(ERROR, unsupportedReason));\n }\n if (!this.props._isAdyenHosted) {\n return Promise.resolve();\n }\n\n // Load passkey sdk on the hosted page\n try {\n await this.passkeyService.initialize();\n\n if (this.props.storedPaymentMethodId) {\n // If the provided deviceId from the server does not match the localstorage deviceId, do not render the stored payment component.\n const shouldShowStoredPaymentMethod = await this.passkeyService.canUseStoredCredential();\n return shouldShowStoredPaymentMethod\n ? Promise.resolve()\n : Promise.reject(new AdyenCheckoutError('ERROR', 'The stored payment method is not available on this device'));\n }\n\n return Promise.resolve();\n } catch (error) {\n return Promise.reject(error instanceof Error ? error?.message : 'Unknown error');\n }\n }\n\n /**\n * Make sure the await action UIElement is available before mounting\n */\n public override handleAction(action: PaymentAction, props: {} = {}): UIElement | null {\n const paymentAction = this.core.createFromAction(action, {\n ...this.elementRef.props,\n ...props,\n onAdditionalDetails: this.handleAdditionalDetails\n });\n if (paymentAction) {\n this.unmount();\n void paymentAction.isAvailable().then(() => {\n paymentAction.mount(this._node);\n });\n return paymentAction;\n }\n\n return null;\n }\n\n formatData(): PayByBankPixData {\n if (!this.props._isAdyenHosted) {\n return {\n paymentMethod: { type: TxVariants.paybybank_pix }\n };\n }\n\n const isEnrollment = this.props.storedPaymentMethodId == null;\n return {\n paymentMethod: { type: TxVariants.paybybank_pix, ...this.state.data },\n // Always store the payment method for the enrollment flow.\n ...(isEnrollment ? { storePaymentMethod: true } : {})\n };\n }\n\n /**\n * There are 3 endpoints (stages) we need to call for the enrollment flow.\n * The first one is the regular payments call on issuer selection - we indicate to store the payment token for the selected issuer.\n * The second one is to poll the enrollment eligibility - we poll the server to get the enrollment challenge in the `getEnrollmentStatus` function.\n * The third one is in the `authorizeEnrollment` function - we create passkeys and authorize the enrollment with shopper's passkey.\n */\n private readonly onIssuerSelected = async payload => {\n try {\n const { data = {} } = payload;\n if (!data.issuer) {\n return;\n }\n\n const { deviceId, ...riskSignals } = await this.passkeyService.captureRiskSignalsEnrollment();\n this.setState({ ...payload, data: { ...data, riskSignals, deviceId } });\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Unknown error in the onIssuerSelected';\n this.handleError(error instanceof AdyenCheckoutError ? error : new AdyenCheckoutError(ERROR, errorMsg));\n }\n };\n\n private readonly authorizeEnrollment = async (registrationOptions: string): Promise<void> => {\n try {\n const fidoAssertion = await this.passkeyService.createCredentialForEnrollment(registrationOptions); // Create passkey and trigger biometrics\n const enrollment = { enrollmentId: this.props.paymentMethodData?.enrollmentId, fidoAssertion };\n const { redirectResult } = await authorizeEnrollment({\n enrollment,\n clientKey: this.props.clientKey,\n loadingContext: this.props.loadingContext\n });\n // Make paymentDetails call to finalize the enrollment.\n this.handleAdditionalDetails({ data: { details: { redirectResult } } });\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Unknown error in the authorizeEnrollment';\n this.handleError(error instanceof AdyenCheckoutError ? error : new AdyenCheckoutError(ERROR, errorMsg));\n }\n };\n\n /**\n * There are 3 endpoints (stages) we need to call for the payment flow.\n * The first one `payWithStoredPayment` is the regular payments call - we attempt to pay with the stored payment token.\n * The second one is to poll the authorization options - we poll the server to get the challenge in the `getAuthorizationStatus` function.\n * The third one is in the `authorizePayment` function - we authorize the payment with shopper's passkey.\n */\n private readonly payWithStoredPayment = async () => {\n try {\n const { deviceId, ...riskSignals } = await this.passkeyService.captureRiskSignalsAuthentication();\n this.state = { ...this.state, ...{ data: { storedPaymentMethodId: this.props.storedPaymentMethodId, riskSignals, deviceId } } };\n this.executePaymentsCall();\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Unknown error in the payWithStoredPayment';\n this.handleError(error instanceof AdyenCheckoutError ? error : new AdyenCheckoutError(ERROR, errorMsg));\n }\n };\n\n private readonly authorizePayment = async (authenticationOptions: string): Promise<void> => {\n try {\n const fidoAssertion = await this.passkeyService.authenticateWithCredential(authenticationOptions);\n const payment = {\n enrollmentId: this.props.paymentMethodData?.enrollmentId,\n initiationId: this.props.paymentMethodData?.initiationId,\n fidoAssertion\n };\n const { redirectResult } = await authorizePayment({\n payment,\n clientKey: this.props.clientKey,\n loadingContext: this.props.loadingContext\n });\n this.handleAdditionalDetails({ data: { details: { redirectResult } } });\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Unknown error in the authorizePayment';\n this.handleError(error instanceof AdyenCheckoutError ? error : new AdyenCheckoutError(ERROR, errorMsg));\n }\n };\n\n protected override componentToRender(): h.JSX.Element {\n // Always render the redirect button on the merchant's page\n if (!this.props._isAdyenHosted) {\n return (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n label={this.props.i18n.get('paybybankpix.redirectBtn.label')}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n );\n }\n\n return this.props.storedPaymentMethodId != null ? (\n <StoredPayment\n txVariant={PayByBankPixElement.type}\n type={this.props.type}\n clientKey={this.props.clientKey}\n enrollmentId={this.props.paymentMethodData?.enrollmentId}\n initiationId={this.props.paymentMethodData?.initiationId}\n setComponentRef={this.setComponentRef}\n onPay={this.payWithStoredPayment}\n onAuthorize={this.authorizePayment}\n />\n ) : (\n <Enrollment\n onError={this.handleError}\n txVariant={PayByBankPixElement.type}\n // Await\n type={this.props.type}\n clientKey={this.props.clientKey}\n enrollmentId={this.props.paymentMethodData?.enrollmentId}\n countdownTime={this.props.countdownTime}\n onEnroll={this.authorizeEnrollment}\n // Issuer List\n issuers={this.props.issuers}\n payButton={this.payButton}\n onChange={this.onIssuerSelected}\n onSubmitAnalytics={this.submitAnalytics}\n setComponentRef={this.setComponentRef}\n />\n );\n }\n}\n//\nexport default PayByBankPixElement;\n"],"names":["PayByBankPixElement","UIElement","isValid","this","props","_isAdyenHosted","storedPaymentMethodId","state","additionalInfo","i18n","get","values","receiver","payByBankPixDetails","icon","resources","getImage","parentFolder","type","ispb","super","isAvailable","unsupportedReason","passkeyService","getWebAuthnUnsupportedReason","Promise","reject","AdyenCheckoutError","ERROR","resolve","initialize","canUseStoredCredential","error","Error","message","handleAction","action","paymentAction","core","createFromAction","elementRef","onAdditionalDetails","handleAdditionalDetails","unmount","then","mount","_node","formatData","paymentMethod","TxVariants","paybybank_pix","isEnrollment","data","storePaymentMethod","componentToRender","h","StoredPayment","txVariant","clientKey","enrollmentId","paymentMethodData","initiationId","setComponentRef","onPay","payWithStoredPayment","onAuthorize","authorizePayment","Enrollment","onError","handleError","countdownTime","onEnroll","authorizeEnrollment","issuers","payButton","onChange","onIssuerSelected","onSubmitAnalytics","submitAnalytics","RedirectButton","showPayButton","name","displayName","label","onSubmit","submit","ref","componentRef","constructor","checkout","_define_property","async","payload","issuer","deviceId","riskSignals","captureRiskSignalsEnrollment","setState","errorMsg","registrationOptions","fidoAssertion","createCredentialForEnrollment","enrollment","redirectResult","loadingContext","details","captureRiskSignalsAuthentication","executePaymentsCall","authenticationOptions","authenticateWithCredential","payment","PasskeyService","environment","analytics","TIMEOUT_MINUTES","defaultProps","URL","window","location","href","hostname","endsWith","e","isAdyenHosted"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PayByBankPix.js","sources":["../../../../src/components/PayByBankPix/PayByBankPix.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { PayByBankPixData, PayByBankPixConfiguration } from './types';\nimport { TxVariants } from '../tx-variants';\nimport UIElement from '../internal/UIElement';\nimport RedirectButton from '../internal/RedirectButton';\nimport AdyenCheckoutError, { ERROR } from '../../core/Errors/AdyenCheckoutError';\nimport { PasskeyService } from './services/PasskeyService';\nimport { authorizeEnrollment } from './services/authorizeEnrollment';\nimport { authorizePayment } from './services/authorizePayment';\nimport StoredPayment from './components/StoredPayment';\nimport Enrollment from './components/Enrollment';\nimport { PaymentAction } from '../../types/global-types';\nimport type { ICore } from '../../core/types';\n\nconst isAdyenHosted = () => {\n try {\n const currentUrl = new URL(window.location.href);\n return currentUrl.hostname.endsWith('.adyen.com');\n } catch (e) {\n // SSR, or it fails to parse the full url\n return false;\n }\n};\nclass PayByBankPixElement extends UIElement<PayByBankPixConfiguration> {\n public static readonly type = TxVariants.paybybank_pix;\n private static readonly TIMEOUT_MINUTES = 1;\n private readonly passkeyService: PasskeyService;\n\n public static readonly defaultProps: PayByBankPixConfiguration = {\n showPayButton: true,\n _isAdyenHosted: isAdyenHosted(),\n countdownTime: PayByBankPixElement.TIMEOUT_MINUTES\n };\n\n constructor(checkout: ICore, props?: PayByBankPixConfiguration) {\n super(checkout, props);\n const deviceId = this.props.storedPaymentMethodId ? this.props?.payByBankPixDetails?.deviceId : this.props.deviceId;\n\n this.passkeyService = new PasskeyService(\n {\n environment: this.props.environment,\n deviceId\n },\n this.analytics\n );\n\n if (this.props._isAdyenHosted) {\n void this.passkeyService.initialize();\n }\n }\n\n get isValid(): boolean {\n // Always true for non-hosted page or stored payment\n if (!this.props._isAdyenHosted || this.props.storedPaymentMethodId) {\n return true;\n }\n return !!this.state?.isValid;\n }\n\n /**\n * Display in the drop-in\n */\n get additionalInfo() {\n return this.props.storedPaymentMethodId\n ? this.props.i18n.get('paybybankpix.storedPayment.additionalLabel', { values: { receiver: this.props?.payByBankPixDetails?.receiver } })\n : '';\n }\n\n /**\n * Display in the drop-in\n */\n public override get icon() {\n return this.props.storedPaymentMethodId\n ? this.resources.getImage({ parentFolder: `${PayByBankPixElement.type}/` })(this.props?.payByBankPixDetails?.ispb)\n : super.icon;\n }\n\n /**\n * Method used to let the merchant know if the shopper's device supports WebAuthn APIs: https://featuredetect.passkeys.dev/\n */\n public override async isAvailable(): Promise<void> {\n const unsupportedReason = await this.passkeyService.getWebAuthnUnsupportedReason();\n if (unsupportedReason) {\n return Promise.reject(new AdyenCheckoutError(ERROR, unsupportedReason));\n }\n if (!this.props._isAdyenHosted) {\n return Promise.resolve();\n }\n\n // Load passkey sdk on the hosted page\n try {\n await this.passkeyService.initialize();\n\n if (this.props.storedPaymentMethodId) {\n // If the provided deviceId from the server does not match the localstorage deviceId, do not render the stored payment component.\n const shouldShowStoredPaymentMethod = await this.passkeyService.canUseStoredCredential();\n return shouldShowStoredPaymentMethod\n ? Promise.resolve()\n : Promise.reject(new AdyenCheckoutError('ERROR', 'The stored payment method is not available on this device'));\n }\n\n return Promise.resolve();\n } catch (error) {\n return Promise.reject(error instanceof Error ? error?.message : 'Unknown error');\n }\n }\n\n /**\n * Make sure the await action UIElement is available before mounting\n */\n public override handleAction(action: PaymentAction, props: {} = {}): UIElement | null {\n const paymentAction = this.core.createFromAction(action, {\n ...this.elementRef.props,\n ...props,\n onAdditionalDetails: this.handleAdditionalDetails\n });\n if (paymentAction) {\n this.unmount();\n void paymentAction.isAvailable().then(() => {\n paymentAction.mount(this._node);\n });\n return paymentAction;\n }\n\n return null;\n }\n\n formatData(): PayByBankPixData {\n if (!this.props._isAdyenHosted) {\n return {\n paymentMethod: { type: TxVariants.paybybank_pix }\n };\n }\n\n const isEnrollment = this.props.storedPaymentMethodId == null;\n return {\n paymentMethod: { type: TxVariants.paybybank_pix, ...this.state.data },\n // Always store the payment method for the enrollment flow.\n ...(isEnrollment ? { storePaymentMethod: true } : {})\n };\n }\n\n /**\n * There are 3 endpoints (stages) we need to call for the enrollment flow.\n * The first one is the regular payments call on issuer selection - we indicate to store the payment token for the selected issuer.\n * The second one is to poll the enrollment eligibility - we poll the server to get the enrollment challenge in the `getEnrollmentStatus` function.\n * The third one is in the `authorizeEnrollment` function - we create passkeys and authorize the enrollment with shopper's passkey.\n */\n private readonly onIssuerSelected = async payload => {\n try {\n const { data = {} } = payload;\n if (!data.issuer) {\n return;\n }\n\n const { deviceId, ...riskSignals } = await this.passkeyService.captureRiskSignalsEnrollment();\n this.setState({ ...payload, data: { ...data, riskSignals, deviceId } });\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Unknown error in the onIssuerSelected';\n this.handleError(error instanceof AdyenCheckoutError ? error : new AdyenCheckoutError(ERROR, errorMsg));\n }\n };\n\n private readonly authorizeEnrollment = async (registrationOptions: string): Promise<void> => {\n try {\n const fidoAssertion = await this.passkeyService.createCredentialForEnrollment(registrationOptions); // Create passkey and trigger biometrics\n const enrollment = { enrollmentId: this.props.paymentMethodData?.enrollmentId, fidoAssertion };\n const { redirectResult } = await authorizeEnrollment({\n enrollment,\n clientKey: this.props.clientKey,\n loadingContext: this.props.loadingContext\n });\n // Make paymentDetails call to finalize the enrollment.\n this.handleAdditionalDetails({ data: { details: { redirectResult } } });\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Unknown error in the authorizeEnrollment';\n this.handleError(error instanceof AdyenCheckoutError ? error : new AdyenCheckoutError(ERROR, errorMsg));\n }\n };\n\n /**\n * There are 3 endpoints (stages) we need to call for the payment flow.\n * The first one `payWithStoredPayment` is the regular payments call - we attempt to pay with the stored payment token.\n * The second one is to poll the authorization options - we poll the server to get the challenge in the `getAuthorizationStatus` function.\n * The third one is in the `authorizePayment` function - we authorize the payment with shopper's passkey.\n */\n private readonly payWithStoredPayment = async () => {\n try {\n const { deviceId, ...riskSignals } = await this.passkeyService.captureRiskSignalsAuthentication();\n this.state = { ...this.state, ...{ data: { storedPaymentMethodId: this.props.storedPaymentMethodId, riskSignals, deviceId } } };\n this.executePaymentsCall();\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Unknown error in the payWithStoredPayment';\n this.handleError(error instanceof AdyenCheckoutError ? error : new AdyenCheckoutError(ERROR, errorMsg));\n }\n };\n\n private readonly authorizePayment = async (authenticationOptions: string): Promise<void> => {\n try {\n const fidoAssertion = await this.passkeyService.authenticateWithCredential(authenticationOptions);\n const payment = {\n enrollmentId: this.props.paymentMethodData?.enrollmentId,\n initiationId: this.props.paymentMethodData?.initiationId,\n fidoAssertion\n };\n const { redirectResult } = await authorizePayment({\n payment,\n clientKey: this.props.clientKey,\n loadingContext: this.props.loadingContext\n });\n this.handleAdditionalDetails({ data: { details: { redirectResult } } });\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Unknown error in the authorizePayment';\n this.handleError(error instanceof AdyenCheckoutError ? error : new AdyenCheckoutError(ERROR, errorMsg));\n }\n };\n\n protected override componentToRender(): h.JSX.Element {\n // Always render the redirect button on the merchant's page\n if (!this.props._isAdyenHosted) {\n return (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n label={this.props.i18n.get('paybybankpix.redirectBtn.label')}\n payButton={this.payButton}\n onSubmit={this.submit}\n setComponentRef={this.setComponentRef}\n />\n );\n }\n\n return this.props.storedPaymentMethodId != null ? (\n <StoredPayment\n txVariant={PayByBankPixElement.type}\n type={this.props.type}\n clientKey={this.props.clientKey}\n enrollmentId={this.props.paymentMethodData?.enrollmentId}\n initiationId={this.props.paymentMethodData?.initiationId}\n setComponentRef={this.setComponentRef}\n onPay={this.payWithStoredPayment}\n onAuthorize={this.authorizePayment}\n />\n ) : (\n <Enrollment\n onError={this.handleError}\n txVariant={PayByBankPixElement.type}\n // Await\n type={this.props.type}\n clientKey={this.props.clientKey}\n enrollmentId={this.props.paymentMethodData?.enrollmentId}\n countdownTime={this.props.countdownTime}\n onEnroll={this.authorizeEnrollment}\n // Issuer List\n issuers={this.props.issuers}\n payButton={this.payButton}\n onChange={this.onIssuerSelected}\n onSubmitAnalytics={this.submitAnalytics}\n setComponentRef={this.setComponentRef}\n />\n );\n }\n}\n//\nexport default PayByBankPixElement;\n"],"names":["PayByBankPixElement","UIElement","isValid","this","props","_isAdyenHosted","storedPaymentMethodId","state","additionalInfo","i18n","get","values","receiver","payByBankPixDetails","icon","resources","getImage","parentFolder","type","ispb","super","isAvailable","unsupportedReason","passkeyService","getWebAuthnUnsupportedReason","Promise","reject","AdyenCheckoutError","ERROR","resolve","initialize","canUseStoredCredential","error","Error","message","handleAction","action","paymentAction","core","createFromAction","elementRef","onAdditionalDetails","handleAdditionalDetails","unmount","then","mount","_node","formatData","paymentMethod","TxVariants","paybybank_pix","isEnrollment","data","storePaymentMethod","componentToRender","h","StoredPayment","txVariant","clientKey","enrollmentId","paymentMethodData","initiationId","setComponentRef","onPay","payWithStoredPayment","onAuthorize","authorizePayment","Enrollment","onError","handleError","countdownTime","onEnroll","authorizeEnrollment","issuers","payButton","onChange","onIssuerSelected","onSubmitAnalytics","submitAnalytics","RedirectButton","showPayButton","name","displayName","label","onSubmit","submit","constructor","checkout","_define_property","async","payload","issuer","deviceId","riskSignals","captureRiskSignalsEnrollment","setState","errorMsg","registrationOptions","fidoAssertion","createCredentialForEnrollment","enrollment","redirectResult","loadingContext","details","captureRiskSignalsAuthentication","executePaymentsCall","authenticationOptions","authenticateWithCredential","payment","PasskeyService","environment","analytics","TIMEOUT_MINUTES","defaultProps","URL","window","location","href","hostname","endsWith","e","isAdyenHosted"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as t,Fragment as e}from"../../external/preact/dist/preact.js";import s from"../Redirect/Redirect.js";import o from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as a}from"../tx-variants.js";import r from"../../utils/get-issuer-image.js";import n from"../internal/PayButton/PayButton.js";import{payAmountLabel as i}from"../internal/PayButton/utils.js";class p extends s{formatProps(t){return{keepBrandsVisible:!0,showOtherInsteadOfNumber:!0,...t}}formatData(){return{paymentMethod:{type:this.type,...this.props.storedPaymentMethodId&&{storedPaymentMethodId:this.props.storedPaymentMethodId}},browserInfo:this.browserInfo}}get displayName(){return this.props.storedPaymentMethodId&&this.props.label?this.props.label:this.props.name}get additionalInfo(){return this.props.storedPaymentMethodId?this.props.name:""}get brands(){const t=r({},"paybybank",t=>this.resources.getImage(t));return[{icon:t("US-1"),name:"Wells Fargo"},{icon:t("US-2"),name:"Bank of America"},{icon:t("US-3"),name:"Chase"},{icon:t("US-4"),name:"Citi"}]}componentToRender(){return this.props.storedPaymentMethodId?this.props.showPayButton&&t(n,{...this.props,classNameModifiers:["standalone"],label:i(this.props.i18n,this.props.amount),showReview:!!this.props.onReview,onClick:this.submit}):t(e,null,t("div",{className:"adyen-checkout-paybybank_AIS_DD"},t("p",{className:"adyen-checkout-paybybank_AIS_DD__description-header"},this.props.i18n.get("payByBankAISDD.disclaimer.header")),t("p",{className:"adyen-checkout-paybybank_AIS_DD__description-body"},this.props.i18n.get("payByBankAISDD.disclaimer.body"))),this.props.showPayButton&&t(o,{...this.props,showPayButton:this.props.showPayButton,name:this.displayName,onSubmit:this.submit,payButton:this.payButton,
|
|
1
|
+
import{createElement as t,Fragment as e}from"../../external/preact/dist/preact.js";import s from"../Redirect/Redirect.js";import o from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as a}from"../tx-variants.js";import r from"../../utils/get-issuer-image.js";import n from"../internal/PayButton/PayButton.js";import{payAmountLabel as i}from"../internal/PayButton/utils.js";class p extends s{formatProps(t){return{keepBrandsVisible:!0,showOtherInsteadOfNumber:!0,...t}}formatData(){return{paymentMethod:{type:this.type,...this.props.storedPaymentMethodId&&{storedPaymentMethodId:this.props.storedPaymentMethodId}},browserInfo:this.browserInfo}}get displayName(){return this.props.storedPaymentMethodId&&this.props.label?this.props.label:this.props.name}get additionalInfo(){return this.props.storedPaymentMethodId?this.props.name:""}get brands(){const t=r({},"paybybank",t=>this.resources.getImage(t));return[{icon:t("US-1"),name:"Wells Fargo"},{icon:t("US-2"),name:"Bank of America"},{icon:t("US-3"),name:"Chase"},{icon:t("US-4"),name:"Citi"}]}componentToRender(){return this.props.storedPaymentMethodId?this.props.showPayButton&&t(n,{...this.props,classNameModifiers:["standalone"],label:i(this.props.i18n,this.props.amount),showReview:!!this.props.onReview,onClick:this.submit}):t(e,null,t("div",{className:"adyen-checkout-paybybank_AIS_DD"},t("p",{className:"adyen-checkout-paybybank_AIS_DD__description-header"},this.props.i18n.get("payByBankAISDD.disclaimer.header")),t("p",{className:"adyen-checkout-paybybank_AIS_DD__description-body"},this.props.i18n.get("payByBankAISDD.disclaimer.body"))),this.props.showPayButton&&t(o,{...this.props,showPayButton:this.props.showPayButton,name:this.displayName,onSubmit:this.submit,payButton:this.payButton,setComponentRef:this.setComponentRef}))}}var m,d,h;m=p,d="type",h=a.paybybank_AIS_DD,d in m?Object.defineProperty(m,d,{value:h,enumerable:!0,configurable:!0,writable:!0}):m[d]=h;export{p as default};
|
|
2
2
|
//# sourceMappingURL=PayByBankUS.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PayByBankUS.js","sources":["../../../../src/components/PayByBankUS/PayByBankUS.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport RedirectElement from '../Redirect';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport getIssuerImageUrl from '../../utils/get-issuer-image';\nimport PayButton from '../internal/PayButton';\nimport { payAmountLabel } from '../internal/PayButton/utils';\nimport { PaymentMethodBrand } from '../../types/global-types';\
|
|
1
|
+
{"version":3,"file":"PayByBankUS.js","sources":["../../../../src/components/PayByBankUS/PayByBankUS.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport RedirectElement from '../Redirect';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport getIssuerImageUrl from '../../utils/get-issuer-image';\nimport PayButton from '../internal/PayButton';\nimport { payAmountLabel } from '../internal/PayButton/utils';\nimport { PaymentMethodBrand } from '../../types/global-types';\nimport './PayByBankUS.scss';\n\nexport default class PayByBankUS extends RedirectElement {\n public static override readonly type: TxVariants = TxVariants.paybybank_AIS_DD;\n\n protected formatProps(props) {\n return {\n // paymentMethodBrands configuration\n keepBrandsVisible: true,\n showOtherInsteadOfNumber: true,\n ...props\n };\n }\n\n public formatData() {\n return {\n paymentMethod: {\n type: this.type,\n ...(this.props.storedPaymentMethodId && {\n storedPaymentMethodId: this.props.storedPaymentMethodId\n })\n },\n browserInfo: this.browserInfo\n };\n }\n\n get displayName() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.label;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n return this.props.storedPaymentMethodId ? this.props.name : '';\n }\n\n /*\n Hardcode US brands \n */\n get brands(): PaymentMethodBrand[] {\n const getImage = props => this.resources.getImage(props);\n // paybybank_AIS_DD / tx_variant not used here since images are kept in paybybank subfolder\n const getIssuerIcon = getIssuerImageUrl({}, 'paybybank', getImage);\n\n // hardcoding\n return [\n { icon: getIssuerIcon('US-1'), name: 'Wells Fargo' },\n { icon: getIssuerIcon('US-2'), name: 'Bank of America' },\n { icon: getIssuerIcon('US-3'), name: 'Chase' },\n { icon: getIssuerIcon('US-4'), name: 'Citi' }\n ];\n }\n\n protected override componentToRender(): h.JSX.Element {\n return this.props.storedPaymentMethodId ? (\n this.props.showPayButton && (\n <PayButton\n {...this.props}\n classNameModifiers={['standalone']}\n label={payAmountLabel(this.props.i18n, this.props.amount)}\n showReview={!!this.props.onReview}\n onClick={this.submit}\n />\n )\n ) : (\n <Fragment>\n <div className=\"adyen-checkout-paybybank_AIS_DD\">\n <p className=\"adyen-checkout-paybybank_AIS_DD__description-header\">{this.props.i18n.get('payByBankAISDD.disclaimer.header')}</p>\n <p className=\"adyen-checkout-paybybank_AIS_DD__description-body\">{this.props.i18n.get('payByBankAISDD.disclaimer.body')}</p>\n </div>\n\n {this.props.showPayButton && (\n <RedirectButton\n {...this.props}\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n setComponentRef={this.setComponentRef}\n />\n )}\n </Fragment>\n );\n }\n}\n"],"names":["PayByBankUS","RedirectElement","formatProps","props","keepBrandsVisible","showOtherInsteadOfNumber","formatData","paymentMethod","type","this","storedPaymentMethodId","browserInfo","displayName","label","name","additionalInfo","brands","getIssuerIcon","getIssuerImageUrl","resources","getImage","icon","componentToRender","showPayButton","h","PayButton","classNameModifiers","payAmountLabel","i18n","amount","showReview","onReview","onClick","submit","Fragment","div","className","p","get","RedirectButton","onSubmit","payButton","setComponentRef","TxVariants","paybybank_AIS_DD"],"mappings":"sYAUe,MAAMA,UAAoBC,EAG3BC,WAAAA,CAAYC,GAClB,MAAO,CAEHC,mBAAmB,EACnBC,0BAA0B,KACvBF,EAEX,CAEOG,UAAAA,GACH,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKD,QACPC,KAAKN,MAAMO,uBAAyB,CACpCA,sBAAuBD,KAAKN,MAAMO,wBAG1CC,YAAaF,KAAKE,YAE1B,CAEA,eAAIC,GACA,OAAIH,KAAKN,MAAMO,uBAAyBD,KAAKN,MAAMU,MACxCJ,KAAKN,MAAMU,MAEfJ,KAAKN,MAAMW,IACtB,CAEA,kBAAIC,GACA,OAAON,KAAKN,MAAMO,sBAAwBD,KAAKN,MAAMW,KAAO,EAChE,CAKA,UAAIE,GACA,MAEMC,EAAgBC,EAAkB,GAAI,YAF3Bf,GAASM,KAAKU,UAAUC,SAASjB,IAKlD,MAAO,CACH,CAAEkB,KAAMJ,EAAc,QAASH,KAAM,eACrC,CAAEO,KAAMJ,EAAc,QAASH,KAAM,mBACrC,CAAEO,KAAMJ,EAAc,QAASH,KAAM,SACrC,CAAEO,KAAMJ,EAAc,QAASH,KAAM,QAE7C,CAEmBQ,iBAAAA,GACf,OAAOb,KAAKN,MAAMO,sBACdD,KAAKN,MAAMoB,eACPC,EAACC,EAAAA,IACOhB,KAAKN,MACTuB,mBAAoB,CAAC,cACrBb,MAAOc,EAAelB,KAAKN,MAAMyB,KAAMnB,KAAKN,MAAM0B,QAClDC,aAAcrB,KAAKN,MAAM4B,SACzBC,QAASvB,KAAKwB,SAItBT,EAACU,OACGV,EAACW,MAAAA,CAAIC,UAAU,mCACXZ,EAACa,IAAAA,CAAED,UAAU,uDAAuD3B,KAAKN,MAAMyB,KAAKU,IAAI,qCACxFd,EAACa,IAAAA,CAAED,UAAU,qDAAqD3B,KAAKN,MAAMyB,KAAKU,IAAI,oCAGzF7B,KAAKN,MAAMoB,eACRC,EAACe,EAAAA,IACO9B,KAAKN,MACToB,cAAed,KAAKN,MAAMoB,cAC1BT,KAAML,KAAKG,YACX4B,SAAU/B,KAAKwB,OACfQ,UAAWhC,KAAKgC,UAChBC,gBAAiBjC,KAAKiC,kBAK1C,cAlFiB1C,IACeQ,SAAmBmC,EAAWC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../../external/preact/dist/preact.js";import r from"../../internal/FormFields/Fieldset/Fieldset.js";import{useMemo as t,useEffect as a,useRef as o}from"../../../external/preact/hooks/dist/hooks.js";import{useCoreContext as s}from"../../../core/Context/CoreProvider.js";import i from"../../../utils/useForm/useFormWithA11y.js";import"../../internal/SecuredFields/lib/CSF/utils/userAgent.js";import{getErrorMessage as n}from"../../../utils/getErrorMessage.js";import l from"../../internal/FormFields/Field/Field.js";import u from"../../internal/FormFields/InputText.js";import{bsbValidationRules as m}from"./validate.js";import{phoneFormatters as b}from"../../internal/PhoneInput/validate.js";import c from"./PayToNameFields.js";import{getUniqueId as d}from"../../../utils/idGenerator.js";const p=["bankAccountNumber","bsb","firstName","lastName"];function f({setComponentRef:f,defaultData:h,placeholders:F,onChange:N,setStatus:k,id:g}){const{i18n:j}=s(),
|
|
1
|
+
import{createElement as e}from"../../../external/preact/dist/preact.js";import r from"../../internal/FormFields/Fieldset/Fieldset.js";import{useMemo as t,useEffect as a,useRef as o}from"../../../external/preact/hooks/dist/hooks.js";import{useCoreContext as s}from"../../../core/Context/CoreProvider.js";import i from"../../../utils/useForm/useFormWithA11y.js";import"../../internal/SecuredFields/lib/CSF/utils/userAgent.js";import{getErrorMessage as n}from"../../../utils/getErrorMessage.js";import l from"../../internal/FormFields/Field/Field.js";import u from"../../internal/FormFields/InputText.js";import{bsbValidationRules as m}from"./validate.js";import{phoneFormatters as b}from"../../internal/PhoneInput/validate.js";import c from"./PayToNameFields.js";import{getUniqueId as d}from"../../../utils/idGenerator.js";const p=["bankAccountNumber","bsb","firstName","lastName"];function f({setComponentRef:f,defaultData:h,placeholders:F,onChange:N,setStatus:k,id:g}){const{i18n:j}=s(),v=t(()=>d("payid-instruction"),[]),A=i({schema:p,defaultData:h,rules:m,formatters:b,formHolder:`#${g}`}),{handleChangeFor:y,triggerValidation:B,data:C,errors:M,valid:S,isValid:x}=A;a(()=>{N({data:C,valid:S,errors:M,isValid:x})},[C,S,M,x]);const I=o({setStatus:k,showValidation:B});return a(()=>{f(I.current)},[f]),e(r,{id:g,classNameModifiers:["payto__bsb_input"],label:"BSB",description:"payto.bsb.description",descriptionId:v},e(l,{label:j.get("payto.bsb.label.bankAccountNumber"),classNameModifiers:["col-60","bankAccountNumber"],errorMessage:n(j,M.bankAccountNumber??void 0,j.get("payto.bsb.label.bankAccountNumber")),name:"bankAccountNumber",i18n:j,errorLive:!0},e(u,{name:"bankAccountNumber",value:C.bankAccountNumber,onInput:y("bankAccountNumber","input"),onBlur:y("bankAccountNumber","blur"),placeholder:F?.bankAccountNumber,"aria-describedby":v,required:!0,autocomplete:void 0})),e(l,{label:j.get("Bank State Branch"),classNameModifiers:["col-40","bsb"],errorMessage:n(j,M.bsb??void 0,j.get("Bank State Branch")),name:"bsb",i18n:j,errorLive:!0},e(u,{name:"bsb",value:C.bsb,onInput:y("bsb","input"),onBlur:y("bsb","blur"),placeholder:F?.bsb,required:!0,autocomplete:void 0})),e(c,{i18n:j,data:C,handleChangeFor:y,errors:M,placeholders:F}))}export{f as default};
|
|
2
2
|
//# sourceMappingURL=BSBInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BSBInput.js","sources":["../../../../../src/components/PayTo/components/BSBInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport Fieldset from '../../internal/FormFields/Fieldset';\nimport { useEffect, useMemo, useRef } from 'preact/hooks';\nimport { useFormWithA11y } from '../../../utils/useForm';\nimport { getErrorMessage } from '../../../utils/getErrorMessage';\nimport Field from '../../internal/FormFields/Field';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport InputText from '../../internal/FormFields/InputText';\nimport { bsbValidationRules } from './validate';\nimport './PayIDInput.scss';\nimport { phoneFormatters } from '../../internal/PhoneInput/validate';\nimport { ComponentMethodsRef, UIElementStatus } from '../../internal/UIElement/types';\nimport PayToNameFields from './PayToNameFields';\nimport { PayToPlaceholdersType } from '../types';\nimport { getUniqueId } from '../../../utils/idGenerator';\n\nexport interface BSBFormData {\n bsb: string;\n bankAccountNumber: string;\n firstName: string;\n lastName: string;\n}\n\nexport interface BSBInputProps {\n status: UIElementStatus;\n setStatus: (status: UIElementStatus) => void;\n defaultData: BSBFormData;\n placeholders: PayToPlaceholdersType;\n onChange: (e) => void;\n setComponentRef: (ref: ComponentMethodsRef) => void;\n id?: string;\n}\n\nconst BASE_SCHEMA = ['bankAccountNumber', 'bsb', 'firstName', 'lastName'];\n\nexport default function BSBInput({ setComponentRef, defaultData, placeholders, onChange, setStatus, id }: Readonly<BSBInputProps>) {\n const { i18n } = useCoreContext();\n\n const descriptionId = useMemo(() => getUniqueId('payid-instruction'), []);\n\n const form = useFormWithA11y<BSBFormData>({\n schema: BASE_SCHEMA,\n defaultData: defaultData,\n rules: bsbValidationRules,\n formatters: phoneFormatters,\n formHolder: `#${id}`\n });\n const { handleChangeFor, triggerValidation, data, errors, valid, isValid } = form;\n\n // standard onChange propagate to parent state\n useEffect(() => {\n onChange({ data, valid, errors, isValid });\n }, [data, valid, errors, isValid]);\n\n const payToRef = useRef<ComponentMethodsRef>({\n setStatus: setStatus,\n showValidation: triggerValidation\n });\n\n useEffect(() => {\n setComponentRef(payToRef.current);\n }, [setComponentRef]);\n\n return (\n <Fieldset id={id} classNameModifiers={['payto__bsb_input']} label={'BSB'} description={'payto.bsb.description'} descriptionId={descriptionId}>\n <Field\n label={i18n.get('payto.bsb.label.bankAccountNumber')}\n classNameModifiers={['col-60', 'bankAccountNumber']}\n errorMessage={getErrorMessage(i18n, errors.bankAccountNumber, i18n.get('payto.bsb.label.bankAccountNumber'))}\n name={'bankAccountNumber'}\n i18n={i18n}\n errorLive={true}\n >\n <InputText\n name={'bankAccountNumber'}\n value={data.bankAccountNumber}\n onInput={handleChangeFor('bankAccountNumber', 'input')}\n onBlur={handleChangeFor('bankAccountNumber', 'blur')}\n placeholder={placeholders?.bankAccountNumber}\n aria-describedby={descriptionId}\n required={true}\n autocomplete={undefined}\n />\n </Field>\n\n <Field\n label={i18n.get('Bank State Branch')}\n classNameModifiers={['col-40', 'bsb']}\n errorMessage={getErrorMessage(i18n, errors.bsb, i18n.get('Bank State Branch'))}\n name={'bsb'}\n i18n={i18n}\n errorLive={true}\n >\n <InputText\n name={'bsb'}\n value={data.bsb}\n onInput={handleChangeFor('bsb', 'input')}\n onBlur={handleChangeFor('bsb', 'blur')}\n placeholder={placeholders?.bsb}\n required={true}\n autocomplete={undefined}\n />\n </Field>\n\n <PayToNameFields i18n={i18n} data={data} handleChangeFor={handleChangeFor} errors={errors} placeholders={placeholders} />\n </Fieldset>\n );\n}\n"],"names":["BASE_SCHEMA","BSBInput","setComponentRef","defaultData","placeholders","onChange","setStatus","id","i18n","useCoreContext","descriptionId","useMemo","getUniqueId","form","useFormWithA11y","schema","rules","bsbValidationRules","formatters","phoneFormatters","formHolder","handleChangeFor","triggerValidation","data","errors","valid","isValid","useEffect","payToRef","useRef","showValidation","current","h","Fieldset","classNameModifiers","label","description","Field","get","errorMessage","getErrorMessage","bankAccountNumber","name","errorLive","InputText","value","onInput","onBlur","placeholder","aria-describedby","required","autocomplete","
|
|
1
|
+
{"version":3,"file":"BSBInput.js","sources":["../../../../../src/components/PayTo/components/BSBInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport Fieldset from '../../internal/FormFields/Fieldset';\nimport { useEffect, useMemo, useRef } from 'preact/hooks';\nimport { useFormWithA11y } from '../../../utils/useForm';\nimport { getErrorMessage } from '../../../utils/getErrorMessage';\nimport Field from '../../internal/FormFields/Field';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport InputText from '../../internal/FormFields/InputText';\nimport { bsbValidationRules } from './validate';\nimport './PayIDInput.scss';\nimport { phoneFormatters } from '../../internal/PhoneInput/validate';\nimport { ComponentMethodsRef, UIElementStatus } from '../../internal/UIElement/types';\nimport PayToNameFields from './PayToNameFields';\nimport { PayToPlaceholdersType } from '../types';\nimport { getUniqueId } from '../../../utils/idGenerator';\n\nexport interface BSBFormData {\n bsb: string;\n bankAccountNumber: string;\n firstName: string;\n lastName: string;\n}\n\nexport interface BSBInputProps {\n status: UIElementStatus;\n setStatus: (status: UIElementStatus) => void;\n defaultData: BSBFormData;\n placeholders: PayToPlaceholdersType;\n onChange: (e) => void;\n setComponentRef: (ref: ComponentMethodsRef) => void;\n id?: string;\n}\n\nconst BASE_SCHEMA = ['bankAccountNumber', 'bsb', 'firstName', 'lastName'];\n\nexport default function BSBInput({ setComponentRef, defaultData, placeholders, onChange, setStatus, id }: Readonly<BSBInputProps>) {\n const { i18n } = useCoreContext();\n\n const descriptionId = useMemo(() => getUniqueId('payid-instruction'), []);\n\n const form = useFormWithA11y<BSBFormData>({\n schema: BASE_SCHEMA,\n defaultData: defaultData,\n rules: bsbValidationRules,\n formatters: phoneFormatters,\n formHolder: `#${id}`\n });\n const { handleChangeFor, triggerValidation, data, errors, valid, isValid } = form;\n\n // standard onChange propagate to parent state\n useEffect(() => {\n onChange({ data, valid, errors, isValid });\n }, [data, valid, errors, isValid]);\n\n const payToRef = useRef<ComponentMethodsRef>({\n setStatus: setStatus,\n showValidation: triggerValidation\n });\n\n useEffect(() => {\n setComponentRef(payToRef.current);\n }, [setComponentRef]);\n\n return (\n <Fieldset id={id} classNameModifiers={['payto__bsb_input']} label={'BSB'} description={'payto.bsb.description'} descriptionId={descriptionId}>\n <Field\n label={i18n.get('payto.bsb.label.bankAccountNumber')}\n classNameModifiers={['col-60', 'bankAccountNumber']}\n errorMessage={getErrorMessage(i18n, errors.bankAccountNumber ?? undefined, i18n.get('payto.bsb.label.bankAccountNumber'))}\n name={'bankAccountNumber'}\n i18n={i18n}\n errorLive={true}\n >\n <InputText\n name={'bankAccountNumber'}\n value={data.bankAccountNumber}\n onInput={handleChangeFor('bankAccountNumber', 'input')}\n onBlur={handleChangeFor('bankAccountNumber', 'blur')}\n placeholder={placeholders?.bankAccountNumber}\n aria-describedby={descriptionId}\n required={true}\n autocomplete={undefined}\n />\n </Field>\n\n <Field\n label={i18n.get('Bank State Branch')}\n classNameModifiers={['col-40', 'bsb']}\n errorMessage={getErrorMessage(i18n, errors.bsb ?? undefined, i18n.get('Bank State Branch'))}\n name={'bsb'}\n i18n={i18n}\n errorLive={true}\n >\n <InputText\n name={'bsb'}\n value={data.bsb}\n onInput={handleChangeFor('bsb', 'input')}\n onBlur={handleChangeFor('bsb', 'blur')}\n placeholder={placeholders?.bsb}\n required={true}\n autocomplete={undefined}\n />\n </Field>\n\n <PayToNameFields i18n={i18n} data={data} handleChangeFor={handleChangeFor} errors={errors} placeholders={placeholders} />\n </Fieldset>\n );\n}\n"],"names":["BASE_SCHEMA","BSBInput","setComponentRef","defaultData","placeholders","onChange","setStatus","id","i18n","useCoreContext","descriptionId","useMemo","getUniqueId","form","useFormWithA11y","schema","rules","bsbValidationRules","formatters","phoneFormatters","formHolder","handleChangeFor","triggerValidation","data","errors","valid","isValid","useEffect","payToRef","useRef","showValidation","current","h","Fieldset","classNameModifiers","label","description","Field","get","errorMessage","getErrorMessage","bankAccountNumber","undefined","name","errorLive","InputText","value","onInput","onBlur","placeholder","aria-describedby","required","autocomplete","bsb","PayToNameFields"],"mappings":"qzBAiCA,MAAMA,EAAc,CAAC,oBAAqB,MAAO,YAAa,YAE/C,SAASC,GAASC,gBAAEA,EAAeC,YAAEA,EAAWC,aAAEA,EAAYC,SAAEA,EAAQC,UAAEA,EAASC,GAAEA,IAChG,MAAMC,KAAEA,GAASC,IAEXC,EAAgBC,EAAQ,IAAMC,EAAY,qBAAsB,IAEhEC,EAAOC,EAA6B,CACtCC,OAAQf,EACRG,YAAaA,EACba,MAAOC,EACPC,WAAYC,EACZC,WAAY,IAAIb,OAEdc,gBAAEA,EAAeC,kBAAEA,EAAiBC,KAAEA,EAAIC,OAAEA,EAAMC,MAAEA,EAAKC,QAAEA,GAAYb,EAG7Ec,EAAU,KACNtB,EAAS,CAAEkB,OAAME,QAAOD,SAAQE,aACjC,CAACH,EAAME,EAAOD,EAAQE,IAEzB,MAAME,EAAWC,EAA4B,CACzCvB,UAAWA,EACXwB,eAAgBR,IAOpB,OAJAK,EAAU,KACNzB,EAAgB0B,EAASG,UAC1B,CAAC7B,IAGA8B,EAACC,EAAAA,CAAS1B,GAAIA,EAAI2B,mBAAoB,CAAC,oBAAqBC,MAAO,MAAOC,YAAa,wBAAyB1B,cAAeA,GAC3HsB,EAACK,EAAAA,CACGF,MAAO3B,EAAK8B,IAAI,qCAChBJ,mBAAoB,CAAC,SAAU,qBAC/BK,aAAcC,EAAgBhC,EAAMgB,EAAOiB,wBAAqBC,EAAWlC,EAAK8B,IAAI,sCACpFK,KAAM,oBACNnC,KAAMA,EACNoC,WAAW,GAEXZ,EAACa,EAAAA,CACGF,KAAM,oBACNG,MAAOvB,EAAKkB,kBACZM,QAAS1B,EAAgB,oBAAqB,SAC9C2B,OAAQ3B,EAAgB,oBAAqB,QAC7C4B,YAAa7C,GAAcqC,kBAC3BS,mBAAkBxC,EAClByC,UAAU,EACVC,kBAAcV,KAItBV,EAACK,EAAAA,CACGF,MAAO3B,EAAK8B,IAAI,qBAChBJ,mBAAoB,CAAC,SAAU,OAC/BK,aAAcC,EAAgBhC,EAAMgB,EAAO6B,UAAOX,EAAWlC,EAAK8B,IAAI,sBACtEK,KAAM,MACNnC,KAAMA,EACNoC,WAAW,GAEXZ,EAACa,EAAAA,CACGF,KAAM,MACNG,MAAOvB,EAAK8B,IACZN,QAAS1B,EAAgB,MAAO,SAChC2B,OAAQ3B,EAAgB,MAAO,QAC/B4B,YAAa7C,GAAciD,IAC3BF,UAAU,EACVC,kBAAcV,KAItBV,EAACsB,EAAAA,CAAgB9C,KAAMA,EAAMe,KAAMA,EAAMF,gBAAiBA,EAAiBG,OAAQA,EAAQpB,aAAcA,IAGrH"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e,Fragment as a}from"../../../external/preact/dist/preact.js";import r from"../../internal/FormFields/Field/Field.js";import{getErrorMessage as t}from"../../../utils/getErrorMessage.js";import l from"../../internal/FormFields/InputText.js";function s({i18n:s,errors:m,data:i,handleChangeFor:o,placeholders:n}){return e(a,null,e(r,{label:s.get("payto.label.firstName"),classNameModifiers:["col-50","firstName"],errorMessage:t(s,m.firstName,s.get("firstName")),name:"firstName",i18n:s,errorLive:!0},e(l,{name:"firstName",value:i.firstName,classNameModifiers:["firstName"],onInput:o("firstName","input"),onBlur:o("firstName","input"),placeholder:n?.firstName,spellcheck:!1,required:!0,autocomplete:"given-name"})),e(r,{label:s.get("payto.label.lastName"),classNameModifiers:["col-50","lastName"],errorMessage:t(s,m.lastName,s.get("lastName")),name:"lastName",i18n:s,errorLive:!0},e(l,{name:"lastName",value:i.lastName,classNameModifiers:["lastName"],onInput:o("lastName","input"),onBlur:o("lastName","blur"),placeholder:n?.lastName,spellcheck:!1,required:!0,autocomplete:"family-name"})))}export{s as default};
|
|
1
|
+
import{createElement as e,Fragment as a}from"../../../external/preact/dist/preact.js";import r from"../../internal/FormFields/Field/Field.js";import{getErrorMessage as t}from"../../../utils/getErrorMessage.js";import l from"../../internal/FormFields/InputText.js";function s({i18n:s,errors:m,data:i,handleChangeFor:o,placeholders:n}){return e(a,null,e(r,{label:s.get("payto.label.firstName"),classNameModifiers:["col-50","firstName"],errorMessage:t(s,m.firstName??void 0,s.get("firstName")),name:"firstName",i18n:s,errorLive:!0},e(l,{name:"firstName",value:i.firstName,classNameModifiers:["firstName"],onInput:o("firstName","input"),onBlur:o("firstName","input"),placeholder:n?.firstName,spellcheck:!1,required:!0,autocomplete:"given-name"})),e(r,{label:s.get("payto.label.lastName"),classNameModifiers:["col-50","lastName"],errorMessage:t(s,m.lastName??void 0,s.get("lastName")),name:"lastName",i18n:s,errorLive:!0},e(l,{name:"lastName",value:i.lastName,classNameModifiers:["lastName"],onInput:o("lastName","input"),onBlur:o("lastName","blur"),placeholder:n?.lastName,spellcheck:!1,required:!0,autocomplete:"family-name"})))}export{s as default};
|
|
2
2
|
//# sourceMappingURL=PayToNameFields.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PayToNameFields.js","sources":["../../../../../src/components/PayTo/components/PayToNameFields.tsx"],"sourcesContent":["import { h, Fragment } from 'preact';\nimport Field from '../../internal/FormFields/Field';\nimport { getErrorMessage } from '../../../utils/getErrorMessage';\nimport InputText from '../../internal/FormFields/InputText';\nimport Language from '../../../language';\nimport { HandleChangeForModeType } from '../../../utils/useForm/types';\
|
|
1
|
+
{"version":3,"file":"PayToNameFields.js","sources":["../../../../../src/components/PayTo/components/PayToNameFields.tsx"],"sourcesContent":["import { h, Fragment, TargetedEvent } from 'preact';\nimport Field from '../../internal/FormFields/Field';\nimport { getErrorMessage } from '../../../utils/getErrorMessage';\nimport InputText from '../../internal/FormFields/InputText';\nimport Language from '../../../language';\nimport { FormStateErrors, HandleChangeForModeType } from '../../../utils/useForm/types';\n\nexport interface PayToNameFieldsProps {\n i18n: Language;\n errors: FormStateErrors;\n data: {\n firstName: string;\n lastName: string;\n };\n handleChangeFor: (key: string, mode?: HandleChangeForModeType) => (e: TargetedEvent<HTMLInputElement, Event>) => void;\n placeholders: {\n firstName: string;\n lastName: string;\n };\n}\n\nexport default function PayToNameFields({ i18n, errors, data, handleChangeFor, placeholders }: Readonly<PayToNameFieldsProps>) {\n return (\n <Fragment>\n <Field\n label={i18n.get('payto.label.firstName')}\n classNameModifiers={['col-50', 'firstName']}\n errorMessage={getErrorMessage(i18n, errors.firstName ?? undefined, i18n.get('firstName'))}\n name={'firstName'}\n i18n={i18n}\n errorLive={true}\n >\n <InputText\n name={'firstName'}\n value={data.firstName}\n classNameModifiers={['firstName']}\n onInput={handleChangeFor('firstName', 'input')}\n onBlur={handleChangeFor('firstName', 'input')}\n placeholder={placeholders?.firstName}\n spellcheck={false}\n required={true}\n autocomplete={'given-name'}\n />\n </Field>\n <Field\n label={i18n.get('payto.label.lastName')}\n classNameModifiers={['col-50', 'lastName']}\n errorMessage={getErrorMessage(i18n, errors.lastName ?? undefined, i18n.get('lastName'))}\n name={'lastName'}\n i18n={i18n}\n errorLive={true}\n >\n <InputText\n name={'lastName'}\n value={data.lastName}\n classNameModifiers={['lastName']}\n onInput={handleChangeFor('lastName', 'input')}\n onBlur={handleChangeFor('lastName', 'blur')}\n placeholder={placeholders?.lastName}\n spellcheck={false}\n required={true}\n autocomplete={'family-name'}\n />\n </Field>\n </Fragment>\n );\n}\n"],"names":["PayToNameFields","i18n","errors","data","handleChangeFor","placeholders","h","Fragment","Field","label","get","classNameModifiers","errorMessage","getErrorMessage","firstName","undefined","name","errorLive","InputText","value","onInput","onBlur","placeholder","spellcheck","required","autocomplete","lastName"],"mappings":"wQAqBe,SAASA,GAAgBC,KAAEA,EAAIC,OAAEA,EAAMC,KAAEA,EAAIC,gBAAEA,EAAeC,aAAEA,IAC3E,OACIC,EAACC,OACGD,EAACE,EAAAA,CACGC,MAAOR,EAAKS,IAAI,yBAChBC,mBAAoB,CAAC,SAAU,aAC/BC,aAAcC,EAAgBZ,EAAMC,EAAOY,gBAAaC,EAAWd,EAAKS,IAAI,cAC5EM,KAAM,YACNf,KAAMA,EACNgB,WAAW,GAEXX,EAACY,EAAAA,CACGF,KAAM,YACNG,MAAOhB,EAAKW,UACZH,mBAAoB,CAAC,aACrBS,QAAShB,EAAgB,YAAa,SACtCiB,OAAQjB,EAAgB,YAAa,SACrCkB,YAAajB,GAAcS,UAC3BS,YAAY,EACZC,UAAU,EACVC,aAAc,gBAGtBnB,EAACE,EAAAA,CACGC,MAAOR,EAAKS,IAAI,wBAChBC,mBAAoB,CAAC,SAAU,YAC/BC,aAAcC,EAAgBZ,EAAMC,EAAOwB,eAAYX,EAAWd,EAAKS,IAAI,aAC3EM,KAAM,WACNf,KAAMA,EACNgB,WAAW,GAEXX,EAACY,EAAAA,CACGF,KAAM,WACNG,MAAOhB,EAAKuB,SACZf,mBAAoB,CAAC,YACrBS,QAAShB,EAAgB,WAAY,SACrCiB,OAAQjB,EAAgB,WAAY,QACpCkB,YAAajB,GAAcqB,SAC3BH,YAAY,EACZC,UAAU,EACVC,aAAc,iBAKlC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useCoreContext as r}from"../../../core/Context/CoreProvider.js";import o from"../../internal/PhoneInput/PhoneInputFields.js";import{getErrorMessage as t}from"../../../utils/getErrorMessage.js";import{useCallback as s}from"../../../external/preact/hooks/dist/hooks.js";const i=[{id:"+61",name:"+61 (AU)",selectedOptionName:"+61"}];function m({form:m}){const{i18n:n}=r(),a=s(e=>t(n,m.errors[e]),[n,m]);return e(o,{phoneNumberKey:"mobileNumber",getError:a,items:i,canSelectPrefix:!1,showNumber:!0,showPrefix:!0,form:m,errorLive:!0})}export{m as default};
|
|
1
|
+
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useCoreContext as r}from"../../../core/Context/CoreProvider.js";import o from"../../internal/PhoneInput/PhoneInputFields.js";import{getErrorMessage as t}from"../../../utils/getErrorMessage.js";import{useCallback as s}from"../../../external/preact/hooks/dist/hooks.js";const i=[{id:"+61",name:"+61 (AU)",selectedOptionName:"+61"}];function m({form:m}){const{i18n:n}=r(),a=s(e=>t(n,m.errors[e]??void 0),[n,m]);return e(o,{phoneNumberKey:"mobileNumber",getError:a,items:i,canSelectPrefix:!1,showNumber:!0,showPrefix:!0,form:m,errorLive:!0})}export{m as default};
|
|
2
2
|
//# sourceMappingURL=PayToPhone.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PayToPhone.js","sources":["../../../../../src/components/PayTo/components/PayToPhone.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport PhoneInputFields from '../../internal/PhoneInput/PhoneInputFields';\nimport { Form } from '../../../utils/useForm/types';\nimport { PayIdFormData } from './PayIDInput';\nimport { getErrorMessage } from '../../../utils/getErrorMessage';\nimport { useCallback } from 'preact/hooks';\n\ninterface PayToPhoneProps {\n form: Form<PayIdFormData>;\n}\n\n// we have decided to hardcode phone prefix as it's going to be always +61 for now\nconst AUSTRALIAN_PHONE_PREFIXES = [\n {\n id: '+61',\n name: '+61 (AU)',\n selectedOptionName: '+61'\n }\n];\n\nexport default function PayToPhone({ form }: Readonly<PayToPhoneProps>) {\n const { i18n } = useCoreContext();\n\n const getError = useCallback((field: string) => getErrorMessage(i18n, form.errors[field]), [i18n, form]);\n\n return (\n <PhoneInputFields\n phoneNumberKey={'mobileNumber'}\n getError={getError}\n items={AUSTRALIAN_PHONE_PREFIXES}\n canSelectPrefix={false}\n showNumber={true}\n showPrefix={true}\n form={form}\n errorLive={true}\n />\n );\n}\n"],"names":["AUSTRALIAN_PHONE_PREFIXES","id","name","selectedOptionName","PayToPhone","form","i18n","useCoreContext","getError","useCallback","field","getErrorMessage","errors","h","PhoneInputFields","phoneNumberKey","items","canSelectPrefix","showNumber","showPrefix","errorLive"],"mappings":"2VAaA,MAAMA,EAA4B,CAC9B,CACIC,GAAI,MACJC,KAAM,WACNC,mBAAoB,QAIb,SAASC,GAAWC,KAAEA,IACjC,MAAMC,KAAEA,GAASC,IAEXC,EAAWC,EAAaC,GAAkBC,EAAgBL,EAAMD,EAAKO,OAAOF,
|
|
1
|
+
{"version":3,"file":"PayToPhone.js","sources":["../../../../../src/components/PayTo/components/PayToPhone.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport PhoneInputFields from '../../internal/PhoneInput/PhoneInputFields';\nimport { Form } from '../../../utils/useForm/types';\nimport { PayIdFormData } from './PayIDInput';\nimport { getErrorMessage } from '../../../utils/getErrorMessage';\nimport { useCallback } from 'preact/hooks';\n\ninterface PayToPhoneProps {\n form: Form<PayIdFormData>;\n}\n\n// we have decided to hardcode phone prefix as it's going to be always +61 for now\nconst AUSTRALIAN_PHONE_PREFIXES = [\n {\n id: '+61',\n name: '+61 (AU)',\n selectedOptionName: '+61'\n }\n];\n\nexport default function PayToPhone({ form }: Readonly<PayToPhoneProps>) {\n const { i18n } = useCoreContext();\n\n const getError = useCallback((field: string) => getErrorMessage(i18n, form.errors[field] ?? undefined), [i18n, form]);\n\n return (\n <PhoneInputFields\n phoneNumberKey={'mobileNumber'}\n getError={getError}\n items={AUSTRALIAN_PHONE_PREFIXES}\n canSelectPrefix={false}\n showNumber={true}\n showPrefix={true}\n form={form}\n errorLive={true}\n />\n );\n}\n"],"names":["AUSTRALIAN_PHONE_PREFIXES","id","name","selectedOptionName","PayToPhone","form","i18n","useCoreContext","getError","useCallback","field","getErrorMessage","errors","undefined","h","PhoneInputFields","phoneNumberKey","items","canSelectPrefix","showNumber","showPrefix","errorLive"],"mappings":"2VAaA,MAAMA,EAA4B,CAC9B,CACIC,GAAI,MACJC,KAAM,WACNC,mBAAoB,QAIb,SAASC,GAAWC,KAAEA,IACjC,MAAMC,KAAEA,GAASC,IAEXC,EAAWC,EAAaC,GAAkBC,EAAgBL,EAAMD,EAAKO,OAAOF,SAAUG,GAAY,CAACP,EAAMD,IAE/G,OACIS,EAACC,EAAAA,CACGC,eAAgB,eAChBR,SAAUA,EACVS,MAAOjB,EACPkB,iBAAiB,EACjBC,YAAY,EACZC,YAAY,EACZf,KAAMA,EACNgB,WAAW,GAGvB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as t}from"../../external/preact/dist/preact.js";import e from"../helpers/QRLoaderContainer/QRLoaderContainer.js";import
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import e from"../helpers/QRLoaderContainer/QRLoaderContainer.js";import o from"./components/PixInput/PixInput.js";import{cleanCPFCNPJ as r}from"../internal/SocialSecurityNumberBrazil/utils.js";import{TxVariants as s}from"../tx-variants.js";import{QRLoader as i}from"../internal/QRLoader/QRLoader.js";import"../../core/Context/CoreProvider.js";import"../../external/preact/hooks/dist/hooks.js";import"../../core/Errors/SRPanelContext.js";import"../internal/Button/Button.js";import"../internal/QRLoader/QRLoaderDetailsProvider.js";import n from"./components/PixQRDetails.js";function a(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}class p extends e{get isValid(){return!!this.state.isValid}formatProps(t){return{copyBtn:!0,introduction:"pix.instructions",...super.formatProps(t)}}formatData(){const{data:t={}}=this.state,{firstName:e,lastName:o,socialSecurityNumber:s=""}=t;return{paymentMethod:{type:this.props.type||this.constructor.type},...e&&o&&{shopperName:{firstName:e,lastName:o}},...s&&{socialSecurityNumber:r(s)}}}renderQRCode(){return t(i,{...this.props,type:this.type,brandLogo:this.props.brandLogo||this.icon,onComplete:this.onComplete,onActionHandled:this.onActionHandled,brandName:this.displayName,onSubmitAnalytics:this.submitAnalytics},t(n,null))}componentToRender(){return this.props.paymentData?this.renderQRCode():t(o,{...this.props,showPayButton:this.props.showPayButton,personalDetailsRequired:this.props.personalDetailsRequired,name:this.displayName,onChange:this.setState,payButton:this.payButton,setComponentRef:this.setComponentRef})}}a(p,"type",s.pix),a(p,"defaultProps",{personalDetailsRequired:!1,countdownTime:15,delay:2e3,...e.defaultProps});export{p as default};
|
|
2
2
|
//# sourceMappingURL=Pix.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pix.js","sources":["../../../../src/components/Pix/Pix.tsx"],"sourcesContent":["import { h } from 'preact';\nimport QRLoaderContainer from '../helpers/QRLoaderContainer/QRLoaderContainer';\nimport PixInput from './components/PixInput';\nimport { cleanCPFCNPJ } from '../internal/SocialSecurityNumberBrazil/utils';\nimport { PixElementData, PixConfiguration } from './types';\nimport { TxVariants } from '../tx-variants';\nimport { QRLoader } from '../internal/QRLoader';\nimport PixQRDetails from './components/PixQRDetails';\nimport './Pix.scss';\n\nclass PixElement extends QRLoaderContainer<PixConfiguration> {\n public static readonly type = TxVariants.pix;\n\n public static readonly defaultProps = {\n personalDetailsRequired: false,\n countdownTime: 15,\n delay: 2000,\n ...QRLoaderContainer.defaultProps\n };\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n formatProps(props: PixConfiguration): PixConfiguration {\n return {\n copyBtn: true,\n introduction: 'pix.instructions',\n ...super.formatProps(props)\n };\n }\n\n formatData(): PixElementData {\n const { data = {} } = this.state;\n const { firstName, lastName, socialSecurityNumber = '' } = data;\n\n return {\n paymentMethod: {\n type: this.props.type || this.constructor['type']\n },\n ...(firstName && lastName && { shopperName: { firstName, lastName } }),\n ...(socialSecurityNumber && { socialSecurityNumber: cleanCPFCNPJ(socialSecurityNumber) })\n };\n }\n\n renderQRCode() {\n return (\n <QRLoader\n {...this.props}\n type={this.type}\n brandLogo={this.props.brandLogo || this.icon}\n onComplete={this.onComplete}\n onActionHandled={this.onActionHandled}\n brandName={this.displayName}\n onSubmitAnalytics={this.submitAnalytics}\n >\n <PixQRDetails />\n </QRLoader>\n );\n }\n\n protected override componentToRender(): h.JSX.Element {\n if (this.props.paymentData) {\n return this.renderQRCode();\n }\n\n return (\n <PixInput\n
|
|
1
|
+
{"version":3,"file":"Pix.js","sources":["../../../../src/components/Pix/Pix.tsx"],"sourcesContent":["import { h } from 'preact';\nimport QRLoaderContainer from '../helpers/QRLoaderContainer/QRLoaderContainer';\nimport PixInput from './components/PixInput';\nimport { cleanCPFCNPJ } from '../internal/SocialSecurityNumberBrazil/utils';\nimport { PixElementData, PixConfiguration } from './types';\nimport { TxVariants } from '../tx-variants';\nimport { QRLoader } from '../internal/QRLoader';\nimport PixQRDetails from './components/PixQRDetails';\nimport './Pix.scss';\n\nclass PixElement extends QRLoaderContainer<PixConfiguration> {\n public static readonly type = TxVariants.pix;\n\n public static readonly defaultProps = {\n personalDetailsRequired: false,\n countdownTime: 15,\n delay: 2000,\n ...QRLoaderContainer.defaultProps\n };\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n formatProps(props: PixConfiguration): PixConfiguration {\n return {\n copyBtn: true,\n introduction: 'pix.instructions',\n ...super.formatProps(props)\n };\n }\n\n formatData(): PixElementData {\n const { data = {} } = this.state;\n const { firstName, lastName, socialSecurityNumber = '' } = data;\n\n return {\n paymentMethod: {\n type: this.props.type || this.constructor['type']\n },\n ...(firstName && lastName && { shopperName: { firstName, lastName } }),\n ...(socialSecurityNumber && { socialSecurityNumber: cleanCPFCNPJ(socialSecurityNumber) })\n };\n }\n\n renderQRCode() {\n return (\n <QRLoader\n {...this.props}\n type={this.type}\n brandLogo={this.props.brandLogo || this.icon}\n onComplete={this.onComplete}\n onActionHandled={this.onActionHandled}\n brandName={this.displayName}\n onSubmitAnalytics={this.submitAnalytics}\n >\n <PixQRDetails />\n </QRLoader>\n );\n }\n\n protected override componentToRender(): h.JSX.Element {\n if (this.props.paymentData) {\n return this.renderQRCode();\n }\n\n return (\n <PixInput\n {...this.props}\n showPayButton={this.props.showPayButton}\n personalDetailsRequired={this.props.personalDetailsRequired}\n name={this.displayName}\n onChange={this.setState}\n payButton={this.payButton}\n setComponentRef={this.setComponentRef}\n />\n );\n }\n}\n\nexport default PixElement;\n"],"names":["PixElement","QRLoaderContainer","isValid","this","state","formatProps","props","copyBtn","introduction","super","formatData","data","firstName","lastName","socialSecurityNumber","paymentMethod","type","constructor","shopperName","cleanCPFCNPJ","renderQRCode","h","QRLoader","brandLogo","icon","onComplete","onActionHandled","brandName","displayName","onSubmitAnalytics","submitAnalytics","PixQRDetails","componentToRender","paymentData","PixInput","showPayButton","personalDetailsRequired","name","onChange","setState","payButton","setComponentRef","_define_property","TxVariants","pix","defaultProps","countdownTime","delay"],"mappings":"2vBAUA,MAAMA,UAAmBC,EAUrB,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAEAG,WAAAA,CAAYC,GACR,MAAO,CACHC,SAAS,EACTC,aAAc,sBACXC,MAAMJ,YAAYC,GAE7B,CAEAI,UAAAA,GACI,MAAMC,KAAEA,EAAO,IAAOR,KAAKC,OACrBQ,UAAEA,EAASC,SAAEA,EAAQC,qBAAEA,EAAuB,IAAOH,EAE3D,MAAO,CACHI,cAAe,CACXC,KAAMb,KAAKG,MAAMU,MAAQb,KAAKc,YAAY,SAE1CL,GAAaC,GAAY,CAAEK,YAAa,CAAEN,YAAWC,gBACrDC,GAAwB,CAAEA,qBAAsBK,EAAaL,IAEzE,CAEAM,YAAAA,GACI,OACIC,EAACC,EAAAA,IACOnB,KAAKG,MACTU,KAAMb,KAAKa,KACXO,UAAWpB,KAAKG,MAAMiB,WAAapB,KAAKqB,KACxCC,WAAYtB,KAAKsB,WACjBC,gBAAiBvB,KAAKuB,gBACtBC,UAAWxB,KAAKyB,YAChBC,kBAAmB1B,KAAK2B,iBAExBT,EAACU,EAAAA,MAGb,CAEmBC,iBAAAA,GACf,OAAI7B,KAAKG,MAAM2B,YACJ9B,KAAKiB,eAIZC,EAACa,EAAAA,IACO/B,KAAKG,MACT6B,cAAehC,KAAKG,MAAM6B,cAC1BC,wBAAyBjC,KAAKG,MAAM8B,wBACpCC,KAAMlC,KAAKyB,YACXU,SAAUnC,KAAKoC,SACfC,UAAWrC,KAAKqC,UAChBC,gBAAiBtC,KAAKsC,iBAGlC,EAlEAC,EADE1C,EACqBgB,OAAO2B,EAAWC,KAEzCF,EAHE1C,EAGqB6C,eAAe,CAClCT,yBAAyB,EACzBU,cAAe,GACfC,MAAO,OACJ9C,EAAkB4C"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useEffect as t,useState as a}from"../../../../external/preact/hooks/dist/hooks.js";import{pixValidationRules as
|
|
1
|
+
import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useEffect as t,useState as a,useRef as r}from"../../../../external/preact/hooks/dist/hooks.js";import{pixValidationRules as s}from"./validate.js";import{pixFormatters as o}from"./utils.js";import{useCoreContext as i}from"../../../../core/Context/CoreProvider.js";import n from"../../../../utils/useForm/useForm.js";import"../../../internal/SecuredFields/lib/CSF/utils/userAgent.js";import{BrazilPersonalDetail as l}from"../../../internal/SocialSecurityNumberBrazil/BrazilPersonalDetail.js";function d({name:d,data:m,personalDetailsRequired:u,showPayButton:c,onChange:f,payButton:p,setComponentRef:h}){const{i18n:j}=i(),y=["firstName","lastName","socialSecurityNumber"],{handleChangeFor:S,triggerValidation:g,setSchema:C,data:v,valid:F,errors:N,isValid:x}=n({schema:y,defaultData:m,rules:s,formatters:o});t(()=>{const e=u?[...y]:[];C(e)},[u]);const[b,B]=a("ready"),V=r({setStatus:B,showValidation:()=>{g()}});t(()=>{h(V.current)},[h]),t(()=>{f({data:v,valid:F,errors:N,isValid:x})},[f,v,F,N]);const _=u?[]:["standalone"];return e("div",{className:"adyen-checkout__pix-input__field",style:c||u?null:{display:"none"}},u&&e(l,{i18n:j,data:v,handleChangeFor:S,errors:N,valid:F}),c&&p({status:b,label:`${j.get("continueTo")} ${d}`,classNameModifiers:_}))}export{d as default};
|
|
2
2
|
//# sourceMappingURL=PixInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PixInput.js","sources":["../../../../../../src/components/Pix/components/PixInput/PixInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useState } from 'preact/hooks';\nimport { pixValidationRules } from './validate';\nimport { pixFormatters } from './utils';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport useForm from '../../../../utils/useForm';\nimport { BrazilPersonalDetail } from '../../../internal/SocialSecurityNumberBrazil/BrazilPersonalDetail';\nimport { PixInputDataState, PixInputProps } from './types';\n\nfunction PixInput({ name, data: dataProps, personalDetailsRequired, showPayButton, onChange, payButton }: Readonly<PixInputProps>) {\n const { i18n } = useCoreContext();\n const formSchema = ['firstName', 'lastName', 'socialSecurityNumber'];\n\n const { handleChangeFor, triggerValidation, setSchema, data, valid, errors, isValid } = useForm<PixInputDataState>({\n schema: formSchema,\n defaultData: dataProps,\n rules: pixValidationRules,\n formatters: pixFormatters\n });\n\n // Handle form schema updates\n useEffect(() => {\n const newSchema = personalDetailsRequired ? [...formSchema] : [];\n setSchema(newSchema);\n }, [personalDetailsRequired]);\n\n const [status, setStatus] = useState('ready');\n
|
|
1
|
+
{"version":3,"file":"PixInput.js","sources":["../../../../../../src/components/Pix/components/PixInput/PixInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useRef, useState } from 'preact/hooks';\nimport { pixValidationRules } from './validate';\nimport { pixFormatters } from './utils';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport useForm from '../../../../utils/useForm';\nimport { BrazilPersonalDetail } from '../../../internal/SocialSecurityNumberBrazil/BrazilPersonalDetail';\nimport { PixInputDataState, PixInputProps } from './types';\nimport { ComponentMethodsRef } from '../../../types';\n\nfunction PixInput({ name, data: dataProps, personalDetailsRequired, showPayButton, onChange, payButton, setComponentRef }: Readonly<PixInputProps>) {\n const { i18n } = useCoreContext();\n const formSchema = ['firstName', 'lastName', 'socialSecurityNumber'];\n\n const { handleChangeFor, triggerValidation, setSchema, data, valid, errors, isValid } = useForm<PixInputDataState>({\n schema: formSchema,\n defaultData: dataProps,\n rules: pixValidationRules,\n formatters: pixFormatters\n });\n\n // Handle form schema updates\n useEffect(() => {\n const newSchema = personalDetailsRequired ? [...formSchema] : [];\n setSchema(newSchema);\n }, [personalDetailsRequired]);\n\n const [status, setStatus] = useState('ready');\n\n const pixInputRef = useRef<ComponentMethodsRef>({\n setStatus: setStatus,\n showValidation: () => {\n triggerValidation();\n }\n });\n\n useEffect(() => {\n setComponentRef(pixInputRef.current);\n }, [setComponentRef]);\n\n useEffect(() => {\n onChange({ data, valid, errors, isValid });\n }, [onChange, data, valid, errors]);\n\n const buttonModifiers = personalDetailsRequired ? [] : ['standalone'];\n\n return (\n <div className=\"adyen-checkout__pix-input__field\" style={!showPayButton && !personalDetailsRequired ? { display: 'none' } : null}>\n {personalDetailsRequired && (\n <BrazilPersonalDetail i18n={i18n} data={data} handleChangeFor={handleChangeFor} errors={errors} valid={valid} />\n )}\n\n {showPayButton &&\n payButton({\n status,\n label: `${i18n.get('continueTo')} ${name}`,\n classNameModifiers: buttonModifiers\n })}\n </div>\n );\n}\n\nexport default PixInput;\n"],"names":["PixInput","name","data","dataProps","personalDetailsRequired","showPayButton","onChange","payButton","setComponentRef","i18n","useCoreContext","formSchema","handleChangeFor","triggerValidation","setSchema","valid","errors","isValid","useForm","schema","defaultData","rules","pixValidationRules","formatters","pixFormatters","useEffect","newSchema","status","setStatus","useState","pixInputRef","useRef","showValidation","current","buttonModifiers","h","div","className","style","display","BrazilPersonalDetail","label","get","classNameModifiers"],"mappings":"4jBAUA,SAASA,GAASC,KAAEA,EAAMC,KAAMC,EAASC,wBAAEA,EAAuBC,cAAEA,EAAaC,SAAEA,EAAQC,UAAEA,EAASC,gBAAEA,IACpG,MAAMC,KAAEA,GAASC,IACXC,EAAa,CAAC,YAAa,WAAY,yBAEvCC,gBAAEA,EAAeC,kBAAEA,EAAiBC,UAAEA,EAASZ,KAAEA,EAAIa,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GAAYC,EAA2B,CAC/GC,OAAQR,EACRS,YAAajB,EACbkB,MAAOC,EACPC,WAAYC,IAIhBC,EAAU,KACN,MAAMC,EAAYtB,EAA0B,IAAIO,GAAc,GAC9DG,EAAUY,IACX,CAACtB,IAEJ,MAAOuB,EAAQC,GAAaC,EAAS,SAE/BC,EAAcC,EAA4B,CAC5CH,UAAWA,EACXI,eAAgB,KACZnB,OAIRY,EAAU,KACNjB,EAAgBsB,EAAYG,UAC7B,CAACzB,IAEJiB,EAAU,KACNnB,EAAS,CAAEJ,OAAMa,QAAOC,SAAQC,aACjC,CAACX,EAAUJ,EAAMa,EAAOC,IAE3B,MAAMkB,EAAkB9B,EAA0B,GAAK,CAAC,cAExD,OACI+B,EAACC,MAAAA,CAAIC,UAAU,mCAAmCC,MAAQjC,GAAkBD,EAAgD,KAAtB,CAAEmC,QAAS,SAC5GnC,GACG+B,EAACK,EAAAA,CAAqB/B,KAAMA,EAAMP,KAAMA,EAAMU,gBAAiBA,EAAiBI,OAAQA,EAAQD,MAAOA,IAG1GV,GACGE,EAAU,CACNoB,SACAc,MAAO,GAAGhC,EAAKiC,IAAI,iBAAiBzC,IACpC0C,mBAAoBT,IAIxC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as t,Fragment as e}from"../../external/preact/dist/preact.js";import{UIElement as o}from"../internal/UIElement/UIElement.js";import{TxVariants as s}from"../tx-variants.js";import a from"./components/PreAuthorizedDebitCanadaComponent.js";import{SettlementInfo as n}from"./components/SettlementInfo.js";import r from"../internal/RedirectButton/RedirectButton.js";import{payAmountLabel as i}from"../internal/PayButton/utils.js";class p extends o{formatData(){return!!this.props.storedPaymentMethodId?{paymentMethod:{type:p.type,storedPaymentMethodId:this.props.storedPaymentMethodId}}:{paymentMethod:{type:p.type,ownerName:this.state.data.ownerName,bankAccountNumber:this.state.data.bankAccountNumber,bankCode:this.state.data.bankCode,bankLocationId:this.state.data.bankLocationId},...this.state.storePaymentMethod&&{storePaymentMethod:this.state.storePaymentMethod}}}formatProps(t){return{enableStoreDetails:t.session?.configuration?.enableStoreDetails??t.enableStoreDetails,...t}}get isValid(){return!!this.props.storedPaymentMethodId||!!this.state.isValid}get displayName(){return this.props.storedPaymentMethodId&&this.props.lastFour?`•••• ${this.props.lastFour}`:this.props.name}get additionalInfo(){return this.props.storedPaymentMethodId?this.props.label:""}componentToRender(){return this.props.storedPaymentMethodId?t(e,null,t(n,null),t(r,{showPayButton:this.props.showPayButton,icon:this.resources?.getImage({imageFolder:"components/"})("bento_lock"),label:i(this.props.i18n,this.props.amount),name:this.displayName,payButton:this.payButton,onSubmit:this.submit,
|
|
1
|
+
import{createElement as t,Fragment as e}from"../../external/preact/dist/preact.js";import{UIElement as o}from"../internal/UIElement/UIElement.js";import{TxVariants as s}from"../tx-variants.js";import a from"./components/PreAuthorizedDebitCanadaComponent.js";import{SettlementInfo as n}from"./components/SettlementInfo.js";import r from"../internal/RedirectButton/RedirectButton.js";import{payAmountLabel as i}from"../internal/PayButton/utils.js";class p extends o{formatData(){return!!this.props.storedPaymentMethodId?{paymentMethod:{type:p.type,storedPaymentMethodId:this.props.storedPaymentMethodId}}:{paymentMethod:{type:p.type,ownerName:this.state.data.ownerName,bankAccountNumber:this.state.data.bankAccountNumber,bankCode:this.state.data.bankCode,bankLocationId:this.state.data.bankLocationId},...this.state.storePaymentMethod&&{storePaymentMethod:this.state.storePaymentMethod}}}formatProps(t){return{enableStoreDetails:t.session?.configuration?.enableStoreDetails??t.enableStoreDetails,...t}}get isValid(){return!!this.props.storedPaymentMethodId||!!this.state.isValid}get displayName(){return this.props.storedPaymentMethodId&&this.props.lastFour?`•••• ${this.props.lastFour}`:this.props.name}get additionalInfo(){return this.props.storedPaymentMethodId?this.props.label:""}componentToRender(){return this.props.storedPaymentMethodId?t(e,null,t(n,null),t(r,{showPayButton:this.props.showPayButton,icon:this.resources?.getImage({imageFolder:"components/"})("bento_lock"),label:i(this.props.i18n,this.props.amount),name:this.displayName,payButton:this.payButton,onSubmit:this.submit,setComponentRef:this.setComponentRef})):t(a,{onChange:this.setState,payButton:this.payButton,showPayButton:this.props.showPayButton,placeholders:this.props.placeholders,setComponentRef:this.setComponentRef,showContextualElement:this.props.showContextualElement,enableStoreDetails:this.props.enableStoreDetails})}}var m,d,h;m=p,d="type",h=s.eft_directdebit_CA,d in m?Object.defineProperty(m,d,{value:h,enumerable:!0,configurable:!0,writable:!0}):m[d]=h;export{p as PreAuthorizedDebitCanada,p as default};
|
|
2
2
|
//# sourceMappingURL=PreAuthorizedDebitCanada.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PreAuthorizedDebitCanada.js","sources":["../../../../src/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.tsx"],"sourcesContent":["import { h, Fragment } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { TxVariants } from '../tx-variants';\nimport PreAuthorizedDebitCanadaComponent from './components/PreAuthorizedDebitCanadaComponent';\nimport { SettlementInfo } from './components/SettlementInfo';\nimport RedirectButton from '../internal/RedirectButton';\nimport { payAmountLabel } from '../internal/PayButton/utils';\n\nimport type { PreAuthorizedDebitCanadaConfiguration } from './types';\n\nexport class PreAuthorizedDebitCanada extends UIElement<PreAuthorizedDebitCanadaConfiguration> {\n public static readonly type = TxVariants.eft_directdebit_CA;\n\n public override formatData() {\n const recurringPayment = !!this.props.storedPaymentMethodId;\n\n if (recurringPayment) {\n return {\n paymentMethod: {\n type: PreAuthorizedDebitCanada.type,\n storedPaymentMethodId: this.props.storedPaymentMethodId\n }\n };\n }\n\n return {\n paymentMethod: {\n type: PreAuthorizedDebitCanada.type,\n ownerName: this.state.data.ownerName,\n bankAccountNumber: this.state.data.bankAccountNumber,\n bankCode: this.state.data.bankCode,\n bankLocationId: this.state.data.bankLocationId\n },\n ...(this.state.storePaymentMethod && { storePaymentMethod: this.state.storePaymentMethod })\n };\n }\n\n public override formatProps(props: PreAuthorizedDebitCanadaConfiguration): PreAuthorizedDebitCanadaConfiguration {\n return {\n enableStoreDetails: props.session?.configuration?.enableStoreDetails ?? props.enableStoreDetails,\n ...props\n };\n }\n\n public override get isValid(): boolean {\n if (this.props.storedPaymentMethodId) {\n return true;\n }\n\n return !!this.state.isValid;\n }\n\n public override get displayName(): string {\n if (this.props.storedPaymentMethodId && this.props.lastFour) {\n return `•••• ${this.props.lastFour}`;\n }\n\n return this.props.name;\n }\n\n public override get additionalInfo(): string {\n return this.props.storedPaymentMethodId ? this.props.label : '';\n }\n\n protected override componentToRender(): h.JSX.Element {\n return this.props.storedPaymentMethodId ? (\n <Fragment>\n <SettlementInfo />\n <RedirectButton\n showPayButton={this.props.showPayButton}\n icon={this.resources?.getImage({ imageFolder: 'components/' })(`bento_lock`)}\n label={payAmountLabel(this.props.i18n, this.props.amount)}\n name={this.displayName}\n payButton={this.payButton}\n onSubmit={this.submit}\n
|
|
1
|
+
{"version":3,"file":"PreAuthorizedDebitCanada.js","sources":["../../../../src/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.tsx"],"sourcesContent":["import { h, Fragment } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { TxVariants } from '../tx-variants';\nimport PreAuthorizedDebitCanadaComponent from './components/PreAuthorizedDebitCanadaComponent';\nimport { SettlementInfo } from './components/SettlementInfo';\nimport RedirectButton from '../internal/RedirectButton';\nimport { payAmountLabel } from '../internal/PayButton/utils';\n\nimport type { PreAuthorizedDebitCanadaConfiguration } from './types';\n\nexport class PreAuthorizedDebitCanada extends UIElement<PreAuthorizedDebitCanadaConfiguration> {\n public static readonly type = TxVariants.eft_directdebit_CA;\n\n public override formatData() {\n const recurringPayment = !!this.props.storedPaymentMethodId;\n\n if (recurringPayment) {\n return {\n paymentMethod: {\n type: PreAuthorizedDebitCanada.type,\n storedPaymentMethodId: this.props.storedPaymentMethodId\n }\n };\n }\n\n return {\n paymentMethod: {\n type: PreAuthorizedDebitCanada.type,\n ownerName: this.state.data.ownerName,\n bankAccountNumber: this.state.data.bankAccountNumber,\n bankCode: this.state.data.bankCode,\n bankLocationId: this.state.data.bankLocationId\n },\n ...(this.state.storePaymentMethod && { storePaymentMethod: this.state.storePaymentMethod })\n };\n }\n\n public override formatProps(props: PreAuthorizedDebitCanadaConfiguration): PreAuthorizedDebitCanadaConfiguration {\n return {\n enableStoreDetails: props.session?.configuration?.enableStoreDetails ?? props.enableStoreDetails,\n ...props\n };\n }\n\n public override get isValid(): boolean {\n if (this.props.storedPaymentMethodId) {\n return true;\n }\n\n return !!this.state.isValid;\n }\n\n public override get displayName(): string {\n if (this.props.storedPaymentMethodId && this.props.lastFour) {\n return `•••• ${this.props.lastFour}`;\n }\n\n return this.props.name;\n }\n\n public override get additionalInfo(): string {\n return this.props.storedPaymentMethodId ? this.props.label : '';\n }\n\n protected override componentToRender(): h.JSX.Element {\n return this.props.storedPaymentMethodId ? (\n <Fragment>\n <SettlementInfo />\n <RedirectButton\n showPayButton={this.props.showPayButton}\n icon={this.resources?.getImage({ imageFolder: 'components/' })(`bento_lock`)}\n label={payAmountLabel(this.props.i18n, this.props.amount)}\n name={this.displayName}\n payButton={this.payButton}\n onSubmit={this.submit}\n setComponentRef={this.setComponentRef}\n />\n </Fragment>\n ) : (\n <PreAuthorizedDebitCanadaComponent\n onChange={this.setState}\n payButton={this.payButton}\n showPayButton={this.props.showPayButton}\n placeholders={this.props.placeholders}\n setComponentRef={this.setComponentRef}\n showContextualElement={this.props.showContextualElement}\n enableStoreDetails={this.props.enableStoreDetails}\n />\n );\n }\n}\n\nexport default PreAuthorizedDebitCanada;\n"],"names":["PreAuthorizedDebitCanada","UIElement","formatData","this","props","storedPaymentMethodId","paymentMethod","type","ownerName","state","data","bankAccountNumber","bankCode","bankLocationId","storePaymentMethod","formatProps","enableStoreDetails","session","configuration","isValid","displayName","lastFour","name","additionalInfo","label","componentToRender","h","Fragment","SettlementInfo","RedirectButton","showPayButton","icon","resources","getImage","imageFolder","payAmountLabel","i18n","amount","payButton","onSubmit","submit","setComponentRef","PreAuthorizedDebitCanadaComponent","onChange","setState","placeholders","showContextualElement","TxVariants","eft_directdebit_CA"],"mappings":"8bAUO,MAAMA,UAAiCC,EAG1BC,UAAAA,GAGZ,QAF2BC,KAAKC,MAAMC,sBAG3B,CACHC,cAAe,CACXC,KAAMP,EAAyBO,KAC/BF,sBAAuBF,KAAKC,MAAMC,wBAKvC,CACHC,cAAe,CACXC,KAAMP,EAAyBO,KAC/BC,UAAWL,KAAKM,MAAMC,KAAKF,UAC3BG,kBAAmBR,KAAKM,MAAMC,KAAKC,kBACnCC,SAAUT,KAAKM,MAAMC,KAAKE,SAC1BC,eAAgBV,KAAKM,MAAMC,KAAKG,mBAEhCV,KAAKM,MAAMK,oBAAsB,CAAEA,mBAAoBX,KAAKM,MAAMK,oBAE9E,CAEgBC,WAAAA,CAAYX,GACxB,MAAO,CACHY,mBAAoBZ,EAAMa,SAASC,eAAeF,oBAAsBZ,EAAMY,sBAC3EZ,EAEX,CAEA,WAAoBe,GAChB,QAAIhB,KAAKC,MAAMC,yBAINF,KAAKM,MAAMU,OACxB,CAEA,eAAoBC,GAChB,OAAIjB,KAAKC,MAAMC,uBAAyBF,KAAKC,MAAMiB,SACxC,QAAQlB,KAAKC,MAAMiB,WAGvBlB,KAAKC,MAAMkB,IACtB,CAEA,kBAAoBC,GAChB,OAAOpB,KAAKC,MAAMC,sBAAwBF,KAAKC,MAAMoB,MAAQ,EACjE,CAEmBC,iBAAAA,GACf,OAAOtB,KAAKC,MAAMC,sBACdqB,EAACC,EAAAA,KACGD,EAACE,EAAAA,MACDF,EAACG,EAAAA,CACGC,cAAe3B,KAAKC,MAAM0B,cAC1BC,KAAM5B,KAAK6B,WAAWC,SAAS,CAAEC,YAAa,eAAxC/B,CAAyD,cAC/DqB,MAAOW,EAAehC,KAAKC,MAAMgC,KAAMjC,KAAKC,MAAMiC,QAClDf,KAAMnB,KAAKiB,YACXkB,UAAWnC,KAAKmC,UAChBC,SAAUpC,KAAKqC,OACfC,gBAAiBtC,KAAKsC,mBAI9Bf,EAACgB,EAAAA,CACGC,SAAUxC,KAAKyC,SACfN,UAAWnC,KAAKmC,UAChBR,cAAe3B,KAAKC,MAAM0B,cAC1Be,aAAc1C,KAAKC,MAAMyC,aACzBJ,gBAAiBtC,KAAKsC,gBACtBK,sBAAuB3C,KAAKC,MAAM0C,sBAClC9B,mBAAoBb,KAAKC,MAAMY,oBAG3C,cA/EShB,IACcO,SAAOwC,EAAWC"}
|
package/dist/es/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useState as a,useRef as t,useEffect as n}from"../../../external/preact/hooks/dist/hooks.js";import{useCoreContext as o}from"../../../core/Context/CoreProvider.js";import r from"../../internal/FormFields/Fieldset/Fieldset.js";import l from"../../internal/FormInstruction/FormInstruction.js";import
|
|
1
|
+
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useState as a,useRef as t,useEffect as n}from"../../../external/preact/hooks/dist/hooks.js";import{useCoreContext as o}from"../../../core/Context/CoreProvider.js";import r from"../../internal/FormFields/Fieldset/Fieldset.js";import l from"../../internal/FormInstruction/FormInstruction.js";import s from"../../../utils/useForm/useForm.js";import"../../internal/SecuredFields/lib/CSF/utils/userAgent.js";import i from"../../internal/FormFields/Field/Field.js";import u from"../../internal/FormFields/InputText.js";import{preAuthorizedDebitCanadaValidationRules as d,preAuthorizedDebitCanadaFormatters as m}from"./validate.js";import c from"../../internal/StoreDetails/StoreDetails.js";import b from"../../../core/Context/useImage.js";import{SettlementInfo as p}from"./SettlementInfo.js";function g({onChange:g,payButton:f,showPayButton:k,placeholders:N,setComponentRef:x,enableStoreDetails:h,showContextualElement:C=!0}){const I=b(),{i18n:F}=o(),[w,M]=a("ready"),{handleChangeFor:j,triggerValidation:v,data:A,errors:y,valid:L,isValid:S}=s({schema:["ownerName","bankAccountNumber","bankCode","bankLocationId"],rules:d,formatters:m}),[V,T]=a(!1),B="loading"===w,E=t({setStatus:M,showValidation:()=>{v()}});return n(()=>{x(E.current)},[x,E.current]),n(()=>{g({data:A,valid:L,errors:y,isValid:S,storePaymentMethod:V})},[g,A,L,y,S,V]),e("div",{className:"adyen-checkout__eftpad-canada"},e(l,null),e(r,null,e(i,{label:F.get("eftpad-canada.input.accountHolderName.label"),errorMessage:"string"==typeof y.ownerName?.errorMessage?F.get(y.ownerName.errorMessage):null,isValid:!!L.ownerName,name:"ownerName"},e(u,{disabled:B,name:"ownerName",placeholder:N?.ownerName,value:A.ownerName,onInput:j("ownerName","input"),onBlur:j("ownerName","blur"),required:!0,"data-testid":"owner-name",autocomplete:"name"})),e(i,{label:F.get("eftpad-canada.input.accountNumber.label"),errorMessage:"string"==typeof y.bankAccountNumber?.errorMessage?F.get(y.bankAccountNumber.errorMessage):null,name:"bankAccountNumber",isValid:!!L.bankAccountNumber,showContextualElement:C,contextualText:F.get("eftpad-canada.input.accountNumber.contextualText")},e(u,{disabled:B,name:"bankAccountNumber",placeholder:N?.bankAccountNumber,value:A.bankAccountNumber,onInput:j("bankAccountNumber","input"),onBlur:j("bankAccountNumber","blur"),required:!0,maxlength:12,autocomplete:void 0})),e(i,{label:F.get("eftpad-canada.input.institutionNumber.label"),classNameModifiers:["col-50"],errorMessage:"string"==typeof y.bankCode?.errorMessage?F.get(y.bankCode.errorMessage):null,isValid:!!L.bankCode,name:"bankCode",showContextualElement:C,contextualText:F.get("eftpad-canada.input.institutionNumber.contextualText")},e(u,{disabled:B,name:"bankCode",placeholder:N?.bankCode,value:A.bankCode,onInput:j("bankCode","input"),onBlur:j("bankCode","blur"),required:!0,maxlength:3,autocomplete:void 0})),e(i,{label:F.get("eftpad-canada.input.transitNumber.label"),classNameModifiers:["col-50"],errorMessage:"string"==typeof y.bankLocationId?.errorMessage?F.get(y.bankLocationId.errorMessage):null,name:"bankLocationId",isValid:!!L.bankLocationId,showContextualElement:C,contextualText:F.get("eftpad-canada.input.transitNumber.contextualText")},e(u,{disabled:B,name:"bankLocationId",placeholder:N?.bankLocationId,value:A.bankLocationId,onInput:j("bankLocationId","input"),onBlur:j("bankLocationId","blur"),required:!0,maxlength:5,autocomplete:void 0}))),h&&e(c,{className:"adyen-checkout_eftpad-canada-store-details",disabled:B,onChange:T}),e(p,null),k&&f({status:w,icon:I({imageFolder:"components/"})("bento_lock")}))}export{g as default};
|
|
2
2
|
//# sourceMappingURL=PreAuthorizedDebitCanadaComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PreAuthorizedDebitCanadaComponent.js","sources":["../../../../../src/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useRef, useState } from 'preact/hooks';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport Fieldset from '../../internal/FormFields/Fieldset';\nimport FormInstruction from '../../internal/FormInstruction';\nimport useForm from '../../../utils/useForm';\nimport Field from '../../internal/FormFields/Field';\nimport InputText from '../../internal/FormFields/InputText';\nimport { preAuthorizedDebitCanadaFormatters, preAuthorizedDebitCanadaValidationRules } from './validate';\nimport StoreDetails from '../../internal/StoreDetails';\nimport useImage from '../../../core/Context/useImage';\nimport { SettlementInfo } from './SettlementInfo';\n\nimport type { PayButtonProps } from '../../internal/PayButton/PayButton';\nimport type { ComponentMethodsRef } from '../../internal/UIElement/types';\nimport type { PreAuthorizedDebitCanadaPlaceholders } from '../types';\n\nimport './PreAuthorizedDebitCanada.scss';\nimport { ValidationRuleResult } from '../../../utils/Validator/ValidationRuleResult';\n\ninterface PreAuthorizedDebitCanadaForm {\n ownerName: string;\n bankAccountNumber: string;\n bankCode: string;\n bankLocationId: string;\n}\n\ninterface PreAuthorizedDebitCanadaComponentProps {\n onChange({\n data,\n valid,\n errors,\n isValid,\n storePaymentMethod\n }: {\n data: PreAuthorizedDebitCanadaForm;\n valid: { [key: string]: boolean };\n errors: { [key: string]: ValidationRuleResult };\n isValid: boolean;\n storePaymentMethod: boolean;\n }): void;\n payButton: (props: PayButtonProps) => h.JSX.Element;\n setComponentRef: (ref: ComponentMethodsRef) => void;\n showPayButton: boolean;\n enableStoreDetails: boolean;\n showContextualElement?: boolean;\n placeholders?: PreAuthorizedDebitCanadaPlaceholders;\n}\n\nfunction PreAuthorizedDebitCanadaComponent({\n onChange,\n payButton,\n showPayButton,\n placeholders,\n setComponentRef,\n enableStoreDetails,\n showContextualElement = true\n}: Readonly<PreAuthorizedDebitCanadaComponentProps>) {\n const getImage = useImage();\n const { i18n } = useCoreContext();\n const [status, setStatus] = useState('ready');\n const { handleChangeFor, triggerValidation, data, errors, valid, isValid } = useForm<PreAuthorizedDebitCanadaForm>({\n schema: ['ownerName', 'bankAccountNumber', 'bankCode', 'bankLocationId'],\n rules: preAuthorizedDebitCanadaValidationRules,\n formatters: preAuthorizedDebitCanadaFormatters\n });\n const [storePaymentMethod, setStorePaymentMethod] = useState(false);\n\n const isFormDisabled = status === 'loading';\n\n const componentRef = useRef<ComponentMethodsRef>({\n setStatus: setStatus,\n showValidation: () => {\n triggerValidation();\n }\n });\n\n useEffect(() => {\n setComponentRef(componentRef.current);\n }, [setComponentRef, componentRef.current]);\n\n useEffect(() => {\n onChange({ data, valid, errors, isValid, storePaymentMethod });\n }, [onChange, data, valid, errors, isValid, storePaymentMethod]);\n\n return (\n <div className=\"adyen-checkout__eftpad-canada\">\n <FormInstruction />\n\n <Fieldset>\n <Field\n label={i18n.get('eftpad-canada.input.accountHolderName.label')}\n errorMessage={!!errors.ownerName && i18n.get(errors.ownerName.errorMessage)}\n isValid={!!valid.ownerName}\n name={'ownerName'}\n >\n <InputText\n disabled={isFormDisabled}\n name={'ownerName'}\n placeholder={placeholders?.ownerName}\n value={data.ownerName}\n onInput={handleChangeFor('ownerName', 'input')}\n onBlur={handleChangeFor('ownerName', 'blur')}\n required={true}\n data-testid={'owner-name'}\n autocomplete=\"name\"\n />\n </Field>\n\n <Field\n label={i18n.get('eftpad-canada.input.accountNumber.label')}\n errorMessage={!!errors.bankAccountNumber && i18n.get(errors.bankAccountNumber.errorMessage)}\n name={'bankAccountNumber'}\n isValid={!!valid.bankAccountNumber}\n showContextualElement={showContextualElement}\n contextualText={i18n.get('eftpad-canada.input.accountNumber.contextualText')}\n >\n <InputText\n disabled={isFormDisabled}\n name={'bankAccountNumber'}\n placeholder={placeholders?.bankAccountNumber}\n value={data.bankAccountNumber}\n onInput={handleChangeFor('bankAccountNumber', 'input')}\n onBlur={handleChangeFor('bankAccountNumber', 'blur')}\n required={true}\n maxlength={12}\n autocomplete={undefined}\n />\n </Field>\n\n <Field\n label={i18n.get('eftpad-canada.input.institutionNumber.label')}\n classNameModifiers={['col-50']}\n errorMessage={!!errors.bankCode && i18n.get(errors.bankCode.errorMessage)}\n isValid={!!valid.bankCode}\n name={'bankCode'}\n showContextualElement={showContextualElement}\n contextualText={i18n.get('eftpad-canada.input.institutionNumber.contextualText')}\n >\n <InputText\n disabled={isFormDisabled}\n name={'bankCode'}\n placeholder={placeholders?.bankCode}\n value={data.bankCode}\n onInput={handleChangeFor('bankCode', 'input')}\n onBlur={handleChangeFor('bankCode', 'blur')}\n required={true}\n maxlength={3}\n autocomplete={undefined}\n />\n </Field>\n\n <Field\n label={i18n.get('eftpad-canada.input.transitNumber.label')}\n classNameModifiers={['col-50']}\n errorMessage={!!errors.bankLocationId && i18n.get(errors.bankLocationId.errorMessage)}\n name={'bankLocationId'}\n isValid={!!valid.bankLocationId}\n showContextualElement={showContextualElement}\n contextualText={i18n.get('eftpad-canada.input.transitNumber.contextualText')}\n >\n <InputText\n disabled={isFormDisabled}\n name={'bankLocationId'}\n placeholder={placeholders?.bankLocationId}\n value={data.bankLocationId}\n onInput={handleChangeFor('bankLocationId', 'input')}\n onBlur={handleChangeFor('bankLocationId', 'blur')}\n required={true}\n maxlength={5}\n autocomplete={undefined}\n />\n </Field>\n </Fieldset>\n\n {enableStoreDetails && (\n <StoreDetails className={'adyen-checkout_eftpad-canada-store-details'} disabled={isFormDisabled} onChange={setStorePaymentMethod} />\n )}\n\n <SettlementInfo />\n\n {showPayButton && payButton({ status, icon: getImage({ imageFolder: 'components/' })('bento_lock') })}\n </div>\n );\n}\n\nexport default PreAuthorizedDebitCanadaComponent;\n"],"names":["PreAuthorizedDebitCanadaComponent","onChange","payButton","showPayButton","placeholders","setComponentRef","enableStoreDetails","showContextualElement","getImage","useImage","i18n","useCoreContext","status","setStatus","useState","handleChangeFor","triggerValidation","data","errors","valid","isValid","useForm","schema","rules","preAuthorizedDebitCanadaValidationRules","formatters","preAuthorizedDebitCanadaFormatters","storePaymentMethod","setStorePaymentMethod","isFormDisabled","componentRef","useRef","showValidation","useEffect","current","h","div","className","FormInstruction","Fieldset","Field","label","get","errorMessage","ownerName","name","InputText","disabled","placeholder","value","onInput","onBlur","required","data-testid","autocomplete","bankAccountNumber","contextualText","maxlength","undefined","classNameModifiers","bankCode","bankLocationId","StoreDetails","SettlementInfo","icon","imageFolder"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PreAuthorizedDebitCanadaComponent.js","sources":["../../../../../src/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useRef, useState } from 'preact/hooks';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport Fieldset from '../../internal/FormFields/Fieldset';\nimport FormInstruction from '../../internal/FormInstruction';\nimport useForm from '../../../utils/useForm';\nimport Field from '../../internal/FormFields/Field';\nimport InputText from '../../internal/FormFields/InputText';\nimport { preAuthorizedDebitCanadaFormatters, preAuthorizedDebitCanadaValidationRules } from './validate';\nimport StoreDetails from '../../internal/StoreDetails';\nimport useImage from '../../../core/Context/useImage';\nimport { SettlementInfo } from './SettlementInfo';\n\nimport type { PayButtonProps } from '../../internal/PayButton/PayButton';\nimport type { ComponentMethodsRef } from '../../internal/UIElement/types';\nimport type { PreAuthorizedDebitCanadaPlaceholders } from '../types';\n\nimport './PreAuthorizedDebitCanada.scss';\nimport { ValidationRuleResult } from '../../../utils/Validator/ValidationRuleResult';\n\ninterface PreAuthorizedDebitCanadaForm {\n ownerName: string;\n bankAccountNumber: string;\n bankCode: string;\n bankLocationId: string;\n}\n\ninterface PreAuthorizedDebitCanadaComponentProps {\n onChange({\n data,\n valid,\n errors,\n isValid,\n storePaymentMethod\n }: {\n data: PreAuthorizedDebitCanadaForm;\n valid: { [key: string]: boolean };\n errors: { [key: string]: ValidationRuleResult };\n isValid: boolean;\n storePaymentMethod: boolean;\n }): void;\n payButton: (props: PayButtonProps) => h.JSX.Element;\n setComponentRef: (ref: ComponentMethodsRef) => void;\n showPayButton: boolean;\n enableStoreDetails: boolean;\n showContextualElement?: boolean;\n placeholders?: PreAuthorizedDebitCanadaPlaceholders;\n}\n\nfunction PreAuthorizedDebitCanadaComponent({\n onChange,\n payButton,\n showPayButton,\n placeholders,\n setComponentRef,\n enableStoreDetails,\n showContextualElement = true\n}: Readonly<PreAuthorizedDebitCanadaComponentProps>) {\n const getImage = useImage();\n const { i18n } = useCoreContext();\n const [status, setStatus] = useState('ready');\n const { handleChangeFor, triggerValidation, data, errors, valid, isValid } = useForm<PreAuthorizedDebitCanadaForm>({\n schema: ['ownerName', 'bankAccountNumber', 'bankCode', 'bankLocationId'],\n rules: preAuthorizedDebitCanadaValidationRules,\n formatters: preAuthorizedDebitCanadaFormatters\n });\n const [storePaymentMethod, setStorePaymentMethod] = useState(false);\n\n const isFormDisabled = status === 'loading';\n\n const componentRef = useRef<ComponentMethodsRef>({\n setStatus: setStatus,\n showValidation: () => {\n triggerValidation();\n }\n });\n\n useEffect(() => {\n setComponentRef(componentRef.current);\n }, [setComponentRef, componentRef.current]);\n\n useEffect(() => {\n onChange({ data, valid, errors, isValid, storePaymentMethod });\n }, [onChange, data, valid, errors, isValid, storePaymentMethod]);\n\n return (\n <div className=\"adyen-checkout__eftpad-canada\">\n <FormInstruction />\n\n <Fieldset>\n <Field\n label={i18n.get('eftpad-canada.input.accountHolderName.label')}\n errorMessage={typeof errors.ownerName?.errorMessage === 'string' ? i18n.get(errors.ownerName.errorMessage) : null}\n isValid={!!valid.ownerName}\n name={'ownerName'}\n >\n <InputText\n disabled={isFormDisabled}\n name={'ownerName'}\n placeholder={placeholders?.ownerName}\n value={data.ownerName}\n onInput={handleChangeFor('ownerName', 'input')}\n onBlur={handleChangeFor('ownerName', 'blur')}\n required={true}\n data-testid={'owner-name'}\n autocomplete=\"name\"\n />\n </Field>\n\n <Field\n label={i18n.get('eftpad-canada.input.accountNumber.label')}\n errorMessage={typeof errors.bankAccountNumber?.errorMessage === 'string' ? i18n.get(errors.bankAccountNumber.errorMessage) : null}\n name={'bankAccountNumber'}\n isValid={!!valid.bankAccountNumber}\n showContextualElement={showContextualElement}\n contextualText={i18n.get('eftpad-canada.input.accountNumber.contextualText')}\n >\n <InputText\n disabled={isFormDisabled}\n name={'bankAccountNumber'}\n placeholder={placeholders?.bankAccountNumber}\n value={data.bankAccountNumber}\n onInput={handleChangeFor('bankAccountNumber', 'input')}\n onBlur={handleChangeFor('bankAccountNumber', 'blur')}\n required={true}\n maxlength={12}\n autocomplete={undefined}\n />\n </Field>\n\n <Field\n label={i18n.get('eftpad-canada.input.institutionNumber.label')}\n classNameModifiers={['col-50']}\n errorMessage={typeof errors.bankCode?.errorMessage === 'string' ? i18n.get(errors.bankCode.errorMessage) : null}\n isValid={!!valid.bankCode}\n name={'bankCode'}\n showContextualElement={showContextualElement}\n contextualText={i18n.get('eftpad-canada.input.institutionNumber.contextualText')}\n >\n <InputText\n disabled={isFormDisabled}\n name={'bankCode'}\n placeholder={placeholders?.bankCode}\n value={data.bankCode}\n onInput={handleChangeFor('bankCode', 'input')}\n onBlur={handleChangeFor('bankCode', 'blur')}\n required={true}\n maxlength={3}\n autocomplete={undefined}\n />\n </Field>\n\n <Field\n label={i18n.get('eftpad-canada.input.transitNumber.label')}\n classNameModifiers={['col-50']}\n errorMessage={typeof errors.bankLocationId?.errorMessage === 'string' ? i18n.get(errors.bankLocationId.errorMessage) : null}\n name={'bankLocationId'}\n isValid={!!valid.bankLocationId}\n showContextualElement={showContextualElement}\n contextualText={i18n.get('eftpad-canada.input.transitNumber.contextualText')}\n >\n <InputText\n disabled={isFormDisabled}\n name={'bankLocationId'}\n placeholder={placeholders?.bankLocationId}\n value={data.bankLocationId}\n onInput={handleChangeFor('bankLocationId', 'input')}\n onBlur={handleChangeFor('bankLocationId', 'blur')}\n required={true}\n maxlength={5}\n autocomplete={undefined}\n />\n </Field>\n </Fieldset>\n\n {enableStoreDetails && (\n <StoreDetails className={'adyen-checkout_eftpad-canada-store-details'} disabled={isFormDisabled} onChange={setStorePaymentMethod} />\n )}\n\n <SettlementInfo />\n\n {showPayButton && payButton({ status, icon: getImage({ imageFolder: 'components/' })('bento_lock') })}\n </div>\n );\n}\n\nexport default PreAuthorizedDebitCanadaComponent;\n"],"names":["PreAuthorizedDebitCanadaComponent","onChange","payButton","showPayButton","placeholders","setComponentRef","enableStoreDetails","showContextualElement","getImage","useImage","i18n","useCoreContext","status","setStatus","useState","handleChangeFor","triggerValidation","data","errors","valid","isValid","useForm","schema","rules","preAuthorizedDebitCanadaValidationRules","formatters","preAuthorizedDebitCanadaFormatters","storePaymentMethod","setStorePaymentMethod","isFormDisabled","componentRef","useRef","showValidation","useEffect","current","h","div","className","FormInstruction","Fieldset","Field","label","get","errorMessage","ownerName","name","InputText","disabled","placeholder","value","onInput","onBlur","required","data-testid","autocomplete","bankAccountNumber","contextualText","maxlength","undefined","classNameModifiers","bankCode","bankLocationId","StoreDetails","SettlementInfo","icon","imageFolder"],"mappings":"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"}
|
|
@@ -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/RedirectShopper/RedirectShopper.js";import o from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as n}from"../tx-variants.js";import s from"../../utils/browserInfo.js";import{AnalyticsErrorEvent as i,ErrorEventCode as p,ErrorEventType as a}from"../../core/Analytics/events/AnalyticsErrorEvent.js";function
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/RedirectShopper/RedirectShopper.js";import o from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as n}from"../tx-variants.js";import s from"../../utils/browserInfo.js";import{AnalyticsErrorEvent as i,ErrorEventCode as p,ErrorEventType as a}from"../../core/Analytics/events/AnalyticsErrorEvent.js";function m(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}class c extends e{formatData(){return{paymentMethod:{type:this.type},browserInfo:this.browserInfo}}get isRedirecting(){return!!this.props.url&&!!this.props.method}get isValid(){return!0}get browserInfo(){return s()}componentToRender(){return this.isRedirecting?t(r,{url:this.props.url,...this.props,onActionHandled:this.onActionHandled,onRedirectError:this.handleRedirectError}):this.props.showPayButton?t(o,{...this.props,showPayButton:this.props.showPayButton,name:this.displayName,onSubmit:this.submit,payButton:this.payButton,setComponentRef:this.setComponentRef}):null}constructor(...t){super(...t),m(this,"handleRedirectError",()=>{const t=new i({component:this.props.paymentMethodType,errorType:a.redirect,code:p.REDIRECT});super.submitAnalytics(t)})}}m(c,"type",n.redirect),m(c,"defaultProps",{type:c.type});export{c as default};
|
|
2
2
|
//# sourceMappingURL=Redirect.js.map
|