@adyen/adyen-web 6.22.0 → 6.23.0
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 +8 -7
- package/dist/cjs/adyen.css +5 -4
- 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 +292 -117
- package/dist/es/adyen.css +5 -4
- package/dist/es/adyen.css.map +1 -1
- package/dist/es/components/AmazonPay/AmazonPay.js +1 -1
- package/dist/es/components/AmazonPay/AmazonPay.js.map +1 -1
- package/dist/es/components/AmazonPay/components/AmazonPayComponent.js +1 -1
- package/dist/es/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
- package/dist/es/components/ApplePay/ApplePay.js +1 -1
- package/dist/es/components/ApplePay/ApplePay.js.map +1 -1
- package/dist/es/components/ApplePay/services/ApplePaySdkLoader.js +1 -1
- package/dist/es/components/ApplePay/services/ApplePaySdkLoader.js.map +1 -1
- package/dist/es/components/BankTransfer/BankTransfer.js +1 -1
- package/dist/es/components/BankTransfer/BankTransfer.js.map +1 -1
- package/dist/es/components/BankTransfer/components/BankTransferResult/BankTransferResult.js +1 -1
- package/dist/es/components/BankTransfer/components/BankTransferResult/BankTransferResult.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/components/CardFieldsWrapper.js +1 -1
- package/dist/es/components/Card/components/CardInput/components/CardFieldsWrapper.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/defaultProps.js +1 -1
- package/dist/es/components/Card/components/CardInput/defaultProps.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/utils.js +1 -1
- package/dist/es/components/Card/components/CardInput/utils.js.map +1 -1
- package/dist/es/components/Card/components/Fastlane/FastlaneSignup.js +1 -1
- package/dist/es/components/Card/components/Fastlane/FastlaneSignup.js.map +1 -1
- package/dist/es/components/Card/constants.js +2 -0
- package/dist/es/components/Card/constants.js.map +1 -0
- package/dist/es/components/CashAppPay/CashAppPay.js +1 -1
- package/dist/es/components/CashAppPay/CashAppPay.js.map +1 -1
- package/dist/es/components/CashAppPay/services/CashAppSdkLoader.js +1 -1
- package/dist/es/components/CashAppPay/services/CashAppSdkLoader.js.map +1 -1
- package/dist/es/components/ClickToPay/ClickToPay.js +1 -1
- package/dist/es/components/ClickToPay/ClickToPay.js.map +1 -1
- package/dist/es/components/Donation/components/FixedAmounts.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/GooglePay/GooglePay.js +1 -1
- package/dist/es/components/GooglePay/GooglePay.js.map +1 -1
- package/dist/es/components/GooglePay/GooglePayService.js +1 -1
- package/dist/es/components/GooglePay/GooglePayService.js.map +1 -1
- package/dist/es/components/GooglePay/defaultProps.js +1 -1
- package/dist/es/components/GooglePay/defaultProps.js.map +1 -1
- package/dist/es/components/GooglePay/utils/map-adyen-brands-to-googlepay-brands.js +2 -0
- package/dist/es/components/GooglePay/utils/map-adyen-brands-to-googlepay-brands.js.map +1 -0
- 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/MBWay/components/MBWayInput/MBWayInput.js +1 -1
- package/dist/es/components/MBWay/components/MBWayInput/MBWayInput.js.map +1 -1
- package/dist/es/components/PayByBankPix/PayByBankPix.js +1 -1
- package/dist/es/components/PayByBankPix/PayByBankPix.js.map +1 -1
- package/dist/es/components/PayByBankPix/services/PasskeySdkLoader.js +1 -1
- package/dist/es/components/PayByBankPix/services/PasskeySdkLoader.js.map +1 -1
- package/dist/es/components/PayByBankPix/services/PasskeyService.js +1 -1
- package/dist/es/components/PayByBankPix/services/PasskeyService.js.map +1 -1
- package/dist/es/components/PayPal/Paypal.js +1 -1
- package/dist/es/components/PayPal/Paypal.js.map +1 -1
- package/dist/es/components/PayPal/components/PaypalButtons.js.map +1 -1
- package/dist/es/components/PayPal/components/PaypalComponent.js +1 -1
- package/dist/es/components/PayPal/components/PaypalComponent.js.map +1 -1
- package/dist/es/components/PayPalFastlane/FastlaneSDK.js +1 -1
- package/dist/es/components/PayPalFastlane/FastlaneSDK.js.map +1 -1
- package/dist/es/components/PayTo/PayTo.js.map +1 -1
- package/dist/es/components/PayTo/components/PayIDInput.js +1 -1
- package/dist/es/components/PayTo/components/PayIDInput.js.map +1 -1
- package/dist/es/components/PayTo/components/PayToPhone.js +1 -1
- package/dist/es/components/PayTo/components/PayToPhone.js.map +1 -1
- package/dist/es/components/PayTo/components/validate.js +1 -1
- package/dist/es/components/PayTo/components/validate.js.map +1 -1
- package/dist/es/components/Pix/Pix.js +1 -1
- package/dist/es/components/Pix/Pix.js.map +1 -1
- package/dist/es/components/Pix/components/PixInput/PixInput.js +2 -0
- package/dist/es/components/Pix/components/PixInput/PixInput.js.map +1 -0
- package/dist/es/components/Pix/components/PixInput/utils.js +2 -0
- package/dist/es/components/Pix/components/PixInput/utils.js.map +1 -0
- package/dist/es/components/Pix/components/PixInput/validate.js +2 -0
- package/dist/es/components/Pix/components/PixInput/validate.js.map +1 -0
- package/dist/es/components/Pix/components/PixQRDetails.js +2 -0
- package/dist/es/components/Pix/components/PixQRDetails.js.map +1 -0
- package/dist/es/components/UPI/UPI.js +1 -1
- package/dist/es/components/UPI/UPI.js.map +1 -1
- package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js +1 -1
- package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js.map +1 -1
- package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
- package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
- package/dist/es/components/internal/Button/Button.js +1 -1
- package/dist/es/components/internal/Button/Button.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/services/ClickToPayService.js +1 -1
- package/dist/es/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/services/create-clicktopay-service.js +1 -1
- package/dist/es/components/internal/ClickToPay/services/create-clicktopay-service.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/MastercardSdk.js +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/MastercardSdk.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/VisaSdk.js +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/VisaSdk.js.map +1 -1
- package/dist/es/components/internal/Countdown/CountdownA11yReporter.js +1 -1
- package/dist/es/components/internal/Countdown/CountdownA11yReporter.js.map +1 -1
- package/dist/es/components/internal/Countdown/index.js +1 -1
- package/dist/es/components/internal/Countdown/index.js.map +1 -1
- package/dist/es/components/internal/PayButton/PayButton.js.map +1 -1
- package/dist/es/components/internal/PhoneInput/PhoneInputFields.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/QRLoader/QRLoaderDetailsProvider.js +2 -0
- package/dist/es/components/internal/QRLoader/QRLoaderDetailsProvider.js.map +1 -0
- package/dist/es/components/internal/QRLoader/components/QRCodeCopyButton.js +2 -0
- package/dist/es/components/internal/QRLoader/components/QRCodeCopyButton.js.map +1 -0
- package/dist/es/components/internal/QRLoader/components/QRCountdown.js +2 -0
- package/dist/es/components/internal/QRLoader/components/QRCountdown.js.map +1 -0
- package/dist/es/components/internal/QRLoader/components/QRDetails.js +2 -0
- package/dist/es/components/internal/QRLoader/components/QRDetails.js.map +1 -0
- package/dist/es/components/internal/QRLoader/components/QRImage.js +2 -0
- package/dist/es/components/internal/QRLoader/components/QRImage.js.map +1 -0
- package/dist/es/components/internal/QRLoader/components/QRIntructions.js +2 -0
- package/dist/es/components/internal/QRLoader/components/QRIntructions.js.map +1 -0
- package/dist/es/components/internal/QRLoader/components/QRProgressbar.js +2 -0
- package/dist/es/components/internal/QRLoader/components/QRProgressbar.js.map +1 -0
- package/dist/es/components/internal/SecuredFields/binLookup/extensions.js +1 -1
- package/dist/es/components/internal/SecuredFields/binLookup/extensions.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleConfig.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleConfig.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/SegmentedControl/SegmentedControl.js +1 -1
- package/dist/es/components/internal/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/es/components/internal/SocialSecurityNumberBrazil/BrazilPersonalDetail.js +1 -1
- package/dist/es/components/internal/SocialSecurityNumberBrazil/BrazilPersonalDetail.js.map +1 -1
- package/dist/es/components/internal/UIElement/UIElement.js +1 -1
- package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
- package/dist/es/components/tx-variants.js +1 -1
- package/dist/es/components/tx-variants.js.map +1 -1
- package/dist/es/core/Analytics/Analytics.js +1 -1
- package/dist/es/core/Analytics/Analytics.js.map +1 -1
- package/dist/es/core/Analytics/AnalyticsInfoEvent.js +1 -1
- package/dist/es/core/Analytics/AnalyticsInfoEvent.js.map +1 -1
- package/dist/es/core/Analytics/constants.js +1 -1
- package/dist/es/core/Analytics/constants.js.map +1 -1
- package/dist/es/core/Analytics/useAnalytics.js +2 -0
- package/dist/es/core/Analytics/useAnalytics.js.map +1 -0
- package/dist/es/core/Context/CoreProvider.js +1 -1
- package/dist/es/core/Context/CoreProvider.js.map +1 -1
- package/dist/es/core/Environment/Environment.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/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/index.d.ts +292 -117
- package/dist/es/utils/Script.js +1 -1
- package/dist/es/utils/Script.js.map +1 -1
- package/dist/es-legacy/adyen.css +5 -4
- package/dist/es-legacy/adyen.css.map +1 -1
- package/dist/es-legacy/components/AmazonPay/AmazonPay.js +1 -1
- package/dist/es-legacy/components/AmazonPay/AmazonPay.js.map +1 -1
- package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js +1 -1
- package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
- package/dist/es-legacy/components/ApplePay/ApplePay.js +1 -1
- package/dist/es-legacy/components/ApplePay/ApplePay.js.map +1 -1
- package/dist/es-legacy/components/ApplePay/services/ApplePaySdkLoader.js +1 -1
- package/dist/es-legacy/components/ApplePay/services/ApplePaySdkLoader.js.map +1 -1
- package/dist/es-legacy/components/BankTransfer/BankTransfer.js +1 -1
- package/dist/es-legacy/components/BankTransfer/BankTransfer.js.map +1 -1
- package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferResult.js +1 -1
- package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferResult.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/components/CardFieldsWrapper.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/CardFieldsWrapper.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/defaultProps.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/defaultProps.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/utils.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/utils.js.map +1 -1
- package/dist/es-legacy/components/Card/components/Fastlane/FastlaneSignup.js +1 -1
- package/dist/es-legacy/components/Card/components/Fastlane/FastlaneSignup.js.map +1 -1
- package/dist/es-legacy/components/Card/constants.js +2 -0
- package/dist/es-legacy/components/Card/constants.js.map +1 -0
- 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/services/CashAppSdkLoader.js +1 -1
- package/dist/es-legacy/components/CashAppPay/services/CashAppSdkLoader.js.map +1 -1
- package/dist/es-legacy/components/ClickToPay/ClickToPay.js +1 -1
- package/dist/es-legacy/components/ClickToPay/ClickToPay.js.map +1 -1
- package/dist/es-legacy/components/Donation/components/FixedAmounts.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/GooglePay/GooglePay.js +1 -1
- package/dist/es-legacy/components/GooglePay/GooglePay.js.map +1 -1
- package/dist/es-legacy/components/GooglePay/GooglePayService.js +1 -1
- package/dist/es-legacy/components/GooglePay/GooglePayService.js.map +1 -1
- package/dist/es-legacy/components/GooglePay/defaultProps.js +1 -1
- package/dist/es-legacy/components/GooglePay/defaultProps.js.map +1 -1
- package/dist/es-legacy/components/GooglePay/utils/map-adyen-brands-to-googlepay-brands.js +2 -0
- package/dist/es-legacy/components/GooglePay/utils/map-adyen-brands-to-googlepay-brands.js.map +1 -0
- 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/MBWay/components/MBWayInput/MBWayInput.js +1 -1
- package/dist/es-legacy/components/MBWay/components/MBWayInput/MBWayInput.js.map +1 -1
- package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js +1 -1
- package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js.map +1 -1
- package/dist/es-legacy/components/PayByBankPix/services/PasskeySdkLoader.js +1 -1
- package/dist/es-legacy/components/PayByBankPix/services/PasskeySdkLoader.js.map +1 -1
- package/dist/es-legacy/components/PayByBankPix/services/PasskeyService.js +1 -1
- package/dist/es-legacy/components/PayByBankPix/services/PasskeyService.js.map +1 -1
- package/dist/es-legacy/components/PayPal/Paypal.js +1 -1
- package/dist/es-legacy/components/PayPal/Paypal.js.map +1 -1
- package/dist/es-legacy/components/PayPal/components/PaypalButtons.js.map +1 -1
- package/dist/es-legacy/components/PayPal/components/PaypalComponent.js +1 -1
- package/dist/es-legacy/components/PayPal/components/PaypalComponent.js.map +1 -1
- package/dist/es-legacy/components/PayPalFastlane/FastlaneSDK.js +1 -1
- package/dist/es-legacy/components/PayPalFastlane/FastlaneSDK.js.map +1 -1
- package/dist/es-legacy/components/PayTo/PayTo.js.map +1 -1
- package/dist/es-legacy/components/PayTo/components/PayIDInput.js +1 -1
- package/dist/es-legacy/components/PayTo/components/PayIDInput.js.map +1 -1
- package/dist/es-legacy/components/PayTo/components/PayToPhone.js +1 -1
- package/dist/es-legacy/components/PayTo/components/PayToPhone.js.map +1 -1
- package/dist/es-legacy/components/PayTo/components/validate.js +1 -1
- package/dist/es-legacy/components/PayTo/components/validate.js.map +1 -1
- package/dist/es-legacy/components/Pix/Pix.js +1 -1
- package/dist/es-legacy/components/Pix/Pix.js.map +1 -1
- package/dist/es-legacy/components/Pix/components/PixInput/PixInput.js +2 -0
- package/dist/es-legacy/components/Pix/components/PixInput/PixInput.js.map +1 -0
- package/dist/es-legacy/components/Pix/components/PixInput/utils.js +2 -0
- package/dist/es-legacy/components/Pix/components/PixInput/utils.js.map +1 -0
- package/dist/es-legacy/components/Pix/components/PixInput/validate.js +2 -0
- package/dist/es-legacy/components/Pix/components/PixInput/validate.js.map +1 -0
- package/dist/es-legacy/components/Pix/components/PixQRDetails.js +2 -0
- package/dist/es-legacy/components/Pix/components/PixQRDetails.js.map +1 -0
- package/dist/es-legacy/components/UPI/UPI.js +1 -1
- package/dist/es-legacy/components/UPI/UPI.js.map +1 -1
- package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js +1 -1
- package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js.map +1 -1
- package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
- package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
- package/dist/es-legacy/components/internal/Button/Button.js +1 -1
- package/dist/es-legacy/components/internal/Button/Button.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/ClickToPayService.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/create-clicktopay-service.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/create-clicktopay-service.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/sdks/MastercardSdk.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/sdks/MastercardSdk.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js +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/VisaSdk.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/sdks/VisaSdk.js.map +1 -1
- package/dist/es-legacy/components/internal/Countdown/CountdownA11yReporter.js +1 -1
- package/dist/es-legacy/components/internal/Countdown/CountdownA11yReporter.js.map +1 -1
- package/dist/es-legacy/components/internal/Countdown/index.js +1 -1
- package/dist/es-legacy/components/internal/Countdown/index.js.map +1 -1
- package/dist/es-legacy/components/internal/PayButton/PayButton.js.map +1 -1
- package/dist/es-legacy/components/internal/PhoneInput/PhoneInputFields.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/QRLoader/QRLoaderDetailsProvider.js +2 -0
- package/dist/es-legacy/components/internal/QRLoader/QRLoaderDetailsProvider.js.map +1 -0
- package/dist/es-legacy/components/internal/QRLoader/components/QRCodeCopyButton.js +2 -0
- package/dist/es-legacy/components/internal/QRLoader/components/QRCodeCopyButton.js.map +1 -0
- package/dist/es-legacy/components/internal/QRLoader/components/QRCountdown.js +2 -0
- package/dist/es-legacy/components/internal/QRLoader/components/QRCountdown.js.map +1 -0
- package/dist/es-legacy/components/internal/QRLoader/components/QRDetails.js +2 -0
- package/dist/es-legacy/components/internal/QRLoader/components/QRDetails.js.map +1 -0
- package/dist/es-legacy/components/internal/QRLoader/components/QRImage.js +2 -0
- package/dist/es-legacy/components/internal/QRLoader/components/QRImage.js.map +1 -0
- package/dist/es-legacy/components/internal/QRLoader/components/QRIntructions.js +2 -0
- package/dist/es-legacy/components/internal/QRLoader/components/QRIntructions.js.map +1 -0
- package/dist/es-legacy/components/internal/QRLoader/components/QRProgressbar.js +2 -0
- package/dist/es-legacy/components/internal/QRLoader/components/QRProgressbar.js.map +1 -0
- package/dist/es-legacy/components/internal/SecuredFields/binLookup/extensions.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/binLookup/extensions.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleConfig.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleConfig.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/SegmentedControl/SegmentedControl.js +1 -1
- package/dist/es-legacy/components/internal/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/es-legacy/components/internal/SocialSecurityNumberBrazil/BrazilPersonalDetail.js +1 -1
- package/dist/es-legacy/components/internal/SocialSecurityNumberBrazil/BrazilPersonalDetail.js.map +1 -1
- package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
- package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
- package/dist/es-legacy/components/tx-variants.js +1 -1
- package/dist/es-legacy/components/tx-variants.js.map +1 -1
- package/dist/es-legacy/core/Analytics/Analytics.js +1 -1
- package/dist/es-legacy/core/Analytics/Analytics.js.map +1 -1
- package/dist/es-legacy/core/Analytics/AnalyticsInfoEvent.js +1 -1
- package/dist/es-legacy/core/Analytics/AnalyticsInfoEvent.js.map +1 -1
- package/dist/es-legacy/core/Analytics/constants.js +1 -1
- package/dist/es-legacy/core/Analytics/constants.js.map +1 -1
- package/dist/es-legacy/core/Analytics/useAnalytics.js +2 -0
- package/dist/es-legacy/core/Analytics/useAnalytics.js.map +1 -0
- package/dist/es-legacy/core/Context/CoreProvider.js +1 -1
- package/dist/es-legacy/core/Context/CoreProvider.js.map +1 -1
- package/dist/es-legacy/core/Environment/Environment.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/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/utils/Script.js +1 -1
- package/dist/es-legacy/utils/Script.js.map +1 -1
- package/package.json +13 -13
- package/styles/adyen.css +5 -4
- package/dist/es/components/Pix/PixInput/PixInput.js +0 -2
- package/dist/es/components/Pix/PixInput/PixInput.js.map +0 -1
- package/dist/es/components/Pix/PixInput/utils.js +0 -2
- package/dist/es/components/Pix/PixInput/utils.js.map +0 -1
- package/dist/es/components/Pix/PixInput/validate.js +0 -2
- package/dist/es/components/Pix/PixInput/validate.js.map +0 -1
- package/dist/es-legacy/components/Pix/PixInput/PixInput.js +0 -2
- package/dist/es-legacy/components/Pix/PixInput/PixInput.js.map +0 -1
- package/dist/es-legacy/components/Pix/PixInput/utils.js +0 -2
- package/dist/es-legacy/components/Pix/PixInput/utils.js.map +0 -1
- package/dist/es-legacy/components/Pix/PixInput/validate.js +0 -2
- package/dist/es-legacy/components/Pix/PixInput/validate.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import r from"../../utils/browserInfo.js";import n from"./components/AmazonPayComponent.js";import s from"./defaultProps.js";import{getCheckoutDetails as i}from"./services.js";import{TxVariants as c}from"../tx-variants.js";import{sanitizeResponse as p,verifyPaymentDidNotFail as l}from"../internal/UIElement/utils.js";import{ANALYTICS_RENDERED_STR as a,ANALYTICS_EXPRESS_PAGES_ARRAY as u}from"../../core/Analytics/constants.js";import{AnalyticsInfoEvent as f}from"../../core/Analytics/AnalyticsInfoEvent.js";function
|
|
1
|
+
import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import r from"../../utils/browserInfo.js";import n from"./components/AmazonPayComponent.js";import s from"./defaultProps.js";import{getCheckoutDetails as i}from"./services.js";import{TxVariants as c}from"../tx-variants.js";import{sanitizeResponse as p,verifyPaymentDidNotFail as l}from"../internal/UIElement/utils.js";import{ANALYTICS_RENDERED_STR as a,ANALYTICS_EXPRESS_PAGES_ARRAY as u}from"../../core/Analytics/constants.js";import{AnalyticsInfoEvent as f}from"../../core/Analytics/AnalyticsInfoEvent.js";function h(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function m(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),r.forEach(function(t){h(e,t,o[t])})}return e}function d(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t.push.apply(t,o)}return t}(Object(t)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(t,o))}),e}class y extends t{formatProps(e){return d(m({},e),{checkoutMode:e.isDropin?"ProcessOrder":e.checkoutMode,environment:e.environment.toUpperCase(),locale:e.locale.replace("-","_"),productType:e.isDropin&&!e.addressDetails?"PayOnly":e.productType})}formatData(){const{amazonCheckoutSessionId:e}=this.props;return{paymentMethod:m({type:y.type},e&&{checkoutSessionId:e}),browserInfo:this.browserInfo}}submitAnalytics(e){if(e instanceof f&&e.type===a){const{isExpress:t,expressPage:o}=this.props,r=o&&u.includes(o);"boolean"==typeof t&&(e.isExpress=t),!0===t&&r&&(e.expressPage=o)}super.submitAnalytics(e)}getShopperDetails(){const{amazonCheckoutSessionId:e,configuration:t={},loadingContext:o,clientKey:r}=this.props;if(!e)return console.error("Could not shopper details. Missing checkoutSessionId.");const n={checkoutSessionId:e,getDeliveryAddress:!0,publicKeyId:t.publicKeyId,region:t.region};return i(o,r,n)}handleDeclineFlow(){const{amazonCheckoutSessionId:e,configuration:t={},loadingContext:o,clientKey:r}=this.props;if(!e)return console.error("Could handle the decline flow. Missing checkoutSessionId.");const n={checkoutSessionId:e,getDeclineFlowUrl:!0,publicKeyId:t.publicKeyId,region:t.region};i(o,r,n).then((e={})=>{if(!(null==e?void 0:e.declineFlowUrl))throw e;window.location.assign(e.declineFlowUrl)}).catch(e=>{this.props.onError&&this.props.onError(e,this.componentRef)})}get isValid(){return!0}get browserInfo(){return r()}submit(){const e=this.componentRef&&this.componentRef.getSubmitFunction();if(e)return e();this.makePaymentsCall().then(p).then(l).then(this.handleResponse).catch(this.handleFailedResult)}render(){return e(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources,analytics:this.analytics},e(n,m({ref:e=>{this.componentRef=e},showPayButton:this.props.showPayButton,onClick:this.props.onClick,onError:this.props.onError,onSignOut:this.props.onSignOut},this.props)))}}h(y,"type",c.amazonpay),h(y,"defaultProps",s);export{y as AmazonPayElement,y as default};
|
|
2
2
|
//# sourceMappingURL=AmazonPay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmazonPay.js","sources":["../../../../src/components/AmazonPay/AmazonPay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport AmazonPayComponent from './components/AmazonPayComponent';\nimport { AmazonPayElementData, AmazonPayConfiguration, CheckoutDetailsRequest } from './types';\nimport defaultProps from './defaultProps';\nimport { getCheckoutDetails } from './services';\nimport './AmazonPay.scss';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { ANALYTICS_EXPRESS_PAGES_ARRAY, ANALYTICS_RENDERED_STR } from '../../core/Analytics/constants';\nimport { AnalyticsEvent } from '../../core/Analytics/AnalyticsEvent';\nimport { AnalyticsInfoEvent } from '../../core/Analytics/AnalyticsInfoEvent';\n\nexport class AmazonPayElement extends UIElement<AmazonPayConfiguration> {\n public static type = TxVariants.amazonpay;\n\n protected static defaultProps = defaultProps;\n\n formatProps(props) {\n return {\n ...props,\n checkoutMode: props.isDropin ? 'ProcessOrder' : props.checkoutMode,\n environment: props.environment.toUpperCase(),\n locale: props.locale.replace('-', '_'),\n productType: props.isDropin && !props.addressDetails ? 'PayOnly' : props.productType\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): AmazonPayElementData {\n const { amazonCheckoutSessionId: checkoutSessionId } = this.props;\n return {\n paymentMethod: {\n type: AmazonPayElement.type,\n ...(checkoutSessionId && { checkoutSessionId })\n },\n browserInfo: this.browserInfo\n };\n }\n\n protected submitAnalytics(analyticsObj: AnalyticsEvent) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n if (analyticsObj instanceof AnalyticsInfoEvent && analyticsObj.type === ANALYTICS_RENDERED_STR) {\n const { isExpress, expressPage } = this.props;\n const hasExpressPage = expressPage && ANALYTICS_EXPRESS_PAGES_ARRAY.includes(expressPage);\n\n if (typeof isExpress === 'boolean') {\n analyticsObj.isExpress = isExpress;\n }\n\n if (isExpress === true && hasExpressPage) {\n analyticsObj.expressPage = expressPage; // We only care about the expressPage value if isExpress is true\n }\n }\n\n super.submitAnalytics(analyticsObj);\n }\n\n getShopperDetails() {\n const { amazonCheckoutSessionId, configuration = {}, loadingContext, clientKey } = this.props;\n if (!amazonCheckoutSessionId) return console.error('Could not shopper details. Missing checkoutSessionId.');\n\n const request: CheckoutDetailsRequest = {\n checkoutSessionId: amazonCheckoutSessionId,\n getDeliveryAddress: true,\n publicKeyId: configuration.publicKeyId,\n region: configuration.region\n };\n\n return getCheckoutDetails(loadingContext, clientKey, request);\n }\n\n public handleDeclineFlow() {\n const { amazonCheckoutSessionId, configuration = {}, loadingContext, clientKey } = this.props;\n if (!amazonCheckoutSessionId) return console.error('Could handle the decline flow. Missing checkoutSessionId.');\n\n const request: CheckoutDetailsRequest = {\n checkoutSessionId: amazonCheckoutSessionId,\n getDeclineFlowUrl: true,\n publicKeyId: configuration.publicKeyId,\n region: configuration.region\n };\n\n getCheckoutDetails(loadingContext, clientKey, request)\n .then((response = {}) => {\n if (!response?.declineFlowUrl) throw response;\n window.location.assign(response.declineFlowUrl);\n })\n .catch(error => {\n if (this.props.onError) this.props.onError(error, this.componentRef);\n });\n }\n\n get isValid() {\n return true;\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n public submit(): void {\n const amazonComponentSubmit = this.componentRef && this.componentRef.getSubmitFunction();\n if (amazonComponentSubmit) {\n return amazonComponentSubmit();\n }\n this.makePaymentsCall().then(sanitizeResponse).then(verifyPaymentDidNotFail).then(this.handleResponse).catch(this.handleFailedResult);\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <AmazonPayComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n showPayButton={this.props.showPayButton}\n onClick={this.props.onClick}\n onError={this.props.onError}\n onSignOut={this.props.onSignOut}\n {...this.props}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default AmazonPayElement;\n"],"names":["AmazonPayElement","UIElement","formatProps","props","_object_spread_props","_object_spread","checkoutMode","isDropin","environment","toUpperCase","locale","replace","productType","addressDetails","formatData","amazonCheckoutSessionId","checkoutSessionId","this","paymentMethod","type","browserInfo","submitAnalytics","analyticsObj","AnalyticsInfoEvent","ANALYTICS_RENDERED_STR","isExpress","expressPage","hasExpressPage","ANALYTICS_EXPRESS_PAGES_ARRAY","includes","super","getShopperDetails","configuration","loadingContext","clientKey","console","error","request","getDeliveryAddress","publicKeyId","region","getCheckoutDetails","handleDeclineFlow","getDeclineFlowUrl","then","response","declineFlowUrl","window","location","assign","catch","onError","componentRef","isValid","collectBrowserInfo","submit","amazonComponentSubmit","getSubmitFunction","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","handleResponse","handleFailedResult","render","h","CoreProvider","i18n","resources","AmazonPayComponent","ref","showPayButton","onClick","onSignOut","_define_property","TxVariants","amazonpay","defaultProps"],"mappings":"2+CAeO,MAAMA,UAAyBC,EAKlCC,WAAAA,CAAYC,GACR,OAAOC,EAAAC,EAAA,CAAA,EACAF,GAAAA,CACHG,aAAcH,EAAMI,SAAW,eAAiBJ,EAAMG,aACtDE,YAAaL,EAAMK,YAAYC,cAC/BC,OAAQP,EAAMO,OAAOC,QAAQ,IAAK,KAClCC,YAAaT,EAAMI,WAAaJ,EAAMU,eAAiB,UAAYV,EAAMS,aAEjF,CAKAE,UAAAA,GACI,MAAQC,wBAAyBC,GAAsBC,KAAKd,MAC5D,MAAO,CACHe,cAAeb,EAAA,CACXc,KAAMnB,EAAiBmB,MACnBH,GAAqB,CAAEA,sBAE/BI,YAAaH,KAAKG,YAE1B,CAEUC,eAAAA,CAAgBC,GAEtB,GAAIA,aAAwBC,GAAsBD,EAAaH,OAASK,EAAwB,CAC5F,MAAMC,UAAEA,EAASC,YAAEA,GAAgBT,KAAKd,MAClCwB,EAAiBD,GAAeE,EAA8BC,SAASH,GAEpD,kBAAdD,IACPH,EAAaG,UAAYA,IAGX,IAAdA,GAAsBE,IACtBL,EAAaI,YAAcA,EAEnC,CAEAI,MAAMT,gBAAgBC,EAC1B,CAEAS,iBAAAA,GACI,MAAMhB,wBAAEA,EAAuBiB,cAAEA,EAAgB,CAAA,EAAEC,eAAEA,EAAcC,UAAEA,GAAcjB,KAAKd,MACxF,IAAKY,EAAyB,OAAOoB,QAAQC,MAAM,yDAEnD,MAAMC,EAAkC,CACpCrB,kBAAmBD,EACnBuB,oBAAoB,EACpBC,YAAaP,EAAcO,YAC3BC,OAAQR,EAAcQ,QAG1B,OAAOC,EAAmBR,EAAgBC,EAAWG,EACzD,CAEOK,iBAAAA,GACH,MAAM3B,wBAAEA,EAAuBiB,cAAEA,EAAgB,CAAA,EAAEC,eAAEA,EAAcC,UAAEA,GAAcjB,KAAKd,MACxF,IAAKY,EAAyB,OAAOoB,QAAQC,MAAM,6DAEnD,MAAMC,EAAkC,CACpCrB,kBAAmBD,EACnB4B,mBAAmB,EACnBJ,YAAaP,EAAcO,YAC3BC,OAAQR,EAAcQ,QAG1BC,EAAmBR,EAAgBC,EAAWG,GACzCO,KAAK,CAACC,EAAW,MACd,KAAKA,aAAAA,EAAAA,EAAUC,gBAAgB,MAAMD,EACrCE,OAAOC,SAASC,OAAOJ,EAASC,kBAEnCI,MAAMd,IACCnB,KAAKd,MAAMgD,SAASlC,KAAKd,MAAMgD,QAAQf,EAAOnB,KAAKmC,eAEnE,CAEA,WAAIC,GACA,OAAO,CACX,CAEA,eAAIjC,GACA,OAAOkC,GACX,CAEOC,MAAAA,GACH,MAAMC,EAAwBvC,KAAKmC,cAAgBnC,KAAKmC,aAAaK,oBACrE,GAAID,EACA,OAAOA,IAEXvC,KAAKyC,mBAAmBd,KAAKe,GAAkBf,KAAKgB,GAAyBhB,KAAK3B,KAAK4C,gBAAgBX,MAAMjC,KAAK6C,mBACtH,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMjD,KAAKd,MAAM+D,KAAMjC,eAAgBhB,KAAKd,MAAM8B,eAAgBkC,UAAWlD,KAAKkD,
|
|
1
|
+
{"version":3,"file":"AmazonPay.js","sources":["../../../../src/components/AmazonPay/AmazonPay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport AmazonPayComponent from './components/AmazonPayComponent';\nimport { AmazonPayElementData, AmazonPayConfiguration, CheckoutDetailsRequest } from './types';\nimport defaultProps from './defaultProps';\nimport { getCheckoutDetails } from './services';\nimport './AmazonPay.scss';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { ANALYTICS_EXPRESS_PAGES_ARRAY, ANALYTICS_RENDERED_STR } from '../../core/Analytics/constants';\nimport { AnalyticsEvent } from '../../core/Analytics/AnalyticsEvent';\nimport { AnalyticsInfoEvent } from '../../core/Analytics/AnalyticsInfoEvent';\n\nexport class AmazonPayElement extends UIElement<AmazonPayConfiguration> {\n public static type = TxVariants.amazonpay;\n\n protected static defaultProps = defaultProps;\n\n formatProps(props) {\n return {\n ...props,\n checkoutMode: props.isDropin ? 'ProcessOrder' : props.checkoutMode,\n environment: props.environment.toUpperCase(),\n locale: props.locale.replace('-', '_'),\n productType: props.isDropin && !props.addressDetails ? 'PayOnly' : props.productType\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): AmazonPayElementData {\n const { amazonCheckoutSessionId: checkoutSessionId } = this.props;\n return {\n paymentMethod: {\n type: AmazonPayElement.type,\n ...(checkoutSessionId && { checkoutSessionId })\n },\n browserInfo: this.browserInfo\n };\n }\n\n protected submitAnalytics(analyticsObj: AnalyticsEvent) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n if (analyticsObj instanceof AnalyticsInfoEvent && analyticsObj.type === ANALYTICS_RENDERED_STR) {\n const { isExpress, expressPage } = this.props;\n const hasExpressPage = expressPage && ANALYTICS_EXPRESS_PAGES_ARRAY.includes(expressPage);\n\n if (typeof isExpress === 'boolean') {\n analyticsObj.isExpress = isExpress;\n }\n\n if (isExpress === true && hasExpressPage) {\n analyticsObj.expressPage = expressPage; // We only care about the expressPage value if isExpress is true\n }\n }\n\n super.submitAnalytics(analyticsObj);\n }\n\n getShopperDetails() {\n const { amazonCheckoutSessionId, configuration = {}, loadingContext, clientKey } = this.props;\n if (!amazonCheckoutSessionId) return console.error('Could not shopper details. Missing checkoutSessionId.');\n\n const request: CheckoutDetailsRequest = {\n checkoutSessionId: amazonCheckoutSessionId,\n getDeliveryAddress: true,\n publicKeyId: configuration.publicKeyId,\n region: configuration.region\n };\n\n return getCheckoutDetails(loadingContext, clientKey, request);\n }\n\n public handleDeclineFlow() {\n const { amazonCheckoutSessionId, configuration = {}, loadingContext, clientKey } = this.props;\n if (!amazonCheckoutSessionId) return console.error('Could handle the decline flow. Missing checkoutSessionId.');\n\n const request: CheckoutDetailsRequest = {\n checkoutSessionId: amazonCheckoutSessionId,\n getDeclineFlowUrl: true,\n publicKeyId: configuration.publicKeyId,\n region: configuration.region\n };\n\n getCheckoutDetails(loadingContext, clientKey, request)\n .then((response = {}) => {\n if (!response?.declineFlowUrl) throw response;\n window.location.assign(response.declineFlowUrl);\n })\n .catch(error => {\n if (this.props.onError) this.props.onError(error, this.componentRef);\n });\n }\n\n get isValid() {\n return true;\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n public submit(): void {\n const amazonComponentSubmit = this.componentRef && this.componentRef.getSubmitFunction();\n if (amazonComponentSubmit) {\n return amazonComponentSubmit();\n }\n this.makePaymentsCall().then(sanitizeResponse).then(verifyPaymentDidNotFail).then(this.handleResponse).catch(this.handleFailedResult);\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources} analytics={this.analytics}>\n <AmazonPayComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n showPayButton={this.props.showPayButton}\n onClick={this.props.onClick}\n onError={this.props.onError}\n onSignOut={this.props.onSignOut}\n {...this.props}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default AmazonPayElement;\n"],"names":["AmazonPayElement","UIElement","formatProps","props","_object_spread_props","_object_spread","checkoutMode","isDropin","environment","toUpperCase","locale","replace","productType","addressDetails","formatData","amazonCheckoutSessionId","checkoutSessionId","this","paymentMethod","type","browserInfo","submitAnalytics","analyticsObj","AnalyticsInfoEvent","ANALYTICS_RENDERED_STR","isExpress","expressPage","hasExpressPage","ANALYTICS_EXPRESS_PAGES_ARRAY","includes","super","getShopperDetails","configuration","loadingContext","clientKey","console","error","request","getDeliveryAddress","publicKeyId","region","getCheckoutDetails","handleDeclineFlow","getDeclineFlowUrl","then","response","declineFlowUrl","window","location","assign","catch","onError","componentRef","isValid","collectBrowserInfo","submit","amazonComponentSubmit","getSubmitFunction","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","handleResponse","handleFailedResult","render","h","CoreProvider","i18n","resources","analytics","AmazonPayComponent","ref","showPayButton","onClick","onSignOut","_define_property","TxVariants","amazonpay","defaultProps"],"mappings":"2+CAeO,MAAMA,UAAyBC,EAKlCC,WAAAA,CAAYC,GACR,OAAOC,EAAAC,EAAA,CAAA,EACAF,GAAAA,CACHG,aAAcH,EAAMI,SAAW,eAAiBJ,EAAMG,aACtDE,YAAaL,EAAMK,YAAYC,cAC/BC,OAAQP,EAAMO,OAAOC,QAAQ,IAAK,KAClCC,YAAaT,EAAMI,WAAaJ,EAAMU,eAAiB,UAAYV,EAAMS,aAEjF,CAKAE,UAAAA,GACI,MAAQC,wBAAyBC,GAAsBC,KAAKd,MAC5D,MAAO,CACHe,cAAeb,EAAA,CACXc,KAAMnB,EAAiBmB,MACnBH,GAAqB,CAAEA,sBAE/BI,YAAaH,KAAKG,YAE1B,CAEUC,eAAAA,CAAgBC,GAEtB,GAAIA,aAAwBC,GAAsBD,EAAaH,OAASK,EAAwB,CAC5F,MAAMC,UAAEA,EAASC,YAAEA,GAAgBT,KAAKd,MAClCwB,EAAiBD,GAAeE,EAA8BC,SAASH,GAEpD,kBAAdD,IACPH,EAAaG,UAAYA,IAGX,IAAdA,GAAsBE,IACtBL,EAAaI,YAAcA,EAEnC,CAEAI,MAAMT,gBAAgBC,EAC1B,CAEAS,iBAAAA,GACI,MAAMhB,wBAAEA,EAAuBiB,cAAEA,EAAgB,CAAA,EAAEC,eAAEA,EAAcC,UAAEA,GAAcjB,KAAKd,MACxF,IAAKY,EAAyB,OAAOoB,QAAQC,MAAM,yDAEnD,MAAMC,EAAkC,CACpCrB,kBAAmBD,EACnBuB,oBAAoB,EACpBC,YAAaP,EAAcO,YAC3BC,OAAQR,EAAcQ,QAG1B,OAAOC,EAAmBR,EAAgBC,EAAWG,EACzD,CAEOK,iBAAAA,GACH,MAAM3B,wBAAEA,EAAuBiB,cAAEA,EAAgB,CAAA,EAAEC,eAAEA,EAAcC,UAAEA,GAAcjB,KAAKd,MACxF,IAAKY,EAAyB,OAAOoB,QAAQC,MAAM,6DAEnD,MAAMC,EAAkC,CACpCrB,kBAAmBD,EACnB4B,mBAAmB,EACnBJ,YAAaP,EAAcO,YAC3BC,OAAQR,EAAcQ,QAG1BC,EAAmBR,EAAgBC,EAAWG,GACzCO,KAAK,CAACC,EAAW,MACd,KAAKA,aAAAA,EAAAA,EAAUC,gBAAgB,MAAMD,EACrCE,OAAOC,SAASC,OAAOJ,EAASC,kBAEnCI,MAAMd,IACCnB,KAAKd,MAAMgD,SAASlC,KAAKd,MAAMgD,QAAQf,EAAOnB,KAAKmC,eAEnE,CAEA,WAAIC,GACA,OAAO,CACX,CAEA,eAAIjC,GACA,OAAOkC,GACX,CAEOC,MAAAA,GACH,MAAMC,EAAwBvC,KAAKmC,cAAgBnC,KAAKmC,aAAaK,oBACrE,GAAID,EACA,OAAOA,IAEXvC,KAAKyC,mBAAmBd,KAAKe,GAAkBf,KAAKgB,GAAyBhB,KAAK3B,KAAK4C,gBAAgBX,MAAMjC,KAAK6C,mBACtH,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMjD,KAAKd,MAAM+D,KAAMjC,eAAgBhB,KAAKd,MAAM8B,eAAgBkC,UAAWlD,KAAKkD,UAAWC,UAAWnD,KAAKmD,WACvHJ,EAACK,EAAAA,EAAAA,CACGC,IAAKA,IACDrD,KAAKmC,aAAekB,GAExBC,cAAetD,KAAKd,MAAMoE,cAC1BC,QAASvD,KAAKd,MAAMqE,QACpBrB,QAASlC,KAAKd,MAAMgD,QACpBsB,UAAWxD,KAAKd,MAAMsE,WAClBxD,KAAKd,QAIzB,EAhHAuE,EADS1E,EACKmB,OAAOwD,EAAWC,WAEhCF,EAHS1E,EAGQ6E,eAAeA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useState as t,useRef as n,useEffect as o}from"../../../external/preact/hooks/dist/hooks.js";import r from"../../internal/Spinner/Spinner.js";import{getAmazonPayUrl as a}from"../utils.js";import i from"./AmazonPayButton.js";import c from"./ChangePaymentDetailsButton.js";import
|
|
1
|
+
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useState as t,useRef as n,useEffect as o}from"../../../external/preact/hooks/dist/hooks.js";import r from"../../internal/Spinner/Spinner.js";import{getAmazonPayUrl as a}from"../utils.js";import i from"./AmazonPayButton.js";import c from"./ChangePaymentDetailsButton.js";import s from"./OrderButton.js";import u from"./SignOutButton.js";import m from"../../../utils/Script.js";import p from"../../../core/Analytics/useAnalytics.js";function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function y(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function d(d){const[f,h]=t("pending"),g=n(null),O=n(null),{analytics:b}=p(),j=()=>{h("ready")};return this.getSubmitFunction=()=>g.current&&g.current.initCheckout?()=>g.current.initCheckout():O.current&&O.current.createOrder?()=>O.current.createOrder():void 0,o(()=>{const e=a(d.configuration.region),t=new m({src:e,component:"amazonpay",analytics:b});return window.amazon?j():t.load().then(j),()=>{t.remove()}},[b]),"pending"===f?e("div",{className:"adyen-checkout__amazonpay"},e("div",{className:"adyen-checkout__amazonpay__status adyen-checkout__amazonpay__status--pending"},e(r,null))):d.showSignOutButton?e("div",{className:"adyen-checkout__amazonpay"},e(u,{amazonRef:window.amazon,onSignOut:d.onSignOut})):d.amazonCheckoutSessionId?e("div",{className:"adyen-checkout__amazonpay"},d.showOrderButton&&e(s,{amazonCheckoutSessionId:d.amazonCheckoutSessionId,amount:d.amount,chargePermissionType:d.chargePermissionType,recurringMetadata:d.recurringMetadata,clientKey:d.clientKey,onError:d.onError,publicKeyId:null===(w=d.configuration)||void 0===w?void 0:w.publicKeyId,region:null===(z=d.configuration)||void 0===z?void 0:z.region,returnUrl:d.returnUrl,ref:O}),d.showChangePaymentDetailsButton&&e(c,{amazonCheckoutSessionId:d.amazonCheckoutSessionId,amazonRef:window.amazon})):e("div",{className:"adyen-checkout__amazonpay"},e(i,y(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),o.forEach(function(t){l(e,t,n[t])})}return e}({},d),{showPayButton:this.props.showPayButton,amazonRef:window.amazon,ref:g})));var w,z}export{d as default};
|
|
2
2
|
//# sourceMappingURL=AmazonPayComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmazonPayComponent.js","sources":["../../../../../src/components/AmazonPay/components/AmazonPayComponent.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef } from 'preact/hooks';\nimport Spinner from '../../internal/Spinner';\nimport { getAmazonPayUrl } from '../utils';\nimport { AmazonPayComponentProps } from '../types';\nimport AmazonPayButton from './AmazonPayButton';\nimport ChangePaymentDetailsButton from './ChangePaymentDetailsButton';\nimport OrderButton from './OrderButton';\nimport SignOutButton from './SignOutButton';\nimport Script from '../../../utils/Script';\n\nexport default function AmazonPayComponent(props: AmazonPayComponentProps) {\n const [status, setStatus] = useState('pending');\n const amazonPayButtonRef = useRef(null);\n const orderButtonRef = useRef(null);\n\n const handleLoad = () => {\n setStatus('ready');\n };\n\n this.getSubmitFunction = () => {\n if (amazonPayButtonRef.current && amazonPayButtonRef.current.initCheckout) return () => amazonPayButtonRef.current.initCheckout();\n if (orderButtonRef.current && orderButtonRef.current.createOrder) return () => orderButtonRef.current.createOrder();\n };\n\n useEffect(() => {\n const src = getAmazonPayUrl(props.configuration.region);\n const script = new Script(src);\n if (window.amazon) {\n handleLoad();\n } else {\n void script.load().then(handleLoad);\n }\n\n return () => {\n script.remove();\n };\n }, []);\n\n if (status === 'pending') {\n return (\n <div className=\"adyen-checkout__amazonpay\">\n <div className=\"adyen-checkout__amazonpay__status adyen-checkout__amazonpay__status--pending\">\n <Spinner />\n </div>\n </div>\n );\n }\n\n if (props.showSignOutButton) {\n return (\n <div className=\"adyen-checkout__amazonpay\">\n <SignOutButton amazonRef={window.amazon} onSignOut={props.onSignOut} />\n </div>\n );\n }\n\n if (props.amazonCheckoutSessionId) {\n return (\n <div className=\"adyen-checkout__amazonpay\">\n {props.showOrderButton && (\n <OrderButton\n amazonCheckoutSessionId={props.amazonCheckoutSessionId}\n amount={props.amount}\n chargePermissionType={props.chargePermissionType}\n recurringMetadata={props.recurringMetadata}\n clientKey={props.clientKey}\n onError={props.onError}\n publicKeyId={props.configuration?.publicKeyId}\n region={props.configuration?.region}\n returnUrl={props.returnUrl}\n ref={orderButtonRef}\n />\n )}\n\n {props.showChangePaymentDetailsButton && (\n <ChangePaymentDetailsButton amazonCheckoutSessionId={props.amazonCheckoutSessionId} amazonRef={window.amazon} />\n )}\n </div>\n );\n }\n\n return (\n <div className=\"adyen-checkout__amazonpay\">\n <AmazonPayButton {...props} showPayButton={this.props.showPayButton} amazonRef={window.amazon} ref={amazonPayButtonRef} />\n </div>\n );\n}\n"],"names":["AmazonPayComponent","props","status","setStatus","useState","amazonPayButtonRef","useRef","orderButtonRef","handleLoad","this","getSubmitFunction","current","initCheckout","createOrder","useEffect","src","getAmazonPayUrl","configuration","region","script","Script","window","amazon","load","then","remove","h","div","className","Spinner","showSignOutButton","SignOutButton","amazonRef","onSignOut","amazonCheckoutSessionId","showOrderButton","OrderButton","amount","chargePermissionType","recurringMetadata","clientKey","onError","publicKeyId","returnUrl","ref","showChangePaymentDetailsButton","ChangePaymentDetailsButton","AmazonPayButton","showPayButton"],"mappings":"
|
|
1
|
+
{"version":3,"file":"AmazonPayComponent.js","sources":["../../../../../src/components/AmazonPay/components/AmazonPayComponent.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef } from 'preact/hooks';\nimport Spinner from '../../internal/Spinner';\nimport { getAmazonPayUrl } from '../utils';\nimport { AmazonPayComponentProps } from '../types';\nimport AmazonPayButton from './AmazonPayButton';\nimport ChangePaymentDetailsButton from './ChangePaymentDetailsButton';\nimport OrderButton from './OrderButton';\nimport SignOutButton from './SignOutButton';\nimport Script from '../../../utils/Script';\nimport useAnalytics from '../../../core/Analytics/useAnalytics';\n\nexport default function AmazonPayComponent(props: AmazonPayComponentProps) {\n const [status, setStatus] = useState('pending');\n const amazonPayButtonRef = useRef(null);\n const orderButtonRef = useRef(null);\n const { analytics } = useAnalytics();\n\n const handleLoad = () => {\n setStatus('ready');\n };\n\n this.getSubmitFunction = () => {\n if (amazonPayButtonRef.current && amazonPayButtonRef.current.initCheckout) return () => amazonPayButtonRef.current.initCheckout();\n if (orderButtonRef.current && orderButtonRef.current.createOrder) return () => orderButtonRef.current.createOrder();\n };\n\n useEffect(() => {\n const src = getAmazonPayUrl(props.configuration.region);\n const script = new Script({\n src,\n component: 'amazonpay',\n analytics\n });\n\n if (window.amazon) {\n handleLoad();\n } else {\n void script.load().then(handleLoad);\n }\n\n return () => {\n script.remove();\n };\n }, [analytics]);\n\n if (status === 'pending') {\n return (\n <div className=\"adyen-checkout__amazonpay\">\n <div className=\"adyen-checkout__amazonpay__status adyen-checkout__amazonpay__status--pending\">\n <Spinner />\n </div>\n </div>\n );\n }\n\n if (props.showSignOutButton) {\n return (\n <div className=\"adyen-checkout__amazonpay\">\n <SignOutButton amazonRef={window.amazon} onSignOut={props.onSignOut} />\n </div>\n );\n }\n\n if (props.amazonCheckoutSessionId) {\n return (\n <div className=\"adyen-checkout__amazonpay\">\n {props.showOrderButton && (\n <OrderButton\n amazonCheckoutSessionId={props.amazonCheckoutSessionId}\n amount={props.amount}\n chargePermissionType={props.chargePermissionType}\n recurringMetadata={props.recurringMetadata}\n clientKey={props.clientKey}\n onError={props.onError}\n publicKeyId={props.configuration?.publicKeyId}\n region={props.configuration?.region}\n returnUrl={props.returnUrl}\n ref={orderButtonRef}\n />\n )}\n\n {props.showChangePaymentDetailsButton && (\n <ChangePaymentDetailsButton amazonCheckoutSessionId={props.amazonCheckoutSessionId} amazonRef={window.amazon} />\n )}\n </div>\n );\n }\n\n return (\n <div className=\"adyen-checkout__amazonpay\">\n <AmazonPayButton {...props} showPayButton={this.props.showPayButton} amazonRef={window.amazon} ref={amazonPayButtonRef} />\n </div>\n );\n}\n"],"names":["AmazonPayComponent","props","status","setStatus","useState","amazonPayButtonRef","useRef","orderButtonRef","analytics","useAnalytics","handleLoad","this","getSubmitFunction","current","initCheckout","createOrder","useEffect","src","getAmazonPayUrl","configuration","region","script","Script","component","window","amazon","load","then","remove","h","div","className","Spinner","showSignOutButton","SignOutButton","amazonRef","onSignOut","amazonCheckoutSessionId","showOrderButton","OrderButton","amount","chargePermissionType","recurringMetadata","clientKey","onError","publicKeyId","returnUrl","ref","showChangePaymentDetailsButton","ChangePaymentDetailsButton","AmazonPayButton","showPayButton"],"mappings":"m+BAYe,SAASA,EAAmBC,GACvC,MAAOC,EAAQC,GAAaC,EAAS,WAC/BC,EAAqBC,EAAO,MAC5BC,EAAiBD,EAAO,OACxBE,UAAEA,GAAcC,IAEhBC,EAAa,KACfP,EAAU,UA2Bd,OAxBAQ,KAAKC,kBAAoB,IACjBP,EAAmBQ,SAAWR,EAAmBQ,QAAQC,aAAqB,IAAMT,EAAmBQ,QAAQC,eAC/GP,EAAeM,SAAWN,EAAeM,QAAQE,YAAoB,IAAMR,EAAeM,QAAQE,mBAAtG,EAGJC,EAAU,KACN,MAAMC,EAAMC,EAAgBjB,EAAMkB,cAAcC,QAC1CC,EAAS,IAAIC,EAAO,CACtBL,MACAM,UAAW,YACXf,cASJ,OANIgB,OAAOC,OACPf,IAEKW,EAAOK,OAAOC,KAAKjB,GAGrB,KACHW,EAAOO,WAEZ,CAACpB,IAEW,YAAXN,EAEI2B,EAACC,MAAAA,CAAIC,UAAU,6BACXF,EAACC,MAAAA,CAAIC,UAAU,gFACXF,EAACG,EAAAA,QAMb/B,EAAMgC,kBAEFJ,EAACC,MAAAA,CAAIC,UAAU,6BACXF,EAACK,EAAAA,CAAcC,UAAWX,OAAOC,OAAQW,UAAWnC,EAAMmC,aAKlEnC,EAAMoC,wBAEFR,EAACC,MAAAA,CAAIC,UAAU,6BACV9B,EAAMqC,iBACHT,EAACU,EAAAA,CACGF,wBAAyBpC,EAAMoC,wBAC/BG,OAAQvC,EAAMuC,OACdC,qBAAsBxC,EAAMwC,qBAC5BC,kBAAmBzC,EAAMyC,kBACzBC,UAAW1C,EAAM0C,UACjBC,QAAS3C,EAAM2C,QACfC,YAAgC,QAAnB5C,EAAAA,EAAMkB,qBAANlB,IAAAA,OAAAA,EAAAA,EAAqB4C,YAClCzB,OAA2B,QAAnBnB,EAAAA,EAAMkB,qBAANlB,IAAAA,OAAAA,EAAAA,EAAqBmB,OAC7B0B,UAAW7C,EAAM6C,UACjBC,IAAKxC,IAIZN,EAAM+C,gCACHnB,EAACoB,EAAAA,CAA2BZ,wBAAyBpC,EAAMoC,wBAAyBF,UAAWX,OAAOC,UAOlHI,EAACC,MAAAA,CAAIC,UAAU,6BACXF,EAACqB,EAAAA,oUAAAA,CAAAA,CAAAA,EAAoBjD,GAAAA,CAAOkD,cAAexC,KAAKV,MAAMkD,cAAehB,UAAWX,OAAOC,OAAQsB,IAAK1C,UAhB3EJ,EACLA,CAkBhC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import r from"./components/ApplePayButton.js";import o from"./services/ApplePayService.js";import s from"../../utils/base64.js";import i from"./defaultProps.js";import{httpPost as n}from"../../core/Services/http.js";import{preparePaymentRequest as a}from"./utils/payment-request.js";import p from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as l}from"../tx-variants.js";import{sanitizeResponse as d,verifyPaymentDidNotFail as c}from"../internal/UIElement/utils.js";import{ANALYTICS_RENDERED_STR as h,ANALYTICS_INSTANT_PAYMENT_BUTTON as u,ANALYTICS_SELECTED_STR as y,ANALYTICS_EXPRESS_PAGES_ARRAY as m}from"../../core/Analytics/constants.js";import{resolveSupportedVersion as P}from"./utils/resolve-supported-version.js";import{formatApplePayContactToAdyenAddressFormat as b}from"./utils/format-applepay-contact-to-adyen-format.js";import{mapBrands as f}from"./utils/map-adyen-brands-to-applepay-brands.js";import A from"./services/ApplePaySdkLoader.js";import{detectInIframe as v}from"../../utils/detectInIframe.js";import{AnalyticsInfoEvent as g}from"../../core/Analytics/AnalyticsInfoEvent.js";function S(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function w(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){S(e,t,r[t])})}return e}function O(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}class E extends t{formatProps(e){var t,r,o;const s=(null===(t=e.brands)||void 0===t?void 0:t.length)?f(e.brands):e.supportedNetworks;var i,n;return O(w({},e),{configuration:e.configuration,supportedNetworks:s,buttonLocale:null!==(i=e.buttonLocale)&&void 0!==i?i:null===(r=e.i18n)||void 0===r?void 0:r.locale,totalPriceLabel:e.totalPriceLabel||(null===(o=e.configuration)||void 0===o?void 0:o.merchantName),renderApplePayCodeAs:null!==(n=e.renderApplePayCodeAs)&&void 0!==n?n:v()?"window":"modal"})}formatData(){const{applePayToken:e,billingAddress:t,deliveryAddress:r}=this.state,{isExpress:o}=this.props;return w({paymentMethod:w({type:E.type,applePayToken:e},o&&{subtype:"express"})},t&&{billingAddress:t},r&&{deliveryAddress:r})}submitAnalytics(e){if(e instanceof g&&e.type===h){const{isExpress:t,expressPage:r}=this.props,o=r&&m.includes(r);"boolean"==typeof t&&(e.isExpress=t),!0===t&&o&&(e.expressPage=r)}super.submitAnalytics(e)}get isValid(){return!0}async applePayCapabilities(e){const t=e||this.props.configuration.merchantId;try{var r;return await this.sdkLoader.isSdkLoaded(),await(null===(r=ApplePaySession)||void 0===r?void 0:r.applePayCapabilities(t))}catch(e){throw new p("ERROR","Apple Pay: Error when requesting applePayCapabilities()",{cause:e})}}async isAvailable(){if("https:"!==window.location.protocol)return Promise.reject(new p("IMPLEMENTATION_ERROR","Trying to start an Apple Pay session from an insecure document"));try{var e;return await this.sdkLoader.isSdkLoaded(),(null===(e=ApplePaySession)||void 0===e?void 0:e.canMakePayments())?Promise.resolve():Promise.reject(new p("ERROR","Apple Pay is not available on this device"))}catch(e){return Promise.reject(new p("ERROR","Apple Pay SDK failed to load",{cause:e}))}}defineApplePayVersionNumber(){"https:"===window.location.protocol&&(this.applePayVersionNumber=this.props.version||P(14))}configureApplePayWebOptions(){if(window.ApplePayWebOptions){const{renderApplePayCodeAs:e,onApplePayCodeClose:t}=this.props;window.ApplePayWebOptions.set(w({renderApplePayCodeAs:e},t&&{onApplePayCodeClose:t}))}}startSession(){const{onValidateMerchant:e,onPaymentMethodSelected:t,onShippingMethodSelected:r,onShippingContactSelected:s}=this.props,i=a(w({companyName:this.props.configuration.merchantName,countryCode:this.core.options.countryCode},this.props)),n=new o(i,{version:this.applePayVersionNumber,onError:e=>{this.handleError(new p("ERROR","ApplePay - Something went wrong on ApplePayService",{cause:e}))},onCancel:e=>{this.handleError(new p("CANCEL","ApplePay UI dismissed",{cause:e}))},onPaymentMethodSelected:t,onShippingMethodSelected:r,onShippingContactSelected:s,onValidateMerchant:e||this.validateMerchant,onPaymentAuthorized:(e,t,r)=>{const o=b(r.payment.billingContact),s=b(r.payment.shippingContact,!0);this.setState(w({applePayToken:btoa(JSON.stringify(r.payment.token.paymentData)),authorizedEvent:r},o&&{billingAddress:o},s&&{deliveryAddress:s})),this.handleAuthorization().then(this.makePaymentsCall).then(d).then(c).then(this.collectOrderTrackingDetailsIfNeeded).then(({paymentResponse:t,orderDetails:r})=>(e(w({status:ApplePaySession.STATUS_SUCCESS},r&&{orderDetails:r})),t)).then(e=>{this.handleResponse(e)}).catch(e=>{var r;const o=null==e||null===(r=e.error)||void 0===r?void 0:r.applePayError;t({status:ApplePaySession.STATUS_FAILURE,errors:o?Array.isArray(o)?o:[o]:void 0});const s=O(w({},e),{error:{applePayError:o}});this.handleFailedResult(s)})}});return new Promise((e,t)=>this.props.onClick(e,t)).then(()=>{n.begin()}).catch(()=>({}))}async handleAuthorization(){return new Promise((e,t)=>{this.props.onAuthorized||e();const{authorizedEvent:r,billingAddress:o,deliveryAddress:s}=this.state;this.props.onAuthorized(w({authorizedEvent:r},o&&{billingAddress:o},s&&{deliveryAddress:s}),{resolve:e,reject:t})}).catch(e=>{const t={error:{applePayError:e}};return Promise.reject(t)})}async collectOrderTrackingDetailsIfNeeded(e){return new Promise((e,t)=>{if(!this.props.onOrderTrackingRequest)return e();this.props.onOrderTrackingRequest(e,t)}).then(t=>w({paymentResponse:e},t&&{orderDetails:t})).catch(()=>({paymentResponse:e}))}async validateMerchant(e,t){const{hostname:r}=window.location,{clientKey:o,configuration:i,loadingContext:a,initiative:p}=this.props,{merchantName:
|
|
1
|
+
import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import r from"./components/ApplePayButton.js";import o from"./services/ApplePayService.js";import s from"../../utils/base64.js";import i from"./defaultProps.js";import{httpPost as n}from"../../core/Services/http.js";import{preparePaymentRequest as a}from"./utils/payment-request.js";import p from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as l}from"../tx-variants.js";import{sanitizeResponse as d,verifyPaymentDidNotFail as c}from"../internal/UIElement/utils.js";import{ANALYTICS_RENDERED_STR as h,ANALYTICS_INSTANT_PAYMENT_BUTTON as u,ANALYTICS_SELECTED_STR as y,ANALYTICS_EXPRESS_PAGES_ARRAY as m}from"../../core/Analytics/constants.js";import{resolveSupportedVersion as P}from"./utils/resolve-supported-version.js";import{formatApplePayContactToAdyenAddressFormat as b}from"./utils/format-applepay-contact-to-adyen-format.js";import{mapBrands as f}from"./utils/map-adyen-brands-to-applepay-brands.js";import A from"./services/ApplePaySdkLoader.js";import{detectInIframe as v}from"../../utils/detectInIframe.js";import{AnalyticsInfoEvent as g}from"../../core/Analytics/AnalyticsInfoEvent.js";function S(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function w(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){S(e,t,r[t])})}return e}function O(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}class E extends t{formatProps(e){var t,r,o;const s=(null===(t=e.brands)||void 0===t?void 0:t.length)?f(e.brands):e.supportedNetworks;var i,n;return O(w({},e),{configuration:e.configuration,supportedNetworks:s,buttonLocale:null!==(i=e.buttonLocale)&&void 0!==i?i:null===(r=e.i18n)||void 0===r?void 0:r.locale,totalPriceLabel:e.totalPriceLabel||(null===(o=e.configuration)||void 0===o?void 0:o.merchantName),renderApplePayCodeAs:null!==(n=e.renderApplePayCodeAs)&&void 0!==n?n:v()?"window":"modal"})}formatData(){const{applePayToken:e,billingAddress:t,deliveryAddress:r}=this.state,{isExpress:o}=this.props;return w({paymentMethod:w({type:E.type,applePayToken:e},o&&{subtype:"express"})},t&&{billingAddress:t},r&&{deliveryAddress:r})}submitAnalytics(e){if(e instanceof g&&e.type===h){const{isExpress:t,expressPage:r}=this.props,o=r&&m.includes(r);"boolean"==typeof t&&(e.isExpress=t),!0===t&&o&&(e.expressPage=r)}super.submitAnalytics(e)}get isValid(){return!0}async applePayCapabilities(e){const t=e||this.props.configuration.merchantId;try{var r;return await this.sdkLoader.isSdkLoaded(),await(null===(r=ApplePaySession)||void 0===r?void 0:r.applePayCapabilities(t))}catch(e){throw new p("ERROR","Apple Pay: Error when requesting applePayCapabilities()",{cause:e})}}async isAvailable(){if("https:"!==window.location.protocol)return Promise.reject(new p("IMPLEMENTATION_ERROR","Trying to start an Apple Pay session from an insecure document"));try{var e;return await this.sdkLoader.isSdkLoaded(),(null===(e=ApplePaySession)||void 0===e?void 0:e.canMakePayments())?Promise.resolve():Promise.reject(new p("ERROR","Apple Pay is not available on this device"))}catch(e){return Promise.reject(new p("ERROR","Apple Pay SDK failed to load",{cause:e}))}}defineApplePayVersionNumber(){"https:"===window.location.protocol&&(this.applePayVersionNumber=this.props.version||P(14))}configureApplePayWebOptions(){if(window.ApplePayWebOptions){const{renderApplePayCodeAs:e,onApplePayCodeClose:t}=this.props;window.ApplePayWebOptions.set(w({renderApplePayCodeAs:e},t&&{onApplePayCodeClose:t}))}}startSession(){const{onValidateMerchant:e,onPaymentMethodSelected:t,onShippingMethodSelected:r,onShippingContactSelected:s}=this.props,i=a(w({companyName:this.props.configuration.merchantName,countryCode:this.core.options.countryCode},this.props)),n=new o(i,{version:this.applePayVersionNumber,onError:e=>{this.handleError(new p("ERROR","ApplePay - Something went wrong on ApplePayService",{cause:e}))},onCancel:e=>{this.handleError(new p("CANCEL","ApplePay UI dismissed",{cause:e}))},onPaymentMethodSelected:t,onShippingMethodSelected:r,onShippingContactSelected:s,onValidateMerchant:e||this.validateMerchant,onPaymentAuthorized:(e,t,r)=>{const o=b(r.payment.billingContact),s=b(r.payment.shippingContact,!0);this.setState(w({applePayToken:btoa(JSON.stringify(r.payment.token.paymentData)),authorizedEvent:r},o&&{billingAddress:o},s&&{deliveryAddress:s})),this.handleAuthorization().then(this.makePaymentsCall).then(d).then(c).then(this.collectOrderTrackingDetailsIfNeeded).then(({paymentResponse:t,orderDetails:r})=>(e(w({status:ApplePaySession.STATUS_SUCCESS},r&&{orderDetails:r})),t)).then(e=>{this.handleResponse(e)}).catch(e=>{var r;const o=null==e||null===(r=e.error)||void 0===r?void 0:r.applePayError;t({status:ApplePaySession.STATUS_FAILURE,errors:o?Array.isArray(o)?o:[o]:void 0});const s=O(w({},e),{error:{applePayError:o}});this.handleFailedResult(s)})}});return new Promise((e,t)=>this.props.onClick(e,t)).then(()=>{n.begin()}).catch(()=>({}))}async handleAuthorization(){return new Promise((e,t)=>{this.props.onAuthorized||e();const{authorizedEvent:r,billingAddress:o,deliveryAddress:s}=this.state;this.props.onAuthorized(w({authorizedEvent:r},o&&{billingAddress:o},s&&{deliveryAddress:s}),{resolve:e,reject:t})}).catch(e=>{const t={error:{applePayError:e}};return Promise.reject(t)})}async collectOrderTrackingDetailsIfNeeded(e){return new Promise((e,t)=>{if(!this.props.onOrderTrackingRequest)return e();this.props.onOrderTrackingRequest(e,t)}).then(t=>w({paymentResponse:e},t&&{orderDetails:t})).catch(()=>({paymentResponse:e}))}async validateMerchant(e,t){const{hostname:r}=window.location,{clientKey:o,configuration:i,loadingContext:a,initiative:p,domainName:l}=this.props,{merchantName:d,merchantId:c}=i,h={loadingContext:a,path:`v1/applePay/sessions?clientKey=${o}`},u={displayName:d,domainName:l||r,initiative:p,merchantIdentifier:c};try{const r=await n(h,u),o=s.decode(r.data);if(o.success){e(JSON.parse(o.data))}else t("Could not decode Apple Pay session")}catch(e){t("Could not get Apple Pay session")}}render(){return this.props.showPayButton?e(r,{buttonStyle:this.props.buttonColor,buttonType:this.props.buttonType,buttonLocale:this.props.buttonLocale,onClick:this.submit}):null}constructor(e,t){super(e,t),S(this,"sdkLoader",void 0),S(this,"applePayVersionNumber",void 0),S(this,"submit",()=>{if(this.props.isInstantPayment){const e=new g({type:y,target:u});this.submitAnalytics(e)}this.startSession()});const{isExpress:r,onShippingContactSelected:o,onShippingMethodSelected:s}=this.props;if(!1===r&&(o||s))throw new p("IMPLEMENTATION_ERROR",'ApplePay - You must set "isExpress" flag to "true" in order to use "onShippingContactSelected" and/or "onShippingMethodSelected" callbacks');this.startSession=this.startSession.bind(this),this.submit=this.submit.bind(this),this.validateMerchant=this.validateMerchant.bind(this),this.collectOrderTrackingDetailsIfNeeded=this.collectOrderTrackingDetailsIfNeeded.bind(this),this.handleAuthorization=this.handleAuthorization.bind(this),this.defineApplePayVersionNumber=this.defineApplePayVersionNumber.bind(this),this.configureApplePayWebOptions=this.configureApplePayWebOptions.bind(this),this.sdkLoader=new A({analytics:this.analytics}),this.sdkLoader.load().then(this.defineApplePayVersionNumber).then(this.configureApplePayWebOptions).catch(e=>{this.handleError(e)})}}S(E,"type",l.applepay),S(E,"defaultProps",i);export{E as default};
|
|
2
2
|
//# sourceMappingURL=ApplePay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplePay.js","sources":["../../../../src/components/ApplePay/ApplePay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport ApplePayButton from './components/ApplePayButton';\nimport ApplePayService from './services/ApplePayService';\nimport base64 from '../../utils/base64';\nimport defaultProps from './defaultProps';\nimport { httpPost } from '../../core/Services/http';\nimport { preparePaymentRequest } from './utils/payment-request';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { DecodeObject } from '../../types/global-types';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport {\n ANALYTICS_EXPRESS_PAGES_ARRAY,\n ANALYTICS_INSTANT_PAYMENT_BUTTON,\n ANALYTICS_RENDERED_STR,\n ANALYTICS_SELECTED_STR\n} from '../../core/Analytics/constants';\nimport { resolveSupportedVersion } from './utils/resolve-supported-version';\nimport { formatApplePayContactToAdyenAddressFormat } from './utils/format-applepay-contact-to-adyen-format';\nimport { mapBrands } from './utils/map-adyen-brands-to-applepay-brands';\nimport ApplePaySdkLoader from './services/ApplePaySdkLoader';\nimport { detectInIframe } from '../../utils/detectInIframe';\nimport type { ApplePayConfiguration, ApplePayElementData, ApplePayPaymentOrderDetails, ApplePaySessionRequest } from './types';\nimport type { ICore } from '../../core/types';\nimport type { PaymentResponseData, RawPaymentResponse } from '../../types/global-types';\nimport { AnalyticsEvent } from '../../core/Analytics/AnalyticsEvent';\nimport { AnalyticsInfoEvent } from '../../core/Analytics/AnalyticsInfoEvent';\n\nconst LATEST_APPLE_PAY_VERSION = 14;\n\nclass ApplePayElement extends UIElement<ApplePayConfiguration> {\n public static type = TxVariants.applepay;\n\n protected static defaultProps = defaultProps;\n\n private sdkLoader: ApplePaySdkLoader;\n private applePayVersionNumber: number = undefined;\n\n constructor(checkout: ICore, props?: ApplePayConfiguration) {\n super(checkout, props);\n\n const { isExpress, onShippingContactSelected, onShippingMethodSelected } = this.props;\n\n if (isExpress === false && (onShippingContactSelected || onShippingMethodSelected)) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'ApplePay - You must set \"isExpress\" flag to \"true\" in order to use \"onShippingContactSelected\" and/or \"onShippingMethodSelected\" callbacks'\n );\n }\n\n this.startSession = this.startSession.bind(this);\n this.submit = this.submit.bind(this);\n this.validateMerchant = this.validateMerchant.bind(this);\n this.collectOrderTrackingDetailsIfNeeded = this.collectOrderTrackingDetailsIfNeeded.bind(this);\n this.handleAuthorization = this.handleAuthorization.bind(this);\n this.defineApplePayVersionNumber = this.defineApplePayVersionNumber.bind(this);\n this.configureApplePayWebOptions = this.configureApplePayWebOptions.bind(this);\n\n this.sdkLoader = new ApplePaySdkLoader();\n\n void this.sdkLoader\n .load()\n .then(this.defineApplePayVersionNumber)\n .then(this.configureApplePayWebOptions)\n .catch(error => {\n this.handleError(error);\n });\n }\n\n /**\n * Formats the component props\n */\n protected override formatProps(props: ApplePayConfiguration): ApplePayConfiguration {\n // @ts-ignore TODO: Fix brands prop\n const supportedNetworks = props.brands?.length ? mapBrands(props.brands) : props.supportedNetworks;\n\n return {\n ...props,\n configuration: props.configuration,\n supportedNetworks,\n buttonLocale: props.buttonLocale ?? props.i18n?.locale,\n totalPriceLabel: props.totalPriceLabel || props.configuration?.merchantName,\n renderApplePayCodeAs: props.renderApplePayCodeAs ?? (detectInIframe() ? 'window' : 'modal')\n };\n }\n\n /**\n * Formats the component data output\n */\n protected override formatData(): ApplePayElementData {\n const { applePayToken, billingAddress, deliveryAddress } = this.state;\n const { isExpress } = this.props;\n\n return {\n paymentMethod: {\n type: ApplePayElement.type,\n applePayToken,\n ...(isExpress && { subtype: 'express' })\n },\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n };\n }\n\n protected submitAnalytics(analyticsObj: AnalyticsEvent) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n if (analyticsObj instanceof AnalyticsInfoEvent && analyticsObj.type === ANALYTICS_RENDERED_STR) {\n const { isExpress, expressPage } = this.props;\n const hasExpressPage = expressPage && ANALYTICS_EXPRESS_PAGES_ARRAY.includes(expressPage);\n\n if (typeof isExpress === 'boolean') {\n analyticsObj.isExpress = isExpress;\n }\n\n if (isExpress === true && hasExpressPage) {\n analyticsObj.expressPage = expressPage; // We only care about the expressPage value if isExpress is true\n }\n }\n\n super.submitAnalytics(analyticsObj);\n }\n\n public override submit = (): void => {\n // Analytics\n if (this.props.isInstantPayment) {\n const event = new AnalyticsInfoEvent({\n type: ANALYTICS_SELECTED_STR,\n target: ANALYTICS_INSTANT_PAYMENT_BUTTON\n });\n this.submitAnalytics(event);\n }\n void this.startSession();\n };\n\n public get isValid(): boolean {\n return true;\n }\n\n /**\n * This API is only intended for upstreaming or defaulting to Apple Pay, all other scenarios should continue to\n * use canMakePayments(). For Safari browsers, this API will indicate whether there is a card available to make\n * payments. For third-party browsers a new status of paymentCredentialStatusUnknown will be returned. This does\n * not mean there are no cards available, it means the status cannot be determined and as such defaulting\n * and upstreaming should still be considered.\n *\n * {@link https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/4440085-applepaycapabilities}\n * @param merchantIdentifier\n */\n public async applePayCapabilities(merchantIdentifier?: string): Promise<ApplePayJS.PaymentCredentialStatusResponse> {\n const identifier = merchantIdentifier || this.props.configuration.merchantId;\n\n try {\n await this.sdkLoader.isSdkLoaded();\n return await ApplePaySession?.applePayCapabilities(identifier);\n } catch (error) {\n throw new AdyenCheckoutError('ERROR', 'Apple Pay: Error when requesting applePayCapabilities()', { cause: error });\n }\n }\n\n /**\n * Determines if Apple Pay component can be displayed or not\n */\n public override async isAvailable(): Promise<void> {\n if (window.location.protocol !== 'https:') {\n return Promise.reject(new AdyenCheckoutError('IMPLEMENTATION_ERROR', 'Trying to start an Apple Pay session from an insecure document'));\n }\n\n try {\n await this.sdkLoader.isSdkLoaded();\n\n if (ApplePaySession?.canMakePayments()) {\n return Promise.resolve();\n }\n\n return Promise.reject(new AdyenCheckoutError('ERROR', 'Apple Pay is not available on this device'));\n } catch (error) {\n return Promise.reject(new AdyenCheckoutError('ERROR', 'Apple Pay SDK failed to load', { cause: error }));\n }\n }\n\n /**\n * Sets the Apple Pay version available for the shopper.\n * This code needs to be executed once the Apple Pay SDK is fully loaded\n * @private\n */\n private defineApplePayVersionNumber() {\n if (window.location.protocol !== 'https:') return;\n this.applePayVersionNumber = this.props.version || resolveSupportedVersion(LATEST_APPLE_PAY_VERSION);\n }\n\n /**\n * Sets the configuration/callbacks that pertain to the Apple Pay code overlay/modal.\n * @private\n */\n private configureApplePayWebOptions() {\n if (window.ApplePayWebOptions) {\n const { renderApplePayCodeAs, onApplePayCodeClose } = this.props;\n\n window.ApplePayWebOptions.set({\n renderApplePayCodeAs,\n ...(onApplePayCodeClose && { onApplePayCodeClose })\n });\n }\n }\n\n private startSession() {\n const { onValidateMerchant, onPaymentMethodSelected, onShippingMethodSelected, onShippingContactSelected } = this.props;\n\n const paymentRequest = preparePaymentRequest({\n companyName: this.props.configuration.merchantName,\n countryCode: this.core.options.countryCode,\n ...this.props\n });\n\n const session = new ApplePayService(paymentRequest, {\n version: this.applePayVersionNumber,\n onError: (error: unknown) => {\n this.handleError(\n new AdyenCheckoutError('ERROR', 'ApplePay - Something went wrong on ApplePayService', {\n cause: error\n })\n );\n },\n onCancel: event => {\n this.handleError(new AdyenCheckoutError('CANCEL', 'ApplePay UI dismissed', { cause: event }));\n },\n onPaymentMethodSelected,\n onShippingMethodSelected,\n onShippingContactSelected,\n onValidateMerchant: onValidateMerchant || this.validateMerchant,\n onPaymentAuthorized: (resolve, reject, event) => {\n const billingAddress = formatApplePayContactToAdyenAddressFormat(event.payment.billingContact);\n const deliveryAddress = formatApplePayContactToAdyenAddressFormat(event.payment.shippingContact, true);\n\n this.setState({\n applePayToken: btoa(JSON.stringify(event.payment.token.paymentData)),\n authorizedEvent: event,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n this.handleAuthorization()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then(this.collectOrderTrackingDetailsIfNeeded)\n .then(({ paymentResponse, orderDetails }) => {\n resolve({\n status: ApplePaySession.STATUS_SUCCESS,\n ...(orderDetails && { orderDetails })\n });\n return paymentResponse;\n })\n .then(paymentResponse => {\n this.handleResponse(paymentResponse);\n })\n .catch((paymentResponse?: RawPaymentResponse) => {\n const errors = paymentResponse?.error?.applePayError;\n\n reject({\n status: ApplePaySession.STATUS_FAILURE,\n errors: errors ? (Array.isArray(errors) ? errors : [errors]) : undefined\n });\n\n const responseWithError: RawPaymentResponse = {\n ...paymentResponse,\n error: {\n applePayError: errors\n }\n };\n\n this.handleFailedResult(responseWithError);\n });\n }\n });\n\n return new Promise((resolve, reject) => this.props.onClick(resolve, reject))\n .then(() => {\n session.begin();\n })\n .catch(() => ({\n // Swallow exception triggered by onClick reject\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\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?: ApplePayJS.ApplePayError) => {\n // Format error in a way that the 'catch' of the 'onPaymentAuthorize' block accepts it\n const data = { error: { applePayError: error } };\n return Promise.reject(data);\n });\n }\n\n /**\n * Verify if the 'onOrderTrackingRequest' is provided. If so, triggers the callback expecting an\n * Apple Pay order details back\n *\n * @private\n */\n private async collectOrderTrackingDetailsIfNeeded(\n paymentResponse: PaymentResponseData\n ): Promise<{ orderDetails?: ApplePayPaymentOrderDetails; paymentResponse: PaymentResponseData }> {\n return new Promise<ApplePayPaymentOrderDetails | void>((resolve, reject) => {\n if (!this.props.onOrderTrackingRequest) {\n return resolve();\n }\n\n this.props.onOrderTrackingRequest(resolve, reject);\n })\n .then(orderDetails => {\n return {\n paymentResponse,\n ...(orderDetails && { orderDetails })\n };\n })\n .catch(() => {\n return { paymentResponse };\n });\n }\n\n private async validateMerchant(resolve, reject) {\n const { hostname: domainName } = window.location;\n const { clientKey, configuration, loadingContext, initiative } = this.props;\n const { merchantName, merchantId } = configuration;\n const path = `v1/applePay/sessions?clientKey=${clientKey}`;\n const options = { loadingContext, path };\n const request: ApplePaySessionRequest = {\n displayName: merchantName,\n domainName,\n initiative,\n merchantIdentifier: merchantId\n };\n\n try {\n const response = await httpPost(options, request);\n const decodedData: DecodeObject = base64.decode(response.data);\n if (!decodedData.success) {\n reject('Could not decode Apple Pay session');\n } else {\n const session = JSON.parse(decodedData.data);\n resolve(session);\n }\n } catch (e) {\n reject('Could not get Apple Pay session');\n }\n }\n\n render() {\n if (!this.props.showPayButton) {\n return null;\n }\n\n return (\n <ApplePayButton\n buttonStyle={this.props.buttonColor}\n buttonType={this.props.buttonType}\n buttonLocale={this.props.buttonLocale}\n onClick={this.submit}\n />\n );\n }\n}\n\nexport default ApplePayElement;\n"],"names":["ApplePayElement","UIElement","formatProps","props","supportedNetworks","brands","length","mapBrands","_object_spread_props","_object_spread","configuration","buttonLocale","i18n","locale","totalPriceLabel","merchantName","renderApplePayCodeAs","detectInIframe","formatData","applePayToken","billingAddress","deliveryAddress","this","state","isExpress","paymentMethod","type","subtype","submitAnalytics","analyticsObj","AnalyticsInfoEvent","ANALYTICS_RENDERED_STR","expressPage","hasExpressPage","ANALYTICS_EXPRESS_PAGES_ARRAY","includes","super","isValid","applePayCapabilities","merchantIdentifier","identifier","merchantId","ApplePaySession","sdkLoader","isSdkLoaded","error","AdyenCheckoutError","cause","isAvailable","window","location","protocol","Promise","reject","canMakePayments","resolve","defineApplePayVersionNumber","applePayVersionNumber","version","resolveSupportedVersion","configureApplePayWebOptions","ApplePayWebOptions","onApplePayCodeClose","set","startSession","onValidateMerchant","onPaymentMethodSelected","onShippingMethodSelected","onShippingContactSelected","paymentRequest","preparePaymentRequest","companyName","countryCode","core","options","session","ApplePayService","onError","handleError","onCancel","event","validateMerchant","onPaymentAuthorized","formatApplePayContactToAdyenAddressFormat","payment","billingContact","shippingContact","setState","btoa","JSON","stringify","token","paymentData","authorizedEvent","handleAuthorization","then","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","collectOrderTrackingDetailsIfNeeded","paymentResponse","orderDetails","status","STATUS_SUCCESS","handleResponse","catch","errors","applePayError","STATUS_FAILURE","Array","isArray","undefined","responseWithError","handleFailedResult","onClick","begin","onAuthorized","data","onOrderTrackingRequest","hostname","domainName","clientKey","loadingContext","initiative","path","request","displayName","response","httpPost","decodedData","base64","decode","success","parse","e","render","showPayButton","h","ApplePayButton","buttonStyle","buttonColor","buttonType","submit","constructor","checkout","_define_property","isInstantPayment","ANALYTICS_SELECTED_STR","target","ANALYTICS_INSTANT_PAYMENT_BUTTON","bind","ApplePaySdkLoader","load","TxVariants","applepay","defaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ApplePay.js","sources":["../../../../src/components/ApplePay/ApplePay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport ApplePayButton from './components/ApplePayButton';\nimport ApplePayService from './services/ApplePayService';\nimport base64 from '../../utils/base64';\nimport defaultProps from './defaultProps';\nimport { httpPost } from '../../core/Services/http';\nimport { preparePaymentRequest } from './utils/payment-request';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { DecodeObject } from '../../types/global-types';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport {\n ANALYTICS_EXPRESS_PAGES_ARRAY,\n ANALYTICS_INSTANT_PAYMENT_BUTTON,\n ANALYTICS_RENDERED_STR,\n ANALYTICS_SELECTED_STR\n} from '../../core/Analytics/constants';\nimport { resolveSupportedVersion } from './utils/resolve-supported-version';\nimport { formatApplePayContactToAdyenAddressFormat } from './utils/format-applepay-contact-to-adyen-format';\nimport { mapBrands } from './utils/map-adyen-brands-to-applepay-brands';\nimport ApplePaySdkLoader from './services/ApplePaySdkLoader';\nimport { detectInIframe } from '../../utils/detectInIframe';\nimport type { ApplePayConfiguration, ApplePayElementData, ApplePayPaymentOrderDetails, ApplePaySessionRequest } from './types';\nimport type { ICore } from '../../core/types';\nimport type { PaymentResponseData, RawPaymentResponse } from '../../types/global-types';\nimport { AnalyticsEvent } from '../../core/Analytics/AnalyticsEvent';\nimport { AnalyticsInfoEvent } from '../../core/Analytics/AnalyticsInfoEvent';\n\nconst LATEST_APPLE_PAY_VERSION = 14;\n\nclass ApplePayElement extends UIElement<ApplePayConfiguration> {\n public static type = TxVariants.applepay;\n\n protected static defaultProps = defaultProps;\n\n private sdkLoader: ApplePaySdkLoader;\n private applePayVersionNumber: number = undefined;\n\n constructor(checkout: ICore, props?: ApplePayConfiguration) {\n super(checkout, props);\n\n const { isExpress, onShippingContactSelected, onShippingMethodSelected } = this.props;\n\n if (isExpress === false && (onShippingContactSelected || onShippingMethodSelected)) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'ApplePay - You must set \"isExpress\" flag to \"true\" in order to use \"onShippingContactSelected\" and/or \"onShippingMethodSelected\" callbacks'\n );\n }\n\n this.startSession = this.startSession.bind(this);\n this.submit = this.submit.bind(this);\n this.validateMerchant = this.validateMerchant.bind(this);\n this.collectOrderTrackingDetailsIfNeeded = this.collectOrderTrackingDetailsIfNeeded.bind(this);\n this.handleAuthorization = this.handleAuthorization.bind(this);\n this.defineApplePayVersionNumber = this.defineApplePayVersionNumber.bind(this);\n this.configureApplePayWebOptions = this.configureApplePayWebOptions.bind(this);\n\n this.sdkLoader = new ApplePaySdkLoader({ analytics: this.analytics });\n\n void this.sdkLoader\n .load()\n .then(this.defineApplePayVersionNumber)\n .then(this.configureApplePayWebOptions)\n .catch(error => {\n this.handleError(error);\n });\n }\n\n /**\n * Formats the component props\n */\n protected override formatProps(props: ApplePayConfiguration): ApplePayConfiguration {\n // @ts-ignore TODO: Fix brands prop\n const supportedNetworks = props.brands?.length ? mapBrands(props.brands) : props.supportedNetworks;\n\n return {\n ...props,\n configuration: props.configuration,\n supportedNetworks,\n buttonLocale: props.buttonLocale ?? props.i18n?.locale,\n totalPriceLabel: props.totalPriceLabel || props.configuration?.merchantName,\n renderApplePayCodeAs: props.renderApplePayCodeAs ?? (detectInIframe() ? 'window' : 'modal')\n };\n }\n\n /**\n * Formats the component data output\n */\n protected override formatData(): ApplePayElementData {\n const { applePayToken, billingAddress, deliveryAddress } = this.state;\n const { isExpress } = this.props;\n\n return {\n paymentMethod: {\n type: ApplePayElement.type,\n applePayToken,\n ...(isExpress && { subtype: 'express' })\n },\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n };\n }\n\n protected submitAnalytics(analyticsObj: AnalyticsEvent) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n if (analyticsObj instanceof AnalyticsInfoEvent && analyticsObj.type === ANALYTICS_RENDERED_STR) {\n const { isExpress, expressPage } = this.props;\n const hasExpressPage = expressPage && ANALYTICS_EXPRESS_PAGES_ARRAY.includes(expressPage);\n\n if (typeof isExpress === 'boolean') {\n analyticsObj.isExpress = isExpress;\n }\n\n if (isExpress === true && hasExpressPage) {\n analyticsObj.expressPage = expressPage; // We only care about the expressPage value if isExpress is true\n }\n }\n\n super.submitAnalytics(analyticsObj);\n }\n\n public override submit = (): void => {\n // Analytics\n if (this.props.isInstantPayment) {\n const event = new AnalyticsInfoEvent({\n type: ANALYTICS_SELECTED_STR,\n target: ANALYTICS_INSTANT_PAYMENT_BUTTON\n });\n this.submitAnalytics(event);\n }\n void this.startSession();\n };\n\n public get isValid(): boolean {\n return true;\n }\n\n /**\n * This API is only intended for upstreaming or defaulting to Apple Pay, all other scenarios should continue to\n * use canMakePayments(). For Safari browsers, this API will indicate whether there is a card available to make\n * payments. For third-party browsers a new status of paymentCredentialStatusUnknown will be returned. This does\n * not mean there are no cards available, it means the status cannot be determined and as such defaulting\n * and upstreaming should still be considered.\n *\n * {@link https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/4440085-applepaycapabilities}\n * @param merchantIdentifier\n */\n public async applePayCapabilities(merchantIdentifier?: string): Promise<ApplePayJS.PaymentCredentialStatusResponse> {\n const identifier = merchantIdentifier || this.props.configuration.merchantId;\n\n try {\n await this.sdkLoader.isSdkLoaded();\n return await ApplePaySession?.applePayCapabilities(identifier);\n } catch (error) {\n throw new AdyenCheckoutError('ERROR', 'Apple Pay: Error when requesting applePayCapabilities()', { cause: error });\n }\n }\n\n /**\n * Determines if Apple Pay component can be displayed or not\n */\n public override async isAvailable(): Promise<void> {\n if (window.location.protocol !== 'https:') {\n return Promise.reject(new AdyenCheckoutError('IMPLEMENTATION_ERROR', 'Trying to start an Apple Pay session from an insecure document'));\n }\n\n try {\n await this.sdkLoader.isSdkLoaded();\n\n if (ApplePaySession?.canMakePayments()) {\n return Promise.resolve();\n }\n\n return Promise.reject(new AdyenCheckoutError('ERROR', 'Apple Pay is not available on this device'));\n } catch (error) {\n return Promise.reject(new AdyenCheckoutError('ERROR', 'Apple Pay SDK failed to load', { cause: error }));\n }\n }\n\n /**\n * Sets the Apple Pay version available for the shopper.\n * This code needs to be executed once the Apple Pay SDK is fully loaded\n * @private\n */\n private defineApplePayVersionNumber() {\n if (window.location.protocol !== 'https:') return;\n this.applePayVersionNumber = this.props.version || resolveSupportedVersion(LATEST_APPLE_PAY_VERSION);\n }\n\n /**\n * Sets the configuration/callbacks that pertain to the Apple Pay code overlay/modal.\n * @private\n */\n private configureApplePayWebOptions() {\n if (window.ApplePayWebOptions) {\n const { renderApplePayCodeAs, onApplePayCodeClose } = this.props;\n\n window.ApplePayWebOptions.set({\n renderApplePayCodeAs,\n ...(onApplePayCodeClose && { onApplePayCodeClose })\n });\n }\n }\n\n private startSession() {\n const { onValidateMerchant, onPaymentMethodSelected, onShippingMethodSelected, onShippingContactSelected } = this.props;\n\n const paymentRequest = preparePaymentRequest({\n companyName: this.props.configuration.merchantName,\n countryCode: this.core.options.countryCode,\n ...this.props\n });\n\n const session = new ApplePayService(paymentRequest, {\n version: this.applePayVersionNumber,\n onError: (error: unknown) => {\n this.handleError(\n new AdyenCheckoutError('ERROR', 'ApplePay - Something went wrong on ApplePayService', {\n cause: error\n })\n );\n },\n onCancel: event => {\n this.handleError(new AdyenCheckoutError('CANCEL', 'ApplePay UI dismissed', { cause: event }));\n },\n onPaymentMethodSelected,\n onShippingMethodSelected,\n onShippingContactSelected,\n onValidateMerchant: onValidateMerchant || this.validateMerchant,\n onPaymentAuthorized: (resolve, reject, event) => {\n const billingAddress = formatApplePayContactToAdyenAddressFormat(event.payment.billingContact);\n const deliveryAddress = formatApplePayContactToAdyenAddressFormat(event.payment.shippingContact, true);\n\n this.setState({\n applePayToken: btoa(JSON.stringify(event.payment.token.paymentData)),\n authorizedEvent: event,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n this.handleAuthorization()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then(this.collectOrderTrackingDetailsIfNeeded)\n .then(({ paymentResponse, orderDetails }) => {\n resolve({\n status: ApplePaySession.STATUS_SUCCESS,\n ...(orderDetails && { orderDetails })\n });\n return paymentResponse;\n })\n .then(paymentResponse => {\n this.handleResponse(paymentResponse);\n })\n .catch((paymentResponse?: RawPaymentResponse) => {\n const errors = paymentResponse?.error?.applePayError;\n\n reject({\n status: ApplePaySession.STATUS_FAILURE,\n errors: errors ? (Array.isArray(errors) ? errors : [errors]) : undefined\n });\n\n const responseWithError: RawPaymentResponse = {\n ...paymentResponse,\n error: {\n applePayError: errors\n }\n };\n\n this.handleFailedResult(responseWithError);\n });\n }\n });\n\n return new Promise((resolve, reject) => this.props.onClick(resolve, reject))\n .then(() => {\n session.begin();\n })\n .catch(() => ({\n // Swallow exception triggered by onClick reject\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\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?: ApplePayJS.ApplePayError) => {\n // Format error in a way that the 'catch' of the 'onPaymentAuthorize' block accepts it\n const data = { error: { applePayError: error } };\n return Promise.reject(data);\n });\n }\n\n /**\n * Verify if the 'onOrderTrackingRequest' is provided. If so, triggers the callback expecting an\n * Apple Pay order details back\n *\n * @private\n */\n private async collectOrderTrackingDetailsIfNeeded(\n paymentResponse: PaymentResponseData\n ): Promise<{ orderDetails?: ApplePayPaymentOrderDetails; paymentResponse: PaymentResponseData }> {\n return new Promise<ApplePayPaymentOrderDetails | void>((resolve, reject) => {\n if (!this.props.onOrderTrackingRequest) {\n return resolve();\n }\n\n this.props.onOrderTrackingRequest(resolve, reject);\n })\n .then(orderDetails => {\n return {\n paymentResponse,\n ...(orderDetails && { orderDetails })\n };\n })\n .catch(() => {\n return { paymentResponse };\n });\n }\n\n private async validateMerchant(resolve, reject) {\n const { hostname } = window.location;\n const { clientKey, configuration, loadingContext, initiative, domainName } = this.props;\n const { merchantName, merchantId } = configuration;\n const path = `v1/applePay/sessions?clientKey=${clientKey}`;\n const options = { loadingContext, path };\n const request: ApplePaySessionRequest = {\n displayName: merchantName,\n domainName: domainName || hostname,\n initiative,\n merchantIdentifier: merchantId\n };\n\n try {\n const response = await httpPost(options, request);\n const decodedData: DecodeObject = base64.decode(response.data);\n if (!decodedData.success) {\n reject('Could not decode Apple Pay session');\n } else {\n const session = JSON.parse(decodedData.data);\n resolve(session);\n }\n } catch (e) {\n reject('Could not get Apple Pay session');\n }\n }\n\n render() {\n if (!this.props.showPayButton) {\n return null;\n }\n\n return (\n <ApplePayButton\n buttonStyle={this.props.buttonColor}\n buttonType={this.props.buttonType}\n buttonLocale={this.props.buttonLocale}\n onClick={this.submit}\n />\n );\n }\n}\n\nexport default ApplePayElement;\n"],"names":["ApplePayElement","UIElement","formatProps","props","supportedNetworks","brands","length","mapBrands","_object_spread_props","_object_spread","configuration","buttonLocale","i18n","locale","totalPriceLabel","merchantName","renderApplePayCodeAs","detectInIframe","formatData","applePayToken","billingAddress","deliveryAddress","this","state","isExpress","paymentMethod","type","subtype","submitAnalytics","analyticsObj","AnalyticsInfoEvent","ANALYTICS_RENDERED_STR","expressPage","hasExpressPage","ANALYTICS_EXPRESS_PAGES_ARRAY","includes","super","isValid","applePayCapabilities","merchantIdentifier","identifier","merchantId","ApplePaySession","sdkLoader","isSdkLoaded","error","AdyenCheckoutError","cause","isAvailable","window","location","protocol","Promise","reject","canMakePayments","resolve","defineApplePayVersionNumber","applePayVersionNumber","version","resolveSupportedVersion","configureApplePayWebOptions","ApplePayWebOptions","onApplePayCodeClose","set","startSession","onValidateMerchant","onPaymentMethodSelected","onShippingMethodSelected","onShippingContactSelected","paymentRequest","preparePaymentRequest","companyName","countryCode","core","options","session","ApplePayService","onError","handleError","onCancel","event","validateMerchant","onPaymentAuthorized","formatApplePayContactToAdyenAddressFormat","payment","billingContact","shippingContact","setState","btoa","JSON","stringify","token","paymentData","authorizedEvent","handleAuthorization","then","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","collectOrderTrackingDetailsIfNeeded","paymentResponse","orderDetails","status","STATUS_SUCCESS","handleResponse","catch","errors","applePayError","STATUS_FAILURE","Array","isArray","undefined","responseWithError","handleFailedResult","onClick","begin","onAuthorized","data","onOrderTrackingRequest","hostname","clientKey","loadingContext","initiative","domainName","path","request","displayName","response","httpPost","decodedData","base64","decode","success","parse","e","render","showPayButton","h","ApplePayButton","buttonStyle","buttonColor","buttonType","submit","constructor","checkout","_define_property","isInstantPayment","ANALYTICS_SELECTED_STR","target","ANALYTICS_INSTANT_PAYMENT_BUTTON","bind","ApplePaySdkLoader","analytics","load","TxVariants","applepay","defaultProps"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import s from"../../../utils/Script.js";import i from"../../../core/Errors/AdyenCheckoutError.js";function a(s,i,a){return i in s?Object.defineProperty(s,i,{value:a,enumerable:!0,configurable:!0,writable:!0}):s[i]=a,s}const o="https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js";class t{async load(){try{var a;const i=new s({src:o,component:"applepay",attributes:{crossOrigin:"anonymous"},analytics:this.analytics});return this.sdkLoadingPromise=i.load(),await this.sdkLoadingPromise,null===(a=window)||void 0===a?void 0:a.ApplePaySession}catch(s){throw new i("SCRIPT_ERROR","ApplePaySDK failed to load",{cause:s})}}isSdkLoaded(){return void 0===this.sdkLoadingPromise?Promise.reject():this.sdkLoadingPromise}constructor({analytics:s}){a(this,"sdkLoadingPromise",void 0),a(this,"analytics",void 0),this.analytics=s}}export{o as APPLE_PAY_SDK_URL,t as default};
|
|
2
2
|
//# sourceMappingURL=ApplePaySdkLoader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplePaySdkLoader.js","sources":["../../../../../src/components/ApplePay/services/ApplePaySdkLoader.ts"],"sourcesContent":["import Script from '../../../utils/Script';\nimport AdyenCheckoutError from '../../../core/Errors/AdyenCheckoutError';\n\nexport const APPLE_PAY_SDK_URL = 'https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js';\n\nclass ApplePaySdkLoader {\n private sdkLoadingPromise: Promise<void>;\n\n public async load(): Promise<ApplePaySession> {\n try {\n const scriptElement = new Script(APPLE_PAY_SDK_URL
|
|
1
|
+
{"version":3,"file":"ApplePaySdkLoader.js","sources":["../../../../../src/components/ApplePay/services/ApplePaySdkLoader.ts"],"sourcesContent":["import Script from '../../../utils/Script';\nimport AdyenCheckoutError from '../../../core/Errors/AdyenCheckoutError';\nimport { AnalyticsModule } from '../../../types/global-types';\n\nexport const APPLE_PAY_SDK_URL = 'https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js';\n\nclass ApplePaySdkLoader {\n private sdkLoadingPromise: Promise<void>;\n private readonly analytics: AnalyticsModule;\n\n constructor({ analytics }: { analytics: AnalyticsModule }) {\n this.analytics = analytics;\n }\n\n public async load(): Promise<ApplePaySession> {\n try {\n const scriptElement = new Script({\n src: APPLE_PAY_SDK_URL,\n component: 'applepay',\n attributes: { crossOrigin: 'anonymous' },\n analytics: this.analytics\n });\n\n this.sdkLoadingPromise = scriptElement.load();\n await this.sdkLoadingPromise;\n\n return window?.ApplePaySession;\n } catch (error) {\n throw new AdyenCheckoutError('SCRIPT_ERROR', 'ApplePaySDK failed to load', { cause: error });\n }\n }\n\n public isSdkLoaded(): Promise<void> {\n if (this.sdkLoadingPromise === undefined) {\n return Promise.reject();\n }\n\n return this.sdkLoadingPromise;\n }\n}\n\nexport default ApplePaySdkLoader;\n"],"names":["APPLE_PAY_SDK_URL","ApplePaySdkLoader","load","window","scriptElement","Script","src","component","attributes","crossOrigin","analytics","this","sdkLoadingPromise","ApplePaySession","error","AdyenCheckoutError","cause","isSdkLoaded","undefined","Promise","reject","constructor","_define_property"],"mappings":"0NAIO,MAAMA,EAAoB,iEAEjC,MAAMC,EAQF,UAAaC,GACT,IAWWC,IAAAA,EAVP,MAAMC,EAAgB,IAAIC,EAAO,CAC7BC,IAAKN,EACLO,UAAW,WACXC,WAAY,CAAEC,YAAa,aAC3BC,UAAWC,KAAKD,YAMpB,OAHAC,KAAKC,kBAAoBR,EAAcF,aACjCS,KAAKC,kBAEJT,QAAAA,EAAAA,cAAAA,IAAAA,OAAAA,EAAAA,EAAQU,eACnB,CAAE,MAAOC,GACL,MAAM,IAAIC,EAAmB,eAAgB,6BAA8B,CAAEC,MAAOF,GACxF,CACJ,CAEOG,WAAAA,GACH,YAA+BC,IAA3BP,KAAKC,kBACEO,QAAQC,SAGZT,KAAKC,iBAChB,CA5BA,WAAAS,EAAYX,UAAEA,IAHdY,EAAAX,KAAQC,yBAAR,GACAU,EAAAX,KAAiBD,iBAAjB,GAGIC,KAAKD,UAAYA,CACrB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as
|
|
1
|
+
import{createElement as r}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import{CoreProvider as t}from"../../core/Context/CoreProvider.js";import n from"../internal/RedirectButton/RedirectButton.js";import s from"./components/BankTransferResult/BankTransferResult.js";import a from"./components/BankTransferInput/BankTransferInput.js";import{TxVariants as o}from"../tx-variants.js";function i(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function p(r){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),n.forEach(function(e){i(r,e,t[e])})}return r}function f(r,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(e)):function(r){var e=Object.keys(r);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(r);e.push.apply(e,t)}return e}(Object(e)).forEach(function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(e,t))}),r}class b extends e{get isValid(){return!!this.state.isValid}formatData(){const{shopperEmail:r}=this.state.data,e=this.type!==o.bankTransfer_IBAN?{subtype:"embedded"}:{};return p({paymentMethod:p({type:this.type},e)},r&&{shopperEmail:r})}render(){return this.props.reference?r(t,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},r(s,f(p({},this.props),{onActionHandled:this.onActionHandled}))):r(t,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.showEmailAddress&&r(a,f(p({setComponentRef:this.setComponentRef},this.props),{onChange:this.setState})),r(n,f(p({},this.props),{showPayButton:this.props.showPayButton,name:this.displayName,onSubmit:this.submit,payButton:this.payButton})))}constructor(...r){super(...r),i(this,"state",{isValid:!this.props.showEmailAddress,data:{}})}}i(b,"type",o.bankTransfer_IBAN),i(b,"txVariants",[o.bankTransfer_IBAN,o.bankTransfer_BE,o.bankTransfer_NL,o.bankTransfer_PL,o.bankTransfer_FR,o.bankTransfer_CH,o.bankTransfer_IE,o.bankTransfer_GB,o.bankTransfer_DE,o.bankTransfer_AE,o.bankTransfer_AT,o.bankTransfer_AU,o.bankTransfer_BG,o.bankTransfer_CA,o.bankTransfer_EE,o.bankTransfer_ES,o.bankTransfer_FI,o.bankTransfer_HK,o.bankTransfer_HU,o.bankTransfer_IT,o.bankTransfer_JP,o.bankTransfer_LU,o.bankTransfer_NZ,o.bankTransfer_PT,o.bankTransfer_SG,o.bankTransfer_SK,o.bankTransfer_US]),i(b,"defaultProps",{showEmailAddress:!0,showContextualElement:!0,data:{shopperEmail:""}});export{b as BankTransferElement,b as default};
|
|
2
2
|
//# sourceMappingURL=BankTransfer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BankTransfer.js","sources":["../../../../src/components/BankTransfer/BankTransfer.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectButton from '../internal/RedirectButton';\nimport { BankTransferConfiguration, BankTransferState } from './types';\nimport BankTransferResult from './components/BankTransferResult';\nimport BankTransferInput from './components/BankTransferInput';\nimport { TxVariants } from '../tx-variants';\n\nexport class BankTransferElement extends UIElement<BankTransferConfiguration> {\n public static type = TxVariants.bankTransfer_IBAN;\n public static txVariants = [\n TxVariants.bankTransfer_IBAN,\n TxVariants.bankTransfer_BE,\n TxVariants.bankTransfer_NL,\n TxVariants.bankTransfer_PL,\n TxVariants.bankTransfer_FR,\n TxVariants.bankTransfer_CH,\n TxVariants.bankTransfer_IE,\n TxVariants.bankTransfer_GB,\n TxVariants.bankTransfer_DE\n ];\n\n public static defaultProps = {\n showEmailAddress: true,\n showContextualElement: true,\n data: { shopperEmail: '' }\n };\n\n // @ts-ignore Double check why state extends all props\n public state: BankTransferState = {\n isValid: !this.props.showEmailAddress,\n data: {}\n };\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const { shopperEmail } = this.state.data;\n const subtype = this.type !== (TxVariants.bankTransfer_IBAN as string) ? { subtype: 'embedded' } : {};\n\n return {\n paymentMethod: {\n type: this.type,\n ...subtype\n },\n ...(shopperEmail && { shopperEmail })\n };\n }\n\n render() {\n if (this.props.reference) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <BankTransferResult {...this.props} onActionHandled={this.onActionHandled} />\n </CoreProvider>\n );\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.showEmailAddress && <BankTransferInput setComponentRef={this.setComponentRef} {...this.props} onChange={this.setState} />}\n <RedirectButton\n {...this.props}\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default BankTransferElement;\n"],"names":["BankTransferElement","UIElement","isValid","this","state","formatData","shopperEmail","data","subtype","type","TxVariants","bankTransfer_IBAN","_object_spread","paymentMethod","render","props","reference","h","CoreProvider","i18n","loadingContext","resources","BankTransferResult","onActionHandled","showEmailAddress","BankTransferInput","setComponentRef","onChange","setState","RedirectButton","showPayButton","name","displayName","onSubmit","submit","payButton","super","args","_define_property","txVariants","bankTransfer_BE","bankTransfer_NL","bankTransfer_PL","bankTransfer_FR","bankTransfer_CH","bankTransfer_IE","bankTransfer_GB","bankTransfer_DE","defaultProps","showContextualElement"],"mappings":"kuCASO,MAAMA,UAA4BC,
|
|
1
|
+
{"version":3,"file":"BankTransfer.js","sources":["../../../../src/components/BankTransfer/BankTransfer.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectButton from '../internal/RedirectButton';\nimport { BankTransferConfiguration, BankTransferState } from './types';\nimport BankTransferResult from './components/BankTransferResult';\nimport BankTransferInput from './components/BankTransferInput';\nimport { TxVariants } from '../tx-variants';\n\nexport class BankTransferElement extends UIElement<BankTransferConfiguration> {\n public static type = TxVariants.bankTransfer_IBAN;\n public static txVariants = [\n TxVariants.bankTransfer_IBAN,\n TxVariants.bankTransfer_BE,\n TxVariants.bankTransfer_NL,\n TxVariants.bankTransfer_PL,\n TxVariants.bankTransfer_FR,\n TxVariants.bankTransfer_CH,\n TxVariants.bankTransfer_IE,\n TxVariants.bankTransfer_GB,\n TxVariants.bankTransfer_DE,\n TxVariants.bankTransfer_AE,\n TxVariants.bankTransfer_AT,\n TxVariants.bankTransfer_AU,\n TxVariants.bankTransfer_BG,\n TxVariants.bankTransfer_CA,\n TxVariants.bankTransfer_EE,\n TxVariants.bankTransfer_ES,\n TxVariants.bankTransfer_FI,\n TxVariants.bankTransfer_HK,\n TxVariants.bankTransfer_HU,\n TxVariants.bankTransfer_IT,\n TxVariants.bankTransfer_JP,\n TxVariants.bankTransfer_LU,\n TxVariants.bankTransfer_NZ,\n TxVariants.bankTransfer_PT,\n TxVariants.bankTransfer_SG,\n TxVariants.bankTransfer_SK,\n TxVariants.bankTransfer_US\n ];\n\n public static defaultProps = {\n showEmailAddress: true,\n showContextualElement: true,\n data: { shopperEmail: '' }\n };\n\n // @ts-ignore Double check why state extends all props\n public state: BankTransferState = {\n isValid: !this.props.showEmailAddress,\n data: {}\n };\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const { shopperEmail } = this.state.data;\n const subtype = this.type !== (TxVariants.bankTransfer_IBAN as string) ? { subtype: 'embedded' } : {};\n\n return {\n paymentMethod: {\n type: this.type,\n ...subtype\n },\n ...(shopperEmail && { shopperEmail })\n };\n }\n\n render() {\n if (this.props.reference) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <BankTransferResult {...this.props} onActionHandled={this.onActionHandled} />\n </CoreProvider>\n );\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.showEmailAddress && <BankTransferInput setComponentRef={this.setComponentRef} {...this.props} onChange={this.setState} />}\n <RedirectButton\n {...this.props}\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default BankTransferElement;\n"],"names":["BankTransferElement","UIElement","isValid","this","state","formatData","shopperEmail","data","subtype","type","TxVariants","bankTransfer_IBAN","_object_spread","paymentMethod","render","props","reference","h","CoreProvider","i18n","loadingContext","resources","BankTransferResult","onActionHandled","showEmailAddress","BankTransferInput","setComponentRef","onChange","setState","RedirectButton","showPayButton","name","displayName","onSubmit","submit","payButton","super","args","_define_property","txVariants","bankTransfer_BE","bankTransfer_NL","bankTransfer_PL","bankTransfer_FR","bankTransfer_CH","bankTransfer_IE","bankTransfer_GB","bankTransfer_DE","bankTransfer_AE","bankTransfer_AT","bankTransfer_AU","bankTransfer_BG","bankTransfer_CA","bankTransfer_EE","bankTransfer_ES","bankTransfer_FI","bankTransfer_HK","bankTransfer_HU","bankTransfer_IT","bankTransfer_JP","bankTransfer_LU","bankTransfer_NZ","bankTransfer_PT","bankTransfer_SG","bankTransfer_SK","bankTransfer_US","defaultProps","showContextualElement"],"mappings":"kuCASO,MAAMA,UAA4BC,EA4CrC,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAKAG,UAAAA,GACI,MAAMC,aAAEA,GAAiBH,KAAKC,MAAMG,KAC9BC,EAAUL,KAAKM,OAAUC,EAAWC,kBAA+B,CAAEH,QAAS,YAAe,CAAA,EAEnG,OAAOI,EAAA,CACHC,cAAeD,EAAA,CACXH,KAAMN,KAAKM,MACRD,IAEHF,GAAgB,CAAEA,gBAE9B,CAEAQ,MAAAA,GACI,OAAIX,KAAKY,MAAMC,UAEPC,EAACC,EAAAA,CAAaC,KAAMhB,KAAKY,MAAMI,KAAMC,eAAgBjB,KAAKY,MAAMK,eAAgBC,UAAWlB,KAAKkB,WAC5FJ,EAACK,EAAAA,EAAAA,EAAAA,GAAuBnB,KAAKY,OAAK,CAAEQ,gBAAiBpB,KAAKoB,oBAMlEN,EAACC,EAAAA,CAAaC,KAAMhB,KAAKY,MAAMI,KAAMC,eAAgBjB,KAAKY,MAAMK,eAAgBC,UAAWlB,KAAKkB,WAC3FlB,KAAKY,MAAMS,kBAAoBP,EAACQ,EAAAA,EAAAA,EAAAA,CAAkBC,gBAAiBvB,KAAKuB,iBAAqBvB,KAAKY,OAAK,CAAEY,SAAUxB,KAAKyB,YACzHX,EAACY,EAAAA,EAAAA,EAAAA,CAAAA,EACO1B,KAAKY,OAAK,CACde,cAAe3B,KAAKY,MAAMe,cAC1BC,KAAM5B,KAAK6B,YACXC,SAAU9B,KAAK+B,OACfC,UAAWhC,KAAKgC,aAIhC,mBArFGC,SAAAC,GAuCHC,EAAAnC,KAAOC,QAA2B,CAC9BF,SAAUC,KAAKY,MAAMS,iBACrBjB,KAAM,CAAA,KAxCV+B,EADStC,EACKS,OAAOC,EAAWC,mBAChC2B,EAFStC,EAEKuC,aAAa,CACvB7B,EAAWC,kBACXD,EAAW8B,gBACX9B,EAAW+B,gBACX/B,EAAWgC,gBACXhC,EAAWiC,gBACXjC,EAAWkC,gBACXlC,EAAWmC,gBACXnC,EAAWoC,gBACXpC,EAAWqC,gBACXrC,EAAWsC,gBACXtC,EAAWuC,gBACXvC,EAAWwC,gBACXxC,EAAWyC,gBACXzC,EAAW0C,gBACX1C,EAAW2C,gBACX3C,EAAW4C,gBACX5C,EAAW6C,gBACX7C,EAAW8C,gBACX9C,EAAW+C,gBACX/C,EAAWgD,gBACXhD,EAAWiD,gBACXjD,EAAWkD,gBACXlD,EAAWmD,gBACXnD,EAAWoD,gBACXpD,EAAWqD,gBACXrD,EAAWsD,gBACXtD,EAAWuD,kBAGf3B,EAhCStC,EAgCKkE,eAAe,CACzB1C,kBAAkB,EAClB2C,uBAAuB,EACvB5D,KAAM,CAAED,aAAc"}
|
package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferResult.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useCoreContext as a}from"../../../../core/Context/CoreProvider.js";import r from"../../../../core/Context/useImage.js";import
|
|
1
|
+
import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useCoreContext as a}from"../../../../core/Context/CoreProvider.js";import r from"../../../../core/Context/useImage.js";import n from"../../../internal/DetailsTable/DetailsTable.js";import{BankTransferResultInstructions as t}from"./BankTransferResultInstructions.js";import o from"./BankTransferVoucher.js";function l(l){const{i18n:b}=a(),u=r(),s=[{label:b.get("bankTransfer.beneficiary"),value:l.beneficiary},{label:b.get("bankTransfer.accountNumber"),value:l.accountNumber},{label:b.get("bankTransfer.sortCode"),value:l.sortCode},{label:b.get("bankTransfer.routingNumber"),value:l.routingNumber},{label:b.get("bankTransfer.iban"),value:l.iban},{label:b.get("bankTransfer.branchCode"),value:l.branchCode},{label:b.get("bankTransfer.bankCode"),value:l.bankCode},{label:b.get("bankTransfer.reference"),value:l.reference},{label:b.get("bankTransfer.bic"),value:l.bic}];return e(o,{paymentMethodType:l.paymentMethodType,imageUrl:u()(l.paymentMethodType),onActionHandled:l.onActionHandled,amount:b.amount(l.totalAmount.value,l.totalAmount.currency),instructions:e(t,null),voucherDetails:e(n,{shouldShowCopyButton:!0,tableFields:s})})}export{l as default};
|
|
2
2
|
//# sourceMappingURL=BankTransferResult.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BankTransferResult.js","sources":["../../../../../../src/components/BankTransfer/components/BankTransferResult/BankTransferResult.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport useImage from '../../../../core/Context/useImage';\nimport DetailsTable from '../../../internal/DetailsTable';\nimport { BankTransferResultInstructions } from './BankTransferResultInstructions';\nimport BankTransferVoucher from './BankTransferVoucher';\nimport type { ActionHandledReturnObject } from '../../../../types/global-types';\n\nexport interface BankTransferResultProps {\n paymentMethodType?: string;\n reference?: string;\n totalAmount?: { value: number; currency: string };\n beneficiary?: string;\n iban?: string;\n bic?: string;\n accountNumber?: string;\n sortCode?: string;\n routingNumber?: string;\n onActionHandled?: (actionHandledObj: ActionHandledReturnObject) => void;\n}\n\nexport default function BankTransferResult(props: BankTransferResultProps) {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n\n
|
|
1
|
+
{"version":3,"file":"BankTransferResult.js","sources":["../../../../../../src/components/BankTransfer/components/BankTransferResult/BankTransferResult.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport useImage from '../../../../core/Context/useImage';\nimport DetailsTable from '../../../internal/DetailsTable';\nimport { BankTransferResultInstructions } from './BankTransferResultInstructions';\nimport BankTransferVoucher from './BankTransferVoucher';\nimport type { ActionHandledReturnObject } from '../../../../types/global-types';\n\nexport interface BankTransferResultProps {\n paymentMethodType?: string;\n reference?: string;\n totalAmount?: { value: number; currency: string };\n beneficiary?: string;\n iban?: string;\n bic?: string;\n accountNumber?: string;\n sortCode?: string;\n routingNumber?: string;\n branchCode?: string;\n bankCode?: string;\n onActionHandled?: (actionHandledObj: ActionHandledReturnObject) => void;\n}\n\nexport default function BankTransferResult(props: BankTransferResultProps) {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n\n // we don't have to filter these values here, they get filtered inside the DetailsTable component\n const tableFields = [\n { label: i18n.get('bankTransfer.beneficiary'), value: props.beneficiary },\n { label: i18n.get('bankTransfer.accountNumber'), value: props.accountNumber },\n { label: i18n.get('bankTransfer.sortCode'), value: props.sortCode },\n { label: i18n.get('bankTransfer.routingNumber'), value: props.routingNumber },\n { label: i18n.get('bankTransfer.iban'), value: props.iban },\n { label: i18n.get('bankTransfer.branchCode'), value: props.branchCode },\n { label: i18n.get('bankTransfer.bankCode'), value: props.bankCode },\n { label: i18n.get('bankTransfer.reference'), value: props.reference },\n { label: i18n.get('bankTransfer.bic'), value: props.bic }\n ];\n\n return (\n <BankTransferVoucher\n paymentMethodType={props.paymentMethodType}\n imageUrl={getImage()(props.paymentMethodType)}\n onActionHandled={props.onActionHandled}\n amount={i18n.amount(props.totalAmount.value, props.totalAmount.currency)}\n instructions={<BankTransferResultInstructions />}\n voucherDetails={<DetailsTable shouldShowCopyButton tableFields={tableFields} />}\n />\n );\n}\n"],"names":["BankTransferResult","props","i18n","useCoreContext","getImage","useImage","tableFields","label","get","value","beneficiary","accountNumber","sortCode","routingNumber","iban","branchCode","bankCode","reference","bic","h","BankTransferVoucher","paymentMethodType","imageUrl","onActionHandled","amount","totalAmount","currency","instructions","BankTransferResultInstructions","voucherDetails","DetailsTable","shouldShowCopyButton"],"mappings":"oYAuBe,SAASA,EAAmBC,GACvC,MAAMC,KAAEA,GAASC,IACXC,EAAWC,IAGXC,EAAc,CAChB,CAAEC,MAAOL,EAAKM,IAAI,4BAA6BC,MAAOR,EAAMS,aAC5D,CAAEH,MAAOL,EAAKM,IAAI,8BAA+BC,MAAOR,EAAMU,eAC9D,CAAEJ,MAAOL,EAAKM,IAAI,yBAA0BC,MAAOR,EAAMW,UACzD,CAAEL,MAAOL,EAAKM,IAAI,8BAA+BC,MAAOR,EAAMY,eAC9D,CAAEN,MAAOL,EAAKM,IAAI,qBAAsBC,MAAOR,EAAMa,MACrD,CAAEP,MAAOL,EAAKM,IAAI,2BAA4BC,MAAOR,EAAMc,YAC3D,CAAER,MAAOL,EAAKM,IAAI,yBAA0BC,MAAOR,EAAMe,UACzD,CAAET,MAAOL,EAAKM,IAAI,0BAA2BC,MAAOR,EAAMgB,WAC1D,CAAEV,MAAOL,EAAKM,IAAI,oBAAqBC,MAAOR,EAAMiB,MAGxD,OACIC,EAACC,EAAAA,CACGC,kBAAmBpB,EAAMoB,kBACzBC,SAAUlB,IAAWH,EAAMoB,mBAC3BE,gBAAiBtB,EAAMsB,gBACvBC,OAAQtB,EAAKsB,OAAOvB,EAAMwB,YAAYhB,MAAOR,EAAMwB,YAAYC,UAC/DC,aAAcR,EAACS,EAAAA,MACfC,eAAgBV,EAACW,EAAAA,CAAaC,sBAAAA,EAAqBzB,YAAaA,KAG5E"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as t}from"../../external/preact/dist/preact.js";import o from"./components/CardInput/CardInput.js";import{CoreProvider as e}from"../../core/Context/CoreProvider.js";import i from"../../utils/browserInfo.js";import s from"../internal/SecuredFields/binLookup/triggerBinLookUp.js";import{fieldTypeToSnakeCase as n}from"../internal/SecuredFields/utils.js";import{reject as r}from"../../utils/commonUtils.js";import{hasValidInstallmentsObject as a,getCardConfigData as l}from"./components/CardInput/utils.js";import d from"../internal/ClickToPay/services/create-clicktopay-service.js";import u from"./components/ClickToPayWrapper.js";import c from"../../core/Errors/SRPanelProvider.js";import{TxVariants as p}from"../tx-variants.js";import{UIElement as h}from"../internal/UIElement/UIElement.js";import m from"../internal/PayButton/PayButton.js";import{ANALYTICS_RENDERED_STR as y,ANALYTICS_CONFIGURED_STR as f,ANALYTICS_FOCUS_STR as v,ANALYTICS_UNFOCUS_STR as b}from"../../core/Analytics/constants.js";import{ALL_SECURED_FIELDS as g}from"../internal/SecuredFields/lib/constants.js";import{hasOwnProperty as P}from"../../utils/hasOwnProperty.js";import C,{IMPLEMENTATION_ERROR as S}from"../../core/Errors/AdyenCheckoutError.js";import k from"./components/CardInput/defaultProps.js";import{AnalyticsInfoEvent as j}from"../../core/Analytics/AnalyticsInfoEvent.js";function O(t,o,e){return o in t?Object.defineProperty(t,o,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[o]=e,t}function R(t){for(var o=1;o<arguments.length;o++){var e=null!=arguments[o]?arguments[o]:{},i=Object.keys(e);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(e).filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.forEach(function(o){O(t,o,e[o])})}return t}function T(t,o){return o=null!=o?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):function(t){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);o.push.apply(o,e)}return o}(Object(o)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}),t}const B=["cartebancaire","bcmc","dankort"];class I extends h{setStatus(t,o){var e,i;return(null===(e=this.componentRef)||void 0===e?void 0:e.setStatus)&&this.componentRef.setStatus(t,o),(null===(i=this.clickToPayRef)||void 0===i?void 0:i.setStatus)&&this.clickToPayRef.setStatus(t,o),this}formatProps(t){var o,e,i,s,n,r,a,l,d,u,c,h,m,y,f,v,b,g,P,j;const O=null!==(j=null===(e=t.session)||void 0===e||null===(o=e.configuration)||void 0===o?void 0:o.enableStoreDetails)&&void 0!==j?j:t.enableStoreDetails,B=!(0===(null===(i=t.amount)||void 0===i?void 0:i.value))&&O,I=t.storedPaymentMethodId||t.id,w=I&&(null==t||null===(s=t.supportedShopperInteractions)||void 0===s?void 0:s.includes("Ecommerce"));if(I&&!w)throw new C(S,"You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions");var A,M;return R(T(R({},t),{holderNameRequired:!!t.hasHolderName&&t.holderNameRequired,hasCVC:!(t.brand&&"bcmc"===t.brand||t.hideCVC),billingAddressRequired:!t.storedPaymentMethodId&&t.billingAddressRequired,billingAddressMode:t.onAddressLookup?k.billingAddressMode:t.billingAddressMode,brand:null!==(A=t.brand)&&void 0!==A?A:p.card,countryCode:t.countryCode?t.countryCode.toLowerCase():null,configuration:T(R({},t.configuration),{socialSecurityNumberMode:null!==(M=null===(n=t.configuration)||void 0===n?void 0:n.socialSecurityNumberMode)&&void 0!==M?M:"auto"}),brandsConfiguration:t.brandsConfiguration||(null===(r=t.configuration)||void 0===r?void 0:r.brandsConfiguration)||{},icon:t.icon||(null===(a=t.configuration)||void 0===a?void 0:a.icon),installmentOptions:(null===(d=t.session)||void 0===d||null===(l=d.configuration)||void 0===l?void 0:l.installmentOptions)||t.installmentOptions,enableStoreDetails:O,showStoreDetailsCheckbox:B,clickToPayConfiguration:T(R({},t.clickToPayConfiguration),{disableOtpAutoFocus:(null===(u=t.clickToPayConfiguration)||void 0===u?void 0:u.disableOtpAutoFocus)||!1,shopperEmail:(null===(c=t.clickToPayConfiguration)||void 0===c?void 0:c.shopperEmail)||(null===(m=this.core.options)||void 0===m||null===(h=m.session)||void 0===h?void 0:h.shopperEmail),telephoneNumber:(null===(y=t.clickToPayConfiguration)||void 0===y?void 0:y.telephoneNumber)||(null===(v=this.core.options)||void 0===v||null===(f=v.session)||void 0===f?void 0:f.telephoneNumber),locale:(null===(b=t.clickToPayConfiguration)||void 0===b?void 0:b.locale)||(null===(P=t.i18n)||void 0===P||null===(g=P.locale)||void 0===g?void 0:g.replace("-","_"))})}),I&&{storedPaymentMethodId:I})}formatData(){const t=this.state.selectedBrandValue;var o;return T(R({paymentMethod:R({type:I.type},this.state.data,this.props.storedPaymentMethodId&&{storedPaymentMethodId:this.props.storedPaymentMethodId,holderName:null!==(o=this.props.holderName)&&void 0!==o?o:""},t&&{brand:t},this.props.fundingSource&&{fundingSource:this.props.fundingSource},this.state.fastlaneData&&{fastlaneData:btoa(JSON.stringify(this.state.fastlaneData))})},this.state.billingAddress&&{billingAddress:this.state.billingAddress},this.state.socialSecurityNumber&&{socialSecurityNumber:this.state.socialSecurityNumber},this.storePaymentMethodPayload,a(this.state.installments)&&{installments:this.state.installments}),{browserInfo:this.browserInfo,origin:!!window&&window.location.origin})}updateStyles(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.updateStyles)&&this.componentRef.updateStyles(t),this}setFocusOn(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.setFocusOn)&&this.componentRef.setFocusOn(t),this}processBinLookupResponse(t,o=!1){var e;return(null===(e=this.componentRef)||void 0===e?void 0:e.processBinLookupResponse)&&this.componentRef.processBinLookupResponse(t,o),this}handleUnsupportedCard(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.handleUnsupportedCard)&&this.componentRef.handleUnsupportedCard(t),this}onBinLookup(t){if(!t.isReset){var o,e;const i=r("supportedBrandsRaw").from(t);null===(o=(e=this.props).onBinLookup)||void 0===o||o.call(e,i)}}submitAnalytics(t){const o=t instanceof j;(o&&t.type===y||o&&t.type===f)&&("scheme"===this.constructor.type&&P(this.props,"supportedShopperInteractions")&&(t.isStoredPaymentMethod=!0,t.brand=this.props.brand),o&&t.type===y&&(t.configData=l(this.props))),super.submitAnalytics(t)}get storePaymentMethodPayload(){var t,o;if((null===(t=this.props.storedPaymentMethodId)||void 0===t?void 0:t.length)>0)return{};if(0===(null===(o=this.props.amount)||void 0===o?void 0:o.value))return this.props.enableStoreDetails?{storePaymentMethod:!0}:{};return this.props.showStoreDetailsCheckbox&&void 0!==this.state.storePaymentMethod?{storePaymentMethod:Boolean(this.state.storePaymentMethod)}:{}}get isValid(){return!!this.state.isValid}get icon(){var t;return null!==(t=this.props.icon)&&void 0!==t?t:this.resources.getImage()(this.props.brand)}get brands(){const{brands:t,brandsConfiguration:o}=this.props;return t?t.map(t=>{var e,i;return{icon:null!==(i=null===(e=o[t])||void 0===e?void 0:e.icon)&&void 0!==i?i:this.props.modules.resources.getImage()(t),name:t}}):[]}get displayName(){return this.props.storedPaymentMethodId?`•••• ${this.props.lastFour}`:this.props.name||I.type}get accessibleName(){return(this.props.name||I.type)+(this.props.storedPaymentMethodId?" "+this.props.i18n.get("creditCard.storedCard.description.ariaLabel").replace("%@",this.props.lastFour):"")}get browserInfo(){return i()}renderCardInput(e=!0){return t(o,T(R({setComponentRef:this.setComponentRef},this.props,this.state),{onSubmitAnalytics:this.submitAnalytics,onChange:this.setState,onSubmit:this.submit,handleKeyPress:this.handleKeyPress,payButton:this.payButton,onBrand:this.onBrand,onBinValue:this.onBinValue,brand:this.props.brand,brandsIcons:this.brands,isPayButtonPrimaryVariant:e,resources:this.resources,onFocus:this.onFocus,onBlur:this.onBlur,onConfigSuccess:this.onConfigSuccess}))}render(){return t(e,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(c,{srPanel:this.props.modules.srPanel},t(u,{amount:this.props.amount,configuration:this.props.clickToPayConfiguration,clickToPayService:this.clickToPayService,isStandaloneComponent:!1,setClickToPayRef:this.setClickToPayRef,onSetStatus:this.setElementStatus,onSubmit:this.handleClickToPaySubmit,onError:this.handleError},t=>this.renderCardInput(t))))}constructor(o,e){var i;(super(o,e),O(this,"clickToPayService",void 0),O(this,"clickToPayRef",null),O(this,"setClickToPayRef",t=>{this.clickToPayRef=t}),O(this,"onBrand",t=>{var o,e;null===(o=(e=this.props).onBrand)||void 0===o||o.call(e,t)}),O(this,"handleClickToPaySubmit",t=>{this.setState({data:R({},t),valid:{},errors:{},isValid:!0}),this.submit()}),O(this,"onConfigSuccess",t=>{var o,e;const i=new j({type:f});this.submitAnalytics(i),null===(o=(e=this.props).onConfigSuccess)||void 0===o||o.call(e,t)}),O(this,"onFocus",t=>{const o=new j({type:v,target:n(t.fieldType)});var e,i,s,r;(this.submitAnalytics(o),g.includes(t.fieldType))?null===(e=(i=this.props).onFocus)||void 0===e||e.call(i,t.event):null===(s=(r=this.props).onFocus)||void 0===s||s.call(r,t)}),O(this,"onBlur",t=>{const o=new j({type:b,target:n(t.fieldType)});var e,i,s,r;(this.submitAnalytics(o),g.includes(t.fieldType))?null===(e=(i=this.props).onBlur)||void 0===e||e.call(i,t.event):null===(s=(r=this.props).onBlur)||void 0===s||s.call(r,t)}),O(this,"onBinValue",s(this)),O(this,"payButton",o=>{var e,i;const s=0===(null===(e=this.props.amount)||void 0===e?void 0:e.value),n=(null===(i=this.props.storedPaymentMethodId)||void 0===i?void 0:i.length)>0;return t(m,T(R({},o),{amount:this.props.amount,secondaryAmount:this.props.secondaryAmount,label:s&&!n?this.props.i18n.get("payButton.saveDetails"):"",onClick:this.submit}))}),e&&!e._disableClickToPay)&&(this.clickToPayService=d(this.props.configuration,this.props.clickToPayConfiguration,this.props.environment),null===(i=this.clickToPayService)||void 0===i||i.initialize())}}O(I,"type",p.scheme),O(I,"defaultProps",R({showFormInstruction:!0,_disableClickToPay:!1,doBinLookup:!0},r(["type","setComponentRef"]).from(k)));export{I as CardElement,B as DUAL_BRANDS_THAT_NEED_SELECTION_MECHANISM,I as default};
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import o from"./components/CardInput/CardInput.js";import{CoreProvider as e}from"../../core/Context/CoreProvider.js";import i from"../../utils/browserInfo.js";import s from"../internal/SecuredFields/binLookup/triggerBinLookUp.js";import{fieldTypeToSnakeCase as n}from"../internal/SecuredFields/utils.js";import{reject as r}from"../../utils/commonUtils.js";import{hasValidInstallmentsObject as a,getCardConfigData as l}from"./components/CardInput/utils.js";import d from"../internal/ClickToPay/services/create-clicktopay-service.js";import u from"./components/ClickToPayWrapper.js";import p from"../../core/Errors/SRPanelProvider.js";import{TxVariants as c}from"../tx-variants.js";import{UIElement as h}from"../internal/UIElement/UIElement.js";import m from"../internal/PayButton/PayButton.js";import{ANALYTICS_RENDERED_STR as y,ANALYTICS_CONFIGURED_STR as f,ANALYTICS_FOCUS_STR as v,ANALYTICS_UNFOCUS_STR as b}from"../../core/Analytics/constants.js";import{ALL_SECURED_FIELDS as g}from"../internal/SecuredFields/lib/constants.js";import{hasOwnProperty as P}from"../../utils/hasOwnProperty.js";import C,{IMPLEMENTATION_ERROR as S}from"../../core/Errors/AdyenCheckoutError.js";import k from"./components/CardInput/defaultProps.js";import{AnalyticsInfoEvent as j}from"../../core/Analytics/AnalyticsInfoEvent.js";function O(t,o,e){return o in t?Object.defineProperty(t,o,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[o]=e,t}function R(t){for(var o=1;o<arguments.length;o++){var e=null!=arguments[o]?arguments[o]:{},i=Object.keys(e);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(e).filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.forEach(function(o){O(t,o,e[o])})}return t}function T(t,o){return o=null!=o?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):function(t){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);o.push.apply(o,e)}return o}(Object(o)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}),t}class B extends h{setStatus(t,o){var e,i;return(null===(e=this.componentRef)||void 0===e?void 0:e.setStatus)&&this.componentRef.setStatus(t,o),(null===(i=this.clickToPayRef)||void 0===i?void 0:i.setStatus)&&this.clickToPayRef.setStatus(t,o),this}formatProps(t){var o,e,i,s,n,r,a,l,d,u,p,h,m,y,f,v,b,g,P,j;const O=null!==(j=null===(e=t.session)||void 0===e||null===(o=e.configuration)||void 0===o?void 0:o.enableStoreDetails)&&void 0!==j?j:t.enableStoreDetails,B=!(0===(null===(i=t.amount)||void 0===i?void 0:i.value))&&O,I=t.storedPaymentMethodId||t.id,w=I&&(null==t||null===(s=t.supportedShopperInteractions)||void 0===s?void 0:s.includes("Ecommerce"));if(I&&!w)throw new C(S,"You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions");var A,M;return R(T(R({},t),{holderNameRequired:!!t.hasHolderName&&t.holderNameRequired,hasCVC:!(t.brand&&"bcmc"===t.brand||t.hideCVC),billingAddressRequired:!t.storedPaymentMethodId&&t.billingAddressRequired,billingAddressMode:t.onAddressLookup?k.billingAddressMode:t.billingAddressMode,brand:null!==(A=t.brand)&&void 0!==A?A:c.card,countryCode:t.countryCode?t.countryCode.toLowerCase():null,configuration:T(R({},t.configuration),{socialSecurityNumberMode:null!==(M=null===(n=t.configuration)||void 0===n?void 0:n.socialSecurityNumberMode)&&void 0!==M?M:"auto"}),brandsConfiguration:t.brandsConfiguration||(null===(r=t.configuration)||void 0===r?void 0:r.brandsConfiguration)||{},icon:t.icon||(null===(a=t.configuration)||void 0===a?void 0:a.icon),installmentOptions:(null===(d=t.session)||void 0===d||null===(l=d.configuration)||void 0===l?void 0:l.installmentOptions)||t.installmentOptions,enableStoreDetails:O,showStoreDetailsCheckbox:B,clickToPayConfiguration:T(R({},t.clickToPayConfiguration),{disableOtpAutoFocus:(null===(u=t.clickToPayConfiguration)||void 0===u?void 0:u.disableOtpAutoFocus)||!1,shopperEmail:(null===(p=t.clickToPayConfiguration)||void 0===p?void 0:p.shopperEmail)||(null===(m=this.core.options)||void 0===m||null===(h=m.session)||void 0===h?void 0:h.shopperEmail),telephoneNumber:(null===(y=t.clickToPayConfiguration)||void 0===y?void 0:y.telephoneNumber)||(null===(v=this.core.options)||void 0===v||null===(f=v.session)||void 0===f?void 0:f.telephoneNumber),locale:(null===(b=t.clickToPayConfiguration)||void 0===b?void 0:b.locale)||(null===(P=t.i18n)||void 0===P||null===(g=P.locale)||void 0===g?void 0:g.replace("-","_"))})}),I&&{storedPaymentMethodId:I})}formatData(){const t=this.state.selectedBrandValue;var o;return T(R({paymentMethod:R({type:B.type},this.state.data,this.props.storedPaymentMethodId&&{storedPaymentMethodId:this.props.storedPaymentMethodId,holderName:null!==(o=this.props.holderName)&&void 0!==o?o:""},t&&{brand:t},this.props.fundingSource&&{fundingSource:this.props.fundingSource},this.state.fastlaneData&&{fastlaneData:btoa(JSON.stringify(this.state.fastlaneData))})},this.state.billingAddress&&{billingAddress:this.state.billingAddress},this.state.socialSecurityNumber&&{socialSecurityNumber:this.state.socialSecurityNumber},this.storePaymentMethodPayload,a(this.state.installments)&&{installments:this.state.installments}),{browserInfo:this.browserInfo,origin:!!window&&window.location.origin})}updateStyles(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.updateStyles)&&this.componentRef.updateStyles(t),this}setFocusOn(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.setFocusOn)&&this.componentRef.setFocusOn(t),this}processBinLookupResponse(t,o=!1){var e;return(null===(e=this.componentRef)||void 0===e?void 0:e.processBinLookupResponse)&&this.componentRef.processBinLookupResponse(t,o),this}handleUnsupportedCard(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.handleUnsupportedCard)&&this.componentRef.handleUnsupportedCard(t),this}onBinLookup(t){if(!t.isReset){var o,e;const i=r("supportedBrandsRaw").from(t);null===(o=(e=this.props).onBinLookup)||void 0===o||o.call(e,i)}}submitAnalytics(t){const o=t instanceof j;(o&&t.type===y||o&&t.type===f)&&("scheme"===this.constructor.type&&P(this.props,"supportedShopperInteractions")&&(t.isStoredPaymentMethod=!0,t.brand=this.props.brand),o&&t.type===y&&(t.configData=l(this.props))),super.submitAnalytics(t)}get storePaymentMethodPayload(){var t,o;if((null===(t=this.props.storedPaymentMethodId)||void 0===t?void 0:t.length)>0)return{};if(0===(null===(o=this.props.amount)||void 0===o?void 0:o.value))return this.props.enableStoreDetails?{storePaymentMethod:!0}:{};return this.props.showStoreDetailsCheckbox&&void 0!==this.state.storePaymentMethod?{storePaymentMethod:Boolean(this.state.storePaymentMethod)}:{}}get isValid(){return!!this.state.isValid}get icon(){var t;return null!==(t=this.props.icon)&&void 0!==t?t:this.resources.getImage()(this.props.brand)}get brands(){const{brands:t,brandsConfiguration:o}=this.props;return t?t.map(t=>{var e,i;return{icon:null!==(i=null===(e=o[t])||void 0===e?void 0:e.icon)&&void 0!==i?i:this.props.modules.resources.getImage()(t),name:t}}):[]}get displayName(){return this.props.storedPaymentMethodId?`•••• ${this.props.lastFour}`:this.props.name||B.type}get accessibleName(){return(this.props.name||B.type)+(this.props.storedPaymentMethodId?" "+this.props.i18n.get("creditCard.storedCard.description.ariaLabel").replace("%@",this.props.lastFour):"")}get browserInfo(){return i()}renderCardInput(e=!0){return t(o,T(R({setComponentRef:this.setComponentRef},this.props,this.state),{onSubmitAnalytics:this.submitAnalytics,onChange:this.setState,onSubmit:this.submit,handleKeyPress:this.handleKeyPress,payButton:this.payButton,onBrand:this.onBrand,onBinValue:this.onBinValue,brand:this.props.brand,brandsIcons:this.brands,isPayButtonPrimaryVariant:e,resources:this.resources,onFocus:this.onFocus,onBlur:this.onBlur,onConfigSuccess:this.onConfigSuccess}))}render(){return t(e,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(p,{srPanel:this.props.modules.srPanel},t(u,{amount:this.props.amount,configuration:this.props.clickToPayConfiguration,clickToPayService:this.clickToPayService,isStandaloneComponent:!1,setClickToPayRef:this.setClickToPayRef,onSetStatus:this.setElementStatus,onSubmit:this.handleClickToPaySubmit,onError:this.handleError},t=>this.renderCardInput(t))))}constructor(o,e){var i;(super(o,e),O(this,"clickToPayService",void 0),O(this,"clickToPayRef",null),O(this,"setClickToPayRef",t=>{this.clickToPayRef=t}),O(this,"onBrand",t=>{var o,e;null===(o=(e=this.props).onBrand)||void 0===o||o.call(e,t)}),O(this,"handleClickToPaySubmit",t=>{this.setState({data:R({},t),valid:{},errors:{},isValid:!0}),this.submit()}),O(this,"onConfigSuccess",t=>{var o,e;const i=new j({type:f});this.submitAnalytics(i),null===(o=(e=this.props).onConfigSuccess)||void 0===o||o.call(e,t)}),O(this,"onFocus",t=>{const o=new j({type:v,target:n(t.fieldType)});var e,i,s,r;(this.submitAnalytics(o),g.includes(t.fieldType))?null===(e=(i=this.props).onFocus)||void 0===e||e.call(i,t.event):null===(s=(r=this.props).onFocus)||void 0===s||s.call(r,t)}),O(this,"onBlur",t=>{const o=new j({type:b,target:n(t.fieldType)});var e,i,s,r;(this.submitAnalytics(o),g.includes(t.fieldType))?null===(e=(i=this.props).onBlur)||void 0===e||e.call(i,t.event):null===(s=(r=this.props).onBlur)||void 0===s||s.call(r,t)}),O(this,"onBinValue",s(this)),O(this,"payButton",o=>{var e,i;const s=0===(null===(e=this.props.amount)||void 0===e?void 0:e.value),n=(null===(i=this.props.storedPaymentMethodId)||void 0===i?void 0:i.length)>0;return t(m,T(R({},o),{amount:this.props.amount,secondaryAmount:this.props.secondaryAmount,label:s&&!n?this.props.i18n.get("payButton.saveDetails"):"",onClick:this.submit}))}),e&&!e._disableClickToPay)&&(this.clickToPayService=d(this.props.configuration,this.props.clickToPayConfiguration,this.props.environment,this.analytics),null===(i=this.clickToPayService)||void 0===i||i.initialize())}}O(B,"type",c.scheme),O(B,"defaultProps",R({showFormInstruction:!0,_disableClickToPay:!1,doBinLookup:!0},r(["type","setComponentRef"]).from(k)));export{B as CardElement,B as default};
|
|
2
2
|
//# sourceMappingURL=Card.js.map
|