@adyen/adyen-web 6.0.0-alpha.5 → 6.0.0-alpha.7
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 +10 -9
- 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 +41 -29
- package/dist/es/adyen.css +10 -9
- package/dist/es/adyen.css.map +1 -1
- package/dist/es/components/Address/Address.js +1 -1
- package/dist/es/components/Address/Address.js.map +1 -1
- package/dist/es/components/BacsDD/components/BacsInput.js +1 -1
- package/dist/es/components/BacsDD/components/BacsInput.js.map +1 -1
- package/dist/es/components/Blik/components/BlikInput.js +1 -1
- package/dist/es/components/Blik/components/BlikInput.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/CardInput.js +1 -1
- package/dist/es/components/Card/components/CardInput/CardInput.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/defaultProps.js +1 -1
- package/dist/es/components/Card/components/CardInput/defaultProps.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/types.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/utils.js +1 -1
- package/dist/es/components/Card/components/CardInput/utils.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/CashAppPay/components/CashAppComponent.js +1 -1
- package/dist/es/components/CashAppPay/components/CashAppComponent.js.map +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/InstantPaymentMethods.js.map +1 -1
- package/dist/es/components/GooglePay/components/GooglePayButton.js +1 -1
- package/dist/es/components/GooglePay/components/GooglePayButton.js.map +1 -1
- package/dist/es/components/GooglePay/defaultProps.js +1 -1
- package/dist/es/components/GooglePay/defaultProps.js.map +1 -1
- package/dist/es/components/PersonalDetails/PersonalDetails.js +1 -1
- package/dist/es/components/PersonalDetails/PersonalDetails.js.map +1 -1
- package/dist/es/components/internal/Address/Address.js +1 -1
- package/dist/es/components/internal/Address/Address.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPCards/CtPCards.js +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPCards/CtPCards.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPLogin/CtPLogin.js +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPLogin/CtPLogin.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePassword.js +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePassword.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.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/ClickToPay/services/utils.js +1 -1
- package/dist/es/components/internal/ClickToPay/services/utils.js.map +1 -1
- package/dist/es/components/internal/CompanyDetails/CompanyDetails.js +1 -1
- package/dist/es/components/internal/CompanyDetails/CompanyDetails.js.map +1 -1
- package/dist/es/components/internal/FormFields/Field/Field.js +1 -1
- package/dist/es/components/internal/FormFields/Field/Field.js.map +1 -1
- package/dist/es/components/internal/FormFields/InputBase.js.map +1 -1
- package/dist/es/components/internal/FormFields/Select/components/SelectListItem.js +1 -1
- package/dist/es/components/internal/FormFields/Select/components/SelectListItem.js.map +1 -1
- package/dist/es/components/internal/Icon/constants.js +2 -0
- package/dist/es/components/internal/Icon/constants.js.map +1 -0
- 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/OpenInvoice/useSRPanelForOpenInvoiceErrors.js +2 -0
- package/dist/es/components/internal/OpenInvoice/useSRPanelForOpenInvoiceErrors.js.map +1 -0
- package/dist/es/components/internal/QRLoader/QRLoader.js +1 -1
- package/dist/es/components/internal/QRLoader/QRLoader.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
- package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleEncryption.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleEncryption.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/constants.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/constants.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/Voucher/Voucher.js +1 -1
- package/dist/es/components/internal/Voucher/Voucher.js.map +1 -1
- package/dist/es/core/Analytics/Analytics.js +1 -1
- package/dist/es/core/Analytics/Analytics.js.map +1 -1
- package/dist/es/core/Analytics/constants.js +1 -1
- package/dist/es/core/Analytics/constants.js.map +1 -1
- package/dist/es/core/Analytics/utils.js.map +1 -1
- package/dist/es/core/Context/Resources.js +1 -1
- package/dist/es/core/Context/Resources.js.map +1 -1
- package/dist/es/core/Environment/Environment.js +1 -1
- package/dist/es/core/Environment/Environment.js.map +1 -1
- package/dist/es/core/Environment/constants.js +2 -0
- package/dist/es/core/Environment/constants.js.map +1 -0
- package/dist/es/core/Errors/SRMessages.js +1 -1
- package/dist/es/core/Errors/SRMessages.js.map +1 -1
- package/dist/es/core/Errors/SRPanel.js +1 -1
- package/dist/es/core/Errors/SRPanel.js.map +1 -1
- package/dist/es/core/Services/analytics/collect-id.js +1 -1
- package/dist/es/core/Services/analytics/collect-id.js.map +1 -1
- package/dist/es/core/Services/analytics/log-event.js +1 -1
- package/dist/es/core/Services/get-translations.js +1 -1
- package/dist/es/core/Services/get-translations.js.map +1 -1
- package/dist/es/core/core.defaultProps.js +1 -1
- package/dist/es/core/core.defaultProps.js.map +1 -1
- package/dist/es/core/core.js +1 -1
- package/dist/es/core/core.js.map +1 -1
- package/dist/es/core/core.registry.js +1 -1
- package/dist/es/core/core.registry.js.map +1 -1
- package/dist/es/core/utils.js +1 -1
- package/dist/es/core/utils.js.map +1 -1
- package/dist/es/external/preact/dist/preact.js +1 -1
- package/dist/es/external/preact/dist/preact.js.map +1 -1
- package/dist/es/external/preact/hooks/dist/hooks.js +1 -1
- package/dist/es/external/preact/hooks/dist/hooks.js.map +1 -1
- package/dist/es/index.d.ts +41 -29
- package/dist/es/utils/arrayUtils.js +1 -1
- package/dist/es/utils/arrayUtils.js.map +1 -1
- package/dist/es/utils/useForm/useForm.js +1 -1
- package/dist/es/utils/validator-utils.js +1 -1
- package/dist/es/utils/validator-utils.js.map +1 -1
- package/dist/es-legacy/adyen.css +10 -9
- package/dist/es-legacy/adyen.css.map +1 -1
- package/dist/es-legacy/components/ANCV/ANCV.js +1 -1
- package/dist/es-legacy/components/ANCV/ANCV.js.map +1 -1
- package/dist/es-legacy/components/Ach/Ach.js +1 -1
- package/dist/es-legacy/components/Ach/Ach.js.map +1 -1
- package/dist/es-legacy/components/Ach/components/AchInput/AchInput.js +1 -1
- package/dist/es-legacy/components/Ach/components/AchInput/AchInput.js.map +1 -1
- package/dist/es-legacy/components/Address/Address.js +1 -1
- package/dist/es-legacy/components/Address/Address.js.map +1 -1
- package/dist/es-legacy/components/Affirm/Affirm.js +1 -1
- package/dist/es-legacy/components/Affirm/Affirm.js.map +1 -1
- package/dist/es-legacy/components/AfterPay/AfterPay.js +1 -1
- package/dist/es-legacy/components/AfterPay/AfterPay.js.map +1 -1
- package/dist/es-legacy/components/AfterPay/AfterPayB2B.js +1 -1
- package/dist/es-legacy/components/AfterPay/AfterPayB2B.js.map +1 -1
- package/dist/es-legacy/components/AmazonPay/AmazonPay.js +1 -1
- package/dist/es-legacy/components/AmazonPay/AmazonPay.js.map +1 -1
- package/dist/es-legacy/components/AmazonPay/components/AmazonPayButton.js +1 -1
- package/dist/es-legacy/components/AmazonPay/components/AmazonPayButton.js.map +1 -1
- package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js +1 -1
- package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
- package/dist/es-legacy/components/AmazonPay/utils.js +1 -1
- package/dist/es-legacy/components/AmazonPay/utils.js.map +1 -1
- package/dist/es-legacy/components/ApplePay/ApplePay.js +1 -1
- package/dist/es-legacy/components/ApplePay/ApplePay.js.map +1 -1
- package/dist/es-legacy/components/Atome/Atome.js +1 -1
- package/dist/es-legacy/components/Atome/Atome.js.map +1 -1
- package/dist/es-legacy/components/Atome/config.js +1 -1
- package/dist/es-legacy/components/Atome/config.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/BillDesk/BillDeskOnline.js +1 -1
- package/dist/es-legacy/components/BillDesk/BillDeskOnline.js.map +1 -1
- package/dist/es-legacy/components/BillDesk/BillDeskWallet.js +1 -1
- package/dist/es-legacy/components/BillDesk/BillDeskWallet.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/Boleto/Boleto.js +1 -1
- package/dist/es-legacy/components/Boleto/Boleto.js.map +1 -1
- package/dist/es-legacy/components/Boleto/components/BoletoInput/BoletoInput.js +1 -1
- package/dist/es-legacy/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
- package/dist/es-legacy/components/Card/Bancontact.js +1 -1
- package/dist/es-legacy/components/Card/Bancontact.js.map +1 -1
- package/dist/es-legacy/components/Card/Card.js +1 -1
- package/dist/es-legacy/components/Card/Card.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/CardInput.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/CardInput.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/IframeLabelAlternative.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/IframeLabelAlternative.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/StoredCardFields.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/StoredCardFields.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/defaultProps.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/defaultProps.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/types.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/utils.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/utils.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/CashAppPay/components/CashAppComponent.js +1 -1
- package/dist/es-legacy/components/CashAppPay/components/CashAppComponent.js.map +1 -1
- package/dist/es-legacy/components/ClickToPay/ClickToPay.js +1 -1
- package/dist/es-legacy/components/ClickToPay/ClickToPay.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 +1 -1
- package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
- package/dist/es-legacy/components/Doku/Doku.js +1 -1
- package/dist/es-legacy/components/Doku/Doku.js.map +1 -1
- package/dist/es-legacy/components/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/Dragonpay/Dragonpay.js +1 -1
- package/dist/es-legacy/components/Dragonpay/Dragonpay.js.map +1 -1
- package/dist/es-legacy/components/Dragonpay/components/DragonpayInput/DragonpayInput.js +1 -1
- package/dist/es-legacy/components/Dragonpay/components/DragonpayInput/DragonpayInput.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 +1 -1
- package/dist/es-legacy/components/Dropin/components/DropinComponent.js.map +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/InstantPaymentMethods.js.map +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodList.js +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodList.js.map +1 -1
- package/dist/es-legacy/components/Dropin/elements/createInstantPaymentElements.js +1 -1
- package/dist/es-legacy/components/Dropin/elements/createInstantPaymentElements.js.map +1 -1
- package/dist/es-legacy/components/Dropin/elements/createStoredElements.js +1 -1
- package/dist/es-legacy/components/Dropin/elements/createStoredElements.js.map +1 -1
- package/dist/es-legacy/components/EPS/index.js +1 -1
- package/dist/es-legacy/components/EPS/index.js.map +1 -1
- package/dist/es-legacy/components/Econtext/Econtext.js +1 -1
- package/dist/es-legacy/components/Econtext/Econtext.js.map +1 -1
- package/dist/es-legacy/components/FacilyPay/FacilyPay10x.js +1 -1
- package/dist/es-legacy/components/FacilyPay/FacilyPay10x.js.map +1 -1
- package/dist/es-legacy/components/FacilyPay/FacilyPay12x.js +1 -1
- package/dist/es-legacy/components/FacilyPay/FacilyPay12x.js.map +1 -1
- package/dist/es-legacy/components/FacilyPay/FacilyPay3x.js +1 -1
- package/dist/es-legacy/components/FacilyPay/FacilyPay3x.js.map +1 -1
- package/dist/es-legacy/components/FacilyPay/FacilyPay4x.js +1 -1
- package/dist/es-legacy/components/FacilyPay/FacilyPay4x.js.map +1 -1
- package/dist/es-legacy/components/FacilyPay/FacilyPay6x.js +1 -1
- package/dist/es-legacy/components/FacilyPay/FacilyPay6x.js.map +1 -1
- package/dist/es-legacy/components/Giftcard/Giftcard.js +1 -1
- package/dist/es-legacy/components/Giftcard/Giftcard.js.map +1 -1
- package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js +1 -1
- package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js.map +1 -1
- package/dist/es-legacy/components/Giftcard/components/GiftcardFields.js +1 -1
- package/dist/es-legacy/components/Giftcard/components/GiftcardFields.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/GooglePay/GooglePay.js +1 -1
- package/dist/es-legacy/components/GooglePay/GooglePay.js.map +1 -1
- package/dist/es-legacy/components/GooglePay/components/GooglePayButton.js +1 -1
- package/dist/es-legacy/components/GooglePay/components/GooglePayButton.js.map +1 -1
- package/dist/es-legacy/components/GooglePay/defaultProps.js +1 -1
- package/dist/es-legacy/components/GooglePay/defaultProps.js.map +1 -1
- package/dist/es-legacy/components/Klarna/KlarnaPayments.js +1 -1
- package/dist/es-legacy/components/Klarna/KlarnaPayments.js.map +1 -1
- package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js +1 -1
- package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.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/MealVoucherFR/MealVoucherFR.js +1 -1
- package/dist/es-legacy/components/MealVoucherFR/MealVoucherFR.js.map +1 -1
- package/dist/es-legacy/components/MealVoucherFR/components/MealVoucherFields.js +1 -1
- package/dist/es-legacy/components/MealVoucherFR/components/MealVoucherFields.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/OnlineBankingCZ/index.js +1 -1
- package/dist/es-legacy/components/OnlineBankingCZ/index.js.map +1 -1
- package/dist/es-legacy/components/OnlineBankingIN/index.js +1 -1
- package/dist/es-legacy/components/OnlineBankingIN/index.js.map +1 -1
- package/dist/es-legacy/components/OnlineBankingPL/OnlineBankingPL.js +1 -1
- package/dist/es-legacy/components/OnlineBankingPL/OnlineBankingPL.js.map +1 -1
- package/dist/es-legacy/components/OnlineBankingSK/index.js +1 -1
- package/dist/es-legacy/components/OnlineBankingSK/index.js.map +1 -1
- package/dist/es-legacy/components/Oxxo/Oxxo.js +1 -1
- package/dist/es-legacy/components/Oxxo/Oxxo.js.map +1 -1
- package/dist/es-legacy/components/PayByBank/PayByBank.js +1 -1
- package/dist/es-legacy/components/PayByBank/PayByBank.js.map +1 -1
- package/dist/es-legacy/components/PayPal/Paypal.js +1 -1
- package/dist/es-legacy/components/PayPal/Paypal.js.map +1 -1
- package/dist/es-legacy/components/PayPal/components/PaypalButtons.js +1 -1
- package/dist/es-legacy/components/PayPal/components/PaypalButtons.js.map +1 -1
- package/dist/es-legacy/components/PayPal/components/PaypalComponent.js +1 -1
- package/dist/es-legacy/components/PayPal/components/PaypalComponent.js.map +1 -1
- package/dist/es-legacy/components/PayPal/utils/get-paypal-settings.js +1 -1
- package/dist/es-legacy/components/PayPal/utils/get-paypal-settings.js.map +1 -1
- package/dist/es-legacy/components/PayU/PayuCashcard.js +1 -1
- package/dist/es-legacy/components/PayU/PayuCashcard.js.map +1 -1
- package/dist/es-legacy/components/PayU/PayuNetBanking.js +1 -1
- package/dist/es-legacy/components/PayU/PayuNetBanking.js.map +1 -1
- package/dist/es-legacy/components/PersonalDetails/PersonalDetails.js +1 -1
- package/dist/es-legacy/components/PersonalDetails/PersonalDetails.js.map +1 -1
- package/dist/es-legacy/components/Pix/Pix.js +1 -1
- package/dist/es-legacy/components/Pix/Pix.js.map +1 -1
- package/dist/es-legacy/components/RatePay/RatePay.js +1 -1
- package/dist/es-legacy/components/RatePay/RatePay.js.map +1 -1
- package/dist/es-legacy/components/RatePay/RatePayDirectDebit.js +1 -1
- package/dist/es-legacy/components/RatePay/RatePayDirectDebit.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/Riverty/Riverty.js +1 -1
- package/dist/es-legacy/components/Riverty/Riverty.js.map +1 -1
- package/dist/es-legacy/components/Sepa/Sepa.js +1 -1
- package/dist/es-legacy/components/Sepa/Sepa.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/ThreeDS2Challenge.js +1 -1
- package/dist/es-legacy/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js +1 -1
- package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
- package/dist/es-legacy/components/Trustly/Trustly.js +1 -1
- package/dist/es-legacy/components/Trustly/Trustly.js.map +1 -1
- package/dist/es-legacy/components/Twint/Twint.js +1 -1
- package/dist/es-legacy/components/Twint/Twint.js.map +1 -1
- package/dist/es-legacy/components/UPI/UPI.js +1 -1
- package/dist/es-legacy/components/UPI/UPI.js.map +1 -1
- package/dist/es-legacy/components/WalletIN/index.js +1 -1
- package/dist/es-legacy/components/WalletIN/index.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/OpenInvoiceContainer/OpenInvoiceContainer.js +1 -1
- package/dist/es-legacy/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.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/Address.js +1 -1
- package/dist/es-legacy/components/internal/Address/Address.js.map +1 -1
- package/dist/es-legacy/components/internal/Address/components/CountryField.js +1 -1
- package/dist/es-legacy/components/internal/Address/components/CountryField.js.map +1 -1
- package/dist/es-legacy/components/internal/BaseElement/BaseElement.js +1 -1
- package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPCards/CtPCards.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPCards/CtPCards.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPLogin/CtPLogin.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPLogin/CtPLogin.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePassword.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePassword.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/ClickToPayService.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/ClickToPayService.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 +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 +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/sdks/VisaSdk.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/utils.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/utils.js.map +1 -1
- package/dist/es-legacy/components/internal/CompanyDetails/CompanyDetails.js +1 -1
- package/dist/es-legacy/components/internal/CompanyDetails/CompanyDetails.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/Checkbox/Checkbox.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/Checkbox/Checkbox.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/Field/Field.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/Field/Field.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/InputBase.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/InputBase.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/InputDate/InputDate.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/InputDate/InputDate.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/InputEmail.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/InputEmail.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/InputTelephone.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/InputTelephone.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/InputText.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/InputText.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/Select/components/SelectButton.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/Select/components/SelectButton.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/Select/components/SelectListItem.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/Select/components/SelectListItem.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/Icon/constants.js +2 -0
- package/dist/es-legacy/components/internal/Icon/constants.js.map +1 -0
- package/dist/es-legacy/components/internal/Img/Img.js +1 -1
- package/dist/es-legacy/components/internal/Img/Img.js.map +1 -1
- package/dist/es-legacy/components/internal/IssuerList/IssuerButtonGroup/IssuerButtonGroup.js +1 -1
- package/dist/es-legacy/components/internal/IssuerList/IssuerButtonGroup/IssuerButtonGroup.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/OpenInvoice/useSRPanelForOpenInvoiceErrors.js +2 -0
- package/dist/es-legacy/components/internal/OpenInvoice/useSRPanelForOpenInvoiceErrors.js.map +1 -0
- package/dist/es-legacy/components/internal/PayButton/PayButton.js +1 -1
- package/dist/es-legacy/components/internal/PayButton/PayButton.js.map +1 -1
- package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js +1 -1
- package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
- package/dist/es-legacy/components/internal/PhoneInput/PhoneInput.js +1 -1
- package/dist/es-legacy/components/internal/PhoneInput/PhoneInput.js.map +1 -1
- package/dist/es-legacy/components/internal/QRLoader/QRLoader.js +1 -1
- package/dist/es-legacy/components/internal/QRLoader/QRLoader.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 +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleBrandFromBinLookup.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleBrandFromBinLookup.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleEncryption.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleEncryption.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/constants.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/constants.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/utils/processAriaConfig.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/utils/processAriaConfig.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/Voucher/Voucher.js +1 -1
- package/dist/es-legacy/components/internal/Voucher/Voucher.js.map +1 -1
- package/dist/es-legacy/core/Analytics/Analytics.js +1 -1
- package/dist/es-legacy/core/Analytics/Analytics.js.map +1 -1
- package/dist/es-legacy/core/Analytics/constants.js +1 -1
- package/dist/es-legacy/core/Analytics/constants.js.map +1 -1
- package/dist/es-legacy/core/Analytics/utils.js.map +1 -1
- package/dist/es-legacy/core/Context/Resources.js +1 -1
- package/dist/es-legacy/core/Context/Resources.js.map +1 -1
- package/dist/es-legacy/core/Environment/Environment.js +1 -1
- package/dist/es-legacy/core/Environment/Environment.js.map +1 -1
- package/dist/es-legacy/core/Environment/constants.js +2 -0
- package/dist/es-legacy/core/Environment/constants.js.map +1 -0
- package/dist/es-legacy/core/Errors/SRPanel.js +1 -1
- package/dist/es-legacy/core/Errors/SRPanel.js.map +1 -1
- package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js +1 -1
- package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
- package/dist/es-legacy/core/ProcessResponse/PaymentMethods/utils.js +1 -1
- package/dist/es-legacy/core/ProcessResponse/PaymentMethods/utils.js.map +1 -1
- package/dist/es-legacy/core/ProcessResponse/process-response.js +1 -1
- package/dist/es-legacy/core/ProcessResponse/process-response.js.map +1 -1
- package/dist/es-legacy/core/RiskModule/RiskModule.js +1 -1
- package/dist/es-legacy/core/RiskModule/RiskModule.js.map +1 -1
- package/dist/es-legacy/core/Services/analytics/collect-id.js +1 -1
- package/dist/es-legacy/core/Services/analytics/collect-id.js.map +1 -1
- package/dist/es-legacy/core/Services/analytics/log-event.js +1 -1
- package/dist/es-legacy/core/Services/get-translations.js +1 -1
- package/dist/es-legacy/core/Services/get-translations.js.map +1 -1
- package/dist/es-legacy/core/Services/http.js +1 -1
- package/dist/es-legacy/core/Services/http.js.map +1 -1
- package/dist/es-legacy/core/core.defaultProps.js +1 -1
- package/dist/es-legacy/core/core.defaultProps.js.map +1 -1
- package/dist/es-legacy/core/core.js +1 -1
- package/dist/es-legacy/core/core.js.map +1 -1
- package/dist/es-legacy/core/core.registry.js +1 -1
- package/dist/es-legacy/core/core.registry.js.map +1 -1
- package/dist/es-legacy/core/utils.js +1 -1
- package/dist/es-legacy/core/utils.js.map +1 -1
- package/dist/es-legacy/external/preact/dist/preact.js +1 -1
- package/dist/es-legacy/external/preact/dist/preact.js.map +1 -1
- package/dist/es-legacy/external/preact/hooks/dist/hooks.js +1 -1
- package/dist/es-legacy/external/preact/hooks/dist/hooks.js.map +1 -1
- package/dist/es-legacy/utils/arrayUtils.js +1 -1
- package/dist/es-legacy/utils/arrayUtils.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/validator-utils.js +1 -1
- package/dist/es-legacy/utils/validator-utils.js.map +1 -1
- package/package.json +144 -148
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as o}from"../internal/UIElement/UIElement.js";import{CoreProvider as t}from"../../core/Context/CoreProvider.js";import r from"../../utils/browserInfo.js";import i from"../internal/ClickToPay/services/create-clicktopay-service.js";import{CtpState as n}from"../internal/ClickToPay/services/ClickToPayService.js";import s from"../internal/ClickToPay/context/ClickToPayProvider.js";import c from"../internal/ClickToPay/ClickToPayComponent.js";import a from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as l}from"../tx-variants.js";function p(e,o,t){return o in e?Object.defineProperty(e,o,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[o]=t,e}function u(e){for(var o=1;o<arguments.length;o++){var t=null!=arguments[o]?arguments[o]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),r.forEach((function(o){p(e,o,t[o])}))}return e}function h(e,o){return o=null!=o?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):function(e,o){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);
|
|
1
|
+
import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as o}from"../internal/UIElement/UIElement.js";import{CoreProvider as t}from"../../core/Context/CoreProvider.js";import r from"../../utils/browserInfo.js";import i from"../internal/ClickToPay/services/create-clicktopay-service.js";import{CtpState as n}from"../internal/ClickToPay/services/ClickToPayService.js";import s from"../internal/ClickToPay/context/ClickToPayProvider.js";import c from"../internal/ClickToPay/ClickToPayComponent.js";import a from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as l}from"../tx-variants.js";function p(e,o,t){return o in e?Object.defineProperty(e,o,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[o]=t,e}function u(e){for(var o=1;o<arguments.length;o++){var t=null!=arguments[o]?arguments[o]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),r.forEach((function(o){p(e,o,t[o])}))}return e}function h(e,o){return o=null!=o?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):function(e,o){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))})),e}class m extends o{get isValid(){return!0}get browserInfo(){return r()}formatData(){var e,o;const{srcScheme:t,srcCorrelationId:r,srcTokenReference:i,srcCheckoutPayload:n,srcDigitalCardId:s}=this.state.data;return{paymentMethod:u({type:m.type},t&&{srcScheme:t},r&&{srcCorrelationId:r},i&&{srcTokenReference:i},n&&{srcCheckoutPayload:n},s&&{srcDigitalCardId:s}),browserInfo:this.browserInfo,origin:null===(o=window)||void 0===o||null===(e=o.location)||void 0===e?void 0:e.origin}}formatProps(e){var o,t,r,i,n,s;return h(u({},e),{disableOtpAutoFocus:e.disableOtpAutoFocus||!1,shopperEmail:e.shopperEmail||(null===(t=this.core.options)||void 0===t||null===(o=t.session)||void 0===o?void 0:o.shopperEmail),telephoneNumber:e.telephoneNumber||(null===(i=this.core.options)||void 0===i||null===(r=i.session)||void 0===r?void 0:r.telephoneNumber),locale:e.locale||(null===(s=e.i18n)||void 0===s||null===(n=s.locale)||void 0===n?void 0:n.replace("-","_"))})}async isAvailable(){return this.clickToPayService?this.clickToPayService.shopperAccountFound?Promise.resolve():new Promise(((e,o)=>{this.clickToPayService.subscribeOnStateChange((t=>{this.clickToPayService.shopperAccountFound&&e(),t!==n.NotAvailable&&t!==n.Login&&t!==n.Idle||o()}))})):Promise.reject()}render(){return e(t,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},e(s,{isStandaloneComponent:!0,configuration:this.ctpConfiguration,amount:this.props.amount,clickToPayService:this.clickToPayService,setClickToPayRef:this.setComponentRef,onSetStatus:this.setElementStatus,onSubmit:this.handleClickToPaySubmit,onError:this.handleError},e(c,null)))}constructor(e,o){var t;super(e,o),p(this,"clickToPayService",void 0),p(this,"ctpConfiguration",void 0),p(this,"handleClickToPaySubmit",(e=>{this.setState({data:u({},e),valid:{},errors:{},isValid:!0}),this.submit()})),this.ctpConfiguration={shopperEmail:this.props.shopperEmail,telephoneNumber:this.props.telephoneNumber,merchantDisplayName:this.props.merchantDisplayName,locale:this.props.locale,onReady:this.props.onReady,onTimeout:this.props.onTimeout},this.clickToPayService=i(this.props.configuration,this.ctpConfiguration,this.props.environment),null===(t=this.clickToPayService)||void 0===t||t.initialize().catch((e=>{this.handleError(new a("ERROR",e.toString(),{cause:e}))})),this.clickToPayService||console.warn("ClickToPay not initialized - Likely the payment method is not configured or its configuration is missing")}}p(m,"type",l.clicktopay);export{m as ClickToPayElement,m as default};
|
|
2
2
|
//# sourceMappingURL=ClickToPay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClickToPay.js","sources":["../../../../src/components/ClickToPay/ClickToPay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { ClickToPayConfiguration, ClickToPayPaymentData } from './types';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport { ClickToPayCheckoutPayload, IClickToPayService } from '../internal/ClickToPay/services/types';\nimport { ClickToPayProps } from '../internal/ClickToPay/types';\nimport createClickToPayService from '../internal/ClickToPay/services/create-clicktopay-service';\nimport { CtpState } from '../internal/ClickToPay/services/ClickToPayService';\nimport ClickToPayProvider from '../internal/ClickToPay/context/ClickToPayProvider';\nimport ClickToPayComponent from '../internal/ClickToPay';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { TxVariants } from '../tx-variants';\nimport type { ICore } from '../../core/types';\n\nexport class ClickToPayElement extends UIElement<ClickToPayConfiguration> {\n public static type = TxVariants.clicktopay;\n\n private readonly clickToPayService: IClickToPayService | null;\n private readonly ctpConfiguration: ClickToPayProps;\n\n constructor(checkout: ICore, props?: ClickToPayConfiguration) {\n super(checkout, props);\n\n this.ctpConfiguration = {\n shopperEmail: this.props.shopperEmail,\n telephoneNumber: this.props.telephoneNumber,\n merchantDisplayName: this.props.merchantDisplayName,\n locale: this.props.locale,\n onReady: this.props.onReady,\n onTimeout: this.props.onTimeout\n };\n\n this.clickToPayService = createClickToPayService(this.props.configuration, this.ctpConfiguration, this.props.environment);\n this.clickToPayService?.initialize().catch(error => {\n this.handleError(new AdyenCheckoutError('ERROR', error.toString(), { cause: error }));\n });\n\n if (!this.clickToPayService) {\n console.warn('ClickToPay not initialized - Likely the payment method is not configured or its configuration is missing');\n }\n }\n\n get isValid() {\n return true;\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n public formatData(): ClickToPayPaymentData {\n const { srcScheme, srcCorrelationId, srcTokenReference, srcCheckoutPayload, srcDigitalCardId } = this.state.data;\n return {\n paymentMethod: {\n type: ClickToPayElement.type,\n ...(srcScheme && { srcScheme }),\n ...(srcCorrelationId && { srcCorrelationId }),\n ...(srcTokenReference && { srcTokenReference }),\n ...(srcCheckoutPayload && { srcCheckoutPayload }),\n ...(srcDigitalCardId && { srcDigitalCardId })\n },\n browserInfo: this.browserInfo,\n origin: window?.location?.origin\n };\n }\n\n protected formatProps(props: ClickToPayConfiguration) {\n return {\n ...props,\n disableOtpAutoFocus: props.disableOtpAutoFocus || false,\n shopperEmail: props.shopperEmail || this.core.options?.session?.shopperEmail,\n telephoneNumber: props.telephoneNumber || this.core.options?.session?.telephoneNumber,\n locale: props.locale || props.i18n?.locale?.replace('-', '_')\n };\n }\n\n /**\n * Method used to let the merchant know if the shopper have a valid CtP accoubt\n *\n * Resolves Promise if the Shopper has cookies OR has valid CtP account\n * Rejects Promise if account isn't found or if Login screen is triggered\n */\n public override async isAvailable(): Promise<void> {\n if (!this.clickToPayService) {\n return Promise.reject();\n }\n\n if (this.clickToPayService.shopperAccountFound) {\n return Promise.resolve();\n }\n\n return new Promise((resolve, reject) => {\n this.clickToPayService.subscribeOnStateChange((state: CtpState) => {\n if (this.clickToPayService.shopperAccountFound) resolve();\n if (state === CtpState.NotAvailable || state === CtpState.Login || state === CtpState.Idle) reject();\n });\n });\n }\n\n private handleClickToPaySubmit = (payload: ClickToPayCheckoutPayload) => {\n this.setState({ data: { ...payload }, valid: {}, errors: {}, isValid: true });\n this.submit();\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <ClickToPayProvider\n isStandaloneComponent={true}\n configuration={this.ctpConfiguration}\n amount={this.props.amount}\n clickToPayService={this.clickToPayService}\n setClickToPayRef={this.setComponentRef}\n onSetStatus={this.setElementStatus}\n onSubmit={this.handleClickToPaySubmit}\n onError={this.handleError}\n >\n <ClickToPayComponent />\n </ClickToPayProvider>\n </CoreProvider>\n );\n }\n}\n\nexport default ClickToPayElement;\n"],"names":["ClickToPayElement","UIElement","isValid","browserInfo","collectBrowserInfo","formatData","window","srcScheme","srcCorrelationId","srcTokenReference","srcCheckoutPayload","srcDigitalCardId","this","state","data","paymentMethod","_object_spread","type","origin","location","formatProps","props","_this_core_options_session","_this_core_options","_this_core_options_session1","_this_core_options1","_object_spread_props","disableOtpAutoFocus","shopperEmail","core","options","session","telephoneNumber","locale","i18n","replace","isAvailable","clickToPayService","shopperAccountFound","Promise","resolve","reject","subscribeOnStateChange","CtpState","NotAvailable","Login","Idle","render","h","CoreProvider","loadingContext","resources","ClickToPayProvider","isStandaloneComponent","configuration","ctpConfiguration","amount","setClickToPayRef","setComponentRef","onSetStatus","setElementStatus","onSubmit","handleClickToPaySubmit","onError","handleError","ClickToPayComponent","constructor","checkout","_this_clickToPayService","super","_define_property","payload","setState","valid","errors","submit","merchantDisplayName","onReady","onTimeout","createClickToPayService","environment","initialize","catch","error","AdyenCheckoutError","toString","cause","console","warn","TxVariants","clicktopay"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ClickToPay.js","sources":["../../../../src/components/ClickToPay/ClickToPay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { ClickToPayConfiguration, ClickToPayPaymentData } from './types';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport { ClickToPayCheckoutPayload, IClickToPayService } from '../internal/ClickToPay/services/types';\nimport { ClickToPayProps } from '../internal/ClickToPay/types';\nimport createClickToPayService from '../internal/ClickToPay/services/create-clicktopay-service';\nimport { CtpState } from '../internal/ClickToPay/services/ClickToPayService';\nimport ClickToPayProvider from '../internal/ClickToPay/context/ClickToPayProvider';\nimport ClickToPayComponent from '../internal/ClickToPay';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { TxVariants } from '../tx-variants';\nimport type { ICore } from '../../core/types';\n\nexport class ClickToPayElement extends UIElement<ClickToPayConfiguration> {\n public static type = TxVariants.clicktopay;\n\n private readonly clickToPayService: IClickToPayService | null;\n private readonly ctpConfiguration: ClickToPayProps;\n\n constructor(checkout: ICore, props?: ClickToPayConfiguration) {\n super(checkout, props);\n\n this.ctpConfiguration = {\n shopperEmail: this.props.shopperEmail,\n telephoneNumber: this.props.telephoneNumber,\n merchantDisplayName: this.props.merchantDisplayName,\n locale: this.props.locale,\n onReady: this.props.onReady,\n onTimeout: this.props.onTimeout\n };\n\n this.clickToPayService = createClickToPayService(this.props.configuration, this.ctpConfiguration, this.props.environment);\n this.clickToPayService?.initialize().catch(error => {\n this.handleError(new AdyenCheckoutError('ERROR', error.toString(), { cause: error }));\n });\n\n if (!this.clickToPayService) {\n console.warn('ClickToPay not initialized - Likely the payment method is not configured or its configuration is missing');\n }\n }\n\n get isValid() {\n return true;\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n public formatData(): ClickToPayPaymentData {\n const { srcScheme, srcCorrelationId, srcTokenReference, srcCheckoutPayload, srcDigitalCardId } = this.state.data;\n return {\n paymentMethod: {\n type: ClickToPayElement.type,\n ...(srcScheme && { srcScheme }),\n ...(srcCorrelationId && { srcCorrelationId }),\n ...(srcTokenReference && { srcTokenReference }),\n ...(srcCheckoutPayload && { srcCheckoutPayload }),\n ...(srcDigitalCardId && { srcDigitalCardId })\n },\n browserInfo: this.browserInfo,\n origin: window?.location?.origin\n };\n }\n\n protected formatProps(props: ClickToPayConfiguration) {\n return {\n ...props,\n disableOtpAutoFocus: props.disableOtpAutoFocus || false,\n shopperEmail: props.shopperEmail || this.core.options?.session?.shopperEmail,\n telephoneNumber: props.telephoneNumber || this.core.options?.session?.telephoneNumber,\n locale: props.locale || props.i18n?.locale?.replace('-', '_')\n };\n }\n\n /**\n * Method used to let the merchant know if the shopper have a valid CtP accoubt\n *\n * Resolves Promise if the Shopper has cookies OR has valid CtP account\n * Rejects Promise if account isn't found or if Login screen is triggered\n */\n public override async isAvailable(): Promise<void> {\n if (!this.clickToPayService) {\n return Promise.reject();\n }\n\n if (this.clickToPayService.shopperAccountFound) {\n return Promise.resolve();\n }\n\n return new Promise((resolve, reject) => {\n this.clickToPayService.subscribeOnStateChange((state: CtpState) => {\n if (this.clickToPayService.shopperAccountFound) resolve();\n if (state === CtpState.NotAvailable || state === CtpState.Login || state === CtpState.Idle) reject();\n });\n });\n }\n\n private handleClickToPaySubmit = (payload: ClickToPayCheckoutPayload) => {\n this.setState({ data: { ...payload }, valid: {}, errors: {}, isValid: true });\n this.submit();\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <ClickToPayProvider\n isStandaloneComponent={true}\n configuration={this.ctpConfiguration}\n amount={this.props.amount}\n clickToPayService={this.clickToPayService}\n setClickToPayRef={this.setComponentRef}\n onSetStatus={this.setElementStatus}\n onSubmit={this.handleClickToPaySubmit}\n onError={this.handleError}\n >\n <ClickToPayComponent />\n </ClickToPayProvider>\n </CoreProvider>\n );\n }\n}\n\nexport default ClickToPayElement;\n"],"names":["ClickToPayElement","UIElement","isValid","browserInfo","collectBrowserInfo","formatData","window","srcScheme","srcCorrelationId","srcTokenReference","srcCheckoutPayload","srcDigitalCardId","this","state","data","paymentMethod","_object_spread","type","origin","location","formatProps","props","_this_core_options_session","_this_core_options","_this_core_options_session1","_this_core_options1","_object_spread_props","disableOtpAutoFocus","shopperEmail","core","options","session","telephoneNumber","locale","i18n","replace","isAvailable","clickToPayService","shopperAccountFound","Promise","resolve","reject","subscribeOnStateChange","CtpState","NotAvailable","Login","Idle","render","h","CoreProvider","loadingContext","resources","ClickToPayProvider","isStandaloneComponent","configuration","ctpConfiguration","amount","setClickToPayRef","setComponentRef","onSetStatus","setElementStatus","onSubmit","handleClickToPaySubmit","onError","handleError","ClickToPayComponent","constructor","checkout","_this_clickToPayService","super","_define_property","payload","setState","valid","errors","submit","merchantDisplayName","onReady","onTimeout","createClickToPayService","environment","initialize","catch","error","AdyenCheckoutError","toString","cause","console","warn","TxVariants","clicktopay"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import
|
|
1
|
+
import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import o from"./CustomCardInput/CustomCardInput.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import n from"../../utils/browserInfo.js";import s from"../internal/SecuredFields/binLookup/triggerBinLookUp.js";import{getCardImageUrl as i,fieldTypeToSnakeCase as a}from"../internal/SecuredFields/utils.js";import{TxVariants as p}from"../tx-variants.js";import{ANALYTICS_FOCUS_STR as u,ANALYTICS_UNFOCUS_STR as c}from"../../core/Analytics/constants.js";function d(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function l(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable})))),r.forEach((function(t){d(e,t,o[t])}))}return e}function h(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);o.push.apply(o,r)}return o}(Object(t)).forEach((function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(t,o))})),e}class m extends t{formatProps(e){return h(l({},e),{type:p.customCard,brand:p.card})}formatData(){const e=this.state.selectedBrandValue;return{paymentMethod:l({type:"scheme"},this.state.data,e&&{brand:e}),browserInfo:this.browserInfo}}updateStyles(e){var t;return(null===(t=this.componentRef)||void 0===t?void 0:t.updateStyles)&&this.componentRef.updateStyles(e),this}setFocusOn(e){var t;return(null===(t=this.componentRef)||void 0===t?void 0:t.setFocusOn)&&this.componentRef.setFocusOn(e),this}processBinLookupResponse(e){var t;return(null===(t=this.componentRef)||void 0===t?void 0:t.processBinLookupResponse)&&this.componentRef.processBinLookupResponse(e),this}dualBrandingChangeHandler(e){var t;return(null===(t=this.componentRef)||void 0===t?void 0:t.dualBrandingChangeHandler)&&this.componentRef.dualBrandingChangeHandler(e),this}handleUnsupportedCard(e){var t;return(null===(t=this.componentRef)||void 0===t?void 0:t.handleUnsupportedCard)&&this.componentRef.handleUnsupportedCard(e),this}onBinLookup(e){const t=l({},e);var o;(t.rootNode=this._node,t.isReset)||(t.supportedBrandsRaw=null===(o=e.supportedBrandsRaw)||void 0===o?void 0:o.map((e=>{var t,o;return e.brandImageUrl=null!==(o=null===(t=this.props.brandsConfiguration[e.brand])||void 0===t?void 0:t.icon)&&void 0!==o?o:i(e.brand,this.resources),e})));this.props.onBinLookup(t)}get isValid(){return!!this.state.isValid}get browserInfo(){return n()}render(){return e(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},e(o,h(l({ref:e=>{this.componentRef=e}},this.props,this.state),{rootNode:this._node,onChange:this.setState,onBinValue:this.onBinValue,implementationType:"custom",resources:this.resources,brand:this.props.brand,onFocus:this.onFocus})))}constructor(...e){super(...e),d(this,"onBinValue",s(this)),d(this,"onFocus",(e=>{var t,o;this.submitAnalytics({type:!0===e.focus?u:c,target:a(e.fieldType)}),null===(t=(o=this.props).onFocus)||void 0===t||t.call(o,e)}))}}d(m,"type",p.customCard),d(m,"analyticsType","custom-scheme"),d(m,"defaultProps",{onBinLookup:()=>{},brandsConfiguration:{}});export{m as CustomCard,m as default};
|
|
2
2
|
//# sourceMappingURL=CustomCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomCard.js","sources":["../../../../src/components/CustomCard/CustomCard.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement';\nimport CustomCardInput from './CustomCardInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport triggerBinLookUp from '../internal/SecuredFields/binLookup/triggerBinLookUp';\nimport { CbObjOnBinLookup, CbObjOnFocus } from '../internal/SecuredFields/lib/types';\nimport { BrandObject } from '../Card/types';\nimport { getCardImageUrl } from '../internal/SecuredFields/utils';\nimport { TxVariants } from '../tx-variants';\nimport { CustomCardConfiguration } from './types';\nimport { fieldTypeToSnakeCase } from '../internal/SecuredFields/utils';\nimport { ANALYTICS_FOCUS_STR, ANALYTICS_UNFOCUS_STR } from '../../core/Analytics/constants';\n\n// TODO questions about\n// brand - does a merchant ever make a custom stored card?\n// type\n// countryCode\n\nexport class CustomCard extends UIElement<CustomCardConfiguration> {\n public static type = TxVariants.customCard;\n\n public static analyticsType = 'custom-scheme';\n\n protected static defaultProps = {\n onBinLookup: () => {},\n brandsConfiguration: {}\n };\n\n formatProps(props: CustomCardConfiguration) {\n return {\n ...props,\n type: TxVariants.customCard,\n brand: TxVariants.card\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const sfBrand = this.state.selectedBrandValue;\n return {\n paymentMethod: {\n type: 'scheme',\n ...this.state.data,\n ...(sfBrand && { brand: sfBrand })\n },\n browserInfo: this.browserInfo\n };\n }\n\n updateStyles(stylesObj) {\n if (this.componentRef?.updateStyles) this.componentRef.updateStyles(stylesObj);\n return this;\n }\n\n setFocusOn(frame) {\n if (this.componentRef?.setFocusOn) this.componentRef.setFocusOn(frame);\n return this;\n }\n\n processBinLookupResponse(binLookupResponse) {\n if (this.componentRef?.processBinLookupResponse) this.componentRef.processBinLookupResponse(binLookupResponse);\n return this;\n }\n\n dualBrandingChangeHandler(e: Event | string) {\n if (this.componentRef?.dualBrandingChangeHandler) this.componentRef.dualBrandingChangeHandler(e);\n return this;\n }\n\n handleUnsupportedCard(errObj) {\n if (this.componentRef?.handleUnsupportedCard) this.componentRef.handleUnsupportedCard(errObj);\n return this;\n }\n\n onBinLookup(obj: CbObjOnBinLookup) {\n const nuObj = { ...obj };\n nuObj.rootNode = this._node;\n\n if (!nuObj.isReset) {\n // Add brandImage urls, first checking if the merchant has configured their own one for the brand\n nuObj.supportedBrandsRaw = obj.supportedBrandsRaw?.map((item: BrandObject) => {\n item.brandImageUrl = this.props.brandsConfiguration[item.brand]?.icon ?? getCardImageUrl(item.brand, this.resources);\n return item;\n });\n }\n\n this.props.onBinLookup(nuObj);\n }\n\n public onBinValue = triggerBinLookUp(this);\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n private onFocus = (obj: CbObjOnFocus) => {\n this.submitAnalytics({\n type: obj.focus === true ? ANALYTICS_FOCUS_STR : ANALYTICS_UNFOCUS_STR,\n target: fieldTypeToSnakeCase(obj.fieldType)\n });\n\n // Call merchant defined callback\n this.props.onFocus?.(obj);\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <CustomCardInput\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n {...this.state}\n rootNode={this._node}\n onChange={this.setState}\n onBinValue={this.onBinValue}\n implementationType={'custom'}\n resources={this.resources}\n brand={this.props.brand}\n onFocus={this.onFocus}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default CustomCard;\n"],"names":["CustomCard","UIElement","formatProps","props","_object_spread_props","type","TxVariants","customCard","brand","card","formatData","sfBrand","this","state","selectedBrandValue","paymentMethod","_object_spread","data","browserInfo","updateStyles","stylesObj","_this_componentRef","componentRef","setFocusOn","frame","processBinLookupResponse","binLookupResponse","dualBrandingChangeHandler","e","handleUnsupportedCard","errObj","onBinLookup","obj","nuObj","rootNode","_node","isReset","supportedBrandsRaw","map","item","_this_props_brandsConfiguration_item_brand","_this_props_brandsConfiguration_item_brand_icon","brandImageUrl","brandsConfiguration","icon","getCardImageUrl","resources","isValid","collectBrowserInfo","render","h","CoreProvider","i18n","loadingContext","CustomCardInput","ref","onChange","setState","onBinValue","implementationType","onFocus","_define_property","triggerBinLookUp","_this_props_onFocus","_this_props","submitAnalytics","focus","ANALYTICS_FOCUS_STR","ANALYTICS_UNFOCUS_STR","target","fieldTypeToSnakeCase","fieldType","call","analyticsType","defaultProps"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CustomCard.js","sources":["../../../../src/components/CustomCard/CustomCard.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement';\nimport CustomCardInput from './CustomCardInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport triggerBinLookUp from '../internal/SecuredFields/binLookup/triggerBinLookUp';\nimport { CbObjOnBinLookup, CbObjOnFocus } from '../internal/SecuredFields/lib/types';\nimport { BrandObject } from '../Card/types';\nimport { getCardImageUrl } from '../internal/SecuredFields/utils';\nimport { TxVariants } from '../tx-variants';\nimport { CustomCardConfiguration } from './types';\nimport { fieldTypeToSnakeCase } from '../internal/SecuredFields/utils';\nimport { ANALYTICS_FOCUS_STR, ANALYTICS_UNFOCUS_STR } from '../../core/Analytics/constants';\n\n// TODO questions about\n// brand - does a merchant ever make a custom stored card?\n// type\n// countryCode\n\nexport class CustomCard extends UIElement<CustomCardConfiguration> {\n public static type = TxVariants.customCard;\n\n public static analyticsType = 'custom-scheme';\n\n protected static defaultProps = {\n onBinLookup: () => {},\n brandsConfiguration: {}\n };\n\n formatProps(props: CustomCardConfiguration) {\n return {\n ...props,\n type: TxVariants.customCard,\n brand: TxVariants.card\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const sfBrand = this.state.selectedBrandValue;\n return {\n paymentMethod: {\n type: 'scheme',\n ...this.state.data,\n ...(sfBrand && { brand: sfBrand })\n },\n browserInfo: this.browserInfo\n };\n }\n\n updateStyles(stylesObj) {\n if (this.componentRef?.updateStyles) this.componentRef.updateStyles(stylesObj);\n return this;\n }\n\n setFocusOn(frame) {\n if (this.componentRef?.setFocusOn) this.componentRef.setFocusOn(frame);\n return this;\n }\n\n processBinLookupResponse(binLookupResponse) {\n if (this.componentRef?.processBinLookupResponse) this.componentRef.processBinLookupResponse(binLookupResponse);\n return this;\n }\n\n dualBrandingChangeHandler(e: Event | string) {\n if (this.componentRef?.dualBrandingChangeHandler) this.componentRef.dualBrandingChangeHandler(e);\n return this;\n }\n\n handleUnsupportedCard(errObj) {\n if (this.componentRef?.handleUnsupportedCard) this.componentRef.handleUnsupportedCard(errObj);\n return this;\n }\n\n onBinLookup(obj: CbObjOnBinLookup) {\n const nuObj = { ...obj };\n nuObj.rootNode = this._node;\n\n if (!nuObj.isReset) {\n // Add brandImage urls, first checking if the merchant has configured their own one for the brand\n nuObj.supportedBrandsRaw = obj.supportedBrandsRaw?.map((item: BrandObject) => {\n item.brandImageUrl = this.props.brandsConfiguration[item.brand]?.icon ?? getCardImageUrl(item.brand, this.resources);\n return item;\n });\n }\n\n this.props.onBinLookup(nuObj);\n }\n\n public onBinValue = triggerBinLookUp(this);\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n private onFocus = (obj: CbObjOnFocus) => {\n this.submitAnalytics({\n type: obj.focus === true ? ANALYTICS_FOCUS_STR : ANALYTICS_UNFOCUS_STR,\n target: fieldTypeToSnakeCase(obj.fieldType)\n });\n\n // Call merchant defined callback\n this.props.onFocus?.(obj);\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <CustomCardInput\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n {...this.state}\n rootNode={this._node}\n onChange={this.setState}\n onBinValue={this.onBinValue}\n implementationType={'custom'}\n resources={this.resources}\n brand={this.props.brand}\n onFocus={this.onFocus}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default CustomCard;\n"],"names":["CustomCard","UIElement","formatProps","props","_object_spread_props","type","TxVariants","customCard","brand","card","formatData","sfBrand","this","state","selectedBrandValue","paymentMethod","_object_spread","data","browserInfo","updateStyles","stylesObj","_this_componentRef","componentRef","setFocusOn","frame","processBinLookupResponse","binLookupResponse","dualBrandingChangeHandler","e","handleUnsupportedCard","errObj","onBinLookup","obj","nuObj","rootNode","_node","isReset","supportedBrandsRaw","map","item","_this_props_brandsConfiguration_item_brand","_this_props_brandsConfiguration_item_brand_icon","brandImageUrl","brandsConfiguration","icon","getCardImageUrl","resources","isValid","collectBrowserInfo","render","h","CoreProvider","i18n","loadingContext","CustomCardInput","ref","onChange","setState","onBinValue","implementationType","onFocus","_define_property","triggerBinLookUp","_this_props_onFocus","_this_props","submitAnalytics","focus","ANALYTICS_FOCUS_STR","ANALYTICS_UNFOCUS_STR","target","fieldTypeToSnakeCase","fieldType","call","analyticsType","defaultProps"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useRef as o,useState as n,useMemo as r,useEffect as t}from"../../../external/preact/hooks/dist/hooks.js";import i from"../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import a from"../../internal/SecuredFields/binLookup/extensions.js";function s(e,o,n){return o in e?Object.defineProperty(e,o,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[o]=n,e}function l(e){for(var o=1;o<arguments.length;o++){var n=null!=arguments[o]?arguments[o]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(o){s(e,o,n[o])}))}return e}function d(e,o){return o=null!=o?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):function(e,o){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);
|
|
1
|
+
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useRef as o,useState as n,useMemo as r,useEffect as t}from"../../../external/preact/hooks/dist/hooks.js";import i from"../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import a from"../../internal/SecuredFields/binLookup/extensions.js";function s(e,o,n){return o in e?Object.defineProperty(e,o,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[o]=n,e}function l(e){for(var o=1;o<arguments.length;o++){var n=null!=arguments[o]?arguments[o]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(o){s(e,o,n[o])}))}return e}function d(e,o){return o=null!=o?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):function(e,o){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n}(Object(o)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(o,n))})),e}function u(s){const u=o(null),[p,y]=n({}),[f,m]=n({}),[g,b]=n({}),[h,O]=n(!1),[S,C]=n(null),[j,F]=n([]),[V,E]=n(""),P=r((()=>a(s,{sfp:u},{dualBrandSelectElements:j,setDualBrandSelectElements:F,setSelectedBrandValue:E,issuingCountryCode:S,setIssuingCountryCode:C})),[j,S]);return this.processBinLookupResponse=(e,o)=>{P.processBinLookup(e,o)},this.dualBrandingChangeHandler=P.handleDualBrandSelection,t((()=>(this.setFocusOn=u.current.setFocusOn,this.updateStyles=u.current.updateStyles,this.showValidation=u.current.showValidation,this.handleUnsupportedCard=u.current.handleUnsupportedCard,()=>{u.current.destroy()})),[]),t((()=>{const e=u.current.mapErrorsToValidationRuleResult(),o=l({},p,e);if(s.onChange({data:g,valid:f,errors:o,isValid:h,selectedBrandValue:V}),Object.keys(o).length){var n,r;const e=Object.entries(o).map((([e,o])=>l({fieldType:e},o||{error:"",rootNode:this.props.rootNode})));null===(n=(r=this.props).onValidationError)||void 0===n||n.call(r,e)}}),[g,f,p,V]),e(i,d(l({ref:u},c(s)),{type:s.brand,onChange:e=>{b(l({},g,e.data)),y(l({},p,e.errors)),m(l({},f,e.valid)),O(e.isSfpValid)},render:()=>null}))}u.defaultProps={onChange:()=>{},onError:()=>{},onValidationError:()=>{}};const c=e=>({autoFocus:e.autoFocus,brands:e.brands,brandsConfiguration:e.brandsConfiguration,clientKey:e.clientKey,i18n:e.i18n,implementationType:e.implementationType,keypadFix:e.keypadFix,legacyInputMode:e.legacyInputMode,loadingContext:e.loadingContext,minimumExpiryDate:e.minimumExpiryDate,onAdditionalSFConfig:e.onAdditionalSFConfig,onAdditionalSFRemoved:e.onAdditionalSFRemoved,onAllValid:e.onAllValid,onAutoComplete:e.onAutoComplete,onBinValue:e.onBinValue,onBrand:e.onBrand,onConfigSuccess:e.onConfigSuccess,onError:e.onError,onFieldValid:e.onFieldValid,onFocus:e.onFocus,onLoad:e.onLoad,rootNode:e.rootNode,showWarnings:e.showWarnings,styles:e.styles,trimTrailingSeparator:e.trimTrailingSeparator,resources:e.resources,maskSecurityCode:e.maskSecurityCode,placeholders:e.placeholders});export{u as default};
|
|
2
2
|
//# sourceMappingURL=CustomCardInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomCardInput.js","sources":["../../../../../src/components/CustomCard/CustomCardInput/CustomCardInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef, useMemo } from 'preact/hooks';\nimport Language from '../../../language/Language';\nimport SecuredFieldsProvider from '../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport { SFPState } from '../../internal/SecuredFields/SFP/types';\nimport { BinLookupResponse, CardBrandsConfiguration } from '../../Card/types';\nimport SFExtensions from '../../internal/SecuredFields/binLookup/extensions';\nimport { StylesObject } from '../../internal/SecuredFields/lib/types';\nimport { Resources } from '../../../core/Context/Resources';\nimport { Placeholders, SFError } from '../../Card/components/CardInput/types';\nimport { ValidationError } from '../types';\n\ninterface SecuredFieldsProps {\n autoFocus?: boolean;\n brand?: string;\n brands?: string[];\n brandsConfiguration?: CardBrandsConfiguration;\n clientKey?: string;\n countryCode?: string;\n i18n: Language;\n implementationType?: string;\n keypadFix?: boolean;\n loadingContext?: string;\n legacyInputMode?: boolean;\n minimumExpiryDate?: string;\n onAdditionalSFConfig?: () => {};\n onAdditionalSFRemoved?: () => {};\n onAllValid?: () => {};\n onAutoComplete?: () => {};\n onBinValue?: () => {};\n onBrand?: () => {};\n onConfigSuccess?: () => {};\n onChange: (data) => void;\n onError?: () => {};\n onFieldValid?: () => {};\n onFocus?: (e) => {};\n onLoad?: () => {};\n placeholders?: Placeholders;\n rootNode: HTMLElement;\n resources: Resources;\n showWarnings?: boolean;\n styles?: StylesObject;\n trimTrailingSeparator?: boolean;\n type: string;\n maskSecurityCode?: boolean;\n}\n\nconst defaultProps = {\n onChange: () => {},\n onError: () => {},\n onValidationError: () => {}\n};\n\nfunction CustomCardInput(props: SecuredFieldsProps) {\n const sfp = useRef(null);\n\n const [errors, setErrors] = useState({});\n const [valid, setValid] = useState({});\n const [data, setData] = useState({});\n\n const [isSfpValid, setIsSfpValid] = useState(false);\n\n const [issuingCountryCode, setIssuingCountryCode] = useState(null);\n\n const [dualBrandSelectElements, setDualBrandSelectElements] = useState([]);\n const [selectedBrandValue, setSelectedBrandValue] = useState('');\n\n const handleSecuredFieldsChange = (sfState: SFPState): void => {\n setData({ ...data, ...sfState.data });\n setErrors({ ...errors, ...sfState.errors });\n setValid({ ...valid, ...sfState.valid });\n\n setIsSfpValid(sfState.isSfpValid);\n };\n\n // Farm the handlers for binLookup related functionality out to another 'extensions' file\n const extensions = useMemo(\n () =>\n SFExtensions(\n props,\n { sfp },\n { dualBrandSelectElements, setDualBrandSelectElements, setSelectedBrandValue, issuingCountryCode, setIssuingCountryCode }\n ),\n [dualBrandSelectElements, issuingCountryCode]\n );\n\n /**\n * EXPECTED METHODS ON SecuredFields.this\n */\n this.processBinLookupResponse = (binLookupResponse: BinLookupResponse, isReset: boolean) => {\n extensions.processBinLookup(binLookupResponse, isReset);\n };\n\n this.dualBrandingChangeHandler = extensions.handleDualBrandSelection;\n\n /**\n * EFFECT HOOKS\n */\n useEffect(() => {\n // componentDidMount\n this.setFocusOn = sfp.current.setFocusOn;\n this.updateStyles = sfp.current.updateStyles;\n this.showValidation = sfp.current.showValidation;\n this.handleUnsupportedCard = sfp.current.handleUnsupportedCard;\n\n // componentWillUnmount\n return () => {\n sfp.current.destroy();\n };\n }, []);\n\n /**\n * Main 'componentDidUpdate' handler\n */\n useEffect(() => {\n const sfStateErrorsObj = sfp.current.mapErrorsToValidationRuleResult();\n\n const mappedErrors = { ...errors, ...sfStateErrorsObj }; // maps sfErrors\n\n props.onChange({\n data,\n valid,\n errors: mappedErrors,\n isValid: isSfpValid,\n selectedBrandValue\n });\n\n // Create an array of Validation error objects and send to callback\n if (Object.keys(mappedErrors).length) {\n const validationErrors: ValidationError[] = Object.entries(mappedErrors).map(([fieldType, error]) => {\n const valErr: ValidationError = {\n fieldType,\n ...(error ? (error as SFError) : { error: '', rootNode: this.props.rootNode })\n };\n return valErr;\n });\n this.props.onValidationError?.(validationErrors);\n }\n }, [data, valid, errors, selectedBrandValue]);\n\n /**\n * RENDER\n */\n // prettier-ignore\n return (\n <SecuredFieldsProvider\n ref={sfp}\n {...extractPropsForSFP(props)}\n type={props.brand}\n onChange={handleSecuredFieldsChange}\n render={() => null}\n />\n );\n}\n\nCustomCardInput.defaultProps = defaultProps;\n\nexport default CustomCardInput;\n\nconst extractPropsForSFP = (props: SecuredFieldsProps) => {\n return {\n autoFocus: props.autoFocus,\n brands: props.brands,\n brandsConfiguration: props.brandsConfiguration,\n clientKey: props.clientKey,\n // countryCode: props.countryCode, // only used for korean cards when koreanAuthenticationRequired is true\n i18n: props.i18n,\n implementationType: props.implementationType,\n keypadFix: props.keypadFix,\n legacyInputMode: props.legacyInputMode,\n loadingContext: props.loadingContext,\n minimumExpiryDate: props.minimumExpiryDate,\n onAdditionalSFConfig: props.onAdditionalSFConfig,\n onAdditionalSFRemoved: props.onAdditionalSFRemoved,\n onAllValid: props.onAllValid,\n onAutoComplete: props.onAutoComplete,\n onBinValue: props.onBinValue,\n onBrand: props.onBrand,\n // onChange // set directly\n onConfigSuccess: props.onConfigSuccess,\n onError: props.onError,\n onFieldValid: props.onFieldValid,\n onFocus: props.onFocus,\n onLoad: props.onLoad,\n // render // set directly\n rootNode: props.rootNode,\n showWarnings: props.showWarnings,\n styles: props.styles,\n trimTrailingSeparator: props.trimTrailingSeparator,\n resources: props.resources,\n maskSecurityCode: props.maskSecurityCode,\n placeholders: props.placeholders\n };\n};\n"],"names":["CustomCardInput","props","sfp","useRef","errors","setErrors","useState","valid","setValid","data","setData","isSfpValid","setIsSfpValid","issuingCountryCode","setIssuingCountryCode","dualBrandSelectElements","setDualBrandSelectElements","selectedBrandValue","setSelectedBrandValue","extensions","useMemo","SFExtensions","this","processBinLookupResponse","binLookupResponse","isReset","processBinLookup","dualBrandingChangeHandler","handleDualBrandSelection","useEffect","setFocusOn","current","updateStyles","showValidation","handleUnsupportedCard","destroy","sfStateErrorsObj","mapErrorsToValidationRuleResult","mappedErrors","_object_spread","onChange","isValid","Object","keys","length","_this_props_onValidationError","_this_props","validationErrors","entries","map","fieldType","error","rootNode","onValidationError","call","h","SecuredFieldsProvider","ref","extractPropsForSFP","type","brand","sfState","render","defaultProps","onError","autoFocus","brands","brandsConfiguration","clientKey","i18n","implementationType","keypadFix","legacyInputMode","loadingContext","minimumExpiryDate","onAdditionalSFConfig","onAdditionalSFRemoved","onAllValid","onAutoComplete","onBinValue","onBrand","onConfigSuccess","onFieldValid","onFocus","onLoad","showWarnings","styles","trimTrailingSeparator","resources","maskSecurityCode","placeholders"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CustomCardInput.js","sources":["../../../../../src/components/CustomCard/CustomCardInput/CustomCardInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef, useMemo } from 'preact/hooks';\nimport Language from '../../../language/Language';\nimport SecuredFieldsProvider from '../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport { SFPState } from '../../internal/SecuredFields/SFP/types';\nimport { BinLookupResponse, CardBrandsConfiguration } from '../../Card/types';\nimport SFExtensions from '../../internal/SecuredFields/binLookup/extensions';\nimport { StylesObject } from '../../internal/SecuredFields/lib/types';\nimport { Resources } from '../../../core/Context/Resources';\nimport { Placeholders, SFError } from '../../Card/components/CardInput/types';\nimport { ValidationError } from '../types';\n\ninterface SecuredFieldsProps {\n autoFocus?: boolean;\n brand?: string;\n brands?: string[];\n brandsConfiguration?: CardBrandsConfiguration;\n clientKey?: string;\n countryCode?: string;\n i18n: Language;\n implementationType?: string;\n keypadFix?: boolean;\n loadingContext?: string;\n legacyInputMode?: boolean;\n minimumExpiryDate?: string;\n onAdditionalSFConfig?: () => {};\n onAdditionalSFRemoved?: () => {};\n onAllValid?: () => {};\n onAutoComplete?: () => {};\n onBinValue?: () => {};\n onBrand?: () => {};\n onConfigSuccess?: () => {};\n onChange: (data) => void;\n onError?: () => {};\n onFieldValid?: () => {};\n onFocus?: (e) => {};\n onLoad?: () => {};\n placeholders?: Placeholders;\n rootNode: HTMLElement;\n resources: Resources;\n showWarnings?: boolean;\n styles?: StylesObject;\n trimTrailingSeparator?: boolean;\n type: string;\n maskSecurityCode?: boolean;\n}\n\nconst defaultProps = {\n onChange: () => {},\n onError: () => {},\n onValidationError: () => {}\n};\n\nfunction CustomCardInput(props: SecuredFieldsProps) {\n const sfp = useRef(null);\n\n const [errors, setErrors] = useState({});\n const [valid, setValid] = useState({});\n const [data, setData] = useState({});\n\n const [isSfpValid, setIsSfpValid] = useState(false);\n\n const [issuingCountryCode, setIssuingCountryCode] = useState(null);\n\n const [dualBrandSelectElements, setDualBrandSelectElements] = useState([]);\n const [selectedBrandValue, setSelectedBrandValue] = useState('');\n\n const handleSecuredFieldsChange = (sfState: SFPState): void => {\n setData({ ...data, ...sfState.data });\n setErrors({ ...errors, ...sfState.errors });\n setValid({ ...valid, ...sfState.valid });\n\n setIsSfpValid(sfState.isSfpValid);\n };\n\n // Farm the handlers for binLookup related functionality out to another 'extensions' file\n const extensions = useMemo(\n () =>\n SFExtensions(\n props,\n { sfp },\n { dualBrandSelectElements, setDualBrandSelectElements, setSelectedBrandValue, issuingCountryCode, setIssuingCountryCode }\n ),\n [dualBrandSelectElements, issuingCountryCode]\n );\n\n /**\n * EXPECTED METHODS ON SecuredFields.this\n */\n this.processBinLookupResponse = (binLookupResponse: BinLookupResponse, isReset: boolean) => {\n extensions.processBinLookup(binLookupResponse, isReset);\n };\n\n this.dualBrandingChangeHandler = extensions.handleDualBrandSelection;\n\n /**\n * EFFECT HOOKS\n */\n useEffect(() => {\n // componentDidMount\n this.setFocusOn = sfp.current.setFocusOn;\n this.updateStyles = sfp.current.updateStyles;\n this.showValidation = sfp.current.showValidation;\n this.handleUnsupportedCard = sfp.current.handleUnsupportedCard;\n\n // componentWillUnmount\n return () => {\n sfp.current.destroy();\n };\n }, []);\n\n /**\n * Main 'componentDidUpdate' handler\n */\n useEffect(() => {\n const sfStateErrorsObj = sfp.current.mapErrorsToValidationRuleResult();\n\n const mappedErrors = { ...errors, ...sfStateErrorsObj }; // maps sfErrors\n\n props.onChange({\n data,\n valid,\n errors: mappedErrors,\n isValid: isSfpValid,\n selectedBrandValue\n });\n\n // Create an array of Validation error objects and send to callback\n if (Object.keys(mappedErrors).length) {\n const validationErrors: ValidationError[] = Object.entries(mappedErrors).map(([fieldType, error]) => {\n const valErr: ValidationError = {\n fieldType,\n ...(error ? (error as SFError) : { error: '', rootNode: this.props.rootNode })\n };\n return valErr;\n });\n this.props.onValidationError?.(validationErrors);\n }\n }, [data, valid, errors, selectedBrandValue]);\n\n /**\n * RENDER\n */\n // prettier-ignore\n return (\n <SecuredFieldsProvider\n ref={sfp}\n {...extractPropsForSFP(props)}\n type={props.brand}\n onChange={handleSecuredFieldsChange}\n render={() => null}\n />\n );\n}\n\nCustomCardInput.defaultProps = defaultProps;\n\nexport default CustomCardInput;\n\nconst extractPropsForSFP = (props: SecuredFieldsProps) => {\n return {\n autoFocus: props.autoFocus,\n brands: props.brands,\n brandsConfiguration: props.brandsConfiguration,\n clientKey: props.clientKey,\n // countryCode: props.countryCode, // only used for korean cards when koreanAuthenticationRequired is true\n i18n: props.i18n,\n implementationType: props.implementationType,\n keypadFix: props.keypadFix,\n legacyInputMode: props.legacyInputMode,\n loadingContext: props.loadingContext,\n minimumExpiryDate: props.minimumExpiryDate,\n onAdditionalSFConfig: props.onAdditionalSFConfig,\n onAdditionalSFRemoved: props.onAdditionalSFRemoved,\n onAllValid: props.onAllValid,\n onAutoComplete: props.onAutoComplete,\n onBinValue: props.onBinValue,\n onBrand: props.onBrand,\n // onChange // set directly\n onConfigSuccess: props.onConfigSuccess,\n onError: props.onError,\n onFieldValid: props.onFieldValid,\n onFocus: props.onFocus,\n onLoad: props.onLoad,\n // render // set directly\n rootNode: props.rootNode,\n showWarnings: props.showWarnings,\n styles: props.styles,\n trimTrailingSeparator: props.trimTrailingSeparator,\n resources: props.resources,\n maskSecurityCode: props.maskSecurityCode,\n placeholders: props.placeholders\n };\n};\n"],"names":["CustomCardInput","props","sfp","useRef","errors","setErrors","useState","valid","setValid","data","setData","isSfpValid","setIsSfpValid","issuingCountryCode","setIssuingCountryCode","dualBrandSelectElements","setDualBrandSelectElements","selectedBrandValue","setSelectedBrandValue","extensions","useMemo","SFExtensions","this","processBinLookupResponse","binLookupResponse","isReset","processBinLookup","dualBrandingChangeHandler","handleDualBrandSelection","useEffect","setFocusOn","current","updateStyles","showValidation","handleUnsupportedCard","destroy","sfStateErrorsObj","mapErrorsToValidationRuleResult","mappedErrors","_object_spread","onChange","isValid","Object","keys","length","_this_props_onValidationError","_this_props","validationErrors","entries","map","fieldType","error","rootNode","onValidationError","call","h","SecuredFieldsProvider","ref","extractPropsForSFP","type","brand","sfState","render","defaultProps","onError","autoFocus","brands","brandsConfiguration","clientKey","i18n","implementationType","keypadFix","legacyInputMode","loadingContext","minimumExpiryDate","onAdditionalSFConfig","onAdditionalSFRemoved","onAllValid","onAutoComplete","onBinValue","onBrand","onConfigSuccess","onFieldValid","onFocus","onLoad","showWarnings","styles","trimTrailingSeparator","resources","maskSecurityCode","placeholders"],"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/DokuInput/DokuInput.js";import o from"./components/DokuVoucherResult/DokuVoucherResult.js";import{CoreProvider as n}from"../../core/Context/CoreProvider.js";import{TxVariants as
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/DokuInput/DokuInput.js";import o from"./components/DokuVoucherResult/DokuVoucherResult.js";import{CoreProvider as n}from"../../core/Context/CoreProvider.js";import{TxVariants as s}from"../tx-variants.js";function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function i(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})))),o.forEach((function(e){a(t,e,r[e])}))}return t}function u(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);r.push.apply(r,o)}return r}(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})),t}class p extends e{get isValid(){return!!this.state.isValid}formatData(){return u(i({},this.state.data),{paymentMethod:{type:this.type}})}render(){return t(n,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.reference?t(o,i({ref:t=>{this.componentRef=t}},this.props)):t(r,u(i({setComponentRef:this.setComponentRef},this.props),{onChange:this.setState,onSubmit:this.submit,payButton:this.payButton})))}}a(p,"type",s.doku),a(p,"txVariants",[s.doku,s.doku_alfamart,s.doku_permata_lite_atm,s.doku_indomaret,s.doku_atm_mandiri_va,s.doku_sinarmas_va,s.doku_mandiri_va,s.doku_cimb_va,s.doku_danamon_va,s.doku_bri_va,s.doku_bni_va,s.doku_bca_va,s.doku_wallet]),a(p,"defaultProps",{showFormInstruction:!0});export{p as DokuElement,p as default};
|
|
2
2
|
//# sourceMappingURL=Doku.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Doku.js","sources":["../../../../src/components/Doku/Doku.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport DokuInput from './components/DokuInput';\nimport DokuVoucherResult from './components/DokuVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class DokuElement extends UIElement<VoucherConfiguration> {\n public static type = TxVariants.doku;\n public static txVariants = [\n TxVariants.doku,\n TxVariants.doku_alfamart,\n TxVariants.doku_permata_lite_atm,\n TxVariants.doku_indomaret,\n TxVariants.doku_atm_mandiri_va,\n TxVariants.doku_sinarmas_va,\n TxVariants.doku_mandiri_va,\n TxVariants.doku_cimb_va,\n TxVariants.doku_danamon_va,\n TxVariants.doku_bri_va,\n TxVariants.doku_bni_va,\n TxVariants.doku_bca_va,\n TxVariants.doku_wallet\n ];\n\n protected static defaultProps = {\n showFormInstruction: true\n };\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n ...this.state.data,\n paymentMethod: {\n type: this.type\n }\n };\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.reference ? (\n <DokuVoucherResult\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n />\n ) : (\n <DokuInput\n setComponentRef={this.setComponentRef}\n {...this.props}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default DokuElement;\n"],"names":["DokuElement","UIElement","isValid","this","state","formatData","_object_spread_props","_object_spread","data","paymentMethod","type","render","h","CoreProvider","i18n","props","loadingContext","resources","reference","DokuVoucherResult","ref","componentRef","DokuInput","setComponentRef","onChange","setState","onSubmit","submit","payButton","_define_property","TxVariants","doku","txVariants","doku_alfamart","doku_permata_lite_atm","doku_indomaret","doku_atm_mandiri_va","doku_sinarmas_va","doku_mandiri_va","doku_cimb_va","doku_danamon_va","doku_bri_va","doku_bni_va","doku_bca_va","doku_wallet","defaultProps","showFormInstruction"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Doku.js","sources":["../../../../src/components/Doku/Doku.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport DokuInput from './components/DokuInput';\nimport DokuVoucherResult from './components/DokuVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class DokuElement extends UIElement<VoucherConfiguration> {\n public static type = TxVariants.doku;\n public static txVariants = [\n TxVariants.doku,\n TxVariants.doku_alfamart,\n TxVariants.doku_permata_lite_atm,\n TxVariants.doku_indomaret,\n TxVariants.doku_atm_mandiri_va,\n TxVariants.doku_sinarmas_va,\n TxVariants.doku_mandiri_va,\n TxVariants.doku_cimb_va,\n TxVariants.doku_danamon_va,\n TxVariants.doku_bri_va,\n TxVariants.doku_bni_va,\n TxVariants.doku_bca_va,\n TxVariants.doku_wallet\n ];\n\n protected static defaultProps = {\n showFormInstruction: true\n };\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n ...this.state.data,\n paymentMethod: {\n type: this.type\n }\n };\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.reference ? (\n <DokuVoucherResult\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n />\n ) : (\n <DokuInput\n setComponentRef={this.setComponentRef}\n {...this.props}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default DokuElement;\n"],"names":["DokuElement","UIElement","isValid","this","state","formatData","_object_spread_props","_object_spread","data","paymentMethod","type","render","h","CoreProvider","i18n","props","loadingContext","resources","reference","DokuVoucherResult","ref","componentRef","DokuInput","setComponentRef","onChange","setState","onSubmit","submit","payButton","_define_property","TxVariants","doku","txVariants","doku_alfamart","doku_permata_lite_atm","doku_indomaret","doku_atm_mandiri_va","doku_sinarmas_va","doku_mandiri_va","doku_cimb_va","doku_danamon_va","doku_bri_va","doku_bni_va","doku_bca_va","doku_wallet","defaultProps","showFormInstruction"],"mappings":"4pCAQO,MAAMA,UAAoBC,EAsB7B,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAKAG,UAAAA,GACI,OAAOC,EACAC,EAAA,CAAA,EAAAJ,KAAKC,MAAMI,MAAI,CAClBC,cAAe,CACXC,KAAMP,KAAKO,OAGvB,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMX,KAAKY,MAAMD,KAAME,eAAgBb,KAAKY,MAAMC,eAAgBC,UAAWd,KAAKc,WAC3Fd,KAAKY,MAAMG,UACRN,EAACO,EAAAA,EAAAA,CACGC,IAAKA,IACDjB,KAAKkB,aAAeD,CAAAA,GAEpBjB,KAAKY,QAGbH,EAACU,EAAAA,EAAAA,EAAAA,CACGC,gBAAiBpB,KAAKoB,iBAClBpB,KAAKY,OAAK,CACdS,SAAUrB,KAAKsB,SACfC,SAAUvB,KAAKwB,OACfC,UAAWzB,KAAKyB,aAKpC,EA1DAC,EADS7B,EACKU,OAAOoB,EAAWC,MAChCF,EAFS7B,EAEKgC,aAAa,CACvBF,EAAWC,KACXD,EAAWG,cACXH,EAAWI,sBACXJ,EAAWK,eACXL,EAAWM,oBACXN,EAAWO,iBACXP,EAAWQ,gBACXR,EAAWS,aACXT,EAAWU,gBACXV,EAAWW,YACXX,EAAWY,YACXZ,EAAWa,YACXb,EAAWc,cAGff,EAlBS7B,EAkBQ6C,eAAe,CAC5BC,qBAAqB"}
|
|
@@ -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{CoreProvider as r}from"../../core/Context/CoreProvider.js";import n from"./components/DonationComponent.js";import{TxVariants as o}from"../tx-variants.js";function s(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function i(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})))),n.forEach((function(e){s(t,e,r[e])}))}return t}function a(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import n from"./components/DonationComponent.js";import{TxVariants as o}from"../tx-variants.js";function s(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function i(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})))),n.forEach((function(e){s(t,e,r[e])}))}return t}function a(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r.push.apply(r,n)}return r}(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})),t}class c extends e{get data(){return this.state.data}get isValid(){return this.state.isValid}setState(t){this.state=i({},this.state,t)}donate(){const{data:t,isValid:e}=this;this.props.onDonate({data:t,isValid:e},this)}render(){return t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(n,a(i({},this.props),{ref:this.handleRef,onChange:this.setState,onDonate:this.donate})))}constructor(t,e){super(t,e),s(this,"handleRef",(t=>{this.componentRef=t})),this.donate=this.donate.bind(this)}}s(c,"type",o.donation),s(c,"defaultProps",{onCancel:()=>{},onDonate:()=>{}});export{c as default};
|
|
2
2
|
//# sourceMappingURL=Donation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Donation.js","sources":["../../../../src/components/Donation/Donation.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport DonationComponent from './components/DonationComponent';\nimport { TxVariants } from '../tx-variants';\nimport type { ICore } from '../../core/types';\nimport type { DonationConfiguration } from './types';\n\nclass DonationElement extends UIElement<DonationConfiguration> {\n public static type = TxVariants.donation;\n\n constructor(checkout: ICore, props?: DonationConfiguration) {\n super(checkout, props);\n this.donate = this.donate.bind(this);\n }\n\n public static defaultProps = {\n onCancel: () => {},\n onDonate: () => {}\n };\n\n /**\n * Returns the component payment data ready to submit to the Checkout API\n */\n get data() {\n return this.state.data;\n }\n\n /**\n * Returns whether the component state is valid or not\n */\n get isValid() {\n return this.state.isValid;\n }\n\n setState(newState) {\n this.state = { ...this.state, ...newState };\n }\n\n donate() {\n const { data, isValid } = this;\n this.props.onDonate({ data, isValid }, this);\n }\n\n public handleRef = ref => {\n this.componentRef = ref;\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {/*@ts-ignore ref*/}\n <DonationComponent {...this.props} ref={this.handleRef} onChange={this.setState} onDonate={this.donate} />\n </CoreProvider>\n );\n }\n}\n\nexport default DonationElement;\n"],"names":["DonationElement","UIElement","data","this","state","isValid","setState","newState","_object_spread","donate","props","onDonate","render","h","CoreProvider","i18n","loadingContext","resources","DonationComponent","ref","handleRef","onChange","constructor","checkout","super","_define_property","componentRef","bind","type","TxVariants","donation","defaultProps","onCancel"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Donation.js","sources":["../../../../src/components/Donation/Donation.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport DonationComponent from './components/DonationComponent';\nimport { TxVariants } from '../tx-variants';\nimport type { ICore } from '../../core/types';\nimport type { DonationConfiguration } from './types';\n\nclass DonationElement extends UIElement<DonationConfiguration> {\n public static type = TxVariants.donation;\n\n constructor(checkout: ICore, props?: DonationConfiguration) {\n super(checkout, props);\n this.donate = this.donate.bind(this);\n }\n\n public static defaultProps = {\n onCancel: () => {},\n onDonate: () => {}\n };\n\n /**\n * Returns the component payment data ready to submit to the Checkout API\n */\n get data() {\n return this.state.data;\n }\n\n /**\n * Returns whether the component state is valid or not\n */\n get isValid() {\n return this.state.isValid;\n }\n\n setState(newState) {\n this.state = { ...this.state, ...newState };\n }\n\n donate() {\n const { data, isValid } = this;\n this.props.onDonate({ data, isValid }, this);\n }\n\n public handleRef = ref => {\n this.componentRef = ref;\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {/*@ts-ignore ref*/}\n <DonationComponent {...this.props} ref={this.handleRef} onChange={this.setState} onDonate={this.donate} />\n </CoreProvider>\n );\n }\n}\n\nexport default DonationElement;\n"],"names":["DonationElement","UIElement","data","this","state","isValid","setState","newState","_object_spread","donate","props","onDonate","render","h","CoreProvider","i18n","loadingContext","resources","DonationComponent","ref","handleRef","onChange","constructor","checkout","super","_define_property","componentRef","bind","type","TxVariants","donation","defaultProps","onCancel"],"mappings":"ulCAQA,MAAMA,UAAwBC,EAgB1B,QAAIC,GACA,OAAOC,KAAKC,MAAMF,IACtB,CAKA,WAAIG,GACA,OAAOF,KAAKC,MAAMC,OACtB,CAEAC,QAAAA,CAASC,GACLJ,KAAKC,MAAQI,KAAKL,KAAKC,MAAUG,EACrC,CAEAE,MAAAA,GACI,MAAMP,KAAEA,EAAIG,QAAEA,GAAYF,KAC1BA,KAAKO,MAAMC,SAAS,CAAET,OAAMG,WAAWF,KAC3C,CAMAS,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMZ,KAAKO,MAAMK,KAAMC,eAAgBb,KAAKO,MAAMM,eAAgBC,UAAWd,KAAKc,WAE5FJ,EAACK,EAAAA,EAAAA,EAAAA,GAAsBf,KAAKO,OAAK,CAAES,IAAKhB,KAAKiB,UAAWC,SAAUlB,KAAKG,SAAUK,SAAUR,KAAKM,UAG5G,CA5CAa,WAAAA,CAAYC,EAAiBb,GACzBc,MAAMD,EAAUb,GAgCpBe,EAAAtB,KAAOiB,aAAYD,IACfhB,KAAKuB,aAAeP,CAAAA,IAhCpBhB,KAAKM,OAASN,KAAKM,OAAOkB,KAAKxB,KACnC,EALAsB,EADEzB,EACY4B,OAAOC,EAAWC,UAOhCL,EAREzB,EAQY+B,eAAe,CACzBC,SAAU,OACVrB,SAAU"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useState as t,useCallback as n,useEffect as o}from"../../../external/preact/hooks/dist/hooks.js";import a from"./CampaignContainer.js";import r from"../../internal/ButtonGroup/ButtonGroup.js";import s from"../../internal/Button/Button.js";import c from"../../internal/Img/Img.js";import{useCoreContext as i}from"../../../core/Context/CoreProvider.js";import u from"../../internal/DisclaimerMessage/DisclaimerMessage.js";import l from"../../../core/Context/useImage.js";function m(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);
|
|
1
|
+
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useState as t,useCallback as n,useEffect as o}from"../../../external/preact/hooks/dist/hooks.js";import a from"./CampaignContainer.js";import r from"../../internal/ButtonGroup/ButtonGroup.js";import s from"../../internal/Button/Button.js";import c from"../../internal/Img/Img.js";import{useCoreContext as i}from"../../../core/Context/CoreProvider.js";import u from"../../internal/DisclaimerMessage/DisclaimerMessage.js";import l from"../../../core/Context/useImage.js";function m(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n.push.apply(n,o)}return n}(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})),e}function g(g){const{amounts:p,onCancel:y,onDonate:f,showCancelButton:_=!0,termsAndConditionsUrl:b}=g,{i18n:h}=i(),v=l(),{currency:j}=p,[k,O]=t("ready"),[C,w]=t(!1),[P,N]=t({currency:j,value:null});this.setStatus=e=>{O(e)};const B=n(((e,t)=>h.amount(e,t)),[h]);return o((()=>{g.onChange({data:{amount:P},isValid:C})}),[P,C]),"error"===k?e("div",{className:"adyen-checkout__adyen-giving"},e(c,{className:"adyen-checkout__status__icon adyen-checkout__status__icon--error",src:v({imageFolder:"components/"})("error"),alt:h.get("error.message.unknown")}),e("div",{className:"adyen-checkout__status__text"},h.get("error.message.unknown"))):"success"===k?e("div",{className:"adyen-checkout__adyen-giving"},e(c,{className:"adyen-checkout__status__icon adyen-checkout__status__icon--success",src:v({imageFolder:"components/"})("heart"),alt:h.get("thanksForYourSupport")}),e("div",{className:"adyen-checkout__status__text"},h.get("thanksForYourSupport"))):e("div",{className:"adyen-checkout__adyen-giving"},e(a,g),e("div",{className:"adyen-checkout__adyen-giving-actions"},e("div",{className:"adyen-checkout__amounts"},e(r,{options:p.values.map((e=>({value:e,label:B(e,j),disabled:"loading"===k,selected:e===P.value}))),name:"amount",onChange:({target:e})=>{const t=parseInt(e.value,10);w(!0),N((e=>d(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),o.forEach((function(t){m(e,t,n[t])}))}return e}({},e),{value:t})))}})),b&&e(u,{message:"By donating you agree to the %#terms and conditions%#",urls:[b]}),e(s,{classNameModifiers:["donate"],onClick:()=>{O("loading"),f({data:{amount:P}})},label:h.get("donateButton"),disabled:!P.value,status:k}),_&&e(s,{classNameModifiers:["decline"],variant:"ghost",onClick:()=>{O("ready"),y({data:{amount:P},isValid:C})},disabled:"loading"===k,label:`${h.get("notNowButton")} ›`})))}g.defaultProps={onCancel:()=>{},onChange:()=>{},onDonate:()=>{},amounts:{},showCancelButton:!0};export{g as default};
|
|
2
2
|
//# sourceMappingURL=DonationComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DonationComponent.js","sources":["../../../../../src/components/Donation/components/DonationComponent.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useCallback, useEffect, useState } from 'preact/hooks';\nimport CampaignContainer from './CampaignContainer';\nimport ButtonGroup from '../../internal/ButtonGroup';\nimport Button from '../../internal/Button';\nimport Img from '../../internal/Img';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport '../Donation.scss';\nimport DisclaimerMessage from '../../internal/DisclaimerMessage';\nimport { DonationComponentProps } from './types';\nimport useImage from '../../../core/Context/useImage';\n\nexport default function DonationComponent(props: DonationComponentProps) {\n const { amounts, onCancel, onDonate, showCancelButton = true, termsAndConditionsUrl } = props;\n const { i18n } = useCoreContext();\n const getImage = useImage();\n const { currency } = amounts;\n const [status, setStatus] = useState('ready');\n const [isValid, setIsValid] = useState(false);\n const [amount, setAmount] = useState({\n currency,\n value: null\n });\n\n this.setStatus = status => {\n setStatus(status);\n };\n\n const getAmount = useCallback((value: number, currency: string) => i18n.amount(value, currency), [i18n]);\n\n const handleAmountSelected = ({ target }) => {\n const value = parseInt(target.value, 10);\n setIsValid(true);\n setAmount(amount => ({ ...amount, value }));\n };\n\n const handleDonate = () => {\n setStatus('loading');\n onDonate({ data: { amount } });\n };\n\n const handleDecline = () => {\n setStatus('ready');\n onCancel({ data: { amount }, isValid });\n };\n\n useEffect(() => {\n props.onChange({ data: { amount }, isValid });\n }, [amount, isValid]);\n\n if (status === 'error') {\n return (\n <div className=\"adyen-checkout__adyen-giving\">\n <Img\n className=\"adyen-checkout__status__icon adyen-checkout__status__icon--error\"\n src={getImage({ imageFolder: 'components/' })('error')}\n alt={i18n.get('error.message.unknown')}\n />\n <div className=\"adyen-checkout__status__text\">{i18n.get('error.message.unknown')}</div>\n </div>\n );\n }\n\n if (status === 'success') {\n return (\n <div className=\"adyen-checkout__adyen-giving\">\n <Img\n className=\"adyen-checkout__status__icon adyen-checkout__status__icon--success\"\n src={getImage({ imageFolder: 'components/' })('heart')}\n alt={i18n.get('thanksForYourSupport')}\n />\n\n <div className=\"adyen-checkout__status__text\">{i18n.get('thanksForYourSupport')}</div>\n </div>\n );\n }\n\n return (\n <div className=\"adyen-checkout__adyen-giving\">\n <CampaignContainer {...props} />\n\n <div className=\"adyen-checkout__adyen-giving-actions\">\n <div className=\"adyen-checkout__amounts\">\n <ButtonGroup\n options={amounts.values.map(value => ({\n value,\n label: getAmount(value, currency),\n disabled: status === 'loading',\n selected: value === amount.value\n }))}\n name=\"amount\"\n onChange={handleAmountSelected}\n />\n </div>\n {termsAndConditionsUrl && (\n <DisclaimerMessage message={'By donating you agree to the %#terms and conditions%#'} urls={[termsAndConditionsUrl]} />\n )}\n <Button\n classNameModifiers={['donate']}\n onClick={handleDonate}\n label={i18n.get('donateButton')}\n disabled={!amount.value}\n status={status}\n />\n\n {showCancelButton && (\n <Button\n classNameModifiers={['decline']}\n variant=\"ghost\"\n onClick={handleDecline}\n disabled={status === 'loading'}\n label={`${i18n.get('notNowButton')} ›`}\n />\n )}\n </div>\n </div>\n );\n}\n\nDonationComponent.defaultProps = {\n onCancel: () => {},\n onChange: () => {},\n onDonate: () => {},\n amounts: {},\n showCancelButton: true\n};\n"],"names":["DonationComponent","props","amounts","onCancel","onDonate","showCancelButton","termsAndConditionsUrl","i18n","useCoreContext","getImage","useImage","currency","status","setStatus","useState","isValid","setIsValid","amount","setAmount","value","this","getAmount","useCallback","useEffect","onChange","data","h","div","className","Img","src","imageFolder","alt","get","CampaignContainer","ButtonGroup","options","values","map","label","disabled","selected","name","target","parseInt","_object_spread_props","DisclaimerMessage","message","urls","Button","classNameModifiers","onClick","variant","defaultProps"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DonationComponent.js","sources":["../../../../../src/components/Donation/components/DonationComponent.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useCallback, useEffect, useState } from 'preact/hooks';\nimport CampaignContainer from './CampaignContainer';\nimport ButtonGroup from '../../internal/ButtonGroup';\nimport Button from '../../internal/Button';\nimport Img from '../../internal/Img';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport '../Donation.scss';\nimport DisclaimerMessage from '../../internal/DisclaimerMessage';\nimport { DonationComponentProps } from './types';\nimport useImage from '../../../core/Context/useImage';\n\nexport default function DonationComponent(props: DonationComponentProps) {\n const { amounts, onCancel, onDonate, showCancelButton = true, termsAndConditionsUrl } = props;\n const { i18n } = useCoreContext();\n const getImage = useImage();\n const { currency } = amounts;\n const [status, setStatus] = useState('ready');\n const [isValid, setIsValid] = useState(false);\n const [amount, setAmount] = useState({\n currency,\n value: null\n });\n\n this.setStatus = status => {\n setStatus(status);\n };\n\n const getAmount = useCallback((value: number, currency: string) => i18n.amount(value, currency), [i18n]);\n\n const handleAmountSelected = ({ target }) => {\n const value = parseInt(target.value, 10);\n setIsValid(true);\n setAmount(amount => ({ ...amount, value }));\n };\n\n const handleDonate = () => {\n setStatus('loading');\n onDonate({ data: { amount } });\n };\n\n const handleDecline = () => {\n setStatus('ready');\n onCancel({ data: { amount }, isValid });\n };\n\n useEffect(() => {\n props.onChange({ data: { amount }, isValid });\n }, [amount, isValid]);\n\n if (status === 'error') {\n return (\n <div className=\"adyen-checkout__adyen-giving\">\n <Img\n className=\"adyen-checkout__status__icon adyen-checkout__status__icon--error\"\n src={getImage({ imageFolder: 'components/' })('error')}\n alt={i18n.get('error.message.unknown')}\n />\n <div className=\"adyen-checkout__status__text\">{i18n.get('error.message.unknown')}</div>\n </div>\n );\n }\n\n if (status === 'success') {\n return (\n <div className=\"adyen-checkout__adyen-giving\">\n <Img\n className=\"adyen-checkout__status__icon adyen-checkout__status__icon--success\"\n src={getImage({ imageFolder: 'components/' })('heart')}\n alt={i18n.get('thanksForYourSupport')}\n />\n\n <div className=\"adyen-checkout__status__text\">{i18n.get('thanksForYourSupport')}</div>\n </div>\n );\n }\n\n return (\n <div className=\"adyen-checkout__adyen-giving\">\n <CampaignContainer {...props} />\n\n <div className=\"adyen-checkout__adyen-giving-actions\">\n <div className=\"adyen-checkout__amounts\">\n <ButtonGroup\n options={amounts.values.map(value => ({\n value,\n label: getAmount(value, currency),\n disabled: status === 'loading',\n selected: value === amount.value\n }))}\n name=\"amount\"\n onChange={handleAmountSelected}\n />\n </div>\n {termsAndConditionsUrl && (\n <DisclaimerMessage message={'By donating you agree to the %#terms and conditions%#'} urls={[termsAndConditionsUrl]} />\n )}\n <Button\n classNameModifiers={['donate']}\n onClick={handleDonate}\n label={i18n.get('donateButton')}\n disabled={!amount.value}\n status={status}\n />\n\n {showCancelButton && (\n <Button\n classNameModifiers={['decline']}\n variant=\"ghost\"\n onClick={handleDecline}\n disabled={status === 'loading'}\n label={`${i18n.get('notNowButton')} ›`}\n />\n )}\n </div>\n </div>\n );\n}\n\nDonationComponent.defaultProps = {\n onCancel: () => {},\n onChange: () => {},\n onDonate: () => {},\n amounts: {},\n showCancelButton: true\n};\n"],"names":["DonationComponent","props","amounts","onCancel","onDonate","showCancelButton","termsAndConditionsUrl","i18n","useCoreContext","getImage","useImage","currency","status","setStatus","useState","isValid","setIsValid","amount","setAmount","value","this","getAmount","useCallback","useEffect","onChange","data","h","div","className","Img","src","imageFolder","alt","get","CampaignContainer","ButtonGroup","options","values","map","label","disabled","selected","name","target","parseInt","_object_spread_props","DisclaimerMessage","message","urls","Button","classNameModifiers","onClick","variant","defaultProps"],"mappings":"6gCAYe,SAASA,EAAkBC,GACtC,MAAMC,QAAEA,EAAOC,SAAEA,EAAQC,SAAEA,EAAQC,iBAAEA,GAAmB,EAAIC,sBAAEA,GAA0BL,GAClFM,KAAEA,GAASC,IACXC,EAAWC,KACXC,SAAEA,GAAaT,GACdU,EAAQC,GAAaC,EAAS,UAC9BC,EAASC,GAAcF,GAAS,IAChCG,EAAQC,GAAaJ,EAAS,CACjCH,WACAQ,MAAO,OAGXC,KAAKP,UAAYD,IACbC,EAAUD,EAAAA,EAGd,MAAMS,EAAYC,GAAY,CAACH,EAAeR,IAAqBJ,EAAKU,OAAOE,EAAOR,IAAW,CAACJ,IAsBlG,OAJAgB,GAAU,KACNtB,EAAMuB,SAAS,CAAEC,KAAM,CAAER,UAAUF,WAAQ,GAC5C,CAACE,EAAQF,IAEG,UAAXH,EAEIc,EAACC,MAAAA,CAAIC,UAAU,gCACXF,EAACG,EAAAA,CACGD,UAAU,mEACVE,IAAKrB,EAAS,CAAEsB,YAAa,eAAxBtB,CAAyC,SAC9CuB,IAAKzB,EAAK0B,IAAI,2BAElBP,EAACC,MAAAA,CAAIC,UAAU,gCAAgCrB,EAAK0B,IAAI,2BAKrD,YAAXrB,EAEIc,EAACC,MAAAA,CAAIC,UAAU,gCACXF,EAACG,EAAAA,CACGD,UAAU,qEACVE,IAAKrB,EAAS,CAAEsB,YAAa,eAAxBtB,CAAyC,SAC9CuB,IAAKzB,EAAK0B,IAAI,0BAGlBP,EAACC,MAAAA,CAAIC,UAAU,gCAAgCrB,EAAK0B,IAAI,0BAMhEP,EAACC,MAAAA,CAAIC,UAAU,gCACXF,EAACQ,EAAsBjC,GAEvByB,EAACC,MAAAA,CAAIC,UAAU,wCACXF,EAACC,MAAAA,CAAIC,UAAU,2BACXF,EAACS,EAAAA,CACGC,QAASlC,EAAQmC,OAAOC,KAAInB,IAAU,CAClCA,QACAoB,MAAOlB,EAAUF,EAAOR,GACxB6B,SAAqB,YAAX5B,EACV6B,SAAUtB,IAAUF,EAAOE,UAE/BuB,KAAK,SACLlB,SA7DS,EAAGmB,aAC5B,MAAMxB,EAAQyB,SAASD,EAAOxB,MAAO,IACrCH,GAAW,GACXE,GAAUD,GAAW4B,wUAAK5B,CAAAA,CAAAA,EAAAA,GAAAA,CAAQE,gBA6DzBb,GACGoB,EAACoB,EAAAA,CAAkBC,QAAS,wDAAyDC,KAAM,CAAC1C,KAEhGoB,EAACuB,EAAAA,CACGC,mBAAoB,CAAC,UACrBC,QA/DK,KACjBtC,EAAU,WACVT,EAAS,CAAEqB,KAAM,CAAER,WAAS,EA8DhBsB,MAAOhC,EAAK0B,IAAI,gBAChBO,UAAWvB,EAAOE,MAClBP,OAAQA,IAGXP,GACGqB,EAACuB,EAAAA,CACGC,mBAAoB,CAAC,WACrBE,QAAQ,QACRD,QApEE,KAClBtC,EAAU,SACVV,EAAS,CAAEsB,KAAM,CAAER,UAAUF,WAAQ,EAmErByB,SAAqB,YAAX5B,EACV2B,MAAO,GAAGhC,EAAK0B,IAAI,uBAM3C,CAEAjC,EAAkBqD,aAAe,CAC7BlD,SAAU,OACVqB,SAAU,OACVpB,SAAU,OACVF,QAAS,CAAC,EACVG,kBAAkB"}
|
|
@@ -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/DragonpayInput/DragonpayInput.js";import
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/DragonpayInput/DragonpayInput.js";import o from"./components/DragonpayVoucherResult/DragonpayVoucherResult.js";import{CoreProvider as n}from"../../core/Context/CoreProvider.js";import{TxVariants as s}from"../tx-variants.js";function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})))),o.forEach((function(e){i(t,e,r[e])}))}return t}function p(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);r.push.apply(r,o)}return r}(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})),t}class c extends e{get isValid(){return!!this.state.isValid}formatData(){const{issuer:t,shopperEmail:e}=this.state.data;return p(a({},e&&{shopperEmail:e}),{paymentMethod:p(a({},t&&{issuer:t}),{type:this.type})})}formatProps(t){var e,r,o;return p(a({},t),{issuers:null!==(o=null===(r=t.details)||void 0===r||null===(e=r.find((t=>"issuer"===t.key)))||void 0===e?void 0:e.items)&&void 0!==o?o:t.issuers})}render(){return t(n,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.reference?t(o,a({ref:t=>{this.componentRef=t},icon:this.icon},this.props)):t(r,p(a({ref:t=>{this.componentRef=t},items:this.props.issuers},this.props),{showPayButton:this.props.showPayButton,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton})))}}i(c,"type",s.dragonpay),i(c,"txVariants",[s.dragonpay,s.dragonpay_ebanking,s.dragonpay_otc_banking,s.dragonpay_otc_non_banking,s.dragonpay_otc_philippines]);export{c as DragonpayElement,c as default};
|
|
2
2
|
//# sourceMappingURL=Dragonpay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dragonpay.js","sources":["../../../../src/components/Dragonpay/Dragonpay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport DragonpayInput from './components/DragonpayInput';\nimport DragonpayVoucherResult from './components/DragonpayVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { DragonpayConfiguraton } from './types';\nimport { TxVariants } from '../tx-variants';\n\nexport class DragonpayElement extends UIElement<DragonpayConfiguraton> {\n public static type = TxVariants.dragonpay;\n\n public static txVariants = [\n TxVariants.dragonpay,\n TxVariants.dragonpay_ebanking,\n TxVariants.dragonpay_otc_banking,\n TxVariants.dragonpay_otc_non_banking,\n TxVariants.dragonpay_otc_philippines\n ];\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const { issuer, shopperEmail } = this.state.data;\n\n return {\n ...(shopperEmail && { shopperEmail }),\n paymentMethod: {\n ...(issuer && { issuer }),\n type: this.type\n }\n };\n }\n\n protected formatProps(props: DragonpayConfiguraton) {\n return {\n ...props,\n issuers: props.details?.find(detail => detail.key === 'issuer')?.items ?? props.issuers\n };\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.reference ? (\n <DragonpayVoucherResult\n ref={ref => {\n this.componentRef = ref;\n }}\n icon={this.icon}\n {...this.props}\n />\n ) : (\n <DragonpayInput\n ref={ref => {\n this.componentRef = ref;\n }}\n items={this.props.issuers}\n {...this.props}\n showPayButton={this.props.showPayButton}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default DragonpayElement;\n"],"names":["DragonpayElement","UIElement","isValid","this","state","formatData","issuer","shopperEmail","data","_object_spread_props","paymentMethod","type","formatProps","props","issuers","details","find","detail","key","items","render","h","CoreProvider","i18n","loadingContext","resources","reference","DragonpayVoucherResult","ref","componentRef","icon","DragonpayInput","showPayButton","onChange","setState","onSubmit","submit","payButton","_define_property","TxVariants","dragonpay","txVariants","dragonpay_ebanking","dragonpay_otc_banking","dragonpay_otc_non_banking","dragonpay_otc_philippines"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Dragonpay.js","sources":["../../../../src/components/Dragonpay/Dragonpay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport DragonpayInput from './components/DragonpayInput';\nimport DragonpayVoucherResult from './components/DragonpayVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { DragonpayConfiguraton } from './types';\nimport { TxVariants } from '../tx-variants';\n\nexport class DragonpayElement extends UIElement<DragonpayConfiguraton> {\n public static type = TxVariants.dragonpay;\n\n public static txVariants = [\n TxVariants.dragonpay,\n TxVariants.dragonpay_ebanking,\n TxVariants.dragonpay_otc_banking,\n TxVariants.dragonpay_otc_non_banking,\n TxVariants.dragonpay_otc_philippines\n ];\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const { issuer, shopperEmail } = this.state.data;\n\n return {\n ...(shopperEmail && { shopperEmail }),\n paymentMethod: {\n ...(issuer && { issuer }),\n type: this.type\n }\n };\n }\n\n protected formatProps(props: DragonpayConfiguraton) {\n return {\n ...props,\n issuers: props.details?.find(detail => detail.key === 'issuer')?.items ?? props.issuers\n };\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.reference ? (\n <DragonpayVoucherResult\n ref={ref => {\n this.componentRef = ref;\n }}\n icon={this.icon}\n {...this.props}\n />\n ) : (\n <DragonpayInput\n ref={ref => {\n this.componentRef = ref;\n }}\n items={this.props.issuers}\n {...this.props}\n showPayButton={this.props.showPayButton}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default DragonpayElement;\n"],"names":["DragonpayElement","UIElement","isValid","this","state","formatData","issuer","shopperEmail","data","_object_spread_props","paymentMethod","type","formatProps","props","issuers","details","find","detail","key","items","render","h","CoreProvider","i18n","loadingContext","resources","reference","DragonpayVoucherResult","ref","componentRef","icon","DragonpayInput","showPayButton","onChange","setState","onSubmit","submit","payButton","_define_property","TxVariants","dragonpay","txVariants","dragonpay_ebanking","dragonpay_otc_banking","dragonpay_otc_non_banking","dragonpay_otc_philippines"],"mappings":"grCAQO,MAAMA,UAAyBC,EAWlC,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAKAG,UAAAA,GACI,MAAMC,OAAEA,EAAMC,aAAEA,GAAiBJ,KAAKC,MAAMI,KAE5C,OAAOC,OACCF,GAAgB,CAAEA,iBAAa,CACnCG,cAAeD,OACPH,GAAU,CAAEA,WAAO,CACvBK,KAAMR,KAAKQ,QAGvB,CAEUC,WAAAA,CAAYC,OAGLA,EAAAA,EAAAA,EAFb,OAAOJ,EACAI,EAAAA,CAAAA,EAAAA,GAAAA,CACHC,QAASD,QAAAA,UAAAA,EAAAA,EAAME,eAANF,IAAAA,GAA6C,QAA7CA,EAAAA,EAAeG,MAAKC,GAAyB,WAAfA,EAAOC,aAArCL,IAAAA,OAAAA,EAAAA,EAAwDM,aAAxDN,IAAAA,EAAAA,EAAiEA,EAAMC,SAExF,CAEAM,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMpB,KAAKU,MAAMU,KAAMC,eAAgBrB,KAAKU,MAAMW,eAAgBC,UAAWtB,KAAKsB,WAC3FtB,KAAKU,MAAMa,UACRL,EAACM,EAAAA,EAAAA,CACGC,IAAKA,IACDzB,KAAK0B,aAAeD,CAAAA,EAExBE,KAAM3B,KAAK2B,MACP3B,KAAKU,QAGbQ,EAACU,EAAAA,EAAAA,EAAAA,CACGH,IAAKA,IACDzB,KAAK0B,aAAeD,CAAAA,EAExBT,MAAOhB,KAAKU,MAAMC,SACdX,KAAKU,OAAK,CACdmB,cAAe7B,KAAKU,MAAMmB,cAC1BC,SAAU9B,KAAK+B,SACfC,SAAUhC,KAAKiC,OACfC,UAAWlC,KAAKkC,aAKpC,EA9DAC,EADStC,EACKW,OAAO4B,EAAWC,WAEhCF,EAHStC,EAGKyC,aAAa,CACvBF,EAAWC,UACXD,EAAWG,mBACXH,EAAWI,sBACXJ,EAAWK,0BACXL,EAAWM"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useEffect as r,useState as t}from"../../../../external/preact/hooks/dist/hooks.js";import o from"../../../../utils/useForm/useForm.js";import a from"../../../internal/FormFields/Field/Field.js";import n from"../../../../utils/get-issuer-image.js";import{useCoreContext as s}from"../../../../core/Context/CoreProvider.js";import i from"../../../internal/FormFields/InputEmail.js";import l from"../../../internal/FormFields/Select/Select.js";import p from"../../../../core/Context/useImage.js";import{validationRules as u}from"../../../../utils/Validator/defaultRules.js";import{getErrorMessage as c}from"../../../../utils/getErrorMessage.js";function m(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function d(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);
|
|
1
|
+
import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useEffect as r,useState as t}from"../../../../external/preact/hooks/dist/hooks.js";import o from"../../../../utils/useForm/useForm.js";import a from"../../../internal/FormFields/Field/Field.js";import n from"../../../../utils/get-issuer-image.js";import{useCoreContext as s}from"../../../../core/Context/CoreProvider.js";import i from"../../../internal/FormFields/InputEmail.js";import l from"../../../internal/FormFields/Select/Select.js";import p from"../../../../core/Context/useImage.js";import{validationRules as u}from"../../../../utils/Validator/defaultRules.js";import{getErrorMessage as c}from"../../../../utils/getErrorMessage.js";function m(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function d(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t.push.apply(t,o)}return t}(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})),e}function g(g){const{i18n:f}=s(),y=p(),h=()=>["dragonpay_ebanking","dragonpay_otc_banking","dragonpay_otc_non_banking"].indexOf(g.type)>-1,{handleChangeFor:b,triggerValidation:j,data:O,valid:_,errors:E,isValid:k}=o({schema:[...h()?["issuer"]:[],"shopperEmail"],rules:{issuer:{validate:e=>h()&&!!e,modes:["input","blur"]},shopperEmail:u.emailRule}}),P=n({},g.type,y),w=g.items.map((e=>d(function(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),o.forEach((function(r){m(e,r,t[r])}))}return e}({},e),{icon:P(e.id&&e.id.toLowerCase())})));r((()=>{g.onChange({isValid:k,data:O,valid:_,errors:E})}),[k,O,_,E]);const[F,v]=t("ready");return this.setStatus=v,this.showValidation=j,e("div",{className:"adyen-checkout__dragonpay-input__field"},e(a,{label:f.get("shopperEmail"),errorMessage:c(f,E.shopperEmail,f.get("shopperEmail")),name:"dragonpay-shopperEmail"},e(i,{name:"dragonpay-shopperEmail",autoCorrect:"off",value:O.shopperEmail,className:"adyen-checkout__input--large",spellCheck:!1,onInput:b("shopperEmail","input"),onBlur:b("shopperEmail","blur")})),h()&&e(a,{label:f.get((x=g.type,"dragonpay_otc_non_banking"===x?"dragonpayVoucher.selectField.contextualText.nonBank":"dragonpayVoucher.selectField.contextualText.bank")),errorMessage:!!E.issuer,name:"issuer"},e(l,{items:w,selectedValue:O.issuer,name:"issuer",className:"adyen-checkout__dropdown--large adyen-checkout__issuer-list__dropdown",onChange:b("issuer")})),g.showPayButton&&g.payButton({status:F,label:f.get("confirmPurchase")}));var x}g.defaultProps={data:{},items:[],onChange:()=>{}};export{g as default};
|
|
2
2
|
//# sourceMappingURL=DragonpayInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DragonpayInput.js","sources":["../../../../../../src/components/Dragonpay/components/DragonpayInput/DragonpayInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useState } from 'preact/hooks';\nimport useForm from '../../../../utils/useForm';\nimport Field from '../../../internal/FormFields/Field';\nimport getIssuerImageUrl from '../../../../utils/get-issuer-image';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { DragonpayInputData, DragonpayInputIssuerItem, DragonpayInputProps } from '../../types';\nimport InputEmail from '../../../internal/FormFields/InputEmail';\nimport Select from '../../../internal/FormFields/Select';\nimport useImage from '../../../../core/Context/useImage';\nimport { validationRules } from '../../../../utils/Validator/defaultRules';\nimport { getErrorMessage } from '../../../../utils/getErrorMessage';\n\nexport default function DragonpayInput(props: DragonpayInputProps) {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n const isIssuerRequired = () => {\n const typesRequiringIssuers = ['dragonpay_ebanking', 'dragonpay_otc_banking', 'dragonpay_otc_non_banking'];\n return typesRequiringIssuers.indexOf(props.type) > -1;\n };\n\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<DragonpayInputData>({\n schema: [...(isIssuerRequired() ? ['issuer'] : []), 'shopperEmail'],\n rules: {\n issuer: {\n validate: issuer => isIssuerRequired() && !!issuer,\n modes: ['input', 'blur']\n },\n shopperEmail: validationRules.emailRule\n }\n });\n\n const getIssuerIcon = getIssuerImageUrl({}, props.type, getImage);\n const items = props.items.map(\n (item: DragonpayInputIssuerItem): DragonpayInputIssuerItem => ({\n ...item,\n icon: getIssuerIcon(item.id && item.id.toLowerCase())\n })\n );\n\n const getIssuerSelectFieldKey = type => {\n if (type === 'dragonpay_otc_non_banking') {\n return 'dragonpayVoucher.selectField.contextualText.nonBank';\n }\n return 'dragonpayVoucher.selectField.contextualText.bank';\n };\n\n useEffect(() => {\n props.onChange({ isValid, data, valid, errors });\n }, [isValid, data, valid, errors]);\n\n const [status, setStatus] = useState('ready');\n this.setStatus = setStatus;\n this.showValidation = triggerValidation;\n\n return (\n <div className=\"adyen-checkout__dragonpay-input__field\">\n <Field\n label={i18n.get('shopperEmail')}\n errorMessage={getErrorMessage(i18n, errors.shopperEmail, i18n.get('shopperEmail'))}\n name={'dragonpay-shopperEmail'}\n >\n <InputEmail\n name={'dragonpay-shopperEmail'}\n autoCorrect={'off'}\n value={data.shopperEmail}\n className={'adyen-checkout__input--large'}\n spellCheck={false}\n onInput={handleChangeFor('shopperEmail', 'input')}\n onBlur={handleChangeFor('shopperEmail', 'blur')}\n />\n </Field>\n\n {isIssuerRequired() && (\n <Field label={i18n.get(getIssuerSelectFieldKey(props.type))} errorMessage={!!errors.issuer} name={'issuer'}>\n <Select\n items={items}\n selectedValue={data.issuer}\n name={'issuer'}\n className={'adyen-checkout__dropdown--large adyen-checkout__issuer-list__dropdown'}\n onChange={handleChangeFor('issuer')}\n />\n </Field>\n )}\n\n {props.showPayButton && props.payButton({ status, label: i18n.get('confirmPurchase') })}\n </div>\n );\n}\n\nDragonpayInput.defaultProps = {\n data: {},\n items: [],\n onChange: () => {}\n};\n"],"names":["DragonpayInput","props","i18n","useCoreContext","getImage","useImage","isIssuerRequired","indexOf","type","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","schema","rules","issuer","validate","modes","shopperEmail","validationRules","emailRule","getIssuerIcon","getIssuerImageUrl","items","map","item","_object_spread_props","icon","id","toLowerCase","useEffect","onChange","status","setStatus","useState","this","showValidation","h","div","className","Field","label","get","errorMessage","getErrorMessage","name","InputEmail","autoCorrect","value","spellCheck","onInput","onBlur","Select","selectedValue","showPayButton","payButton","defaultProps"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DragonpayInput.js","sources":["../../../../../../src/components/Dragonpay/components/DragonpayInput/DragonpayInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useState } from 'preact/hooks';\nimport useForm from '../../../../utils/useForm';\nimport Field from '../../../internal/FormFields/Field';\nimport getIssuerImageUrl from '../../../../utils/get-issuer-image';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { DragonpayInputData, DragonpayInputIssuerItem, DragonpayInputProps } from '../../types';\nimport InputEmail from '../../../internal/FormFields/InputEmail';\nimport Select from '../../../internal/FormFields/Select';\nimport useImage from '../../../../core/Context/useImage';\nimport { validationRules } from '../../../../utils/Validator/defaultRules';\nimport { getErrorMessage } from '../../../../utils/getErrorMessage';\n\nexport default function DragonpayInput(props: DragonpayInputProps) {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n const isIssuerRequired = () => {\n const typesRequiringIssuers = ['dragonpay_ebanking', 'dragonpay_otc_banking', 'dragonpay_otc_non_banking'];\n return typesRequiringIssuers.indexOf(props.type) > -1;\n };\n\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<DragonpayInputData>({\n schema: [...(isIssuerRequired() ? ['issuer'] : []), 'shopperEmail'],\n rules: {\n issuer: {\n validate: issuer => isIssuerRequired() && !!issuer,\n modes: ['input', 'blur']\n },\n shopperEmail: validationRules.emailRule\n }\n });\n\n const getIssuerIcon = getIssuerImageUrl({}, props.type, getImage);\n const items = props.items.map(\n (item: DragonpayInputIssuerItem): DragonpayInputIssuerItem => ({\n ...item,\n icon: getIssuerIcon(item.id && item.id.toLowerCase())\n })\n );\n\n const getIssuerSelectFieldKey = type => {\n if (type === 'dragonpay_otc_non_banking') {\n return 'dragonpayVoucher.selectField.contextualText.nonBank';\n }\n return 'dragonpayVoucher.selectField.contextualText.bank';\n };\n\n useEffect(() => {\n props.onChange({ isValid, data, valid, errors });\n }, [isValid, data, valid, errors]);\n\n const [status, setStatus] = useState('ready');\n this.setStatus = setStatus;\n this.showValidation = triggerValidation;\n\n return (\n <div className=\"adyen-checkout__dragonpay-input__field\">\n <Field\n label={i18n.get('shopperEmail')}\n errorMessage={getErrorMessage(i18n, errors.shopperEmail, i18n.get('shopperEmail'))}\n name={'dragonpay-shopperEmail'}\n >\n <InputEmail\n name={'dragonpay-shopperEmail'}\n autoCorrect={'off'}\n value={data.shopperEmail}\n className={'adyen-checkout__input--large'}\n spellCheck={false}\n onInput={handleChangeFor('shopperEmail', 'input')}\n onBlur={handleChangeFor('shopperEmail', 'blur')}\n />\n </Field>\n\n {isIssuerRequired() && (\n <Field label={i18n.get(getIssuerSelectFieldKey(props.type))} errorMessage={!!errors.issuer} name={'issuer'}>\n <Select\n items={items}\n selectedValue={data.issuer}\n name={'issuer'}\n className={'adyen-checkout__dropdown--large adyen-checkout__issuer-list__dropdown'}\n onChange={handleChangeFor('issuer')}\n />\n </Field>\n )}\n\n {props.showPayButton && props.payButton({ status, label: i18n.get('confirmPurchase') })}\n </div>\n );\n}\n\nDragonpayInput.defaultProps = {\n data: {},\n items: [],\n onChange: () => {}\n};\n"],"names":["DragonpayInput","props","i18n","useCoreContext","getImage","useImage","isIssuerRequired","indexOf","type","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","schema","rules","issuer","validate","modes","shopperEmail","validationRules","emailRule","getIssuerIcon","getIssuerImageUrl","items","map","item","_object_spread_props","icon","id","toLowerCase","useEffect","onChange","status","setStatus","useState","this","showValidation","h","div","className","Field","label","get","errorMessage","getErrorMessage","name","InputEmail","autoCorrect","value","spellCheck","onInput","onBlur","Select","selectedValue","showPayButton","payButton","defaultProps"],"mappings":"4rCAae,SAASA,EAAeC,GACnC,MAAMC,KAAEA,GAASC,IACXC,EAAWC,IACXC,EAAmB,IACS,CAAC,qBAAsB,wBAAyB,6BACjDC,QAAQN,EAAMO,OAAS,GAGlDC,gBAAEA,EAAeC,kBAAEA,EAAiBC,KAAEA,EAAIC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GAAYC,EAA4B,CACrGC,OAAQ,IAAKV,IAAqB,CAAC,UAAY,GAAK,gBACpDW,MAAO,CACHC,OAAQ,CACJC,SAAUD,GAAUZ,OAAwBY,EAC5CE,MAAO,CAAC,QAAS,SAErBC,aAAcC,EAAgBC,aAIhCC,EAAgBC,EAAkB,CAAA,EAAIxB,EAAMO,KAAMJ,GAClDsB,EAAQzB,EAAMyB,MAAMC,KACrBC,GAA8DC,wUACxDD,CAAAA,GAAAA,GAAAA,CACHE,KAAMN,EAAcI,EAAKG,IAAMH,EAAKG,GAAGC,mBAW/CC,GAAU,KACNhC,EAAMiC,SAAS,CAAEpB,UAASH,OAAMC,QAAOC,UAAO,GAC/C,CAACC,EAASH,EAAMC,EAAOC,IAE1B,MAAOsB,EAAQC,GAAaC,EAAS,SAIrC,OAHAC,KAAKF,UAAYA,EACjBE,KAAKC,eAAiB7B,EAGlB8B,EAACC,MAAAA,CAAIC,UAAU,0CACXF,EAACG,EAAAA,CACGC,MAAO1C,EAAK2C,IAAI,gBAChBC,aAAcC,EAAgB7C,EAAMW,EAAOQ,aAAcnB,EAAK2C,IAAI,iBAClEG,KAAM,0BAENR,EAACS,EAAAA,CACGD,KAAM,yBACNE,YAAa,MACbC,MAAOxC,EAAKU,aACZqB,UAAW,+BACXU,YAAY,EACZC,QAAS5C,EAAgB,eAAgB,SACzC6C,OAAQ7C,EAAgB,eAAgB,WAI/CH,KACGkC,EAACG,EAAAA,CAAMC,MAAO1C,EAAK2C,KAlCCrC,EAkC2BP,EAAMO,KAjChD,8BAATA,EACO,sDAEJ,qDA8B8DsC,eAAgBjC,EAAOK,OAAQ8B,KAAM,UAC9FR,EAACe,EAAAA,CACG7B,MAAOA,EACP8B,cAAe7C,EAAKO,OACpB8B,KAAM,SACNN,UAAW,wEACXR,SAAUzB,EAAgB,aAKrCR,EAAMwD,eAAiBxD,EAAMyD,UAAU,CAAEvB,SAAQS,MAAO1C,EAAK2C,IAAI,sBA7C1CrC,IAAAA,CAgDpC,CAEAR,EAAe2D,aAAe,CAC1BhD,KAAM,CAAC,EACPe,MAAO,GACPQ,SAAU"}
|
|
@@ -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"./defaultProps.js";import{DropinComponent as n}from"./components/DropinComponent.js";import{CoreProvider as i}from"../../core/Context/CoreProvider.js";import{getCommonProps as r}from"./components/utils.js";import s from"./elements/createElements.js";import a from"./elements/createStoredElements.js";import h from"./elements/createInstantPaymentElements.js";import{hasOwnProperty as p}from"../../utils/hasOwnProperty.js";import d from"../../core/Errors/SRPanelProvider.js";import
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./defaultProps.js";import{DropinComponent as n}from"./components/DropinComponent.js";import{CoreProvider as i}from"../../core/Context/CoreProvider.js";import{getCommonProps as r}from"./components/utils.js";import s from"./elements/createElements.js";import a from"./elements/createStoredElements.js";import h from"./elements/createInstantPaymentElements.js";import{hasOwnProperty as p}from"../../utils/hasOwnProperty.js";import d from"../../core/Errors/SRPanelProvider.js";import m from"./elements/splitPaymentMethods.js";function c(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function l(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{},n=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(o).filter((function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable})))),n.forEach((function(e){c(t,e,o[e])}))}return t}function y(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);o.push.apply(o,n)}return o}(Object(e)).forEach((function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(e,o))})),t}const f=["paywithgoogle","googlepay","applepay"];class u extends e{storeElementRefOnCore(){this.core.storeElementReference(this)}formatProps(t){return y(l({type:"dropin"},super.formatProps(t)),{instantPaymentTypes:Array.from(new Set(t.instantPaymentTypes)).filter((t=>f.includes(t)))})}get isValid(){return!!this.dropinRef&&!!this.dropinRef.state.activePaymentMethod&&!!this.dropinRef.state.activePaymentMethod.isValid}showValidation(){return this.dropinRef.state.activePaymentMethod&&this.dropinRef.state.activePaymentMethod.showValidation(),this}setStatus(t,e={}){var o;return null===(o=this.dropinRef)||void 0===o||o.setStatus(t,e),this}get activePaymentMethod(){var t,e;return(null===(t=this.dropinRef)||void 0===t?void 0:t.state)||(null===(e=this.dropinRef)||void 0===e?void 0:e.state.activePaymentMethod)?this.dropinRef.state.activePaymentMethod:null}get data(){return this.activePaymentMethod?this.dropinRef.state.activePaymentMethod.data:null}displayFinalAnimation(t){this.props.disableFinalAnimation||this.dropinRef.setStatus(t)}submit(){if(!this.activePaymentMethod)throw new Error("No active payment method.");this.activePaymentMethod.isValid||this.activePaymentMethod.showValidation(),this.activePaymentMethod.isInstantPayment&&this.closeActivePaymentMethod(),this.activePaymentMethod.submit()}handleAction(t,e={}){var o,n;if(!t||!t.type){if(p(t,"action")&&p(t,"resultCode"))throw new Error('handleAction::Invalid Action - the passed action object itself has an "action" property and a "resultCode": have you passed in the whole response object by mistake?');throw new Error('handleAction::Invalid Action - the passed action object does not have a "type" property')}if("redirect"!==t.type&&(null===(o=this.activePaymentMethod)||void 0===o?void 0:o.updateWithAction))return this.activePaymentMethod.updateWithAction(t);this.elementRef instanceof u&&(e=l({},null===(n=this.elementRef.activePaymentMethod)||void 0===n?void 0:n.props,e));const i=this.core.createFromAction(t,y(l({},e),{elementRef:this.elementRef,onAdditionalDetails:this.handleAdditionalDetails,isDropin:!0}));return i?(this.setStatus(i.props.statusType,{component:i}),this.componentFromAction=i,this):null}closeActivePaymentMethod(){this.dropinRef.closeActivePaymentMethod()}render(){return t(i,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(d,{srPanel:this.props.modules.srPanel},t(n,y(l({},this.props),{core:this.core,onChange:this.setState,elementRef:this.elementRef,onCreateElements:this.handleCreate,ref:t=>{this.dropinRef=t}}))))}constructor(t,e){super(t,e),c(this,"dropinRef",null),c(this,"paymentMethodsConfiguration",void 0),c(this,"componentFromAction",void 0),c(this,"handleCreate",(()=>{const{paymentMethodsConfiguration:t,showStoredPaymentMethods:e,showPaymentMethods:o,instantPaymentTypes:n}=this.props,{paymentMethods:i,storedPaymentMethods:p,instantPaymentMethods:d}=m(this.core.paymentMethodsResponse,n),c=r(y(l({},this.props),{elementRef:this.elementRef}));return[e?a(p,t,c,this.core):[],o?s(i,t,c,this.core):[],h(d,t,c,this.core)]})),c(this,"handleOrder",(({order:t})=>{this.updateParent({order:t})})),this.submit=this.submit.bind(this),this.handleAction=this.handleAction.bind(this),this.props.paymentMethodComponents.forEach((t=>this.core.register(t))),this.paymentMethodsConfiguration=this.props.paymentMethodsConfiguration||{}}}c(u,"defaultProps",o);export{u as default};
|
|
2
2
|
//# sourceMappingURL=Dropin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropin.js","sources":["../../../../src/components/Dropin/Dropin.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport defaultProps from './defaultProps';\nimport DropinComponent from '../../components/Dropin/components/DropinComponent';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { getCommonProps } from './components/utils';\nimport { createElements, createStoredElements } from './elements';\nimport createInstantPaymentElements from './elements/createInstantPaymentElements';\nimport { hasOwnProperty } from '../../utils/hasOwnProperty';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport splitPaymentMethods from './elements/splitPaymentMethods';\n\nimport type { DropinConfiguration, InstantPaymentTypes, PaymentMethodsConfiguration } from './types';\nimport type { PaymentAction, PaymentResponseData } from '../../types/global-types';\nimport type { ICore } from '../../core/types';\nimport type { IDropin } from './types';\n\nconst SUPPORTED_INSTANT_PAYMENTS = ['paywithgoogle', 'googlepay', 'applepay'];\n\nclass DropinElement extends UIElement<DropinConfiguration> implements IDropin {\n protected static defaultProps = defaultProps;\n\n public dropinRef = null;\n\n private paymentMethodsConfiguration: PaymentMethodsConfiguration;\n /**\n * Reference to the component created from `handleAction` (Ex.: ThreeDS2Challenge)\n */\n public componentFromAction?: UIElement;\n\n constructor(checkout: ICore, props?: DropinConfiguration) {\n super(checkout, props);\n this.submit = this.submit.bind(this);\n this.handleAction = this.handleAction.bind(this);\n\n this.props.paymentMethodComponents.forEach(PaymentMethod => this.core.register(PaymentMethod));\n this.paymentMethodsConfiguration = this.props.paymentMethodsConfiguration || {};\n }\n\n protected override storeElementRefOnCore() {\n this.core.storeElementReference(this);\n }\n\n formatProps(props) {\n return {\n type: 'dropin', // for analytics\n ...super.formatProps(props),\n instantPaymentTypes: Array.from<InstantPaymentTypes>(new Set(props.instantPaymentTypes)).filter(value =>\n SUPPORTED_INSTANT_PAYMENTS.includes(value)\n )\n };\n }\n\n get isValid() {\n return !!this.dropinRef && !!this.dropinRef.state.activePaymentMethod && !!this.dropinRef.state.activePaymentMethod.isValid;\n }\n\n showValidation() {\n if (this.dropinRef.state.activePaymentMethod) {\n this.dropinRef.state.activePaymentMethod.showValidation();\n }\n\n return this;\n }\n\n public setStatus(status, props = {}): this {\n this.dropinRef?.setStatus(status, props);\n return this;\n }\n\n get activePaymentMethod() {\n if (!this.dropinRef?.state && !this.dropinRef?.state.activePaymentMethod) {\n return null;\n }\n\n return this.dropinRef.state.activePaymentMethod;\n }\n\n get data() {\n if (!this.activePaymentMethod) {\n return null;\n }\n\n return this.dropinRef.state.activePaymentMethod.data;\n }\n\n public displayFinalAnimation(type: 'success' | 'error') {\n if (this.props.disableFinalAnimation) return;\n\n this.dropinRef.setStatus(type);\n }\n\n /**\n * Calls the onSubmit event with the state of the activePaymentMethod\n */\n public override submit(): void {\n if (!this.activePaymentMethod) {\n throw new Error('No active payment method.');\n }\n\n if (!this.activePaymentMethod.isValid) {\n this.activePaymentMethod.showValidation();\n }\n\n if (this.activePaymentMethod.isInstantPayment) {\n this.closeActivePaymentMethod();\n }\n\n this.activePaymentMethod.submit();\n }\n\n /**\n * Creates the Drop-in elements\n */\n private handleCreate = () => {\n const { paymentMethodsConfiguration, showStoredPaymentMethods, showPaymentMethods, instantPaymentTypes } = this.props;\n\n const { paymentMethods, storedPaymentMethods, instantPaymentMethods } = splitPaymentMethods(\n this.core.paymentMethodsResponse,\n instantPaymentTypes\n );\n\n const commonProps = getCommonProps({ ...this.props, elementRef: this.elementRef });\n\n const storedElements = showStoredPaymentMethods\n ? createStoredElements(storedPaymentMethods, paymentMethodsConfiguration, commonProps, this.core)\n : [];\n const elements = showPaymentMethods ? createElements(paymentMethods, paymentMethodsConfiguration, commonProps, this.core) : [];\n const instantPaymentElements = createInstantPaymentElements(instantPaymentMethods, paymentMethodsConfiguration, commonProps, this.core);\n\n return [storedElements, elements, instantPaymentElements];\n };\n\n public handleAction(action: PaymentAction, props = {}): this | null {\n if (!action || !action.type) {\n if (hasOwnProperty(action, 'action') && hasOwnProperty(action, 'resultCode')) {\n throw new Error(\n 'handleAction::Invalid Action - the passed action object itself has an \"action\" property and ' +\n 'a \"resultCode\": have you passed in the whole response object by mistake?'\n );\n }\n throw new Error('handleAction::Invalid Action - the passed action object does not have a \"type\" property');\n }\n\n if (action.type !== 'redirect' && this.activePaymentMethod?.updateWithAction) {\n return this.activePaymentMethod.updateWithAction(action);\n }\n\n if (this.elementRef instanceof DropinElement) {\n props = {\n ...this.elementRef.activePaymentMethod?.props,\n ...props\n };\n }\n\n const paymentAction: UIElement = this.core.createFromAction(action, {\n ...props,\n elementRef: this.elementRef, // maintain elementRef for 3DS2 flow\n onAdditionalDetails: this.handleAdditionalDetails,\n isDropin: true\n });\n\n if (paymentAction) {\n this.setStatus(paymentAction.props.statusType, { component: paymentAction });\n this.componentFromAction = paymentAction;\n return this;\n }\n\n return null;\n }\n\n /**\n * handleOrder is implemented so we don't trigger a callback like in the components\n * @param response - PaymentResponse\n */\n protected handleOrder = ({ order }: PaymentResponseData): void => {\n this.updateParent({ order });\n };\n\n closeActivePaymentMethod() {\n this.dropinRef.closeActivePaymentMethod();\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <DropinComponent\n {...this.props}\n core={this.core}\n onChange={this.setState}\n elementRef={this.elementRef}\n onCreateElements={this.handleCreate}\n ref={dropinRef => {\n this.dropinRef = dropinRef;\n }}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n}\n\nexport default DropinElement;\n"],"names":["SUPPORTED_INSTANT_PAYMENTS","DropinElement","UIElement","storeElementRefOnCore","this","core","storeElementReference","formatProps","props","_object_spread_props","_object_spread","type","super","instantPaymentTypes","Array","from","Set","filter","value","includes","isValid","dropinRef","state","activePaymentMethod","showValidation","setStatus","status","_this_dropinRef","_this_dropinRef1","data","displayFinalAnimation","disableFinalAnimation","submit","Error","isInstantPayment","closeActivePaymentMethod","handleAction","action","_this_activePaymentMethod","_this_elementRef_activePaymentMethod","hasOwnProperty","updateWithAction","elementRef","paymentAction","createFromAction","onAdditionalDetails","handleAdditionalDetails","isDropin","statusType","component","componentFromAction","render","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","DropinComponent","onChange","setState","onCreateElements","handleCreate","ref","constructor","checkout","_define_property","paymentMethodsConfiguration","showStoredPaymentMethods","showPaymentMethods","paymentMethods","storedPaymentMethods","instantPaymentMethods","splitPaymentMethods","paymentMethodsResponse","commonProps","getCommonProps","createStoredElements","createElements","createInstantPaymentElements","handleOrder","order","updateParent","bind","paymentMethodComponents","forEach","PaymentMethod","register","defaultProps"],"mappings":"oiDAiBA,MAAMA,EAA6B,CAAC,gBAAiB,YAAa,YAElE,MAAMC,UAAsBC,EAoBLC,qBAAAA,GACfC,KAAKC,KAAKC,sBAAsBF,KACpC,CAEAG,WAAAA,CAAYC,GACR,OAAOC,EAAAC,EAAA,CACHC,KAAM,UACHC,MAAML,YAAYC,IAAAA,CACrBK,oBAAqBC,MAAMC,KAA0B,IAAIC,IAAIR,EAAMK,sBAAsBI,QAAOC,GAC5FlB,EAA2BmB,SAASD,MAGhD,CAEA,WAAIE,GACA,QAAShB,KAAKiB,aAAejB,KAAKiB,UAAUC,MAAMC,uBAAyBnB,KAAKiB,UAAUC,MAAMC,oBAAoBH,OACxH,CAEAI,cAAAA,GAKI,OAJIpB,KAAKiB,UAAUC,MAAMC,qBACrBnB,KAAKiB,UAAUC,MAAMC,oBAAoBC,iBAGtCpB,IACX,CAEOqB,SAAAA,CAAUC,EAAQlB,EAAQ,IAC7B,IAAAmB,EACA,OADc,QAAdA,EAAAvB,KAAKiB,qBAALM,GAAAA,EAAgBF,UAAUC,EAAQlB,GAC3BJ,IACX,CAEA,uBAAImB,OACKI,EAA0BC,EAA/B,OAAK,QAAAD,EAAAvB,KAAKiB,iBAAL,IAAAM,OAAA,EAAAA,EAAgBL,SAAwB,QAAdM,EAAAxB,KAAKiB,qBAALO,SAAAA,EAAgBN,MAAMC,qBAI9CnB,KAAKiB,UAAUC,MAAMC,oBAHjB,IAIf,CAEA,QAAIM,GACA,OAAKzB,KAAKmB,oBAIHnB,KAAKiB,UAAUC,MAAMC,oBAAoBM,KAHrC,IAIf,CAEOC,qBAAAA,CAAsBnB,GACrBP,KAAKI,MAAMuB,uBAEf3B,KAAKiB,UAAUI,UAAUd,EAC7B,CAKA,MAAAqB,GACI,IAAK5B,KAAKmB,oBACN,MAAM,IAAIU,MAAM,6BAGf7B,KAAKmB,oBAAoBH,SAC1BhB,KAAKmB,oBAAoBC,iBAGzBpB,KAAKmB,oBAAoBW,kBACzB9B,KAAK+B,2BAGT/B,KAAKmB,oBAAoBS,QAC7B,CAwBOI,YAAAA,CAAaC,EAAuB7B,EAAQ,IAWb,IAAA8B,EAMvBC,EAhBX,IAAKF,IAAWA,EAAO1B,KAAM,CACzB,GAAI6B,EAAeH,EAAQ,WAAaG,EAAeH,EAAQ,cAC3D,MAAM,IAAIJ,MACN,wKAIR,MAAM,IAAIA,MAAM,0FACpB,CAEA,GAAoB,aAAhBI,EAAO1B,OAAuB,QAAA2B,EAAAlC,KAAKmB,2BAAL,IAAAe,OAAA,EAAAA,EAA0BG,kBACxD,OAAOrC,KAAKmB,oBAAoBkB,iBAAiBJ,GAGjDjC,KAAKsC,sBAAsBzC,IAC3BO,EAAQE,EAAA,CAAA,EACD,QAAA6B,EAAAnC,KAAKsC,WAAWnB,2BAAhB,IAAAgB,OAAA,EAAAA,EAAqC/B,MACrCA,IAIX,MAAMmC,EAA2BvC,KAAKC,KAAKuC,iBAAiBP,EAAQ5B,EAC7DD,EAAAA,GAAAA,GAAAA,CACHkC,WAAYtC,KAAKsC,WACjBG,oBAAqBzC,KAAK0C,wBAC1BC,UAAU,KAGd,OAAIJ,GACAvC,KAAKqB,UAAUkB,EAAcnC,MAAMwC,WAAY,CAAEC,UAAWN,IAC5DvC,KAAK8C,oBAAsBP,EACpBvC,MAGJ,IACX,CAUA+B,wBAAAA,GACI/B,KAAKiB,UAAUc,0BACnB,CAEAgB,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMlD,KAAKI,MAAM8C,KAAMC,eAAgBnD,KAAKI,MAAM+C,eAAgBC,UAAWpD,KAAKoD,WAC5FJ,EAACK,EAAAA,CAAgBC,QAAStD,KAAKI,MAAMmD,QAAQD,SACzCN,EAACQ,EAAAA,EAAAA,EAAAA,GACOxD,KAAKI,OAAK,CACdH,KAAMD,KAAKC,KACXwD,SAAUzD,KAAK0D,SACfpB,WAAYtC,KAAKsC,WACjBqB,iBAAkB3D,KAAK4D,aACvBC,IAAK5C,IACDjB,KAAKiB,UAAYA,CAAAA,MAMzC,CA1KA6C,WAAAA,CAAYC,EAAiB3D,GACzBI,MAAMuD,EAAU3D,GATpB4D,EAAAhE,KAAOiB,YAAY,MAEnB+C,EAAAhE,KAAQiE,mCAAR,GAIAD,EAAAhE,KAAO8C,2BAAP,GAsFAkB,OAAQJ,gBAAe,KACnB,MAAMK,4BAAEA,EAA2BC,yBAAEA,EAAwBC,mBAAEA,EAAkB1D,oBAAEA,GAAwBT,KAAKI,OAE1GgE,eAAEA,EAAcC,qBAAEA,EAAoBC,sBAAEA,GAA0BC,EACpEvE,KAAKC,KAAKuE,uBACV/D,GAGEgE,EAAcC,EAAerE,EAAKC,EAAA,GAAAN,KAAKI,OAAK,CAAEkC,WAAYtC,KAAKsC,cAQrE,MAAO,CANgB4B,EACjBS,EAAqBN,EAAsBJ,EAA6BQ,EAAazE,KAAKC,MAC1F,GACWkE,EAAqBS,EAAeR,EAAgBH,EAA6BQ,EAAazE,KAAKC,MAAQ,GAC7F4E,EAA6BP,EAAuBL,EAA6BQ,EAAazE,KAAKC,MAEzE,IA6C7D+D,EAAUc,KAAAA,eAAc,EAAGC,YACvB/E,KAAKgF,aAAa,CAAED,SAAM,IAhJ1B/E,KAAK4B,OAAS5B,KAAK4B,OAAOqD,KAAKjF,MAC/BA,KAAKgC,aAAehC,KAAKgC,aAAaiD,KAAKjF,MAE3CA,KAAKI,MAAM8E,wBAAwBC,SAAQC,GAAiBpF,KAAKC,KAAKoF,SAASD,KAC/EpF,KAAKiE,4BAA8BjE,KAAKI,MAAM6D,6BAA+B,CAAA,CACjF,EAjBAD,EADEnE,EACeyF,eAAeA"}
|
|
1
|
+
{"version":3,"file":"Dropin.js","sources":["../../../../src/components/Dropin/Dropin.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport defaultProps from './defaultProps';\nimport DropinComponent from '../../components/Dropin/components/DropinComponent';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { getCommonProps } from './components/utils';\nimport { createElements, createStoredElements } from './elements';\nimport createInstantPaymentElements from './elements/createInstantPaymentElements';\nimport { hasOwnProperty } from '../../utils/hasOwnProperty';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport splitPaymentMethods from './elements/splitPaymentMethods';\n\nimport type { DropinConfiguration, InstantPaymentTypes, PaymentMethodsConfiguration } from './types';\nimport type { PaymentAction, PaymentResponseData } from '../../types/global-types';\nimport type { ICore } from '../../core/types';\nimport type { IDropin } from './types';\n\nconst SUPPORTED_INSTANT_PAYMENTS = ['paywithgoogle', 'googlepay', 'applepay'];\n\nclass DropinElement extends UIElement<DropinConfiguration> implements IDropin {\n protected static defaultProps = defaultProps;\n\n public dropinRef = null;\n\n private paymentMethodsConfiguration: PaymentMethodsConfiguration;\n /**\n * Reference to the component created from `handleAction` (Ex.: ThreeDS2Challenge)\n */\n public componentFromAction?: UIElement;\n\n constructor(checkout: ICore, props?: DropinConfiguration) {\n super(checkout, props);\n this.submit = this.submit.bind(this);\n this.handleAction = this.handleAction.bind(this);\n\n this.props.paymentMethodComponents.forEach(PaymentMethod => this.core.register(PaymentMethod));\n this.paymentMethodsConfiguration = this.props.paymentMethodsConfiguration || {};\n }\n\n protected override storeElementRefOnCore() {\n this.core.storeElementReference(this);\n }\n\n formatProps(props) {\n return {\n type: 'dropin', // for analytics\n ...super.formatProps(props),\n instantPaymentTypes: Array.from<InstantPaymentTypes>(new Set(props.instantPaymentTypes)).filter(value =>\n SUPPORTED_INSTANT_PAYMENTS.includes(value)\n )\n };\n }\n\n get isValid() {\n return !!this.dropinRef && !!this.dropinRef.state.activePaymentMethod && !!this.dropinRef.state.activePaymentMethod.isValid;\n }\n\n showValidation() {\n if (this.dropinRef.state.activePaymentMethod) {\n this.dropinRef.state.activePaymentMethod.showValidation();\n }\n\n return this;\n }\n\n public setStatus(status, props = {}): this {\n this.dropinRef?.setStatus(status, props);\n return this;\n }\n\n get activePaymentMethod() {\n if (!this.dropinRef?.state && !this.dropinRef?.state.activePaymentMethod) {\n return null;\n }\n\n return this.dropinRef.state.activePaymentMethod;\n }\n\n get data() {\n if (!this.activePaymentMethod) {\n return null;\n }\n\n return this.dropinRef.state.activePaymentMethod.data;\n }\n\n public displayFinalAnimation(type: 'success' | 'error') {\n if (this.props.disableFinalAnimation) return;\n\n this.dropinRef.setStatus(type);\n }\n\n /**\n * Calls the onSubmit event with the state of the activePaymentMethod\n */\n public override submit(): void {\n if (!this.activePaymentMethod) {\n throw new Error('No active payment method.');\n }\n\n if (!this.activePaymentMethod.isValid) {\n this.activePaymentMethod.showValidation();\n }\n\n if (this.activePaymentMethod.isInstantPayment) {\n this.closeActivePaymentMethod();\n }\n\n this.activePaymentMethod.submit();\n }\n\n /**\n * Creates the Drop-in elements\n */\n private handleCreate = () => {\n const { paymentMethodsConfiguration, showStoredPaymentMethods, showPaymentMethods, instantPaymentTypes } = this.props;\n\n const { paymentMethods, storedPaymentMethods, instantPaymentMethods } = splitPaymentMethods(\n this.core.paymentMethodsResponse,\n instantPaymentTypes\n );\n\n const commonProps = getCommonProps({ ...this.props, elementRef: this.elementRef });\n\n const storedElements = showStoredPaymentMethods\n ? createStoredElements(storedPaymentMethods, paymentMethodsConfiguration, commonProps, this.core)\n : [];\n const elements = showPaymentMethods ? createElements(paymentMethods, paymentMethodsConfiguration, commonProps, this.core) : [];\n const instantPaymentElements = createInstantPaymentElements(instantPaymentMethods, paymentMethodsConfiguration, commonProps, this.core);\n\n return [storedElements, elements, instantPaymentElements];\n };\n\n public handleAction(action: PaymentAction, props = {}): this | null {\n if (!action || !action.type) {\n if (hasOwnProperty(action, 'action') && hasOwnProperty(action, 'resultCode')) {\n throw new Error(\n 'handleAction::Invalid Action - the passed action object itself has an \"action\" property and ' +\n 'a \"resultCode\": have you passed in the whole response object by mistake?'\n );\n }\n throw new Error('handleAction::Invalid Action - the passed action object does not have a \"type\" property');\n }\n\n if (action.type !== 'redirect' && this.activePaymentMethod?.updateWithAction) {\n return this.activePaymentMethod.updateWithAction(action);\n }\n\n if (this.elementRef instanceof DropinElement) {\n props = {\n ...this.elementRef.activePaymentMethod?.props,\n ...props\n };\n }\n\n const paymentAction: UIElement = this.core.createFromAction(action, {\n ...props,\n elementRef: this.elementRef, // maintain elementRef for 3DS2 flow\n onAdditionalDetails: this.handleAdditionalDetails,\n isDropin: true\n });\n\n if (paymentAction) {\n this.setStatus(paymentAction.props.statusType, { component: paymentAction });\n this.componentFromAction = paymentAction;\n return this;\n }\n\n return null;\n }\n\n /**\n * handleOrder is implemented so we don't trigger a callback like in the components\n * @param response - PaymentResponse\n */\n protected handleOrder = ({ order }: PaymentResponseData): void => {\n this.updateParent({ order });\n };\n\n closeActivePaymentMethod() {\n this.dropinRef.closeActivePaymentMethod();\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <DropinComponent\n {...this.props}\n core={this.core}\n onChange={this.setState}\n elementRef={this.elementRef}\n onCreateElements={this.handleCreate}\n ref={dropinRef => {\n this.dropinRef = dropinRef;\n }}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n}\n\nexport default DropinElement;\n"],"names":["SUPPORTED_INSTANT_PAYMENTS","DropinElement","UIElement","storeElementRefOnCore","this","core","storeElementReference","formatProps","props","_object_spread_props","_object_spread","type","super","instantPaymentTypes","Array","from","Set","filter","value","includes","isValid","dropinRef","state","activePaymentMethod","showValidation","setStatus","status","_this_dropinRef","_this_dropinRef1","data","displayFinalAnimation","disableFinalAnimation","submit","Error","isInstantPayment","closeActivePaymentMethod","handleAction","action","_this_activePaymentMethod","_this_elementRef_activePaymentMethod","hasOwnProperty","updateWithAction","elementRef","paymentAction","createFromAction","onAdditionalDetails","handleAdditionalDetails","isDropin","statusType","component","componentFromAction","render","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","DropinComponent","onChange","setState","onCreateElements","handleCreate","ref","constructor","checkout","_define_property","paymentMethodsConfiguration","showStoredPaymentMethods","showPaymentMethods","paymentMethods","storedPaymentMethods","instantPaymentMethods","splitPaymentMethods","paymentMethodsResponse","commonProps","getCommonProps","createStoredElements","createElements","createInstantPaymentElements","handleOrder","order","updateParent","bind","paymentMethodComponents","forEach","PaymentMethod","register","defaultProps"],"mappings":"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"}
|