@adyen/adyen-web 6.0.0-alpha.7 → 6.0.0-beta.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 +65 -65
- package/dist/cjs/adyen.css.map +1 -1
- package/dist/cjs/index.cjs +2 -2
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.cts +1767 -1832
- package/dist/es/adyen.css +65 -65
- 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/ANCV/components/ANCVInput.js.map +1 -1
- package/dist/es/components/Ach/Ach.js +1 -1
- package/dist/es/components/Ach/Ach.js.map +1 -1
- package/dist/es/components/Ach/components/AchInput/AchInput.js +1 -1
- package/dist/es/components/Ach/components/AchInput/AchInput.js.map +1 -1
- package/dist/es/components/Ach/components/AchInput/defaultProps.js +1 -1
- package/dist/es/components/Ach/components/AchInput/defaultProps.js.map +1 -1
- package/dist/es/components/AfterPay/AfterPayB2B.js +1 -1
- package/dist/es/components/AfterPay/AfterPayB2B.js.map +1 -1
- package/dist/es/components/BacsDD/BacsDD.js +1 -1
- package/dist/es/components/BacsDD/BacsDD.js.map +1 -1
- package/dist/es/components/BacsDD/components/BacsInput.js +1 -1
- package/dist/es/components/BacsDD/components/BacsInput.js.map +1 -1
- package/dist/es/components/BankTransfer/BankTransfer.js +1 -1
- package/dist/es/components/BankTransfer/BankTransfer.js.map +1 -1
- package/dist/es/components/Blik/Blik.js +1 -1
- package/dist/es/components/Blik/Blik.js.map +1 -1
- package/dist/es/components/Blik/components/BlikInput.js.map +1 -1
- package/dist/es/components/Boleto/components/BoletoInput/BoletoInput.js +1 -1
- package/dist/es/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
- package/dist/es/components/Card/Card.js +1 -1
- package/dist/es/components/Card/Card.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/CardInput.js +1 -1
- package/dist/es/components/Card/components/CardInput/CardInput.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/handlers.js +1 -1
- package/dist/es/components/Card/components/CardInput/types.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/useSRPanelForCardInputErrors.js +2 -0
- package/dist/es/components/Card/components/CardInput/useSRPanelForCardInputErrors.js.map +1 -0
- package/dist/es/components/CashAppPay/CashAppPay.js +1 -1
- package/dist/es/components/CashAppPay/CashAppPay.js.map +1 -1
- package/dist/es/components/Doku/Doku.js +1 -1
- package/dist/es/components/Doku/Doku.js.map +1 -1
- package/dist/es/components/Doku/components/DokuInput/DokuInput.js +1 -1
- package/dist/es/components/Doku/components/DokuInput/DokuInput.js.map +1 -1
- package/dist/es/components/Dropin/Dropin.js +1 -1
- package/dist/es/components/Dropin/Dropin.js.map +1 -1
- package/dist/es/components/Dropin/components/DropinComponent.js +1 -1
- package/dist/es/components/Dropin/components/DropinComponent.js.map +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodList.js +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodList.js.map +1 -1
- package/dist/es/components/Dropin/elements/createElements.js.map +1 -1
- package/dist/es/components/Dropin/elements/createInstantPaymentElements.js.map +1 -1
- package/dist/es/components/Dropin/elements/createStoredElements.js.map +1 -1
- package/dist/es/components/Dropin/elements/filters.js.map +1 -1
- package/dist/es/components/Econtext/Econtext.js +1 -1
- package/dist/es/components/Econtext/Econtext.js.map +1 -1
- package/dist/es/components/Econtext/components/EcontextInput/EcontextInput.js +1 -1
- package/dist/es/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
- package/dist/es/components/Giropay/Giropay.js +1 -1
- package/dist/es/components/Giropay/Giropay.js.map +1 -1
- package/dist/es/components/GooglePay/GooglePay.js.map +1 -1
- package/dist/es/components/Multibanco/Multibanco.js +1 -1
- package/dist/es/components/Multibanco/Multibanco.js.map +1 -1
- package/dist/es/components/PersonalDetails/PersonalDetails.js +1 -1
- package/dist/es/components/PersonalDetails/PersonalDetails.js.map +1 -1
- package/dist/es/components/Redirect/Redirect.js +1 -1
- package/dist/es/components/Redirect/Redirect.js.map +1 -1
- package/dist/es/components/Sepa/Sepa.js +1 -1
- package/dist/es/components/Sepa/Sepa.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
- package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
- package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
- package/dist/es/components/Trustly/Trustly.js +1 -1
- package/dist/es/components/Trustly/Trustly.js.map +1 -1
- package/dist/es/components/WeChat/config.js +1 -1
- package/dist/es/components/WeChat/config.js.map +1 -1
- package/dist/es/components/components-name-map.js +1 -1
- package/dist/es/components/components-name-map.js.map +1 -1
- package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js +1 -1
- package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
- package/dist/es/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js +1 -1
- package/dist/es/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js.map +1 -1
- package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
- package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
- package/dist/es/components/index.js +1 -1
- package/dist/es/components/internal/BaseElement/BaseElement.js +1 -1
- package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPCards/CtPCards.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/models/ShopperCard.js +1 -1
- package/dist/es/components/internal/ClickToPay/models/ShopperCard.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/SrciError.js +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/SrciError.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/services/utils.js +1 -1
- package/dist/es/components/internal/ClickToPay/services/utils.js.map +1 -1
- package/dist/es/components/internal/OpenInvoice/OpenInvoice.js +1 -1
- package/dist/es/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
- package/dist/es/components/internal/RedirectButton/RedirectButton.js +1 -1
- package/dist/es/components/internal/RedirectButton/RedirectButton.js.map +1 -1
- package/dist/es/components/internal/UIElement/UIElement.js +1 -1
- package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
- package/dist/es/components/tx-variants.js +1 -1
- package/dist/es/components/tx-variants.js.map +1 -1
- package/dist/es/core/AdyenCheckout.js.map +1 -1
- package/dist/es/core/Analytics/Analytics.js +1 -1
- package/dist/es/core/Analytics/Analytics.js.map +1 -1
- package/dist/es/core/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 +1 -1
- package/dist/es/core/Analytics/utils.js.map +1 -1
- package/dist/es/core/CheckoutSession/CheckoutSession.js.map +1 -1
- package/dist/es/core/ProcessResponse/PaymentAction/PaymentAction.js.map +1 -1
- package/dist/es/core/ProcessResponse/PaymentAction/actionTypes.js +1 -1
- package/dist/es/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
- package/dist/es/core/Services/analytics/collect-id.js +1 -1
- package/dist/es/core/Services/analytics/collect-id.js.map +1 -1
- package/dist/es/core/Services/http.js +1 -1
- package/dist/es/core/Services/http.js.map +1 -1
- package/dist/es/core/Services/sessions/setup-session.js +1 -1
- package/dist/es/core/Services/sessions/setup-session.js.map +1 -1
- package/dist/es/core/config.js +1 -1
- package/dist/es/core/config.js.map +1 -1
- package/dist/es/core/core.js +1 -1
- package/dist/es/core/core.js.map +1 -1
- package/dist/es/core/core.registry.js +1 -1
- package/dist/es/core/core.registry.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 +1767 -1832
- package/dist/es/index.js +1 -1
- package/dist/es/language/constants.js +1 -1
- package/dist/es/language/constants.js.map +1 -1
- package/dist/es-legacy/adyen.css +65 -65
- 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/ANCV/components/ANCVInput.js.map +1 -1
- package/dist/es-legacy/components/Ach/Ach.js +1 -1
- package/dist/es-legacy/components/Ach/Ach.js.map +1 -1
- package/dist/es-legacy/components/Ach/components/AchInput/AchInput.js +1 -1
- package/dist/es-legacy/components/Ach/components/AchInput/AchInput.js.map +1 -1
- package/dist/es-legacy/components/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/AfterPay/AfterPayB2B.js +1 -1
- package/dist/es-legacy/components/AfterPay/AfterPayB2B.js.map +1 -1
- package/dist/es-legacy/components/BacsDD/BacsDD.js +1 -1
- package/dist/es-legacy/components/BacsDD/BacsDD.js.map +1 -1
- package/dist/es-legacy/components/BacsDD/components/BacsInput.js +1 -1
- package/dist/es-legacy/components/BacsDD/components/BacsInput.js.map +1 -1
- package/dist/es-legacy/components/BankTransfer/BankTransfer.js +1 -1
- package/dist/es-legacy/components/BankTransfer/BankTransfer.js.map +1 -1
- package/dist/es-legacy/components/Blik/Blik.js +1 -1
- package/dist/es-legacy/components/Blik/Blik.js.map +1 -1
- package/dist/es-legacy/components/Blik/components/BlikInput.js.map +1 -1
- package/dist/es-legacy/components/Boleto/components/BoletoInput/BoletoInput.js +1 -1
- package/dist/es-legacy/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
- package/dist/es-legacy/components/Card/Card.js +1 -1
- package/dist/es-legacy/components/Card/Card.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/CardInput.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/CardInput.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/handlers.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/types.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/useSRPanelForCardInputErrors.js +2 -0
- package/dist/es-legacy/components/Card/components/CardInput/useSRPanelForCardInputErrors.js.map +1 -0
- package/dist/es-legacy/components/CashAppPay/CashAppPay.js +1 -1
- package/dist/es-legacy/components/CashAppPay/CashAppPay.js.map +1 -1
- package/dist/es-legacy/components/Doku/Doku.js +1 -1
- package/dist/es-legacy/components/Doku/Doku.js.map +1 -1
- package/dist/es-legacy/components/Doku/components/DokuInput/DokuInput.js +1 -1
- package/dist/es-legacy/components/Doku/components/DokuInput/DokuInput.js.map +1 -1
- package/dist/es-legacy/components/Dropin/Dropin.js +1 -1
- package/dist/es-legacy/components/Dropin/Dropin.js.map +1 -1
- package/dist/es-legacy/components/Dropin/components/DropinComponent.js +1 -1
- package/dist/es-legacy/components/Dropin/components/DropinComponent.js.map +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodList.js +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodList.js.map +1 -1
- package/dist/es-legacy/components/Dropin/elements/createElements.js.map +1 -1
- package/dist/es-legacy/components/Dropin/elements/createInstantPaymentElements.js.map +1 -1
- package/dist/es-legacy/components/Dropin/elements/createStoredElements.js.map +1 -1
- package/dist/es-legacy/components/Dropin/elements/filters.js.map +1 -1
- package/dist/es-legacy/components/Econtext/Econtext.js +1 -1
- package/dist/es-legacy/components/Econtext/Econtext.js.map +1 -1
- package/dist/es-legacy/components/Econtext/components/EcontextInput/EcontextInput.js +1 -1
- package/dist/es-legacy/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
- package/dist/es-legacy/components/Giropay/Giropay.js +1 -1
- package/dist/es-legacy/components/Giropay/Giropay.js.map +1 -1
- package/dist/es-legacy/components/GooglePay/GooglePay.js.map +1 -1
- package/dist/es-legacy/components/Multibanco/Multibanco.js +1 -1
- package/dist/es-legacy/components/Multibanco/Multibanco.js.map +1 -1
- package/dist/es-legacy/components/PersonalDetails/PersonalDetails.js +1 -1
- package/dist/es-legacy/components/PersonalDetails/PersonalDetails.js.map +1 -1
- package/dist/es-legacy/components/Redirect/Redirect.js +1 -1
- package/dist/es-legacy/components/Redirect/Redirect.js.map +1 -1
- package/dist/es-legacy/components/Sepa/Sepa.js +1 -1
- package/dist/es-legacy/components/Sepa/Sepa.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
- package/dist/es-legacy/components/Trustly/Trustly.js +1 -1
- package/dist/es-legacy/components/Trustly/Trustly.js.map +1 -1
- package/dist/es-legacy/components/WeChat/config.js +1 -1
- package/dist/es-legacy/components/WeChat/config.js.map +1 -1
- package/dist/es-legacy/components/components-name-map.js +1 -1
- package/dist/es-legacy/components/components-name-map.js.map +1 -1
- package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js +1 -1
- package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
- package/dist/es-legacy/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js +1 -1
- package/dist/es-legacy/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js.map +1 -1
- package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
- package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
- package/dist/es-legacy/components/index.js +1 -1
- package/dist/es-legacy/components/internal/BaseElement/BaseElement.js +1 -1
- package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPCards/CtPCards.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/models/ShopperCard.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/models/ShopperCard.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/sdks/SrciError.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/sdks/SrciError.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/utils.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/utils.js.map +1 -1
- package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js +1 -1
- package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
- package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js +1 -1
- package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js.map +1 -1
- package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
- package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
- package/dist/es-legacy/components/tx-variants.js +1 -1
- package/dist/es-legacy/components/tx-variants.js.map +1 -1
- package/dist/es-legacy/core/AdyenCheckout.js.map +1 -1
- package/dist/es-legacy/core/Analytics/Analytics.js +1 -1
- package/dist/es-legacy/core/Analytics/Analytics.js.map +1 -1
- package/dist/es-legacy/core/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 +1 -1
- package/dist/es-legacy/core/Analytics/utils.js.map +1 -1
- package/dist/es-legacy/core/CheckoutSession/CheckoutSession.js.map +1 -1
- package/dist/es-legacy/core/ProcessResponse/PaymentAction/PaymentAction.js.map +1 -1
- package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js +1 -1
- package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
- package/dist/es-legacy/core/Services/analytics/collect-id.js +1 -1
- package/dist/es-legacy/core/Services/analytics/collect-id.js.map +1 -1
- package/dist/es-legacy/core/Services/http.js +1 -1
- package/dist/es-legacy/core/Services/http.js.map +1 -1
- package/dist/es-legacy/core/Services/sessions/setup-session.js +1 -1
- package/dist/es-legacy/core/Services/sessions/setup-session.js.map +1 -1
- package/dist/es-legacy/core/config.js +1 -1
- package/dist/es-legacy/core/config.js.map +1 -1
- package/dist/es-legacy/core/core.js +1 -1
- package/dist/es-legacy/core/core.js.map +1 -1
- package/dist/es-legacy/core/core.registry.js +1 -1
- package/dist/es-legacy/core/core.registry.js.map +1 -1
- package/dist/es-legacy/external/preact/dist/preact.js +1 -1
- package/dist/es-legacy/external/preact/dist/preact.js.map +1 -1
- package/dist/es-legacy/index.js +1 -1
- package/dist/es-legacy/language/constants.js +1 -1
- package/dist/es-legacy/language/constants.js.map +1 -1
- package/package.json +30 -30
- package/dist/es/components/Ideal/index.js +0 -2
- package/dist/es/components/Ideal/index.js.map +0 -1
- package/dist/es/core/Services/analytics/log-event.js +0 -2
- package/dist/es/core/Services/analytics/log-event.js.map +0 -1
- package/dist/es-legacy/components/Ideal/index.js +0 -2
- package/dist/es-legacy/components/Ideal/index.js.map +0 -1
- package/dist/es-legacy/core/Services/analytics/log-event.js +0 -2
- package/dist/es-legacy/core/Services/analytics/log-event.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"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 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', { type: ANALYTICS_RENDERED_STR });\n }\n );\n\n this.onOrderCancel = this.getOnOrderCancel();\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 => ({ elements: prevState.elements.filter(pm => pm._id !== storedPaymentMethod._id) }));\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 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","componentDidUpdate","prevProps","prevState","status","type","state","activePaymentMethod","setStatus","props","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","openFirstPaymentMethod","openFirstStoredPaymentMethod","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","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';\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 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', { type: ANALYTICS_RENDERED_STR });\n }\n );\n\n this.onOrderCancel = this.getOnOrderCancel();\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 => ({ elements: prevState.elements.filter(pm => pm._id !== storedPaymentMethod._id) }));\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","componentDidUpdate","prevProps","prevState","status","type","state","activePaymentMethod","setStatus","props","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","openFirstStoredPaymentMethod","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","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,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e,Fragment as t}from"../../../../external/preact/dist/preact.js";import r from"../../../../utils/getProp.js";import{OrderPaymentMethods as o}from"./OrderPaymentMethods.js";import n from"./InstantPaymentMethods.js";import{useCoreContext as s}from"../../../../core/Context/CoreProvider.js";import{useBrandLogoConfiguration as a}from"./useBrandLogoConfiguration.js";import i from"./PaymentMethodsContainer.js";import{useEffect as
|
|
1
|
+
import{createElement as e,Fragment as t}from"../../../../external/preact/dist/preact.js";import r from"../../../../utils/getProp.js";import{OrderPaymentMethods as o}from"./OrderPaymentMethods.js";import n from"./InstantPaymentMethods.js";import{useCoreContext as s}from"../../../../core/Context/CoreProvider.js";import{useBrandLogoConfiguration as a}from"./useBrandLogoConfiguration.js";import i from"./PaymentMethodsContainer.js";import{useEffect as l}from"../../../../external/preact/hooks/dist/hooks.js";function p(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),o.forEach((function(t){p(e,t,r[t])}))}return e}function d(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r.push.apply(r,o)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function m(e,t){if(null==e)return{};var r,o,n=function(e,t){if(null==e)return{};var r,o,n={},s=Object.keys(e);for(o=0;o<s.length;o++)r=s[o],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o<s.length;o++)r=s[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}const y=p=>{var{paymentMethods:y=[],instantPaymentMethods:f=[],storedPaymentMethods:u=[],openFirstStoredPaymentMethod:b,openFirstPaymentMethod:h,openPaymentMethod:O,order:P,orderStatus:j=null,onOrderCancel:g,onSelect:M=(()=>{})}=p,v=m(p,["paymentMethods","instantPaymentMethods","storedPaymentMethods","openFirstStoredPaymentMethod","openFirstPaymentMethod","openPaymentMethod","order","orderStatus","onOrderCancel","onSelect"]);const{i18n:S}=s(),w=a(y),C=f.length>0,k=u.length>0,x=C||k?S.get("paymentMethodsList.otherPayments.label"):"";return l((()=>{if(null==O?void 0:O.type){const e=y.find((e=>e.type===(null==O?void 0:O.type)));if(e)return void M(e);console.warn(`Drop-in: payment method type "${null==O?void 0:O.type}" not found`)}const e=u[0],t=y[0];if(e||t){if(b&&!0===r(e,"props.oneClick"))return void M(e);h&&M(t)}}),[u,y,b,h,O]),e(t,null,j&&e(o,{order:P,orderStatus:j,onOrderCancel:g,brandLogoConfiguration:w}),C&&e(n,{paymentMethods:f}),k&&e(i,d(c({},v),{label:S.get("paymentMethodsList.storedPayments.label"),classNameModifiers:["storedPayments"],paymentMethods:u,onSelect:M})),!!y.length&&e(i,d(c({},v),{label:x,classNameModifiers:["otherPayments"],paymentMethods:y,onSelect:M})))};export{y as default};
|
|
2
2
|
//# sourceMappingURL=PaymentMethodList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentMethodList.js","sources":["../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodList.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport getProp from '../../../../utils/getProp';\nimport UIElement from '../../../internal/UIElement/UIElement';\nimport { Order, OrderStatus } from '../../../../types/global-types';\nimport OrderPaymentMethods from './OrderPaymentMethods';\nimport InstantPaymentMethods from './InstantPaymentMethods';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { useBrandLogoConfiguration } from './useBrandLogoConfiguration';\nimport PaymentMethodsContainer, { PaymentMethodsContainerProps } from './PaymentMethodsContainer';\nimport { useEffect } from 'preact/hooks';\n\ninterface PaymentMethodListProps extends Omit<PaymentMethodsContainerProps, 'label' | 'classNameModifiers'> {\n instantPaymentMethods?: UIElement[];\n storedPaymentMethods?: UIElement[];\n openFirstStoredPaymentMethod?: boolean;\n openFirstPaymentMethod?: boolean;\n order?: Order;\n orderStatus?: OrderStatus;\n onOrderCancel?: (order) => void;\n}\n\nconst PaymentMethodList = ({\n paymentMethods = [], // Non-stored payments\n instantPaymentMethods = [],\n storedPaymentMethods = [],\n openFirstStoredPaymentMethod,\n openFirstPaymentMethod,\n order,\n orderStatus = null,\n onOrderCancel,\n onSelect = () => {},\n ...rest\n}: PaymentMethodListProps) => {\n const { i18n } = useCoreContext();\n const brandLogoConfiguration = useBrandLogoConfiguration(paymentMethods);\n const hasInstantPaymentMethods = instantPaymentMethods.length > 0;\n const hasStoredPaymentMethods = storedPaymentMethods.length > 0;\n const pmListLabel = hasInstantPaymentMethods || hasStoredPaymentMethods ? i18n.get('paymentMethodsList.otherPayments.label') : '';\n\n useEffect(() => {\n // Open first PaymentMethodItem\n const firstStoredPayment = storedPaymentMethods[0];\n const firstNonStoredPayment = paymentMethods[0];\n\n if (firstStoredPayment || firstNonStoredPayment) {\n const shouldOpenFirstStored = openFirstStoredPaymentMethod && getProp(firstStoredPayment, 'props.oneClick') === true;\n if (shouldOpenFirstStored) {\n onSelect(firstStoredPayment);\n return;\n }\n\n if (openFirstPaymentMethod) {\n onSelect(firstNonStoredPayment);\n }\n }\n }, [storedPaymentMethods, paymentMethods, openFirstStoredPaymentMethod, openFirstPaymentMethod]);\n\n return (\n <Fragment>\n {orderStatus && (\n <OrderPaymentMethods\n order={order}\n orderStatus={orderStatus}\n onOrderCancel={onOrderCancel}\n brandLogoConfiguration={brandLogoConfiguration}\n />\n )}\n\n {hasInstantPaymentMethods && <InstantPaymentMethods paymentMethods={instantPaymentMethods} />}\n\n {hasStoredPaymentMethods && (\n <PaymentMethodsContainer\n {...rest}\n label={i18n.get('paymentMethodsList.storedPayments.label')}\n classNameModifiers={['storedPayments']}\n paymentMethods={storedPaymentMethods}\n onSelect={onSelect}\n ></PaymentMethodsContainer>\n )}\n\n {!!paymentMethods.length && (\n <PaymentMethodsContainer\n {...rest}\n label={pmListLabel}\n classNameModifiers={['otherPayments']}\n paymentMethods={paymentMethods}\n onSelect={onSelect}\n ></PaymentMethodsContainer>\n )}\n </Fragment>\n );\n};\n\nexport default PaymentMethodList;\n"],"names":["PaymentMethodList","_param","paymentMethods","instantPaymentMethods","storedPaymentMethods","openFirstStoredPaymentMethod","openFirstPaymentMethod","order","orderStatus","onOrderCancel","onSelect","rest","i18n","useCoreContext","brandLogoConfiguration","useBrandLogoConfiguration","hasInstantPaymentMethods","length","hasStoredPaymentMethods","pmListLabel","get","useEffect","firstStoredPayment","firstNonStoredPayment","getProp","h","Fragment","OrderPaymentMethods","InstantPaymentMethods","PaymentMethodsContainer","label","classNameModifiers"],"mappings":"
|
|
1
|
+
{"version":3,"file":"PaymentMethodList.js","sources":["../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodList.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport getProp from '../../../../utils/getProp';\nimport UIElement from '../../../internal/UIElement/UIElement';\nimport { Order, OrderStatus } from '../../../../types/global-types';\nimport OrderPaymentMethods from './OrderPaymentMethods';\nimport InstantPaymentMethods from './InstantPaymentMethods';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { useBrandLogoConfiguration } from './useBrandLogoConfiguration';\nimport PaymentMethodsContainer, { PaymentMethodsContainerProps } from './PaymentMethodsContainer';\nimport { useEffect } from 'preact/hooks';\n\ninterface PaymentMethodListProps extends Omit<PaymentMethodsContainerProps, 'label' | 'classNameModifiers'> {\n instantPaymentMethods?: UIElement[];\n storedPaymentMethods?: UIElement[];\n openFirstStoredPaymentMethod?: boolean;\n openFirstPaymentMethod?: boolean;\n openPaymentMethod?: {\n type: string;\n };\n order?: Order;\n orderStatus?: OrderStatus;\n onOrderCancel?: (order) => void;\n}\n\nconst PaymentMethodList = ({\n paymentMethods = [], // Non-stored payments\n instantPaymentMethods = [],\n storedPaymentMethods = [],\n openFirstStoredPaymentMethod,\n openFirstPaymentMethod,\n openPaymentMethod,\n order,\n orderStatus = null,\n onOrderCancel,\n onSelect = () => {},\n ...rest\n}: PaymentMethodListProps) => {\n const { i18n } = useCoreContext();\n const brandLogoConfiguration = useBrandLogoConfiguration(paymentMethods);\n const hasInstantPaymentMethods = instantPaymentMethods.length > 0;\n const hasStoredPaymentMethods = storedPaymentMethods.length > 0;\n const pmListLabel = hasInstantPaymentMethods || hasStoredPaymentMethods ? i18n.get('paymentMethodsList.otherPayments.label') : '';\n\n useEffect(() => {\n if (openPaymentMethod?.type) {\n const paymentMethod = paymentMethods.find(paymentMethod => paymentMethod.type === openPaymentMethod?.type);\n if (!paymentMethod) {\n console.warn(`Drop-in: payment method type \"${openPaymentMethod?.type}\" not found`);\n } else {\n onSelect(paymentMethod);\n return;\n }\n }\n\n // Open first PaymentMethodItem\n const firstStoredPayment = storedPaymentMethods[0];\n const firstNonStoredPayment = paymentMethods[0];\n\n if (firstStoredPayment || firstNonStoredPayment) {\n const shouldOpenFirstStored = openFirstStoredPaymentMethod && getProp(firstStoredPayment, 'props.oneClick') === true;\n if (shouldOpenFirstStored) {\n onSelect(firstStoredPayment);\n return;\n }\n\n if (openFirstPaymentMethod) {\n onSelect(firstNonStoredPayment);\n }\n }\n }, [storedPaymentMethods, paymentMethods, openFirstStoredPaymentMethod, openFirstPaymentMethod, openPaymentMethod]);\n\n return (\n <Fragment>\n {orderStatus && (\n <OrderPaymentMethods\n order={order}\n orderStatus={orderStatus}\n onOrderCancel={onOrderCancel}\n brandLogoConfiguration={brandLogoConfiguration}\n />\n )}\n\n {hasInstantPaymentMethods && <InstantPaymentMethods paymentMethods={instantPaymentMethods} />}\n\n {hasStoredPaymentMethods && (\n <PaymentMethodsContainer\n {...rest}\n label={i18n.get('paymentMethodsList.storedPayments.label')}\n classNameModifiers={['storedPayments']}\n paymentMethods={storedPaymentMethods}\n onSelect={onSelect}\n ></PaymentMethodsContainer>\n )}\n\n {!!paymentMethods.length && (\n <PaymentMethodsContainer\n {...rest}\n label={pmListLabel}\n classNameModifiers={['otherPayments']}\n paymentMethods={paymentMethods}\n onSelect={onSelect}\n ></PaymentMethodsContainer>\n )}\n </Fragment>\n );\n};\n\nexport default PaymentMethodList;\n"],"names":["PaymentMethodList","_param","paymentMethods","instantPaymentMethods","storedPaymentMethods","openFirstStoredPaymentMethod","openFirstPaymentMethod","openPaymentMethod","order","orderStatus","onOrderCancel","onSelect","rest","i18n","useCoreContext","brandLogoConfiguration","useBrandLogoConfiguration","hasInstantPaymentMethods","length","hasStoredPaymentMethods","pmListLabel","get","useEffect","type","paymentMethod","find","console","warn","firstStoredPayment","firstNonStoredPayment","getProp","h","Fragment","OrderPaymentMethods","InstantPaymentMethods","PaymentMethodsContainer","label","classNameModifiers"],"mappings":"gqDAwBA,MAAMA,EAAoBC,QAACC,eACvBA,EAAiB,GAAEC,sBACnBA,EAAwB,GAAEC,qBAC1BA,EAAuB,GAAEC,6BACzBA,EAA4BC,uBAC5BA,EAAsBC,kBACtBA,EAAiBC,MACjBA,EAAKC,YACLA,EAAc,KAAIC,cAClBA,EAAaC,SACbA,EAAW,UACRC,EAAAA,EAAAA,EAAAA,EAAAA,CAVHV,iBACAC,wBACAC,uBACAC,+BACAC,yBACAC,oBACAC,QACAC,cACAC,gBACAC,aAGA,MAAME,KAAEA,GAASC,IACXC,EAAyBC,EAA0Bd,GACnDe,EAA2Bd,EAAsBe,OAAS,EAC1DC,EAA0Bf,EAAqBc,OAAS,EACxDE,EAAcH,GAA4BE,EAA0BN,EAAKQ,IAAI,0CAA4C,GA8B/H,OA5BAC,GAAU,KACN,GAAIf,aAAAA,EAAAA,EAAmBgB,KAAM,CACzB,MAAMC,EAAgBtB,EAAeuB,MAAKD,GAAiBA,EAAcD,QAAShB,aAAAA,EAAAA,EAAmBgB,QACrG,GAAKC,EAID,YADAb,EAASa,GAFTE,QAAQC,KAAK,iCAAiCpB,aAAAA,EAAAA,EAAmBgB,kBAKzE,CAGA,MAAMK,EAAqBxB,EAAqB,GAC1CyB,EAAwB3B,EAAe,GAE7C,GAAI0B,GAAsBC,EAAuB,CAE7C,GAD8BxB,IAAkF,IAAlDyB,EAAQF,EAAoB,kBAGtF,YADAjB,EAASiB,GAITtB,GACAK,EAASkB,EAEjB,IACD,CAACzB,EAAsBF,EAAgBG,EAA8BC,EAAwBC,IAG5FwB,EAACC,EACIvB,KAAAA,GACGsB,EAACE,EAAAA,CACGzB,MAAOA,EACPC,YAAaA,EACbC,cAAeA,EACfK,uBAAwBA,IAI/BE,GAA4Bc,EAACG,EAAAA,CAAsBhC,eAAgBC,IAEnEgB,GACGY,EAACI,EACOvB,EAAAA,EAAAA,CAAAA,EAAAA,GAAAA,CACJwB,MAAOvB,EAAKQ,IAAI,2CAChBgB,mBAAoB,CAAC,kBACrBnC,eAAgBE,EAChBO,SAAUA,OAIfT,EAAegB,QACda,EAACI,EACOvB,EAAAA,EAAAA,CAAAA,EAAAA,GAAAA,CACJwB,MAAOhB,EACPiB,mBAAoB,CAAC,iBACrBnC,eAAgBA,EAChBS,SAAUA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createElements.js","sources":["../../../../../src/components/Dropin/elements/createElements.ts"],"sourcesContent":["import { filterUnsupported, filterPresent, filterAvailable } from './filters';\nimport { getComponentConfiguration } from './getComponentConfiguration';\nimport getComponentNameOfPaymentType from '../../components-name-map';\nimport type { PaymentMethod, StoredPaymentMethod } from '../../../types/global-types';\nimport type { PaymentMethodsConfiguration } from '../types';\nimport type { ICore } from '../../../core/types';\
|
|
1
|
+
{"version":3,"file":"createElements.js","sources":["../../../../../src/components/Dropin/elements/createElements.ts"],"sourcesContent":["import { filterUnsupported, filterPresent, filterAvailable } from './filters';\nimport { getComponentConfiguration } from './getComponentConfiguration';\nimport getComponentNameOfPaymentType from '../../components-name-map';\nimport UIElement from '../../internal/UIElement';\nimport type { PaymentMethod, StoredPaymentMethod } from '../../../types/global-types';\nimport type { PaymentMethodsConfiguration } from '../types';\nimport type { ICore } from '../../../core/types';\n\n/**\n * Returns a filtered (available) list of component Elements\n *\n * @param paymentMethods - Array of PaymentMethod objects from the /paymentMethods response\n * @param paymentMethodsConfiguration - Dropin paymentMethodsConfiguration object\n * @param commonProps - High level props to be passed through to every component\n * @param core - Reference to the checkout core object\n */\nconst createElements = (\n paymentMethods: PaymentMethod[] | StoredPaymentMethod[],\n paymentMethodsConfiguration: PaymentMethodsConfiguration,\n commonProps,\n core: ICore\n): Promise<UIElement[]> => {\n const elements = paymentMethods\n .map(paymentMethod => {\n const paymentMethodConfigurationProps = getComponentConfiguration(\n paymentMethod.type,\n paymentMethodsConfiguration,\n paymentMethod.isStoredPaymentMethod\n );\n const PaymentMethodElement = core.getComponent(paymentMethod.type);\n\n if (!PaymentMethodElement) {\n console.warn(\n `\\nDropin: You support the payment method '${\n paymentMethod.type\n }' but this component has not been configured. Make sure to import the Class '${getComponentNameOfPaymentType(\n paymentMethod.type\n )}' and then pass it in the Dropin's 'paymentMethodComponents' config property if you wish to offer this payment method.`\n );\n return null;\n }\n\n const elementProps = { ...paymentMethod, ...commonProps, ...paymentMethodConfigurationProps };\n\n return new PaymentMethodElement(core, elementProps);\n })\n .filter(filterPresent)\n .filter(filterUnsupported);\n\n return filterAvailable(elements);\n};\n\nexport default createElements;\n"],"names":["createElements","paymentMethods","paymentMethodsConfiguration","commonProps","core","elements","map","paymentMethod","paymentMethodConfigurationProps","getComponentConfiguration","type","isStoredPaymentMethod","PaymentMethodElement","getComponent","console","warn","getComponentNameOfPaymentType","elementProps","_object_spread","filter","filterPresent","filterUnsupported","filterAvailable"],"mappings":"wUAgBMA,MAAAA,EAAiB,CACnBC,EACAC,EACAC,EACAC,KAEA,MAAMC,EAAWJ,EACZK,KAAIC,IACD,MAAMC,EAAkCC,EACpCF,EAAcG,KACdR,EACAK,EAAcI,uBAEZC,EAAuBR,EAAKS,aAAaN,EAAcG,MAE7D,IAAKE,EAQD,OAPAE,QAAQC,KACJ,6CACIR,EAAcG,qFAC+DM,EAC7ET,EAAcG,+HAGf,KAGX,MAAMO,wUAAeC,CAAKX,CAAAA,EAAAA,EAAkBJ,EAAgBK,GAE5D,OAAO,IAAII,EAAqBR,EAAMa,EAAAA,IAEzCE,OAAOC,GACPD,OAAOE,GAEZ,OAAOC,EAAgBjB,EAAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createInstantPaymentElements.js","sources":["../../../../../src/components/Dropin/elements/createInstantPaymentElements.ts"],"sourcesContent":["import createElements from './createElements';\nimport type { PaymentMethod } from '../../../types/global-types';\nimport type { ICore } from '../../../core/types';\nimport type { PaymentMethodsConfiguration } from '../types';\
|
|
1
|
+
{"version":3,"file":"createInstantPaymentElements.js","sources":["../../../../../src/components/Dropin/elements/createInstantPaymentElements.ts"],"sourcesContent":["import UIElement from '../../internal/UIElement';\nimport createElements from './createElements';\nimport type { PaymentMethod } from '../../../types/global-types';\nimport type { ICore } from '../../../core/types';\nimport type { PaymentMethodsConfiguration } from '../types';\n\n/**\n * Returns a filtered (available) list of InstantPaymentMethods Elements\n *\n * @param instantPaymentMethods - Array of PaymentMethod objects from the /paymentMethods response\n * @param paymentMethodsConfiguration - Dropin paymentMethodsConfiguration object\n * @param commonProps - High level props to be passed through to every component\n * @param core - Reference to the checkout core object\n */\nconst createInstantPaymentElements = (\n instantPaymentMethods: PaymentMethod[] = [],\n paymentMethodsConfiguration: PaymentMethodsConfiguration,\n commonProps,\n core: ICore\n): Promise<UIElement[]> => {\n if (instantPaymentMethods.length) {\n return createElements(\n instantPaymentMethods,\n paymentMethodsConfiguration,\n { ...commonProps, isInstantPayment: true, showPayButton: true },\n core\n );\n }\n return Promise.resolve([]);\n};\n\nexport default createInstantPaymentElements;\n"],"names":["createInstantPaymentElements","instantPaymentMethods","paymentMethodsConfiguration","commonProps","core","length","createElements","_object_spread_props","isInstantPayment","showPayButton","Promise","resolve"],"mappings":"khBAcMA,EAA+B,CACjCC,EAAyC,GACzCC,EACAC,EACAC,IAEIH,EAAsBI,OACfC,EACHL,EACAC,EACAK,wUAAKJ,CAAAA,CAAAA,EAAAA,GAAAA,CAAaK,kBAAkB,EAAMC,eAAe,IACzDL,GAGDM,QAAQC,QAAQ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createStoredElements.js","sources":["../../../../../src/components/Dropin/elements/createStoredElements.ts"],"sourcesContent":["import createElements from './createElements';\nimport type { StoredPaymentMethod } from '../../../types/global-types';\nimport type { ICore } from '../../../core/types';\nimport type { PaymentMethodsConfiguration } from '../types';\
|
|
1
|
+
{"version":3,"file":"createStoredElements.js","sources":["../../../../../src/components/Dropin/elements/createStoredElements.ts"],"sourcesContent":["import createElements from './createElements';\nimport UIElement from '../../internal/UIElement';\nimport type { StoredPaymentMethod } from '../../../types/global-types';\nimport type { ICore } from '../../../core/types';\nimport type { PaymentMethodsConfiguration } from '../types';\n\n/**\n * Returns a filtered (available) list of oneClick paymentMethod Elements\n *\n * @param paymentMethods - Array of PaymentMethod objects from the /paymentMethods response\n * @param paymentMethodsConfiguration - Dropin paymentMethodsConfiguration object\n * @param commonProps - High level props to be passed through to every component\n * @param core - Reference to the checkout core object\n */\nconst createStoredElements = (\n paymentMethods: StoredPaymentMethod[] = [],\n paymentMethodsConfiguration: PaymentMethodsConfiguration,\n commonProps,\n core: ICore\n): Promise<UIElement[]> => createElements(paymentMethods, paymentMethodsConfiguration, { ...commonProps, oneClick: true }, core);\n\nexport default createStoredElements;\n"],"names":["createStoredElements","paymentMethods","paymentMethodsConfiguration","commonProps","core","createElements","_object_spread_props","oneClick"],"mappings":"4gBAcMA,MAAAA,EAAuB,CACzBC,EAAwC,GACxCC,EACAC,EACAC,IACuBC,EAAeJ,EAAgBC,EAA6BI,wUAAKH,CAAAA,CAAAA,EAAAA,GAAAA,CAAaI,UAAU,IAAQH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters.js","sources":["../../../../../src/components/Dropin/elements/filters.ts"],"sourcesContent":["import promiseTimeout from '../../../utils/promiseTimeout';\nimport
|
|
1
|
+
{"version":3,"file":"filters.js","sources":["../../../../../src/components/Dropin/elements/filters.ts"],"sourcesContent":["import promiseTimeout from '../../../utils/promiseTimeout';\nimport { UIElement } from '../../../types';\n\nexport const UNSUPPORTED_PAYMENT_METHODS = ['androidpay', 'samsungpay', 'clicktopay'];\n\n// filter payment methods that we don't support in the Drop-in\nexport const filterUnsupported = paymentMethod => !UNSUPPORTED_PAYMENT_METHODS.includes(paymentMethod.constructor['type']);\n\n// filter payment methods that we support (that are in the paymentMethods/index dictionary)\nexport const filterPresent = paymentMethod => !!paymentMethod;\n\n// filter payment methods that are available to the user\nexport const filterAvailable = (elements: UIElement[]) => {\n const elementIsAvailablePromises = elements.map(element => {\n const { promise } = promiseTimeout(5000, element.isAvailable(), {});\n return promise;\n });\n\n return Promise.allSettled(elementIsAvailablePromises).then(promiseResults => {\n return elements.filter((element, i) => promiseResults[i].status === 'fulfilled');\n });\n};\n"],"names":["UNSUPPORTED_PAYMENT_METHODS","filterUnsupported","paymentMethod","includes","constructor","filterPresent","filterAvailable","elements","elementIsAvailablePromises","map","element","promise","promiseTimeout","isAvailable","Promise","allSettled","then","promiseResults","filter","i","status"],"mappings":"sDAGaA,EAA8B,CAAC,aAAc,aAAc,cAG3DC,EAAoBC,IAAkBF,EAA4BG,SAASD,EAAcE,YAAY,MAGrGC,EAAgBH,KAAmBA,EAGnCI,EAAmBC,IAC5B,MAAMC,EAA6BD,EAASE,KAAIC,IAC5C,MAAMC,QAAEA,GAAYC,EAAe,IAAMF,EAAQG,cAAe,CAAA,GAChE,OAAOF,CAAAA,IAGX,OAAOG,QAAQC,WAAWP,GAA4BQ,MAAKC,GAChDV,EAASW,QAAO,CAACR,EAASS,IAAmC,cAA7BF,EAAeE,GAAGC,UAC7D"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/EcontextInput/EcontextInput.js";import o from"./components/EcontextVoucherResult/EcontextVoucherResult.js";import{CoreProvider as n}from"../../core/Context/CoreProvider.js";import{TxVariants as s}from"../tx-variants.js";function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function p(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})))),o.forEach((function(e){i(t,e,r[e])}))}return t}function c(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);r.push.apply(r,o)}return r}(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})),t}class a extends e{get isValid(){return!this.props.personalDetailsRequired||!!this.state.isValid}formatData(){return c(p({},this.state.data),{paymentMethod:{type:this.type}})}render(){return t(n,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.reference?t(o,p({ref:t=>{this.componentRef=t}},this.props)):t(r,c(p({setComponentRef:this.setComponentRef},this.props),{showPayButton:this.props.showPayButton,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton})))}}i(a,"type",s.econtext),i(a,"txVariants",[s.econtext,s.econtext_atm,s.econtext_online,s.econtext_seven_eleven,s.econtext_stores]),i(a,"defaultProps",{personalDetailsRequired:!0
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/EcontextInput/EcontextInput.js";import o from"./components/EcontextVoucherResult/EcontextVoucherResult.js";import{CoreProvider as n}from"../../core/Context/CoreProvider.js";import{TxVariants as s}from"../tx-variants.js";function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function p(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})))),o.forEach((function(e){i(t,e,r[e])}))}return t}function c(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);r.push.apply(r,o)}return r}(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})),t}class a extends e{get isValid(){return!this.props.personalDetailsRequired||!!this.state.isValid}formatData(){return c(p({},this.state.data),{paymentMethod:{type:this.type}})}render(){return t(n,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.reference?t(o,p({ref:t=>{this.componentRef=t}},this.props)):t(r,c(p({setComponentRef:this.setComponentRef},this.props),{showPayButton:this.props.showPayButton,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton})))}}i(a,"type",s.econtext),i(a,"txVariants",[s.econtext,s.econtext_atm,s.econtext_online,s.econtext_seven_eleven,s.econtext_stores]),i(a,"defaultProps",{personalDetailsRequired:!0});export{a as EcontextElement,a as default};
|
|
2
2
|
//# sourceMappingURL=Econtext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Econtext.js","sources":["../../../../src/components/Econtext/Econtext.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport EcontextInput from './components/EcontextInput';\nimport EcontextVoucherResult from './components/EcontextVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { TxVariants } from '../tx-variants';\nimport { EcontextConfiguration } from './types';\n\nexport class EcontextElement extends UIElement<EcontextConfiguration> {\n public static type = TxVariants.econtext;\n public static txVariants = [\n TxVariants.econtext,\n TxVariants.econtext_atm,\n TxVariants.econtext_online,\n TxVariants.econtext_seven_eleven,\n TxVariants.econtext_stores\n ];\n\n protected static defaultProps = {\n personalDetailsRequired: true
|
|
1
|
+
{"version":3,"file":"Econtext.js","sources":["../../../../src/components/Econtext/Econtext.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport EcontextInput from './components/EcontextInput';\nimport EcontextVoucherResult from './components/EcontextVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { TxVariants } from '../tx-variants';\nimport { EcontextConfiguration } from './types';\n\nexport class EcontextElement extends UIElement<EcontextConfiguration> {\n public static type = TxVariants.econtext;\n public static txVariants = [\n TxVariants.econtext,\n TxVariants.econtext_atm,\n TxVariants.econtext_online,\n TxVariants.econtext_seven_eleven,\n TxVariants.econtext_stores\n ];\n\n protected static defaultProps = {\n personalDetailsRequired: true\n };\n\n get isValid() {\n if (!this.props.personalDetailsRequired) {\n return true;\n }\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n ...this.state.data,\n paymentMethod: {\n type: this.type\n }\n };\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.reference ? (\n <EcontextVoucherResult\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n />\n ) : (\n <EcontextInput\n setComponentRef={this.setComponentRef}\n {...this.props}\n showPayButton={this.props.showPayButton}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default EcontextElement;\n"],"names":["EcontextElement","UIElement","isValid","this","props","personalDetailsRequired","state","formatData","_object_spread_props","_object_spread","data","paymentMethod","type","render","h","CoreProvider","i18n","loadingContext","resources","reference","EcontextVoucherResult","ref","componentRef","EcontextInput","setComponentRef","showPayButton","onChange","setState","onSubmit","submit","payButton","_define_property","TxVariants","econtext","txVariants","econtext_atm","econtext_online","econtext_seven_eleven","econtext_stores","defaultProps"],"mappings":"4qCAQO,MAAMA,UAAwBC,EAcjC,WAAIC,GACA,OAAKC,KAAKC,MAAMC,2BAGPF,KAAKG,MAAMJ,OACxB,CAKAK,UAAAA,GACI,OAAOC,EACAC,EAAA,CAAA,EAAAN,KAAKG,MAAMI,MAAI,CAClBC,cAAe,CACXC,KAAMT,KAAKS,OAGvB,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMb,KAAKC,MAAMY,KAAMC,eAAgBd,KAAKC,MAAMa,eAAgBC,UAAWf,KAAKe,WAC3Ff,KAAKC,MAAMe,UACRL,EAACM,EAAAA,EAAAA,CACGC,IAAKA,IACDlB,KAAKmB,aAAeD,CAAAA,GAEpBlB,KAAKC,QAGbU,EAACS,EAAAA,EAAAA,EAAAA,CACGC,gBAAiBrB,KAAKqB,iBAClBrB,KAAKC,OAAK,CACdqB,cAAetB,KAAKC,MAAMqB,cAC1BC,SAAUvB,KAAKwB,SACfC,SAAUzB,KAAK0B,OACfC,UAAW3B,KAAK2B,aAKpC,EAtDAC,EADS/B,EACKY,OAAOoB,EAAWC,UAChCF,EAFS/B,EAEKkC,aAAa,CACvBF,EAAWC,SACXD,EAAWG,aACXH,EAAWI,gBACXJ,EAAWK,sBACXL,EAAWM,kBAGfP,EAVS/B,EAUQuC,eAAe,CAC5BlC,yBAAyB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useRef as
|
|
1
|
+
import{createElement as e,Fragment as t}from"../../../../external/preact/dist/preact.js";import{useRef as r,useState as n}from"../../../../external/preact/hooks/dist/hooks.js";import o from"../../../internal/PersonalDetails/PersonalDetails.js";import{useCoreContext as a}from"../../../../core/Context/CoreProvider.js";import{econtextValidationRules as l}from"../../validate.js";import s from"../../../internal/FormInstruction/FormInstruction.js";function i(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function u(u){var{personalDetailsRequired:c=!0,data:m,onChange:p,showPayButton:f,payButton:d}=u,h=i(u,["personalDetailsRequired","data","onChange","showPayButton","payButton"]);const y=r(null),{i18n:v}=a(),[j,b]=n("ready"),g=r({});var x;Object.keys(g.current).length||(null===(x=h.setComponentRef)||void 0===x||x.call(h,g.current));return g.current.showValidation=()=>{var e;null===(e=y.current)||void 0===e||e.showValidation()},g.current.setStatus=b,e("div",{className:"adyen-checkout__econtext-input__field"},c&&e(t,null,e(s,null),e(o,{data:m,requiredFields:["firstName","lastName","telephoneNumber","shopperEmail"],onChange:p,namePrefix:"econtext",setComponentRef:e=>{y.current=e},validationRules:l})),f&&d({status:j,label:v.get("confirmPurchase")}))}export{u as default};
|
|
2
2
|
//# sourceMappingURL=EcontextInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EcontextInput.js","sources":["../../../../../../src/components/Econtext/components/EcontextInput/EcontextInput.tsx"],"sourcesContent":["import { h, VNode } from 'preact';\nimport { useRef, useState } from 'preact/hooks';\nimport PersonalDetails from '../../../internal/PersonalDetails/PersonalDetails';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { econtextValidationRules } from '../../validate';\nimport { PersonalDetailsSchema } from '../../../../types/global-types';\nimport './EcontextInput.scss';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\n\ninterface EcontextInputProps {\n personalDetailsRequired?: boolean;\n
|
|
1
|
+
{"version":3,"file":"EcontextInput.js","sources":["../../../../../../src/components/Econtext/components/EcontextInput/EcontextInput.tsx"],"sourcesContent":["import { Fragment, h, VNode } from 'preact';\nimport { useRef, useState } from 'preact/hooks';\nimport PersonalDetails from '../../../internal/PersonalDetails/PersonalDetails';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { econtextValidationRules } from '../../validate';\nimport { PersonalDetailsSchema } from '../../../../types/global-types';\nimport './EcontextInput.scss';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\n\ninterface EcontextInputProps {\n personalDetailsRequired?: boolean;\n data?: PersonalDetailsSchema;\n showPayButton: boolean;\n payButton(config: any): VNode;\n onChange?(data: any): void;\n onSubmit?(state: any, component: any): void;\n [key: string]: any;\n}\n\nexport default function EcontextInput({ personalDetailsRequired = true, data, onChange, showPayButton, payButton, ...props }: EcontextInputProps) {\n const personalDetailsRef = useRef(null);\n const setPersonalDetailsRef = ref => {\n personalDetailsRef.current = ref;\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 econtextRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(econtextRef.current).length) {\n props.setComponentRef?.(econtextRef.current);\n }\n\n econtextRef.current.showValidation = () => {\n personalDetailsRef.current?.showValidation();\n };\n\n econtextRef.current.setStatus = setStatus;\n\n return (\n <div className=\"adyen-checkout__econtext-input__field\">\n {personalDetailsRequired && (\n <Fragment>\n <FormInstruction />\n <PersonalDetails\n data={data}\n requiredFields={['firstName', 'lastName', 'telephoneNumber', 'shopperEmail']}\n onChange={onChange}\n namePrefix=\"econtext\"\n setComponentRef={setPersonalDetailsRef}\n validationRules={econtextValidationRules}\n />\n </Fragment>\n )}\n {showPayButton && payButton({ status, label: i18n.get('confirmPurchase') })}\n </div>\n );\n}\n"],"names":["EcontextInput","_param","personalDetailsRequired","data","onChange","showPayButton","payButton","props","_object_without_properties","personalDetailsRef","useRef","i18n","useCoreContext","status","setStatus","useState","econtextRef","Object","keys","current","length","setComponentRef","showValidation","h","div","className","Fragment","FormInstruction","PersonalDetails","requiredFields","namePrefix","ref","validationRules","econtextValidationRules","label","get"],"mappings":"kzBAoBe,SAASA,EAAcC,GAAA,IAAAC,wBAAEA,GAA0B,EAAIC,KAAEA,EAAIC,SAAEA,EAAQC,cAAEA,EAAaC,UAAEA,GAAjEL,EAA+EM,EAA/EC,EAAAP,EAAA,CAAEC,0BAAgCC,OAAMC,WAAUC,gBAAeC,cACnG,MAAMG,EAAqBC,EAAO,OAI5BC,KAAEA,GAASC,KAEVC,EAAQC,GAAaC,EAAS,SAG/BC,EAAcN,EAA4B,CAAA,GAG5CH,IAAAA,EADCU,OAAOC,KAAKF,EAAYG,SAASC,SACb,QAArBb,EAAAA,EAAMc,2BAANd,GAAAA,EAAAA,KAAAA,EAAwBS,EAAYG,UASxC,OANAH,EAAYG,QAAQG,eAAiB,KACjCb,IAAAA,EAAAA,QAAAA,EAAAA,EAAmBU,eAAnBV,IAAAA,GAAAA,EAA4Ba,gBAAc,EAG9CN,EAAYG,QAAQL,UAAYA,EAG5BS,EAACC,MAAAA,CAAIC,UAAU,yCACVvB,GACGqB,EAACG,EAAAA,KACGH,EAACI,EAAAA,MACDJ,EAACK,EAAAA,CACGzB,KAAMA,EACN0B,eAAgB,CAAC,YAAa,WAAY,kBAAmB,gBAC7DzB,SAAUA,EACV0B,WAAW,WACXT,gBA9BUU,IAC1BtB,EAAmBU,QAAUY,CAAAA,EA8BbC,gBAAiBC,KAI5B5B,GAAiBC,EAAU,CAAEO,SAAQqB,MAAOvB,EAAKwB,IAAI,qBAGlE"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as t}from"../../external/preact/dist/preact.js";import{CoreProvider as e}from"../../core/Context/CoreProvider.js";import r from"../Redirect/Redirect.js";import o from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as n}from"../tx-variants.js";function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function s(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);r.push.apply(r,o)}return r}(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})),t}class
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import{CoreProvider as e}from"../../core/Context/CoreProvider.js";import r from"../Redirect/Redirect.js";import o from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as n}from"../tx-variants.js";function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function s(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);r.push.apply(r,o)}return r}(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})),t}class p extends r{get displayName(){return this.props.name||this.constructor.type}render(){return this.props.showPayButton?t(e,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(o,s(function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})))),o.forEach((function(e){i(t,e,r[e])}))}return t}({},this.props),{showPayButton:this.props.showPayButton,name:this.displayName,onSubmit:this.submit,payButton:this.payButton,ref:t=>{this.componentRef=t}}))):null}}i(p,"type",n.giropay);export{p as default};
|
|
2
2
|
//# sourceMappingURL=Giropay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Giropay.js","sources":["../../../../src/components/Giropay/Giropay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectElement from '../Redirect';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\n\nclass GiropayElement extends RedirectElement {\n public static type = TxVariants.giropay;\n\n get displayName() {\n return this.props.name || this.constructor['type'];\n }\n\n render() {\n if (this.props.showPayButton) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <RedirectButton\n {...this.props}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n </CoreProvider>\n );\n }\n\n return null;\n }\n}\n\nexport default GiropayElement;\n"],"names":["GiropayElement","RedirectElement","displayName","this","props","name","constructor","render","showPayButton","h","CoreProvider","i18n","loadingContext","resources","RedirectButton","onSubmit","submit","payButton","ref","componentRef","_define_property","type","TxVariants","giropay"],"mappings":"kwBAMA,MAAMA,UAAuBC,EAGzB,eAAIC,GACA,OAAOC,KAAKC,MAAMC,MAAQF,KAAKG,YAAmB,IACtD,CAEAC,MAAAA,GACI,OAAIJ,KAAKC,MAAMI,cAEPC,EAACC,EAAAA,CAAaC,KAAMR,KAAKC,MAAMO,KAAMC,eAAgBT,KAAKC,MAAMQ,eAAgBC,UAAWV,KAAKU,WAC5FJ,EAACK,EAAAA,wUAAAA,CAAAA,GACOX,KAAKC,OAAK,
|
|
1
|
+
{"version":3,"file":"Giropay.js","sources":["../../../../src/components/Giropay/Giropay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectElement from '../Redirect';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\n\nclass GiropayElement extends RedirectElement {\n public static type = TxVariants.giropay;\n\n get displayName() {\n return this.props.name || this.constructor['type'];\n }\n\n render() {\n if (this.props.showPayButton) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <RedirectButton\n {...this.props}\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n </CoreProvider>\n );\n }\n\n return null;\n }\n}\n\nexport default GiropayElement;\n"],"names":["GiropayElement","RedirectElement","displayName","this","props","name","constructor","render","showPayButton","h","CoreProvider","i18n","loadingContext","resources","RedirectButton","onSubmit","submit","payButton","ref","componentRef","_define_property","type","TxVariants","giropay"],"mappings":"kwBAMA,MAAMA,UAAuBC,EAGzB,eAAIC,GACA,OAAOC,KAAKC,MAAMC,MAAQF,KAAKG,YAAmB,IACtD,CAEAC,MAAAA,GACI,OAAIJ,KAAKC,MAAMI,cAEPC,EAACC,EAAAA,CAAaC,KAAMR,KAAKC,MAAMO,KAAMC,eAAgBT,KAAKC,MAAMQ,eAAgBC,UAAWV,KAAKU,WAC5FJ,EAACK,EAAAA,wUAAAA,CAAAA,GACOX,KAAKC,OAAK,CACdI,cAAeL,KAAKC,MAAMI,cAC1BH,KAAMF,KAAKD,YACXa,SAAUZ,KAAKa,OACfC,UAAWd,KAAKc,UAChBC,IAAKA,IACDf,KAAKgB,aAAeD,CAAAA,MAOjC,IACX,EAzBAE,EADEpB,EACYqB,OAAOC,EAAWC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GooglePay.js","sources":["../../../../src/components/GooglePay/GooglePay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GooglePayService from './GooglePayService';\nimport GooglePayButton from './components/GooglePayButton';\nimport defaultProps from './defaultProps';\nimport { formatGooglePayContactToAdyenAddressFormat, getGooglePayLocale } from './utils';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { ANALYTICS_INSTANT_PAYMENT_BUTTON, ANALYTICS_SELECTED_STR } from '../../core/Analytics/constants';\n\nimport type { AddressData, PaymentResponseData, RawPaymentResponse } from '../../types/global-types';\nimport type { GooglePayConfiguration } from './types';\nimport type { ICore } from '../../core/types';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\n\nclass GooglePay extends UIElement<GooglePayConfiguration> {\n public static type = TxVariants.googlepay;\n public static txVariants = [TxVariants.googlepay, TxVariants.paywithgoogle];\n public static defaultProps = defaultProps;\n\n protected readonly googlePay;\n\n constructor(checkout: ICore, props?: GooglePayConfiguration) {\n super(checkout, props);\n this.handleAuthorization = this.handleAuthorization.bind(this);\n\n const { isExpress, paymentDataCallbacks } = this.props;\n\n if (isExpress === false && paymentDataCallbacks?.onPaymentDataChanged) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'GooglePay - You must set \"isExpress\" flag to \"true\" in order to use \"onPaymentDataChanged\" callback'\n );\n }\n\n this.googlePay = new GooglePayService(this.props.environment, {\n ...(isExpress && paymentDataCallbacks?.onPaymentDataChanged && { onPaymentDataChanged: paymentDataCallbacks.onPaymentDataChanged }),\n onPaymentAuthorized: this.onPaymentAuthorized\n });\n }\n\n protected override formatProps(props): GooglePayConfiguration {\n const buttonSizeMode = props.buttonSizeMode ?? (props.isDropin ? 'fill' : 'static');\n const buttonLocale = getGooglePayLocale(props.buttonLocale ?? props.i18n?.locale);\n\n const callbackIntents: google.payments.api.CallbackIntent[] = [...props.callbackIntents, 'PAYMENT_AUTHORIZATION'];\n\n return {\n ...props,\n configuration: props.configuration,\n buttonSizeMode,\n buttonLocale,\n callbackIntents\n };\n }\n\n /**\n * Formats the component data output\n */\n protected override formatData() {\n const { googlePayCardNetwork, googlePayToken, billingAddress, deliveryAddress } = this.state;\n const { isExpress } = this.props;\n\n return {\n paymentMethod: {\n type: this.type,\n googlePayCardNetwork,\n googlePayToken,\n ...(isExpress && { subtype: 'express' })\n },\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n };\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n super.submitAnalytics({ ...analyticsObj }, this.props);\n }\n\n public override submit = () => {\n // Analytics\n if (this.props.isInstantPayment) {\n this.submitAnalytics({ type: ANALYTICS_SELECTED_STR, target: ANALYTICS_INSTANT_PAYMENT_BUTTON });\n }\n\n new Promise((resolve, reject) => this.props.onClick(resolve, reject))\n .then(() => this.googlePay.initiatePayment(this.props, this.core.options.countryCode))\n .catch((error: google.payments.api.PaymentsError) => {\n if (error.statusCode === 'CANCELED') {\n this.handleError(new AdyenCheckoutError('CANCEL', error.toString(), { cause: error }));\n } else {\n this.handleError(new AdyenCheckoutError('ERROR', error.toString(), { cause: error }));\n }\n });\n };\n\n /**\n * Method called when the payment is authorized in the payment sheet\n *\n * @see https://developers.google.com/pay/api/web/reference/client#onPaymentAuthorized\n **/\n private onPaymentAuthorized = async (paymentData: google.payments.api.PaymentData): Promise<google.payments.api.PaymentAuthorizationResult> => {\n const billingAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.paymentMethodData.info.billingAddress);\n const deliveryAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.shippingAddress, true);\n\n this.setState({\n authorizedEvent: paymentData,\n googlePayToken: paymentData.paymentMethodData.tokenizationData.token,\n googlePayCardNetwork: paymentData.paymentMethodData.info.cardNetwork,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n return new Promise<google.payments.api.PaymentAuthorizationResult>(resolve => {\n this.handleAuthorization()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then((paymentResponse: PaymentResponseData) => {\n resolve({ transactionState: 'SUCCESS' });\n return paymentResponse;\n })\n .then(paymentResponse => {\n this.handleResponse(paymentResponse);\n })\n .catch((paymentResponse?: RawPaymentResponse) => {\n this.setElementStatus('ready');\n\n const googlePayError = paymentResponse?.error?.googlePayError;\n const fallbackMessage = this.props.i18n.get('error.subtitle.payment');\n\n const error: google.payments.api.PaymentDataError =\n typeof googlePayError === 'string' || undefined\n ? {\n intent: 'PAYMENT_AUTHORIZATION',\n reason: 'OTHER_ERROR',\n message: (googlePayError as string) || fallbackMessage\n }\n : {\n intent: googlePayError?.intent || 'PAYMENT_AUTHORIZATION',\n reason: googlePayError?.reason || 'OTHER_ERROR',\n message: googlePayError?.message || fallbackMessage\n };\n\n resolve({\n transactionState: 'ERROR',\n error\n });\n\n const responseWithError = {\n ...paymentResponse,\n error: {\n googlePayError: error\n }\n };\n\n this.handleFailedResult(responseWithError);\n });\n });\n };\n\n /**\n * Call the 'onAuthorized' callback if available.\n * Must be resolved/reject for the payment flow to continue\n */\n private async handleAuthorization(): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (!this.props.onAuthorized) {\n resolve();\n }\n\n const { authorizedEvent, billingAddress, deliveryAddress } = this.state;\n\n this.props.onAuthorized(\n {\n authorizedEvent,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n );\n }).catch((error?: google.payments.api.PaymentDataError | string) => {\n // Format error in a way that the 'catch' of the 'onPaymentAuthorize' block accepts it\n const data = { error: { googlePayError: error } };\n return Promise.reject(data);\n });\n }\n\n /**\n * Validation\n */\n get isValid(): boolean {\n return !!this.state.googlePayToken;\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public override async isAvailable(): Promise<void> {\n return this.isReadyToPay()\n .then(response => {\n if (!response.result) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay is not available');\n }\n\n if (response.paymentMethodPresent === false) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay - No paymentMethodPresent');\n }\n\n return Promise.resolve();\n })\n .catch(error => {\n return Promise.reject(error);\n });\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public isReadyToPay = (): Promise<google.payments.api.IsReadyToPayResponse> => {\n return this.googlePay.isReadyToPay(this.props);\n };\n\n /**\n * Use this method to prefetch a PaymentDataRequest configuration to improve loadPaymentData execution time on later user interaction. No value is returned.\n */\n public prefetch = (): void => {\n return this.googlePay.prefetchPaymentData(this.props, this.core.options.countryCode);\n };\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n get icon(): string {\n return this.props.icon ?? this.resources.getImage()('googlepay');\n }\n\n render() {\n if (this.props.showPayButton) {\n return (\n <GooglePayButton\n buttonColor={this.props.buttonColor}\n buttonType={this.props.buttonType}\n buttonSizeMode={this.props.buttonSizeMode}\n buttonLocale={this.props.buttonLocale}\n buttonRootNode={this.props.buttonRootNode}\n paymentsClient={this.googlePay.paymentsClient}\n onClick={this.submit}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default GooglePay;\n"],"names":["GooglePay","UIElement","formatProps","props","buttonSizeMode","isDropin","buttonLocale","getGooglePayLocale","i18n","locale","callbackIntents","_object_spread_props","configuration","formatData","googlePayCardNetwork","googlePayToken","billingAddress","deliveryAddress","this","state","isExpress","_object_spread","paymentMethod","type","subtype","browserInfo","origin","window","location","submitAnalytics","analyticsObj","super","handleAuthorization","Promise","resolve","reject","onAuthorized","authorizedEvent","catch","error","data","googlePayError","isValid","isAvailable","isReadyToPay","then","response","result","AdyenCheckoutError","paymentMethodPresent","collectBrowserInfo","icon","_this_props_icon","resources","getImage","render","showPayButton","h","GooglePayButton","buttonColor","buttonType","buttonRootNode","paymentsClient","googlePay","onClick","submit","constructor","checkout","_define_property","isInstantPayment","ANALYTICS_SELECTED_STR","target","ANALYTICS_INSTANT_PAYMENT_BUTTON","initiatePayment","core","options","countryCode","statusCode","handleError","toString","cause","onPaymentAuthorized","async","paymentData","formatGooglePayContactToAdyenAddressFormat","paymentMethodData","info","shippingAddress","setState","tokenizationData","token","cardNetwork","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","paymentResponse","transactionState","handleResponse","setElementStatus","fallbackMessage","get","intent","reason","message","responseWithError","handleFailedResult","prefetch","prefetchPaymentData","bind","paymentDataCallbacks","onPaymentDataChanged","GooglePayService","environment","TxVariants","googlepay","txVariants","paywithgoogle","defaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GooglePay.js","sources":["../../../../src/components/GooglePay/GooglePay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GooglePayService from './GooglePayService';\nimport GooglePayButton from './components/GooglePayButton';\nimport defaultProps from './defaultProps';\nimport { formatGooglePayContactToAdyenAddressFormat, getGooglePayLocale } from './utils';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { ANALYTICS_INSTANT_PAYMENT_BUTTON, ANALYTICS_SELECTED_STR } from '../../core/Analytics/constants';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\n\nimport type { AddressData, BrowserInfo, PaymentResponseData, RawPaymentResponse } from '../../types/global-types';\nimport type { GooglePayConfiguration } from './types';\nimport type { ICore } from '../../core/types';\n\nclass GooglePay extends UIElement<GooglePayConfiguration> {\n public static type = TxVariants.googlepay;\n public static txVariants = [TxVariants.googlepay, TxVariants.paywithgoogle];\n public static defaultProps = defaultProps;\n\n protected readonly googlePay;\n\n constructor(checkout: ICore, props?: GooglePayConfiguration) {\n super(checkout, props);\n this.handleAuthorization = this.handleAuthorization.bind(this);\n\n const { isExpress, paymentDataCallbacks } = this.props;\n\n if (isExpress === false && paymentDataCallbacks?.onPaymentDataChanged) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'GooglePay - You must set \"isExpress\" flag to \"true\" in order to use \"onPaymentDataChanged\" callback'\n );\n }\n\n this.googlePay = new GooglePayService(this.props.environment, {\n ...(isExpress && paymentDataCallbacks?.onPaymentDataChanged && { onPaymentDataChanged: paymentDataCallbacks.onPaymentDataChanged }),\n onPaymentAuthorized: this.onPaymentAuthorized\n });\n }\n\n protected override formatProps(props): GooglePayConfiguration {\n const buttonSizeMode = props.buttonSizeMode ?? (props.isDropin ? 'fill' : 'static');\n const buttonLocale = getGooglePayLocale(props.buttonLocale ?? props.i18n?.locale);\n\n const callbackIntents: google.payments.api.CallbackIntent[] = [...props.callbackIntents, 'PAYMENT_AUTHORIZATION'];\n\n return {\n ...props,\n configuration: props.configuration,\n buttonSizeMode,\n buttonLocale,\n callbackIntents\n };\n }\n\n /**\n * Formats the component data output\n */\n protected override formatData() {\n const { googlePayCardNetwork, googlePayToken, billingAddress, deliveryAddress } = this.state;\n const { isExpress } = this.props;\n\n return {\n paymentMethod: {\n type: this.type,\n googlePayCardNetwork,\n googlePayToken,\n ...(isExpress && { subtype: 'express' })\n },\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n };\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n super.submitAnalytics({ ...analyticsObj }, this.props);\n }\n\n public override submit = () => {\n // Analytics\n if (this.props.isInstantPayment) {\n this.submitAnalytics({ type: ANALYTICS_SELECTED_STR, target: ANALYTICS_INSTANT_PAYMENT_BUTTON });\n }\n\n new Promise((resolve, reject) => this.props.onClick(resolve, reject))\n .then(() => this.googlePay.initiatePayment(this.props, this.core.options.countryCode))\n .catch((error: google.payments.api.PaymentsError) => {\n if (error.statusCode === 'CANCELED') {\n this.handleError(new AdyenCheckoutError('CANCEL', error.toString(), { cause: error }));\n } else {\n this.handleError(new AdyenCheckoutError('ERROR', error.toString(), { cause: error }));\n }\n });\n };\n\n /**\n * Method called when the payment is authorized in the payment sheet\n *\n * @see https://developers.google.com/pay/api/web/reference/client#onPaymentAuthorized\n **/\n private onPaymentAuthorized = async (paymentData: google.payments.api.PaymentData): Promise<google.payments.api.PaymentAuthorizationResult> => {\n const billingAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.paymentMethodData.info.billingAddress);\n const deliveryAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.shippingAddress, true);\n\n this.setState({\n authorizedEvent: paymentData,\n googlePayToken: paymentData.paymentMethodData.tokenizationData.token,\n googlePayCardNetwork: paymentData.paymentMethodData.info.cardNetwork,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n return new Promise<google.payments.api.PaymentAuthorizationResult>(resolve => {\n this.handleAuthorization()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then((paymentResponse: PaymentResponseData) => {\n resolve({ transactionState: 'SUCCESS' });\n return paymentResponse;\n })\n .then(paymentResponse => {\n this.handleResponse(paymentResponse);\n })\n .catch((paymentResponse?: RawPaymentResponse) => {\n this.setElementStatus('ready');\n\n const googlePayError = paymentResponse?.error?.googlePayError;\n const fallbackMessage = this.props.i18n.get('error.subtitle.payment');\n\n const error: google.payments.api.PaymentDataError =\n typeof googlePayError === 'string' || undefined\n ? {\n intent: 'PAYMENT_AUTHORIZATION',\n reason: 'OTHER_ERROR',\n message: (googlePayError as string) || fallbackMessage\n }\n : {\n intent: googlePayError?.intent || 'PAYMENT_AUTHORIZATION',\n reason: googlePayError?.reason || 'OTHER_ERROR',\n message: googlePayError?.message || fallbackMessage\n };\n\n resolve({\n transactionState: 'ERROR',\n error\n });\n\n const responseWithError = {\n ...paymentResponse,\n error: {\n googlePayError: error\n }\n };\n\n this.handleFailedResult(responseWithError);\n });\n });\n };\n\n /**\n * Call the 'onAuthorized' callback if available.\n * Must be resolved/reject for the payment flow to continue\n */\n private async handleAuthorization(): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (!this.props.onAuthorized) {\n resolve();\n }\n\n const { authorizedEvent, billingAddress, deliveryAddress } = this.state;\n\n this.props.onAuthorized(\n {\n authorizedEvent,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n );\n }).catch((error?: google.payments.api.PaymentDataError | string) => {\n // Format error in a way that the 'catch' of the 'onPaymentAuthorize' block accepts it\n const data = { error: { googlePayError: error } };\n return Promise.reject(data);\n });\n }\n\n /**\n * Validation\n */\n get isValid(): boolean {\n return !!this.state.googlePayToken;\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public override async isAvailable(): Promise<void> {\n return this.isReadyToPay()\n .then(response => {\n if (!response.result) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay is not available');\n }\n\n if (response.paymentMethodPresent === false) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay - No paymentMethodPresent');\n }\n\n return Promise.resolve();\n })\n .catch(error => {\n return Promise.reject(error);\n });\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public isReadyToPay = (): Promise<google.payments.api.IsReadyToPayResponse> => {\n return this.googlePay.isReadyToPay(this.props);\n };\n\n /**\n * Use this method to prefetch a PaymentDataRequest configuration to improve loadPaymentData execution time on later user interaction. No value is returned.\n */\n public prefetch = (): void => {\n return this.googlePay.prefetchPaymentData(this.props, this.core.options.countryCode);\n };\n\n get browserInfo(): BrowserInfo {\n return collectBrowserInfo();\n }\n\n get icon(): string {\n return this.props.icon ?? this.resources.getImage()('googlepay');\n }\n\n render() {\n if (this.props.showPayButton) {\n return (\n <GooglePayButton\n buttonColor={this.props.buttonColor}\n buttonType={this.props.buttonType}\n buttonSizeMode={this.props.buttonSizeMode}\n buttonLocale={this.props.buttonLocale}\n buttonRootNode={this.props.buttonRootNode}\n paymentsClient={this.googlePay.paymentsClient}\n onClick={this.submit}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default GooglePay;\n"],"names":["GooglePay","UIElement","formatProps","props","buttonSizeMode","isDropin","buttonLocale","getGooglePayLocale","i18n","locale","callbackIntents","_object_spread_props","configuration","formatData","googlePayCardNetwork","googlePayToken","billingAddress","deliveryAddress","this","state","isExpress","_object_spread","paymentMethod","type","subtype","browserInfo","origin","window","location","submitAnalytics","analyticsObj","super","handleAuthorization","Promise","resolve","reject","onAuthorized","authorizedEvent","catch","error","data","googlePayError","isValid","isAvailable","isReadyToPay","then","response","result","AdyenCheckoutError","paymentMethodPresent","collectBrowserInfo","icon","_this_props_icon","resources","getImage","render","showPayButton","h","GooglePayButton","buttonColor","buttonType","buttonRootNode","paymentsClient","googlePay","onClick","submit","constructor","checkout","_define_property","isInstantPayment","ANALYTICS_SELECTED_STR","target","ANALYTICS_INSTANT_PAYMENT_BUTTON","initiatePayment","core","options","countryCode","statusCode","handleError","toString","cause","onPaymentAuthorized","async","paymentData","formatGooglePayContactToAdyenAddressFormat","paymentMethodData","info","shippingAddress","setState","tokenizationData","token","cardNetwork","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","paymentResponse","transactionState","handleResponse","setElementStatus","fallbackMessage","get","intent","reason","message","responseWithError","handleFailedResult","prefetch","prefetchPaymentData","bind","paymentDataCallbacks","onPaymentDataChanged","GooglePayService","environment","TxVariants","googlepay","txVariants","paywithgoogle","defaultProps"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/MultibancoVoucherResult/MultibancoVoucherResult.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import n from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as s}from"../tx-variants.js";function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function p(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})))),o.forEach((function(e){i(t,e,r[e])}))}return t}function c(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);r.push.apply(r,o)}return r}(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})),t}class a extends e{get isValid(){return!0}formatProps(t){return c(p({},t),{name:t.name||"Multibanco"})}formatData(){return{paymentMethod:{type:this.props.type||a.type}}}render(){return this.props.reference?t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(r,p({ref:this.handleRef},this.props))):this.props.showPayButton?t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(n,{name:this.displayName,amount:this.props.amount,payButton:this.payButton,onSubmit:this.submit,ref:t=>{this.componentRef=t}})):null}constructor(...t){super(...t),i(this,"handleRef",(t=>{this.componentRef=t}))}}i(a,"type",s.multibanco);export{a as MultibancoElement,a as default};
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/MultibancoVoucherResult/MultibancoVoucherResult.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import n from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as s}from"../tx-variants.js";function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function p(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})))),o.forEach((function(e){i(t,e,r[e])}))}return t}function c(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);r.push.apply(r,o)}return r}(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})),t}class a extends e{get isValid(){return!0}formatProps(t){return c(p({},t),{name:t.name||"Multibanco"})}formatData(){return{paymentMethod:{type:this.props.type||a.type}}}render(){return this.props.reference?t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(r,p({ref:this.handleRef},this.props))):this.props.showPayButton?t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(n,{showPayButton:this.props.showPayButton,name:this.displayName,amount:this.props.amount,payButton:this.payButton,onSubmit:this.submit,ref:t=>{this.componentRef=t}})):null}constructor(...t){super(...t),i(this,"handleRef",(t=>{this.componentRef=t}))}}i(a,"type",s.multibanco);export{a as MultibancoElement,a as default};
|
|
2
2
|
//# sourceMappingURL=Multibanco.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Multibanco.js","sources":["../../../../src/components/Multibanco/Multibanco.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MultibancoVoucherResult from './components/MultibancoVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class MultibancoElement extends UIElement<VoucherConfiguration> {\n public static type = TxVariants.multibanco;\n\n get isValid() {\n return true;\n }\n\n formatProps(props) {\n return {\n ...props,\n name: props.name || 'Multibanco'\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n paymentMethod: {\n type: this.props.type || MultibancoElement.type\n }\n };\n }\n\n private handleRef = ref => {\n this.componentRef = ref;\n };\n\n render() {\n if (this.props.reference) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <MultibancoVoucherResult ref={this.handleRef} {...this.props} />\n </CoreProvider>\n );\n }\n\n if (this.props.showPayButton) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <RedirectButton\n name={this.displayName}\n amount={this.props.amount}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n </CoreProvider>\n );\n }\n\n return null;\n }\n}\n\nexport default MultibancoElement;\n"],"names":["MultibancoElement","UIElement","isValid","formatProps","props","_object_spread_props","name","formatData","paymentMethod","type","this","render","reference","h","CoreProvider","i18n","loadingContext","resources","MultibancoVoucherResult","ref","handleRef","showPayButton","RedirectButton","displayName","amount","payButton","onSubmit","submit","componentRef","_define_property","TxVariants","multibanco"],"mappings":"irCAQO,MAAMA,UAA0BC,EAGnC,WAAIC,GACA,OAAO,CACX,CAEAC,WAAAA,CAAYC,GACR,OAAOC,EACAD,EAAAA,CAAAA,EAAAA,GAAAA,CACHE,KAAMF,EAAME,MAAQ,cAE5B,CAKAC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKN,MAAMK,MAAQT,EAAkBS,MAGvD,CAMAE,MAAAA,GACI,OAAID,KAAKN,MAAMQ,UAEPC,EAACC,EAAAA,CAAaC,KAAML,KAAKN,MAAMW,KAAMC,eAAgBN,KAAKN,MAAMY,eAAgBC,UAAWP,KAAKO,WAC5FJ,EAACK,EAAAA,EAAAA,CAAwBC,IAAKT,KAAKU,WAAeV,KAAKN,SAK/DM,KAAKN,MAAMiB,cAEPR,EAACC,EAAAA,CAAaC,KAAML,KAAKN,MAAMW,KAAMC,eAAgBN,KAAKN,MAAMY,eAAgBC,UAAWP,KAAKO,WAC5FJ,EAACS,EAAAA,
|
|
1
|
+
{"version":3,"file":"Multibanco.js","sources":["../../../../src/components/Multibanco/Multibanco.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MultibancoVoucherResult from './components/MultibancoVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class MultibancoElement extends UIElement<VoucherConfiguration> {\n public static type = TxVariants.multibanco;\n\n get isValid() {\n return true;\n }\n\n formatProps(props) {\n return {\n ...props,\n name: props.name || 'Multibanco'\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n paymentMethod: {\n type: this.props.type || MultibancoElement.type\n }\n };\n }\n\n private handleRef = ref => {\n this.componentRef = ref;\n };\n\n render() {\n if (this.props.reference) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <MultibancoVoucherResult ref={this.handleRef} {...this.props} />\n </CoreProvider>\n );\n }\n\n if (this.props.showPayButton) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n amount={this.props.amount}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n </CoreProvider>\n );\n }\n\n return null;\n }\n}\n\nexport default MultibancoElement;\n"],"names":["MultibancoElement","UIElement","isValid","formatProps","props","_object_spread_props","name","formatData","paymentMethod","type","this","render","reference","h","CoreProvider","i18n","loadingContext","resources","MultibancoVoucherResult","ref","handleRef","showPayButton","RedirectButton","displayName","amount","payButton","onSubmit","submit","componentRef","_define_property","TxVariants","multibanco"],"mappings":"irCAQO,MAAMA,UAA0BC,EAGnC,WAAIC,GACA,OAAO,CACX,CAEAC,WAAAA,CAAYC,GACR,OAAOC,EACAD,EAAAA,CAAAA,EAAAA,GAAAA,CACHE,KAAMF,EAAME,MAAQ,cAE5B,CAKAC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKN,MAAMK,MAAQT,EAAkBS,MAGvD,CAMAE,MAAAA,GACI,OAAID,KAAKN,MAAMQ,UAEPC,EAACC,EAAAA,CAAaC,KAAML,KAAKN,MAAMW,KAAMC,eAAgBN,KAAKN,MAAMY,eAAgBC,UAAWP,KAAKO,WAC5FJ,EAACK,EAAAA,EAAAA,CAAwBC,IAAKT,KAAKU,WAAeV,KAAKN,SAK/DM,KAAKN,MAAMiB,cAEPR,EAACC,EAAAA,CAAaC,KAAML,KAAKN,MAAMW,KAAMC,eAAgBN,KAAKN,MAAMY,eAAgBC,UAAWP,KAAKO,WAC5FJ,EAACS,EAAAA,CACGD,cAAeX,KAAKN,MAAMiB,cAC1Bf,KAAMI,KAAKa,YACXC,OAAQd,KAAKN,MAAMoB,OACnBC,UAAWf,KAAKe,UAChBC,SAAUhB,KAAKiB,OACfR,IAAKA,IACDT,KAAKkB,aAAeT,CAAAA,KAOjC,IACX,+BA/BAU,EAAAnB,KAAQU,aAAYD,IAChBT,KAAKkB,aAAeT,CAAAA,KAzBxBU,EADS7B,EACKS,OAAOqB,EAAWC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as
|
|
1
|
+
import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import r from"../internal/PersonalDetails/PersonalDetails.js";import{CoreProvider as n}from"../../core/Context/CoreProvider.js";import{TxVariants as o}from"../tx-variants.js";import s from"../internal/FormInstruction/FormInstruction.js";function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){i(e,t,r[t])}))}return e}function c(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}class p extends t{get data(){return this.state.data}get isValid(){return!!this.state.isValid}render(){return e(n,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},e(s,null),e(r,a(c(a({setComponentRef:this.setComponentRef},this.props),{onChange:this.setState}),!1)))}}i(p,"type",o.personal_details);export{p as PersonalDetailsElement,p as default};
|
|
2
2
|
//# sourceMappingURL=PersonalDetails.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PersonalDetails.js","sources":["../../../../src/components/PersonalDetails/PersonalDetails.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport PersonalDetails from '../internal/PersonalDetails';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { TxVariants } from '../tx-variants';\nimport FormInstruction from '../internal/FormInstruction';\nimport { UIElementProps } from '../internal/UIElement/types';\n\ninterface PersonalDetailsConfiguration extends UIElementProps {
|
|
1
|
+
{"version":3,"file":"PersonalDetails.js","sources":["../../../../src/components/PersonalDetails/PersonalDetails.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport PersonalDetails from '../internal/PersonalDetails';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { TxVariants } from '../tx-variants';\nimport FormInstruction from '../internal/FormInstruction';\nimport { UIElementProps } from '../internal/UIElement/types';\n\ninterface PersonalDetailsConfiguration extends UIElementProps {}\n\nexport class PersonalDetailsElement extends UIElement<PersonalDetailsConfiguration> {\n public static type = TxVariants.personal_details;\n\n get data() {\n return this.state.data;\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <FormInstruction />\n <PersonalDetails\n setComponentRef={this.setComponentRef}\n {...this.props}\n onChange={this.setState}\n {...(process.env.NODE_ENV !== 'production' && { payButton: this.payButton })}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default PersonalDetailsElement;\n"],"names":["PersonalDetailsElement","UIElement","data","this","state","isValid","render","h","CoreProvider","i18n","props","loadingContext","resources","FormInstruction","PersonalDetails","setComponentRef","onChange","setState","_define_property","type","TxVariants","personal_details"],"mappings":"kqCAUO,MAAMA,UAA+BC,EAGxC,QAAIC,GACA,OAAOC,KAAKC,MAAMF,IACtB,CAEA,WAAIG,GACA,QAASF,KAAKC,MAAMC,OACxB,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMN,KAAKO,MAAMD,KAAME,eAAgBR,KAAKO,MAAMC,eAAgBC,UAAWT,KAAKS,WAC5FL,EAACM,QACDN,EAACO,EAAAA,EAAAA,EAAAA,EAAAA,CACGC,gBAAiBZ,KAAKY,iBAClBZ,KAAKO,OAAK,CACdM,SAAUb,KAAKc,YACV,IAIrB,EAtBAC,EADSlB,EACKmB,OAAOC,EAAWC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import o from"./components/RedirectShopper/RedirectShopper.js";import n from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as s}from"../tx-variants.js";import i from"../../utils/browserInfo.js";function p(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function c(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})))),o.forEach((function(e){p(t,e,r[e])}))}return t}function u(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);r.push.apply(r,o)}return r}(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})),t}class a extends e{formatData(){return{paymentMethod:{type:this.type},browserInfo:this.browserInfo}}get isValid(){return!0}get browserInfo(){return i()}render(){return this.props.url&&this.props.method?t(o,c({url:this.props.url},this.props)):this.props.showPayButton?t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(n,u(c({},this.props),{name:this.displayName,onSubmit:this.submit,payButton:this.payButton,ref:t=>{this.componentRef=t}}))):null}}p(a,"type",s.redirect),p(a,"defaultProps",{type:a.type});export{a as default};
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import o from"./components/RedirectShopper/RedirectShopper.js";import n from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as s}from"../tx-variants.js";import i from"../../utils/browserInfo.js";function p(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function c(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})))),o.forEach((function(e){p(t,e,r[e])}))}return t}function u(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);r.push.apply(r,o)}return r}(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})),t}class a extends e{formatData(){return{paymentMethod:{type:this.type},browserInfo:this.browserInfo}}get isValid(){return!0}get browserInfo(){return i()}render(){return this.props.url&&this.props.method?t(o,c({url:this.props.url},this.props)):this.props.showPayButton?t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(n,u(c({},this.props),{showPayButton:this.props.showPayButton,name:this.displayName,onSubmit:this.submit,payButton:this.payButton,ref:t=>{this.componentRef=t}}))):null}}p(a,"type",s.redirect),p(a,"defaultProps",{type:a.type});export{a as default};
|
|
2
2
|
//# sourceMappingURL=Redirect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Redirect.js","sources":["../../../../src/components/Redirect/Redirect.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectShopper from './components/RedirectShopper';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport { RedirectConfiguration } from './types';\nimport collectBrowserInfo from '../../utils/browserInfo';\n\nclass RedirectElement extends UIElement<RedirectConfiguration> {\n public static type = TxVariants.redirect;\n\n public static defaultProps = {\n type: RedirectElement.type\n };\n\n formatData() {\n return {\n paymentMethod: {\n type: this.type\n },\n browserInfo: this.browserInfo\n };\n }\n\n get isValid() {\n return true;\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n render() {\n if (this.props.url && this.props.method) {\n return <RedirectShopper url={this.props.url} {...this.props} />;\n }\n\n if (this.props.showPayButton) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <RedirectButton\n {...this.props}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n </CoreProvider>\n );\n }\n\n return null;\n }\n}\n\nexport default RedirectElement;\n"],"names":["RedirectElement","UIElement","formatData","paymentMethod","type","this","browserInfo","isValid","collectBrowserInfo","render","props","url","method","h","RedirectShopper","showPayButton","CoreProvider","i18n","loadingContext","resources","RedirectButton","name","displayName","onSubmit","submit","payButton","ref","componentRef","_define_property","TxVariants","redirect","defaultProps"],"mappings":"2sCASA,MAAMA,UAAwBC,EAO1BC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKD,MAEfE,YAAaD,KAAKC,YAE1B,CAEA,WAAIC,GACA,OAAO,CACX,CAEA,eAAID,GACA,OAAOE,GACX,CAEAC,MAAAA,GACI,OAAIJ,KAAKK,MAAMC,KAAON,KAAKK,MAAME,OACtBC,EAACC,EAAAA,EAAAA,CAAgBH,IAAKN,KAAKK,MAAMC,KAASN,KAAKK,QAGtDL,KAAKK,MAAMK,cAEPF,EAACG,EAAAA,CAAaC,KAAMZ,KAAKK,MAAMO,KAAMC,eAAgBb,KAAKK,MAAMQ,eAAgBC,UAAWd,KAAKc,WAC5FN,EAACO,EAAAA,EAAAA,EAAAA,GACOf,KAAKK,OAAK,
|
|
1
|
+
{"version":3,"file":"Redirect.js","sources":["../../../../src/components/Redirect/Redirect.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectShopper from './components/RedirectShopper';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport { RedirectConfiguration } from './types';\nimport collectBrowserInfo from '../../utils/browserInfo';\n\nclass RedirectElement extends UIElement<RedirectConfiguration> {\n public static type = TxVariants.redirect;\n\n public static defaultProps = {\n type: RedirectElement.type\n };\n\n formatData() {\n return {\n paymentMethod: {\n type: this.type\n },\n browserInfo: this.browserInfo\n };\n }\n\n get isValid() {\n return true;\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n render() {\n if (this.props.url && this.props.method) {\n return <RedirectShopper url={this.props.url} {...this.props} />;\n }\n\n if (this.props.showPayButton) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <RedirectButton\n {...this.props}\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n </CoreProvider>\n );\n }\n\n return null;\n }\n}\n\nexport default RedirectElement;\n"],"names":["RedirectElement","UIElement","formatData","paymentMethod","type","this","browserInfo","isValid","collectBrowserInfo","render","props","url","method","h","RedirectShopper","showPayButton","CoreProvider","i18n","loadingContext","resources","RedirectButton","name","displayName","onSubmit","submit","payButton","ref","componentRef","_define_property","TxVariants","redirect","defaultProps"],"mappings":"2sCASA,MAAMA,UAAwBC,EAO1BC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKD,MAEfE,YAAaD,KAAKC,YAE1B,CAEA,WAAIC,GACA,OAAO,CACX,CAEA,eAAID,GACA,OAAOE,GACX,CAEAC,MAAAA,GACI,OAAIJ,KAAKK,MAAMC,KAAON,KAAKK,MAAME,OACtBC,EAACC,EAAAA,EAAAA,CAAgBH,IAAKN,KAAKK,MAAMC,KAASN,KAAKK,QAGtDL,KAAKK,MAAMK,cAEPF,EAACG,EAAAA,CAAaC,KAAMZ,KAAKK,MAAMO,KAAMC,eAAgBb,KAAKK,MAAMQ,eAAgBC,UAAWd,KAAKc,WAC5FN,EAACO,EAAAA,EAAAA,EAAAA,GACOf,KAAKK,OAAK,CACdK,cAAeV,KAAKK,MAAMK,cAC1BM,KAAMhB,KAAKiB,YACXC,SAAUlB,KAAKmB,OACfC,UAAWpB,KAAKoB,UAChBC,IAAKA,IACDrB,KAAKsB,aAAeD,CAAAA,MAOjC,IACX,EA9CAE,EADE5B,EACYI,OAAOyB,EAAWC,UAEhCF,EAHE5B,EAGY+B,eAAe,CACzB3B,KAAMJ,EAAgBI"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"../internal/IbanInput/IbanInput.js";import{CoreProvider as n}from"../../core/Context/CoreProvider.js";import{TxVariants as o}from"../tx-variants.js";import
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"../internal/IbanInput/IbanInput.js";import{CoreProvider as n}from"../../core/Context/CoreProvider.js";import{TxVariants as o}from"../tx-variants.js";import a from"../internal/FormInstruction/FormInstruction.js";function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function s(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})))),n.forEach((function(e){i(t,e,r[e])}))}return t}function p(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r.push.apply(r,n)}return r}(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})),t}class c extends e{formatProps(t){return s({holderName:!0},t)}formatData(){return{paymentMethod:{type:c.type,iban:this.state.data.ibanNumber,ownerName:this.state.data.ownerName}}}get isValid(){return!!this.state.isValid}render(){return t(n,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(a,null),t(r,p(s({ref:t=>{this.componentRef=t}},this.props),{onChange:this.setState,payButton:this.payButton})))}constructor(t,e){super(t,e),this.state=s({},this.state,{data:{ibanNumber:"",ownerName:""}})}}i(c,"type",o.sepadirectdebit);export{c as default};
|
|
2
2
|
//# sourceMappingURL=Sepa.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sepa.js","sources":["../../../../src/components/Sepa/Sepa.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport IbanInput from '../internal/IbanInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { SepaElementData, SepaConfiguration } from './types';\nimport { TxVariants } from '../tx-variants';\nimport FormInstruction from '../internal/FormInstruction';\nimport type { ICore } from '../../core/types';\n\nclass SepaElement extends UIElement<SepaConfiguration> {\n public static type = TxVariants.sepadirectdebit;\n\n
|
|
1
|
+
{"version":3,"file":"Sepa.js","sources":["../../../../src/components/Sepa/Sepa.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport IbanInput from '../internal/IbanInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { SepaElementData, SepaConfiguration } from './types';\nimport { TxVariants } from '../tx-variants';\nimport FormInstruction from '../internal/FormInstruction';\nimport type { ICore } from '../../core/types';\n\nclass SepaElement extends UIElement<SepaConfiguration> {\n public static type = TxVariants.sepadirectdebit;\n\n constructor(checkout: ICore, props?: SepaConfiguration) {\n super(checkout, props);\n this.state = { ...this.state, ...{ data: { ibanNumber: '', ownerName: '' } } };\n }\n\n /**\n * Formats props on construction time\n */\n formatProps(props) {\n return {\n holderName: true,\n ...props\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): SepaElementData {\n return {\n paymentMethod: {\n type: SepaElement.type,\n iban: this.state.data['ibanNumber'],\n ownerName: this.state.data['ownerName']\n }\n };\n }\n\n /**\n * Returns whether the component state is valid or not\n */\n get isValid() {\n return !!this.state.isValid;\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <FormInstruction />\n\n {/* @ts-ignore TODO: add props */}\n <IbanInput\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onChange={this.setState}\n // onSubmit={this.submit}\n payButton={this.payButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default SepaElement;\n"],"names":["SepaElement","UIElement","formatProps","props","_object_spread","holderName","formatData","paymentMethod","type","iban","this","state","data","ownerName","isValid","render","h","CoreProvider","i18n","loadingContext","resources","FormInstruction","IbanInput","ref","componentRef","onChange","setState","payButton","constructor","checkout","super","ibanNumber","_define_property","TxVariants","sepadirectdebit"],"mappings":"spCASA,MAAMA,UAAoBC,EAWtBC,WAAAA,CAAYC,GACR,OAAOC,EAAA,CACHC,YAAY,GACTF,EAEX,CAKAG,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMR,EAAYQ,KAClBC,KAAMC,KAAKC,MAAMC,KAAkB,WACnCC,UAAWH,KAAKC,MAAMC,KAAiB,WAGnD,CAKA,WAAIE,GACA,QAASJ,KAAKC,MAAMG,OACxB,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMR,KAAKP,MAAMe,KAAMC,eAAgBT,KAAKP,MAAMgB,eAAgBC,UAAWV,KAAKU,WAC5FJ,EAACK,QAGDL,EAACM,EAAAA,EAAAA,EAAAA,CACGC,IAAKA,IACDb,KAAKc,aAAeD,CAAAA,GAEpBb,KAAKP,OAAK,CACdsB,SAAUf,KAAKgB,SAEfC,UAAWjB,KAAKiB,aAIhC,CApDAC,WAAAA,CAAYC,EAAiB1B,GACzB2B,MAAMD,EAAU1B,GAChBO,KAAKC,MAAQP,KAAKM,KAAKC,MAAU,CAAEC,KAAM,CAAEmB,WAAY,GAAIlB,UAAW,KAC1E,EALAmB,EADEhC,EACYQ,OAAOyB,EAAWC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Component as e,createElement as r}from"../../../../external/preact/dist/preact.js";import t from"./DoChallenge3DS2.js";import{isErrorObject as o,createOldChallengeResolveData as s,createChallengeResolveData as n,prepareChallengeData as
|
|
1
|
+
import{Component as e,createElement as r}from"../../../../external/preact/dist/preact.js";import t from"./DoChallenge3DS2.js";import{isErrorObject as o,createOldChallengeResolveData as s,createChallengeResolveData as n,prepareChallengeData as i}from"../utils.js";import a from"../../../internal/Img/Img.js";import{hasOwnProperty as l}from"../../../../utils/hasOwnProperty.js";import c from"../../../../core/Context/useImage.js";import p,{ERROR as u}from"../../../../core/Errors/AdyenCheckoutError.js";import{THREEDS2_ERROR as h,THREEDS2_CHALLENGE_ERROR as m,MISSING_TOKEN_IN_ACTION_MSG as d,THREEDS2_FULL as g,THREEDS2_NUM as S,THREEDS2_CHALLENGE as f}from"../../constants.js";import{isValidHttpUrl as D}from"../../../../utils/isValidURL.js";import{Analytics3DS2Errors as _,ANALYTICS_API_ERROR as O,ANALYTICS_NETWORK_ERROR as y,Analytics3DS2Events as b}from"../../../../core/Analytics/constants.js";function E(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function C(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),o.forEach((function(r){E(e,r,t[r])}))}return e}function I(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t.push.apply(t,o)}return t}(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})),e}class T extends e{componentDidMount(){if(!o(this.state.challengeData)){var e,r;const t="test"===this.props.environment&&(null===(r=this.props._environmentUrls)||void 0===r||null===(e=r.api)||void 0===e?void 0:e.includes("http://localhost:8080")),{acsURL:o}=this.state.challengeData;if(!D(o,t)){this.setError({errorInfo:`${_.TOKEN_IS_MISSING_ACSURL}: ${this.props.i18n.get("err.gen.9102")}`},!0);const e={type:h,code:_.TOKEN_IS_MISSING_ACSURL,errorType:O,message:`${m}: Decoded token is missing a valid acsURL property`};return this.props.onSubmitAnalytics(e),void console.debug("### PrepareChallenge3DS2::exiting:: no valid acsURL")}const{acsTransID:s,messageVersion:n,threeDSServerTransID:i}=this.state.challengeData.cReqData;if(!s||!n||!i)return this.setError({errorInfo:`${_.TOKEN_IS_MISSING_OTHER_PROPS}: ${this.props.i18n.get("err.gen.9102")}`},!0),this.props.onSubmitAnalytics({type:h,code:_.TOKEN_IS_MISSING_OTHER_PROPS,errorType:O,message:`${m}: Decoded token is missing one or more of the following properties (acsTransID | messageVersion | threeDSServerTransID)`}),void console.debug("### PrepareChallenge3DS2::exiting:: missing one or more of the following properties (acsTransID | messageVersion | threeDSServerTransID)");this.setState({status:"performingChallenge"})}else{const e=this.state.challengeData.error,r=e.indexOf(d)>-1?_.ACTION_IS_MISSING_TOKEN:_.TOKEN_DECODE_OR_PARSING_FAILED;this.setError({errorInfo:e.indexOf(d)>-1?`${_.ACTION_IS_MISSING_TOKEN}: ${this.props.i18n.get("err.gen.9102")}`:`${_.TOKEN_DECODE_OR_PARSING_FAILED}: ${this.props.i18n.get("err.gen.9102")}`},!0),this.props.onSubmitAnalytics({type:h,code:r,errorType:O,message:`${m}: ${e}`}),console.debug("### PrepareChallenge3DS2::exiting:: no challengeData")}}setStatusComplete(e,r=null){this.setState({status:"complete"},(()=>{const t=(this.props.isMDFlow?s:n)(this.props.dataKey,e.transStatus,this.props.paymentData);let o;r&&console.debug("### PrepareChallenge3DS2::errorCodeObject::",r);const i=r||e;if(i.errorCode){const e={code:"timeout"===i.errorCode?_.THREEDS2_TIMEOUT:_.NO_TRANSSTATUS,errorType:"timeout"===i.errorCode?y:O};o=C({type:h,message:i.message},e),this.props.onSubmitAnalytics(o)}let a;switch(null==e?void 0:e.transStatus){case"Y":a="success";break;case"N":a="failed";break;case"U":a=r?"timeout":"cancelled"}(null==e?void 0:e.errorCode)&&(a="noTransStatus"),o={type:g,message:`${S} challenge has completed`,subtype:b.CHALLENGE_COMPLETED,result:a},this.props.onSubmitAnalytics(o),this.props.onComplete(t)}))}setError(e,r){this.setState({status:"error",errorInfo:e.errorInfo}),r&&this.props.onError(new p(u,e.errorInfo,{cause:e.errorObj}))}render(e,{challengeData:o}){const s=c();return"performingChallenge"===this.state.status?r(t,I(C({onCompleteChallenge:e=>{let r=null;if(l(e.result,"errorCode")&&e.result.errorCode.length&&(r={errorCode:e.result.errorCode,message:`${m}: ${e.result.errorDescription?e.result.errorDescription:"no transStatus could be retrieved"}`},this.props.isMDFlow&&this.props.onError(new p(u,`${m}: ${e.result.errorDescription?e.result.errorDescription:"no transStatus could be retrieved"}`,{cause:e.result.errorCode}))),!e.result)return this.setError({errorInfo:`${m}: ${this.props.i18n.get("3ds.chal.805",{values:{result:'"result"'}})}`,errorObj:e},!0),this.props.onSubmitAnalytics({type:h,code:_.CHALLENGE_RESOLVED_WITHOUT_RESULT_PROP,errorType:O,message:`${m}: challenge resolved without a "result" object`}),void console.debug('### PrepareChallenge3DS2::exiting:: challenge resolved without a "result" object');this.setStatusComplete(e.result,r)},onErrorChallenge:e=>{if(l(e,"errorCode")){const r={errorCode:e.errorCode,message:`${f}: ${e.errorCode}`};return this.props.isMDFlow&&this.props.onError(new p(u,`${m}: '3DS2 challenge timed out'`,{cause:e.errorCode})),void this.setStatusComplete(e.result,r)}}},o),{onActionHandled:this.onActionHandled,onFormSubmit:this.onFormSubmit})):"error"===this.state.status?r("div",{className:"adyen-checkout__threeds2-challenge-error"},r(a,{className:"adyen-checkout__status__icon adyen-checkout__status__icon--error",src:s({imageFolder:"components/"})("error"),alt:""}),r("div",{className:"adyen-checkout__status__text"},this.state.errorInfo?this.state.errorInfo:this.props.i18n.get("error.message.unknown"))):null}constructor(e){if(super(e),E(this,"onActionHandled",(e=>{this.props.onSubmitAnalytics({type:g,message:e.actionDescription,subtype:b.CHALLENGE_IFRAME_LOADED}),this.props.onActionHandled(e)})),E(this,"onFormSubmit",(e=>{this.props.onSubmitAnalytics({type:g,message:e,subtype:b.CHALLENGE_DATA_SENT})})),this.props.token){const e=i({token:this.props.token,size:this.props.challengeWindowSize||this.props.size});this.state={status:"init",challengeData:e}}else this.state={challengeData:{success:!1,error:d}},console.debug(`${m}: ${d}`)}}E(T,"defaultProps",{onComplete:()=>{},onError:()=>{},onActionHandled:()=>{},isMDFlow:!1});export{T as default};
|
|
2
2
|
//# sourceMappingURL=PrepareChallenge3DS2.js.map
|