@adyen/adyen-web 6.5.1 → 6.7.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/dist/cjs/adyen.css +5 -5
- package/dist/cjs/adyen.css.map +1 -1
- package/dist/cjs/index.cjs +2 -2
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.cts +290 -169
- package/dist/es/adyen.css +5 -5
- package/dist/es/adyen.css.map +1 -1
- package/dist/es/components/ANCV/ANCV.js +1 -1
- package/dist/es/components/ANCV/ANCV.js.map +1 -1
- package/dist/es/components/Ach/components/AchInput/AchInput.js.map +1 -1
- package/dist/es/components/Ach/components/AchInput/defaultProps.js +1 -1
- package/dist/es/components/Ach/components/AchInput/defaultProps.js.map +1 -1
- package/dist/es/components/Ach/components/AchInput/defaultStyles.js.map +1 -1
- package/dist/es/components/AfterPay/AfterPayB2B.js.map +1 -1
- package/dist/es/components/AmazonPay/AmazonPay.js.map +1 -1
- package/dist/es/components/AmazonPay/components/AmazonPayButton.js.map +1 -1
- package/dist/es/components/BacsDD/BacsDD.js.map +1 -1
- package/dist/es/components/BacsDD/components/BacsInput.js.map +1 -1
- package/dist/es/components/BankTransfer/BankTransfer.js.map +1 -1
- package/dist/es/components/Boleto/Boleto.js.map +1 -1
- package/dist/es/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
- package/dist/es/components/Boleto/components/BoletoVoucherResult/BoletoVoucherResult.js +1 -1
- package/dist/es/components/Boleto/components/BoletoVoucherResult/BoletoVoucherResult.js.map +1 -1
- package/dist/es/components/Card/Card.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/CardInput.js +1 -1
- package/dist/es/components/Card/components/CardInput/CardInput.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/components/BrandIcon.js +1 -1
- package/dist/es/components/Card/components/CardInput/components/BrandIcon.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/defaultProps.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/handlers.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/types.js +1 -1
- package/dist/es/components/Card/components/CardInput/types.js.map +1 -1
- package/dist/es/components/CashAppPay/CashAppPay.js.map +1 -1
- package/dist/es/components/CashAppPay/services/types.js +1 -1
- package/dist/es/components/CashAppPay/services/types.js.map +1 -1
- package/dist/es/components/CustomCard/CustomCard.js +1 -1
- package/dist/es/components/CustomCard/CustomCard.js.map +1 -1
- package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js +1 -1
- package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
- package/dist/es/components/Doku/components/DokuInput/DokuInput.js.map +1 -1
- package/dist/es/components/Donation/components/CampaignContent.js +1 -1
- package/dist/es/components/Donation/components/CampaignContent.js.map +1 -1
- package/dist/es/components/Donation/components/CampaignInfo.js +2 -0
- package/dist/es/components/Donation/components/CampaignInfo.js.map +1 -0
- package/dist/es/components/Donation/components/DonationComponent.js +1 -1
- package/dist/es/components/Donation/components/DonationComponent.js.map +1 -1
- package/dist/es/components/Dropin/Dropin.js.map +1 -1
- package/dist/es/components/Dropin/components/DropinComponent.js +1 -1
- package/dist/es/components/Dropin/components/DropinComponent.js.map +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/useBrandLogoConfiguration.js.map +1 -1
- package/dist/es/components/Dropin/elements/filters.js.map +1 -1
- package/dist/es/components/Dropin/elements/getComponentConfiguration.js.map +1 -1
- package/dist/es/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
- package/dist/es/components/Giftcard/Giftcard.js +1 -1
- package/dist/es/components/Giftcard/Giftcard.js.map +1 -1
- package/dist/es/components/Giftcard/components/GiftcardComponent.js.map +1 -1
- package/dist/es/components/GooglePay/GooglePay.js.map +1 -1
- package/dist/es/components/GooglePay/components/GooglePayButton.js +1 -1
- package/dist/es/components/GooglePay/components/GooglePayButton.js.map +1 -1
- package/dist/es/components/GooglePay/requests.js.map +1 -1
- package/dist/es/components/Klarna/KlarnaPayments.js +1 -1
- package/dist/es/components/Klarna/KlarnaPayments.js.map +1 -1
- package/dist/es/components/Klarna/components/KlarnaContainer/KlarnaContainer.js +1 -1
- package/dist/es/components/Klarna/components/KlarnaContainer/KlarnaContainer.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/MBWay.js.map +1 -1
- package/dist/es/components/Multibanco/Multibanco.js.map +1 -1
- package/dist/es/components/OnlineBankingCZ/index.js +1 -1
- package/dist/es/components/OnlineBankingCZ/index.js.map +1 -1
- package/dist/es/components/OnlineBankingSK/index.js +1 -1
- package/dist/es/components/OnlineBankingSK/index.js.map +1 -1
- package/dist/es/components/Oxxo/Oxxo.js.map +1 -1
- package/dist/es/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.js +1 -1
- package/dist/es/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.js.map +1 -1
- package/dist/es/components/PayByBankUS/PayByBankUS.js.map +1 -1
- package/dist/es/components/PayPal/Paypal.js.map +1 -1
- package/dist/es/components/PayPal/utils/get-paypal-styles.js.map +1 -1
- package/dist/es/components/Pix/Pix.js.map +1 -1
- package/dist/es/components/Redirect/Redirect.js +1 -1
- package/dist/es/components/Redirect/Redirect.js.map +1 -1
- package/dist/es/components/Redirect/components/RedirectShopper/RedirectShopper.js +1 -1
- package/dist/es/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
- package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js +1 -1
- package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
- package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js +1 -1
- package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
- package/dist/es/components/ThreeDS2/callSubmit3DS2Fingerprint.js +1 -1
- package/dist/es/components/ThreeDS2/callSubmit3DS2Fingerprint.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
- package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
- package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/Form/ThreeDS2Form.js.map +1 -1
- package/dist/es/components/Twint/Twint.js.map +1 -1
- package/dist/es/components/UPI/UPI.js.map +1 -1
- package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
- package/dist/es/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js.map +1 -1
- package/dist/es/components/internal/Address/Address.js.map +1 -1
- package/dist/es/components/internal/Address/components/CountryField.js +1 -1
- package/dist/es/components/internal/Address/components/CountryField.js.map +1 -1
- package/dist/es/components/internal/Address/components/FieldContainer.js +1 -1
- package/dist/es/components/internal/Address/components/FieldContainer.js.map +1 -1
- package/dist/es/components/internal/Address/components/ReadOnlyAddress.js.map +1 -1
- package/dist/es/components/internal/Address/components/StateField.js +1 -1
- package/dist/es/components/internal/Address/components/StateField.js.map +1 -1
- package/dist/es/components/internal/BaseElement/BaseElement.js +1 -1
- package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
- package/dist/es/components/internal/Button/Button.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPSection/CtPLogoutLink.js +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPSection/CtPLogoutLink.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/context/ClickToPayProvider.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/errors/TimeoutError.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/sdks/SrciError.js.map +1 -1
- package/dist/es/components/internal/CompanyDetails/CompanyDetails.js.map +1 -1
- package/dist/es/components/internal/FormFields/Select/Select.js +1 -1
- package/dist/es/components/internal/FormFields/Select/Select.js.map +1 -1
- package/dist/es/components/internal/FormFields/Select/components/SelectButton.js +1 -1
- package/dist/es/components/internal/FormFields/Select/components/SelectButton.js.map +1 -1
- package/dist/es/components/internal/IFrame/Iframe.js.map +1 -1
- package/dist/es/components/internal/IbanInput/IbanInput.js.map +1 -1
- package/dist/es/components/internal/IssuerList/IssuerList.js +1 -1
- package/dist/es/components/internal/IssuerList/IssuerList.js.map +1 -1
- package/dist/es/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
- package/dist/es/components/internal/OpenInvoice/utils.js.map +1 -1
- package/dist/es/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
- package/dist/es/components/internal/PersonalDetails/ReadOnlyPersonalDetails.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/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/SFP/defaultProps.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/binLookup/triggerBinLookUp.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/AbstractCSF.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/CSF.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleConfig.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleEncryption.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleIOSTouchEvents.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleValidation.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/partials/handleBinValue.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/partials/handleFocus.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/partials/handleIframeConfigFeedback.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/partials/isConfigured.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/partials/postMessageToAllIframes.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/partials/processAutoComplete.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/partials/processBrand.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/partials/validateForm.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/utils/callbackUtils.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/utils/destroySecuredFields.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/utils/processErrors.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/constants.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/constants.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/utilities/addContextTranslations.js.map +1 -1
- package/dist/es/components/internal/UIElement/UIElement.js +1 -1
- package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
- package/dist/es/components/internal/UIElement/utils.js.map +1 -1
- package/dist/es/components/internal/Voucher/utils.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/EventsQueue.js.map +1 -1
- package/dist/es/core/Analytics/analyticsPreProcessor.js +1 -1
- package/dist/es/core/Analytics/analyticsPreProcessor.js.map +1 -1
- package/dist/es/core/Analytics/constants.js +1 -1
- package/dist/es/core/Analytics/constants.js.map +1 -1
- package/dist/es/core/Analytics/utils.js.map +1 -1
- package/dist/es/core/Errors/AdyenCheckoutError.js +1 -1
- package/dist/es/core/Errors/AdyenCheckoutError.js.map +1 -1
- package/dist/es/core/Errors/SRMessages.js.map +1 -1
- package/dist/es/core/Errors/SRPanel.js.map +1 -1
- package/dist/es/core/Errors/constants.js +1 -1
- package/dist/es/core/Errors/constants.js.map +1 -1
- package/dist/es/core/Errors/utils.js +1 -1
- package/dist/es/core/Errors/utils.js.map +1 -1
- package/dist/es/core/RiskModule/RiskModule.js.map +1 -1
- package/dist/es/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.js.map +1 -1
- package/dist/es/core/Services/analytics/collect-id.js +1 -1
- package/dist/es/core/Services/http.js +1 -1
- package/dist/es/core/Services/http.js.map +1 -1
- package/dist/es/core/Services/sessions/constants.js +1 -1
- package/dist/es/core/Services/sessions/constants.js.map +1 -1
- package/dist/es/core/Services/sessions/create-order.js +1 -1
- package/dist/es/core/Services/sessions/create-order.js.map +1 -1
- package/dist/es/core/Services/sessions/make-payment.js +1 -1
- package/dist/es/core/Services/sessions/make-payment.js.map +1 -1
- package/dist/es/core/Services/sessions/setup-session.js.map +1 -1
- package/dist/es/core/Services/sessions/submit-details.js +1 -1
- package/dist/es/core/Services/sessions/submit-details.js.map +1 -1
- package/dist/es/core/core.js +1 -1
- package/dist/es/core/core.registry.js.map +1 -1
- package/dist/es/core/utils.js.map +1 -1
- package/dist/es/external/classnames/index.js.map +1 -1
- package/dist/es/external/preact/dist/preact.js +1 -1
- package/dist/es/external/preact/dist/preact.js.map +1 -1
- package/dist/es/index.d.ts +290 -169
- package/dist/es/language/Language.js.map +1 -1
- package/dist/es/language/utils.js.map +1 -1
- package/dist/es/utils/Storage.js.map +1 -1
- package/dist/es/utils/commonUtils.js.map +1 -1
- package/dist/es/utils/get-process-message-handler.js.map +1 -1
- package/dist/es/utils/getOrigin.js.map +1 -1
- package/dist/es/utils/useForm/reducer.js.map +1 -1
- package/dist/es/utils/useForm/useForm.js.map +1 -1
- package/dist/es-legacy/adyen.css +5 -5
- package/dist/es-legacy/adyen.css.map +1 -1
- package/dist/es-legacy/components/ANCV/ANCV.js +1 -1
- package/dist/es-legacy/components/ANCV/ANCV.js.map +1 -1
- package/dist/es-legacy/components/Ach/components/AchInput/AchInput.js.map +1 -1
- package/dist/es-legacy/components/Ach/components/AchInput/defaultProps.js +1 -1
- package/dist/es-legacy/components/Ach/components/AchInput/defaultProps.js.map +1 -1
- package/dist/es-legacy/components/Ach/components/AchInput/defaultStyles.js.map +1 -1
- package/dist/es-legacy/components/AfterPay/AfterPayB2B.js.map +1 -1
- package/dist/es-legacy/components/AmazonPay/AmazonPay.js.map +1 -1
- package/dist/es-legacy/components/AmazonPay/components/AmazonPayButton.js.map +1 -1
- package/dist/es-legacy/components/BacsDD/BacsDD.js.map +1 -1
- package/dist/es-legacy/components/BacsDD/components/BacsInput.js.map +1 -1
- package/dist/es-legacy/components/BankTransfer/BankTransfer.js.map +1 -1
- package/dist/es-legacy/components/Boleto/Boleto.js.map +1 -1
- package/dist/es-legacy/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
- package/dist/es-legacy/components/Boleto/components/BoletoVoucherResult/BoletoVoucherResult.js +1 -1
- package/dist/es-legacy/components/Boleto/components/BoletoVoucherResult/BoletoVoucherResult.js.map +1 -1
- package/dist/es-legacy/components/Card/Card.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/CardInput.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/CardInput.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/BrandIcon.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/BrandIcon.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/defaultProps.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/handlers.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/types.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/types.js.map +1 -1
- package/dist/es-legacy/components/CashAppPay/CashAppPay.js.map +1 -1
- package/dist/es-legacy/components/CashAppPay/services/types.js +1 -1
- package/dist/es-legacy/components/CashAppPay/services/types.js.map +1 -1
- package/dist/es-legacy/components/CustomCard/CustomCard.js +1 -1
- package/dist/es-legacy/components/CustomCard/CustomCard.js.map +1 -1
- package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js +1 -1
- package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
- package/dist/es-legacy/components/Doku/components/DokuInput/DokuInput.js.map +1 -1
- package/dist/es-legacy/components/Donation/components/CampaignContent.js +1 -1
- package/dist/es-legacy/components/Donation/components/CampaignContent.js.map +1 -1
- package/dist/es-legacy/components/Donation/components/CampaignInfo.js +2 -0
- package/dist/es-legacy/components/Donation/components/CampaignInfo.js.map +1 -0
- package/dist/es-legacy/components/Donation/components/DonationComponent.js +1 -1
- package/dist/es-legacy/components/Donation/components/DonationComponent.js.map +1 -1
- package/dist/es-legacy/components/Dropin/Dropin.js.map +1 -1
- package/dist/es-legacy/components/Dropin/components/DropinComponent.js +1 -1
- package/dist/es-legacy/components/Dropin/components/DropinComponent.js.map +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/useBrandLogoConfiguration.js.map +1 -1
- package/dist/es-legacy/components/Dropin/elements/filters.js.map +1 -1
- package/dist/es-legacy/components/Dropin/elements/getComponentConfiguration.js.map +1 -1
- package/dist/es-legacy/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
- package/dist/es-legacy/components/Giftcard/Giftcard.js +1 -1
- package/dist/es-legacy/components/Giftcard/Giftcard.js.map +1 -1
- package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js.map +1 -1
- package/dist/es-legacy/components/GooglePay/GooglePay.js.map +1 -1
- package/dist/es-legacy/components/GooglePay/components/GooglePayButton.js +1 -1
- package/dist/es-legacy/components/GooglePay/components/GooglePayButton.js.map +1 -1
- package/dist/es-legacy/components/GooglePay/requests.js.map +1 -1
- package/dist/es-legacy/components/Klarna/KlarnaPayments.js +1 -1
- package/dist/es-legacy/components/Klarna/KlarnaPayments.js.map +1 -1
- package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js +1 -1
- package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js.map +1 -1
- package/dist/es-legacy/components/Klarna/components/KlarnaWidget/KlarnaWidget.js +1 -1
- package/dist/es-legacy/components/Klarna/components/KlarnaWidget/KlarnaWidget.js.map +1 -1
- package/dist/es-legacy/components/MBWay/MBWay.js.map +1 -1
- package/dist/es-legacy/components/Multibanco/Multibanco.js.map +1 -1
- package/dist/es-legacy/components/OnlineBankingCZ/index.js +1 -1
- package/dist/es-legacy/components/OnlineBankingCZ/index.js.map +1 -1
- package/dist/es-legacy/components/OnlineBankingSK/index.js +1 -1
- package/dist/es-legacy/components/OnlineBankingSK/index.js.map +1 -1
- package/dist/es-legacy/components/Oxxo/Oxxo.js.map +1 -1
- package/dist/es-legacy/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.js +1 -1
- package/dist/es-legacy/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.js.map +1 -1
- package/dist/es-legacy/components/PayByBankUS/PayByBankUS.js.map +1 -1
- package/dist/es-legacy/components/PayPal/Paypal.js.map +1 -1
- package/dist/es-legacy/components/PayPal/utils/get-paypal-styles.js.map +1 -1
- package/dist/es-legacy/components/Pix/Pix.js.map +1 -1
- package/dist/es-legacy/components/Redirect/Redirect.js +1 -1
- package/dist/es-legacy/components/Redirect/Redirect.js.map +1 -1
- package/dist/es-legacy/components/Redirect/components/RedirectShopper/RedirectShopper.js +1 -1
- package/dist/es-legacy/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/ThreeDS2Challenge.js +1 -1
- package/dist/es-legacy/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js +1 -1
- package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/callSubmit3DS2Fingerprint.js +1 -1
- package/dist/es-legacy/components/ThreeDS2/callSubmit3DS2Fingerprint.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/Form/ThreeDS2Form.js.map +1 -1
- package/dist/es-legacy/components/Twint/Twint.js.map +1 -1
- package/dist/es-legacy/components/UPI/UPI.js.map +1 -1
- package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
- package/dist/es-legacy/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js.map +1 -1
- package/dist/es-legacy/components/internal/Address/Address.js.map +1 -1
- package/dist/es-legacy/components/internal/Address/components/CountryField.js +1 -1
- package/dist/es-legacy/components/internal/Address/components/CountryField.js.map +1 -1
- package/dist/es-legacy/components/internal/Address/components/FieldContainer.js +1 -1
- package/dist/es-legacy/components/internal/Address/components/FieldContainer.js.map +1 -1
- package/dist/es-legacy/components/internal/Address/components/ReadOnlyAddress.js.map +1 -1
- package/dist/es-legacy/components/internal/Address/components/StateField.js +1 -1
- package/dist/es-legacy/components/internal/Address/components/StateField.js.map +1 -1
- package/dist/es-legacy/components/internal/BaseElement/BaseElement.js +1 -1
- package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
- package/dist/es-legacy/components/internal/Button/Button.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPCards/CtPCards.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPSection/CtPLogoutLink.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPSection/CtPLogoutLink.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/context/ClickToPayProvider.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/errors/TimeoutError.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/ClickToPayService.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/sdks/SrciError.js.map +1 -1
- package/dist/es-legacy/components/internal/CompanyDetails/CompanyDetails.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/Select/Select.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/Select/Select.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/Select/components/SelectButton.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/Select/components/SelectButton.js.map +1 -1
- package/dist/es-legacy/components/internal/IFrame/Iframe.js.map +1 -1
- package/dist/es-legacy/components/internal/IbanInput/IbanInput.js.map +1 -1
- package/dist/es-legacy/components/internal/IssuerList/IssuerList.js +1 -1
- package/dist/es-legacy/components/internal/IssuerList/IssuerList.js.map +1 -1
- package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
- package/dist/es-legacy/components/internal/OpenInvoice/utils.js.map +1 -1
- package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
- package/dist/es-legacy/components/internal/PersonalDetails/ReadOnlyPersonalDetails.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/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/defaultProps.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/binLookup/extensions.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/binLookup/triggerBinLookUp.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/AbstractCSF.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/CSF.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +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/CSF/extensions/handleEncryption.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleIOSTouchEvents.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleValidation.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/handleBinValue.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/handleFocus.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/handleIframeConfigFeedback.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/isConfigured.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/postMessageToAllIframes.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/processAutoComplete.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/processBrand.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/validateForm.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/callbackUtils.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/destroySecuredFields.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/processErrors.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/constants.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/constants.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/utilities/addContextTranslations.js.map +1 -1
- package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
- package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
- package/dist/es-legacy/components/internal/UIElement/utils.js.map +1 -1
- package/dist/es-legacy/components/internal/Voucher/utils.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/EventsQueue.js.map +1 -1
- package/dist/es-legacy/core/Analytics/analyticsPreProcessor.js +1 -1
- package/dist/es-legacy/core/Analytics/analyticsPreProcessor.js.map +1 -1
- package/dist/es-legacy/core/Analytics/constants.js +1 -1
- package/dist/es-legacy/core/Analytics/constants.js.map +1 -1
- package/dist/es-legacy/core/Analytics/utils.js.map +1 -1
- package/dist/es-legacy/core/Errors/AdyenCheckoutError.js +1 -1
- package/dist/es-legacy/core/Errors/AdyenCheckoutError.js.map +1 -1
- package/dist/es-legacy/core/Errors/SRMessages.js.map +1 -1
- package/dist/es-legacy/core/Errors/SRPanel.js.map +1 -1
- package/dist/es-legacy/core/Errors/constants.js +1 -1
- package/dist/es-legacy/core/Errors/constants.js.map +1 -1
- package/dist/es-legacy/core/Errors/utils.js +1 -1
- package/dist/es-legacy/core/Errors/utils.js.map +1 -1
- package/dist/es-legacy/core/RiskModule/RiskModule.js.map +1 -1
- package/dist/es-legacy/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.js.map +1 -1
- package/dist/es-legacy/core/Services/analytics/collect-id.js +1 -1
- package/dist/es-legacy/core/Services/http.js +1 -1
- package/dist/es-legacy/core/Services/http.js.map +1 -1
- package/dist/es-legacy/core/Services/sessions/constants.js +1 -1
- package/dist/es-legacy/core/Services/sessions/constants.js.map +1 -1
- package/dist/es-legacy/core/Services/sessions/create-order.js +1 -1
- package/dist/es-legacy/core/Services/sessions/create-order.js.map +1 -1
- package/dist/es-legacy/core/Services/sessions/make-payment.js +1 -1
- package/dist/es-legacy/core/Services/sessions/make-payment.js.map +1 -1
- package/dist/es-legacy/core/Services/sessions/setup-session.js.map +1 -1
- package/dist/es-legacy/core/Services/sessions/submit-details.js +1 -1
- package/dist/es-legacy/core/Services/sessions/submit-details.js.map +1 -1
- package/dist/es-legacy/core/core.js +1 -1
- package/dist/es-legacy/core/core.registry.js.map +1 -1
- package/dist/es-legacy/core/utils.js.map +1 -1
- package/dist/es-legacy/external/classnames/index.js.map +1 -1
- package/dist/es-legacy/external/preact/dist/preact.js +1 -1
- package/dist/es-legacy/external/preact/dist/preact.js.map +1 -1
- package/dist/es-legacy/language/Language.js.map +1 -1
- package/dist/es-legacy/language/utils.js.map +1 -1
- package/dist/es-legacy/utils/Storage.js.map +1 -1
- package/dist/es-legacy/utils/commonUtils.js.map +1 -1
- package/dist/es-legacy/utils/get-process-message-handler.js.map +1 -1
- package/dist/es-legacy/utils/getOrigin.js.map +1 -1
- package/dist/es-legacy/utils/useForm/reducer.js.map +1 -1
- package/dist/es-legacy/utils/useForm/useForm.js.map +1 -1
- package/package.json +25 -25
- package/styles/adyen.css +5 -5
- package/dist/es/components/Donation/components/CampaignContainer.js +0 -2
- package/dist/es/components/Donation/components/CampaignContainer.js.map +0 -1
- package/dist/es-legacy/components/Donation/components/CampaignContainer.js +0 -2
- package/dist/es-legacy/components/Donation/components/CampaignContainer.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":["../../../../../src/components/CashAppPay/services/types.ts"],"sourcesContent":["import { PaymentAmount } from '../../../types/global-types';\n\nexport interface ICashAppWindowObject {\n pay({ clientId }: { clientId: string }): Promise<ICashAppSDK>;\n}\n\n/**\n * https://developers.cash.app/docs/api/technical-documentation/sdks/pay-kit/technical-reference\n */\nexport interface ICashAppSDK {\n render(target: string | HTMLElement, options?: any): Promise<{ begin?: () => void }>;\n addEventListener(eventType: CashAppPayEvents, callback: Function): void;\n removeEventListener(eventType: CashAppPayEvents, callback: Function): void;\n customerRequest(customerRequest: any): Promise<void>;\n restart(): Promise<void>;\n}\n\nexport enum CashAppPayEvents {\n CustomerDismissed = 'CUSTOMER_DISMISSED',\n CustomerRequestApproved = 'CUSTOMER_REQUEST_APPROVED',\n CustomerRequestDeclined = 'CUSTOMER_REQUEST_DECLINED',\n CustomerRequestFailed = 'CUSTOMER_REQUEST_FAILED'\n}\n\nexport interface ICashAppService {\n begin(): void;\n initialize(): Promise<void>;\n setStorePaymentMethod(store: boolean): void;\n renderButton(target: HTMLElement): Promise<void>;\n restart(): Promise<void>;\n createCustomerRequest(): Promise<void>;\n subscribeToEvent(eventType: CashAppPayEvents, callback: Function): Function;\n}\n\nexport type CashAppServiceConfig = {\n useCashAppButtonUi: boolean;\n storePaymentMethod: boolean;\n environment: string;\n clientId: string;\n scopeId: string;\n amount: PaymentAmount;\n referenceId?: string;\n redirectURL?: string;\n button?: {\n shape?: 'semiround' | 'round';\n size?: 'medium' | 'small';\n theme?: 'dark' | 'light';\n width?: 'static' | 'full';\n };\n};\n"],"names":["CashAppPayEvents"],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../../../src/components/CashAppPay/services/types.ts"],"sourcesContent":["import { PaymentAmount } from '../../../types/global-types';\n\nexport interface ICashAppWindowObject {\n pay({ clientId }: { clientId: string }): Promise<ICashAppSDK>;\n}\n\n/**\n * https://developers.cash.app/docs/api/technical-documentation/sdks/pay-kit/technical-reference\n */\nexport interface ICashAppSDK {\n render(target: string | HTMLElement, options?: any): Promise<{ begin?: () => void }>;\n addEventListener(eventType: CashAppPayEvents, callback: Function): void;\n removeEventListener(eventType: CashAppPayEvents, callback: Function): void;\n customerRequest(customerRequest: any): Promise<void>;\n restart(): Promise<void>;\n}\n\nexport enum CashAppPayEvents {\n CustomerDismissed = 'CUSTOMER_DISMISSED',\n CustomerRequestApproved = 'CUSTOMER_REQUEST_APPROVED',\n CustomerRequestDeclined = 'CUSTOMER_REQUEST_DECLINED',\n CustomerRequestFailed = 'CUSTOMER_REQUEST_FAILED'\n}\n\nexport interface ICashAppService {\n begin(): void;\n initialize(): Promise<void>;\n setStorePaymentMethod(store: boolean): void;\n renderButton(target: HTMLElement): Promise<void>;\n restart(): Promise<void>;\n createCustomerRequest(): Promise<void>;\n subscribeToEvent(eventType: CashAppPayEvents, callback: Function): Function;\n}\n\nexport type CashAppServiceConfig = {\n useCashAppButtonUi: boolean;\n storePaymentMethod: boolean;\n environment: string;\n clientId: string;\n scopeId: string;\n amount: PaymentAmount;\n referenceId?: string;\n redirectURL?: string;\n button?: {\n shape?: 'semiround' | 'round';\n size?: 'medium' | 'small';\n theme?: 'dark' | 'light';\n width?: 'static' | 'full';\n };\n};\n"],"names":["CashAppPayEvents"],"mappings":"AAiBO,IAAAA,EAAKA,SAAAA,GAAAA,8MAAAA,CAKX,CALWA,CAKX,CAAA"}
|
|
@@ -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 o from"./CustomCardInput/CustomCardInput.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import n from"../../utils/browserInfo.js";import s from"../internal/SecuredFields/binLookup/triggerBinLookUp.js";import{getCardImageUrl as i,fieldTypeToSnakeCase as a}from"../internal/SecuredFields/utils.js";import{TxVariants as p}from"../tx-variants.js";import{ANALYTICS_FOCUS_STR as u,ANALYTICS_UNFOCUS_STR as c}from"../../core/Analytics/constants.js";function d(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function l(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable})))),r.forEach((function(t){d(e,t,o[t])}))}return e}function h(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){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 m extends t{formatProps(e){return h(l({},e),{type:p.customCard
|
|
1
|
+
import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import o from"./CustomCardInput/CustomCardInput.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import n from"../../utils/browserInfo.js";import s from"../internal/SecuredFields/binLookup/triggerBinLookUp.js";import{getCardImageUrl as i,fieldTypeToSnakeCase as a}from"../internal/SecuredFields/utils.js";import{TxVariants as p}from"../tx-variants.js";import{ANALYTICS_FOCUS_STR as u,ANALYTICS_UNFOCUS_STR as c}from"../../core/Analytics/constants.js";function d(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function l(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable})))),r.forEach((function(t){d(e,t,o[t])}))}return e}function h(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){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 m extends t{formatProps(e){return h(l({},e),{type:p.customCard})}formatData(){const e=this.state.selectedBrandValue;return{paymentMethod:l({type:"scheme"},this.state.data,e&&{brand:e}),browserInfo:this.browserInfo,origin:!!window&&window.location.origin}}submitAnalytics(e){super.submitAnalytics(e,this.props)}updateStyles(e){var t;return(null===(t=this.componentRef)||void 0===t?void 0:t.updateStyles)&&this.componentRef.updateStyles(e),this}setFocusOn(e){var t;return(null===(t=this.componentRef)||void 0===t?void 0:t.setFocusOn)&&this.componentRef.setFocusOn(e),this}processBinLookupResponse(e){var t;return(null===(t=this.componentRef)||void 0===t?void 0:t.processBinLookupResponse)&&this.componentRef.processBinLookupResponse(e),this}dualBrandingChangeHandler(e){var t;return(null===(t=this.componentRef)||void 0===t?void 0:t.dualBrandingChangeHandler)&&this.componentRef.dualBrandingChangeHandler(e),this}handleUnsupportedCard(e){var t;return(null===(t=this.componentRef)||void 0===t?void 0:t.handleUnsupportedCard)&&this.componentRef.handleUnsupportedCard(e),this}onBinLookup(e){const t=l({},e);var o;(t.rootNode=this._node,t.isReset)||(t.supportedBrandsRaw=null===(o=e.supportedBrandsRaw)||void 0===o?void 0:o.map((e=>{var t,o;return e.brandImageUrl=null!==(o=null===(t=this.props.brandsConfiguration[e.brand])||void 0===t?void 0:t.icon)&&void 0!==o?o:i(e.brand,this.resources),e})));this.props.onBinLookup(t)}get isValid(){return!!this.state.isValid}get browserInfo(){return n()}render(){return e(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},e(o,h(l({ref:e=>{this.componentRef=e}},this.props,this.state),{handleKeyPress:this.handleKeyPress,rootNode:this._node,onChange:this.setState,onBinValue:this.onBinValue,implementationType:"custom",resources:this.resources,brand:this.brand,onFocus:this.onFocus})))}constructor(...e){super(...e),d(this,"brand",p.card),d(this,"onBinValue",s(this)),d(this,"onFocus",(e=>{var t,o;this.submitAnalytics({type:!0===e.focus?u:c,target:a(e.fieldType)}),null===(t=(o=this.props).onFocus)||void 0===t||t.call(o,e)})),d(this,"onEnterKeyPressed",((e,t)=>{var o,r;null===(o=(r=this.props).onEnterKeyPressed)||void 0===o||o.call(r,e,t)}))}}d(m,"type",p.customCard),d(m,"analyticsType","custom-scheme"),d(m,"defaultProps",{onBinLookup:()=>{},brandsConfiguration:{}});export{m as CustomCard,m as default};
|
|
2
2
|
//# sourceMappingURL=CustomCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomCard.js","sources":["../../../../src/components/CustomCard/CustomCard.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement';\nimport CustomCardInput from './CustomCardInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport triggerBinLookUp from '../internal/SecuredFields/binLookup/triggerBinLookUp';\nimport {
|
|
1
|
+
{"version":3,"file":"CustomCard.js","sources":["../../../../src/components/CustomCard/CustomCard.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement';\nimport CustomCardInput from './CustomCardInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport triggerBinLookUp from '../internal/SecuredFields/binLookup/triggerBinLookUp';\nimport { CardBinLookupData, CardFocusData } from '../internal/SecuredFields/lib/types';\nimport { BrandObject } from '../Card/types';\nimport { getCardImageUrl, fieldTypeToSnakeCase } from '../internal/SecuredFields/utils';\nimport { TxVariants } from '../tx-variants';\nimport { CustomCardConfiguration } from './types';\nimport { ANALYTICS_FOCUS_STR, ANALYTICS_UNFOCUS_STR } from '../../core/Analytics/constants';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\n\nexport class CustomCard extends UIElement<CustomCardConfiguration> {\n public static type = TxVariants.customCard;\n\n public static analyticsType = 'custom-scheme';\n\n protected static defaultProps = {\n onBinLookup: () => {},\n brandsConfiguration: {}\n };\n\n private brand = TxVariants.card;\n\n formatProps(props: CustomCardConfiguration) {\n return {\n ...props,\n type: TxVariants.customCard\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const sfBrand = this.state.selectedBrandValue;\n return {\n paymentMethod: {\n type: 'scheme',\n ...this.state.data,\n ...(sfBrand && { brand: sfBrand })\n },\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin\n };\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n super.submitAnalytics(analyticsObj, this.props);\n }\n\n updateStyles(stylesObj) {\n if (this.componentRef?.updateStyles) this.componentRef.updateStyles(stylesObj);\n return this;\n }\n\n setFocusOn(frame) {\n if (this.componentRef?.setFocusOn) this.componentRef.setFocusOn(frame);\n return this;\n }\n\n processBinLookupResponse(binLookupResponse) {\n if (this.componentRef?.processBinLookupResponse) this.componentRef.processBinLookupResponse(binLookupResponse);\n return this;\n }\n\n dualBrandingChangeHandler(e: Event | string) {\n if (this.componentRef?.dualBrandingChangeHandler) this.componentRef.dualBrandingChangeHandler(e);\n return this;\n }\n\n handleUnsupportedCard(errObj) {\n if (this.componentRef?.handleUnsupportedCard) this.componentRef.handleUnsupportedCard(errObj);\n return this;\n }\n\n onBinLookup(obj: CardBinLookupData) {\n const nuObj = { ...obj };\n nuObj.rootNode = this._node;\n\n if (!nuObj.isReset) {\n // Add brandImage urls, first checking if the merchant has configured their own one for the brand\n nuObj.supportedBrandsRaw = obj.supportedBrandsRaw?.map((item: BrandObject) => {\n item.brandImageUrl = this.props.brandsConfiguration[item.brand]?.icon ?? getCardImageUrl(item.brand, this.resources);\n return item;\n });\n }\n\n this.props.onBinLookup(nuObj);\n }\n\n public onBinValue = triggerBinLookUp(this);\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n private onFocus = (obj: CardFocusData) => {\n this.submitAnalytics({\n type: obj.focus === true ? ANALYTICS_FOCUS_STR : ANALYTICS_UNFOCUS_STR,\n target: fieldTypeToSnakeCase(obj.fieldType)\n });\n\n // Call merchant defined callback\n this.props.onFocus?.(obj);\n };\n\n protected onEnterKeyPressed = (activeElement: Element, component: UIElement) => {\n this.props.onEnterKeyPressed?.(activeElement, component);\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <CustomCardInput\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n {...this.state}\n handleKeyPress={this.handleKeyPress}\n rootNode={this._node}\n onChange={this.setState}\n onBinValue={this.onBinValue}\n implementationType={'custom'}\n resources={this.resources}\n brand={this.brand}\n onFocus={this.onFocus}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default CustomCard;\n"],"names":["CustomCard","UIElement","formatProps","props","_object_spread_props","type","TxVariants","customCard","formatData","sfBrand","this","state","selectedBrandValue","paymentMethod","_object_spread","data","brand","browserInfo","origin","window","location","submitAnalytics","analyticsObj","super","updateStyles","stylesObj","_this_componentRef","componentRef","setFocusOn","frame","processBinLookupResponse","binLookupResponse","dualBrandingChangeHandler","e","handleUnsupportedCard","errObj","onBinLookup","obj","nuObj","rootNode","_node","isReset","supportedBrandsRaw","map","item","_this_props_brandsConfiguration_item_brand","_this_props_brandsConfiguration_item_brand_icon","brandImageUrl","brandsConfiguration","icon","getCardImageUrl","resources","isValid","collectBrowserInfo","render","h","CoreProvider","i18n","loadingContext","CustomCardInput","ref","handleKeyPress","onChange","setState","onBinValue","implementationType","onFocus","args","_define_property","card","triggerBinLookUp","_this_props_onFocus","_this_props","focus","ANALYTICS_FOCUS_STR","ANALYTICS_UNFOCUS_STR","target","fieldTypeToSnakeCase","fieldType","call","onEnterKeyPressed","activeElement","component","_this_props_onEnterKeyPressed","analyticsType","defaultProps"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useRef as o,useState as n,useMemo as r,useEffect as t}from"../../../external/preact/hooks/dist/hooks.js";import a from"../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import i from"../../internal/SecuredFields/binLookup/extensions.js";function s(e,o,n){return o in e?Object.defineProperty(e,o,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[o]=n,e}function l(e){for(var o=1;o<arguments.length;o++){var n=null!=arguments[o]?arguments[o]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(o){s(e,o,n[o])}))}return e}function d(e,o){return o=null!=o?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):function(e){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);o.push.apply(o,n)}return o}(Object(o)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(o,n))})),e}function u(s){const u=o(null),[p,y]=n({}),[f,m]=n({}),[g,b]=n({}),[h,O]=n(!1),[S,C]=n(null),[j,F]=n([]),[P,V]=n(""),E=r((()=>i(s,{sfp:u},{dualBrandSelectElements:j,setDualBrandSelectElements:F,setSelectedBrandValue:V,issuingCountryCode:S,setIssuingCountryCode:C})),[j,S]);return this.processBinLookupResponse=(e,o)=>{E.processBinLookup(e,o)},this.dualBrandingChangeHandler=E.handleDualBrandSelection,t((()=>(this.setFocusOn=u.current.setFocusOn,this.updateStyles=u.current.updateStyles,this.showValidation=u.current.showValidation,this.handleUnsupportedCard=u.current.handleUnsupportedCard,()=>{u.current.destroy()})),[]),t((()=>{const e=u.current.mapErrorsToValidationRuleResult(),o=l({},p,e);if(s.onChange({data:g,valid:f,errors:o,isValid:h,selectedBrandValue:P}),Object.keys(o).length){var n,r;const e=Object.entries(o).map((([e,o])=>l({fieldType:e},o||{error:"",rootNode:this.props.rootNode})));null===(n=(r=this.props).onValidationError)||void 0===n||n.call(r,e)}}),[g,f,p,P]),e(a,d(l({ref:u},c(s)),{type:s.brand,onChange:e=>{b(l({},g,e.data)),y(l({},p,e.errors)),m(l({},f,e.valid)),O(e.isSfpValid)},render:()=>null}))}u.defaultProps={onChange:()=>{},onError:()=>{},onValidationError:()=>{}};const c=e=>({autoFocus:e.autoFocus,brands:e.brands,brandsConfiguration:e.brandsConfiguration,clientKey:e.clientKey,i18n:e.i18n,implementationType:e.implementationType,keypadFix:e.keypadFix,legacyInputMode:e.legacyInputMode,loadingContext:e.loadingContext,minimumExpiryDate:e.minimumExpiryDate,onAdditionalSFConfig:e.onAdditionalSFConfig,onAdditionalSFRemoved:e.onAdditionalSFRemoved,onAllValid:e.onAllValid,onAutoComplete:e.onAutoComplete,onBinValue:e.onBinValue,onBrand:e.onBrand,onConfigSuccess:e.onConfigSuccess,handleKeyPress:e.handleKeyPress,onError:e.onError,onFieldValid:e.onFieldValid,onFocus:e.onFocus,onLoad:e.onLoad,rootNode:e.rootNode,showWarnings:e.showWarnings,styles:e.styles,trimTrailingSeparator:e.trimTrailingSeparator,resources:e.resources,maskSecurityCode:e.maskSecurityCode,placeholders:e.placeholders});export{u as default};
|
|
1
|
+
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useRef as o,useState as n,useMemo as r,useEffect as t}from"../../../external/preact/hooks/dist/hooks.js";import a from"../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import i from"../../internal/SecuredFields/binLookup/extensions.js";function s(e,o,n){return o in e?Object.defineProperty(e,o,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[o]=n,e}function l(e){for(var o=1;o<arguments.length;o++){var n=null!=arguments[o]?arguments[o]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(o){s(e,o,n[o])}))}return e}function d(e,o){return o=null!=o?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):function(e){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);o.push.apply(o,n)}return o}(Object(o)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(o,n))})),e}function u(s){const u=o(null),[p,y]=n({}),[f,m]=n({}),[g,b]=n({}),[h,O]=n(!1),[S,C]=n(null),[j,F]=n([]),[P,V]=n(""),E=r((()=>i(s,{sfp:u},{dualBrandSelectElements:j,setDualBrandSelectElements:F,setSelectedBrandValue:V,issuingCountryCode:S,setIssuingCountryCode:C})),[j,S]);return this.processBinLookupResponse=(e,o)=>{E.processBinLookup(e,o)},this.dualBrandingChangeHandler=E.handleDualBrandSelection,t((()=>(this.setFocusOn=u.current.setFocusOn,this.updateStyles=u.current.updateStyles,this.showValidation=u.current.showValidation,this.handleUnsupportedCard=u.current.handleUnsupportedCard,()=>{u.current.destroy()})),[]),t((()=>{const e=u.current.mapErrorsToValidationRuleResult(),o=l({},p,e);if(s.onChange({data:g,valid:f,errors:o,isValid:h,selectedBrandValue:P}),Object.keys(o).length){var n,r;const e=Object.entries(o).map((([e,o])=>l({fieldType:e},o||{error:"",rootNode:this.props.rootNode})));null===(n=(r=this.props).onValidationError)||void 0===n||n.call(r,e)}}),[g,f,p,P]),e(a,d(l({ref:u},c(s)),{type:s.brand,onChange:e=>{b(l({},g,e.data)),y(l({},p,e.errors)),m(l({},f,e.valid)),O(e.isSfpValid)},render:()=>null}))}u.defaultProps={onChange:()=>{},onError:()=>{},onValidationError:()=>{}};const c=e=>({autoFocus:e.autoFocus,brands:e.brands,brandsConfiguration:e.brandsConfiguration,clientKey:e.clientKey,forceCompat:e.forceCompat,i18n:e.i18n,implementationType:e.implementationType,keypadFix:e.keypadFix,legacyInputMode:e.legacyInputMode,loadingContext:e.loadingContext,minimumExpiryDate:e.minimumExpiryDate,onAdditionalSFConfig:e.onAdditionalSFConfig,onAdditionalSFRemoved:e.onAdditionalSFRemoved,onAllValid:e.onAllValid,onAutoComplete:e.onAutoComplete,onBinValue:e.onBinValue,onBrand:e.onBrand,onConfigSuccess:e.onConfigSuccess,handleKeyPress:e.handleKeyPress,onError:e.onError,onFieldValid:e.onFieldValid,onFocus:e.onFocus,onLoad:e.onLoad,rootNode:e.rootNode,showWarnings:e.showWarnings,styles:e.styles,trimTrailingSeparator:e.trimTrailingSeparator,resources:e.resources,maskSecurityCode:e.maskSecurityCode,placeholders:e.placeholders});export{u as default};
|
|
2
2
|
//# sourceMappingURL=CustomCardInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomCardInput.js","sources":["../../../../../src/components/CustomCard/CustomCardInput/CustomCardInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef, useMemo } from 'preact/hooks';\nimport Language from '../../../language/Language';\nimport SecuredFieldsProvider from '../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport { SFPState } from '../../internal/SecuredFields/SFP/types';\nimport { BinLookupResponse, CardBrandsConfiguration } from '../../Card/types';\nimport SFExtensions from '../../internal/SecuredFields/binLookup/extensions';\nimport { StylesObject } from '../../internal/SecuredFields/lib/types';\nimport { Resources } from '../../../core/Context/Resources';\nimport { Placeholders, SFError } from '../../Card/components/CardInput/types';\nimport { ValidationError } from '../types';\n\ninterface SecuredFieldsProps {\n autoFocus?: boolean;\n brand?: string;\n brands?: string[];\n brandsConfiguration?: CardBrandsConfiguration;\n clientKey?: string;\n countryCode?: string;\n i18n: Language;\n implementationType?: string;\n keypadFix?: boolean;\n loadingContext?: string;\n legacyInputMode?: boolean;\n minimumExpiryDate?: string;\n onAdditionalSFConfig?: () => {};\n onAdditionalSFRemoved?: () => {};\n onAllValid?: () => {};\n onAutoComplete?: () => {};\n onBinValue?: () => {};\n onBrand?: () => {};\n onConfigSuccess?: () => {};\n onChange: (data) => void;\n handleKeyPress?: (obj: KeyboardEvent) => void;\n onError?: () => {};\n onFieldValid?: () => {};\n onFocus?: (e) => {};\n onLoad?: () => {};\n placeholders?: Placeholders;\n rootNode: HTMLElement;\n resources: Resources;\n showWarnings?: boolean;\n styles?: StylesObject;\n trimTrailingSeparator?: boolean;\n type: string;\n maskSecurityCode?: boolean;\n}\n\nconst defaultProps = {\n onChange: () => {},\n onError: () => {},\n onValidationError: () => {}\n};\n\nfunction CustomCardInput(props: SecuredFieldsProps) {\n const sfp = useRef(null);\n\n const [errors, setErrors] = useState({});\n const [valid, setValid] = useState({});\n const [data, setData] = useState({});\n\n const [isSfpValid, setIsSfpValid] = useState(false);\n\n const [issuingCountryCode, setIssuingCountryCode] = useState(null);\n\n const [dualBrandSelectElements, setDualBrandSelectElements] = useState([]);\n const [selectedBrandValue, setSelectedBrandValue] = useState('');\n\n const handleSecuredFieldsChange = (sfState: SFPState): void => {\n setData({ ...data, ...sfState.data });\n setErrors({ ...errors, ...sfState.errors });\n setValid({ ...valid, ...sfState.valid });\n\n setIsSfpValid(sfState.isSfpValid);\n };\n\n // Farm the handlers for binLookup related functionality out to another 'extensions' file\n const extensions = useMemo(\n () =>\n SFExtensions(\n props,\n { sfp },\n { dualBrandSelectElements, setDualBrandSelectElements, setSelectedBrandValue, issuingCountryCode, setIssuingCountryCode }\n ),\n [dualBrandSelectElements, issuingCountryCode]\n );\n\n /**\n * EXPECTED METHODS ON SecuredFields.this\n */\n this.processBinLookupResponse = (binLookupResponse: BinLookupResponse, isReset: boolean) => {\n extensions.processBinLookup(binLookupResponse, isReset);\n };\n\n this.dualBrandingChangeHandler = extensions.handleDualBrandSelection;\n\n /**\n * EFFECT HOOKS\n */\n useEffect(() => {\n // componentDidMount\n this.setFocusOn = sfp.current.setFocusOn;\n this.updateStyles = sfp.current.updateStyles;\n this.showValidation = sfp.current.showValidation;\n this.handleUnsupportedCard = sfp.current.handleUnsupportedCard;\n\n // componentWillUnmount\n return () => {\n sfp.current.destroy();\n };\n }, []);\n\n /**\n * Main 'componentDidUpdate' handler\n */\n useEffect(() => {\n const sfStateErrorsObj = sfp.current.mapErrorsToValidationRuleResult();\n\n const mappedErrors = { ...errors, ...sfStateErrorsObj }; // maps sfErrors\n\n props.onChange({\n data,\n valid,\n errors: mappedErrors,\n isValid: isSfpValid,\n selectedBrandValue\n });\n\n // Create an array of Validation error objects and send to callback\n if (Object.keys(mappedErrors).length) {\n const validationErrors: ValidationError[] = Object.entries(mappedErrors).map(([fieldType, error]) => {\n const valErr: ValidationError = {\n fieldType,\n ...(error ? (error as SFError) : { error: '', rootNode: this.props.rootNode })\n };\n return valErr;\n });\n this.props.onValidationError?.(validationErrors);\n }\n }, [data, valid, errors, selectedBrandValue]);\n\n /**\n * RENDER\n */\n // prettier-ignore\n return (\n <SecuredFieldsProvider\n ref={sfp}\n {...extractPropsForSFP(props)}\n type={props.brand}\n onChange={handleSecuredFieldsChange}\n render={() => null}\n />\n );\n}\n\nCustomCardInput.defaultProps = defaultProps;\n\nexport default CustomCardInput;\n\nconst extractPropsForSFP = (props: SecuredFieldsProps) => {\n return {\n autoFocus: props.autoFocus,\n brands: props.brands,\n brandsConfiguration: props.brandsConfiguration,\n clientKey: props.clientKey,\n // countryCode: props.countryCode, // only used for korean cards when koreanAuthenticationRequired is true\n i18n: props.i18n,\n implementationType: props.implementationType,\n keypadFix: props.keypadFix,\n legacyInputMode: props.legacyInputMode,\n loadingContext: props.loadingContext,\n minimumExpiryDate: props.minimumExpiryDate,\n onAdditionalSFConfig: props.onAdditionalSFConfig,\n onAdditionalSFRemoved: props.onAdditionalSFRemoved,\n onAllValid: props.onAllValid,\n onAutoComplete: props.onAutoComplete,\n onBinValue: props.onBinValue,\n onBrand: props.onBrand,\n // onChange // set directly\n onConfigSuccess: props.onConfigSuccess,\n handleKeyPress: props.handleKeyPress,\n onError: props.onError,\n onFieldValid: props.onFieldValid,\n onFocus: props.onFocus,\n onLoad: props.onLoad,\n // render // set directly\n rootNode: props.rootNode,\n showWarnings: props.showWarnings,\n styles: props.styles,\n trimTrailingSeparator: props.trimTrailingSeparator,\n resources: props.resources,\n maskSecurityCode: props.maskSecurityCode,\n placeholders: props.placeholders\n };\n};\n"],"names":["CustomCardInput","props","sfp","useRef","errors","setErrors","useState","valid","setValid","data","setData","isSfpValid","setIsSfpValid","issuingCountryCode","setIssuingCountryCode","dualBrandSelectElements","setDualBrandSelectElements","selectedBrandValue","setSelectedBrandValue","extensions","useMemo","SFExtensions","this","processBinLookupResponse","binLookupResponse","isReset","processBinLookup","dualBrandingChangeHandler","handleDualBrandSelection","useEffect","setFocusOn","current","updateStyles","showValidation","handleUnsupportedCard","destroy","sfStateErrorsObj","mapErrorsToValidationRuleResult","mappedErrors","_object_spread","onChange","isValid","Object","keys","length","_this_props_onValidationError","_this_props","validationErrors","entries","map","fieldType","error","rootNode","onValidationError","call","h","SecuredFieldsProvider","ref","extractPropsForSFP","type","brand","sfState","render","defaultProps","onError","autoFocus","brands","brandsConfiguration","clientKey","i18n","implementationType","keypadFix","legacyInputMode","loadingContext","minimumExpiryDate","onAdditionalSFConfig","onAdditionalSFRemoved","onAllValid","onAutoComplete","onBinValue","onBrand","onConfigSuccess","handleKeyPress","onFieldValid","onFocus","onLoad","showWarnings","styles","trimTrailingSeparator","resources","maskSecurityCode","placeholders"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CustomCardInput.js","sources":["../../../../../src/components/CustomCard/CustomCardInput/CustomCardInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef, useMemo } from 'preact/hooks';\nimport Language from '../../../language/Language';\nimport SecuredFieldsProvider from '../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport { SFPState } from '../../internal/SecuredFields/SFP/types';\nimport { BinLookupResponse, CardBrandsConfiguration } from '../../Card/types';\nimport SFExtensions from '../../internal/SecuredFields/binLookup/extensions';\nimport { StylesObject } from '../../internal/SecuredFields/lib/types';\nimport { Resources } from '../../../core/Context/Resources';\nimport { Placeholders, SFError } from '../../Card/components/CardInput/types';\nimport { ValidationError } from '../types';\n\ninterface SecuredFieldsProps {\n autoFocus?: boolean;\n brand?: string;\n brands?: string[];\n brandsConfiguration?: CardBrandsConfiguration;\n clientKey?: string;\n countryCode?: string;\n forceCompat?: boolean;\n i18n: Language;\n implementationType?: string;\n keypadFix?: boolean;\n loadingContext?: string;\n legacyInputMode?: boolean;\n minimumExpiryDate?: string;\n onAdditionalSFConfig?: () => {};\n onAdditionalSFRemoved?: () => {};\n onAllValid?: () => {};\n onAutoComplete?: () => {};\n onBinValue?: () => {};\n onBrand?: () => {};\n onConfigSuccess?: () => {};\n onChange: (data) => void;\n handleKeyPress?: (obj: KeyboardEvent) => void;\n onError?: () => {};\n onFieldValid?: () => {};\n onFocus?: (e) => {};\n onLoad?: () => {};\n placeholders?: Placeholders;\n rootNode: HTMLElement;\n resources: Resources;\n showWarnings?: boolean;\n styles?: StylesObject;\n trimTrailingSeparator?: boolean;\n type: string;\n maskSecurityCode?: boolean;\n}\n\nconst defaultProps = {\n onChange: () => {},\n onError: () => {},\n onValidationError: () => {}\n};\n\nfunction CustomCardInput(props: SecuredFieldsProps) {\n const sfp = useRef(null);\n\n const [errors, setErrors] = useState({});\n const [valid, setValid] = useState({});\n const [data, setData] = useState({});\n\n const [isSfpValid, setIsSfpValid] = useState(false);\n\n const [issuingCountryCode, setIssuingCountryCode] = useState(null);\n\n const [dualBrandSelectElements, setDualBrandSelectElements] = useState([]);\n const [selectedBrandValue, setSelectedBrandValue] = useState('');\n\n const handleSecuredFieldsChange = (sfState: SFPState): void => {\n setData({ ...data, ...sfState.data });\n setErrors({ ...errors, ...sfState.errors });\n setValid({ ...valid, ...sfState.valid });\n\n setIsSfpValid(sfState.isSfpValid);\n };\n\n // Farm the handlers for binLookup related functionality out to another 'extensions' file\n const extensions = useMemo(\n () =>\n SFExtensions(\n props,\n { sfp },\n { dualBrandSelectElements, setDualBrandSelectElements, setSelectedBrandValue, issuingCountryCode, setIssuingCountryCode }\n ),\n [dualBrandSelectElements, issuingCountryCode]\n );\n\n /**\n * EXPECTED METHODS ON SecuredFields.this\n */\n this.processBinLookupResponse = (binLookupResponse: BinLookupResponse, isReset: boolean) => {\n extensions.processBinLookup(binLookupResponse, isReset);\n };\n\n this.dualBrandingChangeHandler = extensions.handleDualBrandSelection;\n\n /**\n * EFFECT HOOKS\n */\n useEffect(() => {\n // componentDidMount\n this.setFocusOn = sfp.current.setFocusOn;\n this.updateStyles = sfp.current.updateStyles;\n this.showValidation = sfp.current.showValidation;\n this.handleUnsupportedCard = sfp.current.handleUnsupportedCard;\n\n // componentWillUnmount\n return () => {\n sfp.current.destroy();\n };\n }, []);\n\n /**\n * Main 'componentDidUpdate' handler\n */\n useEffect(() => {\n const sfStateErrorsObj = sfp.current.mapErrorsToValidationRuleResult();\n\n const mappedErrors = { ...errors, ...sfStateErrorsObj }; // maps sfErrors\n\n props.onChange({\n data,\n valid,\n errors: mappedErrors,\n isValid: isSfpValid,\n selectedBrandValue\n });\n\n // Create an array of Validation error objects and send to callback\n if (Object.keys(mappedErrors).length) {\n const validationErrors: ValidationError[] = Object.entries(mappedErrors).map(([fieldType, error]) => {\n const valErr: ValidationError = {\n fieldType,\n ...(error ? (error as SFError) : { error: '', rootNode: this.props.rootNode })\n };\n return valErr;\n });\n this.props.onValidationError?.(validationErrors);\n }\n }, [data, valid, errors, selectedBrandValue]);\n\n /**\n * RENDER\n */\n // prettier-ignore\n return (\n <SecuredFieldsProvider\n ref={sfp}\n {...extractPropsForSFP(props)}\n type={props.brand}\n onChange={handleSecuredFieldsChange}\n render={() => null}\n />\n );\n}\n\nCustomCardInput.defaultProps = defaultProps;\n\nexport default CustomCardInput;\n\nconst extractPropsForSFP = (props: SecuredFieldsProps) => {\n return {\n autoFocus: props.autoFocus,\n brands: props.brands,\n brandsConfiguration: props.brandsConfiguration,\n clientKey: props.clientKey,\n forceCompat: props.forceCompat,\n // countryCode: props.countryCode, // only used for korean cards when koreanAuthenticationRequired is true\n i18n: props.i18n,\n implementationType: props.implementationType,\n keypadFix: props.keypadFix,\n legacyInputMode: props.legacyInputMode,\n loadingContext: props.loadingContext,\n minimumExpiryDate: props.minimumExpiryDate,\n onAdditionalSFConfig: props.onAdditionalSFConfig,\n onAdditionalSFRemoved: props.onAdditionalSFRemoved,\n onAllValid: props.onAllValid,\n onAutoComplete: props.onAutoComplete,\n onBinValue: props.onBinValue,\n onBrand: props.onBrand,\n // onChange // set directly\n onConfigSuccess: props.onConfigSuccess,\n handleKeyPress: props.handleKeyPress,\n onError: props.onError,\n onFieldValid: props.onFieldValid,\n onFocus: props.onFocus,\n onLoad: props.onLoad,\n // render // set directly\n rootNode: props.rootNode,\n showWarnings: props.showWarnings,\n styles: props.styles,\n trimTrailingSeparator: props.trimTrailingSeparator,\n resources: props.resources,\n maskSecurityCode: props.maskSecurityCode,\n placeholders: props.placeholders\n };\n};\n"],"names":["CustomCardInput","props","sfp","useRef","errors","setErrors","useState","valid","setValid","data","setData","isSfpValid","setIsSfpValid","issuingCountryCode","setIssuingCountryCode","dualBrandSelectElements","setDualBrandSelectElements","selectedBrandValue","setSelectedBrandValue","extensions","useMemo","SFExtensions","this","processBinLookupResponse","binLookupResponse","isReset","processBinLookup","dualBrandingChangeHandler","handleDualBrandSelection","useEffect","setFocusOn","current","updateStyles","showValidation","handleUnsupportedCard","destroy","sfStateErrorsObj","mapErrorsToValidationRuleResult","mappedErrors","_object_spread","onChange","isValid","Object","keys","length","_this_props_onValidationError","_this_props","validationErrors","entries","map","fieldType","error","rootNode","onValidationError","call","h","SecuredFieldsProvider","ref","extractPropsForSFP","type","brand","sfState","render","defaultProps","onError","autoFocus","brands","brandsConfiguration","clientKey","forceCompat","i18n","implementationType","keypadFix","legacyInputMode","loadingContext","minimumExpiryDate","onAdditionalSFConfig","onAdditionalSFRemoved","onAllValid","onAutoComplete","onBinValue","onBrand","onConfigSuccess","handleKeyPress","onFieldValid","onFocus","onLoad","showWarnings","styles","trimTrailingSeparator","resources","maskSecurityCode","placeholders"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DokuInput.js","sources":["../../../../../../src/components/Doku/components/DokuInput/DokuInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useRef, useState } from 'preact/hooks';\nimport PersonalDetails from '../../../internal/PersonalDetails/PersonalDetails';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\n\nexport default function DokuInput(props) {\n const personalDetailsRef = useRef(null);\n const setPersonalDetailsRef = ref => {\n personalDetailsRef.current = ref;\n };\n\n const { i18n } = useCoreContext();\n\n const [status, setStatus] = useState('ready');\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const dokuRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(dokuRef.current).length) {\n props.setComponentRef?.(dokuRef.current);\n }\n\n dokuRef.current.showValidation = () => {\n personalDetailsRef.current?.showValidation();\n };\n\n dokuRef.current.setStatus = setStatus;\n\n return (\n <div className=\"adyen-checkout__doku-input__field\">\n <FormInstruction />\n\n <PersonalDetails\n data={props.data}\n requiredFields={['firstName', 'lastName', 'shopperEmail']}\n onChange={props.onChange}\n namePrefix=\"doku\"\n setComponentRef={setPersonalDetailsRef}\n />\n\n {props.showPayButton && props.payButton({ status, label: i18n.get('confirmPurchase') })}\n </div>\n );\n}\n"],"names":["DokuInput","props","personalDetailsRef","useRef","i18n","useCoreContext","status","setStatus","useState","dokuRef","Object","keys","current","length","setComponentRef","showValidation","h","div","className","FormInstruction","PersonalDetails","data","requiredFields","onChange","namePrefix","ref","showPayButton","payButton","label","get"],"mappings":"oXAOe,SAASA,EAAUC,GAC9B,MAAMC,EAAqBC,EAAO,OAK5BC,KAAEA,GAASC,KAEVC,EAAQC,GAAaC,EAAS,SAG/BC,EAAUN,EAA4B,
|
|
1
|
+
{"version":3,"file":"DokuInput.js","sources":["../../../../../../src/components/Doku/components/DokuInput/DokuInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useRef, useState } from 'preact/hooks';\nimport PersonalDetails from '../../../internal/PersonalDetails/PersonalDetails';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\n\nexport default function DokuInput(props) {\n const personalDetailsRef = useRef(null);\n const setPersonalDetailsRef = ref => {\n personalDetailsRef.current = ref;\n };\n\n const { i18n } = useCoreContext();\n\n const [status, setStatus] = useState('ready');\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const dokuRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(dokuRef.current).length) {\n props.setComponentRef?.(dokuRef.current);\n }\n\n dokuRef.current.showValidation = () => {\n personalDetailsRef.current?.showValidation();\n };\n\n dokuRef.current.setStatus = setStatus;\n\n return (\n <div className=\"adyen-checkout__doku-input__field\">\n <FormInstruction />\n\n <PersonalDetails\n data={props.data}\n requiredFields={['firstName', 'lastName', 'shopperEmail']}\n onChange={props.onChange}\n namePrefix=\"doku\"\n setComponentRef={setPersonalDetailsRef}\n />\n\n {props.showPayButton && props.payButton({ status, label: i18n.get('confirmPurchase') })}\n </div>\n );\n}\n"],"names":["DokuInput","props","personalDetailsRef","useRef","i18n","useCoreContext","status","setStatus","useState","dokuRef","Object","keys","current","length","setComponentRef","showValidation","h","div","className","FormInstruction","PersonalDetails","data","requiredFields","onChange","namePrefix","ref","showPayButton","payButton","label","get"],"mappings":"oXAOe,SAASA,EAAUC,GAC9B,MAAMC,EAAqBC,EAAO,OAK5BC,KAAEA,GAASC,KAEVC,EAAQC,GAAaC,EAAS,SAG/BC,EAAUN,EAA4B,IAGxCF,IAAAA,EADCS,OAAOC,KAAKF,EAAQG,SAASC,SACT,QAArBZ,EAAAA,EAAMa,2BAANb,GAAAA,EAAAA,KAAAA,EAAwBQ,EAAQG,UASpC,OANAH,EAAQG,QAAQG,eAAiB,KAC7Bb,IAAAA,EAAAA,QAAAA,EAAAA,EAAmBU,eAAnBV,IAAAA,GAAAA,EAA4Ba,gBAAc,EAG9CN,EAAQG,QAAQL,UAAYA,EAGxBS,EAACC,MAAAA,CAAIC,UAAU,qCACXF,EAACG,QAEDH,EAACI,EAAAA,CACGC,KAAMpB,EAAMoB,KACZC,eAAgB,CAAC,YAAa,WAAY,gBAC1CC,SAAUtB,EAAMsB,SAChBC,WAAW,OACXV,gBA9BkBW,IAC1BvB,EAAmBU,QAAUa,CAAAA,IAgCxBxB,EAAMyB,eAAiBzB,EAAM0B,UAAU,CAAErB,SAAQsB,MAAOxB,EAAKyB,IAAI,qBAG9E"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as
|
|
1
|
+
import{createElement as e}from"../../../external/preact/dist/preact.js";import a from"./CampaignInfo.js";function n({logoUrl:n="",nonprofitDescription:r="",nonprofitName:o="",causeName:t="",nonprofitUrl:c="",bannerUrl:i=""}){return e("div",{className:"adyen-checkout__campaign"},c?e("a",{href:c,className:"adyen-checkout__campaign-link",target:"_blank",rel:"noopener noreferrer"},e(a,{logoUrl:n,nonprofitName:o,causeName:t,bannerUrl:i})):e(a,{logoUrl:n,nonprofitName:o,causeName:t,bannerUrl:i}),r&&e("div",{className:"adyen-checkout__campaign-description"},r))}export{n as default};
|
|
2
2
|
//# sourceMappingURL=CampaignContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CampaignContent.js","sources":["../../../../../src/components/Donation/components/CampaignContent.tsx"],"sourcesContent":["import { h } from 'preact';\nimport
|
|
1
|
+
{"version":3,"file":"CampaignContent.js","sources":["../../../../../src/components/Donation/components/CampaignContent.tsx"],"sourcesContent":["import { h } from 'preact';\nimport CampaignInfo from './CampaignInfo';\n\nexport interface CampaignContentProps {\n logoUrl?: string;\n nonprofitDescription?: string;\n nonprofitName?: string;\n causeName?: string;\n nonprofitUrl?: string;\n bannerUrl?: string;\n}\n\nexport default function CampaignContent({\n logoUrl = '',\n nonprofitDescription = '',\n nonprofitName = '',\n causeName = '',\n nonprofitUrl = '',\n bannerUrl = ''\n}: CampaignContentProps) {\n return (\n <div className=\"adyen-checkout__campaign\">\n {nonprofitUrl ? (\n <a href={nonprofitUrl} className=\"adyen-checkout__campaign-link\" target=\"_blank\" rel=\"noopener noreferrer\">\n <CampaignInfo logoUrl={logoUrl} nonprofitName={nonprofitName} causeName={causeName} bannerUrl={bannerUrl} />\n </a>\n ) : (\n <CampaignInfo logoUrl={logoUrl} nonprofitName={nonprofitName} causeName={causeName} bannerUrl={bannerUrl} />\n )}\n\n {nonprofitDescription && <div className=\"adyen-checkout__campaign-description\">{nonprofitDescription}</div>}\n </div>\n );\n}\n"],"names":["CampaignContent","logoUrl","nonprofitDescription","nonprofitName","causeName","nonprofitUrl","bannerUrl","h","div","className","a","href","target","rel","CampaignInfo"],"mappings":"yGAYe,SAASA,GAAgBC,QACpCA,EAAU,GAAEC,qBACZA,EAAuB,GAAEC,cACzBA,EAAgB,GAAEC,UAClBA,EAAY,GAAEC,aACdA,EAAe,GAAEC,UACjBA,EAAY,KAEZ,OACIC,EAACC,MAAAA,CAAIC,UAAU,4BACVJ,EACGE,EAACG,IAAAA,CAAEC,KAAMN,EAAcI,UAAU,gCAAgCG,OAAO,SAASC,IAAI,uBACjFN,EAACO,EAAAA,CAAab,QAASA,EAASE,cAAeA,EAAeC,UAAWA,EAAWE,UAAWA,KAGnGC,EAACO,EAAAA,CAAab,QAASA,EAASE,cAAeA,EAAeC,UAAWA,EAAWE,UAAWA,IAGlGJ,GAAwBK,EAACC,MAAAA,CAAIC,UAAU,wCAAwCP,GAG5F"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createElement as a,Fragment as e}from"../../../external/preact/dist/preact.js";import c from"../../internal/Img/Img.js";function n({logoUrl:n="",nonprofitName:t="",causeName:m="",bannerUrl:r=""}){return a(e,null,a(c,{className:"adyen-checkout__campaign-background-image",style:{backgroundImage:`url(${r})`},backgroundUrl:r}),a("div",{className:"adyen-checkout__campaign-content"},n&&a("img",{src:n,className:"adyen-checkout__campaign-logo",alt:t}),a("div",null,t&&a("div",{className:"adyen-checkout__campaign-title"},t),m&&a("div",{className:"adyen-checkout__campaign-cause"},m))))}export{n as default};
|
|
2
|
+
//# sourceMappingURL=CampaignInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CampaignInfo.js","sources":["../../../../../src/components/Donation/components/CampaignInfo.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport Img from '../../internal/Img';\n\nexport interface CampaignInfoProps {\n logoUrl?: string;\n nonprofitName?: string;\n causeName?: string;\n bannerUrl?: string;\n}\n\nexport default function CampaignInfo({ logoUrl = '', nonprofitName = '', causeName = '', bannerUrl = '' }: CampaignInfoProps) {\n const backgroundImage = `url(${bannerUrl})`;\n\n return (\n <Fragment>\n <Img className=\"adyen-checkout__campaign-background-image\" style={{ backgroundImage }} backgroundUrl={bannerUrl} />\n\n <div className=\"adyen-checkout__campaign-content\">\n {logoUrl && <img src={logoUrl} className=\"adyen-checkout__campaign-logo\" alt={nonprofitName} />}\n <div>\n {nonprofitName && <div className=\"adyen-checkout__campaign-title\">{nonprofitName}</div>}\n {causeName && <div className=\"adyen-checkout__campaign-cause\">{causeName}</div>}\n </div>\n </div>\n </Fragment>\n );\n}\n"],"names":["CampaignInfo","logoUrl","nonprofitName","causeName","bannerUrl","h","Fragment","Img","className","style","backgroundImage","backgroundUrl","div","img","src","alt"],"mappings":"+HAUe,SAASA,GAAaC,QAAEA,EAAU,GAAEC,cAAEA,EAAgB,GAAEC,UAAEA,EAAY,GAAEC,UAAEA,EAAY,KAGjG,OACIC,EAACC,OACGD,EAACE,EAAAA,CAAIC,UAAU,4CAA4CC,MAAO,CAAEC,gBAJpD,OAAON,MAIgEO,cAAeP,IAEtGC,EAACO,MAAAA,CAAIJ,UAAU,oCACVP,GAAWI,EAACQ,MAAAA,CAAIC,IAAKb,EAASO,UAAU,gCAAgCO,IAAKb,IAC9EG,EAACO,MAAAA,KACIV,GAAiBG,EAACO,MAAAA,CAAIJ,UAAU,kCAAkCN,GAClEC,GAAaE,EAACO,MAAAA,CAAIJ,UAAU,kCAAkCL,KAKnF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useState as t,useEffect as n}from"../../../external/preact/hooks/dist/hooks.js";import o from"./
|
|
1
|
+
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useState as t,useEffect as n}from"../../../external/preact/hooks/dist/hooks.js";import o from"./CampaignContent.js";import r from"../../internal/Button/Button.js";import a from"../../internal/Img/Img.js";import{useCoreContext as s}from"../../../core/Context/CoreProvider.js";import c from"../../internal/DisclaimerMessage/DisclaimerMessage.js";import u from"../../../core/Context/useImage.js";import i from"./FixedAmounts.js";import m from"./Roundup.js";import{getRoundupAmount as l,getRoundupAmountLabel as d,getAmountLabel as p}from"./utils.js";function g(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 f(f){const{donation:_,commercialTxAmount:h,onCancel:j,onDonate:b,showCancelButton:v=!0,termsAndConditionsUrl:O}=f,{i18n:k}=s(),C=u(),{currency:w,type:P}=_,x="roundup"===P,[A,D]=t("ready"),[N,S]=t(x),[B,F]=t({currency:w,value:x?l(_.maxRoundupAmount,h):null});this.setStatus=e=>{D(e)};const E=()=>{D("loading"),b({data:{amount:B}})};return n((()=>{f.onChange({data:{amount:B},isValid:N})}),[B,N]),"error"===A?e("div",{className:"adyen-checkout__adyen-giving"},e(a,{className:"adyen-checkout__status__icon adyen-checkout__status__icon--error",src:C({imageFolder:"components/"})("error"),alt:k.get("error.message.unknown")}),e("div",{className:"adyen-checkout__status__text"},k.get("error.message.unknown"))):"success"===A?e("div",{className:"adyen-checkout__adyen-giving"},e(a,{className:"adyen-checkout__status__icon adyen-checkout__status__icon--success",src:C({imageFolder:"components/"})("heart"),alt:k.get("thanksForYourSupport")}),e("div",{className:"adyen-checkout__status__text"},k.get("thanksForYourSupport"))):e("div",{className:"adyen-checkout__adyen-giving"},e(o,f),e("div",{className:"adyen-checkout__adyen-giving-actions"},O&&e(c,{message:k.get("donationTermsCondition"),urls:[O]}),x?e(m,{donationAmount:d(k,{maxRoundupAmount:_.maxRoundupAmount,commercialTxAmount:h,currency:w}),originalPaymentAmount:p(k,{value:h,currency:w}),status:A,onDonateButtonClicked:E}):e(i,{selectedAmount:B.value,values:_.values,currency:w,status:A,onAmountSelected:({target:e})=>{const t=parseInt(e.value,10);S(!0),F((e=>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){g(e,t,n[t])}))}return e}({},e),{value:t})))},onDonateButtonClicked:E}),v&&e(r,{classNameModifiers:["decline"],variant:"ghost",onClick:()=>{D("ready"),j({data:{amount:B},isValid:N})},disabled:"loading"===A,label:`${k.get("notNowButton")} ›`})))}f.defaultProps={onCancel:()=>{},onChange:()=>{},onDonate:()=>{},donation:{},showCancelButton:!0};export{f as default};
|
|
2
2
|
//# sourceMappingURL=DonationComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DonationComponent.js","sources":["../../../../../src/components/Donation/components/DonationComponent.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useState } from 'preact/hooks';\nimport
|
|
1
|
+
{"version":3,"file":"DonationComponent.js","sources":["../../../../../src/components/Donation/components/DonationComponent.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useState } from 'preact/hooks';\nimport CampaignContent from './CampaignContent';\nimport Button from '../../internal/Button';\nimport Img from '../../internal/Img';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport '../Donation.scss';\nimport DisclaimerMessage from '../../internal/DisclaimerMessage';\nimport { DonationAmount, DonationComponentProps, Status } from './types';\nimport useImage from '../../../core/Context/useImage';\nimport FixedAmounts from './FixedAmounts';\nimport Roundup from './Roundup';\nimport { getAmountLabel, getRoundupAmount, getRoundupAmountLabel } from './utils';\n\nexport default function DonationComponent(props: DonationComponentProps) {\n const { donation, commercialTxAmount, onCancel, onDonate, showCancelButton = true, termsAndConditionsUrl } = props;\n const { i18n } = useCoreContext();\n const getImage = useImage();\n const { currency, type } = donation;\n const isRoundupDonation = type === 'roundup';\n const [status, setStatus] = useState<Status>('ready');\n const [isValid, setIsValid] = useState<boolean>(isRoundupDonation);\n const [amount, setAmount] = useState<DonationAmount>({\n currency,\n value: isRoundupDonation ? getRoundupAmount(donation.maxRoundupAmount, commercialTxAmount) : null\n });\n\n this.setStatus = (status: Status) => {\n setStatus(status);\n };\n\n const handleAmountSelected = ({ target }) => {\n const value = parseInt(target.value, 10);\n setIsValid(true);\n setAmount((amount: DonationAmount) => ({ ...amount, value }));\n };\n\n const handleDonate = () => {\n setStatus('loading');\n onDonate({ data: { amount } });\n };\n\n const handleDecline = () => {\n setStatus('ready');\n onCancel({ data: { amount }, isValid });\n };\n\n useEffect(() => {\n props.onChange({ data: { amount }, isValid });\n }, [amount, isValid]);\n\n if (status === 'error') {\n return (\n <div className=\"adyen-checkout__adyen-giving\">\n <Img\n className=\"adyen-checkout__status__icon adyen-checkout__status__icon--error\"\n src={getImage({ imageFolder: 'components/' })('error')}\n alt={i18n.get('error.message.unknown')}\n />\n <div className=\"adyen-checkout__status__text\">{i18n.get('error.message.unknown')}</div>\n </div>\n );\n }\n\n if (status === 'success') {\n return (\n <div className=\"adyen-checkout__adyen-giving\">\n <Img\n className=\"adyen-checkout__status__icon adyen-checkout__status__icon--success\"\n src={getImage({ imageFolder: 'components/' })('heart')}\n alt={i18n.get('thanksForYourSupport')}\n />\n\n <div className=\"adyen-checkout__status__text\">{i18n.get('thanksForYourSupport')}</div>\n </div>\n );\n }\n\n return (\n <div className=\"adyen-checkout__adyen-giving\">\n <CampaignContent {...props} />\n\n <div className=\"adyen-checkout__adyen-giving-actions\">\n {termsAndConditionsUrl && <DisclaimerMessage message={i18n.get('donationTermsCondition')} urls={[termsAndConditionsUrl]} />}\n {isRoundupDonation ? (\n <Roundup\n donationAmount={getRoundupAmountLabel(i18n, { maxRoundupAmount: donation.maxRoundupAmount, commercialTxAmount, currency })}\n originalPaymentAmount={getAmountLabel(i18n, { value: commercialTxAmount, currency })}\n status={status}\n onDonateButtonClicked={handleDonate}\n ></Roundup>\n ) : (\n <FixedAmounts\n selectedAmount={amount.value}\n values={donation.values}\n currency={currency}\n status={status}\n onAmountSelected={handleAmountSelected}\n onDonateButtonClicked={handleDonate}\n ></FixedAmounts>\n )}\n {showCancelButton && (\n <Button\n classNameModifiers={['decline']}\n variant=\"ghost\"\n onClick={handleDecline}\n disabled={status === 'loading'}\n label={`${i18n.get('notNowButton')} ›`}\n />\n )}\n </div>\n </div>\n );\n}\n\nDonationComponent.defaultProps = {\n onCancel: () => {},\n onChange: () => {},\n onDonate: () => {},\n donation: {},\n showCancelButton: true\n};\n"],"names":["DonationComponent","props","donation","commercialTxAmount","onCancel","onDonate","showCancelButton","termsAndConditionsUrl","i18n","useCoreContext","getImage","useImage","currency","type","isRoundupDonation","status","setStatus","useState","isValid","setIsValid","amount","setAmount","value","getRoundupAmount","maxRoundupAmount","this","handleDonate","data","useEffect","onChange","h","div","className","Img","src","imageFolder","alt","get","CampaignContent","DisclaimerMessage","message","urls","Roundup","donationAmount","getRoundupAmountLabel","originalPaymentAmount","getAmountLabel","onDonateButtonClicked","FixedAmounts","selectedAmount","values","onAmountSelected","target","parseInt","_object_spread_props","Button","classNameModifiers","variant","onClick","disabled","label","defaultProps"],"mappings":"ylCAce,SAASA,EAAkBC,GACtC,MAAMC,SAAEA,EAAQC,mBAAEA,EAAkBC,SAAEA,EAAQC,SAAEA,EAAQC,iBAAEA,GAAmB,EAAIC,sBAAEA,GAA0BN,GACvGO,KAAEA,GAASC,IACXC,EAAWC,KACXC,SAAEA,EAAQC,KAAEA,GAASX,EACrBY,EAA6B,YAATD,GACnBE,EAAQC,GAAaC,EAAiB,UACtCC,EAASC,GAAcF,EAAkBH,IACzCM,EAAQC,GAAaJ,EAAyB,CACjDL,WACAU,MAAOR,EAAoBS,EAAiBrB,EAASsB,iBAAkBrB,GAAsB,OAGjGsB,KAAKT,UAAaD,IACdC,EAAUD,EAAAA,EAGd,MAMMW,EAAe,KACjBV,EAAU,WACVX,EAAS,CAAEsB,KAAM,CAAEP,WAAS,EAYhC,OAJAQ,GAAU,KACN3B,EAAM4B,SAAS,CAAEF,KAAM,CAAEP,UAAUF,WAAQ,GAC5C,CAACE,EAAQF,IAEG,UAAXH,EAEIe,EAACC,MAAAA,CAAIC,UAAU,gCACXF,EAACG,EAAAA,CACGD,UAAU,mEACVE,IAAKxB,EAAS,CAAEyB,YAAa,eAAxBzB,CAAyC,SAC9C0B,IAAK5B,EAAK6B,IAAI,2BAElBP,EAACC,MAAAA,CAAIC,UAAU,gCAAgCxB,EAAK6B,IAAI,2BAKrD,YAAXtB,EAEIe,EAACC,MAAAA,CAAIC,UAAU,gCACXF,EAACG,EAAAA,CACGD,UAAU,qEACVE,IAAKxB,EAAS,CAAEyB,YAAa,eAAxBzB,CAAyC,SAC9C0B,IAAK5B,EAAK6B,IAAI,0BAGlBP,EAACC,MAAAA,CAAIC,UAAU,gCAAgCxB,EAAK6B,IAAI,0BAMhEP,EAACC,MAAAA,CAAIC,UAAU,gCACXF,EAACQ,EAAoBrC,GAErB6B,EAACC,MAAAA,CAAIC,UAAU,wCACVzB,GAAyBuB,EAACS,EAAAA,CAAkBC,QAAShC,EAAK6B,IAAI,0BAA2BI,KAAM,CAAClC,KAChGO,EACGgB,EAACY,EAAAA,CACGC,eAAgBC,EAAsBpC,EAAM,CAAEgB,iBAAkBtB,EAASsB,iBAAkBrB,qBAAoBS,aAC/GiC,sBAAuBC,EAAetC,EAAM,CAAEc,MAAOnB,EAAoBS,aACzEG,OAAQA,EACRgC,sBAAuBrB,IAG3BI,EAACkB,EAAAA,CACGC,eAAgB7B,EAAOE,MACvB4B,OAAQhD,EAASgD,OACjBtC,SAAUA,EACVG,OAAQA,EACRoC,iBAlES,EAAGC,aAC5B,MAAM9B,EAAQ+B,SAASD,EAAO9B,MAAO,IACrCH,GAAW,GACXE,GAAWD,GAA4BkC,wUAAKlC,CAAAA,CAAAA,EAAAA,GAAAA,CAAQE,aAgEpCyB,sBAAuBrB,IAG9BpB,GACGwB,EAACyB,EAAAA,CACGC,mBAAoB,CAAC,WACrBC,QAAQ,QACRC,QA/DE,KAClB1C,EAAU,SACVZ,EAAS,CAAEuB,KAAM,CAAEP,UAAUF,WAAQ,EA8DrByC,SAAqB,YAAX5C,EACV6C,MAAO,GAAGpD,EAAK6B,IAAI,uBAM3C,CAEArC,EAAkB6D,aAAe,CAC7BzD,SAAU,OACVyB,SAAU,OACVxB,SAAU,OACVH,SAAU,CAAC,EACXI,kBAAkB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropin.js","sources":["../../../../src/components/Dropin/Dropin.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport defaultProps from './defaultProps';\nimport DropinComponent from '../../components/Dropin/components/DropinComponent';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { getCommonProps } from './components/utils';\nimport { createElements, createStoredElements } from './elements';\nimport createInstantPaymentElements from './elements/createInstantPaymentElements';\nimport { hasOwnProperty } from '../../utils/hasOwnProperty';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport splitPaymentMethods from './elements/splitPaymentMethods';\nimport { TxVariants } from '../tx-variants';\n\nimport type { DropinConfiguration, InstantPaymentTypes, PaymentMethodsConfiguration } from './types';\nimport type { PaymentAction, PaymentResponseData } from '../../types/global-types';\nimport type { ICore } from '../../core/types';\nimport type { IDropin } from './types';\n\nconst SUPPORTED_INSTANT_PAYMENTS = ['paywithgoogle', 'googlepay', 'applepay'];\n\nclass DropinElement extends UIElement<DropinConfiguration> implements IDropin {\n public static type = TxVariants.dropin;\n\n protected static defaultProps = defaultProps;\n\n public dropinRef = null;\n\n private paymentMethodsConfiguration: PaymentMethodsConfiguration;\n /**\n * Reference to the component created from `handleAction` (Ex.: ThreeDS2Challenge)\n */\n public componentFromAction?: UIElement;\n\n constructor(checkout: ICore, props?: DropinConfiguration) {\n super(checkout, props);\n this.submit = this.submit.bind(this);\n this.handleAction = this.handleAction.bind(this);\n\n this.props.paymentMethodComponents.forEach(PaymentMethod => this.core.register(PaymentMethod));\n this.paymentMethodsConfiguration = this.props.paymentMethodsConfiguration || {};\n }\n\n protected override storeElementRefOnCore() {\n this.core.storeElementReference(this);\n }\n\n formatProps(props) {\n return {\n type: 'dropin', // for analytics\n ...super.formatProps(props),\n instantPaymentTypes: Array.from<InstantPaymentTypes>(new Set(props.instantPaymentTypes)).filter(value =>\n SUPPORTED_INSTANT_PAYMENTS.includes(value)\n )\n };\n }\n\n get isValid() {\n return !!this.dropinRef && !!this.dropinRef.state.activePaymentMethod && !!this.dropinRef.state.activePaymentMethod.isValid;\n }\n\n showValidation() {\n if (this.dropinRef.state.activePaymentMethod) {\n this.dropinRef.state.activePaymentMethod.showValidation();\n }\n\n return this;\n }\n\n public setStatus(status, props = {}): this {\n this.dropinRef?.setStatus(status, props);\n return this;\n }\n\n get activePaymentMethod() {\n if (!this.dropinRef?.state && !this.dropinRef?.state.activePaymentMethod) {\n return null;\n }\n\n return this.dropinRef.state.activePaymentMethod;\n }\n\n get data() {\n if (!this.activePaymentMethod) {\n return null;\n }\n\n return this.dropinRef.state.activePaymentMethod.data;\n }\n\n public displayFinalAnimation(type: 'success' | 'error') {\n if (this.props.disableFinalAnimation) return;\n\n this.dropinRef.setStatus(type);\n }\n\n /**\n * Calls the onSubmit event with the state of the activePaymentMethod\n */\n public override submit(): void {\n if (!this.activePaymentMethod) {\n throw new Error('No active payment method.');\n }\n\n if (!this.activePaymentMethod.isValid) {\n this.activePaymentMethod.showValidation();\n }\n\n if (this.activePaymentMethod.isInstantPayment) {\n this.closeActivePaymentMethod();\n }\n\n this.activePaymentMethod.submit();\n }\n\n /**\n * Creates the Drop-in elements\n */\n private handleCreate = () => {\n const { paymentMethodsConfiguration, showStoredPaymentMethods, showPaymentMethods, instantPaymentTypes } = this.props;\n\n const { paymentMethods, storedPaymentMethods, instantPaymentMethods } = splitPaymentMethods(\n this.core.paymentMethodsResponse,\n instantPaymentTypes\n );\n\n const commonProps = getCommonProps({ ...this.props, elementRef: this.elementRef });\n\n const storedElements = showStoredPaymentMethods\n ? createStoredElements(storedPaymentMethods, paymentMethodsConfiguration, commonProps, this.core)\n : [];\n const elements = showPaymentMethods ? createElements(paymentMethods, paymentMethodsConfiguration, commonProps, this.core) : [];\n const instantPaymentElements = createInstantPaymentElements(instantPaymentMethods, paymentMethodsConfiguration, commonProps, this.core);\n\n return [storedElements, elements, instantPaymentElements];\n };\n\n public handleAction(action: PaymentAction, props = {}): this | null {\n if (!action || !action.type) {\n if (hasOwnProperty(action, 'action') && hasOwnProperty(action, 'resultCode')) {\n throw new Error(\n 'handleAction::Invalid Action - the passed action object itself has an \"action\" property and ' +\n 'a \"resultCode\": have you passed in the whole response object by mistake?'\n );\n }\n throw new Error('handleAction::Invalid Action - the passed action object does not have a \"type\" property');\n }\n\n if (action.type !== 'redirect' && this.activePaymentMethod?.updateWithAction) {\n return this.activePaymentMethod.updateWithAction(action);\n }\n\n if (this.elementRef instanceof DropinElement) {\n props = {\n ...this.elementRef.activePaymentMethod?.props,\n ...props\n };\n }\n\n const paymentAction: UIElement = this.core.createFromAction(action, {\n ...props,\n elementRef: this.elementRef, // maintain elementRef for 3DS2 flow\n onAdditionalDetails: this.handleAdditionalDetails,\n isDropin: true\n });\n\n if (paymentAction) {\n this.setStatus(paymentAction.props.statusType, { component: paymentAction });\n this.componentFromAction = paymentAction;\n return this;\n }\n\n return null;\n }\n\n /**\n * handleOrder is implemented so we don't trigger a callback like in the components\n * @param response - PaymentResponse\n */\n protected handleOrder = ({ order }: PaymentResponseData): void => {\n void this.updateParent({ order });\n };\n\n closeActivePaymentMethod() {\n this.dropinRef.closeActivePaymentMethod();\n }\n\n protected handleKeyPress(e: h.JSX.TargetedKeyboardEvent<HTMLInputElement> | KeyboardEvent) {\n if (e.key === 'Enter' || e.code === 'Enter') {\n // If the active element has role=\"radio\", we're on a header in the PMList, in which case we don't want to validate the form, or, prevent the default behaviour\n const isPMHeader = document?.activeElement?.getAttribute('role') === 'radio';\n if (isPMHeader) {\n return;\n }\n super.handleKeyPress(e);\n }\n }\n\n protected onEnterKeyPressed(activeElement: Element, component: UIElement) {\n // We want to have a ref to the activePM, if we can; not a ref to the Dropin\n const pmComponent = this.activePaymentMethod ?? component;\n this.activePaymentMethod?.onEnterKeyPressed(activeElement, pmComponent);\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <DropinComponent\n {...this.props}\n core={this.core}\n elementRef={this.elementRef}\n onCreateElements={this.handleCreate}\n ref={dropinRef => {\n this.dropinRef = dropinRef;\n }}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n}\n\nexport default DropinElement;\n"],"names":["SUPPORTED_INSTANT_PAYMENTS","DropinElement","UIElement","storeElementRefOnCore","this","core","storeElementReference","formatProps","props","_object_spread_props","_object_spread","type","super","instantPaymentTypes","Array","from","Set","filter","value","includes","isValid","dropinRef","state","activePaymentMethod","showValidation","setStatus","status","_this_dropinRef","_this_dropinRef1","data","displayFinalAnimation","disableFinalAnimation","submit","Error","isInstantPayment","closeActivePaymentMethod","handleAction","action","_this_activePaymentMethod","_this_elementRef_activePaymentMethod","hasOwnProperty","updateWithAction","elementRef","paymentAction","createFromAction","onAdditionalDetails","handleAdditionalDetails","isDropin","statusType","component","componentFromAction","handleKeyPress","e","key","code","document","activeElement","getAttribute","onEnterKeyPressed","_this_activePaymentMethod1","pmComponent","render","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","DropinComponent","onCreateElements","handleCreate","ref","constructor","checkout","_define_property","paymentMethodsConfiguration","showStoredPaymentMethods","showPaymentMethods","paymentMethods","storedPaymentMethods","instantPaymentMethods","splitPaymentMethods","paymentMethodsResponse","commonProps","getCommonProps","createStoredElements","createElements","createInstantPaymentElements","handleOrder","order","updateParent","bind","paymentMethodComponents","forEach","PaymentMethod","register","TxVariants","dropin","defaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Dropin.js","sources":["../../../../src/components/Dropin/Dropin.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport defaultProps from './defaultProps';\nimport DropinComponent from '../../components/Dropin/components/DropinComponent';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { getCommonProps } from './components/utils';\nimport { createElements, createStoredElements } from './elements';\nimport createInstantPaymentElements from './elements/createInstantPaymentElements';\nimport { hasOwnProperty } from '../../utils/hasOwnProperty';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport splitPaymentMethods from './elements/splitPaymentMethods';\nimport { TxVariants } from '../tx-variants';\n\nimport type { DropinConfiguration, InstantPaymentTypes, PaymentMethodsConfiguration } from './types';\nimport type { PaymentAction, PaymentResponseData } from '../../types/global-types';\nimport type { ICore } from '../../core/types';\nimport type { IDropin } from './types';\n\nconst SUPPORTED_INSTANT_PAYMENTS = ['paywithgoogle', 'googlepay', 'applepay'];\n\nclass DropinElement extends UIElement<DropinConfiguration> implements IDropin {\n public static type = TxVariants.dropin;\n\n protected static defaultProps = defaultProps;\n\n public dropinRef = null;\n\n private paymentMethodsConfiguration: PaymentMethodsConfiguration;\n /**\n * Reference to the component created from `handleAction` (Ex.: ThreeDS2Challenge)\n */\n public componentFromAction?: UIElement;\n\n constructor(checkout: ICore, props?: DropinConfiguration) {\n super(checkout, props);\n this.submit = this.submit.bind(this);\n this.handleAction = this.handleAction.bind(this);\n\n this.props.paymentMethodComponents.forEach(PaymentMethod => this.core.register(PaymentMethod));\n this.paymentMethodsConfiguration = this.props.paymentMethodsConfiguration || {};\n }\n\n protected override storeElementRefOnCore() {\n this.core.storeElementReference(this);\n }\n\n formatProps(props) {\n return {\n type: 'dropin', // for analytics\n ...super.formatProps(props),\n instantPaymentTypes: Array.from<InstantPaymentTypes>(new Set(props.instantPaymentTypes)).filter(value =>\n SUPPORTED_INSTANT_PAYMENTS.includes(value)\n )\n };\n }\n\n get isValid() {\n return !!this.dropinRef && !!this.dropinRef.state.activePaymentMethod && !!this.dropinRef.state.activePaymentMethod.isValid;\n }\n\n showValidation() {\n if (this.dropinRef.state.activePaymentMethod) {\n this.dropinRef.state.activePaymentMethod.showValidation();\n }\n\n return this;\n }\n\n public setStatus(status, props = {}): this {\n this.dropinRef?.setStatus(status, props);\n return this;\n }\n\n get activePaymentMethod() {\n if (!this.dropinRef?.state && !this.dropinRef?.state.activePaymentMethod) {\n return null;\n }\n\n return this.dropinRef.state.activePaymentMethod;\n }\n\n get data() {\n if (!this.activePaymentMethod) {\n return null;\n }\n\n return this.dropinRef.state.activePaymentMethod.data;\n }\n\n public displayFinalAnimation(type: 'success' | 'error') {\n if (this.props.disableFinalAnimation) return;\n\n this.dropinRef.setStatus(type);\n }\n\n /**\n * Calls the onSubmit event with the state of the activePaymentMethod\n */\n public override submit(): void {\n if (!this.activePaymentMethod) {\n throw new Error('No active payment method.');\n }\n\n if (!this.activePaymentMethod.isValid) {\n this.activePaymentMethod.showValidation();\n }\n\n if (this.activePaymentMethod.isInstantPayment) {\n this.closeActivePaymentMethod();\n }\n\n this.activePaymentMethod.submit();\n }\n\n /**\n * Creates the Drop-in elements\n */\n private handleCreate = () => {\n const { paymentMethodsConfiguration, showStoredPaymentMethods, showPaymentMethods, instantPaymentTypes } = this.props;\n\n const { paymentMethods, storedPaymentMethods, instantPaymentMethods } = splitPaymentMethods(\n this.core.paymentMethodsResponse,\n instantPaymentTypes\n );\n\n const commonProps = getCommonProps({ ...this.props, elementRef: this.elementRef });\n\n const storedElements = showStoredPaymentMethods\n ? createStoredElements(storedPaymentMethods, paymentMethodsConfiguration, commonProps, this.core)\n : [];\n const elements = showPaymentMethods ? createElements(paymentMethods, paymentMethodsConfiguration, commonProps, this.core) : [];\n const instantPaymentElements = createInstantPaymentElements(instantPaymentMethods, paymentMethodsConfiguration, commonProps, this.core);\n\n return [storedElements, elements, instantPaymentElements];\n };\n\n public handleAction(action: PaymentAction, props = {}): this | null {\n if (!action || !action.type) {\n if (hasOwnProperty(action, 'action') && hasOwnProperty(action, 'resultCode')) {\n throw new Error(\n 'handleAction::Invalid Action - the passed action object itself has an \"action\" property and ' +\n 'a \"resultCode\": have you passed in the whole response object by mistake?'\n );\n }\n throw new Error('handleAction::Invalid Action - the passed action object does not have a \"type\" property');\n }\n\n if (action.type !== 'redirect' && this.activePaymentMethod?.updateWithAction) {\n return this.activePaymentMethod.updateWithAction(action);\n }\n\n if (this.elementRef instanceof DropinElement) {\n props = {\n ...this.elementRef.activePaymentMethod?.props,\n ...props\n };\n }\n\n const paymentAction: UIElement = this.core.createFromAction(action, {\n ...props,\n elementRef: this.elementRef, // maintain elementRef for 3DS2 flow\n onAdditionalDetails: this.handleAdditionalDetails,\n isDropin: true\n });\n\n if (paymentAction) {\n this.setStatus(paymentAction.props.statusType, { component: paymentAction });\n this.componentFromAction = paymentAction;\n return this;\n }\n\n return null;\n }\n\n /**\n * handleOrder is implemented so we don't trigger a callback like in the components\n * @param response - PaymentResponse\n */\n protected handleOrder = ({ order }: PaymentResponseData): void => {\n void this.updateParent({ order });\n };\n\n closeActivePaymentMethod() {\n this.dropinRef.closeActivePaymentMethod();\n }\n\n protected handleKeyPress(e: h.JSX.TargetedKeyboardEvent<HTMLInputElement> | KeyboardEvent) {\n if (e.key === 'Enter' || e.code === 'Enter') {\n // If the active element has role=\"radio\", we're on a header in the PMList, in which case we don't want to validate the form, or, prevent the default behaviour\n const isPMHeader = document?.activeElement?.getAttribute('role') === 'radio';\n if (isPMHeader) {\n return;\n }\n super.handleKeyPress(e);\n }\n }\n\n protected onEnterKeyPressed(activeElement: Element, component: UIElement) {\n // We want to have a ref to the activePM, if we can; not a ref to the Dropin\n const pmComponent = this.activePaymentMethod ?? component;\n this.activePaymentMethod?.onEnterKeyPressed(activeElement, pmComponent);\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <DropinComponent\n {...this.props}\n core={this.core}\n elementRef={this.elementRef}\n onCreateElements={this.handleCreate}\n ref={dropinRef => {\n this.dropinRef = dropinRef;\n }}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n}\n\nexport default DropinElement;\n"],"names":["SUPPORTED_INSTANT_PAYMENTS","DropinElement","UIElement","storeElementRefOnCore","this","core","storeElementReference","formatProps","props","_object_spread_props","_object_spread","type","super","instantPaymentTypes","Array","from","Set","filter","value","includes","isValid","dropinRef","state","activePaymentMethod","showValidation","setStatus","status","_this_dropinRef","_this_dropinRef1","data","displayFinalAnimation","disableFinalAnimation","submit","Error","isInstantPayment","closeActivePaymentMethod","handleAction","action","_this_activePaymentMethod","_this_elementRef_activePaymentMethod","hasOwnProperty","updateWithAction","elementRef","paymentAction","createFromAction","onAdditionalDetails","handleAdditionalDetails","isDropin","statusType","component","componentFromAction","handleKeyPress","e","key","code","document","activeElement","getAttribute","onEnterKeyPressed","_this_activePaymentMethod1","pmComponent","render","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","DropinComponent","onCreateElements","handleCreate","ref","constructor","checkout","_define_property","paymentMethodsConfiguration","showStoredPaymentMethods","showPaymentMethods","paymentMethods","storedPaymentMethods","instantPaymentMethods","splitPaymentMethods","paymentMethodsResponse","commonProps","getCommonProps","createStoredElements","createElements","createInstantPaymentElements","handleOrder","order","updateParent","bind","paymentMethodComponents","forEach","PaymentMethod","register","TxVariants","dropin","defaultProps"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Component as t,createElement as e}from"../../../external/preact/dist/preact.js";import s from"./PaymentMethod/PaymentMethodList.js";import o from"./status/index.js";import n from"../../../core/Services/order-status.js";import{sanitizeOrder as r}from"../../internal/UIElement/utils.js";import{ANALYTICS_RENDERED_STR as a}from"../../../core/Analytics/constants.js";import i from"../../../core/Errors/AdyenCheckoutError.js";function d(t,e,s){return e in t?Object.defineProperty(t,e,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[e]=s,t}function
|
|
1
|
+
import{Component as t,createElement as e}from"../../../external/preact/dist/preact.js";import s from"./PaymentMethod/PaymentMethodList.js";import o from"./status/index.js";import n from"../../../core/Services/order-status.js";import{sanitizeOrder as r}from"../../internal/UIElement/utils.js";import{ANALYTICS_RENDERED_STR as a}from"../../../core/Analytics/constants.js";import i from"../../../core/Errors/AdyenCheckoutError.js";function d(t,e,s){return e in t?Object.defineProperty(t,e,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[e]=s,t}function h(t){for(var e=1;e<arguments.length;e++){var s=null!=arguments[e]?arguments[e]:{},o=Object.keys(s);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(s).filter((function(t){return Object.getOwnPropertyDescriptor(s,t).enumerable})))),o.forEach((function(e){d(t,e,s[e])}))}return t}function p(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e.push.apply(e,s)}return e}(Object(e)).forEach((function(s){Object.defineProperty(t,s,Object.getOwnPropertyDescriptor(e,s))})),t}class l extends t{componentDidMount(){this.prepareDropinData()}get analyticConfigData(){return{openFirstStoredPaymentMethod:this.props.openFirstStoredPaymentMethod,showStoredPaymentMethods:this.props.showStoredPaymentMethods}}componentDidUpdate(t,e){e.status.type!==this.state.status.type&&this.state.activePaymentMethod&&this.state.activePaymentMethod.setStatus(this.state.status.type),"ready"===this.state.status.type&&"ready"!==e.status.type&&this.props.onReady&&this.props.onReady()}closeActivePaymentMethod(){this.setState({activePaymentMethod:null})}render(t,{elements:n,instantPaymentElements:r,storedPaymentElements:a,status:i,activePaymentMethod:d,cachedPaymentMethods:h}){const p="loading"===i.type,l="redirect"===i.type,c=(null==n?void 0:n.length)||(null==r?void 0:r.length)||(null==a?void 0:a.length);switch(i.type){case"success":var m,y;return e(o.Success,{message:0===(null==t||null===(m=t.amount)||void 0===m?void 0:m.value)?"resultMessages.preauthorized":null===(y=i.props)||void 0===y?void 0:y.message});case"error":var u;return e(o.Error,{message:null===(u=i.props)||void 0===u?void 0:u.message});case"custom":var P,v;return null===(v=i.props)||void 0===v||null===(P=v.component)||void 0===P?void 0:P.render();default:return e("div",{className:`adyen-checkout__dropin adyen-checkout__dropin--${i.type}`},l&&i.props.component&&i.props.component.render(),p&&i.props&&i.props.component&&i.props.component.render(),!!c&&e(s,{isLoading:p||l,isDisablingPaymentMethod:this.state.isDisabling,paymentMethods:n,instantPaymentMethods:r,storedPaymentMethods:a,activePaymentMethod:d,cachedPaymentMethods:h,order:this.props.order,orderStatus:this.state.orderStatus,onOrderCancel:this.onOrderCancel,onSelect:this.handleOnSelectPaymentMethod,openPaymentMethod:this.props.openPaymentMethod,openFirstPaymentMethod:this.props.openFirstPaymentMethod,openFirstStoredPaymentMethod:this.props.openFirstStoredPaymentMethod,onDisableStoredPaymentMethod:this.handleDisableStoredPaymentMethod,showRemovePaymentMethodButton:this.props.showRemovePaymentMethodButton,showRadioButton:this.props.showRadioButton}))}}constructor(...t){super(...t),d(this,"state",{elements:[],instantPaymentElements:[],storedPaymentElements:[],orderStatus:null,isDisabling:!1,status:{type:"loading",props:void 0},activePaymentMethod:null,cachedPaymentMethods:{}}),d(this,"prepareDropinData",(()=>{const{order:t,clientKey:e,loadingContext:s}=this.props,[o,r,i]=this.props.onCreateElements(),d=t?n({clientKey:e,loadingContext:s},t):null;Promise.all([o,r,i,d]).then((([t,e,s,o])=>{var n;this.setState({instantPaymentElements:s,elements:e,storedPaymentElements:t,orderStatus:o}),this.setStatus("ready"),null===(n=this.props.modules)||void 0===n||n.analytics.sendAnalytics("dropin",{type:a,configData:this.analyticConfigData})})),this.onOrderCancel=this.getOnOrderCancel()})),d(this,"setStatus",((t,e={})=>{this.setState({status:{type:t,props:e}})})),d(this,"setActivePaymentMethod",(t=>{t!==this.state.activePaymentMethod&&(this.setState((e=>({activePaymentMethod:t,cachedPaymentMethods:p(h({},e.cachedPaymentMethods),{[t._id]:!0})}))),this.state.cachedPaymentMethods[t._id]&&t.activate())})),d(this,"handleOnSelectPaymentMethod",(t=>{const{activePaymentMethod:e}=this.state;var s,o;(this.setActivePaymentMethod(t),e&&e._id!==t._id||!e)&&(null===(s=(o=this.props).onSelect)||void 0===s||s.call(o,t),t.submitAnalytics({type:a}))})),d(this,"handleDisableStoredPaymentMethod",(t=>{this.setState({isDisabling:!0}),new Promise(((e,s)=>this.props.onDisableStoredPaymentMethod(t.props.storedPaymentMethodId,e,s))).then((()=>{this.setState((e=>({storedPaymentElements:e.storedPaymentElements.filter((e=>e._id!==t._id))}))),this.setState({isDisabling:!1})})).catch((()=>{this.setState({isDisabling:!1})}))})),d(this,"getOnOrderCancel",(()=>this.props.onOrderCancel?t=>{const e=r(t.order);new Promise(((t,s)=>{this.props.onOrderCancel({order:e},{resolve:t,reject:s})})).then((({amount:t})=>this.props.elementRef.handleAdvanceFlowPaymentMethodsUpdate(null,t))).catch((t=>{throw new i("NETWORK_ERROR",t)}))}:this.props.session?t=>this.props.session.cancelOrder(t).then((()=>this.props.core.update({order:null}))).catch((t=>{console.error(t),this.setStatus((null==t?void 0:t.message)||"error")})):null)),d(this,"onOrderCancel",void 0)}}export{l as DropinComponent,l as default};
|
|
2
2
|
//# sourceMappingURL=DropinComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropinComponent.js","sources":["../../../../../src/components/Dropin/components/DropinComponent.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport PaymentMethodList from './PaymentMethod/PaymentMethodList';\nimport Status from './status';\nimport getOrderStatus from '../../../core/Services/order-status';\nimport { DropinComponentProps, DropinComponentState, DropinStatusProps, onOrderCancelData } from '../types';\nimport './DropinComponent.scss';\nimport { UIElementStatus } from '../../internal/UIElement/types';\nimport { sanitizeOrder } from '../../internal/UIElement/utils';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { ANALYTICS_RENDERED_STR } from '../../../core/Analytics/constants';\nimport AdyenCheckoutError from '../../../core/Errors/AdyenCheckoutError';\n\nexport class DropinComponent extends Component<DropinComponentProps, DropinComponentState> {\n public state: DropinComponentState = {\n elements: [],\n instantPaymentElements: [],\n storedPaymentElements: [],\n orderStatus: null,\n isDisabling: false,\n status: { type: 'loading', props: undefined },\n activePaymentMethod: null,\n cachedPaymentMethods: {}\n };\n\n componentDidMount() {\n this.prepareDropinData();\n }\n\n public prepareDropinData = () => {\n const { order, clientKey, loadingContext } = this.props;\n const [storedElementsPromises, elementsPromises, instantPaymentsPromises] = this.props.onCreateElements();\n const orderStatusPromise = order ? getOrderStatus({ clientKey, loadingContext }, order) : null;\n\n void Promise.all([storedElementsPromises, elementsPromises, instantPaymentsPromises, orderStatusPromise]).then(\n ([storedPaymentElements, elements, instantPaymentElements, orderStatus]) => {\n this.setState({ instantPaymentElements, elements, storedPaymentElements, orderStatus });\n this.setStatus('ready');\n\n this.props.modules?.analytics.sendAnalytics('dropin', {\n type: ANALYTICS_RENDERED_STR,\n configData: this.analyticConfigData\n });\n }\n );\n\n this.onOrderCancel = this.getOnOrderCancel();\n };\n\n get analyticConfigData() {\n return {\n openFirstStoredPaymentMethod: this.props.openFirstStoredPaymentMethod,\n showStoredPaymentMethods: this.props.showStoredPaymentMethods\n };\n }\n\n public setStatus = (status: UIElementStatus, props: DropinStatusProps = {}) => {\n this.setState({ status: { type: status, props } });\n };\n\n private setActivePaymentMethod = paymentMethod => {\n this.setState(prevState => ({\n activePaymentMethod: paymentMethod,\n cachedPaymentMethods: { ...prevState.cachedPaymentMethods, [paymentMethod._id]: true }\n }));\n };\n\n componentDidUpdate(prevProps, prevState) {\n if (prevState.status.type !== this.state.status.type && this.state.activePaymentMethod) {\n this.state.activePaymentMethod.setStatus(this.state.status.type);\n }\n\n if (this.state.status.type === 'ready' && prevState.status.type !== 'ready' && this.props.onReady) {\n this.props.onReady();\n }\n }\n\n private handleOnSelectPaymentMethod = paymentMethod => {\n const { activePaymentMethod } = this.state;\n\n this.setActivePaymentMethod(paymentMethod);\n\n // onSelect event\n if ((activePaymentMethod && activePaymentMethod._id !== paymentMethod._id) || !activePaymentMethod) {\n this.props.onSelect?.(paymentMethod);\n\n paymentMethod.submitAnalytics({ type: ANALYTICS_RENDERED_STR });\n }\n };\n\n private handleDisableStoredPaymentMethod = storedPaymentMethod => {\n this.setState({ isDisabling: true });\n\n new Promise((resolve, reject) => this.props.onDisableStoredPaymentMethod(storedPaymentMethod.props.storedPaymentMethodId, resolve, reject))\n .then(() => {\n this.setState(prevState => ({\n storedPaymentElements: prevState.storedPaymentElements.filter(pm => pm._id !== storedPaymentMethod._id)\n }));\n this.setState({ isDisabling: false });\n })\n .catch(() => {\n this.setState({ isDisabling: false });\n });\n };\n\n closeActivePaymentMethod() {\n this.setState({ activePaymentMethod: null });\n }\n\n /**\n * getOnOrderCancel decides which onOrderCancel logic should be used, manual or sessions\n */\n private getOnOrderCancel = () => {\n if (this.props.onOrderCancel) {\n return (data: onOrderCancelData) => {\n const order = sanitizeOrder(data.order);\n new Promise<{ amount: PaymentAmount }>((resolve, reject) => {\n this.props.onOrderCancel({ order }, { resolve, reject });\n })\n .then(({ amount }) => this.props.elementRef.handleAdvanceFlowPaymentMethodsUpdate(null, amount))\n .catch(error => {\n throw new AdyenCheckoutError('NETWORK_ERROR', error);\n });\n };\n }\n if (this.props.session) {\n return (data: onOrderCancelData) =>\n this.props.session\n .cancelOrder(data)\n .then(() => this.props.core.update({ order: null }))\n .catch(error => {\n console.error(error);\n this.setStatus(error?.message || 'error');\n });\n }\n return null;\n };\n\n private onOrderCancel: (data: onOrderCancelData) => void;\n\n render(props, { elements, instantPaymentElements, storedPaymentElements, status, activePaymentMethod, cachedPaymentMethods }) {\n const isLoading = status.type === 'loading';\n const isRedirecting = status.type === 'redirect';\n const hasPaymentMethodsToBeDisplayed = elements?.length || instantPaymentElements?.length || storedPaymentElements?.length;\n\n switch (status.type) {\n case 'success':\n return <Status.Success message={props?.amount?.value === 0 ? 'resultMessages.preauthorized' : status.props?.message} />;\n\n case 'error':\n return <Status.Error message={status.props?.message} />;\n\n case 'custom':\n return status.props?.component?.render();\n\n default:\n return (\n <div className={`adyen-checkout__dropin adyen-checkout__dropin--${status.type}`}>\n {isRedirecting && status.props.component && status.props.component.render()}\n {isLoading && status.props && status.props.component && status.props.component.render()}\n {!!hasPaymentMethodsToBeDisplayed && (\n <PaymentMethodList\n isLoading={isLoading || isRedirecting}\n isDisablingPaymentMethod={this.state.isDisabling}\n paymentMethods={elements}\n instantPaymentMethods={instantPaymentElements}\n storedPaymentMethods={storedPaymentElements}\n activePaymentMethod={activePaymentMethod}\n cachedPaymentMethods={cachedPaymentMethods}\n order={this.props.order}\n orderStatus={this.state.orderStatus}\n onOrderCancel={this.onOrderCancel}\n onSelect={this.handleOnSelectPaymentMethod}\n openPaymentMethod={this.props.openPaymentMethod}\n openFirstPaymentMethod={this.props.openFirstPaymentMethod}\n openFirstStoredPaymentMethod={this.props.openFirstStoredPaymentMethod}\n onDisableStoredPaymentMethod={this.handleDisableStoredPaymentMethod}\n showRemovePaymentMethodButton={this.props.showRemovePaymentMethodButton}\n showRadioButton={this.props.showRadioButton}\n />\n )}\n </div>\n );\n }\n }\n}\n\nexport default DropinComponent;\n"],"names":["DropinComponent","Component","componentDidMount","this","prepareDropinData","analyticConfigData","openFirstStoredPaymentMethod","props","showStoredPaymentMethods","componentDidUpdate","prevProps","prevState","status","type","state","activePaymentMethod","setStatus","onReady","closeActivePaymentMethod","setState","render","elements","instantPaymentElements","storedPaymentElements","cachedPaymentMethods","isLoading","isRedirecting","hasPaymentMethodsToBeDisplayed","length","h","Status","Success","message","amount","value","Error","component","div","className","PaymentMethodList","isDisablingPaymentMethod","isDisabling","paymentMethods","instantPaymentMethods","storedPaymentMethods","order","orderStatus","onOrderCancel","onSelect","handleOnSelectPaymentMethod","openPaymentMethod","openFirstPaymentMethod","onDisableStoredPaymentMethod","handleDisableStoredPaymentMethod","showRemovePaymentMethodButton","showRadioButton","_define_property","undefined","clientKey","loadingContext","storedElementsPromises","elementsPromises","instantPaymentsPromises","onCreateElements","orderStatusPromise","getOrderStatus","Promise","all","then","_this_props_modules","modules","analytics","sendAnalytics","ANALYTICS_RENDERED_STR","configData","getOnOrderCancel","setActivePaymentMethod","paymentMethod","_object_spread_props","_object_spread","_id","_this_props_onSelect","_this_props","call","submitAnalytics","storedPaymentMethod","resolve","reject","storedPaymentMethodId","filter","pm","catch","data","sanitizeOrder","elementRef","handleAdvanceFlowPaymentMethodsUpdate","error","AdyenCheckoutError","session","cancelOrder","core","update","console"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DropinComponent.js","sources":["../../../../../src/components/Dropin/components/DropinComponent.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport PaymentMethodList from './PaymentMethod/PaymentMethodList';\nimport Status from './status';\nimport getOrderStatus from '../../../core/Services/order-status';\nimport { DropinComponentProps, DropinComponentState, DropinStatusProps, onOrderCancelData } from '../types';\nimport './DropinComponent.scss';\nimport { UIElementStatus } from '../../internal/UIElement/types';\nimport { sanitizeOrder } from '../../internal/UIElement/utils';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { ANALYTICS_RENDERED_STR } from '../../../core/Analytics/constants';\nimport AdyenCheckoutError from '../../../core/Errors/AdyenCheckoutError';\nimport UIElement from '../../internal/UIElement';\n\nexport class DropinComponent extends Component<DropinComponentProps, DropinComponentState> {\n public state: DropinComponentState = {\n elements: [],\n instantPaymentElements: [],\n storedPaymentElements: [],\n orderStatus: null,\n isDisabling: false,\n status: { type: 'loading', props: undefined },\n activePaymentMethod: null,\n cachedPaymentMethods: {}\n };\n\n componentDidMount() {\n this.prepareDropinData();\n }\n\n public prepareDropinData = () => {\n const { order, clientKey, loadingContext } = this.props;\n const [storedElementsPromises, elementsPromises, instantPaymentsPromises] = this.props.onCreateElements();\n const orderStatusPromise = order ? getOrderStatus({ clientKey, loadingContext }, order) : null;\n\n void Promise.all([storedElementsPromises, elementsPromises, instantPaymentsPromises, orderStatusPromise]).then(\n ([storedPaymentElements, elements, instantPaymentElements, orderStatus]) => {\n this.setState({ instantPaymentElements, elements, storedPaymentElements, orderStatus });\n this.setStatus('ready');\n\n this.props.modules?.analytics.sendAnalytics('dropin', {\n type: ANALYTICS_RENDERED_STR,\n configData: this.analyticConfigData\n });\n }\n );\n\n this.onOrderCancel = this.getOnOrderCancel();\n };\n\n get analyticConfigData() {\n return {\n openFirstStoredPaymentMethod: this.props.openFirstStoredPaymentMethod,\n showStoredPaymentMethods: this.props.showStoredPaymentMethods\n };\n }\n\n public setStatus = (status: UIElementStatus, props: DropinStatusProps = {}) => {\n this.setState({ status: { type: status, props } });\n };\n\n private setActivePaymentMethod = (paymentMethod: UIElement): void => {\n if (paymentMethod === this.state.activePaymentMethod) {\n return;\n }\n\n this.setState(prevState => ({\n activePaymentMethod: paymentMethod,\n cachedPaymentMethods: { ...prevState.cachedPaymentMethods, [paymentMethod._id]: true }\n }));\n\n if (this.state.cachedPaymentMethods[paymentMethod._id]) {\n paymentMethod.activate();\n }\n };\n\n componentDidUpdate(prevProps, prevState) {\n if (prevState.status.type !== this.state.status.type && this.state.activePaymentMethod) {\n this.state.activePaymentMethod.setStatus(this.state.status.type);\n }\n\n if (this.state.status.type === 'ready' && prevState.status.type !== 'ready' && this.props.onReady) {\n this.props.onReady();\n }\n }\n\n private handleOnSelectPaymentMethod = paymentMethod => {\n const { activePaymentMethod } = this.state;\n\n this.setActivePaymentMethod(paymentMethod);\n\n // onSelect event\n if ((activePaymentMethod && activePaymentMethod._id !== paymentMethod._id) || !activePaymentMethod) {\n this.props.onSelect?.(paymentMethod);\n\n paymentMethod.submitAnalytics({ type: ANALYTICS_RENDERED_STR });\n }\n };\n\n private handleDisableStoredPaymentMethod = storedPaymentMethod => {\n this.setState({ isDisabling: true });\n\n new Promise((resolve, reject) => this.props.onDisableStoredPaymentMethod(storedPaymentMethod.props.storedPaymentMethodId, resolve, reject))\n .then(() => {\n this.setState(prevState => ({\n storedPaymentElements: prevState.storedPaymentElements.filter(pm => pm._id !== storedPaymentMethod._id)\n }));\n this.setState({ isDisabling: false });\n })\n .catch(() => {\n this.setState({ isDisabling: false });\n });\n };\n\n closeActivePaymentMethod() {\n this.setState({ activePaymentMethod: null });\n }\n\n /**\n * getOnOrderCancel decides which onOrderCancel logic should be used, manual or sessions\n */\n private getOnOrderCancel = () => {\n if (this.props.onOrderCancel) {\n return (data: onOrderCancelData) => {\n const order = sanitizeOrder(data.order);\n new Promise<{ amount: PaymentAmount }>((resolve, reject) => {\n this.props.onOrderCancel({ order }, { resolve, reject });\n })\n .then(({ amount }) => this.props.elementRef.handleAdvanceFlowPaymentMethodsUpdate(null, amount))\n .catch(error => {\n throw new AdyenCheckoutError('NETWORK_ERROR', error);\n });\n };\n }\n if (this.props.session) {\n return (data: onOrderCancelData) =>\n this.props.session\n .cancelOrder(data)\n .then(() => this.props.core.update({ order: null }))\n .catch(error => {\n console.error(error);\n this.setStatus(error?.message || 'error');\n });\n }\n return null;\n };\n\n private onOrderCancel: (data: onOrderCancelData) => void;\n\n render(props, { elements, instantPaymentElements, storedPaymentElements, status, activePaymentMethod, cachedPaymentMethods }) {\n const isLoading = status.type === 'loading';\n const isRedirecting = status.type === 'redirect';\n const hasPaymentMethodsToBeDisplayed = elements?.length || instantPaymentElements?.length || storedPaymentElements?.length;\n\n switch (status.type) {\n case 'success':\n return <Status.Success message={props?.amount?.value === 0 ? 'resultMessages.preauthorized' : status.props?.message} />;\n\n case 'error':\n return <Status.Error message={status.props?.message} />;\n\n case 'custom':\n return status.props?.component?.render();\n\n default:\n return (\n <div className={`adyen-checkout__dropin adyen-checkout__dropin--${status.type}`}>\n {isRedirecting && status.props.component && status.props.component.render()}\n {isLoading && status.props && status.props.component && status.props.component.render()}\n {!!hasPaymentMethodsToBeDisplayed && (\n <PaymentMethodList\n isLoading={isLoading || isRedirecting}\n isDisablingPaymentMethod={this.state.isDisabling}\n paymentMethods={elements}\n instantPaymentMethods={instantPaymentElements}\n storedPaymentMethods={storedPaymentElements}\n activePaymentMethod={activePaymentMethod}\n cachedPaymentMethods={cachedPaymentMethods}\n order={this.props.order}\n orderStatus={this.state.orderStatus}\n onOrderCancel={this.onOrderCancel}\n onSelect={this.handleOnSelectPaymentMethod}\n openPaymentMethod={this.props.openPaymentMethod}\n openFirstPaymentMethod={this.props.openFirstPaymentMethod}\n openFirstStoredPaymentMethod={this.props.openFirstStoredPaymentMethod}\n onDisableStoredPaymentMethod={this.handleDisableStoredPaymentMethod}\n showRemovePaymentMethodButton={this.props.showRemovePaymentMethodButton}\n showRadioButton={this.props.showRadioButton}\n />\n )}\n </div>\n );\n }\n }\n}\n\nexport default DropinComponent;\n"],"names":["DropinComponent","Component","componentDidMount","this","prepareDropinData","analyticConfigData","openFirstStoredPaymentMethod","props","showStoredPaymentMethods","componentDidUpdate","prevProps","prevState","status","type","state","activePaymentMethod","setStatus","onReady","closeActivePaymentMethod","setState","render","elements","instantPaymentElements","storedPaymentElements","cachedPaymentMethods","isLoading","isRedirecting","hasPaymentMethodsToBeDisplayed","length","h","Status","Success","message","amount","value","Error","component","div","className","PaymentMethodList","isDisablingPaymentMethod","isDisabling","paymentMethods","instantPaymentMethods","storedPaymentMethods","order","orderStatus","onOrderCancel","onSelect","handleOnSelectPaymentMethod","openPaymentMethod","openFirstPaymentMethod","onDisableStoredPaymentMethod","handleDisableStoredPaymentMethod","showRemovePaymentMethodButton","showRadioButton","super","args","_define_property","undefined","clientKey","loadingContext","storedElementsPromises","elementsPromises","instantPaymentsPromises","onCreateElements","orderStatusPromise","getOrderStatus","Promise","all","then","_this_props_modules","modules","analytics","sendAnalytics","ANALYTICS_RENDERED_STR","configData","getOnOrderCancel","setActivePaymentMethod","paymentMethod","_object_spread_props","_object_spread","_id","activate","_this_props_onSelect","_this_props","call","submitAnalytics","storedPaymentMethod","resolve","reject","storedPaymentMethodId","filter","pm","catch","data","sanitizeOrder","elementRef","handleAdvanceFlowPaymentMethodsUpdate","error","AdyenCheckoutError","session","cancelOrder","core","update","console"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentMethodItem.js","sources":["../../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport classNames from 'classnames';\nimport PaymentMethodDetails from '../PaymentMethodDetails';\nimport PaymentMethodIcon from '../PaymentMethodIcon';\nimport DisableOneClickConfirmation from '../DisableOneClickConfirmation';\nimport './PaymentMethodItem.scss';\nimport UIElement from '../../../../internal/UIElement/UIElement';\nimport PaymentMethodBrands from '../PaymentMethodBrands/PaymentMethodBrands';\nimport { BRAND_ICON_UI_EXCLUSION_LIST } from '../../../../internal/SecuredFields/lib/constants';\nimport PaymentMethodName from '../PaymentMethodName';\nimport { useCoreContext } from '../../../../../core/Context/CoreProvider';\nimport ExpandButton from '../../../../internal/ExpandButton';\n\nexport interface PaymentMethodItemProps {\n paymentMethod: UIElement;\n isSelected?: boolean;\n isLoaded?: boolean;\n isLoading?: boolean;\n isDisablingPaymentMethod: boolean;\n showRemovePaymentMethodButton: boolean;\n onDisableStoredPaymentMethod: (paymentMethod) => void;\n onSelect: (paymentMethod: UIElement) => void;\n standalone: boolean;\n className?: string;\n showRadioButton?: boolean;\n}\n\nclass PaymentMethodItem extends Component<PaymentMethodItemProps> {\n public static defaultProps = {\n paymentMethod: null,\n isSelected: false,\n isLoaded: false,\n isLoading: false,\n showDisableStoredPaymentMethodConfirmation: false,\n showRadioButton: false\n };\n\n public state = {\n showDisableStoredPaymentMethodConfirmation: false\n };\n\n public toggleDisableConfirmation = () => {\n this.setState({ showDisableStoredPaymentMethodConfirmation: !this.state.showDisableStoredPaymentMethodConfirmation });\n };\n\n public onDisableStoredPaymentMethod = () => {\n this.props.onDisableStoredPaymentMethod(this.props.paymentMethod);\n this.toggleDisableConfirmation();\n };\n\n private handleOnListItemClick = (): void => {\n const { onSelect, paymentMethod } = this.props;\n onSelect(paymentMethod);\n };\n\n // @ts-ignore need to refine the type for paymentMethod\n render({ paymentMethod, isSelected, isDisablingPaymentMethod, isLoaded, isLoading, standalone, showRadioButton }) {\n const { i18n } = useCoreContext();\n\n if (!paymentMethod) {\n return null;\n }\n\n const isCard = paymentMethod.props.type === 'card' || paymentMethod.props.type === 'scheme';\n\n const paymentMethodClassnames = classNames({\n 'adyen-checkout__payment-method': true,\n [`adyen-checkout__payment-method--${paymentMethod.props.type}`]: true,\n ...(isCard && { [`adyen-checkout__payment-method--${paymentMethod.props.fundingSource ?? 'credit'}`]: true }),\n 'adyen-checkout__payment-method--selected': isSelected,\n 'adyen-checkout__payment-method--loading': isLoading,\n 'adyen-checkout__payment-method--disabling': isDisablingPaymentMethod,\n 'adyen-checkout__payment-method--confirming': this.state.showDisableStoredPaymentMethodConfirmation,\n 'adyen-checkout__payment-method--standalone': standalone,\n [paymentMethod._id]: true,\n [this.props.className]: true\n });\n\n const showRemovePaymentMethodButton = this.props.showRemovePaymentMethodButton && paymentMethod.props.oneClick && isSelected;\n const disableConfirmationId = `remove-${paymentMethod._id}`;\n const containerId = `container-${paymentMethod._id}`;\n const buttonId = `button-${paymentMethod._id}`;\n\n const showBrands = !paymentMethod.props.oneClick && paymentMethod.brands && paymentMethod.brands.length > 0;\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions\n <div key={paymentMethod._id} className={paymentMethodClassnames} onClick={this.handleOnListItemClick}>\n <div className=\"adyen-checkout__payment-method__header\">\n <ExpandButton buttonId={buttonId} showRadioButton={showRadioButton} isSelected={isSelected} expandContentId={containerId}>\n <PaymentMethodIcon\n // Only add alt attribute to storedPaymentMethods (to avoid SR reading the PM name twice)\n {...(paymentMethod.props.oneClick && { altDescription: paymentMethod.props.name })}\n type={paymentMethod.type}\n src={paymentMethod.icon}\n />\n\n <PaymentMethodName\n displayName={paymentMethod.displayName}\n isSelected={isSelected}\n additionalInfo={paymentMethod.additionalInfo}\n />\n </ExpandButton>\n\n {showRemovePaymentMethodButton && (\n <button\n type=\"button\"\n className=\"adyen-checkout__button adyen-checkout__button--inline adyen-checkout__button--link\"\n onClick={this.toggleDisableConfirmation}\n aria-expanded={this.state.showDisableStoredPaymentMethodConfirmation}\n aria-controls={disableConfirmationId}\n >\n {i18n.get('storedPaymentMethod.disable.button')}\n </button>\n )}\n\n {showBrands && (\n <PaymentMethodBrands\n showOtherInsteafOfNumber={paymentMethod.props.showOtherInsteafOfNumber}\n keepBrandsVisible={paymentMethod.props.keepBrandsVisible}\n brands={paymentMethod.brands}\n excludedUIBrands={BRAND_ICON_UI_EXCLUSION_LIST}\n isPaymentMethodSelected={isSelected}\n />\n )}\n </div>\n\n <div className=\"adyen-checkout-pm-details-wrapper\" aria-hidden={!isSelected}>\n <div className=\"adyen-checkout__payment-method__details\" id={containerId}>\n {showRemovePaymentMethodButton && (\n <DisableOneClickConfirmation\n id={disableConfirmationId}\n open={this.state.showDisableStoredPaymentMethodConfirmation}\n onDisable={this.onDisableStoredPaymentMethod}\n onCancel={this.toggleDisableConfirmation}\n />\n )}\n\n <PaymentMethodDetails paymentMethodComponent={paymentMethod.render()} isLoaded={isLoaded} />\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default PaymentMethodItem;\n"],"names":["PaymentMethodItem","Component","render","paymentMethod","isSelected","isDisablingPaymentMethod","isLoaded","isLoading","standalone","showRadioButton","i18n","useCoreContext","isCard","props","type","paymentMethodClassnames","classNames","_object_spread_props","_object_spread","fundingSource","this","state","showDisableStoredPaymentMethodConfirmation","_id","className","showRemovePaymentMethodButton","oneClick","disableConfirmationId","containerId","buttonId","showBrands","brands","length","h","div","key","onClick","handleOnListItemClick","ExpandButton","expandContentId","PaymentMethodIcon","altDescription","name","src","icon","PaymentMethodName","displayName","additionalInfo","button","toggleDisableConfirmation","aria-expanded","aria-controls","get","PaymentMethodBrands","showOtherInsteafOfNumber","keepBrandsVisible","excludedUIBrands","BRAND_ICON_UI_EXCLUSION_LIST","isPaymentMethodSelected","aria-hidden","id","DisableOneClickConfirmation","open","onDisable","onDisableStoredPaymentMethod","onCancel","PaymentMethodDetails","paymentMethodComponent","_define_property","setState","onSelect","defaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PaymentMethodItem.js","sources":["../../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport classNames from 'classnames';\nimport PaymentMethodDetails from '../PaymentMethodDetails';\nimport PaymentMethodIcon from '../PaymentMethodIcon';\nimport DisableOneClickConfirmation from '../DisableOneClickConfirmation';\nimport './PaymentMethodItem.scss';\nimport UIElement from '../../../../internal/UIElement/UIElement';\nimport PaymentMethodBrands from '../PaymentMethodBrands/PaymentMethodBrands';\nimport { BRAND_ICON_UI_EXCLUSION_LIST } from '../../../../internal/SecuredFields/lib/constants';\nimport PaymentMethodName from '../PaymentMethodName';\nimport { useCoreContext } from '../../../../../core/Context/CoreProvider';\nimport ExpandButton from '../../../../internal/ExpandButton';\n\nexport interface PaymentMethodItemProps {\n paymentMethod: UIElement;\n isSelected?: boolean;\n isLoaded?: boolean;\n isLoading?: boolean;\n isDisablingPaymentMethod: boolean;\n showRemovePaymentMethodButton: boolean;\n onDisableStoredPaymentMethod: (paymentMethod) => void;\n onSelect: (paymentMethod: UIElement) => void;\n standalone: boolean;\n className?: string;\n showRadioButton?: boolean;\n}\n\nclass PaymentMethodItem extends Component<PaymentMethodItemProps> {\n public static defaultProps = {\n paymentMethod: null,\n isSelected: false,\n isLoaded: false,\n isLoading: false,\n showDisableStoredPaymentMethodConfirmation: false,\n showRadioButton: false\n };\n\n public state = {\n showDisableStoredPaymentMethodConfirmation: false\n };\n\n public toggleDisableConfirmation = () => {\n this.setState({ showDisableStoredPaymentMethodConfirmation: !this.state.showDisableStoredPaymentMethodConfirmation });\n };\n\n public onDisableStoredPaymentMethod = () => {\n this.props.onDisableStoredPaymentMethod(this.props.paymentMethod);\n this.toggleDisableConfirmation();\n };\n\n private handleOnListItemClick = (): void => {\n const { onSelect, paymentMethod } = this.props;\n onSelect(paymentMethod);\n };\n\n // @ts-ignore need to refine the type for paymentMethod\n render({ paymentMethod, isSelected, isDisablingPaymentMethod, isLoaded, isLoading, standalone, showRadioButton }) {\n const { i18n } = useCoreContext();\n\n if (!paymentMethod) {\n return null;\n }\n\n const isCard = paymentMethod.props.type === 'card' || paymentMethod.props.type === 'scheme';\n\n const paymentMethodClassnames = classNames({\n 'adyen-checkout__payment-method': true,\n [`adyen-checkout__payment-method--${paymentMethod.props.type}`]: true,\n ...(isCard && { [`adyen-checkout__payment-method--${paymentMethod.props.fundingSource ?? 'credit'}`]: true }),\n 'adyen-checkout__payment-method--selected': isSelected,\n 'adyen-checkout__payment-method--loading': isLoading,\n 'adyen-checkout__payment-method--disabling': isDisablingPaymentMethod,\n 'adyen-checkout__payment-method--confirming': this.state.showDisableStoredPaymentMethodConfirmation,\n 'adyen-checkout__payment-method--standalone': standalone,\n [paymentMethod._id]: true,\n [this.props.className]: true\n });\n\n const showRemovePaymentMethodButton = this.props.showRemovePaymentMethodButton && paymentMethod.props.oneClick && isSelected;\n const disableConfirmationId = `remove-${paymentMethod._id}`;\n const containerId = `container-${paymentMethod._id}`;\n const buttonId = `button-${paymentMethod._id}`;\n\n const showBrands = !paymentMethod.props.oneClick && paymentMethod.brands && paymentMethod.brands.length > 0;\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions\n <div key={paymentMethod._id} className={paymentMethodClassnames} onClick={this.handleOnListItemClick}>\n <div className=\"adyen-checkout__payment-method__header\">\n <ExpandButton buttonId={buttonId} showRadioButton={showRadioButton} isSelected={isSelected} expandContentId={containerId}>\n <PaymentMethodIcon\n // Only add alt attribute to storedPaymentMethods (to avoid SR reading the PM name twice)\n {...(paymentMethod.props.oneClick && { altDescription: paymentMethod.props.name })}\n type={paymentMethod.type}\n src={paymentMethod.icon}\n />\n\n <PaymentMethodName\n displayName={paymentMethod.displayName}\n isSelected={isSelected}\n additionalInfo={paymentMethod.additionalInfo}\n />\n </ExpandButton>\n\n {showRemovePaymentMethodButton && (\n <button\n type=\"button\"\n className=\"adyen-checkout__button adyen-checkout__button--inline adyen-checkout__button--link\"\n onClick={this.toggleDisableConfirmation}\n aria-expanded={this.state.showDisableStoredPaymentMethodConfirmation}\n aria-controls={disableConfirmationId}\n >\n {i18n.get('storedPaymentMethod.disable.button')}\n </button>\n )}\n\n {showBrands && (\n <PaymentMethodBrands\n showOtherInsteafOfNumber={paymentMethod.props.showOtherInsteafOfNumber}\n keepBrandsVisible={paymentMethod.props.keepBrandsVisible}\n brands={paymentMethod.brands}\n excludedUIBrands={BRAND_ICON_UI_EXCLUSION_LIST}\n isPaymentMethodSelected={isSelected}\n />\n )}\n </div>\n\n <div className=\"adyen-checkout-pm-details-wrapper\" aria-hidden={!isSelected}>\n <div className=\"adyen-checkout__payment-method__details\" id={containerId}>\n {showRemovePaymentMethodButton && (\n <DisableOneClickConfirmation\n id={disableConfirmationId}\n open={this.state.showDisableStoredPaymentMethodConfirmation}\n onDisable={this.onDisableStoredPaymentMethod}\n onCancel={this.toggleDisableConfirmation}\n />\n )}\n\n <PaymentMethodDetails paymentMethodComponent={paymentMethod.render()} isLoaded={isLoaded} />\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default PaymentMethodItem;\n"],"names":["PaymentMethodItem","Component","render","paymentMethod","isSelected","isDisablingPaymentMethod","isLoaded","isLoading","standalone","showRadioButton","i18n","useCoreContext","isCard","props","type","paymentMethodClassnames","classNames","_object_spread_props","_object_spread","fundingSource","this","state","showDisableStoredPaymentMethodConfirmation","_id","className","showRemovePaymentMethodButton","oneClick","disableConfirmationId","containerId","buttonId","showBrands","brands","length","h","div","key","onClick","handleOnListItemClick","ExpandButton","expandContentId","PaymentMethodIcon","altDescription","name","src","icon","PaymentMethodName","displayName","additionalInfo","button","toggleDisableConfirmation","aria-expanded","aria-controls","get","PaymentMethodBrands","showOtherInsteafOfNumber","keepBrandsVisible","excludedUIBrands","BRAND_ICON_UI_EXCLUSION_LIST","isPaymentMethodSelected","aria-hidden","id","DisableOneClickConfirmation","open","onDisable","onDisableStoredPaymentMethod","onCancel","PaymentMethodDetails","paymentMethodComponent","super","args","_define_property","setState","onSelect","defaultProps"],"mappings":"85CA2BA,MAAMA,UAA0BC,EA6B5BC,MAAAA,EAAOC,cAAEA,EAAaC,WAAEA,EAAUC,yBAAEA,EAAwBC,SAAEA,EAAQC,UAAEA,EAASC,WAAEA,EAAUC,gBAAEA,IAC3F,MAAMC,KAAEA,GAASC,IAEjB,IAAKR,EACD,OAAO,KAGX,MAAMS,EAAsC,SAA7BT,EAAcU,MAAMC,MAAgD,WAA7BX,EAAcU,MAAMC,KAKlBX,IAAAA,EAHxD,MAAMY,EAA0BC,EAAWC,EAAAC,EAAA,CACvC,kCAAkC,EAClC,CAAC,mCAAmCf,EAAcU,MAAMC,SAAS,GAC7DF,GAAU,CAAE,CAAC,mCAAmCT,QAAAA,EAAAA,EAAcU,MAAMM,qBAApBhB,IAAAA,EAAAA,EAAqC,aAAa,IAAK,CAC3G,2CAA4CC,EAC5C,0CAA2CG,EAC3C,4CAA6CF,EAC7C,6CAA8Ce,KAAKC,MAAMC,2CACzD,6CAA8Cd,EAC9C,CAACL,EAAcoB,MAAM,EACrB,CAACH,KAAKP,MAAMW,YAAY,KAGtBC,EAAgCL,KAAKP,MAAMY,+BAAiCtB,EAAcU,MAAMa,UAAYtB,EAC5GuB,EAAwB,UAAUxB,EAAcoB,MAChDK,EAAc,aAAazB,EAAcoB,MACzCM,EAAW,UAAU1B,EAAcoB,MAEnCO,GAAc3B,EAAcU,MAAMa,UAAYvB,EAAc4B,QAAU5B,EAAc4B,OAAOC,OAAS,EAE1G,OAEIC,EAACC,MAAAA,CAAIC,IAAKhC,EAAcoB,IAAKC,UAAWT,EAAyBqB,QAAShB,KAAKiB,uBAC3EJ,EAACC,MAAAA,CAAIV,UAAU,0CACXS,EAACK,EAAAA,CAAaT,SAAUA,EAAUpB,gBAAiBA,EAAiBL,WAAYA,EAAYmC,gBAAiBX,GACzGK,EAACO,EAEQrC,EAAAA,EAAAA,CAAAA,EAAAA,EAAcU,MAAMa,UAAY,CAAEe,eAAgBtC,EAAcU,MAAM6B,OAAK,CAChF5B,KAAMX,EAAcW,KACpB6B,IAAKxC,EAAcyC,QAGvBX,EAACY,EAAAA,CACGC,YAAa3C,EAAc2C,YAC3B1C,WAAYA,EACZ2C,eAAgB5C,EAAc4C,kBAIrCtB,GACGQ,EAACe,SAAAA,CACGlC,KAAK,SACLU,UAAU,qFACVY,QAAShB,KAAK6B,0BACdC,gBAAe9B,KAAKC,MAAMC,2CAC1B6B,gBAAexB,GAEdjB,EAAK0C,IAAI,uCAIjBtB,GACGG,EAACoB,EAAAA,CACGC,yBAA0BnD,EAAcU,MAAMyC,yBAC9CC,kBAAmBpD,EAAcU,MAAM0C,kBACvCxB,OAAQ5B,EAAc4B,OACtByB,iBAAkBC,EAClBC,wBAAyBtD,KAKrC6B,EAACC,MAAAA,CAAIV,UAAU,oCAAoCmC,eAAcvD,GAC7D6B,EAACC,MAAAA,CAAIV,UAAU,0CAA0CoC,GAAIhC,GACxDH,GACGQ,EAAC4B,EAAAA,CACGD,GAAIjC,EACJmC,KAAM1C,KAAKC,MAAMC,2CACjByC,UAAW3C,KAAK4C,6BAChBC,SAAU7C,KAAK6B,4BAIvBhB,EAACiC,EAAAA,CAAqBC,uBAAwBhE,EAAcD,SAAUI,SAAUA,MAKpG,mBApHJ8D,SAAAC,GAUIC,OAAOjD,QAAQ,CACXC,4CAA4C,IAGhDgD,OAAOrB,6BAA4B,KAC/B7B,KAAKmD,SAAS,CAAEjD,4CAA6CF,KAAKC,MAAMC,4CAA2C,IAGvHgD,OAAON,gCAA+B,KAClC5C,KAAKP,MAAMmD,6BAA6B5C,KAAKP,MAAMV,eACnDiB,KAAK6B,2BAAyB,IAGlCqB,OAAQjC,yBAAwB,KAC5B,MAAMmC,SAAEA,EAAQrE,cAAEA,GAAkBiB,KAAKP,MACzC2D,EAASrE,EAAAA,KAxBbmE,EADEtE,EACYyE,eAAe,CACzBtE,cAAe,KACfC,YAAY,EACZE,UAAU,EACVC,WAAW,EACXe,4CAA4C,EAC5Cb,iBAAiB"}
|
package/dist/es-legacy/components/Dropin/components/PaymentMethod/useBrandLogoConfiguration.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBrandLogoConfiguration.js","sources":["../../../../../../src/components/Dropin/components/PaymentMethod/useBrandLogoConfiguration.ts"],"sourcesContent":["import { useEffect, useState } from 'preact/hooks';\nimport UIElement from '../../../internal/UIElement/UIElement';\n\ntype BrandLogoConfiguration = {\n [key: string]: string;\n};\n\nexport function useBrandLogoConfiguration(paymentMethods: UIElement[]): BrandLogoConfiguration {\n const [brandLogoConfiguration, setBrandLogoConfiguration] = useState<BrandLogoConfiguration>({});\n\n useEffect(() => {\n setBrandLogoConfiguration(\n paymentMethods.reduce(\n (accumulator, paymentMethod) => ({\n ...accumulator,\n ...(paymentMethod.props['brand'] && paymentMethod.icon && { [paymentMethod.props['brand']]: paymentMethod.icon })\n }),\n {}\n )\n );\n }, [paymentMethods]);\n\n return brandLogoConfiguration;\n}\n"],"names":["useBrandLogoConfiguration","paymentMethods","brandLogoConfiguration","setBrandLogoConfiguration","useState","useEffect","reduce","accumulator","paymentMethod","_object_spread","props","icon"],"mappings":"kNAOO,SAASA,EAA0BC,GACtC,MAAOC,EAAwBC,GAA6BC,EAAiC,
|
|
1
|
+
{"version":3,"file":"useBrandLogoConfiguration.js","sources":["../../../../../../src/components/Dropin/components/PaymentMethod/useBrandLogoConfiguration.ts"],"sourcesContent":["import { useEffect, useState } from 'preact/hooks';\nimport UIElement from '../../../internal/UIElement/UIElement';\n\ntype BrandLogoConfiguration = {\n [key: string]: string;\n};\n\nexport function useBrandLogoConfiguration(paymentMethods: UIElement[]): BrandLogoConfiguration {\n const [brandLogoConfiguration, setBrandLogoConfiguration] = useState<BrandLogoConfiguration>({});\n\n useEffect(() => {\n setBrandLogoConfiguration(\n paymentMethods.reduce(\n (accumulator, paymentMethod) => ({\n ...accumulator,\n ...(paymentMethod.props['brand'] && paymentMethod.icon && { [paymentMethod.props['brand']]: paymentMethod.icon })\n }),\n {}\n )\n );\n }, [paymentMethods]);\n\n return brandLogoConfiguration;\n}\n"],"names":["useBrandLogoConfiguration","paymentMethods","brandLogoConfiguration","setBrandLogoConfiguration","useState","useEffect","reduce","accumulator","paymentMethod","_object_spread","props","icon"],"mappings":"kNAOO,SAASA,EAA0BC,GACtC,MAAOC,EAAwBC,GAA6BC,EAAiC,CAAA,GAc7F,OAZAC,GAAU,KACNF,EACIF,EAAeK,QACX,CAACC,EAAaC,0UAAmBC,CAAA,CAAA,EAC1BF,EACCC,EAAcE,MAAM,OAAYF,EAAcG,MAAQ,CAAE,CAACH,EAAcE,aAAiBF,EAAcG,QAE9G,CAAC,GAAA,GAGV,CAACV,IAEGC,CACX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters.js","sources":["../../../../../src/components/Dropin/elements/filters.ts"],"sourcesContent":["import promiseTimeout from '../../../utils/promiseTimeout';\nimport type { PaymentMethod, StoredPaymentMethod, UIElement } from '../../../types';\n\nexport const UNSUPPORTED_PAYMENT_METHODS = ['androidpay', 'samsungpay', 'clicktopay'];\n\n/**\n * Filter out payment methods that are not supported by Drop-in\n * @param paymentMethod - Payment method object from /paymentMethods response\n */\nexport const filterUnsupportedPaymentMethod = (paymentMethod: PaymentMethod | StoredPaymentMethod) =>\n !UNSUPPORTED_PAYMENT_METHODS.includes(paymentMethod.type);\n\n// filter payment methods that we support (that are in the paymentMethods/index dictionary)\nexport const filterPresent = paymentMethod => !!paymentMethod;\n\n// filter payment methods that are available to the user\nexport const filterAvailable = (elements: UIElement[]) => {\n const elementIsAvailablePromises = elements.map(element => {\n const { promise } = promiseTimeout(5000, element.isAvailable(), {});\n return promise;\n });\n\n return Promise.allSettled(elementIsAvailablePromises).then(promiseResults => {\n return elements.filter((element, i) => promiseResults[i].status === 'fulfilled');\n });\n};\n\nexport const optionallyFilterUpiSubTxVariants = (paymentMethods: Array<PaymentMethod | StoredPaymentMethod>) => {\n const hasUpiParent = paymentMethods.some(pm => pm?.type === 'upi');\n // If we don't get the 'upi' parent, we render multiple upi components\n if (!hasUpiParent) return paymentMethods;\n\n // If we get the 'upi' parent, we remove upi sub tx_variant components\n const UPI_SUB_TX_VARIANTS = ['upi_qr', 'upi_collect', 'upi_intent'];\n return paymentMethods.filter(pm => !UPI_SUB_TX_VARIANTS.includes(pm?.type));\n};\n"],"names":["UNSUPPORTED_PAYMENT_METHODS","filterUnsupportedPaymentMethod","paymentMethod","includes","type","filterPresent","filterAvailable","elements","elementIsAvailablePromises","map","element","promise","promiseTimeout","isAvailable","Promise","allSettled","then","promiseResults","filter","i","status","optionallyFilterUpiSubTxVariants","paymentMethods","some","pm","UPI_SUB_TX_VARIANTS"],"mappings":"sDAGaA,EAA8B,CAAC,aAAc,aAAc,cAM3DC,EAAkCC,IAC1CF,EAA4BG,SAASD,EAAcE,MAG3CC,EAAgBH,KAAmBA,EAGnCI,EAAmBC,IAC5B,MAAMC,EAA6BD,EAASE,KAAIC,IAC5C,MAAMC,QAAEA,GAAYC,EAAe,IAAMF,EAAQG,cAAe,
|
|
1
|
+
{"version":3,"file":"filters.js","sources":["../../../../../src/components/Dropin/elements/filters.ts"],"sourcesContent":["import promiseTimeout from '../../../utils/promiseTimeout';\nimport type { PaymentMethod, StoredPaymentMethod, UIElement } from '../../../types';\n\nexport const UNSUPPORTED_PAYMENT_METHODS = ['androidpay', 'samsungpay', 'clicktopay'];\n\n/**\n * Filter out payment methods that are not supported by Drop-in\n * @param paymentMethod - Payment method object from /paymentMethods response\n */\nexport const filterUnsupportedPaymentMethod = (paymentMethod: PaymentMethod | StoredPaymentMethod) =>\n !UNSUPPORTED_PAYMENT_METHODS.includes(paymentMethod.type);\n\n// filter payment methods that we support (that are in the paymentMethods/index dictionary)\nexport const filterPresent = paymentMethod => !!paymentMethod;\n\n// filter payment methods that are available to the user\nexport const filterAvailable = (elements: UIElement[]) => {\n const elementIsAvailablePromises = elements.map(element => {\n const { promise } = promiseTimeout(5000, element.isAvailable(), {});\n return promise;\n });\n\n return Promise.allSettled(elementIsAvailablePromises).then(promiseResults => {\n return elements.filter((element, i) => promiseResults[i].status === 'fulfilled');\n });\n};\n\nexport const optionallyFilterUpiSubTxVariants = (paymentMethods: Array<PaymentMethod | StoredPaymentMethod>) => {\n const hasUpiParent = paymentMethods.some(pm => pm?.type === 'upi');\n // If we don't get the 'upi' parent, we render multiple upi components\n if (!hasUpiParent) return paymentMethods;\n\n // If we get the 'upi' parent, we remove upi sub tx_variant components\n const UPI_SUB_TX_VARIANTS = ['upi_qr', 'upi_collect', 'upi_intent'];\n return paymentMethods.filter(pm => !UPI_SUB_TX_VARIANTS.includes(pm?.type));\n};\n"],"names":["UNSUPPORTED_PAYMENT_METHODS","filterUnsupportedPaymentMethod","paymentMethod","includes","type","filterPresent","filterAvailable","elements","elementIsAvailablePromises","map","element","promise","promiseTimeout","isAvailable","Promise","allSettled","then","promiseResults","filter","i","status","optionallyFilterUpiSubTxVariants","paymentMethods","some","pm","UPI_SUB_TX_VARIANTS"],"mappings":"sDAGaA,EAA8B,CAAC,aAAc,aAAc,cAM3DC,EAAkCC,IAC1CF,EAA4BG,SAASD,EAAcE,MAG3CC,EAAgBH,KAAmBA,EAGnCI,EAAmBC,IAC5B,MAAMC,EAA6BD,EAASE,KAAIC,IAC5C,MAAMC,QAAEA,GAAYC,EAAe,IAAMF,EAAQG,cAAe,IAChE,OAAOF,CAAAA,IAGX,OAAOG,QAAQC,WAAWP,GAA4BQ,MAAKC,GAChDV,EAASW,QAAO,CAACR,EAASS,IAAmC,cAA7BF,EAAeE,GAAGC,UAC7D,EAGSC,EAAoCC,IAG7C,IAFqBA,EAAeC,MAAKC,GAAmB,SAAbA,aAAAA,EAAAA,EAAIpB,QAEhC,OAAOkB,EAG1B,MAAMG,EAAsB,CAAC,SAAU,cAAe,cACtD,OAAOH,EAAeJ,QAAOM,IAAOC,EAAoBtB,SAASqB,aAAAA,EAAAA,EAAIpB,OAAI"}
|