@adyen/adyen-web 6.33.0 → 6.34.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/adyen.css +6 -5
- 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 +219 -114
- package/dist/es/adyen.css +6 -5
- package/dist/es/adyen.css.map +1 -1
- package/dist/es/components/Ach/Ach.js.map +1 -1
- package/dist/es/components/Ach/components/AchComponent.js.map +1 -1
- package/dist/es/components/AmazonPay/AmazonPay.js +1 -1
- package/dist/es/components/AmazonPay/AmazonPay.js.map +1 -1
- package/dist/es/components/AmazonPay/components/AmazonPayButton.js +1 -1
- package/dist/es/components/AmazonPay/components/AmazonPayButton.js.map +1 -1
- package/dist/es/components/AmazonPay/components/AmazonPayComponent.js +1 -1
- package/dist/es/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
- package/dist/es/components/AmazonPay/components/ChangePaymentDetailsButton.js +1 -1
- package/dist/es/components/AmazonPay/components/ChangePaymentDetailsButton.js.map +1 -1
- package/dist/es/components/AmazonPay/components/SignOutButton.js +1 -1
- package/dist/es/components/AmazonPay/components/SignOutButton.js.map +1 -1
- package/dist/es/components/AmazonPay/defaultProps.js +1 -1
- package/dist/es/components/AmazonPay/defaultProps.js.map +1 -1
- package/dist/es/components/AmazonPay/services.js.map +1 -1
- package/dist/es/components/ApplePay/ApplePay.js.map +1 -1
- package/dist/es/components/ApplePay/services/ApplePayService.js.map +1 -1
- package/dist/es/components/BankTransfer/components/BankTransferInput/BankTransferInput.js.map +1 -1
- package/dist/es/components/Boleto/Boleto.js +1 -1
- package/dist/es/components/Boleto/Boleto.js.map +1 -1
- package/dist/es/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
- package/dist/es/components/Card/Card.js +1 -1
- package/dist/es/components/Card/Card.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/CardInput.js +1 -1
- package/dist/es/components/Card/components/CardInput/CardInput.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/components/AvailableBrands/AvailableBrands.js +1 -1
- package/dist/es/components/Card/components/CardInput/components/AvailableBrands/AvailableBrands.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/components/BrandIcon.js +1 -1
- package/dist/es/components/Card/components/CardInput/components/BrandIcon.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/components/ExpirationDate.js +1 -1
- package/dist/es/components/Card/components/CardInput/components/ExpirationDate.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/useSRPanelForCardInputErrors.js +1 -1
- package/dist/es/components/Card/components/CardInput/useSRPanelForCardInputErrors.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/utils.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/validate.js +1 -1
- package/dist/es/components/Card/components/CardInput/validate.js.map +1 -1
- package/dist/es/components/Card/components/Fastlane/FastlaneSignup.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/CashAppPay/services/types.js.map +1 -1
- package/dist/es/components/Doku/Doku.js +1 -1
- package/dist/es/components/Doku/Doku.js.map +1 -1
- package/dist/es/components/Dragonpay/Dragonpay.js +1 -1
- package/dist/es/components/Dragonpay/Dragonpay.js.map +1 -1
- package/dist/es/components/Dragonpay/components/DragonpayInput/DragonpayInput.js +1 -1
- package/dist/es/components/Dragonpay/components/DragonpayInput/DragonpayInput.js.map +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/DisableOneClickConfirmation.js +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/DisableOneClickConfirmation.js.map +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodBrands/PaymentMethodBrands.js +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodBrands/PaymentMethodBrands.js.map +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodBrands/utils.js +2 -0
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodBrands/utils.js.map +1 -0
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodIcon.js +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodIcon.js.map +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodName.js +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodName.js.map +1 -1
- package/dist/es/components/Econtext/Econtext.js +1 -1
- package/dist/es/components/Econtext/Econtext.js.map +1 -1
- package/dist/es/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
- package/dist/es/components/Giftcard/components/useSRPanelForGiftcardErrors.js.map +1 -1
- package/dist/es/components/Iris/Iris.js +1 -1
- package/dist/es/components/Iris/Iris.js.map +1 -1
- package/dist/es/components/Multibanco/Multibanco.js +1 -1
- package/dist/es/components/Multibanco/Multibanco.js.map +1 -1
- package/dist/es/components/Multibanco/components/MultibancoVoucherResult/MultibancoVoucherResult.js.map +1 -1
- package/dist/es/components/Oxxo/Oxxo.js +1 -1
- package/dist/es/components/Oxxo/Oxxo.js.map +1 -1
- package/dist/es/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.js.map +1 -1
- package/dist/es/components/PayByBankUS/PayByBankUS.js.map +1 -1
- package/dist/es/components/PayPal/Paypal.js +1 -1
- package/dist/es/components/PayPal/Paypal.js.map +1 -1
- package/dist/es/components/PayPal/components/PaypalButtons.js +1 -1
- package/dist/es/components/PayPal/components/PaypalButtons.js.map +1 -1
- package/dist/es/components/PayPal/components/PaypalComponent.js +1 -1
- package/dist/es/components/PayPal/components/PaypalComponent.js.map +1 -1
- package/dist/es/components/PayPal/utils/format-paypal-order-contact-to-adyen-format.js +1 -1
- package/dist/es/components/PayPal/utils/format-paypal-order-contact-to-adyen-format.js.map +1 -1
- package/dist/es/components/PayPal/utils/get-paypal-styles.js.map +1 -1
- package/dist/es/components/PayPalFastlane/Fastlane.js.map +1 -1
- package/dist/es/components/PayTo/components/PayToNameFields.js.map +1 -1
- package/dist/es/components/Pix/Pix.js +1 -1
- package/dist/es/components/Pix/Pix.js.map +1 -1
- package/dist/es/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js.map +1 -1
- package/dist/es/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
- package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
- package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
- package/dist/es/components/UPI/UPI.js +1 -1
- package/dist/es/components/UPI/UPI.js.map +1 -1
- package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
- package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
- package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js +1 -1
- package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js.map +1 -1
- package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js +1 -1
- package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js.map +1 -1
- package/dist/es/components/UPI/components/UPIMandate/UPIMandate.js.map +1 -1
- package/dist/es/components/UPI/constants.js +1 -1
- package/dist/es/components/UPI/constants.js.map +1 -1
- package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
- package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
- package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
- package/dist/es/components/internal/Address/validate.formats.js +1 -1
- package/dist/es/components/internal/Address/validate.formats.js.map +1 -1
- package/dist/es/components/internal/BrandIcons/BrandIcons.js +2 -0
- package/dist/es/components/internal/BrandIcons/BrandIcons.js.map +1 -0
- package/dist/es/components/internal/BrandIcons/BrandIcons.module.scss.js +2 -0
- package/dist/es/components/internal/BrandIcons/BrandIcons.module.scss.js.map +1 -0
- package/dist/es/components/internal/{Brand/Brand.js → BrandImage/BrandImage.js} +2 -2
- package/dist/es/components/internal/BrandImage/BrandImage.js.map +1 -0
- package/dist/es/components/internal/Button/Button.js +1 -1
- package/dist/es/components/internal/Button/Button.js.map +1 -1
- package/dist/es/components/internal/ExpandButton/ExpandButton.js +1 -1
- package/dist/es/components/internal/ExpandButton/ExpandButton.js.map +1 -1
- package/dist/es/components/internal/FormFields/InputDate/utils.js +1 -1
- package/dist/es/components/internal/FormFields/InputDate/utils.js.map +1 -1
- package/dist/es/components/internal/RedirectButton/RedirectButton.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/AbstractCSF.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/CSF.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/CSF.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/configureCallbacks.js.map +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/CSF/initCSF.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/utils/iframes/postMessageValidation.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/utils/iframes/postMessageValidation.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/utils/processErrors.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
- package/dist/es/components/internal/Tooltip/Tooltip.js.map +1 -1
- package/dist/es/components/internal/UIElement/UIElement.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/AnalyticsEventQueue.js +1 -1
- package/dist/es/core/Analytics/AnalyticsEventQueue.js.map +1 -1
- package/dist/es/core/ProcessResponse/PaymentMethods/filters.js +1 -1
- package/dist/es/core/ProcessResponse/PaymentMethods/filters.js.map +1 -1
- package/dist/es/core/config.js +1 -1
- package/dist/es/core/config.js.map +1 -1
- package/dist/es/core/core.js +1 -1
- package/dist/es/core/core.js.map +1 -1
- package/dist/es/external/preact/compat/dist/compat.js +1 -1
- package/dist/es/external/preact/compat/dist/compat.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 +219 -114
- package/dist/es/language/Language.js +1 -1
- package/dist/es/language/Language.js.map +1 -1
- package/dist/es/language/LanguageService.js +2 -0
- package/dist/es/language/LanguageService.js.map +1 -0
- package/dist/es/language/constants.js +1 -1
- package/dist/es/language/constants.js.map +1 -1
- package/dist/es/language/utils.js +1 -1
- package/dist/es/language/utils.js.map +1 -1
- package/dist/es/packages/server/translations/en-US.json.js +2 -0
- package/dist/es/packages/server/translations/en-US.json.js.map +1 -0
- package/dist/es/utils/Script.js.map +1 -1
- package/dist/es/utils/debounce.js.map +1 -1
- package/dist/es/utils/getErrorMessage.js +1 -1
- package/dist/es/utils/getErrorMessage.js.map +1 -1
- package/dist/es/utils/hookUtils.js.map +1 -1
- package/dist/es/utils/promiseTimeout.js.map +1 -1
- package/dist/es-legacy/adyen.css +6 -5
- package/dist/es-legacy/adyen.css.map +1 -1
- package/dist/es-legacy/components/Ach/Ach.js.map +1 -1
- package/dist/es-legacy/components/Ach/components/AchComponent.js.map +1 -1
- package/dist/es-legacy/components/AmazonPay/AmazonPay.js +1 -1
- package/dist/es-legacy/components/AmazonPay/AmazonPay.js.map +1 -1
- package/dist/es-legacy/components/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/components/ChangePaymentDetailsButton.js +1 -1
- package/dist/es-legacy/components/AmazonPay/components/ChangePaymentDetailsButton.js.map +1 -1
- package/dist/es-legacy/components/AmazonPay/components/SignOutButton.js +1 -1
- package/dist/es-legacy/components/AmazonPay/components/SignOutButton.js.map +1 -1
- package/dist/es-legacy/components/AmazonPay/defaultProps.js +1 -1
- package/dist/es-legacy/components/AmazonPay/defaultProps.js.map +1 -1
- package/dist/es-legacy/components/AmazonPay/services.js.map +1 -1
- package/dist/es-legacy/components/ApplePay/ApplePay.js.map +1 -1
- package/dist/es-legacy/components/ApplePay/services/ApplePayService.js.map +1 -1
- package/dist/es-legacy/components/ApplePay/utils/payment-request.js +1 -1
- package/dist/es-legacy/components/ApplePay/utils/payment-request.js.map +1 -1
- package/dist/es-legacy/components/BankTransfer/components/BankTransferInput/BankTransferInput.js.map +1 -1
- package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferVoucher.js +1 -1
- package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferVoucher.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.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/AvailableBrands/AvailableBrands.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/AvailableBrands/AvailableBrands.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/BrandIcon.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/BrandIcon.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/ExpirationDate.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/ExpirationDate.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/useSRPanelForCardInputErrors.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/useSRPanelForCardInputErrors.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/utils.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/validate.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/validate.js.map +1 -1
- package/dist/es-legacy/components/Card/components/ClickToPayWrapper.js +1 -1
- package/dist/es-legacy/components/Card/components/ClickToPayWrapper.js.map +1 -1
- package/dist/es-legacy/components/Card/components/Fastlane/FastlaneSignup.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/CashAppPay/services/types.js.map +1 -1
- package/dist/es-legacy/components/Doku/Doku.js +1 -1
- package/dist/es-legacy/components/Doku/Doku.js.map +1 -1
- package/dist/es-legacy/components/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/components/PaymentMethod/DisableOneClickConfirmation.js +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/DisableOneClickConfirmation.js.map +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodBrands/PaymentMethodBrands.js +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodBrands/PaymentMethodBrands.js.map +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodBrands/utils.js +2 -0
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodBrands/utils.js.map +1 -0
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodIcon.js +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodIcon.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/components/PaymentMethod/PaymentMethodName.js +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodName.js.map +1 -1
- package/dist/es-legacy/components/Econtext/Econtext.js +1 -1
- package/dist/es-legacy/components/Econtext/Econtext.js.map +1 -1
- package/dist/es-legacy/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
- package/dist/es-legacy/components/Giftcard/components/useSRPanelForGiftcardErrors.js.map +1 -1
- package/dist/es-legacy/components/GooglePay/requests.js +1 -1
- package/dist/es-legacy/components/GooglePay/requests.js.map +1 -1
- package/dist/es-legacy/components/Iris/Iris.js +1 -1
- package/dist/es-legacy/components/Iris/Iris.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/Klarna/components/KlarnaWidget/KlarnaWidget.js +1 -1
- package/dist/es-legacy/components/Klarna/components/KlarnaWidget/KlarnaWidget.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/Multibanco/components/MultibancoVoucherResult/MultibancoVoucherResult.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/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.js.map +1 -1
- package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js +1 -1
- package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js.map +1 -1
- package/dist/es-legacy/components/PayByBankUS/PayByBankUS.js.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/format-paypal-order-contact-to-adyen-format.js +1 -1
- package/dist/es-legacy/components/PayPal/utils/format-paypal-order-contact-to-adyen-format.js.map +1 -1
- package/dist/es-legacy/components/PayPal/utils/get-paypal-styles.js.map +1 -1
- package/dist/es-legacy/components/PayPalFastlane/Fastlane.js.map +1 -1
- package/dist/es-legacy/components/PayTo/components/PayToNameFields.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/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js.map +1 -1
- package/dist/es-legacy/components/Redirect/components/RedirectShopper/RedirectShopper.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/UPI/UPI.js +1 -1
- package/dist/es-legacy/components/UPI/UPI.js.map +1 -1
- package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
- package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
- package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js +1 -1
- package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js.map +1 -1
- package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js +1 -1
- package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js.map +1 -1
- package/dist/es-legacy/components/UPI/components/UPIMandate/UPIMandate.js.map +1 -1
- package/dist/es-legacy/components/UPI/constants.js +1 -1
- package/dist/es-legacy/components/UPI/constants.js.map +1 -1
- package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
- package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
- package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
- package/dist/es-legacy/components/internal/Address/validate.formats.js +1 -1
- package/dist/es-legacy/components/internal/Address/validate.formats.js.map +1 -1
- package/dist/es-legacy/components/internal/BrandIcons/BrandIcons.js +2 -0
- package/dist/es-legacy/components/internal/BrandIcons/BrandIcons.js.map +1 -0
- package/dist/es-legacy/components/internal/BrandIcons/BrandIcons.module.scss.js +2 -0
- package/dist/es-legacy/components/internal/BrandIcons/BrandIcons.module.scss.js.map +1 -0
- package/dist/es-legacy/components/internal/{Brand/Brand.js → BrandImage/BrandImage.js} +2 -2
- package/dist/es-legacy/components/internal/BrandImage/BrandImage.js.map +1 -0
- package/dist/es-legacy/components/internal/Button/Button.js +1 -1
- package/dist/es-legacy/components/internal/Button/Button.js.map +1 -1
- package/dist/es-legacy/components/internal/ExpandButton/ExpandButton.js +1 -1
- package/dist/es-legacy/components/internal/ExpandButton/ExpandButton.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/ConsentCheckbox/ConsentCheckbox.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/ConsentCheckbox/ConsentCheckbox.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/utils.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/InputDate/utils.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/SelectList.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/Select/components/SelectList.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/IssuerList/IssuerList.js +1 -1
- package/dist/es-legacy/components/internal/IssuerList/IssuerList.js.map +1 -1
- package/dist/es-legacy/components/internal/Modal/Modal.js +1 -1
- package/dist/es-legacy/components/internal/Modal/Modal.js.map +1 -1
- package/dist/es-legacy/components/internal/OpenInvoice/useSRPanelForOpenInvoiceErrors.js +1 -1
- package/dist/es-legacy/components/internal/OpenInvoice/useSRPanelForOpenInvoiceErrors.js.map +1 -1
- 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/PhoneInput/PhoneInputFields.js +1 -1
- package/dist/es-legacy/components/internal/PhoneInput/PhoneInputFields.js.map +1 -1
- package/dist/es-legacy/components/internal/QRLoader/QRLoaderDetailsProvider.js +1 -1
- package/dist/es-legacy/components/internal/QRLoader/QRLoaderDetailsProvider.js.map +1 -1
- package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js +1 -1
- package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/AbstractCSF.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/CSF.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/CSF.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/configureCallbacks.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/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/CSF/initCSF.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/iframes/postMessageValidation.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/iframes/postMessageValidation.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/processErrors.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.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/StoreDetails/StoreDetails.js +1 -1
- package/dist/es-legacy/components/internal/StoreDetails/StoreDetails.js.map +1 -1
- package/dist/es-legacy/components/internal/Tooltip/Tooltip.js.map +1 -1
- package/dist/es-legacy/components/internal/UIElement/UIElement.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/AnalyticsEventQueue.js +1 -1
- package/dist/es-legacy/core/Analytics/AnalyticsEventQueue.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/ProcessResponse/PaymentMethods/filters.js +1 -1
- package/dist/es-legacy/core/ProcessResponse/PaymentMethods/filters.js.map +1 -1
- package/dist/es-legacy/core/config.js +1 -1
- package/dist/es-legacy/core/config.js.map +1 -1
- package/dist/es-legacy/core/core.js +1 -1
- package/dist/es-legacy/core/core.js.map +1 -1
- package/dist/es-legacy/external/preact/compat/dist/compat.js +1 -1
- package/dist/es-legacy/external/preact/compat/dist/compat.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/language/Language.js +1 -1
- package/dist/es-legacy/language/Language.js.map +1 -1
- package/dist/es-legacy/language/LanguageService.js +2 -0
- package/dist/es-legacy/language/LanguageService.js.map +1 -0
- package/dist/es-legacy/language/constants.js +1 -1
- package/dist/es-legacy/language/constants.js.map +1 -1
- package/dist/es-legacy/language/utils.js +1 -1
- package/dist/es-legacy/language/utils.js.map +1 -1
- package/dist/es-legacy/packages/server/translations/en-US.json.js +2 -0
- package/dist/es-legacy/packages/server/translations/en-US.json.js.map +1 -0
- package/dist/es-legacy/utils/Script.js.map +1 -1
- package/dist/es-legacy/utils/debounce.js.map +1 -1
- package/dist/es-legacy/utils/getErrorMessage.js +1 -1
- package/dist/es-legacy/utils/getErrorMessage.js.map +1 -1
- package/dist/es-legacy/utils/hookUtils.js.map +1 -1
- package/dist/es-legacy/utils/promiseTimeout.js.map +1 -1
- package/package.json +30 -29
- package/styles/adyen.css +6 -5
- package/dist/es/components/internal/Brand/Brand.js.map +0 -1
- package/dist/es/core/Services/get-translations.js +0 -2
- package/dist/es/core/Services/get-translations.js.map +0 -1
- package/dist/es-legacy/components/internal/Brand/Brand.js.map +0 -1
- package/dist/es-legacy/core/Services/get-translations.js +0 -2
- package/dist/es-legacy/core/Services/get-translations.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment-request.js","sources":["../../../../../src/components/ApplePay/utils/payment-request.ts"],"sourcesContent":["import { getDecimalAmount } from '../../../utils/amount-util';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { ApplePayConfiguration } from '../types';\n\nconst formatAmount = (amount: PaymentAmount) => String(getDecimalAmount(amount.value, amount.currency));\n\nexport const preparePaymentRequest = (\n paymentRequest: ApplePayConfiguration & {\n countryCode: string;\n companyName: string;\n }\n): ApplePayJS.ApplePayPaymentRequest => {\n const { countryCode, companyName, amount, ...props } = paymentRequest;\n const formattedAmount = formatAmount(amount);\n\n if (!countryCode) {\n console.warn('Apple Pay - Make sure to set the countryCode in the AdyenCheckout configuration or in the Checkout Session creation');\n }\n\n return {\n countryCode,\n currencyCode: amount.currency,\n\n total: {\n label: props.totalPriceLabel,\n amount: formattedAmount,\n type: props.totalPriceStatus\n },\n\n lineItems: props.lineItems,\n shippingContactEditingMode: props.shippingContactEditingMode,\n shippingMethods: props.shippingMethods,\n shippingType: props.shippingType,\n\n recurringPaymentRequest: props.recurringPaymentRequest,\n\n merchantCapabilities: props.merchantCapabilities,\n supportedCountries: props.supportedCountries,\n supportedNetworks: props.supportedNetworks,\n\n requiredShippingContactFields: props.requiredShippingContactFields,\n requiredBillingContactFields: props.requiredBillingContactFields,\n\n billingContact: props.billingContact,\n shippingContact: props.shippingContact,\n\n applicationData: props.applicationData,\n\n couponCode: props.couponCode,\n supportsCouponCode: props.supportsCouponCode\n };\n};\n\nexport default preparePaymentRequest;\n"],"names":["preparePaymentRequest","paymentRequest","countryCode","companyName","amount","props","formattedAmount","String","getDecimalAmount","value","currency","formatAmount","console","warn","currencyCode","total","label","totalPriceLabel","type","totalPriceStatus","lineItems","shippingContactEditingMode","shippingMethods","shippingType","recurringPaymentRequest","merchantCapabilities","supportedCountries","supportedNetworks","requiredShippingContactFields","requiredBillingContactFields","billingContact","shippingContact","applicationData","couponCode","supportsCouponCode"],"mappings":"
|
|
1
|
+
{"version":3,"file":"payment-request.js","sources":["../../../../../src/components/ApplePay/utils/payment-request.ts"],"sourcesContent":["import { getDecimalAmount } from '../../../utils/amount-util';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { ApplePayConfiguration } from '../types';\n\nconst formatAmount = (amount: PaymentAmount) => String(getDecimalAmount(amount.value, amount.currency));\n\nexport const preparePaymentRequest = (\n paymentRequest: ApplePayConfiguration & {\n countryCode: string;\n companyName: string;\n }\n): ApplePayJS.ApplePayPaymentRequest => {\n const { countryCode, companyName, amount, ...props } = paymentRequest;\n const formattedAmount = formatAmount(amount);\n\n if (!countryCode) {\n console.warn('Apple Pay - Make sure to set the countryCode in the AdyenCheckout configuration or in the Checkout Session creation');\n }\n\n return {\n countryCode,\n currencyCode: amount.currency,\n\n total: {\n label: props.totalPriceLabel,\n amount: formattedAmount,\n type: props.totalPriceStatus\n },\n\n lineItems: props.lineItems,\n shippingContactEditingMode: props.shippingContactEditingMode,\n shippingMethods: props.shippingMethods,\n shippingType: props.shippingType,\n\n recurringPaymentRequest: props.recurringPaymentRequest,\n\n merchantCapabilities: props.merchantCapabilities,\n supportedCountries: props.supportedCountries,\n supportedNetworks: props.supportedNetworks,\n\n requiredShippingContactFields: props.requiredShippingContactFields,\n requiredBillingContactFields: props.requiredBillingContactFields,\n\n billingContact: props.billingContact,\n shippingContact: props.shippingContact,\n\n applicationData: props.applicationData,\n\n couponCode: props.couponCode,\n supportsCouponCode: props.supportsCouponCode\n };\n};\n\nexport default preparePaymentRequest;\n"],"names":["preparePaymentRequest","paymentRequest","countryCode","companyName","amount","props","formattedAmount","String","getDecimalAmount","value","currency","formatAmount","console","warn","currencyCode","total","label","totalPriceLabel","type","totalPriceStatus","lineItems","shippingContactEditingMode","shippingMethods","shippingType","recurringPaymentRequest","merchantCapabilities","supportedCountries","supportedNetworks","requiredShippingContactFields","requiredBillingContactFields","billingContact","shippingContact","applicationData","couponCode","supportsCouponCode"],"mappings":"0rBAIA,MAEaA,EACTC,IAKA,MAAMC,YAAEA,EAAWC,YAAEA,EAAWC,OAAEA,GAAqBH,EAAVI,EAAAA,EAAUJ,EAAAA,wCACjDK,EATW,CAACF,GAA0BG,OAAOC,EAAiBJ,EAAOK,MAAOL,EAAOM,WASjEC,CAAaP,GAMrC,OAJKF,GACDU,QAAQC,KAAK,uHAGV,CACHX,cACAY,aAAcV,EAAOM,SAErBK,MAAO,CACHC,MAAOX,EAAMY,gBACbb,OAAQE,EACRY,KAAMb,EAAMc,kBAGhBC,UAAWf,EAAMe,UACjBC,2BAA4BhB,EAAMgB,2BAClCC,gBAAiBjB,EAAMiB,gBACvBC,aAAclB,EAAMkB,aAEpBC,wBAAyBnB,EAAMmB,wBAE/BC,qBAAsBpB,EAAMoB,qBAC5BC,mBAAoBrB,EAAMqB,mBAC1BC,kBAAmBtB,EAAMsB,kBAEzBC,8BAA+BvB,EAAMuB,8BACrCC,6BAA8BxB,EAAMwB,6BAEpCC,eAAgBzB,EAAMyB,eACtBC,gBAAiB1B,EAAM0B,gBAEvBC,gBAAiB3B,EAAM2B,gBAEvBC,WAAY5B,EAAM4B,WAClBC,mBAAoB7B,EAAM6B"}
|
package/dist/es-legacy/components/BankTransfer/components/BankTransferInput/BankTransferInput.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BankTransferInput.js","sources":["../../../../../../src/components/BankTransfer/components/BankTransferInput/BankTransferInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport './BankTransferInput.scss';\nimport { useEffect, useRef } from 'preact/hooks';\nimport useForm from '../../../../utils/useForm';\nimport { BankTransferSchema } from '../../types';\nimport { getErrorMessage } from '../../../../utils/getErrorMessage';\nimport InputEmail from '../../../internal/FormFields/InputEmail';\nimport Field from '../../../internal/FormFields/Field';\nimport { optionalEmailValidationRule } from './validationRule';\nimport { BankTransferInputProps } from './types';\n\nfunction BankTransferInput(props: Readonly<BankTransferInputProps>) {\n const { i18n } = useCoreContext();\n const emailOptionalLabel = `${i18n.get('shopperEmail')} ${i18n.get('field.title.optional')}`;\n\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<BankTransferSchema>({\n schema: ['shopperEmail'],\n defaultData: props.data,\n rules: {\n shopperEmail: optionalEmailValidationRule\n }\n });\n\n const self = useRef({\n showValidation: () => {\n triggerValidation();\n }\n });\n\n useEffect(() => {\n props.onChange({ data, errors, valid, isValid });\n }, [data, valid, errors, isValid]);\n\n useEffect(() => {\n props.setComponentRef(self.current);\n }, [props.setComponentRef]);\n\n return (\n <div className=\"adyen-checkout__bankTransfer\">\n <p className=\"adyen-checkout__bankTransfer__introduction\">{i18n.get('bankTransfer.introduction')}</p>\n <div className=\"adyen-checkout__fieldset adyen-checkout__fieldset--sendCopyToEmail adyen-checkout__bankTransfer__emailField\">\n <Field\n label={emailOptionalLabel}\n classNameModifiers={['shopperEmail']}\n errorMessage={!!errors.shopperEmail && getErrorMessage(i18n, errors.shopperEmail, i18n.get('shopperEmail'))}\n isValid={valid.shopperEmail}\n name={'shopperEmail'}\n showContextualElement={props.showContextualElement}\n contextualText={i18n.get('bankTransfer.shopperEmail.contextualText')}\n >\n <InputEmail\n name={'shopperEmail'}\n autoCorrect={'off'}\n spellcheck={false}\n required={false}\n value={data.shopperEmail}\n onInput={handleChangeFor('shopperEmail', 'input')}\n onBlur={handleChangeFor('shopperEmail', 'blur')}\n />\n </Field>\n </div>\n </div>\n );\n}\n\nexport default BankTransferInput;\n"],"names":["BankTransferInput","props","i18n","useCoreContext","emailOptionalLabel","get","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","schema","defaultData","rules","shopperEmail","optionalEmailValidationRule","self","useRef","showValidation","useEffect","onChange","setComponentRef","current","h","div","className","p","Field","label","classNameModifiers","errorMessage","getErrorMessage","name","showContextualElement","contextualText","InputEmail","autoCorrect","spellcheck","required","value","onInput","onBlur"],"mappings":"+
|
|
1
|
+
{"version":3,"file":"BankTransferInput.js","sources":["../../../../../../src/components/BankTransfer/components/BankTransferInput/BankTransferInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport './BankTransferInput.scss';\nimport { useEffect, useRef } from 'preact/hooks';\nimport useForm from '../../../../utils/useForm';\nimport { BankTransferSchema } from '../../types';\nimport { getErrorMessage } from '../../../../utils/getErrorMessage';\nimport InputEmail from '../../../internal/FormFields/InputEmail';\nimport Field from '../../../internal/FormFields/Field';\nimport { optionalEmailValidationRule } from './validationRule';\nimport { BankTransferInputProps } from './types';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\n\nfunction BankTransferInput(props: Readonly<BankTransferInputProps>) {\n const { i18n } = useCoreContext();\n const emailOptionalLabel = `${i18n.get('shopperEmail')} ${i18n.get('field.title.optional')}`;\n\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<BankTransferSchema>({\n schema: ['shopperEmail'],\n defaultData: props.data,\n rules: {\n shopperEmail: optionalEmailValidationRule\n }\n });\n\n const self = useRef<ComponentMethodsRef>({\n showValidation: () => {\n triggerValidation();\n }\n });\n\n useEffect(() => {\n props.onChange({ data, errors, valid, isValid });\n }, [data, valid, errors, isValid]);\n\n useEffect(() => {\n props.setComponentRef(self.current);\n }, [props.setComponentRef]);\n\n return (\n <div className=\"adyen-checkout__bankTransfer\">\n <p className=\"adyen-checkout__bankTransfer__introduction\">{i18n.get('bankTransfer.introduction')}</p>\n <div className=\"adyen-checkout__fieldset adyen-checkout__fieldset--sendCopyToEmail adyen-checkout__bankTransfer__emailField\">\n <Field\n label={emailOptionalLabel}\n classNameModifiers={['shopperEmail']}\n errorMessage={!!errors.shopperEmail && getErrorMessage(i18n, errors.shopperEmail, i18n.get('shopperEmail'))}\n isValid={valid.shopperEmail}\n name={'shopperEmail'}\n showContextualElement={props.showContextualElement}\n contextualText={i18n.get('bankTransfer.shopperEmail.contextualText')}\n >\n <InputEmail\n name={'shopperEmail'}\n autoCorrect={'off'}\n spellcheck={false}\n required={false}\n value={data.shopperEmail}\n onInput={handleChangeFor('shopperEmail', 'input')}\n onBlur={handleChangeFor('shopperEmail', 'blur')}\n />\n </Field>\n </div>\n </div>\n );\n}\n\nexport default BankTransferInput;\n"],"names":["BankTransferInput","props","i18n","useCoreContext","emailOptionalLabel","get","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","schema","defaultData","rules","shopperEmail","optionalEmailValidationRule","self","useRef","showValidation","useEffect","onChange","setComponentRef","current","h","div","className","p","Field","label","classNameModifiers","errorMessage","getErrorMessage","name","showContextualElement","contextualText","InputEmail","autoCorrect","spellcheck","required","value","onInput","onBlur"],"mappings":"+hBAaA,SAASA,EAAkBC,GACvB,MAAMC,KAAEA,GAASC,IACXC,EAAqB,GAAGF,EAAKG,IAAI,mBAAmBH,EAAKG,IAAI,2BAE7DC,gBAAEA,EAAeC,kBAAEA,EAAiBC,KAAEA,EAAIC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GAAYC,EAA4B,CACrGC,OAAQ,CAAC,gBACTC,YAAab,EAAMO,KACnBO,MAAO,CACHC,aAAcC,KAIhBC,EAAOC,EAA4B,CACrCC,eAAgB,KACZb,OAYR,OARAc,EAAU,KACNpB,EAAMqB,SAAS,CAAEd,OAAME,SAAQD,QAAOE,aACvC,CAACH,EAAMC,EAAOC,EAAQC,IAEzBU,EAAU,KACNpB,EAAMsB,gBAAgBL,EAAKM,UAC5B,CAACvB,EAAMsB,kBAGNE,EAACC,MAAAA,CAAIC,UAAU,gCACXF,EAACG,IAAAA,CAAED,UAAU,8CAA8CzB,EAAKG,IAAI,8BACpEoB,EAACC,MAAAA,CAAIC,UAAU,+GACXF,EAACI,EAAAA,CACGC,MAAO1B,EACP2B,mBAAoB,CAAC,gBACrBC,eAAgBtB,EAAOM,cAAgBiB,EAAgB/B,EAAMQ,EAAOM,aAAcd,EAAKG,IAAI,iBAC3FM,QAASF,EAAMO,aACfkB,KAAM,eACNC,sBAAuBlC,EAAMkC,sBAC7BC,eAAgBlC,EAAKG,IAAI,6CAEzBoB,EAACY,EAAAA,CACGH,KAAM,eACNI,YAAa,MACbC,YAAY,EACZC,UAAU,EACVC,MAAOjC,EAAKQ,aACZ0B,QAASpC,EAAgB,eAAgB,SACzCqC,OAAQrC,EAAgB,eAAgB,YAMhE"}
|
package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferVoucher.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e,Fragment as t}from"../../../../external/preact/dist/preact.js";import r from"../../../../_virtual/index.js";import{useCoreContext as a}from"../../../../core/Context/CoreProvider.js";function n(e,t){if(null==e)return{};var r,a,n,o={};if("undefined"!=typeof Reflect&&Reflect.ownKeys){for(r=Reflect.ownKeys(e),n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a]);return o}if(o=function(e,t){if(null==e)return{};var r,a,n={},o=Object.getOwnPropertyNames(e);for(a=0;a<o.length;a++)r=o[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r]);return n}(e,t),Object.getOwnPropertySymbols)for(r=Object.getOwnPropertySymbols(e),n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a]);return o}function o(o){let{voucherDetails:c,className:l=""}=o,s=n(o,["voucherDetails","className"]);var u;const{i18n:i}=a();return null===(u=s.onActionHandled)||void 0===u||u.call(s,{componentType:s.paymentMethodType,actionDescription:"voucher-presented"}),e("div",{className:r("adyen-checkout__voucher-result","adyen-checkout__voucher-result--bankTransfer",`adyen-checkout__voucher-result--${s.paymentMethodType}`,l)},e("div",{className:"adyen-checkout__voucher-result__top"},e("div",{className:"adyen-checkout__voucher-result__image"},!!s.imageUrl&&e("span",{className:"adyen-checkout__voucher-result__image__wrapper"},e("img",{alt:s.paymentMethodType,className:"adyen-checkout__voucher-result__image__brand",src:s.imageUrl}))),s.amount&&e("div",{className:"adyen-checkout__voucher-result__amount"},s.amount),s.instructions&&e(t,null,e("div",{className:"adyen-checkout__voucher-result-title"},i.get("bankTransfer.instruction.title")),s.instructions)),e("div",{className:"adyen-checkout__voucher-result__bottom"},c&&e(t,null,e("div",{className:"adyen-checkout__voucher-result-title"},i.get("bankTransfer.details.title")),c)))}export{o as default};
|
|
1
|
+
import{createElement as e,Fragment as t}from"../../../../external/preact/dist/preact.js";import r from"../../../../_virtual/index.js";import{useCoreContext as a}from"../../../../core/Context/CoreProvider.js";function n(e,t){if(null==e)return{};var r,a,n,o={};if("undefined"!=typeof Reflect&&Reflect.ownKeys){for(r=Reflect.ownKeys(Object(e)),n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a]);return o}if(o=function(e,t){if(null==e)return{};var r,a,n={},o=Object.getOwnPropertyNames(e);for(a=0;a<o.length;a++)r=o[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r]);return n}(e,t),Object.getOwnPropertySymbols)for(r=Object.getOwnPropertySymbols(e),n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a]);return o}function o(o){let{voucherDetails:c,className:l=""}=o,s=n(o,["voucherDetails","className"]);var u;const{i18n:i}=a();return null===(u=s.onActionHandled)||void 0===u||u.call(s,{componentType:s.paymentMethodType,actionDescription:"voucher-presented"}),e("div",{className:r("adyen-checkout__voucher-result","adyen-checkout__voucher-result--bankTransfer",`adyen-checkout__voucher-result--${s.paymentMethodType}`,l)},e("div",{className:"adyen-checkout__voucher-result__top"},e("div",{className:"adyen-checkout__voucher-result__image"},!!s.imageUrl&&e("span",{className:"adyen-checkout__voucher-result__image__wrapper"},e("img",{alt:s.paymentMethodType,className:"adyen-checkout__voucher-result__image__brand",src:s.imageUrl}))),s.amount&&e("div",{className:"adyen-checkout__voucher-result__amount"},s.amount),s.instructions&&e(t,null,e("div",{className:"adyen-checkout__voucher-result-title"},i.get("bankTransfer.instruction.title")),s.instructions)),e("div",{className:"adyen-checkout__voucher-result__bottom"},c&&e(t,null,e("div",{className:"adyen-checkout__voucher-result-title"},i.get("bankTransfer.details.title")),c)))}export{o as default};
|
|
2
2
|
//# sourceMappingURL=BankTransferVoucher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BankTransferVoucher.js","sources":["../../../../../../src/components/BankTransfer/components/BankTransferResult/BankTransferVoucher.tsx"],"sourcesContent":["import { h, Fragment } from 'preact';\nimport classNames from 'classnames';\nimport { BankTransferVoucherProps } from './types';\nimport './BankTransferVoucher.scss';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\n\nexport default function BankTransferVoucher({ voucherDetails, className = '', ...props }: Readonly<BankTransferVoucherProps>) {\n const { i18n } = useCoreContext();\n props.onActionHandled?.({ componentType: props.paymentMethodType, actionDescription: 'voucher-presented' });\n\n return (\n <div\n className={classNames(\n 'adyen-checkout__voucher-result',\n 'adyen-checkout__voucher-result--bankTransfer',\n `adyen-checkout__voucher-result--${props.paymentMethodType}`,\n className\n )}\n >\n <div className=\"adyen-checkout__voucher-result__top\">\n <div className=\"adyen-checkout__voucher-result__image\">\n {!!props.imageUrl && (\n <span className=\"adyen-checkout__voucher-result__image__wrapper\">\n <img alt={props.paymentMethodType} className=\"adyen-checkout__voucher-result__image__brand\" src={props.imageUrl} />\n </span>\n )}\n </div>\n {props.amount && <div className=\"adyen-checkout__voucher-result__amount\">{props.amount}</div>}\n {props.instructions && (\n <Fragment>\n <div className=\"adyen-checkout__voucher-result-title\">{i18n.get('bankTransfer.instruction.title')}</div>\n {props.instructions}\n </Fragment>\n )}\n </div>\n\n <div className=\"adyen-checkout__voucher-result__bottom\">\n {voucherDetails && (\n <Fragment>\n <div className=\"adyen-checkout__voucher-result-title\">{i18n.get('bankTransfer.details.title')}</div>\n {voucherDetails}\n </Fragment>\n )}\n </div>\n </div>\n );\n}\n"],"names":["BankTransferVoucher","_0","voucherDetails","className","props","i18n","useCoreContext","onActionHandled","componentType","paymentMethodType","actionDescription","h","div","classNames","imageUrl","span","img","alt","src","amount","instructions","Fragment","get"],"mappings":"
|
|
1
|
+
{"version":3,"file":"BankTransferVoucher.js","sources":["../../../../../../src/components/BankTransfer/components/BankTransferResult/BankTransferVoucher.tsx"],"sourcesContent":["import { h, Fragment } from 'preact';\nimport classNames from 'classnames';\nimport { BankTransferVoucherProps } from './types';\nimport './BankTransferVoucher.scss';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\n\nexport default function BankTransferVoucher({ voucherDetails, className = '', ...props }: Readonly<BankTransferVoucherProps>) {\n const { i18n } = useCoreContext();\n props.onActionHandled?.({ componentType: props.paymentMethodType, actionDescription: 'voucher-presented' });\n\n return (\n <div\n className={classNames(\n 'adyen-checkout__voucher-result',\n 'adyen-checkout__voucher-result--bankTransfer',\n `adyen-checkout__voucher-result--${props.paymentMethodType}`,\n className\n )}\n >\n <div className=\"adyen-checkout__voucher-result__top\">\n <div className=\"adyen-checkout__voucher-result__image\">\n {!!props.imageUrl && (\n <span className=\"adyen-checkout__voucher-result__image__wrapper\">\n <img alt={props.paymentMethodType} className=\"adyen-checkout__voucher-result__image__brand\" src={props.imageUrl} />\n </span>\n )}\n </div>\n {props.amount && <div className=\"adyen-checkout__voucher-result__amount\">{props.amount}</div>}\n {props.instructions && (\n <Fragment>\n <div className=\"adyen-checkout__voucher-result-title\">{i18n.get('bankTransfer.instruction.title')}</div>\n {props.instructions}\n </Fragment>\n )}\n </div>\n\n <div className=\"adyen-checkout__voucher-result__bottom\">\n {voucherDetails && (\n <Fragment>\n <div className=\"adyen-checkout__voucher-result-title\">{i18n.get('bankTransfer.details.title')}</div>\n {voucherDetails}\n </Fragment>\n )}\n </div>\n </div>\n );\n}\n"],"names":["BankTransferVoucher","_0","voucherDetails","className","props","i18n","useCoreContext","onActionHandled","componentType","paymentMethodType","actionDescription","h","div","classNames","imageUrl","span","img","alt","src","amount","instructions","Fragment","get"],"mappings":"y0BAMe,SAASA,EAAoBC,GAAA,IAAAC,eAAEA,EAAcC,UAAEA,EAAY,IAAkDF,EAA3CG,EAAAA,EAAAA,EAAAA,gCAE7EA,IAAAA,EADA,MAAMC,KAAEA,GAASC,IAGjB,OAFqB,QAArBF,EAAAA,EAAMG,uBAANH,IAAAA,GAAAA,OAAAA,EAAwB,CAAEI,cAAeJ,EAAMK,kBAAmBC,kBAAmB,sBAGjFC,EAACC,MAAAA,CACGT,UAAWU,EACP,iCACA,+CACA,mCAAmCT,EAAMK,oBACzCN,IAGJQ,EAACC,MAAAA,CAAIT,UAAU,uCACXQ,EAACC,MAAAA,CAAIT,UAAU,2CACRC,EAAMU,UACLH,EAACI,OAAAA,CAAKZ,UAAU,kDACZQ,EAACK,MAAAA,CAAIC,IAAKb,EAAMK,kBAAmBN,UAAU,+CAA+Ce,IAAKd,EAAMU,aAIlHV,EAAMe,QAAUR,EAACC,MAAAA,CAAIT,UAAU,0CAA0CC,EAAMe,QAC/Ef,EAAMgB,cACHT,EAACU,OACGV,EAACC,MAAAA,CAAIT,UAAU,wCAAwCE,EAAKiB,IAAI,mCAC/DlB,EAAMgB,eAKnBT,EAACC,MAAAA,CAAIT,UAAU,0CACVD,GACGS,EAACU,OACGV,EAACC,MAAAA,CAAIT,UAAU,wCAAwCE,EAAKiB,IAAI,+BAC/DpB,IAMzB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as
|
|
1
|
+
import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import r from"./components/BoletoInput/BoletoInput.js";import{cleanCPFCNPJ as o}from"../internal/SocialSecurityNumberBrazil/utils.js";import n from"./components/BoletoVoucherResult/BoletoVoucherResult.js";import{TxVariants as i}from"../tx-variants.js";function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){s(e,t,r[t])})}return e}function c(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}class p extends t{get isValid(){return!!this.state.isValid}formatData(){const{data:e={}}=this.state,{billingAddress:t,shopperEmail:r,firstName:n,lastName:i,socialSecurityNumber:s=""}=e;return a({paymentMethod:{type:this.type}},t&&{billingAddress:t},r&&{shopperEmail:r},n&&i&&{shopperName:{firstName:n,lastName:i}},s&&{socialSecurityNumber:o(s)})}componentToRender(){return this.props.reference?e(n,c(a({ref:this.handleRef,icon:this.icon},this.props),{onActionHandled:this.onActionHandled})):e(r,c(a({setComponentRef:this.handleRef},this.props),{onChange:this.setState,payButton:this.payButton}))}constructor(...e){super(...e),s(this,"handleRef",e=>{this.componentRef=e})}}s(p,"type",i.boletobancario),s(p,"txVariants",[i.boletobancario,i.boletobancario_itau,i.boletobancario_santander,i.primeiropay_boleto]);export{p as BoletoElement,p as default};
|
|
2
2
|
//# sourceMappingURL=Boleto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Boleto.js","sources":["../../../../src/components/Boleto/Boleto.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport BoletoInput from './components/BoletoInput';\nimport { cleanCPFCNPJ } from '../internal/SocialSecurityNumberBrazil/utils';\nimport BoletoVoucherResult from './components/BoletoVoucherResult';\nimport { TxVariants } from '../tx-variants';\n\nimport type { BoletoConfiguration } from './types';\n\nexport class BoletoElement extends UIElement<BoletoConfiguration> {\n public static readonly type = TxVariants.boletobancario;\n\n public static readonly txVariants = [\n TxVariants.boletobancario,\n TxVariants.boletobancario_itau,\n TxVariants.boletobancario_santander,\n TxVariants.primeiropay_boleto\n ];\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const { data = {} } = this.state;\n const { billingAddress, shopperEmail, firstName, lastName, socialSecurityNumber = '' } = data;\n\n return {\n paymentMethod: {\n type: this.type\n },\n ...(billingAddress && { billingAddress }),\n ...(shopperEmail && { shopperEmail }),\n ...(firstName && lastName && { shopperName: { firstName, lastName } }),\n ...(socialSecurityNumber && { socialSecurityNumber: cleanCPFCNPJ(socialSecurityNumber) })\n };\n }\n\n private handleRef = ref => {\n this.componentRef = ref;\n };\n\n protected override componentToRender(): h.JSX.Element {\n return this.props.reference ? (\n <BoletoVoucherResult ref={this.handleRef} icon={this.icon} {...this.props} onActionHandled={this.onActionHandled} />\n ) : (\n <BoletoInput
|
|
1
|
+
{"version":3,"file":"Boleto.js","sources":["../../../../src/components/Boleto/Boleto.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport BoletoInput from './components/BoletoInput';\nimport { cleanCPFCNPJ } from '../internal/SocialSecurityNumberBrazil/utils';\nimport BoletoVoucherResult from './components/BoletoVoucherResult';\nimport { TxVariants } from '../tx-variants';\n\nimport type { BoletoConfiguration } from './types';\n\nexport class BoletoElement extends UIElement<BoletoConfiguration> {\n public static readonly type = TxVariants.boletobancario;\n\n public static readonly txVariants = [\n TxVariants.boletobancario,\n TxVariants.boletobancario_itau,\n TxVariants.boletobancario_santander,\n TxVariants.primeiropay_boleto\n ];\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const { data = {} } = this.state;\n const { billingAddress, shopperEmail, firstName, lastName, socialSecurityNumber = '' } = data;\n\n return {\n paymentMethod: {\n type: this.type\n },\n ...(billingAddress && { billingAddress }),\n ...(shopperEmail && { shopperEmail }),\n ...(firstName && lastName && { shopperName: { firstName, lastName } }),\n ...(socialSecurityNumber && { socialSecurityNumber: cleanCPFCNPJ(socialSecurityNumber) })\n };\n }\n\n private handleRef = ref => {\n this.componentRef = ref;\n };\n\n protected override componentToRender(): h.JSX.Element {\n return this.props.reference ? (\n <BoletoVoucherResult ref={this.handleRef} icon={this.icon} {...this.props} onActionHandled={this.onActionHandled} />\n ) : (\n <BoletoInput setComponentRef={this.handleRef} {...this.props} onChange={this.setState} payButton={this.payButton} />\n );\n }\n}\n\nexport default BoletoElement;\n"],"names":["BoletoElement","UIElement","isValid","this","state","formatData","data","billingAddress","shopperEmail","firstName","lastName","socialSecurityNumber","_object_spread","paymentMethod","type","shopperName","cleanCPFCNPJ","componentToRender","props","reference","h","BoletoVoucherResult","ref","handleRef","icon","onActionHandled","BoletoInput","setComponentRef","onChange","setState","payButton","super","args","_define_property","componentRef","TxVariants","boletobancario","txVariants","boletobancario_itau","boletobancario_santander","primeiropay_boleto"],"mappings":"yqCASO,MAAMA,UAAsBC,EAU/B,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAKAG,UAAAA,GACI,MAAMC,KAAEA,EAAO,IAAOH,KAAKC,OACrBG,eAAEA,EAAcC,aAAEA,EAAYC,UAAEA,EAASC,SAAEA,EAAQC,qBAAEA,EAAuB,IAAOL,EAEzF,OAAOM,EAAA,CACHC,cAAe,CACXC,KAAMX,KAAKW,OAEXP,GAAkB,CAAEA,kBACpBC,GAAgB,CAAEA,gBAClBC,GAAaC,GAAY,CAAEK,YAAa,CAAEN,YAAWC,aACrDC,GAAwB,CAAEA,qBAAsBK,EAAaL,IAEzE,CAMmBM,iBAAAA,GACf,OAAOd,KAAKe,MAAMC,UACdC,EAACC,EAAAA,EAAAA,EAAAA,CAAoBC,IAAKnB,KAAKoB,UAAWC,KAAMrB,KAAKqB,MAAUrB,KAAKe,OAAK,CAAEO,gBAAiBtB,KAAKsB,mBAEjGL,EAACM,EAAAA,EAAAA,EAAAA,CAAYC,gBAAiBxB,KAAKoB,WAAepB,KAAKe,OAAK,CAAEU,SAAUzB,KAAK0B,SAAUC,UAAW3B,KAAK2B,YAE/G,mBA1CGC,SAAAC,GAgCHC,EAAA9B,KAAQoB,YAAYD,IAChBnB,KAAK+B,aAAeZ,KAhCxBW,EADSjC,EACcc,OAAOqB,EAAWC,gBAEzCH,EAHSjC,EAGcqC,aAAa,CAChCF,EAAWC,eACXD,EAAWG,oBACXH,EAAWI,yBACXJ,EAAWK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoletoInput.js","sources":["../../../../../../src/components/Boleto/components/BoletoInput/BoletoInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef } from 'preact/hooks';\nimport Address from '../../../internal/Address';\nimport { boletoValidationRules } from './validate';\nimport { boletoFormatters } from './utils';\nimport SendCopyToEmail from '../../../internal/SendCopyToEmail/SendCopyToEmail';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { BoletoInputDataState } from '../../types';\nimport useForm from '../../../../utils/useForm';\nimport { BrazilPersonalDetail } from '../../../internal/SocialSecurityNumberBrazil/BrazilPersonalDetail';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\nimport type { PayButtonProps } from '../../../internal/PayButton/PayButton';\n\
|
|
1
|
+
{"version":3,"file":"BoletoInput.js","sources":["../../../../../../src/components/Boleto/components/BoletoInput/BoletoInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef } from 'preact/hooks';\nimport Address from '../../../internal/Address';\nimport { boletoValidationRules } from './validate';\nimport { boletoFormatters } from './utils';\nimport SendCopyToEmail from '../../../internal/SendCopyToEmail/SendCopyToEmail';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { BoletoInputDataState } from '../../types';\nimport useForm from '../../../../utils/useForm';\nimport { BrazilPersonalDetail } from '../../../internal/SocialSecurityNumberBrazil/BrazilPersonalDetail';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport type { ComponentMethodsRef } from '../../../internal/UIElement/types';\nimport type { PayButtonProps } from '../../../internal/PayButton/PayButton';\nimport type { ValidationRuleResult } from '../../../../utils/Validator/ValidationRuleResult';\n\nexport interface BoletoInputProps {\n setComponentRef: (ref: ComponentMethodsRef) => void;\n payButton: (props: PayButtonProps) => h.JSX.Element;\n onChange: (props: {\n data: BoletoInputDataState;\n errors: { [p: string]: ValidationRuleResult };\n valid: { [p: string]: boolean };\n isValid: boolean;\n }) => void;\n personalDetailsRequired?: boolean;\n billingAddressRequired?: boolean;\n showEmailAddress?: boolean;\n data?: BoletoInputDataState;\n showPayButton?: boolean;\n}\n\nfunction BoletoInput(props: Readonly<BoletoInputProps>) {\n const { i18n } = useCoreContext();\n const addressRef = useRef(null);\n const setAddressRef = ref => {\n addressRef.current = ref;\n };\n const { handleChangeFor, triggerValidation, setSchema, setData, setValid, setErrors, data, valid, errors, isValid } =\n useForm<BoletoInputDataState>({\n schema: ['firstName', 'lastName', 'socialSecurityNumber', 'billingAddress', 'shopperEmail'],\n defaultData: props.data,\n rules: boletoValidationRules,\n formatters: boletoFormatters\n });\n\n // Email field toggle\n const [showingEmail, setShowingEmail] = useState<boolean>(false);\n const toggleEmailField = () => setShowingEmail(!showingEmail);\n\n // Handle form schema updates\n useEffect(() => {\n const newSchema = [\n ...(props.personalDetailsRequired ? ['firstName', 'lastName', 'socialSecurityNumber'] : []),\n ...(props.billingAddressRequired ? ['billingAddress'] : []),\n ...(showingEmail ? ['shopperEmail'] : [])\n ];\n setSchema(newSchema);\n }, [showingEmail, props.personalDetailsRequired, props.billingAddressRequired]);\n\n const handleAddress = address => {\n setData('billingAddress', address.data);\n setValid('billingAddress', address.isValid);\n setErrors('billingAddress', address.errors);\n };\n\n const [status, setStatus] = useState('ready');\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const boletoRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(boletoRef.current).length) {\n props.setComponentRef?.(boletoRef.current);\n }\n\n boletoRef.current.showValidation = () => {\n triggerValidation();\n if (props.billingAddressRequired) {\n addressRef.current.showValidation();\n }\n };\n\n boletoRef.current.setStatus = setStatus;\n\n useEffect(() => {\n const billingAddressValid = props.billingAddressRequired ? Boolean(valid.billingAddress) : true;\n props.onChange({ data, valid, errors, isValid: isValid && billingAddressValid });\n }, [data, valid, errors]);\n\n const buttonModifiers = [...(!props.personalDetailsRequired && !props.billingAddressRequired && !props.showEmailAddress ? ['standalone'] : [])];\n\n const showFormInstruction = props.personalDetailsRequired || props.billingAddressRequired;\n\n return (\n <div className=\"adyen-checkout__boleto-input__field\">\n {showFormInstruction && <FormInstruction />}\n\n {props.personalDetailsRequired && (\n <BrazilPersonalDetail i18n={i18n} data={data} handleChangeFor={handleChangeFor} errors={errors} valid={valid} />\n )}\n\n {props.billingAddressRequired && (\n <Address\n allowedCountries={['BR']}\n label=\"billingAddress\"\n data={{ ...props.data.billingAddress, country: 'BR' }}\n onChange={handleAddress}\n requiredFields={['country', 'street', 'houseNumberOrName', 'postalCode', 'city', 'stateOrProvince']}\n setComponentRef={setAddressRef}\n />\n )}\n\n {props.showEmailAddress && (\n <SendCopyToEmail\n value={data.shopperEmail}\n errors={errors.shopperEmail}\n onToggle={toggleEmailField}\n onInput={handleChangeFor('shopperEmail', 'input')}\n onBlur={handleChangeFor('shopperEmail', 'blur')}\n />\n )}\n\n {props.showPayButton &&\n props.payButton({\n status,\n label: i18n.get('boletobancario.btnLabel'),\n classNameModifiers: buttonModifiers\n })}\n </div>\n );\n}\n\nBoletoInput.defaultProps = {\n data: {},\n showEmailAddress: true,\n personalDetailsRequired: true,\n billingAddressRequired: true\n};\n\nexport default BoletoInput;\n"],"names":["BoletoInput","props","i18n","useCoreContext","addressRef","useRef","handleChangeFor","triggerValidation","setSchema","setData","setValid","setErrors","data","valid","errors","isValid","useForm","schema","defaultData","rules","boletoValidationRules","formatters","boletoFormatters","showingEmail","setShowingEmail","useState","useEffect","newSchema","personalDetailsRequired","billingAddressRequired","status","setStatus","boletoRef","Object","keys","current","length","setComponentRef","showValidation","billingAddressValid","Boolean","billingAddress","onChange","buttonModifiers","showEmailAddress","showFormInstruction","h","div","className","FormInstruction","BrazilPersonalDetail","Address","allowedCountries","label","_object_spread_props","_object_spread","country","address","requiredFields","ref","SendCopyToEmail","value","shopperEmail","onToggle","onInput","onBlur","showPayButton","payButton","get","classNameModifiers","defaultProps"],"mappings":"o+CA+BA,SAASA,EAAYC,GACjB,MAAMC,KAAEA,GAASC,IACXC,EAAaC,EAAO,OAIpBC,gBAAEA,EAAeC,kBAAEA,EAAiBC,UAAEA,EAASC,QAAEA,EAAOC,SAAEA,EAAQC,UAAEA,EAASC,KAAEA,EAAIC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GACtGC,EAA8B,CAC1BC,OAAQ,CAAC,YAAa,WAAY,uBAAwB,iBAAkB,gBAC5EC,YAAajB,EAAMW,KACnBO,MAAOC,EACPC,WAAYC,KAIbC,EAAcC,GAAmBC,GAAkB,GAI1DC,EAAU,KACN,MAAMC,EAAY,IACV1B,EAAM2B,wBAA0B,CAAC,YAAa,WAAY,wBAA0B,MACpF3B,EAAM4B,uBAAyB,CAAC,kBAAoB,MACpDN,EAAe,CAAC,gBAAkB,IAE1Cf,EAAUmB,IACX,CAACJ,EAActB,EAAM2B,wBAAyB3B,EAAM4B,yBAEvD,MAMOC,EAAQC,GAAaN,EAAS,SAG/BO,EAAY3B,EAA4B,IAG1CJ,IAAAA,EADCgC,OAAOC,KAAKF,EAAUG,SAASC,SACX,QAArBnC,EAAAA,EAAMoC,2BAANpC,GAAAA,EAAAA,KAAAA,EAAwB+B,EAAUG,UAGtCH,EAAUG,QAAQG,eAAiB,KAC/B/B,IACIN,EAAM4B,wBACNzB,EAAW+B,QAAQG,kBAI3BN,EAAUG,QAAQJ,UAAYA,EAE9BL,EAAU,KACN,MAAMa,GAAsBtC,EAAM4B,wBAAyBW,QAAQ3B,EAAM4B,gBACzExC,EAAMyC,SAAS,CAAE9B,OAAMC,QAAOC,SAAQC,QAASA,GAAWwB,KAC3D,CAAC3B,EAAMC,EAAOC,IAEjB,MAAM6B,EAAkB,IAAM1C,EAAM2B,yBAA4B3B,EAAM4B,wBAA2B5B,EAAM2C,iBAAoC,GAAjB,CAAC,eAErHC,EAAsB5C,EAAM2B,yBAA2B3B,EAAM4B,uBAEnE,OACIiB,EAACC,MAAAA,CAAIC,UAAU,uCACVH,GAAuBC,EAACG,EAAAA,MAExBhD,EAAM2B,yBACHkB,EAACI,EAAAA,CAAqBhD,KAAMA,EAAMU,KAAMA,EAAMN,gBAAiBA,EAAiBQ,OAAQA,EAAQD,MAAOA,IAG1GZ,EAAM4B,wBACHiB,EAACK,EAAAA,CACGC,iBAAkB,CAAC,MACnBC,MAAM,iBACNzC,KAAM0C,EAAAC,EAAA,CAAA,EAAKtD,EAAMW,KAAK6B,gBAAc,CAAEe,QAAS,OAC/Cd,SA9CMe,IAClBhD,EAAQ,iBAAkBgD,EAAQ7C,MAClCF,EAAS,iBAAkB+C,EAAQ1C,SACnCJ,EAAU,iBAAkB8C,EAAQ3C,SA4CxB4C,eAAgB,CAAC,UAAW,SAAU,oBAAqB,aAAc,OAAQ,mBACjFrB,gBAzEMsB,IAClBvD,EAAW+B,QAAUwB,KA4EhB1D,EAAM2C,kBACHE,EAACc,EAAAA,CACGC,MAAOjD,EAAKkD,aACZhD,OAAQA,EAAOgD,aACfC,SApES,IAAMvC,GAAiBD,GAqEhCyC,QAAS1D,EAAgB,eAAgB,SACzC2D,OAAQ3D,EAAgB,eAAgB,UAI/CL,EAAMiE,eACHjE,EAAMkE,UAAU,CACZrC,SACAuB,MAAOnD,EAAKkE,IAAI,2BAChBC,mBAAoB1B,IAIxC,CAEA3C,EAAYsE,aAAe,CACvB1D,KAAM,CAAA,EACNgC,kBAAkB,EAClBhB,yBAAyB,EACzBC,wBAAwB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as t}from"../../external/preact/dist/preact.js";import o from"./components/CardInput/CardInput.js";import e from"../../utils/browserInfo.js";import i from"../internal/SecuredFields/binLookup/triggerBinLookUp.js";import{fieldTypeToSnakeCase as n,isSecuredField as s}from"../internal/SecuredFields/utils.js";import{reject as r}from"../../utils/commonUtils.js";import{shouldIncludeInstallmentsInPaymentData as a}from"./components/CardInput/utils.js";import l from"../internal/ClickToPay/services/create-clicktopay-service.js";import d from"./components/ClickToPayWrapper.js";import{TxVariants as u}from"../tx-variants.js";import{UIElement as c}from"../internal/UIElement/UIElement.js";import p from"../internal/PayButton/PayButton.js";import h,{IMPLEMENTATION_ERROR as m}from"../../core/Errors/AdyenCheckoutError.js";import y from"./components/CardInput/defaultProps.js";import{AnalyticsInfoEvent as f,InfoEventType as v}from"../../core/Analytics/events/AnalyticsInfoEvent.js";function b(t,o,e){return o in t?Object.defineProperty(t,o,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[o]=e,t}function g(t){for(var o=1;o<arguments.length;o++){var e=null!=arguments[o]?arguments[o]:{},i=Object.keys(e);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(e).filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.forEach(function(o){b(t,o,e[o])})}return t}function P(t,o){return o=null!=o?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):function(t){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);o.push.apply(o,e)}return o}(Object(o)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}),t}class C extends c{setStatus(t,o){var e,i;return(null===(e=this.componentRef)||void 0===e?void 0:e.setStatus)&&this.componentRef.setStatus(t,o),(null===(i=this.clickToPayRef)||void 0===i?void 0:i.setStatus)&&this.clickToPayRef.setStatus(t,o),this}getPaymentMethodConfigFromResponse(t){var o;return(null==t?void 0:t.fundingSource)?null===(o=this.core.paymentMethodsResponse)||void 0===o?void 0:o.findByFundingSource(t.type,t.fundingSource):super.getPaymentMethodConfigFromResponse(t)}formatProps(t){var o,e,i,n,s,r,a,l,d,c,p,f,v,b,C,S,k,R,B,O,T,w;const j=null!==(o=null===(s=t.session)||void 0===s||null===(n=s.configuration)||void 0===n?void 0:n.enableStoreDetails)&&void 0!==o?o:t.enableStoreDetails,I=!(0===(null===(r=t.amount)||void 0===r?void 0:r.value))&&j,M=t.storedPaymentMethodId||t.id,A=M&&(null==t||null===(a=t.supportedShopperInteractions)||void 0===a?void 0:a.includes("Ecommerce"));if(M&&!A)throw new h(m,"You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions");return g(P(g({},t),{holderNameRequired:!!t.hasHolderName&&t.holderNameRequired,hasCVC:!(t.brand&&"bcmc"===t.brand||t.hideCVC),billingAddressRequired:!t.storedPaymentMethodId&&t.billingAddressRequired,billingAddressMode:t.onAddressLookup?y.billingAddressMode:t.billingAddressMode,brand:null!==(e=t.brand)&&void 0!==e?e:u.card,countryCode:t.countryCode?t.countryCode.toLowerCase():null,configuration:P(g({},t.configuration),{socialSecurityNumberMode:null!==(i=null===(l=t.configuration)||void 0===l?void 0:l.socialSecurityNumberMode)&&void 0!==i?i:"auto"}),brandsConfiguration:t.brandsConfiguration||(null===(d=t.configuration)||void 0===d?void 0:d.brandsConfiguration)||{},icon:t.icon||(null===(c=t.configuration)||void 0===c?void 0:c.icon),installmentOptions:(null===(f=t.session)||void 0===f||null===(p=f.configuration)||void 0===p?void 0:p.installmentOptions)||t.installmentOptions,enableStoreDetails:j,showStoreDetailsCheckbox:I,clickToPayConfiguration:P(g({},t.clickToPayConfiguration),{disableOtpAutoFocus:(null===(v=t.clickToPayConfiguration)||void 0===v?void 0:v.disableOtpAutoFocus)||!1,shopperEmail:(null===(b=t.clickToPayConfiguration)||void 0===b?void 0:b.shopperEmail)||(null===(S=this.core.options)||void 0===S||null===(C=S.session)||void 0===C?void 0:C.shopperEmail),telephoneNumber:(null===(k=t.clickToPayConfiguration)||void 0===k?void 0:k.telephoneNumber)||(null===(B=this.core.options)||void 0===B||null===(R=B.session)||void 0===R?void 0:R.telephoneNumber),locale:(null===(O=t.clickToPayConfiguration)||void 0===O?void 0:O.locale)||(null===(w=t.i18n)||void 0===w||null===(T=w.locale)||void 0===T?void 0:T.replace("-","_"))})}),M&&{storedPaymentMethodId:M})}formatData(){var t;const o=this.state.selectedBrandValue;return P(g({paymentMethod:g({type:C.type},this.state.data,this.props.storedPaymentMethodId&&{storedPaymentMethodId:this.props.storedPaymentMethodId,holderName:null!==(t=this.props.holderName)&&void 0!==t?t:""},o&&{brand:o},this.props.fundingSource&&{fundingSource:this.props.fundingSource},this.state.fastlaneData&&{fastlaneData:btoa(JSON.stringify(this.state.fastlaneData))})},this.state.billingAddress&&{billingAddress:this.state.billingAddress},this.state.socialSecurityNumber&&{socialSecurityNumber:this.state.socialSecurityNumber},this.storePaymentMethodPayload,a(this.state.installments)&&{installments:this.state.installments}),{browserInfo:this.browserInfo,origin:!!window&&window.location.origin})}beforeRender(t){if(null==t?void 0:t.originalAction)return;const o=new f(g({type:v.rendered,component:this.type,configData:P(g({},t),{showPayButton:this.props.showPayButton})},(null==t?void 0:t.oneClick)&&{isStoredPaymentMethod:!0,brand:t.brand}));this.analytics.sendAnalytics(o)}updateStyles(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.updateStyles)&&this.componentRef.updateStyles(t),this}setFocusOn(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.setFocusOn)&&this.componentRef.setFocusOn(t),this}processBinLookupResponse(t,o=!1){var e;return(null===(e=this.componentRef)||void 0===e?void 0:e.processBinLookupResponse)&&this.componentRef.processBinLookupResponse(t,o),this}handleUnsupportedCard(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.handleUnsupportedCard)&&this.componentRef.handleUnsupportedCard(t),this}onBinLookup(t){if(!t.isReset){var o,e;const i=r("supportedBrandsRaw").from(t);null===(o=(e=this.props).onBinLookup)||void 0===o||o.call(e,i)}}get storePaymentMethodPayload(){var t,o;if((null===(t=this.props.storedPaymentMethodId)||void 0===t?void 0:t.length)>0)return{};if(0===(null===(o=this.props.amount)||void 0===o?void 0:o.value))return this.props.enableStoreDetails?{storePaymentMethod:!0}:{};return this.props.showStoreDetailsCheckbox&&void 0!==this.state.storePaymentMethod?{storePaymentMethod:Boolean(this.state.storePaymentMethod)}:{}}get isValid(){return!!this.state.isValid}get icon(){var t;return null!==(t=this.props.icon)&&void 0!==t?t:this.resources.getImage()(this.props.brand)}get brands(){const{brands:t,brandsConfiguration:o}=this.props;return t?t.map(t=>{var e,i;return{icon:null!==(e=null===(i=o[t])||void 0===i?void 0:i.icon)&&void 0!==e?e:this.props.modules.resources.getImage()(t),name:t}}):[]}get displayName(){return this.props.storedPaymentMethodId?`•••• ${this.props.lastFour}`:this.props.name||C.type}get accessibleName(){return(this.props.name||C.type)+(this.props.storedPaymentMethodId?" "+this.props.i18n.get("creditCard.storedCard.description.ariaLabel").replace("%@",this.props.lastFour):"")}get browserInfo(){return e()}renderCardInput(e=!0){return t(o,P(g({setComponentRef:this.setComponentRef},this.props,this.state),{onSubmitAnalytics:this.submitAnalytics,onChange:this.setState,onSubmit:this.submit,handleKeyPress:this.handleKeyPress,payButton:this.payButton,onBrand:this.onBrand,onBinValue:this.onBinValue,brand:this.props.brand,brandsIcons:this.brands,isPayButtonPrimaryVariant:e,resources:this.resources,onFocus:this.onFocus,onBlur:this.onBlur,onConfigSuccess:this.onConfigSuccess}))}componentToRender(){return t(d,{configuration:this.props.clickToPayConfiguration,clickToPayService:this.clickToPayService,isStandaloneComponent:!1,setClickToPayRef:this.setClickToPayRef,onSetStatus:this.setElementStatus,onSubmit:this.handleClickToPaySubmit,onError:this.handleError},t=>this.renderCardInput(t))}constructor(o,e){var r;(super(o,e),b(this,"clickToPayService",void 0),b(this,"clickToPayRef",null),b(this,"setClickToPayRef",t=>{this.clickToPayRef=t}),b(this,"onBrand",t=>{var o,e;null===(o=(e=this.props).onBrand)||void 0===o||o.call(e,t)}),b(this,"handleClickToPaySubmit",t=>{this.setState({data:g({},t),valid:{},errors:{},isValid:!0}),this.submit()}),b(this,"onConfigSuccess",t=>{var o,e;const i=new f({component:this.type,type:v.configured});this.submitAnalytics(i),null===(o=(e=this.props).onConfigSuccess)||void 0===o||o.call(e,t)}),b(this,"onFocus",t=>{const o=new f({component:this.type,type:v.focus,target:n(t.fieldType)});var e,i,r,a;(this.submitAnalytics(o),s(t.fieldType))?null===(e=(i=this.props).onFocus)||void 0===e||e.call(i,t.event):null===(r=(a=this.props).onFocus)||void 0===r||r.call(a,t)}),b(this,"onBlur",t=>{const o=new f({component:this.type,type:v.unfocus,target:n(t.fieldType)});var e,i,r,a;(this.submitAnalytics(o),s(t.fieldType))?null===(e=(i=this.props).onBlur)||void 0===e||e.call(i,t.event):null===(r=(a=this.props).onBlur)||void 0===r||r.call(a,t)}),b(this,"onBinValue",i(this)),b(this,"payButton",o=>{var e,i;const n=0===(null===(e=this.props.amount)||void 0===e?void 0:e.value),s=(null===(i=this.props.storedPaymentMethodId)||void 0===i?void 0:i.length)>0;return t(p,P(g({},o),{label:n&&!s?this.props.i18n.get("payButton.saveDetails"):"",onClick:this.submit}))}),e&&!e._disableClickToPay&&"prepaid"!==this.props.fundingSource)&&(this.clickToPayService=l(this.props.configuration,this.props.clickToPayConfiguration,this.props.environment,this.analytics),null===(r=this.clickToPayService)||void 0===r||r.initialize())}}b(C,"type",u.scheme),b(C,"defaultProps",g({showFormInstruction:!0,_disableClickToPay:!1,doBinLookup:!0},r(["type","setComponentRef"]).from(y)));export{C as CardElement,C as default};
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import o from"./components/CardInput/CardInput.js";import e from"../../utils/browserInfo.js";import i from"../internal/SecuredFields/binLookup/triggerBinLookUp.js";import{fieldTypeToSnakeCase as n,isSecuredField as s}from"../internal/SecuredFields/utils.js";import{reject as r}from"../../utils/commonUtils.js";import{shouldIncludeInstallmentsInPaymentData as a}from"./components/CardInput/utils.js";import l from"../internal/ClickToPay/services/create-clicktopay-service.js";import d from"./components/ClickToPayWrapper.js";import{TxVariants as u}from"../tx-variants.js";import{UIElement as c}from"../internal/UIElement/UIElement.js";import p from"../internal/PayButton/PayButton.js";import h,{IMPLEMENTATION_ERROR as m}from"../../core/Errors/AdyenCheckoutError.js";import y from"./components/CardInput/defaultProps.js";import{AnalyticsInfoEvent as f,InfoEventType as v}from"../../core/Analytics/events/AnalyticsInfoEvent.js";function b(t,o,e){return o in t?Object.defineProperty(t,o,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[o]=e,t}function g(t){for(var o=1;o<arguments.length;o++){var e=null!=arguments[o]?arguments[o]:{},i=Object.keys(e);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(e).filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.forEach(function(o){b(t,o,e[o])})}return t}function P(t,o){return o=null!=o?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):function(t){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);o.push.apply(o,e)}return o}(Object(o)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}),t}class C extends c{setStatus(t,o){var e,i;return(null===(e=this.componentRef)||void 0===e?void 0:e.setStatus)&&this.componentRef.setStatus(t,o),(null===(i=this.clickToPayRef)||void 0===i?void 0:i.setStatus)&&this.clickToPayRef.setStatus(t,o),this}getPaymentMethodConfigFromResponse(t){var o;return(null==t?void 0:t.fundingSource)?null===(o=this.core.paymentMethodsResponse)||void 0===o?void 0:o.findByFundingSource(t.type,t.fundingSource):super.getPaymentMethodConfigFromResponse(t)}formatProps(t){var o,e,i,n,s,r,a,l,d,c,p,f,v,b,C,S,k,R,B,O,T,w;const j=null!==(o=null===(s=t.session)||void 0===s||null===(n=s.configuration)||void 0===n?void 0:n.enableStoreDetails)&&void 0!==o?o:t.enableStoreDetails,I=!(0===(null===(r=t.amount)||void 0===r?void 0:r.value))&&j,M=t.storedPaymentMethodId||t.id,A=M&&(null==t||null===(a=t.supportedShopperInteractions)||void 0===a?void 0:a.includes("Ecommerce"));if(M&&!A)throw new h(m,"You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions");return g(P(g({},t),{holderNameRequired:!!t.hasHolderName&&t.holderNameRequired,hasCVC:!(t.brand&&"bcmc"===t.brand||t.hideCVC),billingAddressRequired:!t.storedPaymentMethodId&&t.billingAddressRequired,billingAddressMode:t.onAddressLookup?y.billingAddressMode:t.billingAddressMode,brand:null!==(e=t.brand)&&void 0!==e?e:u.card,countryCode:t.countryCode?t.countryCode.toLowerCase():null,configuration:P(g({},t.configuration),{socialSecurityNumberMode:null!==(i=null===(l=t.configuration)||void 0===l?void 0:l.socialSecurityNumberMode)&&void 0!==i?i:"auto"}),brandsConfiguration:t.brandsConfiguration||(null===(d=t.configuration)||void 0===d?void 0:d.brandsConfiguration)||{},icon:t.icon||(null===(c=t.configuration)||void 0===c?void 0:c.icon),installmentOptions:(null===(f=t.session)||void 0===f||null===(p=f.configuration)||void 0===p?void 0:p.installmentOptions)||t.installmentOptions,enableStoreDetails:j,showStoreDetailsCheckbox:I,clickToPayConfiguration:P(g({},t.clickToPayConfiguration),{disableOtpAutoFocus:(null===(v=t.clickToPayConfiguration)||void 0===v?void 0:v.disableOtpAutoFocus)||!1,shopperEmail:(null===(b=t.clickToPayConfiguration)||void 0===b?void 0:b.shopperEmail)||(null===(S=this.core.options)||void 0===S||null===(C=S.session)||void 0===C?void 0:C.shopperEmail),telephoneNumber:(null===(k=t.clickToPayConfiguration)||void 0===k?void 0:k.telephoneNumber)||(null===(B=this.core.options)||void 0===B||null===(R=B.session)||void 0===R?void 0:R.telephoneNumber),locale:(null===(O=t.clickToPayConfiguration)||void 0===O?void 0:O.locale)||(null===(w=t.i18n)||void 0===w||null===(T=w.locale)||void 0===T?void 0:T.replace("-","_"))})}),M&&{storedPaymentMethodId:M})}formatData(){var t;const o=this.state.selectedBrandValue;return P(g({paymentMethod:g({type:C.type},this.state.data,this.props.storedPaymentMethodId&&{storedPaymentMethodId:this.props.storedPaymentMethodId,holderName:null!==(t=this.props.holderName)&&void 0!==t?t:""},o&&{brand:o},this.props.fundingSource&&{fundingSource:this.props.fundingSource},this.state.fastlaneData&&{fastlaneData:btoa(JSON.stringify(this.state.fastlaneData))})},this.state.billingAddress&&{billingAddress:this.state.billingAddress},this.state.socialSecurityNumber&&{socialSecurityNumber:this.state.socialSecurityNumber},this.storePaymentMethodPayload,a(this.state.installments)&&{installments:this.state.installments}),{browserInfo:this.browserInfo,origin:!!window&&window.location.origin})}beforeRender(t){if(null==t?void 0:t.originalAction)return;const o=new f(g({type:v.rendered,component:this.type,configData:P(g({},t),{showPayButton:this.props.showPayButton})},(null==t?void 0:t.oneClick)&&{isStoredPaymentMethod:!0,brand:t.brand}));this.analytics.sendAnalytics(o)}updateStyles(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.updateStyles)&&this.componentRef.updateStyles(t),this}setFocusOn(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.setFocusOn)&&this.componentRef.setFocusOn(t),this}processBinLookupResponse(t,o=!1){var e;return(null===(e=this.componentRef)||void 0===e?void 0:e.processBinLookupResponse)&&this.componentRef.processBinLookupResponse(t,o),this}handleUnsupportedCard(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.handleUnsupportedCard)&&this.componentRef.handleUnsupportedCard(t),this}onBinLookup(t){if(!t.isReset){var o,e;const i=r("supportedBrandsRaw").from(t);null===(o=(e=this.props).onBinLookup)||void 0===o||o.call(e,i)}}get storePaymentMethodPayload(){var t,o;if((null===(t=this.props.storedPaymentMethodId)||void 0===t?void 0:t.length)>0)return{};if(0===(null===(o=this.props.amount)||void 0===o?void 0:o.value))return this.props.enableStoreDetails?{storePaymentMethod:!0}:{};return this.props.showStoreDetailsCheckbox&&void 0!==this.state.storePaymentMethod?{storePaymentMethod:Boolean(this.state.storePaymentMethod)}:{}}get isValid(){return!!this.state.isValid}get icon(){var t;return null!==(t=this.props.icon)&&void 0!==t?t:this.resources.getImage()(this.props.brand)}get brands(){const{brands:t,brandsConfiguration:o}=this.props;return t?t.map(t=>{var e,i;return{icon:null!==(e=null==o||null===(i=o[t])||void 0===i?void 0:i.icon)&&void 0!==e?e:this.props.modules.resources.getImage()(t),name:t}}):[]}get displayName(){return this.props.storedPaymentMethodId?`•••• ${this.props.lastFour}`:this.props.name||C.type}get accessibleName(){return(this.props.name||C.type)+(this.props.storedPaymentMethodId?" "+this.props.i18n.get("creditCard.storedCard.description.ariaLabel").replace("%@",this.props.lastFour):"")}get browserInfo(){return e()}renderCardInput(e=!0){return t(o,P(g({setComponentRef:this.setComponentRef},this.props,this.state),{onSubmitAnalytics:this.submitAnalytics,onChange:this.setState,onSubmit:this.submit,handleKeyPress:this.handleKeyPress,payButton:this.payButton,onBrand:this.onBrand,onBinValue:this.onBinValue,brand:this.props.brand,brandsIcons:this.brands,isPayButtonPrimaryVariant:e,resources:this.resources,onFocus:this.onFocus,onBlur:this.onBlur,onConfigSuccess:this.onConfigSuccess}))}componentToRender(){return t(d,{configuration:this.props.clickToPayConfiguration,clickToPayService:this.clickToPayService,isStandaloneComponent:!1,setClickToPayRef:this.setClickToPayRef,onSetStatus:this.setElementStatus,onSubmit:this.handleClickToPaySubmit,onError:this.handleError},t=>this.renderCardInput(t))}constructor(o,e){var r;(super(o,e),b(this,"clickToPayService",void 0),b(this,"clickToPayRef",null),b(this,"setClickToPayRef",t=>{this.clickToPayRef=t}),b(this,"onBrand",t=>{var o,e;null===(o=(e=this.props).onBrand)||void 0===o||o.call(e,t)}),b(this,"handleClickToPaySubmit",t=>{this.setState({data:g({},t),valid:{},errors:{},isValid:!0}),this.submit()}),b(this,"onConfigSuccess",t=>{var o,e;const i=new f({component:this.type,type:v.configured});this.submitAnalytics(i),null===(o=(e=this.props).onConfigSuccess)||void 0===o||o.call(e,t)}),b(this,"onFocus",t=>{const o=new f({component:this.type,type:v.focus,target:n(t.fieldType)});var e,i,r,a;(this.submitAnalytics(o),s(t.fieldType))?null===(e=(i=this.props).onFocus)||void 0===e||e.call(i,t.event):null===(r=(a=this.props).onFocus)||void 0===r||r.call(a,t)}),b(this,"onBlur",t=>{const o=new f({component:this.type,type:v.unfocus,target:n(t.fieldType)});var e,i,r,a;(this.submitAnalytics(o),s(t.fieldType))?null===(e=(i=this.props).onBlur)||void 0===e||e.call(i,t.event):null===(r=(a=this.props).onBlur)||void 0===r||r.call(a,t)}),b(this,"onBinValue",i(this)),b(this,"payButton",o=>{var e,i;const n=0===(null===(e=this.props.amount)||void 0===e?void 0:e.value),s=(null===(i=this.props.storedPaymentMethodId)||void 0===i?void 0:i.length)>0;return t(p,P(g({},o),{label:n&&!s?this.props.i18n.get("payButton.saveDetails"):"",onClick:this.submit}))}),e&&!e._disableClickToPay&&"prepaid"!==this.props.fundingSource)&&(this.clickToPayService=l(this.props.configuration,this.props.clickToPayConfiguration,this.props.environment,this.analytics),null===(r=this.clickToPayService)||void 0===r||r.initialize())}}b(C,"type",u.scheme),b(C,"defaultProps",g({showFormInstruction:!0,_disableClickToPay:!1,doBinLookup:!0},r(["type","setComponentRef"]).from(y)));export{C as CardElement,C as default};
|
|
2
2
|
//# sourceMappingURL=Card.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.js","sources":["../../../../src/components/Card/Card.tsx"],"sourcesContent":["import { h } from 'preact';\nimport CardInput from './components/CardInput';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport { BinLookupResponse, CardElementData, CardConfiguration } from './types';\nimport triggerBinLookUp from '../internal/SecuredFields/binLookup/triggerBinLookUp';\nimport { CardBinLookupData, CardConfigSuccessData, CardFocusData } from '../internal/SecuredFields/lib/types';\nimport { fieldTypeToSnakeCase, isSecuredField } from '../internal/SecuredFields/utils';\nimport { reject } from '../../utils/commonUtils';\nimport { shouldIncludeInstallmentsInPaymentData } from './components/CardInput/utils';\nimport createClickToPayService from '../internal/ClickToPay/services/create-clicktopay-service';\nimport { ClickToPayCheckoutPayload, IClickToPayService } from '../internal/ClickToPay/services/types';\nimport ClickToPayWrapper from './components/ClickToPayWrapper';\nimport { ComponentFocusObject } from '../../types/global-types';\nimport { TxVariants } from '../tx-variants';\nimport type { UIElementStatus } from '../internal/UIElement/types';\nimport UIElement from '../internal/UIElement';\nimport PayButton from '../internal/PayButton';\nimport type { ICore } from '../../core/types';\nimport AdyenCheckoutError, { IMPLEMENTATION_ERROR } from '../../core/Errors/AdyenCheckoutError';\nimport CardInputDefaultProps from './components/CardInput/defaultProps';\nimport { PayButtonProps } from '../internal/PayButton/PayButton';\nimport { AnalyticsInfoEvent, InfoEventType, UiTarget } from '../../core/Analytics/events/AnalyticsInfoEvent';\n\nexport class CardElement extends UIElement<CardConfiguration> {\n public static readonly type: TxVariants = TxVariants.scheme;\n\n private readonly clickToPayService: IClickToPayService | null;\n\n /**\n * Reference to the 'ClickToPayComponent'\n */\n private clickToPayRef = null;\n\n constructor(checkout: ICore, props?: CardConfiguration) {\n super(checkout, props);\n\n if (props && !props._disableClickToPay && this.props.fundingSource !== 'prepaid') {\n this.clickToPayService = createClickToPayService(\n this.props.configuration,\n this.props.clickToPayConfiguration,\n this.props.environment,\n this.analytics\n );\n\n void this.clickToPayService?.initialize();\n }\n }\n\n protected static readonly defaultProps = {\n showFormInstruction: true,\n _disableClickToPay: false,\n doBinLookup: true,\n // Merge most of CardInput's defaultProps\n ...reject(['type', 'setComponentRef']).from(CardInputDefaultProps)\n };\n\n public setStatus(status: UIElementStatus, props?): this {\n if (this.componentRef?.setStatus) {\n this.componentRef.setStatus(status, props);\n }\n if (this.clickToPayRef?.setStatus) {\n this.clickToPayRef.setStatus(status, props);\n }\n return this;\n }\n\n private setClickToPayRef = ref => {\n this.clickToPayRef = ref;\n };\n\n // This is the most self contained way of handling funding source matching\n // Alternatives would be to override getPaymentMethodConfigFromResponse and change it's signature\n protected override getPaymentMethodConfigFromResponse(componentProps: CardConfiguration) {\n if (componentProps?.fundingSource) {\n return this.core.paymentMethodsResponse?.findByFundingSource(componentProps.type, componentProps.fundingSource);\n }\n\n return super.getPaymentMethodConfigFromResponse(componentProps);\n }\n\n formatProps(props: CardConfiguration): CardConfiguration {\n // The value from a session should be used, before falling back to the merchant configuration\n const enableStoreDetails = props.session?.configuration?.enableStoreDetails ?? props.enableStoreDetails;\n\n const isZeroAuth = props.amount?.value === 0;\n const showStoreDetailsCheckbox = isZeroAuth ? false : enableStoreDetails;\n\n const storedCardID = props.storedPaymentMethodId || props.id; // check if we've been passed a (checkout) processed storedCard or one that merchant has pulled from the PMs response\n const isEcommerceStoredCard = storedCardID && props?.supportedShopperInteractions?.includes('Ecommerce'); // If we have a storedCard does it support Ecommerce (it might not if the merchant has pulled it from the PMs response)\n\n // If we have a storedPM but it doesn't support Ecommerce - we can't make a storedCard component from it\n if (storedCardID && !isEcommerceStoredCard) {\n // TODO - Decide if an error is too severe? Would a console.warning suffice?\n throw new AdyenCheckoutError(\n IMPLEMENTATION_ERROR,\n 'You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions'\n );\n }\n\n return {\n ...props,\n // Mismatch between hasHolderName & holderNameRequired which can mean card can never be valid\n holderNameRequired: !props.hasHolderName ? false : props.holderNameRequired,\n // False for *stored* BCMC cards & if merchant explicitly wants to hide the CVC field\n hasCVC: !((props.brand && props.brand === 'bcmc') || props.hideCVC),\n // billingAddressRequired only available for non-stored cards\n billingAddressRequired: props.storedPaymentMethodId ? false : props.billingAddressRequired,\n // edge case where merchant has defined both an onAddressLookup callback AND set billingAddressMode: 'partial' - which leads to some strange behaviour in the address UI\n billingAddressMode: props.onAddressLookup ? CardInputDefaultProps.billingAddressMode : props.billingAddressMode,\n /** props.brand will be specified in the case of a StoredCard or a Bancontact component, for a regular Card we default it to 'card' */\n brand: props.brand ?? TxVariants.card,\n countryCode: props.countryCode ? props.countryCode.toLowerCase() : null,\n // Required for transition period (until configuration object becomes the norm)\n // - if merchant has defined value directly in props, use this instead\n configuration: {\n ...props.configuration,\n socialSecurityNumberMode: props.configuration?.socialSecurityNumberMode ?? 'auto'\n },\n brandsConfiguration: props.brandsConfiguration || props.configuration?.brandsConfiguration || {},\n icon: props.icon || props.configuration?.icon,\n // installmentOptions of a session should be used before falling back to the merchant configuration\n installmentOptions: props.session?.configuration?.installmentOptions || props.installmentOptions,\n enableStoreDetails,\n showStoreDetailsCheckbox,\n /**\n * Click to Pay configuration\n * - If email is set explicitly in the configuration, then it can override the one used in the session creation\n */\n clickToPayConfiguration: {\n ...props.clickToPayConfiguration,\n disableOtpAutoFocus: props.clickToPayConfiguration?.disableOtpAutoFocus || false,\n shopperEmail: props.clickToPayConfiguration?.shopperEmail || this.core.options?.session?.shopperEmail,\n telephoneNumber: props.clickToPayConfiguration?.telephoneNumber || this.core.options?.session?.telephoneNumber,\n locale: props.clickToPayConfiguration?.locale || props.i18n?.locale?.replace('-', '_')\n },\n ...(storedCardID && { storedPaymentMethodId: storedCardID })\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): CardElementData {\n /**\n * this.state.selectedBrandValue will be set when:\n * - /binLookup detects a single brand,\n * - when /binLookup detects a dual-branded card and the shopper makes a brand selection\n * - or, in the case of a storedCard\n */\n const cardBrand = this.state.selectedBrandValue;\n\n return {\n paymentMethod: {\n type: CardElement.type,\n ...this.state.data,\n ...(this.props.storedPaymentMethodId && {\n storedPaymentMethodId: this.props.storedPaymentMethodId,\n holderName: this.props.holderName ?? ''\n }),\n ...(cardBrand && { brand: cardBrand }),\n ...(this.props.fundingSource && { fundingSource: this.props.fundingSource }),\n ...(this.state.fastlaneData && { fastlaneData: btoa(JSON.stringify(this.state.fastlaneData)) })\n },\n ...(this.state.billingAddress && { billingAddress: this.state.billingAddress }),\n ...(this.state.socialSecurityNumber && { socialSecurityNumber: this.state.socialSecurityNumber }),\n ...this.storePaymentMethodPayload,\n ...(shouldIncludeInstallmentsInPaymentData(this.state.installments) && { installments: this.state.installments }),\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin\n };\n }\n\n protected override beforeRender(configSetByMerchant?: CardConfiguration): void {\n // We don't send 'rendered' events when rendering actions\n if (configSetByMerchant?.originalAction) {\n return;\n }\n\n const event = new AnalyticsInfoEvent({\n type: InfoEventType.rendered,\n component: this.type,\n configData: { ...configSetByMerchant, showPayButton: this.props.showPayButton },\n ...(configSetByMerchant?.oneClick && {\n isStoredPaymentMethod: true,\n brand: configSetByMerchant.brand\n })\n });\n\n this.analytics.sendAnalytics(event);\n }\n\n updateStyles(stylesObj) {\n if (this.componentRef?.updateStyles) this.componentRef.updateStyles(stylesObj);\n return this;\n }\n\n setFocusOn(fieldName) {\n if (this.componentRef?.setFocusOn) this.componentRef.setFocusOn(fieldName);\n return this;\n }\n\n public onBrand = event => {\n this.props.onBrand?.(event);\n };\n\n processBinLookupResponse(binLookupResponse: BinLookupResponse, isReset = false) {\n if (this.componentRef?.processBinLookupResponse) this.componentRef.processBinLookupResponse(binLookupResponse, isReset);\n return this;\n }\n\n handleUnsupportedCard(errObj) {\n if (this.componentRef?.handleUnsupportedCard) this.componentRef.handleUnsupportedCard(errObj);\n return this;\n }\n\n private handleClickToPaySubmit = (payload: ClickToPayCheckoutPayload) => {\n this.setState({ data: { ...payload }, valid: {}, errors: {}, isValid: true });\n this.submit();\n };\n\n onBinLookup(obj: CardBinLookupData) {\n // Handler for regular card comp doesn't need this 'raw' data or to know about 'resets'\n if (!obj.isReset) {\n const nuObj = reject('supportedBrandsRaw').from(obj);\n this.props.onBinLookup?.(nuObj);\n }\n }\n\n private onConfigSuccess = (obj: CardConfigSuccessData) => {\n const event = new AnalyticsInfoEvent({ component: this.type, type: InfoEventType.configured });\n this.submitAnalytics(event);\n\n this.props.onConfigSuccess?.(obj);\n };\n\n private onFocus = (obj: ComponentFocusObject) => {\n const event = new AnalyticsInfoEvent({\n component: this.type,\n type: InfoEventType.focus,\n target: fieldTypeToSnakeCase(obj.fieldType) as UiTarget\n });\n this.submitAnalytics(event);\n\n // Call merchant defined callback\n if (isSecuredField(obj.fieldType)) {\n this.props.onFocus?.(obj.event as CardFocusData);\n } else {\n this.props.onFocus?.(obj);\n }\n };\n\n private onBlur = (obj: ComponentFocusObject) => {\n const event = new AnalyticsInfoEvent({\n component: this.type,\n type: InfoEventType.unfocus,\n target: fieldTypeToSnakeCase(obj.fieldType) as UiTarget\n });\n this.submitAnalytics(event);\n\n // Call merchant defined callback\n if (isSecuredField(obj.fieldType)) {\n this.props.onBlur?.(obj.event as CardFocusData);\n } else {\n this.props.onBlur?.(obj);\n }\n };\n\n public onBinValue = triggerBinLookUp(this);\n\n get storePaymentMethodPayload() {\n const isStoredCard = this.props.storedPaymentMethodId?.length > 0;\n if (isStoredCard) {\n return {};\n }\n\n /**\n * For regular card, zero auth payments, we store the payment method, *if* the configuration says we should:\n * - For sessions, this means if the session has been created with storePaymentMethodMode: 'askForConsent'\n * - For the advanced flow, this means if the merchant has still set enableStoreDetails: true\n *\n * What we are doing is.. if for a normal payment we would show the \"Save for my next payment\" checkbox,\n * for a zero-auth payment we effectively click the checkbox on behalf of the shopper.\n */\n const isZeroAuth = this.props.amount?.value === 0;\n if (isZeroAuth) {\n return this.props.enableStoreDetails ? { storePaymentMethod: true } : {};\n }\n\n // For regular card, non-zero auth payments, we store the payment method based on the checkbox value.\n const includeStorePaymentMethod = this.props.showStoreDetailsCheckbox && typeof this.state.storePaymentMethod !== 'undefined';\n return includeStorePaymentMethod ? { storePaymentMethod: Boolean(this.state.storePaymentMethod) } : {};\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get icon() {\n return this.props.icon ?? this.resources.getImage()(this.props.brand);\n }\n\n get brands(): { icon: any; name: string }[] {\n const { brands, brandsConfiguration } = this.props;\n if (brands) {\n return brands.map(brand => {\n const brandIcon = brandsConfiguration[brand]?.icon ?? this.props.modules.resources.getImage()(brand);\n return { icon: brandIcon, name: brand };\n });\n }\n\n return [];\n }\n\n get displayName(): string {\n if (this.props.storedPaymentMethodId) {\n return `•••• ${this.props.lastFour}`;\n }\n\n return this.props.name || CardElement.type;\n }\n\n get accessibleName(): string {\n // Use display name, unless it's a stored payment method, there inform user\n return (\n (this.props.name || CardElement.type) +\n (this.props.storedPaymentMethodId\n ? ' ' + this.props.i18n.get('creditCard.storedCard.description.ariaLabel').replace('%@', this.props.lastFour)\n : '')\n );\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n protected override payButton = (props: PayButtonProps): h.JSX.Element => {\n const isZeroAuth = this.props.amount?.value === 0;\n const isStoredCard = this.props.storedPaymentMethodId?.length > 0;\n return <PayButton {...props} label={isZeroAuth && !isStoredCard ? this.props.i18n.get('payButton.saveDetails') : ''} onClick={this.submit} />;\n };\n\n private renderCardInput(isCardPrimaryInput = true): h.JSX.Element {\n return (\n <CardInput\n setComponentRef={this.setComponentRef}\n {...this.props}\n {...this.state}\n onSubmitAnalytics={this.submitAnalytics}\n onChange={this.setState}\n onSubmit={this.submit}\n handleKeyPress={this.handleKeyPress}\n payButton={this.payButton}\n onBrand={this.onBrand}\n onBinValue={this.onBinValue}\n brand={this.props.brand}\n brandsIcons={this.brands}\n isPayButtonPrimaryVariant={isCardPrimaryInput}\n resources={this.resources}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onConfigSuccess={this.onConfigSuccess}\n />\n );\n }\n\n protected override componentToRender(): h.JSX.Element {\n return (\n <ClickToPayWrapper\n configuration={this.props.clickToPayConfiguration}\n clickToPayService={this.clickToPayService}\n isStandaloneComponent={false}\n setClickToPayRef={this.setClickToPayRef}\n onSetStatus={this.setElementStatus}\n onSubmit={this.handleClickToPaySubmit}\n onError={this.handleError}\n >\n {isCardPrimaryInput => this.renderCardInput(isCardPrimaryInput)}\n </ClickToPayWrapper>\n );\n }\n}\n\nexport default CardElement;\n"],"names":["CardElement","UIElement","setStatus","status","props","_this_componentRef","_this_clickToPayRef","this","componentRef","clickToPayRef","getPaymentMethodConfigFromResponse","componentProps","_this_core_paymentMethodsResponse","fundingSource","core","paymentMethodsResponse","findByFundingSource","type","super","formatProps","_this_core_options_session","_this_core_options","_this_core_options_session1","_this_core_options1","enableStoreDetails","session","configuration","_ref","showStoreDetailsCheckbox","amount","value","storedCardID","storedPaymentMethodId","id","isEcommerceStoredCard","supportedShopperInteractions","includes","AdyenCheckoutError","IMPLEMENTATION_ERROR","_object_spread","_object_spread_props","holderNameRequired","hasHolderName","hasCVC","brand","hideCVC","billingAddressRequired","billingAddressMode","onAddressLookup","CardInputDefaultProps","TxVariants","card","countryCode","toLowerCase","socialSecurityNumberMode","_ref1","brandsConfiguration","icon","installmentOptions","clickToPayConfiguration","disableOtpAutoFocus","shopperEmail","options","telephoneNumber","locale","i18n","replace","formatData","_this_props_holderName","cardBrand","state","selectedBrandValue","paymentMethod","data","holderName","fastlaneData","btoa","JSON","stringify","billingAddress","socialSecurityNumber","storePaymentMethodPayload","shouldIncludeInstallmentsInPaymentData","installments","browserInfo","origin","window","location","beforeRender","configSetByMerchant","originalAction","event","AnalyticsInfoEvent","InfoEventType","rendered","component","configData","showPayButton","oneClick","isStoredPaymentMethod","analytics","sendAnalytics","updateStyles","stylesObj","setFocusOn","fieldName","processBinLookupResponse","binLookupResponse","isReset","handleUnsupportedCard","errObj","onBinLookup","obj","_this_props_onBinLookup","_this_props","nuObj","reject","from","call","_this_props_storedPaymentMethodId","_this_props_amount","length","storePaymentMethod","Boolean","isValid","_this_props_icon","resources","getImage","brands","map","modules","name","displayName","lastFour","accessibleName","get","collectBrowserInfo","renderCardInput","isCardPrimaryInput","h","CardInput","setComponentRef","onSubmitAnalytics","submitAnalytics","onChange","setState","onSubmit","submit","handleKeyPress","payButton","onBrand","onBinValue","brandsIcons","isPayButtonPrimaryVariant","onFocus","onBlur","onConfigSuccess","componentToRender","ClickToPayWrapper","clickToPayService","isStandaloneComponent","setClickToPayRef","onSetStatus","setElementStatus","handleClickToPaySubmit","onError","handleError","constructor","checkout","_this_clickToPayService","_define_property","ref","_this_props_onBrand","payload","valid","errors","_this_props_onConfigSuccess","configured","focus","target","fieldTypeToSnakeCase","fieldType","_this_props_onFocus","_this_props_onFocus1","_this_props1","isSecuredField","unfocus","_this_props_onBlur","_this_props_onBlur1","triggerBinLookUp","isZeroAuth","isStoredCard","PayButton","label","onClick","_disableClickToPay","createClickToPayService","environment","initialize","scheme","defaultProps","showFormInstruction","doBinLookup"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Card.js","sources":["../../../../src/components/Card/Card.tsx"],"sourcesContent":["import { h } from 'preact';\nimport CardInput from './components/CardInput';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport { BinLookupResponse, CardElementData, CardConfiguration } from './types';\nimport triggerBinLookUp from '../internal/SecuredFields/binLookup/triggerBinLookUp';\nimport { CardBinLookupData, CardConfigSuccessData, CardFocusData } from '../internal/SecuredFields/lib/types';\nimport { fieldTypeToSnakeCase, isSecuredField } from '../internal/SecuredFields/utils';\nimport { reject } from '../../utils/commonUtils';\nimport { shouldIncludeInstallmentsInPaymentData } from './components/CardInput/utils';\nimport createClickToPayService from '../internal/ClickToPay/services/create-clicktopay-service';\nimport { ClickToPayCheckoutPayload, IClickToPayService } from '../internal/ClickToPay/services/types';\nimport ClickToPayWrapper from './components/ClickToPayWrapper';\nimport { ComponentFocusObject, PaymentMethodBrand } from '../../types/global-types';\nimport { TxVariants } from '../tx-variants';\nimport type { UIElementStatus } from '../internal/UIElement/types';\nimport UIElement from '../internal/UIElement';\nimport PayButton from '../internal/PayButton';\nimport type { ICore } from '../../core/types';\nimport AdyenCheckoutError, { IMPLEMENTATION_ERROR } from '../../core/Errors/AdyenCheckoutError';\nimport CardInputDefaultProps from './components/CardInput/defaultProps';\nimport { PayButtonProps } from '../internal/PayButton/PayButton';\nimport { AnalyticsInfoEvent, InfoEventType, UiTarget } from '../../core/Analytics/events/AnalyticsInfoEvent';\n\nexport class CardElement extends UIElement<CardConfiguration> {\n public static readonly type: TxVariants = TxVariants.scheme;\n\n private readonly clickToPayService: IClickToPayService | null;\n\n /**\n * Reference to the 'ClickToPayComponent'\n */\n private clickToPayRef = null;\n\n constructor(checkout: ICore, props?: CardConfiguration) {\n super(checkout, props);\n\n if (props && !props._disableClickToPay && this.props.fundingSource !== 'prepaid') {\n this.clickToPayService = createClickToPayService(\n this.props.configuration,\n this.props.clickToPayConfiguration,\n this.props.environment,\n this.analytics\n );\n\n void this.clickToPayService?.initialize();\n }\n }\n\n protected static readonly defaultProps = {\n showFormInstruction: true,\n _disableClickToPay: false,\n doBinLookup: true,\n // Merge most of CardInput's defaultProps\n ...reject(['type', 'setComponentRef']).from(CardInputDefaultProps)\n };\n\n public setStatus(status: UIElementStatus, props?): this {\n if (this.componentRef?.setStatus) {\n this.componentRef.setStatus(status, props);\n }\n if (this.clickToPayRef?.setStatus) {\n this.clickToPayRef.setStatus(status, props);\n }\n return this;\n }\n\n private setClickToPayRef = ref => {\n this.clickToPayRef = ref;\n };\n\n // This is the most self contained way of handling funding source matching\n // Alternatives would be to override getPaymentMethodConfigFromResponse and change it's signature\n protected override getPaymentMethodConfigFromResponse(componentProps: CardConfiguration) {\n if (componentProps?.fundingSource) {\n return this.core.paymentMethodsResponse?.findByFundingSource(componentProps.type, componentProps.fundingSource);\n }\n\n return super.getPaymentMethodConfigFromResponse(componentProps);\n }\n\n formatProps(props: CardConfiguration): CardConfiguration {\n // The value from a session should be used, before falling back to the merchant configuration\n const enableStoreDetails = props.session?.configuration?.enableStoreDetails ?? props.enableStoreDetails;\n\n const isZeroAuth = props.amount?.value === 0;\n const showStoreDetailsCheckbox = isZeroAuth ? false : enableStoreDetails;\n\n const storedCardID = props.storedPaymentMethodId || props.id; // check if we've been passed a (checkout) processed storedCard or one that merchant has pulled from the PMs response\n const isEcommerceStoredCard = storedCardID && props?.supportedShopperInteractions?.includes('Ecommerce'); // If we have a storedCard does it support Ecommerce (it might not if the merchant has pulled it from the PMs response)\n\n // If we have a storedPM but it doesn't support Ecommerce - we can't make a storedCard component from it\n if (storedCardID && !isEcommerceStoredCard) {\n // TODO - Decide if an error is too severe? Would a console.warning suffice?\n throw new AdyenCheckoutError(\n IMPLEMENTATION_ERROR,\n 'You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions'\n );\n }\n\n return {\n ...props,\n // Mismatch between hasHolderName & holderNameRequired which can mean card can never be valid\n holderNameRequired: !props.hasHolderName ? false : props.holderNameRequired,\n // False for *stored* BCMC cards & if merchant explicitly wants to hide the CVC field\n hasCVC: !((props.brand && props.brand === 'bcmc') || props.hideCVC),\n // billingAddressRequired only available for non-stored cards\n billingAddressRequired: props.storedPaymentMethodId ? false : props.billingAddressRequired,\n // edge case where merchant has defined both an onAddressLookup callback AND set billingAddressMode: 'partial' - which leads to some strange behaviour in the address UI\n billingAddressMode: props.onAddressLookup ? CardInputDefaultProps.billingAddressMode : props.billingAddressMode,\n /** props.brand will be specified in the case of a StoredCard or a Bancontact component, for a regular Card we default it to 'card' */\n brand: props.brand ?? TxVariants.card,\n countryCode: props.countryCode ? props.countryCode.toLowerCase() : null,\n // Required for transition period (until configuration object becomes the norm)\n // - if merchant has defined value directly in props, use this instead\n configuration: {\n ...props.configuration,\n socialSecurityNumberMode: props.configuration?.socialSecurityNumberMode ?? 'auto'\n },\n brandsConfiguration: props.brandsConfiguration || props.configuration?.brandsConfiguration || {},\n icon: props.icon || props.configuration?.icon,\n // installmentOptions of a session should be used before falling back to the merchant configuration\n installmentOptions: props.session?.configuration?.installmentOptions || props.installmentOptions,\n enableStoreDetails,\n showStoreDetailsCheckbox,\n /**\n * Click to Pay configuration\n * - If email is set explicitly in the configuration, then it can override the one used in the session creation\n */\n clickToPayConfiguration: {\n ...props.clickToPayConfiguration,\n disableOtpAutoFocus: props.clickToPayConfiguration?.disableOtpAutoFocus || false,\n shopperEmail: props.clickToPayConfiguration?.shopperEmail || this.core.options?.session?.shopperEmail,\n telephoneNumber: props.clickToPayConfiguration?.telephoneNumber || this.core.options?.session?.telephoneNumber,\n locale: props.clickToPayConfiguration?.locale || props.i18n?.locale?.replace('-', '_')\n },\n ...(storedCardID && { storedPaymentMethodId: storedCardID })\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): CardElementData {\n /**\n * this.state.selectedBrandValue will be set when:\n * - /binLookup detects a single brand,\n * - when /binLookup detects a dual-branded card and the shopper makes a brand selection\n * - or, in the case of a storedCard\n */\n const cardBrand = this.state.selectedBrandValue;\n\n return {\n paymentMethod: {\n type: CardElement.type,\n ...this.state.data,\n ...(this.props.storedPaymentMethodId && {\n storedPaymentMethodId: this.props.storedPaymentMethodId,\n holderName: this.props.holderName ?? ''\n }),\n ...(cardBrand && { brand: cardBrand }),\n ...(this.props.fundingSource && { fundingSource: this.props.fundingSource }),\n ...(this.state.fastlaneData && { fastlaneData: btoa(JSON.stringify(this.state.fastlaneData)) })\n },\n ...(this.state.billingAddress && { billingAddress: this.state.billingAddress }),\n ...(this.state.socialSecurityNumber && { socialSecurityNumber: this.state.socialSecurityNumber }),\n ...this.storePaymentMethodPayload,\n ...(shouldIncludeInstallmentsInPaymentData(this.state.installments) && { installments: this.state.installments }),\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin\n };\n }\n\n protected override beforeRender(configSetByMerchant?: CardConfiguration): void {\n // We don't send 'rendered' events when rendering actions\n if (configSetByMerchant?.originalAction) {\n return;\n }\n\n const event = new AnalyticsInfoEvent({\n type: InfoEventType.rendered,\n component: this.type,\n configData: { ...configSetByMerchant, showPayButton: this.props.showPayButton },\n ...(configSetByMerchant?.oneClick && {\n isStoredPaymentMethod: true,\n brand: configSetByMerchant.brand\n })\n });\n\n this.analytics.sendAnalytics(event);\n }\n\n updateStyles(stylesObj) {\n if (this.componentRef?.updateStyles) this.componentRef.updateStyles(stylesObj);\n return this;\n }\n\n setFocusOn(fieldName) {\n if (this.componentRef?.setFocusOn) this.componentRef.setFocusOn(fieldName);\n return this;\n }\n\n public onBrand = event => {\n this.props.onBrand?.(event);\n };\n\n processBinLookupResponse(binLookupResponse: BinLookupResponse, isReset = false) {\n if (this.componentRef?.processBinLookupResponse) this.componentRef.processBinLookupResponse(binLookupResponse, isReset);\n return this;\n }\n\n handleUnsupportedCard(errObj) {\n if (this.componentRef?.handleUnsupportedCard) this.componentRef.handleUnsupportedCard(errObj);\n return this;\n }\n\n private handleClickToPaySubmit = (payload: ClickToPayCheckoutPayload) => {\n this.setState({ data: { ...payload }, valid: {}, errors: {}, isValid: true });\n this.submit();\n };\n\n onBinLookup(obj: CardBinLookupData) {\n // Handler for regular card comp doesn't need this 'raw' data or to know about 'resets'\n if (!obj.isReset) {\n const nuObj = reject('supportedBrandsRaw').from(obj);\n this.props.onBinLookup?.(nuObj);\n }\n }\n\n private onConfigSuccess = (obj: CardConfigSuccessData) => {\n const event = new AnalyticsInfoEvent({ component: this.type, type: InfoEventType.configured });\n this.submitAnalytics(event);\n\n this.props.onConfigSuccess?.(obj);\n };\n\n private onFocus = (obj: ComponentFocusObject) => {\n const event = new AnalyticsInfoEvent({\n component: this.type,\n type: InfoEventType.focus,\n target: fieldTypeToSnakeCase(obj.fieldType) as UiTarget\n });\n this.submitAnalytics(event);\n\n // Call merchant defined callback\n if (isSecuredField(obj.fieldType)) {\n this.props.onFocus?.(obj.event as CardFocusData);\n } else {\n this.props.onFocus?.(obj);\n }\n };\n\n private onBlur = (obj: ComponentFocusObject) => {\n const event = new AnalyticsInfoEvent({\n component: this.type,\n type: InfoEventType.unfocus,\n target: fieldTypeToSnakeCase(obj.fieldType) as UiTarget\n });\n this.submitAnalytics(event);\n\n // Call merchant defined callback\n if (isSecuredField(obj.fieldType)) {\n this.props.onBlur?.(obj.event as CardFocusData);\n } else {\n this.props.onBlur?.(obj);\n }\n };\n\n public onBinValue = triggerBinLookUp(this);\n\n get storePaymentMethodPayload() {\n const isStoredCard = this.props.storedPaymentMethodId?.length > 0;\n if (isStoredCard) {\n return {};\n }\n\n /**\n * For regular card, zero auth payments, we store the payment method, *if* the configuration says we should:\n * - For sessions, this means if the session has been created with storePaymentMethodMode: 'askForConsent'\n * - For the advanced flow, this means if the merchant has still set enableStoreDetails: true\n *\n * What we are doing is.. if for a normal payment we would show the \"Save for my next payment\" checkbox,\n * for a zero-auth payment we effectively click the checkbox on behalf of the shopper.\n */\n const isZeroAuth = this.props.amount?.value === 0;\n if (isZeroAuth) {\n return this.props.enableStoreDetails ? { storePaymentMethod: true } : {};\n }\n\n // For regular card, non-zero auth payments, we store the payment method based on the checkbox value.\n const includeStorePaymentMethod = this.props.showStoreDetailsCheckbox && typeof this.state.storePaymentMethod !== 'undefined';\n return includeStorePaymentMethod ? { storePaymentMethod: Boolean(this.state.storePaymentMethod) } : {};\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get icon() {\n return this.props.icon ?? this.resources.getImage()(this.props.brand);\n }\n\n get brands(): PaymentMethodBrand[] {\n const { brands, brandsConfiguration } = this.props;\n if (brands) {\n return brands.map(brand => {\n const brandIcon = brandsConfiguration?.[brand]?.icon ?? this.props.modules.resources.getImage()(brand);\n return { icon: brandIcon, name: brand };\n });\n }\n\n return [];\n }\n\n get displayName(): string {\n if (this.props.storedPaymentMethodId) {\n return `•••• ${this.props.lastFour}`;\n }\n\n return this.props.name || CardElement.type;\n }\n\n get accessibleName(): string {\n // Use display name, unless it's a stored payment method, there inform user\n return (\n (this.props.name || CardElement.type) +\n (this.props.storedPaymentMethodId\n ? ' ' + this.props.i18n.get('creditCard.storedCard.description.ariaLabel').replace('%@', this.props.lastFour)\n : '')\n );\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n protected override payButton = (props: PayButtonProps): h.JSX.Element => {\n const isZeroAuth = this.props.amount?.value === 0;\n const isStoredCard = this.props.storedPaymentMethodId?.length > 0;\n return <PayButton {...props} label={isZeroAuth && !isStoredCard ? this.props.i18n.get('payButton.saveDetails') : ''} onClick={this.submit} />;\n };\n\n private renderCardInput(isCardPrimaryInput = true): h.JSX.Element {\n return (\n <CardInput\n setComponentRef={this.setComponentRef}\n {...this.props}\n {...this.state}\n onSubmitAnalytics={this.submitAnalytics}\n onChange={this.setState}\n onSubmit={this.submit}\n handleKeyPress={this.handleKeyPress}\n payButton={this.payButton}\n onBrand={this.onBrand}\n onBinValue={this.onBinValue}\n brand={this.props.brand}\n brandsIcons={this.brands}\n isPayButtonPrimaryVariant={isCardPrimaryInput}\n resources={this.resources}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onConfigSuccess={this.onConfigSuccess}\n />\n );\n }\n\n protected override componentToRender(): h.JSX.Element {\n return (\n <ClickToPayWrapper\n configuration={this.props.clickToPayConfiguration}\n clickToPayService={this.clickToPayService}\n isStandaloneComponent={false}\n setClickToPayRef={this.setClickToPayRef}\n onSetStatus={this.setElementStatus}\n onSubmit={this.handleClickToPaySubmit}\n onError={this.handleError}\n >\n {isCardPrimaryInput => this.renderCardInput(isCardPrimaryInput)}\n </ClickToPayWrapper>\n );\n }\n}\n\nexport default CardElement;\n"],"names":["CardElement","UIElement","setStatus","status","props","_this_componentRef","_this_clickToPayRef","this","componentRef","clickToPayRef","getPaymentMethodConfigFromResponse","componentProps","_this_core_paymentMethodsResponse","fundingSource","core","paymentMethodsResponse","findByFundingSource","type","super","formatProps","_this_core_options_session","_this_core_options","_this_core_options_session1","_this_core_options1","enableStoreDetails","session","configuration","_ref","showStoreDetailsCheckbox","amount","value","storedCardID","storedPaymentMethodId","id","isEcommerceStoredCard","supportedShopperInteractions","includes","AdyenCheckoutError","IMPLEMENTATION_ERROR","_object_spread","_object_spread_props","holderNameRequired","hasHolderName","hasCVC","brand","hideCVC","billingAddressRequired","billingAddressMode","onAddressLookup","CardInputDefaultProps","TxVariants","card","countryCode","toLowerCase","socialSecurityNumberMode","_ref1","brandsConfiguration","icon","installmentOptions","clickToPayConfiguration","disableOtpAutoFocus","shopperEmail","options","telephoneNumber","locale","i18n","replace","formatData","_this_props_holderName","cardBrand","state","selectedBrandValue","paymentMethod","data","holderName","fastlaneData","btoa","JSON","stringify","billingAddress","socialSecurityNumber","storePaymentMethodPayload","shouldIncludeInstallmentsInPaymentData","installments","browserInfo","origin","window","location","beforeRender","configSetByMerchant","originalAction","event","AnalyticsInfoEvent","InfoEventType","rendered","component","configData","showPayButton","oneClick","isStoredPaymentMethod","analytics","sendAnalytics","updateStyles","stylesObj","setFocusOn","fieldName","processBinLookupResponse","binLookupResponse","isReset","handleUnsupportedCard","errObj","onBinLookup","obj","_this_props_onBinLookup","_this_props","nuObj","reject","from","call","_this_props_storedPaymentMethodId","_this_props_amount","length","storePaymentMethod","Boolean","isValid","_this_props_icon","resources","getImage","brands","map","brandIcon","modules","name","displayName","lastFour","accessibleName","get","collectBrowserInfo","renderCardInput","isCardPrimaryInput","h","CardInput","setComponentRef","onSubmitAnalytics","submitAnalytics","onChange","setState","onSubmit","submit","handleKeyPress","payButton","onBrand","onBinValue","brandsIcons","isPayButtonPrimaryVariant","onFocus","onBlur","onConfigSuccess","componentToRender","ClickToPayWrapper","clickToPayService","isStandaloneComponent","setClickToPayRef","onSetStatus","setElementStatus","handleClickToPaySubmit","onError","handleError","constructor","checkout","_this_clickToPayService","_define_property","ref","_this_props_onBrand","payload","valid","errors","_this_props_onConfigSuccess","configured","focus","target","fieldTypeToSnakeCase","fieldType","_this_props_onFocus","_this_props_onFocus1","_this_props1","isSecuredField","unfocus","_this_props_onBlur","_this_props_onBlur1","triggerBinLookUp","isZeroAuth","isStoredCard","PayButton","label","onClick","_disableClickToPay","createClickToPayService","environment","initialize","scheme","defaultProps","showFormInstruction","doBinLookup"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e,Fragment as r}from"../../../../external/preact/dist/preact.js";import{useRef as t,useMemo as n,useState as o,useCallback as s,useEffect as a}from"../../../../external/preact/hooks/dist/hooks.js";import i from"../../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import l from"./defaultProps.js";import{AddressModeOptions as d}from"./types.js";import{DATE_POLICY_REQUIRED as u,CVC_POLICY_REQUIRED as c,ENCRYPTED_CARD_NUMBER as m}from"../../../internal/SecuredFields/lib/constants.js";import{cardInputValidationRules as p,cardInputFormatters as y,getRuleByNameAndMode as f}from"./validate.js";import b from"../../../internal/SecuredFields/binLookup/extensions.js";import h from"../../../../utils/useForm/useForm.js";import{handlePartialAddressMode as S,shouldShowInstallmentsComponent as g,extractPropsForSFP as N,getLayout as A,extractPropsForCardFields as v}from"./utils.js";import j from"../../../internal/Address/Specifications.js";import{StoredCardFieldsWrapper as C}from"./components/StoredCardFieldsWrapper.js";import{CardFieldsWrapper as F}from"./components/CardFieldsWrapper.js";import{getAutoJumpHandler as O,getFocusHandler as P,getAddressHandler as w}from"./handlers.js";import E from"../../../../_virtual/index.js";import{getPartialAddressValidationRules as k}from"../../../internal/Address/validate.js";import x from"../../../../core/Context/useImage.js";import{getArrayDifferences as B}from"../../../../utils/arrayUtils.js";import R from"../../../internal/FormInstruction/FormInstruction.js";import{PREFIX as I}from"../../../internal/Icon/constants.js";import D from"./useSRPanelForCardInputErrors.js";import V from"../Fastlane/FastlaneSignup.js";import{fieldTypeToSnakeCase as q}from"../../../internal/SecuredFields/utils.js";import{getErrorMessageFromCode as M}from"../../../../core/Errors/utils.js";import{SF_ErrorCodes as _}from"../../../../core/Errors/constants.js";import{usePrevious as L}from"../../../../utils/hookUtils.js";import{AnalyticsInfoEvent as T,InfoEventType as K,UiTarget as U}from"../../../../core/Analytics/events/AnalyticsInfoEvent.js";import{useAmount as H}from"../../../../core/Context/AmountProvider.js";function z(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function W(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.forEach(function(r){z(e,r,t[r])})}return e}function $(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}),e}const G=l=>{var z,G,J,Q;const X=t(null),Y=t(!1),Z=x(),ee=t(null),re=e=>{ee.current=e},te=t({});Object.keys(te.current).length||l.setComponentRef(te.current);const ne=t(0),oe=t(!1),se=n(()=>new j(l.specifications),[l.specifications]),{amount:ae}=H();te.current.sfp=X;const[ie,le]=o("ready"),[de,ue]=o({}),[ce,me]=o(W({},l.holderNameRequired&&{holderName:!1})),[pe,ye]=o(W({},l.hasHolderName&&{holderName:null!==(z=l.data.holderName)&&void 0!==z?z:""})),[fe,be]=o(""),[he,Se]=o(!1),[ge,Ne]=o(u),[Ae,ve]=o(c),[je,Ce]=o(null),[Fe,Oe]=o([]),[Pe,we]=o(l.storedPaymentMethodId?l.brand:""),Ee=l.billingAddressMode!==d.none&&l.billingAddressRequired,ke=S(l.billingAddressMode),xe=t(ke&&(null===(Q=l.data)||void 0===Q||null===(J=Q.billingAddress)||void 0===J?void 0:J.country)),[Be,Re]=o(!1),[Ie,De]=o(Ee?l.data.billingAddress:null),[Ve,qe]=o(!1),[Me,_e]=o(""),[Le,Te]=o({value:null}),[Ke,Ue]=o(null),[He,ze]=o("card"),[We,$e]=o(!1),{handleChangeFor:Ge,triggerValidation:Je,data:Qe,valid:Xe,errors:Ye,setSchema:Ze,setData:er,setValid:rr,setErrors:tr}=h({schema:[],defaultData:l.data,formatters:y,rules:p}),nr=g({installmentOptions:l.installmentOptions,fundingSource:l.fundingSource,amount:ae}),or=null===(G=l.showInstallmentAmounts)||void 0===G||G,sr="kr"===(null!=je?je:l.countryCode),ar=l.configuration.koreanAuthenticationRequired&&sr,ir=Ve&&"auto"===l.configuration.socialSecurityNumberMode||"show"===l.configuration.socialSecurityNumberMode,lr=(e,r)=>{l.onFocus({fieldType:e,event:r})},dr=(e,r)=>{l.onBlur({fieldType:e,event:r})},ur=s(e=>{ze(e.brand),l.onBrand(e)},[]),cr=P(be,lr,dr),mr=()=>A(W({props:l,showKCP:ar,showBrazilianSSN:ir},l.billingAddressRequired&&{countrySpecificSchemas:se.getAddressSchemaForCountry(null==Ie?void 0:Ie.country),billingAddressRequiredFields:l.billingAddressRequiredFields})),pr=s(e=>{const r="webInternalElement"!==e.fieldType?e.fieldType:e.name;Ue(r)},[]),yr=w(er,rr,tr),fr=O(oe,X,mr()),br=s(e=>{hr(e)},[We,$e]),hr=e=>{e.status&&("loading"==e.status?$e(!1):$e(!0))},Sr=n(()=>b(l,{sfp:X},{dualBrandSelectElements:Fe,setDualBrandSelectElements:Oe,setSelectedBrandValue:we,issuingCountryCode:je,setIssuingCountryCode:Ce},ne),[Fe,je]);te.current.showValidation=()=>{Y.current=!0,null==Ar||Ar(),X.current.showValidation(),Je(["holderName","socialSecurityNumber","taxNumber"]),(null==ee?void 0:ee.current)&&ee.current.showValidation()},te.current.processBinLookupResponse=(e,r)=>{Sr.processBinLookup(e,r)},te.current.setStatus=le,a(()=>(te.current.setFocusOn=X.current.setFocusOn,te.current.updateStyles=X.current.updateStyles,te.current.handleUnsupportedCard=X.current.handleUnsupportedCard,()=>{X.current.destroy()}),[]),a(()=>{const e=[...l.hasHolderName?["holderName"]:[],...ir?["socialSecurityNumber"]:[],...ar?["taxNumber"]:[],...Ee?["billingAddress"]:[]];Ze(e)},[l.hasHolderName,ir,ar]),a(()=>{var e;ye($(W({},pe),{holderName:null!==(e=Qe.holderName)&&void 0!==e?e:"",taxNumber:Qe.taxNumber})),_e(Qe.socialSecurityNumber),Ee&&De(W({},Qe.billingAddress)),me($(W({},ce),{holderName:!l.holderNameRequired||Xe.holderName,socialSecurityNumber:!!Xe.socialSecurityNumber&&Xe.socialSecurityNumber,taxNumber:!!Xe.taxNumber&&Xe.taxNumber,billingAddress:!!Xe.billingAddress&&Xe.billingAddress}));const r=!!Ye.billingAddress&&Object.entries(Ye.billingAddress).reduce((e,[,r])=>e||null!=r,!1);ue($(W({},de),{holderName:l.holderNameRequired&&Ye.holderName?Ye.holderName:null,socialSecurityNumber:ir&&Ye.socialSecurityNumber?Ye.socialSecurityNumber:null,taxNumber:ar&&Ye.taxNumber?Ye.taxNumber:null,billingAddress:Ee&&r?Ye.billingAddress:null}))},[Qe,Xe,Ye]);const{sortedErrorList:gr,previousSortedErrors:Nr,clearSRPanel:Ar}=D({errors:de,props:l,isValidating:Y,retrieveLayout:mr,specifications:se,billingAddress:Ie,sfp:X});a(()=>{if(gr){const e=B(gr,Nr,"field");null==e||e.forEach(e=>{const r=new T({component:l.type,type:K.validationError,target:q(e.field),validationErrorCode:e.errorCode,validationErrorMessage:M(e.errorCode,_)});l.onSubmitAnalytics(r)})}},[gr]),a(()=>{const e=ce.holderName,r=he,t=!Ee||ce.billingAddress,n=!ar||!!ce.taxNumber&&!!ce.encryptedPassword,o=!ir||!!ce.socialSecurityNumber,s=r&&e&&t&&n&&o,a=X.current.mapErrorsToValidationRuleResult(),i=W({},de,a);l.onChange({data:pe,valid:ce,errors:i,isValid:s,billingAddress:Ie,selectedBrandValue:Pe,storePaymentMethod:Be,socialSecurityNumber:Me,installments:Le})},[pe,ce,de,Pe,Be,Le]),a(()=>{if(Fe.length>0&&Fe){const e=Fe.map(e=>e.id),r=e[0],t=e.toString(),n=new T({component:l.type,type:K.displayed,target:U.dualBrandButton,brand:r,configData:{dualBrands:t}});l.onSubmitAnalytics(n)}},[Fe]);const vr=L(Pe);a(()=>{if((null==vr?void 0:vr.length)&&(null==Pe?void 0:Pe.length)){const e=new T({component:l.type,type:K.selected,target:U.dualBrandButton,brand:Pe});l.onSubmitAnalytics(e)}},[Pe]);const jr=l.storedPaymentMethodId?C:F;return e(r,null,e(i,$(W({ref:X},N(l)),{styles:W({},l.styles),koreanAuthenticationRequired:l.configuration.koreanAuthenticationRequired,hasKoreanFields:!(!l.configuration.koreanAuthenticationRequired||"kr"!==l.countryCode),onSubmitAnalytics:l.onSubmitAnalytics,onChange:(e,r)=>{if(e.autoCompleteName){if(!l.hasHolderName)return;const r=f("holderName","blur")(e.autoCompleteName)?e.autoCompleteName:null;return void(r&&(er("holderName",r),rr("holderName",!0),tr("holderName",null)))}var t;l.autoFocus&&ne.current>0&&"handleOnFieldValid"===(null==r?void 0:r.event)&&(null==r?void 0:r.fieldType)===m&&e.valid.encryptedCardNumber&&fr(),ye(W({},pe,e.data)),ue(W({},de,(t=e.errors)?{encryptedCardNumber:!!t.encryptedCardNumber,encryptedExpiryDate:!!t.encryptedExpiryDate,encryptedSecurityCode:!!t.encryptedSecurityCode,encryptedPassword:!!t.encryptedPassword}:{})),me(W({},ce,e.valid)),Se(e.isSfpValid),ve(e.cvcPolicy),qe(e.showSocialSecurityNumber),Ne(e.expiryDatePolicy)},onBrand:ur,onFocus:cr,onStateUpdate:br,type:l.brand,componentType:l.type,disableIOSArrowKeys:l.disableIOSArrowKeys?pr:null,render:({setRootNode:r,setFocusOn:t},n)=>{var o;return e("div",{ref:r,className:E({"adyen-checkout__card-input":!0,"adyen-checkout-card-input__wrapper":!0,[`adyen-checkout__card-input--${null!==(o=l.fundingSource)&&void 0!==o?o:"credit"}`]:!0,"adyen-checkout__card-input--loading":"loading"===ie}),role:"form"},We&&e(R,null),e(jr,$(W({},v(l)),{data:pe,valid:ce,errors:de,handleChangeFor:Ge,focusedElement:fe,setFocusOn:t,sfpState:n,cvcPolicy:Ae,hasInstallments:nr,showAmountsInInstallments:or,handleInstallments:Te,brandsIcons:l.brandsIcons,formData:Qe,formErrors:Ye,formValid:Xe,expiryDatePolicy:ge,dualBrandSelectElements:Fe,extensions:Sr,selectedBrandValue:Pe,showKCP:ar,showBrazilianSSN:ir,socialSecurityNumber:Me,handleOnStoreDetails:Re,setAddressRef:re,billingAddress:Ie,billingAddressValidationRules:ke&&k(xe.current),partialAddressSchema:ke,handleAddress:yr,onAddressLookup:l.onAddressLookup,onAddressSelected:l.onAddressSelected,addressSearchDebounceMs:l.addressSearchDebounceMs,iOSFocusedField:Ke,onFieldFocusAnalytics:lr,onFieldBlurAnalytics:dr})))}})),l.fastlaneConfiguration&&e(V,$(W({},l.fastlaneConfiguration),{currentDetectedBrand:He,onChange:l.onChange,onSubmitAnalytics:l.onSubmitAnalytics,type:l.type})),We&&l.showPayButton&&l.payButton({status:ie,variant:l.isPayButtonPrimaryVariant?"primary":"secondary",icon:Z({imageFolder:"components/"})(`${I}lock`)}))};G.defaultProps=l;export{G as default};
|
|
1
|
+
import{createElement as e,Fragment as r}from"../../../../external/preact/dist/preact.js";import{useRef as t,useMemo as n,useState as o,useCallback as s,useEffect as a}from"../../../../external/preact/hooks/dist/hooks.js";import i from"../../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import l from"./defaultProps.js";import{AddressModeOptions as d}from"./types.js";import{DATE_POLICY_REQUIRED as u,CVC_POLICY_REQUIRED as c,ENCRYPTED_CARD_NUMBER as m}from"../../../internal/SecuredFields/lib/constants.js";import{cardInputValidationRules as p,cardInputFormatters as y,getRuleByNameAndMode as f}from"./validate.js";import b from"../../../internal/SecuredFields/binLookup/extensions.js";import h from"../../../../utils/useForm/useForm.js";import{handlePartialAddressMode as S,shouldShowInstallmentsComponent as g,extractPropsForSFP as N,getLayout as v,extractPropsForCardFields as A}from"./utils.js";import j from"../../../internal/Address/Specifications.js";import{StoredCardFieldsWrapper as C}from"./components/StoredCardFieldsWrapper.js";import{CardFieldsWrapper as F}from"./components/CardFieldsWrapper.js";import{getAutoJumpHandler as O,getFocusHandler as P,getAddressHandler as w}from"./handlers.js";import E from"../../../../_virtual/index.js";import{getPartialAddressValidationRules as k}from"../../../internal/Address/validate.js";import x from"../../../../core/Context/useImage.js";import{getArrayDifferences as B}from"../../../../utils/arrayUtils.js";import R from"../../../internal/FormInstruction/FormInstruction.js";import{PREFIX as I}from"../../../internal/Icon/constants.js";import D from"./useSRPanelForCardInputErrors.js";import V from"../Fastlane/FastlaneSignup.js";import{fieldTypeToSnakeCase as q}from"../../../internal/SecuredFields/utils.js";import{getErrorMessageFromCode as M}from"../../../../core/Errors/utils.js";import{SF_ErrorCodes as _}from"../../../../core/Errors/constants.js";import{usePrevious as L}from"../../../../utils/hookUtils.js";import{AnalyticsInfoEvent as T,InfoEventType as K,UiTarget as U}from"../../../../core/Analytics/events/AnalyticsInfoEvent.js";import{useAmount as H}from"../../../../core/Context/AmountProvider.js";function z(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function W(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.forEach(function(r){z(e,r,t[r])})}return e}function $(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}),e}const G=l=>{var z,G,J,Q,X,Y,Z;const ee=t(null),re=t(!1),te=x(),ne=t(null),oe=e=>{ne.current=e},se=t({});Object.keys(se.current).length||l.setComponentRef(se.current);const ae=t(0),ie=t(!1),le=n(()=>new j(l.specifications),[l.specifications]),{amount:de}=H();se.current.sfp=ee;const[ue,ce]=o("ready"),[me,pe]=o({}),[ye,fe]=o(W({},l.holderNameRequired&&{holderName:!1})),[be,he]=o(W({},l.hasHolderName&&{holderName:null!==(z=null===(Q=l.data)||void 0===Q?void 0:Q.holderName)&&void 0!==z?z:""})),[Se,ge]=o(""),[Ne,ve]=o(!1),[Ae,je]=o(u),[Ce,Fe]=o(c),[Oe,Pe]=o(null),[we,Ee]=o([]),[ke,xe]=o(l.storedPaymentMethodId?l.brand:""),Be=l.billingAddressMode!==d.none&&l.billingAddressRequired,Re=S(l.billingAddressMode),Ie=t(Re&&(null===(Y=l.data)||void 0===Y||null===(X=Y.billingAddress)||void 0===X?void 0:X.country)),[De,Ve]=o(!1),[qe,Me]=o(Be&&null!==(G=null===(Z=l.data)||void 0===Z?void 0:Z.billingAddress)&&void 0!==G?G:null),[_e,Le]=o(!1),[Te,Ke]=o(""),[Ue,He]=o({value:null}),[ze,We]=o(null),[$e,Ge]=o("card"),[Je,Qe]=o(!1),{handleChangeFor:Xe,triggerValidation:Ye,data:Ze,valid:er,errors:rr,setSchema:tr,setData:nr,setValid:or,setErrors:sr}=h({schema:[],defaultData:l.data,formatters:y,rules:p}),ar=g({installmentOptions:l.installmentOptions,fundingSource:l.fundingSource,amount:de}),ir=null===(J=l.showInstallmentAmounts)||void 0===J||J,lr="kr"===(null!=Oe?Oe:l.countryCode),dr=!!l.configuration.koreanAuthenticationRequired&&lr,ur=_e&&"auto"===l.configuration.socialSecurityNumberMode||"show"===l.configuration.socialSecurityNumberMode,cr=(e,r)=>{l.onFocus({fieldType:e,event:r})},mr=(e,r)=>{l.onBlur({fieldType:e,event:r})},pr=s(e=>{Ge(e.brand),l.onBrand(e)},[]),yr=P(ge,cr,mr),fr=()=>v(W({props:l,showKCP:dr,showBrazilianSSN:ur},l.billingAddressRequired&&{countrySpecificSchemas:le.getAddressSchemaForCountry(null==qe?void 0:qe.country),billingAddressRequiredFields:l.billingAddressRequiredFields})),br=s(e=>{const r="webInternalElement"!==e.fieldType?e.fieldType:e.name;We(r)},[]),hr=w(nr,or,sr),Sr=O(ie,ee,fr()),gr=s(e=>{Nr(e)},[Je,Qe]),Nr=e=>{e.status&&("loading"==e.status?Qe(!1):Qe(!0))},vr=n(()=>b(l,{sfp:ee},{dualBrandSelectElements:we,setDualBrandSelectElements:Ee,setSelectedBrandValue:xe,issuingCountryCode:Oe,setIssuingCountryCode:Pe},ae),[we,Oe]);se.current.showValidation=()=>{re.current=!0,null==Cr||Cr(),ee.current.showValidation(),Ye(["holderName","socialSecurityNumber","taxNumber"]),(null==ne?void 0:ne.current)&&ne.current.showValidation()},se.current.processBinLookupResponse=(e,r)=>{vr.processBinLookup(e,r)},se.current.setStatus=ce,a(()=>(se.current.setFocusOn=ee.current.setFocusOn,se.current.updateStyles=ee.current.updateStyles,se.current.handleUnsupportedCard=ee.current.handleUnsupportedCard,()=>{ee.current.destroy()}),[]),a(()=>{const e=[...l.hasHolderName?["holderName"]:[],...ur?["socialSecurityNumber"]:[],...dr?["taxNumber"]:[],...Be?["billingAddress"]:[]];tr(e)},[l.hasHolderName,ur,dr]),a(()=>{var e;he($(W({},be),{holderName:null!==(e=Ze.holderName)&&void 0!==e?e:"",taxNumber:Ze.taxNumber})),Ke(Ze.socialSecurityNumber),Be&&Me(W({},Ze.billingAddress)),fe($(W({},ye),{holderName:!l.holderNameRequired||er.holderName,socialSecurityNumber:!!er.socialSecurityNumber&&er.socialSecurityNumber,taxNumber:!!er.taxNumber&&er.taxNumber,billingAddress:!!er.billingAddress&&er.billingAddress}));const r=!!rr.billingAddress&&Object.entries(rr.billingAddress).reduce((e,[,r])=>e||null!=r,!1);pe($(W({},me),{holderName:l.holderNameRequired&&rr.holderName?rr.holderName:null,socialSecurityNumber:ur&&rr.socialSecurityNumber?rr.socialSecurityNumber:null,taxNumber:dr&&rr.taxNumber?rr.taxNumber:null,billingAddress:Be&&r?rr.billingAddress:null}))},[Ze,er,rr]);const{sortedErrorList:Ar,previousSortedErrors:jr,clearSRPanel:Cr}=D({errors:me,props:l,isValidating:re,retrieveLayout:fr,specifications:le,billingAddress:qe,sfp:ee});a(()=>{if(Ar){const e=B(Ar,jr,"field");null==e||e.forEach(e=>{const r=new T({component:l.type,type:K.validationError,target:q(e.field),validationErrorCode:e.errorCode,validationErrorMessage:M(e.errorCode,_)});l.onSubmitAnalytics(r)})}},[Ar]),a(()=>{const e=!!ye.holderName,r=Ne,t=!Be||!!ye.billingAddress,n=!dr||!!ye.taxNumber&&!!ye.encryptedPassword,o=!ur||!!ye.socialSecurityNumber,s=r&&e&&t&&n&&o,a=ee.current.mapErrorsToValidationRuleResult(),i=W({},me,a);l.onChange({data:be,valid:ye,errors:i,isValid:s,billingAddress:qe,selectedBrandValue:ke,storePaymentMethod:De,socialSecurityNumber:Te,installments:Ue})},[be,ye,me,ke,De,Ue]),a(()=>{if(we.length>0&&we){const e=we.map(e=>e.id),r=e[0],t=e.toString(),n=new T({component:l.type,type:K.displayed,target:U.dualBrandButton,brand:r,configData:{dualBrands:t}});l.onSubmitAnalytics(n)}},[we]);const Fr=L(ke);a(()=>{if((null==Fr?void 0:Fr.length)&&(null==ke?void 0:ke.length)){const e=new T({component:l.type,type:K.selected,target:U.dualBrandButton,brand:ke});l.onSubmitAnalytics(e)}},[ke]);const Or=l.storedPaymentMethodId?C:F;return e(r,null,e(i,$(W({ref:ee},N(l)),{styles:W({},l.styles),koreanAuthenticationRequired:l.configuration.koreanAuthenticationRequired,hasKoreanFields:!(!l.configuration.koreanAuthenticationRequired||"kr"!==l.countryCode),onSubmitAnalytics:l.onSubmitAnalytics,onChange:(e,r)=>{if(e.autoCompleteName){if(!l.hasHolderName)return;const r=f("holderName","blur"),t=(null==r?void 0:r(e.autoCompleteName,null))?e.autoCompleteName:null;return void(t&&(nr("holderName",t),or("holderName",!0),sr("holderName",null)))}var t;l.autoFocus&&ae.current>0&&"handleOnFieldValid"===(null==r?void 0:r.event)&&(null==r?void 0:r.fieldType)===m&&e.valid.encryptedCardNumber&&Sr(),he(W({},be,e.data)),pe(W({},me,(t=e.errors)?{encryptedCardNumber:!!t.encryptedCardNumber,encryptedExpiryDate:!!t.encryptedExpiryDate,encryptedSecurityCode:!!t.encryptedSecurityCode,encryptedPassword:!!t.encryptedPassword}:{})),fe(W({},ye,e.valid)),ve(e.isSfpValid),Fe(e.cvcPolicy),Le(e.showSocialSecurityNumber),je(e.expiryDatePolicy)},onBrand:pr,onFocus:yr,onStateUpdate:gr,type:l.brand,componentType:l.type,disableIOSArrowKeys:l.disableIOSArrowKeys?br:null,render:({setRootNode:r,setFocusOn:t},n)=>{var o;return e("div",{ref:r,className:E({"adyen-checkout__card-input":!0,"adyen-checkout-card-input__wrapper":!0,[`adyen-checkout__card-input--${null!==(o=l.fundingSource)&&void 0!==o?o:"credit"}`]:!0,"adyen-checkout__card-input--loading":"loading"===ue}),role:"form"},Je&&e(R,null),e(Or,$(W({},A(l)),{data:be,valid:ye,errors:me,handleChangeFor:Xe,focusedElement:Se,setFocusOn:t,sfpState:n,cvcPolicy:Ce,hasInstallments:ar,showAmountsInInstallments:ir,handleInstallments:He,brandsIcons:l.brandsIcons,formData:Ze,formErrors:rr,formValid:er,expiryDatePolicy:Ae,dualBrandSelectElements:we,extensions:vr,selectedBrandValue:ke,showKCP:dr,showBrazilianSSN:ur,socialSecurityNumber:Te,handleOnStoreDetails:Ve,setAddressRef:oe,billingAddress:qe,billingAddressValidationRules:Re&&k(Ie.current),partialAddressSchema:Re,handleAddress:hr,onAddressLookup:l.onAddressLookup,onAddressSelected:l.onAddressSelected,addressSearchDebounceMs:l.addressSearchDebounceMs,iOSFocusedField:ze,onFieldFocusAnalytics:cr,onFieldBlurAnalytics:mr})))}})),l.fastlaneConfiguration&&e(V,$(W({},l.fastlaneConfiguration),{currentDetectedBrand:$e,onChange:l.onChange,onSubmitAnalytics:l.onSubmitAnalytics,type:l.type})),Je&&l.showPayButton&&l.payButton({status:ue,variant:l.isPayButtonPrimaryVariant?"primary":"secondary",icon:te({imageFolder:"components/"})(`${I}lock`)}))};G.defaultProps=l;export{G as default};
|
|
2
2
|
//# sourceMappingURL=CardInput.js.map
|