@adyen/adyen-web 6.0.0-alpha.8 → 6.0.0-beta.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/README.md +123 -182
- package/dist/cjs/adyen.css +65 -65
- 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 +904 -1252
- package/dist/es/adyen.css +65 -65
- package/dist/es/adyen.css.map +1 -1
- package/dist/es/components/Ach/Ach.js +1 -1
- package/dist/es/components/Ach/Ach.js.map +1 -1
- package/dist/es/components/Ach/components/AchInput/AchInput.js +1 -1
- package/dist/es/components/Ach/components/AchInput/AchInput.js.map +1 -1
- package/dist/es/components/AmazonPay/components/AmazonPayButton.js.map +1 -1
- package/dist/es/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
- package/dist/es/components/AmazonPay/components/SignOutButton.js.map +1 -1
- package/dist/es/components/ApplePay/ApplePayService.js.map +1 -1
- package/dist/es/components/ApplePay/components/ApplePayButton.js.map +1 -1
- package/dist/es/components/BankTransfer/BankTransfer.js +1 -1
- package/dist/es/components/BankTransfer/BankTransfer.js.map +1 -1
- package/dist/es/components/Blik/Blik.js +1 -1
- package/dist/es/components/Blik/Blik.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/CVCHint.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/components/DualBrandingIcon/DualBrandingIcon.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/handlers.js +1 -1
- package/dist/es/components/Card/components/CardInput/handlers.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 +2 -0
- package/dist/es/components/Card/components/CardInput/useSRPanelForCardInputErrors.js.map +1 -0
- package/dist/es/components/Card/components/CardInput/utils.js +1 -1
- package/dist/es/components/Card/components/CardInput/utils.js.map +1 -1
- package/dist/es/components/CashAppPay/CashAppPay.js +1 -1
- package/dist/es/components/CashAppPay/CashAppPay.js.map +1 -1
- package/dist/es/components/CashAppPay/components/CashAppComponent.js.map +1 -1
- package/dist/es/components/CustomCard/CustomCard.js +1 -1
- package/dist/es/components/CustomCard/CustomCard.js.map +1 -1
- package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js +1 -1
- package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
- package/dist/es/components/Dropin/Dropin.js +1 -1
- package/dist/es/components/Dropin/Dropin.js.map +1 -1
- package/dist/es/components/Dropin/components/DropinComponent.js +1 -1
- package/dist/es/components/Dropin/components/DropinComponent.js.map +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodList.js +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodList.js.map +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js.map +1 -1
- package/dist/es/components/Dropin/elements/createElements.js.map +1 -1
- package/dist/es/components/Dropin/elements/createInstantPaymentElements.js.map +1 -1
- package/dist/es/components/Dropin/elements/createStoredElements.js.map +1 -1
- package/dist/es/components/Dropin/elements/filters.js.map +1 -1
- package/dist/es/components/Giftcard/Giftcard.js +1 -1
- package/dist/es/components/Giftcard/Giftcard.js.map +1 -1
- package/dist/es/components/Giftcard/components/GiftcardComponent.js +1 -1
- package/dist/es/components/Giftcard/components/GiftcardComponent.js.map +1 -1
- package/dist/es/components/Giropay/Giropay.js +1 -1
- package/dist/es/components/Giropay/Giropay.js.map +1 -1
- package/dist/es/components/GooglePay/GooglePay.js.map +1 -1
- package/dist/es/components/GooglePay/GooglePayService.js.map +1 -1
- package/dist/es/components/GooglePay/components/GooglePayButton.js.map +1 -1
- package/dist/es/components/GooglePay/requests.js.map +1 -1
- package/dist/es/components/Klarna/KlarnaPayments.js +1 -1
- package/dist/es/components/Klarna/KlarnaPayments.js.map +1 -1
- package/dist/es/components/Klarna/components/KlarnaWidget/KlarnaWidget.js +1 -1
- package/dist/es/components/Klarna/components/KlarnaWidget/KlarnaWidget.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/Oxxo/Oxxo.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/Redirect/Redirect.js +1 -1
- package/dist/es/components/Redirect/Redirect.js.map +1 -1
- package/dist/es/components/Redirect/components/RedirectShopper/RedirectShopper.js +1 -1
- package/dist/es/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js.map +1 -1
- package/dist/es/components/Trustly/Trustly.js +1 -1
- package/dist/es/components/Trustly/Trustly.js.map +1 -1
- package/dist/es/components/WeChat/config.js +1 -1
- package/dist/es/components/WeChat/config.js.map +1 -1
- package/dist/es/components/components-name-map.js +1 -1
- package/dist/es/components/components-name-map.js.map +1 -1
- package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js +1 -1
- package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
- package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
- package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
- package/dist/es/components/index.js +1 -1
- package/dist/es/components/internal/Address/components/AddressSearch.js +1 -1
- package/dist/es/components/internal/Address/components/AddressSearch.js.map +1 -1
- package/dist/es/components/internal/Await/Await.js.map +1 -1
- package/dist/es/components/internal/BaseElement/BaseElement.js +1 -1
- package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/ClickToPayComponent.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPCards/CtPCards.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPSection/CtPLogoutLink.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/errors/TimeoutError.js +1 -1
- package/dist/es/components/internal/ClickToPay/errors/TimeoutError.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/models/ShopperCard.js +1 -1
- package/dist/es/components/internal/ClickToPay/models/ShopperCard.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/SrciError.js +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/SrciError.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/services/utils.js +1 -1
- package/dist/es/components/internal/ClickToPay/services/utils.js.map +1 -1
- package/dist/es/components/internal/DisclaimerMessage/DisclaimerMessage.js.map +1 -1
- package/dist/es/components/internal/FormFields/InputBase.js.map +1 -1
- package/dist/es/components/internal/FormFields/Select/Select.js.map +1 -1
- package/dist/es/components/internal/FormFields/Select/components/SelectList.js.map +1 -1
- package/dist/es/components/internal/FormFields/Select/components/SelectListItem.js.map +1 -1
- package/dist/es/components/internal/Modal/Modal.js.map +1 -1
- package/dist/es/components/internal/OpenInvoice/OpenInvoice.js +1 -1
- package/dist/es/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
- package/dist/es/components/internal/QRLoader/QRLoader.js +1 -1
- package/dist/es/components/internal/QRLoader/QRLoader.js.map +1 -1
- package/dist/es/components/internal/RedirectButton/RedirectButton.js +1 -1
- package/dist/es/components/internal/RedirectButton/RedirectButton.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
- package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js +1 -1
- package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/SFP/defaultProps.js +1 -1
- package/dist/es/components/internal/SecuredFields/SFP/defaultProps.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/binLookup/triggerBinLookUp.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 +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 +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/handleIOSTouchEvents.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleIOSTouchEvents.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/utils/cardType.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/constants.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/constants.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js +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/SecuredFields/lib/utilities/commonUtils.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/utilities/dom.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/utilities/dom.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/utilities/logger.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/utils.js.map +1 -1
- package/dist/es/components/internal/SocialSecurityNumberBrazil/SocialSecurityNumberBrazil.js +1 -1
- package/dist/es/components/internal/SocialSecurityNumberBrazil/SocialSecurityNumberBrazil.js.map +1 -1
- package/dist/es/components/internal/UIElement/UIElement.js +1 -1
- package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
- package/dist/es/components/tx-variants.js +1 -1
- package/dist/es/components/tx-variants.js.map +1 -1
- package/dist/es/core/AdyenCheckout.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/CheckoutSession/CheckoutSession.js.map +1 -1
- package/dist/es/core/Environment/Environment.js +1 -1
- package/dist/es/core/Environment/Environment.js.map +1 -1
- package/dist/es/core/ProcessResponse/PaymentAction/PaymentAction.js.map +1 -1
- package/dist/es/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
- package/dist/es/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.js.map +1 -1
- package/dist/es/core/Services/analytics/collect-id.js +1 -1
- package/dist/es/core/Services/analytics/collect-id.js.map +1 -1
- package/dist/es/core/Services/http.js +1 -1
- package/dist/es/core/Services/http.js.map +1 -1
- package/dist/es/core/Services/sessions/setup-session.js +1 -1
- package/dist/es/core/Services/sessions/setup-session.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/core/core.registry.js.map +1 -1
- package/dist/es/core/utils.js +1 -1
- package/dist/es/core/utils.js.map +1 -1
- package/dist/es/external/preact/dist/preact.js +1 -1
- package/dist/es/external/preact/dist/preact.js.map +1 -1
- package/dist/es/index.d.ts +904 -1252
- package/dist/es/index.js +1 -1
- package/dist/es/language/constants.js +1 -1
- package/dist/es/language/constants.js.map +1 -1
- package/dist/es/utils/browserInfo.js +1 -1
- package/dist/es/utils/browserInfo.js.map +1 -1
- package/dist/es/utils/listenerUtils.js +2 -0
- package/dist/es/utils/listenerUtils.js.map +1 -0
- package/dist/es/utils/regex.js.map +1 -1
- package/dist/es-legacy/adyen.css +65 -65
- package/dist/es-legacy/adyen.css.map +1 -1
- package/dist/es-legacy/components/Ach/Ach.js +1 -1
- package/dist/es-legacy/components/Ach/Ach.js.map +1 -1
- package/dist/es-legacy/components/Ach/components/AchInput/AchInput.js +1 -1
- package/dist/es-legacy/components/Ach/components/AchInput/AchInput.js.map +1 -1
- package/dist/es-legacy/components/AmazonPay/components/AmazonPayButton.js.map +1 -1
- package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
- package/dist/es-legacy/components/AmazonPay/components/SignOutButton.js.map +1 -1
- package/dist/es-legacy/components/ApplePay/ApplePayService.js.map +1 -1
- package/dist/es-legacy/components/ApplePay/components/ApplePayButton.js.map +1 -1
- package/dist/es-legacy/components/BankTransfer/BankTransfer.js +1 -1
- package/dist/es-legacy/components/BankTransfer/BankTransfer.js.map +1 -1
- package/dist/es-legacy/components/Blik/Blik.js +1 -1
- package/dist/es-legacy/components/Blik/Blik.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/CVCHint.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/DualBrandingIcon/DualBrandingIcon.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/handlers.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/handlers.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 +2 -0
- package/dist/es-legacy/components/Card/components/CardInput/useSRPanelForCardInputErrors.js.map +1 -0
- package/dist/es-legacy/components/Card/components/CardInput/utils.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/utils.js.map +1 -1
- package/dist/es-legacy/components/CashAppPay/CashAppPay.js +1 -1
- package/dist/es-legacy/components/CashAppPay/CashAppPay.js.map +1 -1
- package/dist/es-legacy/components/CashAppPay/components/CashAppComponent.js.map +1 -1
- package/dist/es-legacy/components/CustomCard/CustomCard.js +1 -1
- package/dist/es-legacy/components/CustomCard/CustomCard.js.map +1 -1
- package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js +1 -1
- package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
- package/dist/es-legacy/components/Dropin/Dropin.js +1 -1
- package/dist/es-legacy/components/Dropin/Dropin.js.map +1 -1
- package/dist/es-legacy/components/Dropin/components/DropinComponent.js +1 -1
- package/dist/es-legacy/components/Dropin/components/DropinComponent.js.map +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/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/PaymentMethodsContainer.js.map +1 -1
- package/dist/es-legacy/components/Dropin/elements/createElements.js.map +1 -1
- package/dist/es-legacy/components/Dropin/elements/createInstantPaymentElements.js.map +1 -1
- package/dist/es-legacy/components/Dropin/elements/createStoredElements.js.map +1 -1
- package/dist/es-legacy/components/Dropin/elements/filters.js.map +1 -1
- package/dist/es-legacy/components/Giftcard/Giftcard.js +1 -1
- package/dist/es-legacy/components/Giftcard/Giftcard.js.map +1 -1
- package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js +1 -1
- package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js.map +1 -1
- package/dist/es-legacy/components/Giropay/Giropay.js +1 -1
- package/dist/es-legacy/components/Giropay/Giropay.js.map +1 -1
- package/dist/es-legacy/components/GooglePay/GooglePay.js.map +1 -1
- package/dist/es-legacy/components/GooglePay/GooglePayService.js.map +1 -1
- package/dist/es-legacy/components/GooglePay/components/GooglePayButton.js.map +1 -1
- package/dist/es-legacy/components/GooglePay/requests.js.map +1 -1
- package/dist/es-legacy/components/Klarna/KlarnaPayments.js +1 -1
- package/dist/es-legacy/components/Klarna/KlarnaPayments.js.map +1 -1
- package/dist/es-legacy/components/Klarna/components/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/Oxxo/Oxxo.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/Redirect/Redirect.js +1 -1
- package/dist/es-legacy/components/Redirect/Redirect.js.map +1 -1
- package/dist/es-legacy/components/Redirect/components/RedirectShopper/RedirectShopper.js +1 -1
- package/dist/es-legacy/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js.map +1 -1
- package/dist/es-legacy/components/Trustly/Trustly.js +1 -1
- package/dist/es-legacy/components/Trustly/Trustly.js.map +1 -1
- package/dist/es-legacy/components/WeChat/config.js +1 -1
- package/dist/es-legacy/components/WeChat/config.js.map +1 -1
- package/dist/es-legacy/components/components-name-map.js +1 -1
- package/dist/es-legacy/components/components-name-map.js.map +1 -1
- package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js +1 -1
- package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
- package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
- package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
- package/dist/es-legacy/components/index.js +1 -1
- package/dist/es-legacy/components/internal/Address/components/AddressSearch.js +1 -1
- package/dist/es-legacy/components/internal/Address/components/AddressSearch.js.map +1 -1
- package/dist/es-legacy/components/internal/Await/Await.js.map +1 -1
- package/dist/es-legacy/components/internal/BaseElement/BaseElement.js +1 -1
- package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/ClickToPayComponent.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPCards/CtPCards.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPSection/CtPLogoutLink.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/errors/TimeoutError.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/errors/TimeoutError.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/models/ShopperCard.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/models/ShopperCard.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/sdks/SrciError.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/sdks/SrciError.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/utils.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/utils.js.map +1 -1
- package/dist/es-legacy/components/internal/DisclaimerMessage/DisclaimerMessage.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/InputBase.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/Select/Select.js.map +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.map +1 -1
- package/dist/es-legacy/components/internal/Modal/Modal.js.map +1 -1
- package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js +1 -1
- package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
- package/dist/es-legacy/components/internal/QRLoader/QRLoader.js +1 -1
- package/dist/es-legacy/components/internal/QRLoader/QRLoader.js.map +1 -1
- package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js +1 -1
- package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/defaultProps.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/defaultProps.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/binLookup/triggerBinLookUp.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 +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/handleIOSTouchEvents.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleIOSTouchEvents.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/cardType.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/constants.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/constants.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js +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/SecuredFields/lib/utilities/commonUtils.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/utilities/dom.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/utilities/dom.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/utilities/logger.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/utils.js.map +1 -1
- package/dist/es-legacy/components/internal/SocialSecurityNumberBrazil/SocialSecurityNumberBrazil.js +1 -1
- package/dist/es-legacy/components/internal/SocialSecurityNumberBrazil/SocialSecurityNumberBrazil.js.map +1 -1
- package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
- package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
- package/dist/es-legacy/components/tx-variants.js +1 -1
- package/dist/es-legacy/components/tx-variants.js.map +1 -1
- package/dist/es-legacy/core/AdyenCheckout.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/CheckoutSession/CheckoutSession.js.map +1 -1
- package/dist/es-legacy/core/Environment/Environment.js +1 -1
- package/dist/es-legacy/core/Environment/Environment.js.map +1 -1
- package/dist/es-legacy/core/ProcessResponse/PaymentAction/PaymentAction.js.map +1 -1
- package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
- package/dist/es-legacy/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.js.map +1 -1
- package/dist/es-legacy/core/Services/analytics/collect-id.js +1 -1
- package/dist/es-legacy/core/Services/analytics/collect-id.js.map +1 -1
- package/dist/es-legacy/core/Services/http.js +1 -1
- package/dist/es-legacy/core/Services/http.js.map +1 -1
- package/dist/es-legacy/core/Services/sessions/setup-session.js +1 -1
- package/dist/es-legacy/core/Services/sessions/setup-session.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/core/core.registry.js.map +1 -1
- package/dist/es-legacy/core/utils.js +1 -1
- package/dist/es-legacy/core/utils.js.map +1 -1
- package/dist/es-legacy/external/preact/dist/preact.js +1 -1
- package/dist/es-legacy/external/preact/dist/preact.js.map +1 -1
- package/dist/es-legacy/index.js +1 -1
- package/dist/es-legacy/language/constants.js +1 -1
- package/dist/es-legacy/language/constants.js.map +1 -1
- package/dist/es-legacy/utils/browserInfo.js +1 -1
- package/dist/es-legacy/utils/browserInfo.js.map +1 -1
- package/dist/es-legacy/utils/listenerUtils.js +2 -0
- package/dist/es-legacy/utils/listenerUtils.js.map +1 -0
- package/dist/es-legacy/utils/regex.js.map +1 -1
- package/package.json +36 -32
- package/dist/es/components/Ideal/index.js +0 -2
- package/dist/es/components/Ideal/index.js.map +0 -1
- package/dist/es/core/Services/analytics/log-event.js +0 -2
- package/dist/es/core/Services/analytics/log-event.js.map +0 -1
- package/dist/es-legacy/components/Ideal/index.js +0 -2
- package/dist/es-legacy/components/Ideal/index.js.map +0 -1
- package/dist/es-legacy/core/Services/analytics/log-event.js +0 -2
- package/dist/es-legacy/core/Services/analytics/log-event.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentMethodItem.js","sources":["../../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport classNames from 'classnames';\nimport PaymentMethodDetails from '../PaymentMethodDetails';\nimport PaymentMethodIcon from '../PaymentMethodIcon';\nimport DisableOneClickConfirmation from '../DisableOneClickConfirmation';\nimport './PaymentMethodItem.scss';\nimport UIElement from '../../../../internal/UIElement/UIElement';\nimport PaymentMethodBrands from '../PaymentMethodBrands/PaymentMethodBrands';\nimport { BRAND_ICON_UI_EXCLUSION_LIST } from '../../../../internal/SecuredFields/lib/constants';\nimport PaymentMethodName from '../PaymentMethodName';\nimport { ExpandButton } from './ExpandButton';\nimport { useCoreContext } from '../../../../../core/Context/CoreProvider';\n\nexport interface PaymentMethodItemProps {\n paymentMethod: UIElement;\n isSelected?: boolean;\n isLoaded?: boolean;\n isLoading?: boolean;\n isDisablingPaymentMethod: boolean;\n showRemovePaymentMethodButton: boolean;\n onDisableStoredPaymentMethod: (paymentMethod) => void;\n onSelect: (paymentMethod: UIElement) => void;\n standalone: boolean;\n className?: string;\n showRadioButton?: boolean;\n}\n\nclass PaymentMethodItem extends Component<PaymentMethodItemProps> {\n public static defaultProps = {\n paymentMethod: null,\n isSelected: false,\n isLoaded: false,\n isLoading: false,\n showDisableStoredPaymentMethodConfirmation: false,\n showRadioButton: false\n };\n\n public state = {\n showDisableStoredPaymentMethodConfirmation: false\n };\n\n public toggleDisableConfirmation = () => {\n this.setState({ showDisableStoredPaymentMethodConfirmation: !this.state.showDisableStoredPaymentMethodConfirmation });\n };\n\n public onDisableStoredPaymentMethod = () => {\n this.props.onDisableStoredPaymentMethod(this.props.paymentMethod);\n this.toggleDisableConfirmation();\n };\n\n private handleOnListItemClick = (): void => {\n const { onSelect, paymentMethod } = this.props;\n onSelect(paymentMethod);\n };\n\n // @ts-ignore need to refine the type for paymentMethod\n render({ paymentMethod, isSelected, isDisablingPaymentMethod, isLoaded, isLoading, standalone, showRadioButton }) {\n const { i18n } = useCoreContext();\n\n if (!paymentMethod) {\n return null;\n }\n\n const isCard = paymentMethod.props.type === 'card' || paymentMethod.props.type === 'scheme';\n\n const paymentMethodClassnames = classNames({\n 'adyen-checkout__payment-method': true,\n [`adyen-checkout__payment-method--${paymentMethod.props.type}`]: true,\n ...(isCard && { [`adyen-checkout__payment-method--${paymentMethod.props.fundingSource ?? 'credit'}`]: true }),\n 'adyen-checkout__payment-method--selected': isSelected,\n 'adyen-checkout__payment-method--loading': isLoading,\n 'adyen-checkout__payment-method--disabling': isDisablingPaymentMethod,\n 'adyen-checkout__payment-method--confirming': this.state.showDisableStoredPaymentMethodConfirmation,\n 'adyen-checkout__payment-method--standalone': standalone,\n [paymentMethod._id]: true,\n [this.props.className]: true\n });\n\n const showRemovePaymentMethodButton = this.props.showRemovePaymentMethodButton && paymentMethod.props.oneClick && isSelected;\n const disableConfirmationId = `remove-${paymentMethod._id}`;\n const containerId = `container-${paymentMethod._id}`;\n const buttonId = `button-${paymentMethod._id}`;\n\n const showBrands = !paymentMethod.props.oneClick && paymentMethod.brands && paymentMethod.brands.length > 0;\n\n return (\n <li key={paymentMethod._id} className={paymentMethodClassnames} onClick={this.handleOnListItemClick}>\n <div className=\"adyen-checkout__payment-method__header\">\n <ExpandButton buttonId={buttonId} showRadioButton={showRadioButton} isSelected={isSelected} expandContentId={containerId}>\n <PaymentMethodIcon\n // Only add alt attribute to storedPaymentMethods (to avoid SR reading the PM name twice)\n {...(paymentMethod.props.oneClick && { altDescription: paymentMethod.props.name })}\n type={paymentMethod.type}\n src={paymentMethod.icon}\n />\n\n <PaymentMethodName\n displayName={paymentMethod.displayName}\n isSelected={isSelected}\n additionalInfo={paymentMethod.additionalInfo}\n />\n </ExpandButton>\n\n {showRemovePaymentMethodButton && (\n <button\n type=\"button\"\n className=\"adyen-checkout__button adyen-checkout__button--inline adyen-checkout__button--link\"\n onClick={this.toggleDisableConfirmation}\n aria-expanded={this.state.showDisableStoredPaymentMethodConfirmation}\n aria-controls={disableConfirmationId}\n >\n {i18n.get('storedPaymentMethod.disable.button')}\n </button>\n )}\n\n {showBrands && (\n <PaymentMethodBrands\n brands={paymentMethod.brands}\n excludedUIBrands={BRAND_ICON_UI_EXCLUSION_LIST}\n isPaymentMethodSelected={isSelected}\n />\n )}\n </div>\n\n <div className=\"adyen-checkout-pm-details-wrapper\" aria-hidden={!isSelected}>\n <div className=\"adyen-checkout__payment-method__details\" id={containerId} role=\"region\">\n {showRemovePaymentMethodButton && (\n <DisableOneClickConfirmation\n id={disableConfirmationId}\n open={this.state.showDisableStoredPaymentMethodConfirmation}\n onDisable={this.onDisableStoredPaymentMethod}\n onCancel={this.toggleDisableConfirmation}\n />\n )}\n\n <PaymentMethodDetails paymentMethodComponent={paymentMethod.render()} isLoaded={isLoaded} />\n </div>\n </div>\n </li>\n );\n }\n}\n\nexport default PaymentMethodItem;\n"],"names":["PaymentMethodItem","Component","render","paymentMethod","isSelected","isDisablingPaymentMethod","isLoaded","isLoading","standalone","showRadioButton","i18n","useCoreContext","isCard","props","type","paymentMethodClassnames","classNames","_object_spread_props","_object_spread","fundingSource","this","state","showDisableStoredPaymentMethodConfirmation","_id","className","showRemovePaymentMethodButton","oneClick","disableConfirmationId","containerId","buttonId","showBrands","brands","length","h","li","key","onClick","handleOnListItemClick","div","ExpandButton","expandContentId","PaymentMethodIcon","altDescription","name","src","icon","PaymentMethodName","displayName","additionalInfo","button","toggleDisableConfirmation","aria-expanded","aria-controls","get","PaymentMethodBrands","excludedUIBrands","BRAND_ICON_UI_EXCLUSION_LIST","isPaymentMethodSelected","aria-hidden","id","role","DisableOneClickConfirmation","open","onDisable","onDisableStoredPaymentMethod","onCancel","PaymentMethodDetails","paymentMethodComponent","_define_property","setState","onSelect","defaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PaymentMethodItem.js","sources":["../../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport classNames from 'classnames';\nimport PaymentMethodDetails from '../PaymentMethodDetails';\nimport PaymentMethodIcon from '../PaymentMethodIcon';\nimport DisableOneClickConfirmation from '../DisableOneClickConfirmation';\nimport './PaymentMethodItem.scss';\nimport UIElement from '../../../../internal/UIElement/UIElement';\nimport PaymentMethodBrands from '../PaymentMethodBrands/PaymentMethodBrands';\nimport { BRAND_ICON_UI_EXCLUSION_LIST } from '../../../../internal/SecuredFields/lib/constants';\nimport PaymentMethodName from '../PaymentMethodName';\nimport { ExpandButton } from './ExpandButton';\nimport { useCoreContext } from '../../../../../core/Context/CoreProvider';\n\nexport interface PaymentMethodItemProps {\n paymentMethod: UIElement;\n isSelected?: boolean;\n isLoaded?: boolean;\n isLoading?: boolean;\n isDisablingPaymentMethod: boolean;\n showRemovePaymentMethodButton: boolean;\n onDisableStoredPaymentMethod: (paymentMethod) => void;\n onSelect: (paymentMethod: UIElement) => void;\n standalone: boolean;\n className?: string;\n showRadioButton?: boolean;\n}\n\nclass PaymentMethodItem extends Component<PaymentMethodItemProps> {\n public static defaultProps = {\n paymentMethod: null,\n isSelected: false,\n isLoaded: false,\n isLoading: false,\n showDisableStoredPaymentMethodConfirmation: false,\n showRadioButton: false\n };\n\n public state = {\n showDisableStoredPaymentMethodConfirmation: false\n };\n\n public toggleDisableConfirmation = () => {\n this.setState({ showDisableStoredPaymentMethodConfirmation: !this.state.showDisableStoredPaymentMethodConfirmation });\n };\n\n public onDisableStoredPaymentMethod = () => {\n this.props.onDisableStoredPaymentMethod(this.props.paymentMethod);\n this.toggleDisableConfirmation();\n };\n\n private handleOnListItemClick = (): void => {\n const { onSelect, paymentMethod } = this.props;\n onSelect(paymentMethod);\n };\n\n // @ts-ignore need to refine the type for paymentMethod\n render({ paymentMethod, isSelected, isDisablingPaymentMethod, isLoaded, isLoading, standalone, showRadioButton }) {\n const { i18n } = useCoreContext();\n\n if (!paymentMethod) {\n return null;\n }\n\n const isCard = paymentMethod.props.type === 'card' || paymentMethod.props.type === 'scheme';\n\n const paymentMethodClassnames = classNames({\n 'adyen-checkout__payment-method': true,\n [`adyen-checkout__payment-method--${paymentMethod.props.type}`]: true,\n ...(isCard && { [`adyen-checkout__payment-method--${paymentMethod.props.fundingSource ?? 'credit'}`]: true }),\n 'adyen-checkout__payment-method--selected': isSelected,\n 'adyen-checkout__payment-method--loading': isLoading,\n 'adyen-checkout__payment-method--disabling': isDisablingPaymentMethod,\n 'adyen-checkout__payment-method--confirming': this.state.showDisableStoredPaymentMethodConfirmation,\n 'adyen-checkout__payment-method--standalone': standalone,\n [paymentMethod._id]: true,\n [this.props.className]: true\n });\n\n const showRemovePaymentMethodButton = this.props.showRemovePaymentMethodButton && paymentMethod.props.oneClick && isSelected;\n const disableConfirmationId = `remove-${paymentMethod._id}`;\n const containerId = `container-${paymentMethod._id}`;\n const buttonId = `button-${paymentMethod._id}`;\n\n const showBrands = !paymentMethod.props.oneClick && paymentMethod.brands && paymentMethod.brands.length > 0;\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-noninteractive-element-interactions\n <li key={paymentMethod._id} className={paymentMethodClassnames} onClick={this.handleOnListItemClick}>\n <div className=\"adyen-checkout__payment-method__header\">\n <ExpandButton buttonId={buttonId} showRadioButton={showRadioButton} isSelected={isSelected} expandContentId={containerId}>\n <PaymentMethodIcon\n // Only add alt attribute to storedPaymentMethods (to avoid SR reading the PM name twice)\n {...(paymentMethod.props.oneClick && { altDescription: paymentMethod.props.name })}\n type={paymentMethod.type}\n src={paymentMethod.icon}\n />\n\n <PaymentMethodName\n displayName={paymentMethod.displayName}\n isSelected={isSelected}\n additionalInfo={paymentMethod.additionalInfo}\n />\n </ExpandButton>\n\n {showRemovePaymentMethodButton && (\n <button\n type=\"button\"\n className=\"adyen-checkout__button adyen-checkout__button--inline adyen-checkout__button--link\"\n onClick={this.toggleDisableConfirmation}\n aria-expanded={this.state.showDisableStoredPaymentMethodConfirmation}\n aria-controls={disableConfirmationId}\n >\n {i18n.get('storedPaymentMethod.disable.button')}\n </button>\n )}\n\n {showBrands && (\n <PaymentMethodBrands\n brands={paymentMethod.brands}\n excludedUIBrands={BRAND_ICON_UI_EXCLUSION_LIST}\n isPaymentMethodSelected={isSelected}\n />\n )}\n </div>\n\n <div className=\"adyen-checkout-pm-details-wrapper\" aria-hidden={!isSelected}>\n <div className=\"adyen-checkout__payment-method__details\" id={containerId} role=\"region\">\n {showRemovePaymentMethodButton && (\n <DisableOneClickConfirmation\n id={disableConfirmationId}\n open={this.state.showDisableStoredPaymentMethodConfirmation}\n onDisable={this.onDisableStoredPaymentMethod}\n onCancel={this.toggleDisableConfirmation}\n />\n )}\n\n <PaymentMethodDetails paymentMethodComponent={paymentMethod.render()} isLoaded={isLoaded} />\n </div>\n </div>\n </li>\n );\n }\n}\n\nexport default PaymentMethodItem;\n"],"names":["PaymentMethodItem","Component","render","paymentMethod","isSelected","isDisablingPaymentMethod","isLoaded","isLoading","standalone","showRadioButton","i18n","useCoreContext","isCard","props","type","paymentMethodClassnames","classNames","_object_spread_props","_object_spread","fundingSource","this","state","showDisableStoredPaymentMethodConfirmation","_id","className","showRemovePaymentMethodButton","oneClick","disableConfirmationId","containerId","buttonId","showBrands","brands","length","h","li","key","onClick","handleOnListItemClick","div","ExpandButton","expandContentId","PaymentMethodIcon","altDescription","name","src","icon","PaymentMethodName","displayName","additionalInfo","button","toggleDisableConfirmation","aria-expanded","aria-controls","get","PaymentMethodBrands","excludedUIBrands","BRAND_ICON_UI_EXCLUSION_LIST","isPaymentMethodSelected","aria-hidden","id","role","DisableOneClickConfirmation","open","onDisable","onDisableStoredPaymentMethod","onCancel","PaymentMethodDetails","paymentMethodComponent","_define_property","setState","onSelect","defaultProps"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e,Fragment as t}from"../../../../external/preact/dist/preact.js";import r from"../../../../utils/getProp.js";import{OrderPaymentMethods as o}from"./OrderPaymentMethods.js";import n from"./InstantPaymentMethods.js";import{useCoreContext as s}from"../../../../core/Context/CoreProvider.js";import{useBrandLogoConfiguration as a}from"./useBrandLogoConfiguration.js";import i from"./PaymentMethodsContainer.js";import{useEffect as
|
|
1
|
+
import{createElement as e,Fragment as t}from"../../../../external/preact/dist/preact.js";import r from"../../../../utils/getProp.js";import{OrderPaymentMethods as o}from"./OrderPaymentMethods.js";import n from"./InstantPaymentMethods.js";import{useCoreContext as s}from"../../../../core/Context/CoreProvider.js";import{useBrandLogoConfiguration as a}from"./useBrandLogoConfiguration.js";import i from"./PaymentMethodsContainer.js";import{useEffect as l}from"../../../../external/preact/hooks/dist/hooks.js";function p(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(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){p(e,t,r[t])}))}return e}function d(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r.push.apply(r,o)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function m(e,t){if(null==e)return{};var r,o,n=function(e,t){if(null==e)return{};var r,o,n={},s=Object.keys(e);for(o=0;o<s.length;o++)r=s[o],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o<s.length;o++)r=s[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}const y=p=>{var{paymentMethods:y=[],instantPaymentMethods:f=[],storedPaymentMethods:u=[],openFirstStoredPaymentMethod:b,openFirstPaymentMethod:h,openPaymentMethod:O,order:P,orderStatus:j=null,onOrderCancel:g,onSelect:M=(()=>{})}=p,v=m(p,["paymentMethods","instantPaymentMethods","storedPaymentMethods","openFirstStoredPaymentMethod","openFirstPaymentMethod","openPaymentMethod","order","orderStatus","onOrderCancel","onSelect"]);const{i18n:S}=s(),w=a(y),C=f.length>0,k=u.length>0,x=C||k?S.get("paymentMethodsList.otherPayments.label"):"";return l((()=>{if(null==O?void 0:O.type){const e=y.find((e=>e.type===(null==O?void 0:O.type)));if(e)return void M(e);console.warn(`Drop-in: payment method type "${null==O?void 0:O.type}" not found`)}const e=u[0],t=y[0];if(e||t){if(b&&!0===r(e,"props.oneClick"))return void M(e);h&&M(t)}}),[u,y,b,h,O]),e(t,null,j&&e(o,{order:P,orderStatus:j,onOrderCancel:g,brandLogoConfiguration:w}),C&&e(n,{paymentMethods:f}),k&&e(i,d(c({},v),{label:S.get("paymentMethodsList.storedPayments.label"),classNameModifiers:["storedPayments"],paymentMethods:u,onSelect:M})),!!y.length&&e(i,d(c({},v),{label:x,classNameModifiers:["otherPayments"],paymentMethods:y,onSelect:M})))};export{y as default};
|
|
2
2
|
//# sourceMappingURL=PaymentMethodList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentMethodList.js","sources":["../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodList.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport getProp from '../../../../utils/getProp';\nimport UIElement from '../../../internal/UIElement/UIElement';\nimport { Order, OrderStatus } from '../../../../types/global-types';\nimport OrderPaymentMethods from './OrderPaymentMethods';\nimport InstantPaymentMethods from './InstantPaymentMethods';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { useBrandLogoConfiguration } from './useBrandLogoConfiguration';\nimport PaymentMethodsContainer, { PaymentMethodsContainerProps } from './PaymentMethodsContainer';\nimport { useEffect } from 'preact/hooks';\n\ninterface PaymentMethodListProps extends Omit<PaymentMethodsContainerProps, 'label' | 'classNameModifiers'> {\n instantPaymentMethods?: UIElement[];\n storedPaymentMethods?: UIElement[];\n openFirstStoredPaymentMethod?: boolean;\n openFirstPaymentMethod?: boolean;\n order?: Order;\n orderStatus?: OrderStatus;\n onOrderCancel?: (order) => void;\n}\n\nconst PaymentMethodList = ({\n paymentMethods = [], // Non-stored payments\n instantPaymentMethods = [],\n storedPaymentMethods = [],\n openFirstStoredPaymentMethod,\n openFirstPaymentMethod,\n order,\n orderStatus = null,\n onOrderCancel,\n onSelect = () => {},\n ...rest\n}: PaymentMethodListProps) => {\n const { i18n } = useCoreContext();\n const brandLogoConfiguration = useBrandLogoConfiguration(paymentMethods);\n const hasInstantPaymentMethods = instantPaymentMethods.length > 0;\n const hasStoredPaymentMethods = storedPaymentMethods.length > 0;\n const pmListLabel = hasInstantPaymentMethods || hasStoredPaymentMethods ? i18n.get('paymentMethodsList.otherPayments.label') : '';\n\n useEffect(() => {\n // Open first PaymentMethodItem\n const firstStoredPayment = storedPaymentMethods[0];\n const firstNonStoredPayment = paymentMethods[0];\n\n if (firstStoredPayment || firstNonStoredPayment) {\n const shouldOpenFirstStored = openFirstStoredPaymentMethod && getProp(firstStoredPayment, 'props.oneClick') === true;\n if (shouldOpenFirstStored) {\n onSelect(firstStoredPayment);\n return;\n }\n\n if (openFirstPaymentMethod) {\n onSelect(firstNonStoredPayment);\n }\n }\n }, [storedPaymentMethods, paymentMethods, openFirstStoredPaymentMethod, openFirstPaymentMethod]);\n\n return (\n <Fragment>\n {orderStatus && (\n <OrderPaymentMethods\n order={order}\n orderStatus={orderStatus}\n onOrderCancel={onOrderCancel}\n brandLogoConfiguration={brandLogoConfiguration}\n />\n )}\n\n {hasInstantPaymentMethods && <InstantPaymentMethods paymentMethods={instantPaymentMethods} />}\n\n {hasStoredPaymentMethods && (\n <PaymentMethodsContainer\n {...rest}\n label={i18n.get('paymentMethodsList.storedPayments.label')}\n classNameModifiers={['storedPayments']}\n paymentMethods={storedPaymentMethods}\n onSelect={onSelect}\n ></PaymentMethodsContainer>\n )}\n\n {!!paymentMethods.length && (\n <PaymentMethodsContainer\n {...rest}\n label={pmListLabel}\n classNameModifiers={['otherPayments']}\n paymentMethods={paymentMethods}\n onSelect={onSelect}\n ></PaymentMethodsContainer>\n )}\n </Fragment>\n );\n};\n\nexport default PaymentMethodList;\n"],"names":["PaymentMethodList","_param","paymentMethods","instantPaymentMethods","storedPaymentMethods","openFirstStoredPaymentMethod","openFirstPaymentMethod","order","orderStatus","onOrderCancel","onSelect","rest","i18n","useCoreContext","brandLogoConfiguration","useBrandLogoConfiguration","hasInstantPaymentMethods","length","hasStoredPaymentMethods","pmListLabel","get","useEffect","firstStoredPayment","firstNonStoredPayment","getProp","h","Fragment","OrderPaymentMethods","InstantPaymentMethods","PaymentMethodsContainer","label","classNameModifiers"],"mappings":"
|
|
1
|
+
{"version":3,"file":"PaymentMethodList.js","sources":["../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodList.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport getProp from '../../../../utils/getProp';\nimport UIElement from '../../../internal/UIElement/UIElement';\nimport { Order, OrderStatus } from '../../../../types/global-types';\nimport OrderPaymentMethods from './OrderPaymentMethods';\nimport InstantPaymentMethods from './InstantPaymentMethods';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { useBrandLogoConfiguration } from './useBrandLogoConfiguration';\nimport PaymentMethodsContainer, { PaymentMethodsContainerProps } from './PaymentMethodsContainer';\nimport { useEffect } from 'preact/hooks';\n\ninterface PaymentMethodListProps extends Omit<PaymentMethodsContainerProps, 'label' | 'classNameModifiers'> {\n instantPaymentMethods?: UIElement[];\n storedPaymentMethods?: UIElement[];\n openFirstStoredPaymentMethod?: boolean;\n openFirstPaymentMethod?: boolean;\n openPaymentMethod?: {\n type: string;\n };\n order?: Order;\n orderStatus?: OrderStatus;\n onOrderCancel?: (order) => void;\n}\n\nconst PaymentMethodList = ({\n paymentMethods = [], // Non-stored payments\n instantPaymentMethods = [],\n storedPaymentMethods = [],\n openFirstStoredPaymentMethod,\n openFirstPaymentMethod,\n openPaymentMethod,\n order,\n orderStatus = null,\n onOrderCancel,\n onSelect = () => {},\n ...rest\n}: PaymentMethodListProps) => {\n const { i18n } = useCoreContext();\n const brandLogoConfiguration = useBrandLogoConfiguration(paymentMethods);\n const hasInstantPaymentMethods = instantPaymentMethods.length > 0;\n const hasStoredPaymentMethods = storedPaymentMethods.length > 0;\n const pmListLabel = hasInstantPaymentMethods || hasStoredPaymentMethods ? i18n.get('paymentMethodsList.otherPayments.label') : '';\n\n useEffect(() => {\n if (openPaymentMethod?.type) {\n const paymentMethod = paymentMethods.find(paymentMethod => paymentMethod.type === openPaymentMethod?.type);\n if (!paymentMethod) {\n console.warn(`Drop-in: payment method type \"${openPaymentMethod?.type}\" not found`);\n } else {\n onSelect(paymentMethod);\n return;\n }\n }\n\n // Open first PaymentMethodItem\n const firstStoredPayment = storedPaymentMethods[0];\n const firstNonStoredPayment = paymentMethods[0];\n\n if (firstStoredPayment || firstNonStoredPayment) {\n const shouldOpenFirstStored = openFirstStoredPaymentMethod && getProp(firstStoredPayment, 'props.oneClick') === true;\n if (shouldOpenFirstStored) {\n onSelect(firstStoredPayment);\n return;\n }\n\n if (openFirstPaymentMethod) {\n onSelect(firstNonStoredPayment);\n }\n }\n }, [storedPaymentMethods, paymentMethods, openFirstStoredPaymentMethod, openFirstPaymentMethod, openPaymentMethod]);\n\n return (\n <Fragment>\n {orderStatus && (\n <OrderPaymentMethods\n order={order}\n orderStatus={orderStatus}\n onOrderCancel={onOrderCancel}\n brandLogoConfiguration={brandLogoConfiguration}\n />\n )}\n\n {hasInstantPaymentMethods && <InstantPaymentMethods paymentMethods={instantPaymentMethods} />}\n\n {hasStoredPaymentMethods && (\n <PaymentMethodsContainer\n {...rest}\n label={i18n.get('paymentMethodsList.storedPayments.label')}\n classNameModifiers={['storedPayments']}\n paymentMethods={storedPaymentMethods}\n onSelect={onSelect}\n ></PaymentMethodsContainer>\n )}\n\n {!!paymentMethods.length && (\n <PaymentMethodsContainer\n {...rest}\n label={pmListLabel}\n classNameModifiers={['otherPayments']}\n paymentMethods={paymentMethods}\n onSelect={onSelect}\n ></PaymentMethodsContainer>\n )}\n </Fragment>\n );\n};\n\nexport default PaymentMethodList;\n"],"names":["PaymentMethodList","_param","paymentMethods","instantPaymentMethods","storedPaymentMethods","openFirstStoredPaymentMethod","openFirstPaymentMethod","openPaymentMethod","order","orderStatus","onOrderCancel","onSelect","rest","i18n","useCoreContext","brandLogoConfiguration","useBrandLogoConfiguration","hasInstantPaymentMethods","length","hasStoredPaymentMethods","pmListLabel","get","useEffect","type","paymentMethod","find","console","warn","firstStoredPayment","firstNonStoredPayment","getProp","h","Fragment","OrderPaymentMethods","InstantPaymentMethods","PaymentMethodsContainer","label","classNameModifiers"],"mappings":"gqDAwBA,MAAMA,EAAoBC,QAACC,eACvBA,EAAiB,GAAEC,sBACnBA,EAAwB,GAAEC,qBAC1BA,EAAuB,GAAEC,6BACzBA,EAA4BC,uBAC5BA,EAAsBC,kBACtBA,EAAiBC,MACjBA,EAAKC,YACLA,EAAc,KAAIC,cAClBA,EAAaC,SACbA,EAAW,UACRC,EAAAA,EAAAA,EAAAA,EAAAA,CAVHV,iBACAC,wBACAC,uBACAC,+BACAC,yBACAC,oBACAC,QACAC,cACAC,gBACAC,aAGA,MAAME,KAAEA,GAASC,IACXC,EAAyBC,EAA0Bd,GACnDe,EAA2Bd,EAAsBe,OAAS,EAC1DC,EAA0Bf,EAAqBc,OAAS,EACxDE,EAAcH,GAA4BE,EAA0BN,EAAKQ,IAAI,0CAA4C,GA8B/H,OA5BAC,GAAU,KACN,GAAIf,aAAAA,EAAAA,EAAmBgB,KAAM,CACzB,MAAMC,EAAgBtB,EAAeuB,MAAKD,GAAiBA,EAAcD,QAAShB,aAAAA,EAAAA,EAAmBgB,QACrG,GAAKC,EAID,YADAb,EAASa,GAFTE,QAAQC,KAAK,iCAAiCpB,aAAAA,EAAAA,EAAmBgB,kBAKzE,CAGA,MAAMK,EAAqBxB,EAAqB,GAC1CyB,EAAwB3B,EAAe,GAE7C,GAAI0B,GAAsBC,EAAuB,CAE7C,GAD8BxB,IAAkF,IAAlDyB,EAAQF,EAAoB,kBAGtF,YADAjB,EAASiB,GAITtB,GACAK,EAASkB,EAEjB,IACD,CAACzB,EAAsBF,EAAgBG,EAA8BC,EAAwBC,IAG5FwB,EAACC,EACIvB,KAAAA,GACGsB,EAACE,EAAAA,CACGzB,MAAOA,EACPC,YAAaA,EACbC,cAAeA,EACfK,uBAAwBA,IAI/BE,GAA4Bc,EAACG,EAAAA,CAAsBhC,eAAgBC,IAEnEgB,GACGY,EAACI,EACOvB,EAAAA,EAAAA,CAAAA,EAAAA,GAAAA,CACJwB,MAAOvB,EAAKQ,IAAI,2CAChBgB,mBAAoB,CAAC,kBACrBnC,eAAgBE,EAChBO,SAAUA,OAIfT,EAAegB,QACda,EAACI,EACOvB,EAAAA,EAAAA,CAAAA,EAAAA,GAAAA,CACJwB,MAAOhB,EACPiB,mBAAoB,CAAC,iBACrBnC,eAAgBA,EAChBS,SAAUA"}
|
package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentMethodsContainer.js","sources":["../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.tsx"],"sourcesContent":["import { h } from 'preact';\nimport PaymentMethodItem from './PaymentMethodItem/PaymentMethodItem';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { useMemo } from 'preact/hooks';\nimport uuid from '../../../../utils/uuid';\nimport classNames from 'classnames';\nimport UIElement from '../../../internal/UIElement';\n\nexport interface PaymentMethodsContainerProps {\n label: string;\n classNameModifiers?: string[];\n paymentMethods: UIElement[];\n activePaymentMethod?: UIElement;\n /**\n * Map that keeps track of which Payment methods (UIElements) already got rendered in the UI\n */\n cachedPaymentMethods: Record<string, boolean>;\n showRemovePaymentMethodButton?: boolean;\n onSelect?: (paymentMethod: UIElement) => void;\n onDisableStoredPaymentMethod?: (storedPaymentMethod) => void;\n isDisablingPaymentMethod?: boolean;\n isLoading: boolean;\n showRadioButton?: boolean;\n}\n\nfunction PaymentMethodsContainer({\n label,\n classNameModifiers = [],\n paymentMethods = [],\n activePaymentMethod = null,\n cachedPaymentMethods = {},\n isLoading = false,\n isDisablingPaymentMethod = false,\n showRemovePaymentMethodButton,\n onDisableStoredPaymentMethod = () => {},\n onSelect,\n showRadioButton\n}: Readonly<PaymentMethodsContainerProps>) {\n const { i18n } = useCoreContext();\n const selectListId: string = useMemo(() => `select-${uuid()}`, []);\n const paymentMethodListClassnames = classNames([\n 'adyen-checkout__payment-methods-list',\n { 'adyen-checkout__payment-methods-list--loading': isLoading },\n ...classNameModifiers.map(m => `adyen-checkout__payment-methods-list--${m}`)\n ]);\n\n return (\n <div className=\"adyen-checkout-payment-methods-container\">\n {!!label.length && (\n <label htmlFor={selectListId} className=\"adyen-checkout-payment-methods-list-label\">\n {label}\n </label>\n )}\n <ul\n id={selectListId}\n className={paymentMethodListClassnames}\n role=\"radiogroup\"\n aria-label={i18n.get('paymentMethodsList.aria.label')}\n required\n >\n {paymentMethods.map((paymentMethod, index, paymentMethodsCollection) => {\n const isSelected = activePaymentMethod && activePaymentMethod._id === paymentMethod._id;\n const isLoaded = paymentMethod._id in cachedPaymentMethods;\n const isNextOneSelected =\n activePaymentMethod &&\n paymentMethodsCollection[index + 1] &&\n activePaymentMethod._id === paymentMethodsCollection[index + 1]._id;\n\n return (\n <PaymentMethodItem\n className={classNames({ 'adyen-checkout__payment-method--next-selected': isNextOneSelected })}\n standalone={paymentMethods.length === 1}\n paymentMethod={paymentMethod}\n isSelected={isSelected}\n isDisablingPaymentMethod={isSelected && isDisablingPaymentMethod}\n isLoaded={isLoaded}\n isLoading={isLoading}\n onSelect={onSelect}\n key={paymentMethod._id}\n showRemovePaymentMethodButton={showRemovePaymentMethodButton}\n showRadioButton={showRadioButton}\n onDisableStoredPaymentMethod={onDisableStoredPaymentMethod}\n />\n );\n })}\n </ul>\n </div>\n );\n}\n\nexport default PaymentMethodsContainer;\n"],"names":["PaymentMethodsContainer","label","classNameModifiers","paymentMethods","activePaymentMethod","cachedPaymentMethods","isLoading","isDisablingPaymentMethod","showRemovePaymentMethodButton","onDisableStoredPaymentMethod","onSelect","showRadioButton","i18n","useCoreContext","selectListId","useMemo","uuid","paymentMethodListClassnames","classNames","map","m","h","div","className","length","htmlFor","ul","id","role","aria-label","get","required","paymentMethod","index","paymentMethodsCollection","isSelected","_id","isLoaded","isNextOneSelected","PaymentMethodItem","standalone","key"],"mappings":"wXAyBA,SAASA,GAAwBC,MAC7BA,EAAKC,mBACLA,EAAqB,GAAEC,eACvBA,EAAiB,GAAEC,oBACnBA,EAAsB,KAAIC,qBAC1BA,EAAuB,CAAA,EAAEC,UACzBA,GAAY,EAAKC,yBACjBA,GAA2B,EAAKC,8BAChCA,EAA6BC,6BAC7BA,EAA+B,SAAQC,SACvCA,EAAQC,gBACRA,IAEA,MAAMC,KAAEA,GAASC,IACXC,EAAuBC,GAAQ,IAAM,UAAUC,OAAU,IACzDC,EAA8BC,EAAW,CAC3C,uCACA,CAAE,gDAAiDZ,MAChDJ,EAAmBiB,KAAIC,GAAK,yCAAyCA,QAG5E,OACIC,EAACC,MAAAA,CAAIC,UAAU,8CACRtB,EAAMuB,QACLH,EAACpB,QAAAA,CAAMwB,QAASX,EAAcS,UAAU,6CACnCtB,
|
|
1
|
+
{"version":3,"file":"PaymentMethodsContainer.js","sources":["../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.tsx"],"sourcesContent":["import { h } from 'preact';\nimport PaymentMethodItem from './PaymentMethodItem/PaymentMethodItem';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { useMemo } from 'preact/hooks';\nimport uuid from '../../../../utils/uuid';\nimport classNames from 'classnames';\nimport UIElement from '../../../internal/UIElement';\n\nexport interface PaymentMethodsContainerProps {\n label: string;\n classNameModifiers?: string[];\n paymentMethods: UIElement[];\n activePaymentMethod?: UIElement;\n /**\n * Map that keeps track of which Payment methods (UIElements) already got rendered in the UI\n */\n cachedPaymentMethods: Record<string, boolean>;\n showRemovePaymentMethodButton?: boolean;\n onSelect?: (paymentMethod: UIElement) => void;\n onDisableStoredPaymentMethod?: (storedPaymentMethod) => void;\n isDisablingPaymentMethod?: boolean;\n isLoading: boolean;\n showRadioButton?: boolean;\n}\n\nfunction PaymentMethodsContainer({\n label,\n classNameModifiers = [],\n paymentMethods = [],\n activePaymentMethod = null,\n cachedPaymentMethods = {},\n isLoading = false,\n isDisablingPaymentMethod = false,\n showRemovePaymentMethodButton,\n onDisableStoredPaymentMethod = () => {},\n onSelect,\n showRadioButton\n}: Readonly<PaymentMethodsContainerProps>) {\n const { i18n } = useCoreContext();\n const selectListId: string = useMemo(() => `select-${uuid()}`, []);\n const paymentMethodListClassnames = classNames([\n 'adyen-checkout__payment-methods-list',\n { 'adyen-checkout__payment-methods-list--loading': isLoading },\n ...classNameModifiers.map(m => `adyen-checkout__payment-methods-list--${m}`)\n ]);\n\n return (\n <div className=\"adyen-checkout-payment-methods-container\">\n {!!label.length && (\n <label htmlFor={selectListId} className=\"adyen-checkout-payment-methods-list-label\">\n {label}\n </label>\n )}\n {/* eslint-disable jsx-a11y/no-noninteractive-element-to-interactive-role */}\n <ul\n id={selectListId}\n className={paymentMethodListClassnames}\n role=\"radiogroup\"\n aria-label={i18n.get('paymentMethodsList.aria.label')}\n required\n >\n {paymentMethods.map((paymentMethod, index, paymentMethodsCollection) => {\n const isSelected = activePaymentMethod && activePaymentMethod._id === paymentMethod._id;\n const isLoaded = paymentMethod._id in cachedPaymentMethods;\n const isNextOneSelected =\n activePaymentMethod &&\n paymentMethodsCollection[index + 1] &&\n activePaymentMethod._id === paymentMethodsCollection[index + 1]._id;\n\n return (\n <PaymentMethodItem\n className={classNames({ 'adyen-checkout__payment-method--next-selected': isNextOneSelected })}\n standalone={paymentMethods.length === 1}\n paymentMethod={paymentMethod}\n isSelected={isSelected}\n isDisablingPaymentMethod={isSelected && isDisablingPaymentMethod}\n isLoaded={isLoaded}\n isLoading={isLoading}\n onSelect={onSelect}\n key={paymentMethod._id}\n showRemovePaymentMethodButton={showRemovePaymentMethodButton}\n showRadioButton={showRadioButton}\n onDisableStoredPaymentMethod={onDisableStoredPaymentMethod}\n />\n );\n })}\n </ul>\n </div>\n );\n}\n\nexport default PaymentMethodsContainer;\n"],"names":["PaymentMethodsContainer","label","classNameModifiers","paymentMethods","activePaymentMethod","cachedPaymentMethods","isLoading","isDisablingPaymentMethod","showRemovePaymentMethodButton","onDisableStoredPaymentMethod","onSelect","showRadioButton","i18n","useCoreContext","selectListId","useMemo","uuid","paymentMethodListClassnames","classNames","map","m","h","div","className","length","htmlFor","ul","id","role","aria-label","get","required","paymentMethod","index","paymentMethodsCollection","isSelected","_id","isLoaded","isNextOneSelected","PaymentMethodItem","standalone","key"],"mappings":"wXAyBA,SAASA,GAAwBC,MAC7BA,EAAKC,mBACLA,EAAqB,GAAEC,eACvBA,EAAiB,GAAEC,oBACnBA,EAAsB,KAAIC,qBAC1BA,EAAuB,CAAA,EAAEC,UACzBA,GAAY,EAAKC,yBACjBA,GAA2B,EAAKC,8BAChCA,EAA6BC,6BAC7BA,EAA+B,SAAQC,SACvCA,EAAQC,gBACRA,IAEA,MAAMC,KAAEA,GAASC,IACXC,EAAuBC,GAAQ,IAAM,UAAUC,OAAU,IACzDC,EAA8BC,EAAW,CAC3C,uCACA,CAAE,gDAAiDZ,MAChDJ,EAAmBiB,KAAIC,GAAK,yCAAyCA,QAG5E,OACIC,EAACC,MAAAA,CAAIC,UAAU,8CACRtB,EAAMuB,QACLH,EAACpB,QAAAA,CAAMwB,QAASX,EAAcS,UAAU,6CACnCtB,GAIToB,EAACK,KAAAA,CACGC,GAAIb,EACJS,UAAWN,EACXW,KAAK,aACLC,aAAYjB,EAAKkB,IAAI,iCACrBC,UAAAA,GAEC5B,EAAegB,KAAI,CAACa,EAAeC,EAAOC,KACvC,MAAMC,EAAa/B,GAAuBA,EAAoBgC,MAAQJ,EAAcI,IAC9EC,EAAWL,EAAcI,OAAO/B,EAChCiC,EACFlC,GACA8B,EAAyBD,EAAQ,IACjC7B,EAAoBgC,MAAQF,EAAyBD,EAAQ,GAAGG,IAEpE,OACIf,EAACkB,EAAAA,CACGhB,UAAWL,EAAW,CAAE,gDAAiDoB,IACzEE,WAAsC,IAA1BrC,EAAeqB,OAC3BQ,cAAeA,EACfG,WAAYA,EACZ5B,yBAA0B4B,GAAc5B,EACxC8B,SAAUA,EACV/B,UAAWA,EACXI,SAAUA,EACV+B,IAAKT,EAAcI,IACnB5B,8BAA+BA,EAC/BG,gBAAiBA,EACjBF,6BAA8BA,QAO1D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createElements.js","sources":["../../../../../src/components/Dropin/elements/createElements.ts"],"sourcesContent":["import { filterUnsupported, filterPresent, filterAvailable } from './filters';\nimport { getComponentConfiguration } from './getComponentConfiguration';\nimport getComponentNameOfPaymentType from '../../components-name-map';\nimport type { PaymentMethod, StoredPaymentMethod } from '../../../types/global-types';\nimport type { PaymentMethodsConfiguration } from '../types';\nimport type { ICore } from '../../../core/types';\
|
|
1
|
+
{"version":3,"file":"createElements.js","sources":["../../../../../src/components/Dropin/elements/createElements.ts"],"sourcesContent":["import { filterUnsupported, filterPresent, filterAvailable } from './filters';\nimport { getComponentConfiguration } from './getComponentConfiguration';\nimport getComponentNameOfPaymentType from '../../components-name-map';\nimport UIElement from '../../internal/UIElement';\nimport type { PaymentMethod, StoredPaymentMethod } from '../../../types/global-types';\nimport type { PaymentMethodsConfiguration } from '../types';\nimport type { ICore } from '../../../core/types';\n\n/**\n * Returns a filtered (available) list of component Elements\n *\n * @param paymentMethods - Array of PaymentMethod objects from the /paymentMethods response\n * @param paymentMethodsConfiguration - Dropin paymentMethodsConfiguration object\n * @param commonProps - High level props to be passed through to every component\n * @param core - Reference to the checkout core object\n */\nconst createElements = (\n paymentMethods: PaymentMethod[] | StoredPaymentMethod[],\n paymentMethodsConfiguration: PaymentMethodsConfiguration,\n commonProps,\n core: ICore\n): Promise<UIElement[]> => {\n const elements = paymentMethods\n .map(paymentMethod => {\n const paymentMethodConfigurationProps = getComponentConfiguration(\n paymentMethod.type,\n paymentMethodsConfiguration,\n paymentMethod.isStoredPaymentMethod\n );\n const PaymentMethodElement = core.getComponent(paymentMethod.type);\n\n if (!PaymentMethodElement) {\n console.warn(\n `\\nDropin: You support the payment method '${\n paymentMethod.type\n }' but this component has not been configured. Make sure to import the Class '${getComponentNameOfPaymentType(\n paymentMethod.type\n )}' and then pass it in the Dropin's 'paymentMethodComponents' config property if you wish to offer this payment method.`\n );\n return null;\n }\n\n const elementProps = { ...paymentMethod, ...commonProps, ...paymentMethodConfigurationProps };\n\n return new PaymentMethodElement(core, elementProps);\n })\n .filter(filterPresent)\n .filter(filterUnsupported);\n\n return filterAvailable(elements);\n};\n\nexport default createElements;\n"],"names":["createElements","paymentMethods","paymentMethodsConfiguration","commonProps","core","elements","map","paymentMethod","paymentMethodConfigurationProps","getComponentConfiguration","type","isStoredPaymentMethod","PaymentMethodElement","getComponent","console","warn","getComponentNameOfPaymentType","elementProps","_object_spread","filter","filterPresent","filterUnsupported","filterAvailable"],"mappings":"wUAgBMA,MAAAA,EAAiB,CACnBC,EACAC,EACAC,EACAC,KAEA,MAAMC,EAAWJ,EACZK,KAAIC,IACD,MAAMC,EAAkCC,EACpCF,EAAcG,KACdR,EACAK,EAAcI,uBAEZC,EAAuBR,EAAKS,aAAaN,EAAcG,MAE7D,IAAKE,EAQD,OAPAE,QAAQC,KACJ,6CACIR,EAAcG,qFAC+DM,EAC7ET,EAAcG,+HAGf,KAGX,MAAMO,wUAAeC,CAAKX,CAAAA,EAAAA,EAAkBJ,EAAgBK,GAE5D,OAAO,IAAII,EAAqBR,EAAMa,EAAAA,IAEzCE,OAAOC,GACPD,OAAOE,GAEZ,OAAOC,EAAgBjB,EAAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createInstantPaymentElements.js","sources":["../../../../../src/components/Dropin/elements/createInstantPaymentElements.ts"],"sourcesContent":["import createElements from './createElements';\nimport type { PaymentMethod } from '../../../types/global-types';\nimport type { ICore } from '../../../core/types';\nimport type { PaymentMethodsConfiguration } from '../types';\
|
|
1
|
+
{"version":3,"file":"createInstantPaymentElements.js","sources":["../../../../../src/components/Dropin/elements/createInstantPaymentElements.ts"],"sourcesContent":["import UIElement from '../../internal/UIElement';\nimport createElements from './createElements';\nimport type { PaymentMethod } from '../../../types/global-types';\nimport type { ICore } from '../../../core/types';\nimport type { PaymentMethodsConfiguration } from '../types';\n\n/**\n * Returns a filtered (available) list of InstantPaymentMethods Elements\n *\n * @param instantPaymentMethods - Array of PaymentMethod objects from the /paymentMethods response\n * @param paymentMethodsConfiguration - Dropin paymentMethodsConfiguration object\n * @param commonProps - High level props to be passed through to every component\n * @param core - Reference to the checkout core object\n */\nconst createInstantPaymentElements = (\n instantPaymentMethods: PaymentMethod[] = [],\n paymentMethodsConfiguration: PaymentMethodsConfiguration,\n commonProps,\n core: ICore\n): Promise<UIElement[]> => {\n if (instantPaymentMethods.length) {\n return createElements(\n instantPaymentMethods,\n paymentMethodsConfiguration,\n { ...commonProps, isInstantPayment: true, showPayButton: true },\n core\n );\n }\n return Promise.resolve([]);\n};\n\nexport default createInstantPaymentElements;\n"],"names":["createInstantPaymentElements","instantPaymentMethods","paymentMethodsConfiguration","commonProps","core","length","createElements","_object_spread_props","isInstantPayment","showPayButton","Promise","resolve"],"mappings":"khBAcMA,EAA+B,CACjCC,EAAyC,GACzCC,EACAC,EACAC,IAEIH,EAAsBI,OACfC,EACHL,EACAC,EACAK,wUAAKJ,CAAAA,CAAAA,EAAAA,GAAAA,CAAaK,kBAAkB,EAAMC,eAAe,IACzDL,GAGDM,QAAQC,QAAQ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createStoredElements.js","sources":["../../../../../src/components/Dropin/elements/createStoredElements.ts"],"sourcesContent":["import createElements from './createElements';\nimport type { StoredPaymentMethod } from '../../../types/global-types';\nimport type { ICore } from '../../../core/types';\nimport type { PaymentMethodsConfiguration } from '../types';\
|
|
1
|
+
{"version":3,"file":"createStoredElements.js","sources":["../../../../../src/components/Dropin/elements/createStoredElements.ts"],"sourcesContent":["import createElements from './createElements';\nimport UIElement from '../../internal/UIElement';\nimport type { StoredPaymentMethod } from '../../../types/global-types';\nimport type { ICore } from '../../../core/types';\nimport type { PaymentMethodsConfiguration } from '../types';\n\n/**\n * Returns a filtered (available) list of oneClick paymentMethod Elements\n *\n * @param paymentMethods - Array of PaymentMethod objects from the /paymentMethods response\n * @param paymentMethodsConfiguration - Dropin paymentMethodsConfiguration object\n * @param commonProps - High level props to be passed through to every component\n * @param core - Reference to the checkout core object\n */\nconst createStoredElements = (\n paymentMethods: StoredPaymentMethod[] = [],\n paymentMethodsConfiguration: PaymentMethodsConfiguration,\n commonProps,\n core: ICore\n): Promise<UIElement[]> => createElements(paymentMethods, paymentMethodsConfiguration, { ...commonProps, oneClick: true }, core);\n\nexport default createStoredElements;\n"],"names":["createStoredElements","paymentMethods","paymentMethodsConfiguration","commonProps","core","createElements","_object_spread_props","oneClick"],"mappings":"4gBAcMA,MAAAA,EAAuB,CACzBC,EAAwC,GACxCC,EACAC,EACAC,IACuBC,EAAeJ,EAAgBC,EAA6BI,wUAAKH,CAAAA,CAAAA,EAAAA,GAAAA,CAAaI,UAAU,IAAQH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters.js","sources":["../../../../../src/components/Dropin/elements/filters.ts"],"sourcesContent":["import promiseTimeout from '../../../utils/promiseTimeout';\nimport
|
|
1
|
+
{"version":3,"file":"filters.js","sources":["../../../../../src/components/Dropin/elements/filters.ts"],"sourcesContent":["import promiseTimeout from '../../../utils/promiseTimeout';\nimport { UIElement } from '../../../types';\n\nexport const UNSUPPORTED_PAYMENT_METHODS = ['androidpay', 'samsungpay', 'clicktopay'];\n\n// filter payment methods that we don't support in the Drop-in\nexport const filterUnsupported = paymentMethod => !UNSUPPORTED_PAYMENT_METHODS.includes(paymentMethod.constructor['type']);\n\n// filter payment methods that we support (that are in the paymentMethods/index dictionary)\nexport const filterPresent = paymentMethod => !!paymentMethod;\n\n// filter payment methods that are available to the user\nexport const filterAvailable = (elements: UIElement[]) => {\n const elementIsAvailablePromises = elements.map(element => {\n const { promise } = promiseTimeout(5000, element.isAvailable(), {});\n return promise;\n });\n\n return Promise.allSettled(elementIsAvailablePromises).then(promiseResults => {\n return elements.filter((element, i) => promiseResults[i].status === 'fulfilled');\n });\n};\n"],"names":["UNSUPPORTED_PAYMENT_METHODS","filterUnsupported","paymentMethod","includes","constructor","filterPresent","filterAvailable","elements","elementIsAvailablePromises","map","element","promise","promiseTimeout","isAvailable","Promise","allSettled","then","promiseResults","filter","i","status"],"mappings":"sDAGaA,EAA8B,CAAC,aAAc,aAAc,cAG3DC,EAAoBC,IAAkBF,EAA4BG,SAASD,EAAcE,YAAY,MAGrGC,EAAgBH,KAAmBA,EAGnCI,EAAmBC,IAC5B,MAAMC,EAA6BD,EAASE,KAAIC,IAC5C,MAAMC,QAAEA,GAAYC,EAAe,IAAMF,EAAQG,cAAe,CAAA,GAChE,OAAOF,CAAAA,IAGX,OAAOG,QAAQC,WAAWP,GAA4BQ,MAAKC,GAChDV,EAASW,QAAO,CAACR,EAASS,IAAmC,cAA7BF,EAAeE,GAAGC,UAC7D"}
|
|
@@ -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/GiftcardComponent.js";import{CoreProvider as n}from"../../core/Context/CoreProvider.js";import o from"../internal/PayButton/PayButton.js";import s from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as i}from"../tx-variants.js";function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function p(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){a(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,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}class h extends t{formatProps(e){return p({},null==e?void 0:e.configuration,e)}formatData(){var e,t;return{paymentMethod:{type:this.constructor.type,brand:this.props.brand,encryptedCardNumber:null===(e=this.state.data)||void 0===e?void 0:e.encryptedCardNumber,encryptedSecurityCode:null===(t=this.state.data)||void 0===t?void 0:t.encryptedSecurityCode}}}get isValid(){return!!this.state.isValid}get icon(){var e;return(null===(e=this.props.brandsConfiguration[this.props.brand])||void 0===e?void 0:e.icon)||this.props.icon||this.resources.getImage()(this.props.brand)}get displayName(){var e;return(null===(e=this.props.brandsConfiguration[this.props.brand])||void 0===e?void 0:e.name)||this.props.name}balanceCheck(){return this.onBalanceCheck()}submit(){if(!this.isValid)return this.showValidation(),!1;this.balanceCheck()}render(){return e(n,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},e(r,c(p({ref:e=>{this.componentRef=e}},this.props),{handleKeyPress:this.handleKeyPress,showPayButton:this.props.showPayButton,onChange:this.setState,onBalanceCheck:this.onBalanceCheck,onSubmit:this.submit,payButton:this.payButton})))}constructor(...t){super(...t),a(this,"handleBalanceCheck",(e=>this.props.onBalanceCheck?new Promise(((t,r)=>{this.props.onBalanceCheck(t,r,e)})):this.props.session?this.props.session.checkBalance(e):void 0)),a(this,"onOrderRequest",(e=>this.props.onOrderRequest?new Promise(((t,r)=>{this.props.onOrderRequest(t,r,e)})):this.props.session?this.props.session.createOrder():void 0)),a(this,"onBalanceCheck",(()=>{if(!(this.props.session||this.props.onBalanceCheck))return super.submit();this.setStatus("loading"),this.handleBalanceCheck(this.formatData()).then((({balance:e,transactionLimit:t={}})=>{var r;if(!e)throw new Error("card-error");if((null==e?void 0:e.currency)!==(null===(r=this.props.amount)||void 0===r?void 0:r.currency))throw new Error("currency-error");if((null==e?void 0:e.value)<=0)throw new Error("no-balance");return this.componentRef.setBalance({balance:e,transactionLimit:t}),this.props.amount.value>e.value||this.props.amount.value>t.value?this.props.order?super.submit():this.onOrderRequest(this.data).then((e=>(this.setState({order:{orderData:e.orderData,pspReference:e.pspReference}}),super.submit()))):this.handleOnRequiringConfirmation().then((()=>super.submit()))})).catch((e=>{this.setStatus((null==e?void 0:e.message)||"error"),this.props.onError&&this.handleError(new s("ERROR",e))}))})),a(this,"handleOnRequiringConfirmation",(()=>{if(this.props.onRequiringConfirmation)return new Promise(((e,t)=>{this.props.onRequiringConfirmation(e,t)}))})),a(this,"payButton",(t=>e(o,t)))}}a(h,"type",i.giftcard),a(h,"defaultProps",{brandsConfiguration:{}});export{h as GiftcardElement,h as default};
|
|
2
2
|
//# sourceMappingURL=Giftcard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Giftcard.js","sources":["../../../../src/components/Giftcard/Giftcard.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GiftcardComponent from './components/GiftcardComponent';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport PayButton from '../internal/PayButton';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { PaymentAmount } from '../../types//global-types';\nimport { GiftCardElementData, GiftCardConfiguration } from './types';\nimport { TxVariants } from '../tx-variants';\n\nexport class GiftcardElement extends UIElement<GiftCardConfiguration> {\n public static type = TxVariants.giftcard;\n\n protected static defaultProps = {\n brandsConfiguration: {}\n };\n\n formatProps(props) {\n return {\n ...props?.configuration,\n ...props\n };\n }\n\n formatData(): GiftCardElementData {\n return {\n paymentMethod: {\n type: this.constructor['type'],\n brand: this.props.brand,\n encryptedCardNumber: this.state.data?.encryptedCardNumber,\n encryptedSecurityCode: this.state.data?.encryptedSecurityCode\n }\n };\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get icon() {\n return this.props.brandsConfiguration[this.props.brand]?.icon || this.props.icon || this.resources.getImage()(this.props.brand);\n }\n\n get displayName() {\n return this.props.brandsConfiguration[this.props.brand]?.name || this.props.name;\n }\n\n private handleBalanceCheck = data => {\n if (this.props.onBalanceCheck) {\n return new Promise((resolve, reject) => {\n this.props.onBalanceCheck(resolve, reject, data);\n });\n }\n\n if (this.props.session) {\n return this.props.session.checkBalance(data);\n }\n };\n\n private onOrderRequest = data => {\n if (this.props.onOrderRequest)\n return new Promise((resolve, reject) => {\n this.props.onOrderRequest(resolve, reject, data);\n });\n\n if (this.props.session) {\n return this.props.session.createOrder();\n }\n };\n\n public balanceCheck() {\n return this.onBalanceCheck();\n }\n\n
|
|
1
|
+
{"version":3,"file":"Giftcard.js","sources":["../../../../src/components/Giftcard/Giftcard.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GiftcardComponent from './components/GiftcardComponent';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport PayButton from '../internal/PayButton';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { PaymentAmount } from '../../types//global-types';\nimport { GiftCardElementData, GiftCardConfiguration, balanceCheckResponseType } from './types';\nimport { TxVariants } from '../tx-variants';\n\nexport class GiftcardElement extends UIElement<GiftCardConfiguration> {\n public static type = TxVariants.giftcard;\n\n protected static defaultProps = {\n brandsConfiguration: {}\n };\n\n formatProps(props) {\n return {\n ...props?.configuration,\n ...props\n };\n }\n\n formatData(): GiftCardElementData {\n return {\n paymentMethod: {\n type: this.constructor['type'],\n brand: this.props.brand,\n encryptedCardNumber: this.state.data?.encryptedCardNumber,\n encryptedSecurityCode: this.state.data?.encryptedSecurityCode\n }\n };\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get icon() {\n return this.props.brandsConfiguration[this.props.brand]?.icon || this.props.icon || this.resources.getImage()(this.props.brand);\n }\n\n get displayName() {\n return this.props.brandsConfiguration[this.props.brand]?.name || this.props.name;\n }\n\n private handleBalanceCheck = (data: GiftCardElementData): Promise<balanceCheckResponseType> => {\n if (this.props.onBalanceCheck) {\n return new Promise((resolve, reject) => {\n void this.props.onBalanceCheck(resolve, reject, data);\n });\n }\n\n if (this.props.session) {\n return this.props.session.checkBalance(data);\n }\n };\n\n private onOrderRequest = data => {\n if (this.props.onOrderRequest)\n return new Promise((resolve, reject) => {\n void this.props.onOrderRequest(resolve, reject, data);\n });\n\n if (this.props.session) {\n return this.props.session.createOrder();\n }\n };\n\n public balanceCheck() {\n return this.onBalanceCheck();\n }\n\n private onBalanceCheck = (): void => {\n // skip balance check if no onBalanceCheck event has been defined\n const hasBalanceCheck = this.props.session || this.props.onBalanceCheck;\n if (!hasBalanceCheck) return super.submit();\n\n this.setStatus('loading');\n\n this.handleBalanceCheck(this.formatData())\n .then(({ balance, transactionLimit = {} as PaymentAmount }) => {\n if (!balance) throw new Error('card-error'); // card doesn't exist\n if (balance?.currency !== this.props.amount?.currency) throw new Error('currency-error');\n if (balance?.value <= 0) throw new Error('no-balance');\n\n this.componentRef.setBalance({ balance, transactionLimit });\n\n if (this.props.amount.value > balance.value || this.props.amount.value > transactionLimit.value) {\n if (this.props.order) {\n return super.submit();\n }\n\n return this.onOrderRequest(this.data).then((order: { orderData: string; pspReference: string }) => {\n this.setState({ order: { orderData: order.orderData, pspReference: order.pspReference } });\n return super.submit();\n });\n } else {\n return this.handleOnRequiringConfirmation().then(() => super.submit());\n }\n })\n .catch(error => {\n this.setStatus(error?.message || 'error');\n if (this.props.onError) this.handleError(new AdyenCheckoutError('ERROR', error));\n });\n };\n\n private handleOnRequiringConfirmation = (): Promise<any> => {\n if (this.props.onRequiringConfirmation) {\n return new Promise<void>((resolve, reject) => {\n void this.props.onRequiringConfirmation(resolve, reject);\n });\n }\n };\n\n public submit() {\n if (!this.isValid) {\n this.showValidation();\n return false;\n }\n\n this.balanceCheck();\n }\n\n // Giftcards override the regular payButton flow\n public payButton = props => {\n return <PayButton {...props} />;\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <GiftcardComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n handleKeyPress={this.handleKeyPress}\n showPayButton={this.props.showPayButton}\n onChange={this.setState}\n onBalanceCheck={this.onBalanceCheck}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default GiftcardElement;\n"],"names":["GiftcardElement","UIElement","formatProps","props","_object_spread","configuration","formatData","_this_state_data","_this_state_data1","paymentMethod","type","this","constructor","brand","encryptedCardNumber","state","data","encryptedSecurityCode","isValid","icon","_this_props_brandsConfiguration_this_props_brand","brandsConfiguration","resources","getImage","displayName","name","balanceCheck","onBalanceCheck","submit","showValidation","render","h","CoreProvider","i18n","loadingContext","GiftcardComponent","ref","componentRef","handleKeyPress","showPayButton","onChange","setState","onSubmit","payButton","_define_property","handleBalanceCheck","Promise","resolve","reject","session","checkBalance","onOrderRequest","createOrder","super","setStatus","then","balance","transactionLimit","_this_props_amount","Error","currency","amount","value","setBalance","order","orderData","pspReference","handleOnRequiringConfirmation","catch","error","message","onError","handleError","AdyenCheckoutError","onRequiringConfirmation","PayButton","TxVariants","giftcard","defaultProps"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Component as
|
|
1
|
+
import{Component as t,createElement as e}from"../../../external/preact/dist/preact.js";import r from"../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import o from"../../internal/Alert/Alert.js";import s from"./GiftcardResult.js";import{useCoreContext as n}from"../../../core/Context/CoreProvider.js";import{GIFT_CARD as i}from"../../internal/SecuredFields/lib/constants.js";import{GiftCardFields as a}from"./GiftcardFields.js";function c(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function u(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})))),o.forEach((function(e){c(t,e,r[e])}))}return t}function l(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);r.push.apply(r,o)}return r}(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})),t}class p extends t{setStatus(t){this.setState({status:t})}render(t,{focusedElement:a,balance:c,transactionLimit:p}){var d;const{i18n:f}=n(),h=(null==p?void 0:p.value)<(null==c?void 0:c.value)?p:c,m=(null==h?void 0:h.value)>=(null===(d=this.props.amount)||void 0===d?void 0:d.value);if(h&&m)return e(s,u({balance:c,transactionLimit:p,onSubmit:t.onSubmit},t));const b=t=>{if(t.errors.encryptedCardNumber)return f.get(t.errors.encryptedCardNumber);switch(this.state.status){case"no-balance":return f.get("error.giftcard.no-balance");case"card-error":return f.get("error.giftcard.card-error");case"currency-error":return f.get("error.giftcard.currency-error");default:return null}};return e("div",{className:"adyen-checkout__giftcard"},"error"===this.state.status&&e(o,{icon:"cross"},f.get("error.message.unknown")),e(r,l(u({},this.props),{ref:t=>{this.sfp=t},onChange:this.onChange,onFocus:this.handleFocus,type:i,render:({setRootNode:t,setFocusOn:e},r)=>this.props.fieldsLayoutComponent({i18n:f,pinRequired:this.props.pinRequired,focusedElement:a,getCardErrorMessage:b,setRootNode:t,setFocusOn:e,sfpState:r})})),this.props.showPayButton&&this.props.payButton({status:this.state.status,onClick:this.props.onSubmit,label:f.get("applyGiftcard")}))}constructor(...t){super(...t),c(this,"state",{status:"ready",data:{},balance:null,transactionLimit:null,focusedElement:!1,isValid:!1}),c(this,"sfp",void 0),c(this,"onChange",(t=>{this.props.onChange({data:t.data,isValid:t.isSfpValid})})),c(this,"showValidation",(()=>{this.sfp.showValidation()})),c(this,"handleFocus",(t=>{this.setState({focusedElement:t.currentFocusObject});!0===t.focus?this.props.onFocus(t):this.props.onBlur(t)})),c(this,"setBalance",(({balance:t,transactionLimit:e})=>{this.setState({balance:t,transactionLimit:e})}))}}c(p,"defaultProps",{pinRequired:!0,expiryDateRequired:!1,onChange:()=>{},onFocus:()=>{},onBlur:()=>{},fieldsLayoutComponent:a});export{p as default};
|
|
2
2
|
//# sourceMappingURL=GiftcardComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GiftcardComponent.js","sources":["../../../../../src/components/Giftcard/components/GiftcardComponent.tsx"],"sourcesContent":["import { Component, FunctionComponent, h } from 'preact';\nimport SecuredFieldsProvider from '../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport Alert from '../../internal/Alert';\nimport GiftcardResult from './GiftcardResult';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { GIFT_CARD } from '../../internal/SecuredFields/lib/constants';\nimport { GiftCardFields } from './GiftcardFields';\nimport { GiftcardFieldsProps, Placeholders } from './types';\n\ninterface GiftcardComponentProps {\n onChange: (state) => void;\n onFocus: (event) => void;\n onBlur: (event) => void;\n onSubmit: (event) => void;\n onBalanceCheck: (event) => void;\n\n amount?: PaymentAmount;\n showPayButton: boolean;\n payButton: (config) => any;\n\n pinRequired: boolean;\n expiryDateRequired?: boolean;\n fieldsLayoutComponent: FunctionComponent<GiftcardFieldsProps>;\n placeholders?: Placeholders;\n}\n\nclass Giftcard extends Component<GiftcardComponentProps> {\n public state = {\n status: 'ready',\n data: {},\n balance: null,\n transactionLimit: null,\n focusedElement: false,\n isValid: false\n };\n\n public static defaultProps = {\n pinRequired: true,\n expiryDateRequired: false,\n onChange: () => {},\n onFocus: () => {},\n onBlur: () => {},\n fieldsLayoutComponent: GiftCardFields\n };\n\n public sfp;\n\n public onChange = sfpState => {\n this.props.onChange({\n data: sfpState.data,\n isValid: sfpState.isSfpValid\n });\n };\n\n public showValidation = () => {\n this.sfp.showValidation();\n };\n\n setStatus(status) {\n this.setState({ status });\n }\n\n public handleFocus = e => {\n this.setState({ focusedElement: e.currentFocusObject });\n\n const isFocused = e.focus === true;\n if (isFocused) {\n this.props.onFocus(e);\n } else {\n this.props.onBlur(e);\n }\n };\n\n public setBalance = ({ balance, transactionLimit }) => {\n this.setState({ balance, transactionLimit });\n };\n\n render(props, { focusedElement, balance, transactionLimit }) {\n const { i18n } = useCoreContext();\n\n const transactionAmount = transactionLimit?.value < balance?.value ? transactionLimit : balance;\n const hasEnoughBalance = transactionAmount?.value >= this.props.amount?.value;\n\n if (transactionAmount && hasEnoughBalance) {\n return <GiftcardResult balance={balance} transactionLimit={transactionLimit} onSubmit={props.onSubmit} {...props} />;\n }\n\n const getCardErrorMessage = sfpState => {\n if (sfpState.errors.encryptedCardNumber) return i18n.get(sfpState.errors.encryptedCardNumber);\n\n switch (this.state.status) {\n case 'no-balance':\n return i18n.get('error.giftcard.no-balance');\n case 'card-error':\n return i18n.get('error.giftcard.card-error');\n case 'currency-error':\n return i18n.get('error.giftcard.currency-error');\n default:\n return null;\n }\n };\n\n return (\n <div className=\"adyen-checkout__giftcard\">\n {this.state.status === 'error' && <Alert icon={'cross'}>{i18n.get('error.message.unknown')}</Alert>}\n\n <SecuredFieldsProvider\n {...this.props}\n ref={ref => {\n this.sfp = ref;\n }}\n onChange={this.onChange}\n onFocus={this.handleFocus}\n type={GIFT_CARD}\n render={({ setRootNode, setFocusOn }, sfpState) =>\n this.props.fieldsLayoutComponent({\n i18n: i18n,\n pinRequired: this.props.pinRequired,\n focusedElement: focusedElement,\n getCardErrorMessage: getCardErrorMessage,\n setRootNode: setRootNode,\n setFocusOn: setFocusOn,\n sfpState: sfpState\n })\n }\n />\n\n {this.props.showPayButton &&\n this.props.payButton({\n status: this.state.status,\n onClick: this.props.
|
|
1
|
+
{"version":3,"file":"GiftcardComponent.js","sources":["../../../../../src/components/Giftcard/components/GiftcardComponent.tsx"],"sourcesContent":["import { Component, FunctionComponent, h } from 'preact';\nimport SecuredFieldsProvider from '../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport Alert from '../../internal/Alert';\nimport GiftcardResult from './GiftcardResult';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { GIFT_CARD } from '../../internal/SecuredFields/lib/constants';\nimport { GiftCardFields } from './GiftcardFields';\nimport { GiftcardFieldsProps, Placeholders } from './types';\n\ninterface GiftcardComponentProps {\n onChange: (state) => void;\n onFocus: (event) => void;\n onBlur: (event) => void;\n onSubmit: (event) => void;\n onBalanceCheck: (event) => void;\n\n amount?: PaymentAmount;\n showPayButton: boolean;\n payButton: (config) => any;\n\n pinRequired: boolean;\n expiryDateRequired?: boolean;\n fieldsLayoutComponent: FunctionComponent<GiftcardFieldsProps>;\n placeholders?: Placeholders;\n handleKeyPress?: (o: KeyboardEvent) => void;\n}\n\nclass Giftcard extends Component<GiftcardComponentProps> {\n public state = {\n status: 'ready',\n data: {},\n balance: null,\n transactionLimit: null,\n focusedElement: false,\n isValid: false\n };\n\n public static defaultProps = {\n pinRequired: true,\n expiryDateRequired: false,\n onChange: () => {},\n onFocus: () => {},\n onBlur: () => {},\n fieldsLayoutComponent: GiftCardFields\n };\n\n public sfp;\n\n public onChange = sfpState => {\n this.props.onChange({\n data: sfpState.data,\n isValid: sfpState.isSfpValid\n });\n };\n\n public showValidation = () => {\n this.sfp.showValidation();\n };\n\n setStatus(status) {\n this.setState({ status });\n }\n\n public handleFocus = e => {\n this.setState({ focusedElement: e.currentFocusObject });\n\n const isFocused = e.focus === true;\n if (isFocused) {\n this.props.onFocus(e);\n } else {\n this.props.onBlur(e);\n }\n };\n\n public setBalance = ({ balance, transactionLimit }) => {\n this.setState({ balance, transactionLimit });\n };\n\n render(props, { focusedElement, balance, transactionLimit }) {\n const { i18n } = useCoreContext();\n\n const transactionAmount = transactionLimit?.value < balance?.value ? transactionLimit : balance;\n const hasEnoughBalance = transactionAmount?.value >= this.props.amount?.value;\n\n if (transactionAmount && hasEnoughBalance) {\n return <GiftcardResult balance={balance} transactionLimit={transactionLimit} onSubmit={props.onSubmit} {...props} />;\n }\n\n const getCardErrorMessage = sfpState => {\n if (sfpState.errors.encryptedCardNumber) return i18n.get(sfpState.errors.encryptedCardNumber);\n\n switch (this.state.status) {\n case 'no-balance':\n return i18n.get('error.giftcard.no-balance');\n case 'card-error':\n return i18n.get('error.giftcard.card-error');\n case 'currency-error':\n return i18n.get('error.giftcard.currency-error');\n default:\n return null;\n }\n };\n\n return (\n <div className=\"adyen-checkout__giftcard\">\n {this.state.status === 'error' && <Alert icon={'cross'}>{i18n.get('error.message.unknown')}</Alert>}\n\n <SecuredFieldsProvider\n {...this.props}\n ref={ref => {\n this.sfp = ref;\n }}\n onChange={this.onChange}\n onFocus={this.handleFocus}\n type={GIFT_CARD}\n render={({ setRootNode, setFocusOn }, sfpState) =>\n this.props.fieldsLayoutComponent({\n i18n: i18n,\n pinRequired: this.props.pinRequired,\n focusedElement: focusedElement,\n getCardErrorMessage: getCardErrorMessage,\n setRootNode: setRootNode,\n setFocusOn: setFocusOn,\n sfpState: sfpState\n })\n }\n />\n\n {this.props.showPayButton &&\n this.props.payButton({\n status: this.state.status,\n onClick: this.props.onSubmit,\n label: i18n.get('applyGiftcard')\n })}\n </div>\n );\n }\n}\n\nexport default Giftcard;\n"],"names":["Giftcard","Component","setStatus","status","this","setState","render","props","focusedElement","balance","transactionLimit","_this_props_amount","i18n","useCoreContext","transactionAmount","value","hasEnoughBalance","amount","h","GiftcardResult","onSubmit","getCardErrorMessage","sfpState","errors","encryptedCardNumber","get","state","div","className","Alert","icon","SecuredFieldsProvider","_object_spread_props","_object_spread","ref","sfp","onChange","onFocus","handleFocus","type","GIFT_CARD","setRootNode","setFocusOn","fieldsLayoutComponent","pinRequired","showPayButton","payButton","onClick","label","_define_property","data","isValid","isSfpValid","showValidation","e","currentFocusObject","focus","onBlur","setBalance","defaultProps","expiryDateRequired","GiftCardFields"],"mappings":"uuCA4BA,MAAMA,UAAiBC,EAgCnBC,SAAAA,CAAUC,GACNC,KAAKC,SAAS,CAAEF,UACpB,CAiBAG,MAAAA,CAAOC,GAAOC,eAAEA,EAAcC,QAAEA,EAAOC,iBAAEA,IAIgB,IAAAC,EAHrD,MAAMC,KAAEA,GAASC,IAEXC,GAAoBJ,aAAAA,EAAAA,EAAkBK,QAAQN,aAAAA,EAAAA,EAASM,OAAQL,EAAmBD,EAClFO,GAAmBF,aAAAA,EAAAA,EAAmBC,SAAS,QAAAJ,EAAAP,KAAKG,MAAMU,cAAX,IAAAN,OAAA,EAAAA,EAAmBI,OAExE,GAAID,GAAqBE,EACrB,OAAOE,EAACC,EAAAA,EAAAA,CAAeV,QAASA,EAASC,iBAAkBA,EAAkBU,SAAUb,EAAMa,UAAcb,IAG/G,MAAMc,EAAsBC,IACxB,GAAIA,EAASC,OAAOC,oBAAqB,OAAOZ,EAAKa,IAAIH,EAASC,OAAOC,qBAEzE,OAAQpB,KAAKsB,MAAMvB,QACf,IAAK,aACD,OAAOS,EAAKa,IAAI,6BACpB,IAAK,aACD,OAAOb,EAAKa,IAAI,6BACpB,IAAK,iBACD,OAAOb,EAAKa,IAAI,iCACpB,QACI,OAAO,KACf,EAGJ,OACIP,EAACS,MAAAA,CAAIC,UAAU,4BACY,UAAtBxB,KAAKsB,MAAMvB,QAAsBe,EAACW,EAAAA,CAAMC,KAAM,SAAUlB,EAAKa,IAAI,0BAElEP,EAACa,EACOC,EAAAC,EAAA,CAAA,EAAA7B,KAAKG,OAAK,CACd2B,IAAKA,IACD9B,KAAK+B,IAAMD,CAAAA,EAEfE,SAAUhC,KAAKgC,SACfC,QAASjC,KAAKkC,YACdC,KAAMC,EACNlC,OAAQ,EAAGmC,cAAaC,cAAcpB,IAClClB,KAAKG,MAAMoC,sBAAsB,CAC7B/B,KAAMA,EACNgC,YAAaxC,KAAKG,MAAMqC,YACxBpC,eAAgBA,EAChBa,oBAAqBA,EACrBoB,YAAaA,EACbC,WAAYA,EACZpB,SAAUA,OAKrBlB,KAAKG,MAAMsC,eACRzC,KAAKG,MAAMuC,UAAU,CACjB3C,OAAQC,KAAKsB,MAAMvB,OACnB4C,QAAS3C,KAAKG,MAAMa,SACpB4B,MAAOpC,EAAKa,IAAI,mBAIpC,+BA5GAwB,EAAA7C,KAAOsB,QAAQ,CACXvB,OAAQ,QACR+C,KAAM,CAAC,EACPzC,QAAS,KACTC,iBAAkB,KAClBF,gBAAgB,EAChB2C,SAAS,IAYbF,EAAA7C,KAAO+B,WAAP,GAEAc,EAAA7C,KAAOgC,YAAWd,IACdlB,KAAKG,MAAM6B,SAAS,CAChBc,KAAM5B,EAAS4B,KACfC,QAAS7B,EAAS8B,YACtB,IAGJH,EAAA7C,KAAOiD,kBAAiB,KACpBjD,KAAK+B,IAAIkB,gBAAc,IAO3BJ,EAAA7C,KAAOkC,eAAcgB,IACjBlD,KAAKC,SAAS,CAAEG,eAAgB8C,EAAEC,sBAEJ,IAAZD,EAAEE,MAEhBpD,KAAKG,MAAM8B,QAAQiB,GAEnBlD,KAAKG,MAAMkD,OAAOH,EACtB,IAGJL,EAAA7C,KAAOsD,cAAa,EAAGjD,UAASC,uBAC5BN,KAAKC,SAAS,CAAEI,UAASC,oBAAiB,KAtC9CuC,EAVEjD,EAUY2D,eAAe,CACzBf,aAAa,EACbgB,oBAAoB,EACpBxB,SAAU,OACVC,QAAS,OACToB,OAAQ,OACRd,sBAAuBkB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as t}from"../../external/preact/dist/preact.js";import{CoreProvider as e}from"../../core/Context/CoreProvider.js";import r from"../Redirect/Redirect.js";import o from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as n}from"../tx-variants.js";function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function s(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);r.push.apply(r,o)}return r}(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})),t}class
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import{CoreProvider as e}from"../../core/Context/CoreProvider.js";import r from"../Redirect/Redirect.js";import o from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as n}from"../tx-variants.js";function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function s(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);r.push.apply(r,o)}return r}(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})),t}class p extends r{get displayName(){return this.props.name||this.constructor.type}render(){return this.props.showPayButton?t(e,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(o,s(function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})))),o.forEach((function(e){i(t,e,r[e])}))}return t}({},this.props),{showPayButton:this.props.showPayButton,name:this.displayName,onSubmit:this.submit,payButton:this.payButton,ref:t=>{this.componentRef=t}}))):null}}i(p,"type",n.giropay);export{p as default};
|
|
2
2
|
//# sourceMappingURL=Giropay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Giropay.js","sources":["../../../../src/components/Giropay/Giropay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectElement from '../Redirect';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\n\nclass GiropayElement extends RedirectElement {\n public static type = TxVariants.giropay;\n\n get displayName() {\n return this.props.name || this.constructor['type'];\n }\n\n render() {\n if (this.props.showPayButton) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <RedirectButton\n {...this.props}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n </CoreProvider>\n );\n }\n\n return null;\n }\n}\n\nexport default GiropayElement;\n"],"names":["GiropayElement","RedirectElement","displayName","this","props","name","constructor","render","showPayButton","h","CoreProvider","i18n","loadingContext","resources","RedirectButton","onSubmit","submit","payButton","ref","componentRef","_define_property","type","TxVariants","giropay"],"mappings":"kwBAMA,MAAMA,UAAuBC,EAGzB,eAAIC,GACA,OAAOC,KAAKC,MAAMC,MAAQF,KAAKG,YAAmB,IACtD,CAEAC,MAAAA,GACI,OAAIJ,KAAKC,MAAMI,cAEPC,EAACC,EAAAA,CAAaC,KAAMR,KAAKC,MAAMO,KAAMC,eAAgBT,KAAKC,MAAMQ,eAAgBC,UAAWV,KAAKU,WAC5FJ,EAACK,EAAAA,wUAAAA,CAAAA,GACOX,KAAKC,OAAK,
|
|
1
|
+
{"version":3,"file":"Giropay.js","sources":["../../../../src/components/Giropay/Giropay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectElement from '../Redirect';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\n\nclass GiropayElement extends RedirectElement {\n public static type = TxVariants.giropay;\n\n get displayName() {\n return this.props.name || this.constructor['type'];\n }\n\n render() {\n if (this.props.showPayButton) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <RedirectButton\n {...this.props}\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n </CoreProvider>\n );\n }\n\n return null;\n }\n}\n\nexport default GiropayElement;\n"],"names":["GiropayElement","RedirectElement","displayName","this","props","name","constructor","render","showPayButton","h","CoreProvider","i18n","loadingContext","resources","RedirectButton","onSubmit","submit","payButton","ref","componentRef","_define_property","type","TxVariants","giropay"],"mappings":"kwBAMA,MAAMA,UAAuBC,EAGzB,eAAIC,GACA,OAAOC,KAAKC,MAAMC,MAAQF,KAAKG,YAAmB,IACtD,CAEAC,MAAAA,GACI,OAAIJ,KAAKC,MAAMI,cAEPC,EAACC,EAAAA,CAAaC,KAAMR,KAAKC,MAAMO,KAAMC,eAAgBT,KAAKC,MAAMQ,eAAgBC,UAAWV,KAAKU,WAC5FJ,EAACK,EAAAA,wUAAAA,CAAAA,GACOX,KAAKC,OAAK,CACdI,cAAeL,KAAKC,MAAMI,cAC1BH,KAAMF,KAAKD,YACXa,SAAUZ,KAAKa,OACfC,UAAWd,KAAKc,UAChBC,IAAKA,IACDf,KAAKgB,aAAeD,CAAAA,MAOjC,IACX,EAzBAE,EADEpB,EACYqB,OAAOC,EAAWC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GooglePay.js","sources":["../../../../src/components/GooglePay/GooglePay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GooglePayService from './GooglePayService';\nimport GooglePayButton from './components/GooglePayButton';\nimport defaultProps from './defaultProps';\nimport { formatGooglePayContactToAdyenAddressFormat, getGooglePayLocale } from './utils';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { ANALYTICS_INSTANT_PAYMENT_BUTTON, ANALYTICS_SELECTED_STR } from '../../core/Analytics/constants';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\n\nimport type { AddressData, BrowserInfo, PaymentResponseData, RawPaymentResponse } from '../../types/global-types';\nimport type { GooglePayConfiguration } from './types';\nimport type { ICore } from '../../core/types';\n\nclass GooglePay extends UIElement<GooglePayConfiguration> {\n public static type = TxVariants.googlepay;\n public static txVariants = [TxVariants.googlepay, TxVariants.paywithgoogle];\n public static defaultProps = defaultProps;\n\n protected readonly googlePay;\n\n constructor(checkout: ICore, props?: GooglePayConfiguration) {\n super(checkout, props);\n this.handleAuthorization = this.handleAuthorization.bind(this);\n\n const { isExpress, paymentDataCallbacks } = this.props;\n\n if (isExpress === false && paymentDataCallbacks?.onPaymentDataChanged) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'GooglePay - You must set \"isExpress\" flag to \"true\" in order to use \"onPaymentDataChanged\" callback'\n );\n }\n\n this.googlePay = new GooglePayService(this.props.environment, {\n ...(isExpress && paymentDataCallbacks?.onPaymentDataChanged && { onPaymentDataChanged: paymentDataCallbacks.onPaymentDataChanged }),\n onPaymentAuthorized: this.onPaymentAuthorized\n });\n }\n\n protected override formatProps(props): GooglePayConfiguration {\n const buttonSizeMode = props.buttonSizeMode ?? (props.isDropin ? 'fill' : 'static');\n const buttonLocale = getGooglePayLocale(props.buttonLocale ?? props.i18n?.locale);\n\n const callbackIntents: google.payments.api.CallbackIntent[] = [...props.callbackIntents, 'PAYMENT_AUTHORIZATION'];\n\n return {\n ...props,\n configuration: props.configuration,\n buttonSizeMode,\n buttonLocale,\n callbackIntents\n };\n }\n\n /**\n * Formats the component data output\n */\n protected override formatData() {\n const { googlePayCardNetwork, googlePayToken, billingAddress, deliveryAddress } = this.state;\n const { isExpress } = this.props;\n\n return {\n paymentMethod: {\n type: this.type,\n googlePayCardNetwork,\n googlePayToken,\n ...(isExpress && { subtype: 'express' })\n },\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n };\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n super.submitAnalytics({ ...analyticsObj }, this.props);\n }\n\n public override submit = () => {\n // Analytics\n if (this.props.isInstantPayment) {\n this.submitAnalytics({ type: ANALYTICS_SELECTED_STR, target: ANALYTICS_INSTANT_PAYMENT_BUTTON });\n }\n\n new Promise((resolve, reject) => this.props.onClick(resolve, reject))\n .then(() => this.googlePay.initiatePayment(this.props, this.core.options.countryCode))\n .catch((error: google.payments.api.PaymentsError) => {\n if (error.statusCode === 'CANCELED') {\n this.handleError(new AdyenCheckoutError('CANCEL', error.toString(), { cause: error }));\n } else {\n this.handleError(new AdyenCheckoutError('ERROR', error.toString(), { cause: error }));\n }\n });\n };\n\n /**\n * Method called when the payment is authorized in the payment sheet\n *\n * @see https://developers.google.com/pay/api/web/reference/client#onPaymentAuthorized\n **/\n private onPaymentAuthorized = async (paymentData: google.payments.api.PaymentData): Promise<google.payments.api.PaymentAuthorizationResult> => {\n const billingAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.paymentMethodData.info.billingAddress);\n const deliveryAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.shippingAddress, true);\n\n this.setState({\n authorizedEvent: paymentData,\n googlePayToken: paymentData.paymentMethodData.tokenizationData.token,\n googlePayCardNetwork: paymentData.paymentMethodData.info.cardNetwork,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n return new Promise<google.payments.api.PaymentAuthorizationResult>(resolve => {\n this.handleAuthorization()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then((paymentResponse: PaymentResponseData) => {\n resolve({ transactionState: 'SUCCESS' });\n return paymentResponse;\n })\n .then(paymentResponse => {\n this.handleResponse(paymentResponse);\n })\n .catch((paymentResponse?: RawPaymentResponse) => {\n this.setElementStatus('ready');\n\n const googlePayError = paymentResponse?.error?.googlePayError;\n const fallbackMessage = this.props.i18n.get('error.subtitle.payment');\n\n const error: google.payments.api.PaymentDataError =\n typeof googlePayError === 'string' || undefined\n ? {\n intent: 'PAYMENT_AUTHORIZATION',\n reason: 'OTHER_ERROR',\n message: (googlePayError as string) || fallbackMessage\n }\n : {\n intent: googlePayError?.intent || 'PAYMENT_AUTHORIZATION',\n reason: googlePayError?.reason || 'OTHER_ERROR',\n message: googlePayError?.message || fallbackMessage\n };\n\n resolve({\n transactionState: 'ERROR',\n error\n });\n\n const responseWithError = {\n ...paymentResponse,\n error: {\n googlePayError: error\n }\n };\n\n this.handleFailedResult(responseWithError);\n });\n });\n };\n\n /**\n * Call the 'onAuthorized' callback if available.\n * Must be resolved/reject for the payment flow to continue\n */\n private async handleAuthorization(): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (!this.props.onAuthorized) {\n resolve();\n }\n\n const { authorizedEvent, billingAddress, deliveryAddress } = this.state;\n\n this.props.onAuthorized(\n {\n authorizedEvent,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n );\n }).catch((error?: google.payments.api.PaymentDataError | string) => {\n // Format error in a way that the 'catch' of the 'onPaymentAuthorize' block accepts it\n const data = { error: { googlePayError: error } };\n return Promise.reject(data);\n });\n }\n\n /**\n * Validation\n */\n get isValid(): boolean {\n return !!this.state.googlePayToken;\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public override async isAvailable(): Promise<void> {\n return this.isReadyToPay()\n .then(response => {\n if (!response.result) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay is not available');\n }\n\n if (response.paymentMethodPresent === false) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay - No paymentMethodPresent');\n }\n\n return Promise.resolve();\n })\n .catch(error => {\n return Promise.reject(error);\n });\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public isReadyToPay = (): Promise<google.payments.api.IsReadyToPayResponse> => {\n return this.googlePay.isReadyToPay(this.props);\n };\n\n /**\n * Use this method to prefetch a PaymentDataRequest configuration to improve loadPaymentData execution time on later user interaction. No value is returned.\n */\n public prefetch = (): void => {\n return this.googlePay.prefetchPaymentData(this.props, this.core.options.countryCode);\n };\n\n get browserInfo(): BrowserInfo {\n return collectBrowserInfo();\n }\n\n get icon(): string {\n return this.props.icon ?? this.resources.getImage()('googlepay');\n }\n\n render() {\n if (this.props.showPayButton) {\n return (\n <GooglePayButton\n buttonColor={this.props.buttonColor}\n buttonType={this.props.buttonType}\n buttonSizeMode={this.props.buttonSizeMode}\n buttonLocale={this.props.buttonLocale}\n buttonRootNode={this.props.buttonRootNode}\n paymentsClient={this.googlePay.paymentsClient}\n onClick={this.submit}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default GooglePay;\n"],"names":["GooglePay","UIElement","formatProps","props","buttonSizeMode","isDropin","buttonLocale","getGooglePayLocale","i18n","locale","callbackIntents","_object_spread_props","configuration","formatData","googlePayCardNetwork","googlePayToken","billingAddress","deliveryAddress","this","state","isExpress","_object_spread","paymentMethod","type","subtype","browserInfo","origin","window","location","submitAnalytics","analyticsObj","super","handleAuthorization","Promise","resolve","reject","onAuthorized","authorizedEvent","catch","error","data","googlePayError","isValid","isAvailable","isReadyToPay","then","response","result","AdyenCheckoutError","paymentMethodPresent","collectBrowserInfo","icon","_this_props_icon","resources","getImage","render","showPayButton","h","GooglePayButton","buttonColor","buttonType","buttonRootNode","paymentsClient","googlePay","onClick","submit","constructor","checkout","_define_property","isInstantPayment","ANALYTICS_SELECTED_STR","target","ANALYTICS_INSTANT_PAYMENT_BUTTON","initiatePayment","core","options","countryCode","statusCode","handleError","toString","cause","onPaymentAuthorized","async","paymentData","formatGooglePayContactToAdyenAddressFormat","paymentMethodData","info","shippingAddress","setState","tokenizationData","token","cardNetwork","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","paymentResponse","transactionState","handleResponse","setElementStatus","fallbackMessage","get","intent","reason","message","responseWithError","handleFailedResult","prefetch","prefetchPaymentData","bind","paymentDataCallbacks","onPaymentDataChanged","GooglePayService","environment","TxVariants","googlepay","txVariants","paywithgoogle","defaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GooglePay.js","sources":["../../../../src/components/GooglePay/GooglePay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GooglePayService from './GooglePayService';\nimport GooglePayButton from './components/GooglePayButton';\nimport defaultProps from './defaultProps';\nimport { formatGooglePayContactToAdyenAddressFormat, getGooglePayLocale } from './utils';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { ANALYTICS_INSTANT_PAYMENT_BUTTON, ANALYTICS_SELECTED_STR } from '../../core/Analytics/constants';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\n\nimport type { AddressData, BrowserInfo, PaymentResponseData, RawPaymentResponse } from '../../types/global-types';\nimport type { GooglePayConfiguration } from './types';\nimport type { ICore } from '../../core/types';\n\nclass GooglePay extends UIElement<GooglePayConfiguration> {\n public static type = TxVariants.googlepay;\n public static txVariants = [TxVariants.googlepay, TxVariants.paywithgoogle];\n public static defaultProps = defaultProps;\n\n protected readonly googlePay;\n\n constructor(checkout: ICore, props?: GooglePayConfiguration) {\n super(checkout, props);\n this.handleAuthorization = this.handleAuthorization.bind(this);\n\n const { isExpress, paymentDataCallbacks } = this.props;\n\n if (isExpress === false && paymentDataCallbacks?.onPaymentDataChanged) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'GooglePay - You must set \"isExpress\" flag to \"true\" in order to use \"onPaymentDataChanged\" callback'\n );\n }\n\n this.googlePay = new GooglePayService(this.props.environment, {\n ...(isExpress && paymentDataCallbacks?.onPaymentDataChanged && { onPaymentDataChanged: paymentDataCallbacks.onPaymentDataChanged }),\n onPaymentAuthorized: this.onPaymentAuthorized\n });\n }\n\n protected override formatProps(props): GooglePayConfiguration {\n const buttonSizeMode = props.buttonSizeMode ?? (props.isDropin ? 'fill' : 'static');\n const buttonLocale = getGooglePayLocale(props.buttonLocale ?? props.i18n?.locale);\n\n const callbackIntents: google.payments.api.CallbackIntent[] = [...props.callbackIntents, 'PAYMENT_AUTHORIZATION'];\n\n return {\n ...props,\n configuration: props.configuration,\n buttonSizeMode,\n buttonLocale,\n callbackIntents\n };\n }\n\n /**\n * Formats the component data output\n */\n protected override formatData() {\n const { googlePayCardNetwork, googlePayToken, billingAddress, deliveryAddress } = this.state;\n const { isExpress } = this.props;\n\n return {\n paymentMethod: {\n type: this.type,\n googlePayCardNetwork,\n googlePayToken,\n ...(isExpress && { subtype: 'express' })\n },\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n };\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n super.submitAnalytics({ ...analyticsObj }, this.props);\n }\n\n public override submit = () => {\n // Analytics\n if (this.props.isInstantPayment) {\n this.submitAnalytics({ type: ANALYTICS_SELECTED_STR, target: ANALYTICS_INSTANT_PAYMENT_BUTTON });\n }\n\n new Promise((resolve, reject) => this.props.onClick(resolve, reject))\n .then(() => this.googlePay.initiatePayment(this.props, this.core.options.countryCode))\n .catch((error: google.payments.api.PaymentsError) => {\n if (error.statusCode === 'CANCELED') {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n this.handleError(new AdyenCheckoutError('CANCEL', error.toString(), { cause: error }));\n } else {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n this.handleError(new AdyenCheckoutError('ERROR', error.toString(), { cause: error }));\n }\n });\n };\n\n /**\n * Method called when the payment is authorized in the payment sheet\n *\n * @see https://developers.google.com/pay/api/web/reference/client#onPaymentAuthorized\n **/\n private onPaymentAuthorized = async (paymentData: google.payments.api.PaymentData): Promise<google.payments.api.PaymentAuthorizationResult> => {\n const billingAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.paymentMethodData.info.billingAddress);\n const deliveryAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.shippingAddress, true);\n\n this.setState({\n authorizedEvent: paymentData,\n googlePayToken: paymentData.paymentMethodData.tokenizationData.token,\n googlePayCardNetwork: paymentData.paymentMethodData.info.cardNetwork,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n return new Promise<google.payments.api.PaymentAuthorizationResult>(resolve => {\n this.handleAuthorization()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then((paymentResponse: PaymentResponseData) => {\n resolve({ transactionState: 'SUCCESS' });\n return paymentResponse;\n })\n .then(paymentResponse => {\n this.handleResponse(paymentResponse);\n })\n .catch((paymentResponse?: RawPaymentResponse) => {\n this.setElementStatus('ready');\n\n const googlePayError = paymentResponse?.error?.googlePayError;\n const fallbackMessage = this.props.i18n.get('error.subtitle.payment');\n\n const error: google.payments.api.PaymentDataError =\n typeof googlePayError === 'string' || undefined\n ? {\n intent: 'PAYMENT_AUTHORIZATION',\n reason: 'OTHER_ERROR',\n message: (googlePayError as string) || fallbackMessage\n }\n : {\n intent: googlePayError?.intent || 'PAYMENT_AUTHORIZATION',\n reason: googlePayError?.reason || 'OTHER_ERROR',\n message: googlePayError?.message || fallbackMessage\n };\n\n resolve({\n transactionState: 'ERROR',\n error\n });\n\n const responseWithError = {\n ...paymentResponse,\n error: {\n googlePayError: error\n }\n };\n\n this.handleFailedResult(responseWithError);\n });\n });\n };\n\n /**\n * Call the 'onAuthorized' callback if available.\n * Must be resolved/reject for the payment flow to continue\n */\n private async handleAuthorization(): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (!this.props.onAuthorized) {\n resolve();\n }\n\n const { authorizedEvent, billingAddress, deliveryAddress } = this.state;\n\n this.props.onAuthorized(\n {\n authorizedEvent,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n );\n }).catch((error?: google.payments.api.PaymentDataError | string) => {\n // Format error in a way that the 'catch' of the 'onPaymentAuthorize' block accepts it\n const data = { error: { googlePayError: error } };\n return Promise.reject(data);\n });\n }\n\n /**\n * Validation\n */\n get isValid(): boolean {\n return !!this.state.googlePayToken;\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public override async isAvailable(): Promise<void> {\n return this.isReadyToPay()\n .then(response => {\n if (!response.result) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay is not available');\n }\n\n if (response.paymentMethodPresent === false) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay - No paymentMethodPresent');\n }\n\n return Promise.resolve();\n })\n .catch(error => {\n return Promise.reject(error);\n });\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public isReadyToPay = (): Promise<google.payments.api.IsReadyToPayResponse> => {\n return this.googlePay.isReadyToPay(this.props);\n };\n\n /**\n * Use this method to prefetch a PaymentDataRequest configuration to improve loadPaymentData execution time on later user interaction. No value is returned.\n */\n public prefetch = (): void => {\n return this.googlePay.prefetchPaymentData(this.props, this.core.options.countryCode);\n };\n\n get browserInfo(): BrowserInfo {\n return collectBrowserInfo();\n }\n\n get icon(): string {\n return this.props.icon ?? this.resources.getImage()('googlepay');\n }\n\n render() {\n if (this.props.showPayButton) {\n return (\n <GooglePayButton\n buttonColor={this.props.buttonColor}\n buttonType={this.props.buttonType}\n buttonSizeMode={this.props.buttonSizeMode}\n buttonLocale={this.props.buttonLocale}\n buttonRootNode={this.props.buttonRootNode}\n paymentsClient={this.googlePay.paymentsClient}\n onClick={this.submit}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default GooglePay;\n"],"names":["GooglePay","UIElement","formatProps","props","buttonSizeMode","isDropin","buttonLocale","getGooglePayLocale","i18n","locale","callbackIntents","_object_spread_props","configuration","formatData","googlePayCardNetwork","googlePayToken","billingAddress","deliveryAddress","this","state","isExpress","_object_spread","paymentMethod","type","subtype","browserInfo","origin","window","location","submitAnalytics","analyticsObj","super","handleAuthorization","Promise","resolve","reject","onAuthorized","authorizedEvent","catch","error","data","googlePayError","isValid","isAvailable","isReadyToPay","then","response","result","AdyenCheckoutError","paymentMethodPresent","collectBrowserInfo","icon","_this_props_icon","resources","getImage","render","showPayButton","h","GooglePayButton","buttonColor","buttonType","buttonRootNode","paymentsClient","googlePay","onClick","submit","constructor","checkout","_define_property","isInstantPayment","ANALYTICS_SELECTED_STR","target","ANALYTICS_INSTANT_PAYMENT_BUTTON","initiatePayment","core","options","countryCode","statusCode","handleError","toString","cause","onPaymentAuthorized","async","paymentData","formatGooglePayContactToAdyenAddressFormat","paymentMethodData","info","shippingAddress","setState","tokenizationData","token","cardNetwork","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","paymentResponse","transactionState","handleResponse","setElementStatus","fallbackMessage","get","intent","reason","message","responseWithError","handleFailedResult","prefetch","prefetchPaymentData","bind","paymentDataCallbacks","onPaymentDataChanged","GooglePayService","environment","TxVariants","googlepay","txVariants","paywithgoogle","defaultProps"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GooglePayService.js","sources":["../../../../src/components/GooglePay/GooglePayService.ts"],"sourcesContent":["import { isReadyToPayRequest, initiatePaymentRequest } from './requests';\nimport { resolveEnvironment } from './utils';\nimport Script from '../../utils/Script';\nimport config from './config';\nimport type { GooglePayConfiguration } from './types';\n\nclass GooglePayService {\n public readonly paymentsClient: Promise<google.payments.api.PaymentsClient>;\n\n constructor(environment: string, paymentDataCallbacks: google.payments.api.PaymentDataCallbacks) {\n const googlePayEnvironment = resolveEnvironment(environment);\n\n this.paymentsClient = this.getGooglePaymentsClient({\n environment: googlePayEnvironment,\n paymentDataCallbacks\n });\n }\n\n /**\n * Initialize a Google Pay API client\n *\n * @see {@link https://developers.google.com/pay/api/web/reference/client#PaymentsClient|PaymentsClient constructor}\n * @returns Google Pay API client\n */\n async getGooglePaymentsClient(paymentOptions: google.payments.api.PaymentOptions): Promise<google.payments.api.PaymentsClient> {\n if (!window.google?.payments) {\n const script = new Script(config.URL);\n await script.load();\n }\n\n return new google.payments.api.PaymentsClient(paymentOptions);\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n * @see {@link https://developers.google.com/pay/api/web/reference/client#isReadyToPay|isReadyToPay}\n */\n isReadyToPay(props): Promise<google.payments.api.IsReadyToPayResponse> {\n if (!this.paymentsClient) return Promise.reject(new Error('Google Pay is not available'));\n\n return this.paymentsClient.then(client => client.isReadyToPay(isReadyToPayRequest(props)));\n }\n\n prefetchPaymentData(props: GooglePayConfiguration, countryCode: string): void {\n if (!this.paymentsClient) throw new Error('Google Pay is not available');\n\n const paymentDataRequest = initiatePaymentRequest(props, countryCode);\n this.paymentsClient.then(client => client.prefetchPaymentData(paymentDataRequest));\n }\n\n /**\n * Show Google Pay payment sheet when Google Pay payment button is clicked\n * @returns paymentData response from Google Pay API after user approves payment\n * @see {@link https://developers.google.com/pay/api/web/reference/object#PaymentData|PaymentData object reference}\n */\n initiatePayment(props: GooglePayConfiguration, countryCode: string): Promise<google.payments.api.PaymentData> {\n if (!this.paymentsClient) throw new Error('Google Pay is not available');\n\n const paymentDataRequest = initiatePaymentRequest(props, countryCode);\n return this.paymentsClient.then(client => client.loadPaymentData(paymentDataRequest));\n }\n}\n\nexport default GooglePayService;\n"],"names":["GooglePayService","getGooglePaymentsClient","paymentOptions","window","google","payments","script","Script","config","URL","load","api","PaymentsClient","isReadyToPay","props","this","paymentsClient","then","client","isReadyToPayRequest","Promise","reject","Error","prefetchPaymentData","countryCode","paymentDataRequest","initiatePaymentRequest","initiatePayment","loadPaymentData","constructor","environment","paymentDataCallbacks","googlePayEnvironment","resolveEnvironment"],"mappings":"gMAMA,MAAMA,EAkBF,6BAAMC,CAAwBC,GACrBC,IAAAA,EAAL,aAAKA,EAAAA,OAAOC,cAAPD,IAAAA,OAAAA,EAAAA,EAAeE,UAAU,CAC1B,MAAMC,EAAS,IAAIC,EAAOC,EAAOC,WAC3BH,EAAOI,MACjB,CAEA,OAAO,IAAIN,OAAOC,SAASM,IAAIC,eAAeV,EAClD,CAMAW,YAAAA,CAAaC,
|
|
1
|
+
{"version":3,"file":"GooglePayService.js","sources":["../../../../src/components/GooglePay/GooglePayService.ts"],"sourcesContent":["import { isReadyToPayRequest, initiatePaymentRequest } from './requests';\nimport { resolveEnvironment } from './utils';\nimport Script from '../../utils/Script';\nimport config from './config';\nimport type { GooglePayConfiguration } from './types';\n\nclass GooglePayService {\n public readonly paymentsClient: Promise<google.payments.api.PaymentsClient>;\n\n constructor(environment: string, paymentDataCallbacks: google.payments.api.PaymentDataCallbacks) {\n const googlePayEnvironment = resolveEnvironment(environment);\n\n this.paymentsClient = this.getGooglePaymentsClient({\n environment: googlePayEnvironment,\n paymentDataCallbacks\n });\n }\n\n /**\n * Initialize a Google Pay API client\n *\n * @see {@link https://developers.google.com/pay/api/web/reference/client#PaymentsClient|PaymentsClient constructor}\n * @returns Google Pay API client\n */\n async getGooglePaymentsClient(paymentOptions: google.payments.api.PaymentOptions): Promise<google.payments.api.PaymentsClient> {\n if (!window.google?.payments) {\n const script = new Script(config.URL);\n await script.load();\n }\n\n return new google.payments.api.PaymentsClient(paymentOptions);\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n * @see {@link https://developers.google.com/pay/api/web/reference/client#isReadyToPay|isReadyToPay}\n */\n isReadyToPay(props): Promise<google.payments.api.IsReadyToPayResponse> {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n if (!this.paymentsClient) return Promise.reject(new Error('Google Pay is not available'));\n\n return this.paymentsClient.then(client => client.isReadyToPay(isReadyToPayRequest(props)));\n }\n\n prefetchPaymentData(props: GooglePayConfiguration, countryCode: string): void {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n if (!this.paymentsClient) throw new Error('Google Pay is not available');\n\n const paymentDataRequest = initiatePaymentRequest(props, countryCode);\n void this.paymentsClient.then(client => client.prefetchPaymentData(paymentDataRequest));\n }\n\n /**\n * Show Google Pay payment sheet when Google Pay payment button is clicked\n * @returns paymentData response from Google Pay API after user approves payment\n * @see {@link https://developers.google.com/pay/api/web/reference/object#PaymentData|PaymentData object reference}\n */\n initiatePayment(props: GooglePayConfiguration, countryCode: string): Promise<google.payments.api.PaymentData> {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n if (!this.paymentsClient) throw new Error('Google Pay is not available');\n\n const paymentDataRequest = initiatePaymentRequest(props, countryCode);\n return this.paymentsClient.then(client => client.loadPaymentData(paymentDataRequest));\n }\n}\n\nexport default GooglePayService;\n"],"names":["GooglePayService","getGooglePaymentsClient","paymentOptions","window","google","payments","script","Script","config","URL","load","api","PaymentsClient","isReadyToPay","props","this","paymentsClient","then","client","isReadyToPayRequest","Promise","reject","Error","prefetchPaymentData","countryCode","paymentDataRequest","initiatePaymentRequest","initiatePayment","loadPaymentData","constructor","environment","paymentDataCallbacks","googlePayEnvironment","resolveEnvironment"],"mappings":"gMAMA,MAAMA,EAkBF,6BAAMC,CAAwBC,GACrBC,IAAAA,EAAL,aAAKA,EAAAA,OAAOC,cAAPD,IAAAA,OAAAA,EAAAA,EAAeE,UAAU,CAC1B,MAAMC,EAAS,IAAIC,EAAOC,EAAOC,WAC3BH,EAAOI,MACjB,CAEA,OAAO,IAAIN,OAAOC,SAASM,IAAIC,eAAeV,EAClD,CAMAW,YAAAA,CAAaC,GAET,OAAKC,KAAKC,eAEHD,KAAKC,eAAeC,MAAKC,GAAUA,EAAOL,aAAaM,EAAoBL,MAFjDM,QAAQC,OAAO,IAAIC,MAAM,+BAG9D,CAEAC,mBAAAA,CAAoBT,EAA+BU,GAE/C,IAAKT,KAAKC,eAAgB,MAAM,IAAIM,MAAM,+BAE1C,MAAMG,EAAqBC,EAAuBZ,EAAOU,GACpDT,KAAKC,eAAeC,MAAKC,GAAUA,EAAOK,oBAAoBE,IACvE,CAOAE,eAAAA,CAAgBb,EAA+BU,GAE3C,IAAKT,KAAKC,eAAgB,MAAM,IAAIM,MAAM,+BAE1C,MAAMG,EAAqBC,EAAuBZ,EAAOU,GACzD,OAAOT,KAAKC,eAAeC,MAAKC,GAAUA,EAAOU,gBAAgBH,IACrE,CAtDAI,WAAAA,CAAYC,EAAqBC,oBAFjC,KAAgBf,sBAAhBD,4FAGI,MAAMiB,EAAuBC,EAAmBH,GAEhDf,KAAKC,eAAiBD,KAAKd,wBAAwB,CAC/C6B,YAAaE,EACbD,wBAER"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GooglePayButton.js","sources":["../../../../../src/components/GooglePay/components/GooglePayButton.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useRef } from 'preact/hooks';\nimport './GooglePayButton.scss';\n\ninterface GooglePayButtonProps {\n buttonColor: google.payments.api.ButtonColor;\n buttonType: google.payments.api.ButtonType;\n buttonSizeMode: google.payments.api.ButtonSizeMode;\n buttonLocale: string;\n buttonRootNode?: HTMLDocument | ShadowRoot;\n paymentsClient: Promise<google.payments.api.PaymentsClient>;\n onClick: (e: Event) => void;\n}\n\nconst GooglePayButton = (props: GooglePayButtonProps) => {\n const googlePayWrapperRef = useRef<HTMLDivElement | undefined>(undefined);\n\n useEffect(() => {\n const { onClick, buttonColor, buttonType, buttonLocale, buttonSizeMode, buttonRootNode, paymentsClient } = props;\n\n paymentsClient\n .then(client =>\n client.createButton({\n onClick,\n buttonType,\n buttonColor,\n buttonLocale,\n buttonSizeMode,\n buttonRootNode\n })\n )\n .then(googlePayButton => {\n if (googlePayWrapperRef.current) {\n googlePayWrapperRef.current.appendChild(googlePayButton);\n }\n });\n }, [props.buttonColor, props.buttonType, props.buttonLocale, props.buttonSizeMode, props.buttonRootNode, props.paymentsClient]);\n\n return <div data-testid=\"googlepay-button-container\" className={'adyen-checkout__paywithgoogle'} ref={googlePayWrapperRef} />;\n};\n\nexport default GooglePayButton;\n"],"names":["GooglePayButton","props","googlePayWrapperRef","useRef","undefined","useEffect","onClick","buttonColor","buttonType","buttonLocale","buttonSizeMode","buttonRootNode","paymentsClient","then","client","createButton","googlePayButton","current","appendChild","h","div","data-testid","className","ref"],"mappings":"6JAcA,MAAMA,EAAmBC,IACrB,MAAMC,EAAsBC,OAAmCC,GAuB/D,OArBAC,GAAU,KACN,MAAMC,QAAEA,EAAOC,YAAEA,EAAWC,WAAEA,EAAUC,aAAEA,EAAYC,eAAEA,EAAcC,eAAEA,EAAcC,eAAEA,GAAmBX,
|
|
1
|
+
{"version":3,"file":"GooglePayButton.js","sources":["../../../../../src/components/GooglePay/components/GooglePayButton.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useRef } from 'preact/hooks';\nimport './GooglePayButton.scss';\n\ninterface GooglePayButtonProps {\n buttonColor: google.payments.api.ButtonColor;\n buttonType: google.payments.api.ButtonType;\n buttonSizeMode: google.payments.api.ButtonSizeMode;\n buttonLocale: string;\n buttonRootNode?: HTMLDocument | ShadowRoot;\n paymentsClient: Promise<google.payments.api.PaymentsClient>;\n onClick: (e: Event) => void;\n}\n\nconst GooglePayButton = (props: GooglePayButtonProps) => {\n const googlePayWrapperRef = useRef<HTMLDivElement | undefined>(undefined);\n\n useEffect(() => {\n const { onClick, buttonColor, buttonType, buttonLocale, buttonSizeMode, buttonRootNode, paymentsClient } = props;\n\n void paymentsClient\n .then(client =>\n client.createButton({\n onClick,\n buttonType,\n buttonColor,\n buttonLocale,\n buttonSizeMode,\n buttonRootNode\n })\n )\n .then(googlePayButton => {\n if (googlePayWrapperRef.current) {\n googlePayWrapperRef.current.appendChild(googlePayButton);\n }\n });\n }, [props.buttonColor, props.buttonType, props.buttonLocale, props.buttonSizeMode, props.buttonRootNode, props.paymentsClient]);\n\n return <div data-testid=\"googlepay-button-container\" className={'adyen-checkout__paywithgoogle'} ref={googlePayWrapperRef} />;\n};\n\nexport default GooglePayButton;\n"],"names":["GooglePayButton","props","googlePayWrapperRef","useRef","undefined","useEffect","onClick","buttonColor","buttonType","buttonLocale","buttonSizeMode","buttonRootNode","paymentsClient","then","client","createButton","googlePayButton","current","appendChild","h","div","data-testid","className","ref"],"mappings":"6JAcA,MAAMA,EAAmBC,IACrB,MAAMC,EAAsBC,OAAmCC,GAuB/D,OArBAC,GAAU,KACN,MAAMC,QAAEA,EAAOC,YAAEA,EAAWC,WAAEA,EAAUC,aAAEA,EAAYC,eAAEA,EAAcC,eAAEA,EAAcC,eAAEA,GAAmBX,EAEtGW,EACAC,MAAKC,GACFA,EAAOC,aAAa,CAChBT,UACAE,aACAD,cACAE,eACAC,iBACAC,qBAGPE,MAAKG,IACEd,EAAoBe,SACpBf,EAAoBe,QAAQC,YAAYF,EAC5C,GACJ,GACL,CAACf,EAAMM,YAAaN,EAAMO,WAAYP,EAAMQ,aAAcR,EAAMS,eAAgBT,EAAMU,eAAgBV,EAAMW,iBAExGO,EAACC,MAAAA,CAAIC,cAAY,6BAA6BC,UAAW,gCAAiCC,IAAKrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requests.js","sources":["../../../../src/components/GooglePay/requests.ts"],"sourcesContent":["import { getDecimalAmount } from '../../utils/amount-util';\nimport config from './config';\nimport { GooglePaymentDataRequest, GooglePayConfiguration } from './types';\n\n/**\n * Configure your site's support for payment methods supported by the Google Pay API.\n *\n * @see {@link https://developers.google.com/pay/api/web/reference/object#IsReadyToPayRequest|isReadyToPayRequest}\n * @returns Google Pay API version, payment methods supported by the site\n */\nexport function isReadyToPayRequest({\n allowedAuthMethods,\n allowedCardNetworks,\n existingPaymentMethodRequired = false\n}: Pick<\n GooglePayConfiguration,\n 'allowedAuthMethods' | 'allowedCardNetworks' | 'existingPaymentMethodRequired'\n>): google.payments.api.IsReadyToPayRequest {\n return {\n apiVersion: config.API_VERSION,\n apiVersionMinor: config.API_VERSION_MINOR,\n allowedPaymentMethods: [\n {\n type: 'CARD',\n parameters: {\n allowedAuthMethods,\n allowedCardNetworks\n },\n tokenizationSpecification: {\n type: 'PAYMENT_GATEWAY',\n parameters: {}\n }\n }\n ],\n existingPaymentMethodRequired\n };\n}\n\n/**\n * Provide Google Pay API with a payment amount, currency, and amount status\n *\n * @see {@link https://developers.google.com/pay/api/web/reference/object#TransactionInfo|TransactionInfo}\n * @returns transaction info, suitable for use as transactionInfo property of PaymentDataRequest\n */\nexport function getTransactionInfo({\n amount,\n countryCode = 'US',\n totalPriceStatus = 'FINAL',\n ...props\n}: GooglePayConfiguration): google.payments.api.TransactionInfo {\n const formattedPrice = String(getDecimalAmount(amount.value, amount.currency));\n\n return {\n countryCode,\n currencyCode: amount.currency,\n totalPrice: formattedPrice,\n totalPriceStatus: totalPriceStatus
|
|
1
|
+
{"version":3,"file":"requests.js","sources":["../../../../src/components/GooglePay/requests.ts"],"sourcesContent":["import { getDecimalAmount } from '../../utils/amount-util';\nimport config from './config';\nimport { GooglePaymentDataRequest, GooglePayConfiguration } from './types';\n\n/**\n * Configure your site's support for payment methods supported by the Google Pay API.\n *\n * @see {@link https://developers.google.com/pay/api/web/reference/object#IsReadyToPayRequest|isReadyToPayRequest}\n * @returns Google Pay API version, payment methods supported by the site\n */\nexport function isReadyToPayRequest({\n allowedAuthMethods,\n allowedCardNetworks,\n existingPaymentMethodRequired = false\n}: Pick<\n GooglePayConfiguration,\n 'allowedAuthMethods' | 'allowedCardNetworks' | 'existingPaymentMethodRequired'\n>): google.payments.api.IsReadyToPayRequest {\n return {\n apiVersion: config.API_VERSION,\n apiVersionMinor: config.API_VERSION_MINOR,\n allowedPaymentMethods: [\n {\n type: 'CARD',\n parameters: {\n allowedAuthMethods,\n allowedCardNetworks\n },\n tokenizationSpecification: {\n type: 'PAYMENT_GATEWAY',\n parameters: {}\n }\n }\n ],\n existingPaymentMethodRequired\n };\n}\n\n/**\n * Provide Google Pay API with a payment amount, currency, and amount status\n *\n * @see {@link https://developers.google.com/pay/api/web/reference/object#TransactionInfo|TransactionInfo}\n * @returns transaction info, suitable for use as transactionInfo property of PaymentDataRequest\n */\nexport function getTransactionInfo({\n amount,\n countryCode = 'US',\n totalPriceStatus = 'FINAL',\n ...props\n}: GooglePayConfiguration): google.payments.api.TransactionInfo {\n const formattedPrice = String(getDecimalAmount(amount.value, amount.currency));\n\n return {\n countryCode,\n currencyCode: amount.currency,\n totalPrice: formattedPrice,\n totalPriceStatus: totalPriceStatus,\n ...props.transactionInfo\n };\n}\n\nexport function initiatePaymentRequest({ configuration, ...props }: GooglePayConfiguration, countryCode: string): GooglePaymentDataRequest {\n return {\n apiVersion: config.API_VERSION,\n apiVersionMinor: config.API_VERSION_MINOR,\n transactionInfo: getTransactionInfo({ countryCode, ...props }),\n merchantInfo: {\n merchantId: configuration.merchantId,\n merchantName: configuration.merchantName,\n ...(configuration.merchantOrigin ? { merchantOrigin: configuration.merchantOrigin } : {}),\n ...(configuration.authJwt ? { authJwt: configuration.authJwt } : {})\n },\n allowedPaymentMethods: [\n {\n type: 'CARD',\n tokenizationSpecification: {\n type: 'PAYMENT_GATEWAY',\n parameters: {\n gateway: config.GATEWAY,\n gatewayMerchantId: configuration.gatewayMerchantId\n }\n },\n parameters: {\n allowedAuthMethods: props.allowedAuthMethods,\n allowedCardNetworks: props.allowedCardNetworks,\n assuranceDetailsRequired: props.assuranceDetailsRequired,\n allowPrepaidCards: props.allowPrepaidCards,\n allowCreditCards: props.allowCreditCards,\n billingAddressRequired: props.billingAddressRequired,\n billingAddressParameters: props.billingAddressParameters\n }\n }\n ],\n emailRequired: props.emailRequired,\n shippingAddressRequired: props.shippingAddressRequired,\n shippingAddressParameters: props.shippingAddressParameters,\n shippingOptionRequired: props.shippingOptionRequired,\n shippingOptionParameters: props.shippingOptionParameters,\n callbackIntents: props.callbackIntents\n };\n}\n"],"names":["isReadyToPayRequest","allowedAuthMethods","allowedCardNetworks","existingPaymentMethodRequired","apiVersion","config","API_VERSION","apiVersionMinor","API_VERSION_MINOR","allowedPaymentMethods","type","parameters","tokenizationSpecification","getTransactionInfo","_param","amount","countryCode","totalPriceStatus","props","_object_without_properties","formattedPrice","String","getDecimalAmount","value","currency","_object_spread","currencyCode","totalPrice","transactionInfo","initiatePaymentRequest","configuration","merchantInfo","merchantId","merchantName","merchantOrigin","authJwt","gateway","GATEWAY","gatewayMerchantId","assuranceDetailsRequired","allowPrepaidCards","allowCreditCards","billingAddressRequired","billingAddressParameters","emailRequired","shippingAddressRequired","shippingAddressParameters","shippingOptionRequired","shippingOptionParameters","callbackIntents"],"mappings":"64BAUO,SAASA,GAAoBC,mBAChCA,EAAkBC,oBAClBA,EAAmBC,8BACnBA,GAAgC,IAKhC,MAAO,CACHC,WAAYC,EAAOC,YACnBC,gBAAiBF,EAAOG,kBACxBC,sBAAuB,CACnB,CACIC,KAAM,OACNC,WAAY,CACRV,qBACAC,uBAEJU,0BAA2B,CACvBF,KAAM,kBACNC,WAAY,CAAC,KAIzBR,gCAER,CAQO,SAASU,EAAmBC,OAAAC,OAC/BA,EAAMC,YACNA,EAAc,KAAIC,iBAClBA,EAAmB,SAHYH,EAI5BI,EAJ4BC,EAAAL,EAAA,CAC/BC,SACAC,cACAC,qBAGA,MAAMG,EAAiBC,OAAOC,EAAiBP,EAAOQ,MAAOR,EAAOS,WAEpE,OAAOC,EAAA,CACHT,cACAU,aAAcX,EAAOS,SACrBG,WAAYP,EACZH,iBAAkBA,GACfC,EAAMU,gBAEjB,CAEO,SAASC,EAAuBf,EAAqDE,GAArD,IAAAc,cAAEA,GAAFhB,EAAoBI,EAApBC,EAAAL,EAAA,CAAEgB,kBACrC,MAAO,CACH1B,WAAYC,EAAOC,YACnBC,gBAAiBF,EAAOG,kBACxBoB,gBAAiBf,EAAmBY,EAAA,CAAET,eAAgBE,IACtDa,aAAcN,EAAA,CACVO,WAAYF,EAAcE,WAC1BC,aAAcH,EAAcG,cACxBH,EAAcI,eAAiB,CAAEA,eAAgBJ,EAAcI,gBAAmB,CAAC,EACnFJ,EAAcK,QAAU,CAAEA,QAASL,EAAcK,SAAY,IAErE1B,sBAAuB,CACnB,CACIC,KAAM,OACNE,0BAA2B,CACvBF,KAAM,kBACNC,WAAY,CACRyB,QAAS/B,EAAOgC,QAChBC,kBAAmBR,EAAcQ,oBAGzC3B,WAAY,CACRV,mBAAoBiB,EAAMjB,mBAC1BC,oBAAqBgB,EAAMhB,oBAC3BqC,yBAA0BrB,EAAMqB,yBAChCC,kBAAmBtB,EAAMsB,kBACzBC,iBAAkBvB,EAAMuB,iBACxBC,uBAAwBxB,EAAMwB,uBAC9BC,yBAA0BzB,EAAMyB,4BAI5CC,cAAe1B,EAAM0B,cACrBC,wBAAyB3B,EAAM2B,wBAC/BC,0BAA2B5B,EAAM4B,0BACjCC,uBAAwB7B,EAAM6B,uBAC9BC,yBAA0B9B,EAAM8B,yBAChCC,gBAAiB/B,EAAM+B,gBAE/B"}
|