@adyen/adyen-web 6.47.0-alpha.eada81f → 6.47.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 +20 -22
- 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 +122 -581
- package/dist/es/adyen.css +20 -22
- package/dist/es/adyen.css.map +1 -1
- package/dist/es/components/AmazonPay/AmazonPay.js +1 -1
- package/dist/es/components/AmazonPay/AmazonPay.js.map +1 -1
- package/dist/es/components/AmazonPay/components/AmazonPayButton.js +1 -1
- package/dist/es/components/AmazonPay/components/AmazonPayButton.js.map +1 -1
- package/dist/es/components/AmazonPay/components/AmazonPayComponent.js +1 -1
- package/dist/es/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
- package/dist/es/components/AmazonPay/components/OrderButton.js +1 -1
- package/dist/es/components/AmazonPay/components/OrderButton.js.map +1 -1
- package/dist/es/components/AmazonPay/components/SignOutButton.js +1 -1
- package/dist/es/components/AmazonPay/components/SignOutButton.js.map +1 -1
- package/dist/es/components/AmazonPay/utils.js +1 -1
- package/dist/es/components/AmazonPay/utils.js.map +1 -1
- package/dist/es/components/ApplePay/services/ApplePaySdkLoader.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/components/Installments/Installments.js +1 -1
- package/dist/es/components/Card/components/CardInput/components/Installments/Installments.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/types.js.map +1 -1
- package/dist/es/components/CashAppPay/CashAppPay.js +1 -1
- package/dist/es/components/CashAppPay/CashAppPay.js.map +1 -1
- package/dist/es/components/CashAppPay/components/CashAppComponent.js +1 -1
- package/dist/es/components/CashAppPay/components/CashAppComponent.js.map +1 -1
- package/dist/es/components/CashAppPay/services/CashAppService.js +1 -1
- package/dist/es/components/CashAppPay/services/CashAppService.js.map +1 -1
- package/dist/es/components/CashAppPay/services/types.js.map +1 -1
- package/dist/es/components/CustomCard/CustomCard.js +1 -1
- package/dist/es/components/CustomCard/CustomCard.js.map +1 -1
- package/dist/es/components/Donation/components/DonationComponent.js.map +1 -1
- package/dist/es/components/Donation/components/FixedAmounts.js.map +1 -1
- package/dist/es/components/Dragonpay/components/DragonpayVoucherResult/DragonpayVoucherResult.js +1 -1
- package/dist/es/components/Dragonpay/components/DragonpayVoucherResult/DragonpayVoucherResult.js.map +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/DisableOneClickConfirmation.js +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/DisableOneClickConfirmation.js.map +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
- package/dist/es/components/Giftcard/Giftcard.js +1 -1
- package/dist/es/components/Giftcard/Giftcard.js.map +1 -1
- package/dist/es/components/Giftcard/components/GiftcardComponent.js +1 -1
- package/dist/es/components/Giftcard/components/GiftcardComponent.js.map +1 -1
- package/dist/es/components/Giftcard/types.js +2 -0
- package/dist/es/components/Giftcard/types.js.map +1 -0
- package/dist/es/components/Giftcard/utils.js +2 -0
- package/dist/es/components/Giftcard/utils.js.map +1 -0
- package/dist/es/components/GooglePay/GooglePay.js.map +1 -1
- package/dist/es/components/PayByBankPix/PayByBankPix.js +1 -1
- package/dist/es/components/PayByBankPix/PayByBankPix.js.map +1 -1
- package/dist/es/components/PayByBankPix/components/Enrollment/useIssuerWithLogo.js +1 -1
- package/dist/es/components/PayByBankPix/components/Enrollment/useIssuerWithLogo.js.map +1 -1
- package/dist/es/components/PayByBankUS/PayByBankUS.js +1 -1
- package/dist/es/components/PayByBankUS/PayByBankUS.js.map +1 -1
- package/dist/es/components/PayPal/Paypal.js +1 -1
- package/dist/es/components/PayPal/Paypal.js.map +1 -1
- package/dist/es/components/PayPal/components/PaypalButtons.js +1 -1
- package/dist/es/components/PayPal/components/PaypalButtons.js.map +1 -1
- package/dist/es/components/PayPal/components/PaypalComponent.js +1 -1
- package/dist/es/components/PayPal/components/PaypalComponent.js.map +1 -1
- package/dist/es/components/PayPal/config.js +1 -1
- package/dist/es/components/PayPal/config.js.map +1 -1
- package/dist/es/components/PayPal/utils/get-paypal-locale.js +1 -1
- package/dist/es/components/PayPal/utils/get-paypal-locale.js.map +1 -1
- package/dist/es/components/PayPal/utils/get-paypal-settings.js +1 -1
- package/dist/es/components/PayPal/utils/get-paypal-settings.js.map +1 -1
- package/dist/es/components/PayPal/utils/get-paypal-url.js +1 -1
- package/dist/es/components/PayPal/utils/get-paypal-url.js.map +1 -1
- package/dist/es/components/PayPalFastlane/Fastlane.js +1 -1
- package/dist/es/components/PayPalFastlane/Fastlane.js.map +1 -1
- package/dist/es/components/PayPalFastlane/FastlaneSDK.js +1 -1
- package/dist/es/components/PayPalFastlane/FastlaneSDK.js.map +1 -1
- package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js +1 -1
- package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
- package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js +1 -1
- package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
- package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
- package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/Form/ThreeDS2Form.js +1 -1
- package/dist/es/components/ThreeDS2/components/Form/ThreeDS2Form.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/utils.js +1 -1
- package/dist/es/components/ThreeDS2/components/utils.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/index.js +1 -1
- package/dist/es/components/internal/Address/Address.js +1 -1
- package/dist/es/components/internal/Address/Address.js.map +1 -1
- package/dist/es/components/internal/Address/Specifications.js +1 -1
- package/dist/es/components/internal/Address/Specifications.js.map +1 -1
- package/dist/es/components/internal/Address/components/AddressSearch.js +1 -1
- package/dist/es/components/internal/Address/components/AddressSearch.js.map +1 -1
- package/dist/es/components/internal/Address/components/CountryField.js +1 -1
- package/dist/es/components/internal/Address/components/CountryField.js.map +1 -1
- package/dist/es/components/internal/Address/components/FieldContainer.js +1 -1
- package/dist/es/components/internal/Address/components/FieldContainer.js.map +1 -1
- package/dist/es/components/internal/Address/components/StateField.js +1 -1
- package/dist/es/components/internal/Address/components/StateField.js.map +1 -1
- package/dist/es/components/internal/Address/constants.js.map +1 -1
- package/dist/es/components/internal/Address/utils.js.map +1 -1
- package/dist/es/components/internal/Address/validate.formats.js +1 -1
- package/dist/es/components/internal/Address/validate.formats.js.map +1 -1
- package/dist/es/components/internal/BaseElement/BaseElement.js +1 -1
- package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPSection/CtPLogoutLink.js +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPSection/CtPLogoutLink.js.map +1 -1
- package/dist/es/components/internal/CompanyDetails/CompanyDetails.js +1 -1
- package/dist/es/components/internal/CompanyDetails/CompanyDetails.js.map +1 -1
- package/dist/es/components/internal/CompanyDetails/validate.js +1 -1
- package/dist/es/components/internal/CompanyDetails/validate.js.map +1 -1
- package/dist/es/components/internal/ConsentCheckboxLabel/ConsentCheckboxLabel.js.map +1 -1
- package/dist/es/components/internal/FormFields/Field/Field.js +1 -1
- package/dist/es/components/internal/FormFields/Field/Field.js.map +1 -1
- package/dist/es/components/internal/FormFields/InputBase.js +1 -1
- package/dist/es/components/internal/FormFields/InputBase.js.map +1 -1
- package/dist/es/components/internal/FormFields/InputDate/InputDate.js +1 -1
- package/dist/es/components/internal/FormFields/InputDate/InputDate.js.map +1 -1
- package/dist/es/components/internal/FormFields/InputDate/utils.js.map +1 -1
- package/dist/es/components/internal/FormFields/Select/Select.js +1 -1
- package/dist/es/components/internal/FormFields/Select/Select.js.map +1 -1
- package/dist/es/components/internal/FormFields/Select/components/SelectButton.js +1 -1
- package/dist/es/components/internal/FormFields/Select/components/SelectButton.js.map +1 -1
- package/dist/es/components/internal/IbanInput/IbanInput.js +1 -1
- package/dist/es/components/internal/IbanInput/IbanInput.js.map +1 -1
- package/dist/es/components/internal/IbanInput/specifications.js.map +1 -1
- package/dist/es/components/internal/IbanInput/utils.js +1 -1
- package/dist/es/components/internal/IbanInput/utils.js.map +1 -1
- package/dist/es/components/internal/PayButton/utils.js.map +1 -1
- package/dist/es/components/internal/PersonalDetails/PersonalDetails.js +1 -1
- package/dist/es/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
- package/dist/es/components/internal/PersonalDetails/validate.js +1 -1
- package/dist/es/components/internal/PersonalDetails/validate.js.map +1 -1
- package/dist/es/components/internal/PhoneInput/PhoneInputFields.js +1 -1
- package/dist/es/components/internal/PhoneInput/PhoneInputFields.js.map +1 -1
- package/dist/es/components/internal/PhoneInput/PhoneInputForm.js +1 -1
- package/dist/es/components/internal/PhoneInput/PhoneInputForm.js.map +1 -1
- package/dist/es/components/internal/QRLoader/QRLoader.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/securedField/utils/processAriaConfig.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/securedField/utils/processAriaConfig.js.map +1 -1
- package/dist/es/components/internal/UIElement/UIElement.js +1 -1
- package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
- package/dist/es/components/internal/UIElement/utils.js.map +1 -1
- package/dist/es/components/tx-variants.js +1 -1
- package/dist/es/components/tx-variants.js.map +1 -1
- package/dist/es/core/Services/http.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/utils.js +1 -1
- package/dist/es/core/utils.js.map +1 -1
- package/dist/es/hooks/usePaymentStatusTimer/usePaymentStatusTimer.js +1 -1
- package/dist/es/hooks/usePaymentStatusTimer/usePaymentStatusTimer.js.map +1 -1
- package/dist/es/index.d.ts +122 -581
- package/dist/es/index.js +1 -1
- package/dist/es/language/Language.js +1 -1
- package/dist/es/language/Language.js.map +1 -1
- package/dist/es/language/utils.js +1 -1
- package/dist/es/language/utils.js.map +1 -1
- package/dist/es/utils/Script.js.map +1 -1
- package/dist/es/utils/Validator/ValidationRuleResult.js.map +1 -1
- package/dist/es/utils/Validator/Validator.js +1 -1
- package/dist/es/utils/Validator/Validator.js.map +1 -1
- package/dist/es/utils/Validator/defaultRules.js +1 -1
- package/dist/es/utils/Validator/defaultRules.js.map +1 -1
- package/dist/es/utils/amount-util.js +1 -1
- package/dist/es/utils/amount-util.js.map +1 -1
- package/dist/es/utils/browserInfo.js.map +1 -1
- package/dist/es/utils/createSdkData.js +1 -1
- package/dist/es/utils/createSdkData.js.map +1 -1
- package/dist/es/utils/get-issuer-image.js +1 -1
- package/dist/es/utils/get-issuer-image.js.map +1 -1
- package/dist/es/utils/get-process-message-handler.js.map +1 -1
- package/dist/es/utils/getConsentUrl.js +1 -1
- package/dist/es/utils/getConsentUrl.js.map +1 -1
- package/dist/es/utils/getErrorMessage.js.map +1 -1
- package/dist/es/utils/getOrigin.js.map +1 -1
- package/dist/es/utils/isValidURL.js +1 -1
- package/dist/es/utils/isValidURL.js.map +1 -1
- package/dist/es/utils/promiseTimeout.js.map +1 -1
- package/dist/es/utils/useAutoFocus.js.map +1 -1
- package/dist/es/utils/validator-utils.js +1 -1
- package/dist/es/utils/validator-utils.js.map +1 -1
- package/dist/es-legacy/adyen.css +20 -22
- package/dist/es-legacy/adyen.css.map +1 -1
- package/dist/es-legacy/components/AmazonPay/AmazonPay.js +1 -1
- package/dist/es-legacy/components/AmazonPay/AmazonPay.js.map +1 -1
- package/dist/es-legacy/components/AmazonPay/components/AmazonPayButton.js +1 -1
- package/dist/es-legacy/components/AmazonPay/components/AmazonPayButton.js.map +1 -1
- package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js +1 -1
- package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
- package/dist/es-legacy/components/AmazonPay/components/OrderButton.js +1 -1
- package/dist/es-legacy/components/AmazonPay/components/OrderButton.js.map +1 -1
- package/dist/es-legacy/components/AmazonPay/components/SignOutButton.js +1 -1
- package/dist/es-legacy/components/AmazonPay/components/SignOutButton.js.map +1 -1
- package/dist/es-legacy/components/AmazonPay/utils.js +1 -1
- package/dist/es-legacy/components/AmazonPay/utils.js.map +1 -1
- package/dist/es-legacy/components/ApplePay/services/ApplePaySdkLoader.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/Installments/Installments.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/Installments/Installments.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/types.js.map +1 -1
- package/dist/es-legacy/components/CashAppPay/CashAppPay.js +1 -1
- package/dist/es-legacy/components/CashAppPay/CashAppPay.js.map +1 -1
- package/dist/es-legacy/components/CashAppPay/components/CashAppComponent.js +1 -1
- package/dist/es-legacy/components/CashAppPay/components/CashAppComponent.js.map +1 -1
- package/dist/es-legacy/components/CashAppPay/services/CashAppService.js +1 -1
- package/dist/es-legacy/components/CashAppPay/services/CashAppService.js.map +1 -1
- package/dist/es-legacy/components/CashAppPay/services/types.js.map +1 -1
- package/dist/es-legacy/components/CustomCard/CustomCard.js +1 -1
- package/dist/es-legacy/components/CustomCard/CustomCard.js.map +1 -1
- package/dist/es-legacy/components/Donation/components/DonationComponent.js.map +1 -1
- package/dist/es-legacy/components/Donation/components/FixedAmounts.js.map +1 -1
- package/dist/es-legacy/components/Dragonpay/components/DragonpayVoucherResult/DragonpayVoucherResult.js +1 -1
- package/dist/es-legacy/components/Dragonpay/components/DragonpayVoucherResult/DragonpayVoucherResult.js.map +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/DisableOneClickConfirmation.js +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/DisableOneClickConfirmation.js.map +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
- package/dist/es-legacy/components/Giftcard/Giftcard.js +1 -1
- package/dist/es-legacy/components/Giftcard/Giftcard.js.map +1 -1
- package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js +1 -1
- package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js.map +1 -1
- package/dist/es-legacy/components/Giftcard/types.js +2 -0
- package/dist/es-legacy/components/Giftcard/types.js.map +1 -0
- package/dist/es-legacy/components/Giftcard/utils.js +2 -0
- package/dist/es-legacy/components/Giftcard/utils.js.map +1 -0
- package/dist/es-legacy/components/GooglePay/GooglePay.js.map +1 -1
- package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js +1 -1
- package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js.map +1 -1
- package/dist/es-legacy/components/PayByBankPix/components/Enrollment/useIssuerWithLogo.js +1 -1
- package/dist/es-legacy/components/PayByBankPix/components/Enrollment/useIssuerWithLogo.js.map +1 -1
- package/dist/es-legacy/components/PayByBankUS/PayByBankUS.js +1 -1
- package/dist/es-legacy/components/PayByBankUS/PayByBankUS.js.map +1 -1
- package/dist/es-legacy/components/PayPal/Paypal.js +1 -1
- package/dist/es-legacy/components/PayPal/Paypal.js.map +1 -1
- package/dist/es-legacy/components/PayPal/components/PaypalButtons.js +1 -1
- package/dist/es-legacy/components/PayPal/components/PaypalButtons.js.map +1 -1
- package/dist/es-legacy/components/PayPal/components/PaypalComponent.js +1 -1
- package/dist/es-legacy/components/PayPal/components/PaypalComponent.js.map +1 -1
- package/dist/es-legacy/components/PayPal/config.js +1 -1
- package/dist/es-legacy/components/PayPal/config.js.map +1 -1
- package/dist/es-legacy/components/PayPal/utils/get-paypal-locale.js +1 -1
- package/dist/es-legacy/components/PayPal/utils/get-paypal-locale.js.map +1 -1
- package/dist/es-legacy/components/PayPal/utils/get-paypal-settings.js +1 -1
- package/dist/es-legacy/components/PayPal/utils/get-paypal-settings.js.map +1 -1
- package/dist/es-legacy/components/PayPal/utils/get-paypal-url.js +1 -1
- package/dist/es-legacy/components/PayPal/utils/get-paypal-url.js.map +1 -1
- package/dist/es-legacy/components/PayPalFastlane/Fastlane.js +1 -1
- package/dist/es-legacy/components/PayPalFastlane/Fastlane.js.map +1 -1
- package/dist/es-legacy/components/PayPalFastlane/FastlaneSDK.js +1 -1
- package/dist/es-legacy/components/PayPalFastlane/FastlaneSDK.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/ThreeDS2Challenge.js +1 -1
- package/dist/es-legacy/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js +1 -1
- package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/Form/ThreeDS2Form.js +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/Form/ThreeDS2Form.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/utils.js +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/utils.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/index.js +1 -1
- package/dist/es-legacy/components/internal/Address/Address.js +1 -1
- package/dist/es-legacy/components/internal/Address/Address.js.map +1 -1
- package/dist/es-legacy/components/internal/Address/Specifications.js +1 -1
- package/dist/es-legacy/components/internal/Address/Specifications.js.map +1 -1
- package/dist/es-legacy/components/internal/Address/components/AddressSearch.js +1 -1
- package/dist/es-legacy/components/internal/Address/components/AddressSearch.js.map +1 -1
- package/dist/es-legacy/components/internal/Address/components/CountryField.js +1 -1
- package/dist/es-legacy/components/internal/Address/components/CountryField.js.map +1 -1
- package/dist/es-legacy/components/internal/Address/components/FieldContainer.js +1 -1
- package/dist/es-legacy/components/internal/Address/components/FieldContainer.js.map +1 -1
- package/dist/es-legacy/components/internal/Address/components/StateField.js +1 -1
- package/dist/es-legacy/components/internal/Address/components/StateField.js.map +1 -1
- package/dist/es-legacy/components/internal/Address/constants.js.map +1 -1
- package/dist/es-legacy/components/internal/Address/utils.js.map +1 -1
- package/dist/es-legacy/components/internal/Address/validate.formats.js +1 -1
- package/dist/es-legacy/components/internal/Address/validate.formats.js.map +1 -1
- package/dist/es-legacy/components/internal/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/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPSection/CtPLogoutLink.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPSection/CtPLogoutLink.js.map +1 -1
- package/dist/es-legacy/components/internal/CompanyDetails/CompanyDetails.js +1 -1
- package/dist/es-legacy/components/internal/CompanyDetails/CompanyDetails.js.map +1 -1
- package/dist/es-legacy/components/internal/CompanyDetails/validate.js +1 -1
- package/dist/es-legacy/components/internal/CompanyDetails/validate.js.map +1 -1
- package/dist/es-legacy/components/internal/ConsentCheckboxLabel/ConsentCheckboxLabel.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/Field/Field.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/Field/Field.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/InputBase.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/InputBase.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/InputDate/InputDate.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/InputDate/InputDate.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/InputDate/utils.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/Select/Select.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/Select/Select.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/Select/components/SelectButton.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/Select/components/SelectButton.js.map +1 -1
- package/dist/es-legacy/components/internal/IbanInput/IbanInput.js +1 -1
- package/dist/es-legacy/components/internal/IbanInput/IbanInput.js.map +1 -1
- package/dist/es-legacy/components/internal/IbanInput/specifications.js.map +1 -1
- package/dist/es-legacy/components/internal/IbanInput/utils.js +1 -1
- package/dist/es-legacy/components/internal/IbanInput/utils.js.map +1 -1
- package/dist/es-legacy/components/internal/PayButton/utils.js.map +1 -1
- package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js +1 -1
- package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
- package/dist/es-legacy/components/internal/PersonalDetails/validate.js +1 -1
- package/dist/es-legacy/components/internal/PersonalDetails/validate.js.map +1 -1
- package/dist/es-legacy/components/internal/PhoneInput/PhoneInputFields.js +1 -1
- package/dist/es-legacy/components/internal/PhoneInput/PhoneInputFields.js.map +1 -1
- package/dist/es-legacy/components/internal/PhoneInput/PhoneInputForm.js +1 -1
- package/dist/es-legacy/components/internal/PhoneInput/PhoneInputForm.js.map +1 -1
- package/dist/es-legacy/components/internal/QRLoader/QRLoader.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/utils/processAriaConfig.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/utils/processAriaConfig.js.map +1 -1
- package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
- package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
- package/dist/es-legacy/components/internal/UIElement/utils.js.map +1 -1
- package/dist/es-legacy/components/tx-variants.js +1 -1
- package/dist/es-legacy/components/tx-variants.js.map +1 -1
- package/dist/es-legacy/core/Services/http.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/utils.js +1 -1
- package/dist/es-legacy/core/utils.js.map +1 -1
- package/dist/es-legacy/hooks/usePaymentStatusTimer/usePaymentStatusTimer.js +1 -1
- package/dist/es-legacy/hooks/usePaymentStatusTimer/usePaymentStatusTimer.js.map +1 -1
- package/dist/es-legacy/index.js +1 -1
- package/dist/es-legacy/language/Language.js +1 -1
- package/dist/es-legacy/language/Language.js.map +1 -1
- package/dist/es-legacy/language/utils.js +1 -1
- package/dist/es-legacy/language/utils.js.map +1 -1
- package/dist/es-legacy/utils/Script.js.map +1 -1
- package/dist/es-legacy/utils/Validator/ValidationRuleResult.js.map +1 -1
- package/dist/es-legacy/utils/Validator/Validator.js +1 -1
- package/dist/es-legacy/utils/Validator/Validator.js.map +1 -1
- package/dist/es-legacy/utils/Validator/defaultRules.js +1 -1
- package/dist/es-legacy/utils/Validator/defaultRules.js.map +1 -1
- package/dist/es-legacy/utils/amount-util.js +1 -1
- package/dist/es-legacy/utils/amount-util.js.map +1 -1
- package/dist/es-legacy/utils/browserInfo.js.map +1 -1
- package/dist/es-legacy/utils/createSdkData.js +1 -1
- package/dist/es-legacy/utils/createSdkData.js.map +1 -1
- package/dist/es-legacy/utils/get-issuer-image.js +1 -1
- package/dist/es-legacy/utils/get-issuer-image.js.map +1 -1
- package/dist/es-legacy/utils/get-process-message-handler.js.map +1 -1
- package/dist/es-legacy/utils/getConsentUrl.js +1 -1
- package/dist/es-legacy/utils/getConsentUrl.js.map +1 -1
- package/dist/es-legacy/utils/getErrorMessage.js.map +1 -1
- package/dist/es-legacy/utils/getOrigin.js.map +1 -1
- package/dist/es-legacy/utils/isValidURL.js +1 -1
- package/dist/es-legacy/utils/isValidURL.js.map +1 -1
- package/dist/es-legacy/utils/promiseTimeout.js.map +1 -1
- package/dist/es-legacy/utils/useAutoFocus.js.map +1 -1
- package/dist/es-legacy/utils/validator-utils.js +1 -1
- package/dist/es-legacy/utils/validator-utils.js.map +1 -1
- package/package.json +25 -24
- package/styles/adyen.css +20 -22
- package/dist/es/components/PayPal/PayPalCredit.js +0 -2
- package/dist/es/components/PayPal/PayPalCredit.js.map +0 -1
- package/dist/es/components/PayPal/PayPalPaylater.js +0 -2
- package/dist/es/components/PayPal/PayPalPaylater.js.map +0 -1
- package/dist/es/components/PayPal/Venmo.js +0 -2
- package/dist/es/components/PayPal/Venmo.js.map +0 -1
- package/dist/es/components/PayPal/components/PayPalButton.js +0 -2
- package/dist/es/components/PayPal/components/PayPalButton.js.map +0 -1
- package/dist/es/components/PayPal/components/PayPalComponentV6.js +0 -2
- package/dist/es/components/PayPal/components/PayPalComponentV6.js.map +0 -1
- package/dist/es/components/PayPal/components/PayPalComponentV6.module.scss.js +0 -2
- package/dist/es/components/PayPal/components/PayPalComponentV6.module.scss.js.map +0 -1
- package/dist/es/components/PayPal/components/PayPalCreditButton.js +0 -2
- package/dist/es/components/PayPal/components/PayPalCreditButton.js.map +0 -1
- package/dist/es/components/PayPal/components/PayPalCreditComponent.js +0 -2
- package/dist/es/components/PayPal/components/PayPalCreditComponent.js.map +0 -1
- package/dist/es/components/PayPal/components/PayPalMessaging.js +0 -2
- package/dist/es/components/PayPal/components/PayPalMessaging.js.map +0 -1
- package/dist/es/components/PayPal/components/PayPalPayLaterButton.js +0 -2
- package/dist/es/components/PayPal/components/PayPalPayLaterButton.js.map +0 -1
- package/dist/es/components/PayPal/components/PayPalPaylaterComponent.js +0 -2
- package/dist/es/components/PayPal/components/PayPalPaylaterComponent.js.map +0 -1
- package/dist/es/components/PayPal/components/PayPalPaylaterComponent.module.scss.js +0 -2
- package/dist/es/components/PayPal/components/PayPalPaylaterComponent.module.scss.js.map +0 -1
- package/dist/es/components/PayPal/components/PayPalProcessingSpinner.js +0 -2
- package/dist/es/components/PayPal/components/PayPalProcessingSpinner.js.map +0 -1
- package/dist/es/components/PayPal/components/PayPalSpinner.js +0 -2
- package/dist/es/components/PayPal/components/PayPalSpinner.js.map +0 -1
- package/dist/es/components/PayPal/components/VenmoButton.js +0 -2
- package/dist/es/components/PayPal/components/VenmoButton.js.map +0 -1
- package/dist/es/components/PayPal/components/VenmoComponent.js +0 -2
- package/dist/es/components/PayPal/components/VenmoComponent.js.map +0 -1
- package/dist/es/components/PayPal/hooks/usePayPalButtonEligibility.js +0 -2
- package/dist/es/components/PayPal/hooks/usePayPalButtonEligibility.js.map +0 -1
- package/dist/es/components/PayPal/hooks/usePayPalOneTimeSession.js +0 -2
- package/dist/es/components/PayPal/hooks/usePayPalOneTimeSession.js.map +0 -1
- package/dist/es/components/PayPal/hooks/usePayPalSaveSession.js +0 -2
- package/dist/es/components/PayPal/hooks/usePayPalSaveSession.js.map +0 -1
- package/dist/es/components/PayPal/hooks/usePayPalSessionOptions.js +0 -2
- package/dist/es/components/PayPal/hooks/usePayPalSessionOptions.js.map +0 -1
- package/dist/es/components/PayPal/hooks/usePayPalStatus.js +0 -2
- package/dist/es/components/PayPal/hooks/usePayPalStatus.js.map +0 -1
- package/dist/es/components/PayPal/hooks/useStartPayPalSession.js +0 -2
- package/dist/es/components/PayPal/hooks/useStartPayPalSession.js.map +0 -1
- package/dist/es/components/PayPal/models/BasePayPalElement.js +0 -2
- package/dist/es/components/PayPal/models/BasePayPalElement.js.map +0 -1
- package/dist/es/components/PayPal/services/PayPalSdkLoader.js +0 -2
- package/dist/es/components/PayPal/services/PayPalSdkLoader.js.map +0 -1
- package/dist/es/components/PayPal/services/PayPalService.js +0 -2
- package/dist/es/components/PayPal/services/PayPalService.js.map +0 -1
- package/dist/es/components/PayPal/services/request-paypal-oauth-token.js +0 -2
- package/dist/es/components/PayPal/services/request-paypal-oauth-token.js.map +0 -1
- package/dist/es/components/PayPal/services/request-paypal-order-details.js +0 -2
- package/dist/es/components/PayPal/services/request-paypal-order-details.js.map +0 -1
- package/dist/es/components/PayPal/utils/is-paypal-service-config-equal.js +0 -2
- package/dist/es/components/PayPal/utils/is-paypal-service-config-equal.js.map +0 -1
- package/dist/es/utils/is-live-environment.js +0 -2
- package/dist/es/utils/is-live-environment.js.map +0 -1
- package/dist/es-legacy/components/PayPal/PayPalCredit.js +0 -2
- package/dist/es-legacy/components/PayPal/PayPalCredit.js.map +0 -1
- package/dist/es-legacy/components/PayPal/PayPalPaylater.js +0 -2
- package/dist/es-legacy/components/PayPal/PayPalPaylater.js.map +0 -1
- package/dist/es-legacy/components/PayPal/Venmo.js +0 -2
- package/dist/es-legacy/components/PayPal/Venmo.js.map +0 -1
- package/dist/es-legacy/components/PayPal/components/PayPalButton.js +0 -2
- package/dist/es-legacy/components/PayPal/components/PayPalButton.js.map +0 -1
- package/dist/es-legacy/components/PayPal/components/PayPalComponentV6.js +0 -2
- package/dist/es-legacy/components/PayPal/components/PayPalComponentV6.js.map +0 -1
- package/dist/es-legacy/components/PayPal/components/PayPalComponentV6.module.scss.js +0 -2
- package/dist/es-legacy/components/PayPal/components/PayPalComponentV6.module.scss.js.map +0 -1
- package/dist/es-legacy/components/PayPal/components/PayPalCreditButton.js +0 -2
- package/dist/es-legacy/components/PayPal/components/PayPalCreditButton.js.map +0 -1
- package/dist/es-legacy/components/PayPal/components/PayPalCreditComponent.js +0 -2
- package/dist/es-legacy/components/PayPal/components/PayPalCreditComponent.js.map +0 -1
- package/dist/es-legacy/components/PayPal/components/PayPalMessaging.js +0 -2
- package/dist/es-legacy/components/PayPal/components/PayPalMessaging.js.map +0 -1
- package/dist/es-legacy/components/PayPal/components/PayPalPayLaterButton.js +0 -2
- package/dist/es-legacy/components/PayPal/components/PayPalPayLaterButton.js.map +0 -1
- package/dist/es-legacy/components/PayPal/components/PayPalPaylaterComponent.js +0 -2
- package/dist/es-legacy/components/PayPal/components/PayPalPaylaterComponent.js.map +0 -1
- package/dist/es-legacy/components/PayPal/components/PayPalPaylaterComponent.module.scss.js +0 -2
- package/dist/es-legacy/components/PayPal/components/PayPalPaylaterComponent.module.scss.js.map +0 -1
- package/dist/es-legacy/components/PayPal/components/PayPalProcessingSpinner.js +0 -2
- package/dist/es-legacy/components/PayPal/components/PayPalProcessingSpinner.js.map +0 -1
- package/dist/es-legacy/components/PayPal/components/PayPalSpinner.js +0 -2
- package/dist/es-legacy/components/PayPal/components/PayPalSpinner.js.map +0 -1
- package/dist/es-legacy/components/PayPal/components/VenmoButton.js +0 -2
- package/dist/es-legacy/components/PayPal/components/VenmoButton.js.map +0 -1
- package/dist/es-legacy/components/PayPal/components/VenmoComponent.js +0 -2
- package/dist/es-legacy/components/PayPal/components/VenmoComponent.js.map +0 -1
- package/dist/es-legacy/components/PayPal/hooks/usePayPalButtonEligibility.js +0 -2
- package/dist/es-legacy/components/PayPal/hooks/usePayPalButtonEligibility.js.map +0 -1
- package/dist/es-legacy/components/PayPal/hooks/usePayPalOneTimeSession.js +0 -2
- package/dist/es-legacy/components/PayPal/hooks/usePayPalOneTimeSession.js.map +0 -1
- package/dist/es-legacy/components/PayPal/hooks/usePayPalSaveSession.js +0 -2
- package/dist/es-legacy/components/PayPal/hooks/usePayPalSaveSession.js.map +0 -1
- package/dist/es-legacy/components/PayPal/hooks/usePayPalSessionOptions.js +0 -2
- package/dist/es-legacy/components/PayPal/hooks/usePayPalSessionOptions.js.map +0 -1
- package/dist/es-legacy/components/PayPal/hooks/usePayPalStatus.js +0 -2
- package/dist/es-legacy/components/PayPal/hooks/usePayPalStatus.js.map +0 -1
- package/dist/es-legacy/components/PayPal/hooks/useStartPayPalSession.js +0 -2
- package/dist/es-legacy/components/PayPal/hooks/useStartPayPalSession.js.map +0 -1
- package/dist/es-legacy/components/PayPal/models/BasePayPalElement.js +0 -2
- package/dist/es-legacy/components/PayPal/models/BasePayPalElement.js.map +0 -1
- package/dist/es-legacy/components/PayPal/services/PayPalSdkLoader.js +0 -2
- package/dist/es-legacy/components/PayPal/services/PayPalSdkLoader.js.map +0 -1
- package/dist/es-legacy/components/PayPal/services/PayPalService.js +0 -2
- package/dist/es-legacy/components/PayPal/services/PayPalService.js.map +0 -1
- package/dist/es-legacy/components/PayPal/services/request-paypal-oauth-token.js +0 -2
- package/dist/es-legacy/components/PayPal/services/request-paypal-oauth-token.js.map +0 -1
- package/dist/es-legacy/components/PayPal/services/request-paypal-order-details.js +0 -2
- package/dist/es-legacy/components/PayPal/services/request-paypal-order-details.js.map +0 -1
- package/dist/es-legacy/components/PayPal/utils/is-paypal-service-config-equal.js +0 -2
- package/dist/es-legacy/components/PayPal/utils/is-paypal-service-config-equal.js.map +0 -1
- package/dist/es-legacy/utils/is-live-environment.js +0 -2
- package/dist/es-legacy/utils/is-live-environment.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../../src/components/internal/PayButton/utils.ts"],"sourcesContent":["import Language from '../../../language';\nimport type { PaymentAmount } from '../../../types/global-types';\n\nexport const PAY_BTN_DIVIDER = '/ ';\n\nconst amountLabel = (i18n
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../src/components/internal/PayButton/utils.ts"],"sourcesContent":["import Language from '../../../language';\nimport type { PaymentAmount } from '../../../types/global-types';\n\nexport const PAY_BTN_DIVIDER = '/ ';\n\nconst amountLabel = (i18n, amount?: PaymentAmount) =>\n !!amount?.value && !!amount?.currency ? i18n.amount(amount.value, amount.currency, { currencyDisplay: amount.currencyDisplay || 'symbol' }) : '';\n\nconst isAmountFirstFormat = (i18n: Language): boolean => {\n const format = i18n.get('payAmountFormat');\n const tokenIndex = format.indexOf('%@');\n return tokenIndex >= 0 && format.substring(tokenIndex + 2).trim().length > 0;\n};\n\nconst payAmountLabel = (i18n: Language, amount?: PaymentAmount, secondaryAmount?: PaymentAmount) => {\n const amountLabelValue = amountLabel(i18n, amount);\n if (!amountLabelValue) {\n return i18n.get('payButton');\n }\n\n if (secondaryAmount && isAmountFirstFormat(i18n)) {\n const secondaryAmountValue = formatSecondaryAmountLabel(i18n, secondaryAmount);\n return i18n.get('payAmountFormat').replace('%@', `${amountLabelValue}${secondaryAmountValue}`);\n }\n\n return i18n.get('payAmountFormat').replace('%@', amountLabelValue);\n};\n\nconst formatSecondaryAmountLabel = (i18n: Language, secondaryAmount: PaymentAmount) => {\n const convertedSecondaryAmount =\n secondaryAmount && !!secondaryAmount?.value && !!secondaryAmount?.currency\n ? i18n.amount(secondaryAmount.value, secondaryAmount.currency, { currencyDisplay: secondaryAmount.currencyDisplay || 'symbol' })\n : '';\n\n const divider = convertedSecondaryAmount.length ? PAY_BTN_DIVIDER : '';\n\n return `${divider}${convertedSecondaryAmount}`;\n};\n\nfunction createButtonLabel(\n i18n: Language,\n {\n customLabel,\n amount,\n isZeroAuth,\n customAmount,\n secondaryAmount,\n showReview\n }: {\n customLabel: string;\n amount: PaymentAmount;\n isZeroAuth: boolean;\n customAmount?: PaymentAmount;\n secondaryAmount?: PaymentAmount;\n showReview?: boolean;\n }\n): string {\n if (showReview) {\n return i18n.get('continue');\n }\n\n if (customLabel) {\n return customLabel;\n }\n\n if (customAmount) {\n return payAmountLabel(i18n, customAmount);\n }\n\n return isZeroAuth ? i18n.get('confirmPreauthorization') : payAmountLabel(i18n, amount, secondaryAmount);\n}\n\n/**\n * Show the secondaryLabel if:\n * - it's not zero auth, and\n * - we don't have a predefined label (i.e. redirect, qrcode, await based comps...), and\n * - we do have an amount object (merchant might not be passing this in order to not show the amount on the button), and\n * - we have a secondaryAmount object with some properties, and\n * - the payAmountFormat is not amount-first (e.g. \"%@ betalen\"), since in that case the secondary\n * amount is already embedded in the button label via createButtonLabel\n */\nfunction createSecondaryLabel(\n i18n: Language,\n secondaryAmount: PaymentAmount,\n isAmountValid: boolean,\n isZeroAuth: boolean,\n customLabel: string\n): string | null {\n if (isZeroAuth || customLabel || !isAmountValid || !secondaryAmount) {\n return null;\n }\n\n if (isAmountFirstFormat(i18n)) {\n return null;\n }\n\n return formatSecondaryAmountLabel(i18n, secondaryAmount);\n}\n\nexport { payAmountLabel, amountLabel, createButtonLabel, createSecondaryLabel };\n"],"names":["PAY_BTN_DIVIDER","amountLabel","i18n","amount","value","currency","currencyDisplay","isAmountFirstFormat","format","get","tokenIndex","indexOf","substring","trim","length","payAmountLabel","secondaryAmount","amountLabelValue","secondaryAmountValue","formatSecondaryAmountLabel","replace","convertedSecondaryAmount","createButtonLabel","customLabel","isZeroAuth","customAmount","showReview","createSecondaryLabel","isAmountValid"],"mappings":"AAGO,MAAMA,EAAkB,KAEzBC,EAAc,CAACC,EAAMC,KACrBA,aAAAA,EAAAA,EAAQC,SAAWD,aAAAA,EAAAA,EAAQE,UAAWH,EAAKC,OAAOA,EAAOC,MAAOD,EAAOE,SAAU,CAAEC,gBAAiBH,EAAOG,iBAAmB,WAAc,GAE5IC,EAAuBL,IACzB,MAAMM,EAASN,EAAKO,IAAI,mBAClBC,EAAaF,EAAOG,QAAQ,MAClC,OAAOD,GAAc,GAAKF,EAAOI,UAAUF,EAAa,GAAGG,OAAOC,OAAS,GAGzEC,EAAiB,CAACb,EAAgBC,EAAwBa,KAC5D,MAAMC,EAAmBhB,EAAYC,EAAMC,GAC3C,IAAKc,EACD,OAAOf,EAAKO,IAAI,aAGpB,GAAIO,GAAmBT,EAAoBL,GAAO,CAC9C,MAAMgB,EAAuBC,EAA2BjB,EAAMc,GAC9D,OAAOd,EAAKO,IAAI,mBAAmBW,QAAQ,KAAM,GAAGH,IAAmBC,IAC3E,CAEA,OAAOhB,EAAKO,IAAI,mBAAmBW,QAAQ,KAAMH,IAG/CE,EAA6B,CAACjB,EAAgBc,KAChD,MAAMK,EACFL,IAAqBA,eAAAA,EAAiBZ,SAAWY,eAAAA,EAAiBX,UAC5DH,EAAKC,OAAOa,EAAgBZ,MAAOY,EAAgBX,SAAU,CAAEC,gBAAiBU,EAAgBV,iBAAmB,WACnH,GAIV,MAAO,GAFSe,EAAyBP,OA/Bd,KA+ByC,KAEhDO,KAGxB,SAASC,EACLpB,GACAqB,YACIA,EAAWpB,OACXA,EAAMqB,WACNA,EAAUC,aACVA,EAAYT,gBACZA,EAAeU,WACfA,IAUJ,OAAIA,EACOxB,EAAKO,IAAI,YAGhBc,IAIAE,EACOV,EAAeb,EAAMuB,GAGzBD,EAAatB,EAAKO,IAAI,2BAA6BM,EAAeb,EAAMC,EAAQa,GAC3F,CAWA,SAASW,EACLzB,EACAc,EACAY,EACAJ,EACAD,GAEA,OAAIC,GAAcD,IAAgBK,IAAkBZ,GAIhDT,EAAoBL,GAHb,KAOJiB,EAA2BjB,EAAMc,EAC5C"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useMemo as r,useRef as t,useEffect as a}from"../../../external/preact/hooks/dist/hooks.js";import l from"../FormFields/Fieldset/Fieldset.js";import o from"../FormFields/Field/Field.js";import i from"./ReadOnlyPersonalDetails.js";import{personalDetailsValidationRules as s}from"./validate.js";import{useCoreContext as n}from"../../../core/Context/CoreProvider.js";import{checkDateInputSupport as m}from"../FormFields/InputDate/utils.js";import{getFormattedData as p}from"./utils.js";import u from"../../../utils/useForm/useForm.js";import"../SecuredFields/lib/CSF/utils/userAgent.js";import d from"../FormFields/InputText.js";import c from"../FormFields/InputDate/InputDate.js";import f from"../FormFields/InputEmail.js";import h from"../FormFields/InputTelephone.js";import{getErrorMessage as b}from"../../../utils/getErrorMessage.js";function N(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function
|
|
1
|
+
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useMemo as r,useRef as t,useEffect as a}from"../../../external/preact/hooks/dist/hooks.js";import l from"../FormFields/Fieldset/Fieldset.js";import o from"../FormFields/Field/Field.js";import i from"./ReadOnlyPersonalDetails.js";import{personalDetailsValidationRules as s}from"./validate.js";import{useCoreContext as n}from"../../../core/Context/CoreProvider.js";import{checkDateInputSupport as m}from"../FormFields/InputDate/utils.js";import{getFormattedData as p}from"./utils.js";import u from"../../../utils/useForm/useForm.js";import"../SecuredFields/lib/CSF/utils/userAgent.js";import d from"../FormFields/InputText.js";import c from"../FormFields/InputDate/InputDate.js";import f from"../FormFields/InputEmail.js";import h from"../FormFields/InputTelephone.js";import{getErrorMessage as b}from"../../../utils/getErrorMessage.js";function N(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function O(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},a=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.forEach(function(r){N(e,r,t[r])})}return e}function g(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}),e}const j=["firstName","lastName","dateOfBirth","shopperEmail","telephoneNumber"];function F(N){const{label:F="",namePrefix:y,placeholders:v={},requiredFields:M=j,visibility:B="editable",data:E={},onChange:P=()=>{},validationRules:I=s}=N,{i18n:w}=n(),D=r(m,[]),{handleChangeFor:C,triggerValidation:k,data:q,valid:x,errors:S,isValid:R}=u({schema:M,rules:O({},s,I),defaultData:E}),V=t({showValidation:()=>{k()}});a(()=>{var e;null===(e=N.setComponentRef)||void 0===e||e.call(N,V.current)},[N.setComponentRef]);const $=e=>r=>{const{name:t}=r.target,a=y?t.split(`${y}.`).pop():t;a&&C(a,e)(r)},A=e=>`${y?`${y}.`:""}${e}`;return a(()=>{const e=p(q);P({data:e,valid:x,errors:S,isValid:R})},[q,x,S,R]),"hidden"===B?null:"readOnly"===B?e(i,g(O({},N),{data:q})):e(l,{classNameModifiers:["personalDetails"],label:F},M.includes("firstName")&&e(o,{label:w.get("firstName"),classNameModifiers:["col-50","firstName"],errorMessage:b(w,S.firstName,w.get("firstName")),name:"firstName",i18n:w},e(d,{name:A("firstName"),value:q.firstName,classNameModifiers:["firstName"],onInput:$("input"),onBlur:$("blur"),placeholder:v.firstName,spellcheck:!1,required:!0,autocomplete:"given-name"})),M.includes("lastName")&&e(o,{label:w.get("lastName"),classNameModifiers:["col-50","lastName"],errorMessage:b(w,S.lastName,w.get("lastName")),name:"lastName",i18n:w},e(d,{name:A("lastName"),value:q.lastName,classNameModifiers:["lastName"],onInput:$("input"),onBlur:$("blur"),placeholder:v.lastName,spellcheck:!1,required:!0,autocomplete:"family-name"})),M.includes("dateOfBirth")&&e(o,{label:w.get("dateOfBirth"),classNameModifiers:["col-50","dateOfBirth"],errorMessage:b(w,S.dateOfBirth,w.get("dateOfBirth")),helper:D?void 0:w.get("dateOfBirth.format"),name:"dateOfBirth",i18n:w},e(c,{name:A("dateOfBirth"),value:q.dateOfBirth,classNameModifiers:["dateOfBirth"],onInput:$("input"),onBlur:$("blur"),placeholder:v.dateOfBirth,required:!0,autocomplete:"bday"})),M.includes("shopperEmail")&&e(o,{label:w.get("shopperEmail"),classNameModifiers:["shopperEmail"],errorMessage:b(w,S.shopperEmail,w.get("shopperEmail")),dir:"ltr",name:"emailAddress",i18n:w},e(f,{name:A("shopperEmail"),value:q.shopperEmail,classNameModifiers:["shopperEmail"],onInput:$("input"),onBlur:$("blur"),placeholder:v.shopperEmail,required:!0,autocomplete:"email"})),M.includes("telephoneNumber")&&e(o,{label:w.get("telephoneNumber"),classNameModifiers:["telephoneNumber"],errorMessage:b(w,S.telephoneNumber,w.get("telephoneNumber")),dir:"ltr",name:"telephoneNumber",i18n:w},e(h,{name:A("telephoneNumber"),value:q.telephoneNumber,classNameModifiers:["telephoneNumber"],onInput:$("input"),onBlur:$("blur"),placeholder:v.telephoneNumber,required:!0,autocomplete:"tel"})))}export{j as PERSONAL_DETAILS_SCHEMA,F as default};
|
|
2
2
|
//# sourceMappingURL=PersonalDetails.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PersonalDetails.js","sources":["../../../../../src/components/internal/PersonalDetails/PersonalDetails.tsx"],"sourcesContent":["import { GenericEventHandler, h } from 'preact';\nimport { useEffect, useMemo, useRef } from 'preact/hooks';\nimport Fieldset from '../FormFields/Fieldset';\nimport Field from '../FormFields/Field';\nimport ReadOnlyPersonalDetails from './ReadOnlyPersonalDetails';\nimport { personalDetailsValidationRules } from './validate';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { PersonalDetailsProps } from './types';\nimport { checkDateInputSupport } from '../FormFields/InputDate/utils';\nimport { PersonalDetailsSchema } from '../../../types';\nimport { getFormattedData } from './utils';\nimport useForm from '../../../utils/useForm';\nimport InputText from '../FormFields/InputText';\nimport InputDate from '../FormFields/InputDate';\nimport InputEmail from '../FormFields/InputEmail';\nimport InputTelephone from '../FormFields/InputTelephone';\nimport { getErrorMessage } from '../../../utils/getErrorMessage';\nimport { ComponentMethodsRef } from '../UIElement/types';\nimport { HandleChangeForModeType } from '../../../utils/useForm/types';\nimport './PersonalDetails.scss';\n\nexport const PERSONAL_DETAILS_SCHEMA = ['firstName', 'lastName', 'dateOfBirth', 'shopperEmail', 'telephoneNumber'];\n\nexport default function PersonalDetails(props: Readonly<PersonalDetailsProps>) {\n const { label = '', namePrefix, placeholders, requiredFields, visibility } = props;\n\n const { i18n } = useCoreContext();\n\n const isDateInputSupported = useMemo(checkDateInputSupport, []);\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<PersonalDetailsSchema>({\n schema: requiredFields,\n // Ensure any passed validation rules are merged with the default ones\n rules: { ...personalDetailsValidationRules, ...props.validationRules },\n defaultData: props.data\n });\n\n const personalDetailsRef = useRef<ComponentMethodsRef>({\n showValidation: () => {\n triggerValidation();\n }\n });\n\n useEffect(() => {\n props.setComponentRef(personalDetailsRef.current);\n }, [props.setComponentRef]);\n\n const eventHandler =\n (mode: HandleChangeForModeType): GenericEventHandler<EventTarget> =>\n (e: Event): void => {\n const { name } = e.target as HTMLInputElement;\n const key = name.split(`${namePrefix}.`).pop();\n\n handleChangeFor(key, mode)(e);\n };\n\n const generateFieldName = (name: string): string => `${namePrefix ? `${namePrefix}.` : ''}${name}`;\n\n useEffect(() => {\n const formattedData = getFormattedData(data);\n props.onChange({ data: formattedData, valid, errors, isValid });\n }, [data, valid, errors, isValid]);\n\n if (visibility === 'hidden') return null;\n if (visibility === 'readOnly') return <ReadOnlyPersonalDetails {...props} data={data} />;\n\n return (\n <Fieldset classNameModifiers={['personalDetails']} label={label}>\n {requiredFields.includes('firstName') && (\n <Field\n label={i18n.get('firstName')}\n classNameModifiers={['col-50', 'firstName']}\n errorMessage={getErrorMessage(i18n, errors.firstName, i18n.get('firstName'))}\n name={'firstName'}\n i18n={i18n}\n >\n <InputText\n name={generateFieldName('firstName')}\n value={data.firstName}\n classNameModifiers={['firstName']}\n onInput={eventHandler('input')}\n onBlur={eventHandler('blur')}\n placeholder={placeholders.firstName}\n spellcheck={false}\n required={true}\n autocomplete={'given-name'}\n />\n </Field>\n )}\n\n {requiredFields.includes('lastName') && (\n <Field\n label={i18n.get('lastName')}\n classNameModifiers={['col-50', 'lastName']}\n errorMessage={getErrorMessage(i18n, errors.lastName, i18n.get('lastName'))}\n name={'lastName'}\n i18n={i18n}\n >\n <InputText\n name={generateFieldName('lastName')}\n value={data.lastName}\n classNameModifiers={['lastName']}\n onInput={eventHandler('input')}\n onBlur={eventHandler('blur')}\n placeholder={placeholders.lastName}\n spellcheck={false}\n required={true}\n autocomplete={'family-name'}\n />\n </Field>\n )}\n\n {requiredFields.includes('dateOfBirth') && (\n <Field\n label={i18n.get('dateOfBirth')}\n classNameModifiers={['col-50', 'dateOfBirth']}\n errorMessage={getErrorMessage(i18n, errors.dateOfBirth, i18n.get('dateOfBirth'))}\n helper={isDateInputSupported ? null : i18n.get('dateOfBirth.format')}\n name={'dateOfBirth'}\n i18n={i18n}\n >\n <InputDate\n name={generateFieldName('dateOfBirth')}\n value={data.dateOfBirth}\n classNameModifiers={['dateOfBirth']}\n onInput={eventHandler('input')}\n onBlur={eventHandler('blur')}\n placeholder={placeholders.dateOfBirth}\n required={true}\n autocomplete={'bday'}\n />\n </Field>\n )}\n\n {requiredFields.includes('shopperEmail') && (\n <Field\n label={i18n.get('shopperEmail')}\n classNameModifiers={['shopperEmail']}\n errorMessage={getErrorMessage(i18n, errors.shopperEmail, i18n.get('shopperEmail'))}\n dir={'ltr'}\n name={'emailAddress'}\n i18n={i18n}\n >\n <InputEmail\n name={generateFieldName('shopperEmail')}\n value={data.shopperEmail}\n classNameModifiers={['shopperEmail']}\n onInput={eventHandler('input')}\n onBlur={eventHandler('blur')}\n placeholder={placeholders.shopperEmail}\n required={true}\n autocomplete={'email'}\n />\n </Field>\n )}\n\n {requiredFields.includes('telephoneNumber') && (\n <Field\n label={i18n.get('telephoneNumber')}\n classNameModifiers={['telephoneNumber']}\n errorMessage={getErrorMessage(i18n, errors.telephoneNumber, i18n.get('telephoneNumber'))}\n dir={'ltr'}\n name={'telephoneNumber'}\n i18n={i18n}\n >\n <InputTelephone\n name={generateFieldName('telephoneNumber')}\n value={data.telephoneNumber}\n classNameModifiers={['telephoneNumber']}\n onInput={eventHandler('input')}\n onBlur={eventHandler('blur')}\n placeholder={placeholders.telephoneNumber}\n required={true}\n autocomplete={'tel'}\n />\n </Field>\n )}\n </Fieldset>\n );\n}\n\nPersonalDetails.defaultProps = {\n data: {},\n onChange: () => {},\n placeholders: {},\n requiredFields: PERSONAL_DETAILS_SCHEMA,\n validationRules: personalDetailsValidationRules,\n visibility: 'editable'\n};\n"],"names":["PERSONAL_DETAILS_SCHEMA","PersonalDetails","props","label","namePrefix","placeholders","requiredFields","visibility","i18n","useCoreContext","isDateInputSupported","useMemo","checkDateInputSupport","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","schema","rules","_object_spread","personalDetailsValidationRules","validationRules","defaultData","personalDetailsRef","useRef","showValidation","useEffect","setComponentRef","current","eventHandler","mode","e","name","target","key","split","pop","generateFieldName","formattedData","getFormattedData","onChange","h","ReadOnlyPersonalDetails","Fieldset","classNameModifiers","includes","Field","get","errorMessage","getErrorMessage","firstName","InputText","value","onInput","onBlur","placeholder","spellcheck","required","autocomplete","lastName","dateOfBirth","helper","InputDate","shopperEmail","dir","InputEmail","telephoneNumber","InputTelephone","defaultProps"],"mappings":"isDAqBaA,EAA0B,CAAC,YAAa,WAAY,cAAe,eAAgB,mBAEjF,SAASC,EAAgBC,GACpC,MAAMC,MAAEA,EAAQ,GAAEC,WAAEA,EAAUC,aAAEA,EAAYC,eAAEA,EAAcC,WAAEA,GAAeL,GAEvEM,KAAEA,GAASC,IAEXC,EAAuBC,EAAQC,EAAuB,KACtDC,gBAAEA,EAAeC,kBAAEA,EAAiBC,KAAEA,EAAIC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GAAYC,EAA+B,CACxGC,OAAQd,EAERe,MAAOC,EAAA,CAAA,EAAKC,EAAmCrB,EAAMsB,iBACrDC,YAAavB,EAAMa,OAGjBW,EAAqBC,EAA4B,CACnDC,eAAgB,KACZd,OAIRe,EAAU,KACN3B,EAAM4B,gBAAgBJ,EAAmBK,UAC1C,CAAC7B,EAAM4B,kBAEV,MAAME,EACDC,GACAC,IACG,MAAMC,KAAEA,GAASD,EAAEE,OACbC,EAAMF,EAAKG,MAAM,GAAGlC,MAAemC,MAEzC1B,EAAgBwB,EAAKJ,EAArBpB,CAA2BqB,IAG7BM,EAAqBL,GAAyB,GAAG/B,EAAa,GAAGA,KAAgB,KAAK+B,IAO5F,OALAN,EAAU,KACN,MAAMY,EAAgBC,EAAiB3B,GACvCb,EAAMyC,SAAS,CAAE5B,KAAM0B,EAAezB,QAAOC,SAAQC,aACtD,CAACH,EAAMC,EAAOC,EAAQC,IAEN,WAAfX,EAAgC,KACjB,aAAfA,EAAkCqC,EAACC,EAAAA,EAAAA,EAAAA,GAA4B3C,GAAAA,CAAOa,KAAMA,KAG5E6B,EAACE,EAAAA,CAASC,mBAAoB,CAAC,mBAAoB5C,MAAOA,GACrDG,EAAe0C,SAAS,cACrBJ,EAACK,EAAAA,CACG9C,MAAOK,EAAK0C,IAAI,aAChBH,mBAAoB,CAAC,SAAU,aAC/BI,aAAcC,EAAgB5C,EAAMS,EAAOoC,UAAW7C,EAAK0C,IAAI,cAC/Df,KAAM,YACN3B,KAAMA,GAENoC,EAACU,EAAAA,CACGnB,KAAMK,EAAkB,aACxBe,MAAOxC,EAAKsC,UACZN,mBAAoB,CAAC,aACrBS,QAASxB,EAAa,SACtByB,OAAQzB,EAAa,QACrB0B,YAAarD,EAAagD,UAC1BM,YAAY,EACZC,UAAU,EACVC,aAAc,gBAKzBvD,EAAe0C,SAAS,aACrBJ,EAACK,EAAAA,CACG9C,MAAOK,EAAK0C,IAAI,YAChBH,mBAAoB,CAAC,SAAU,YAC/BI,aAAcC,EAAgB5C,EAAMS,EAAO6C,SAAUtD,EAAK0C,IAAI,aAC9Df,KAAM,WACN3B,KAAMA,GAENoC,EAACU,EAAAA,CACGnB,KAAMK,EAAkB,YACxBe,MAAOxC,EAAK+C,SACZf,mBAAoB,CAAC,YACrBS,QAASxB,EAAa,SACtByB,OAAQzB,EAAa,QACrB0B,YAAarD,EAAayD,SAC1BH,YAAY,EACZC,UAAU,EACVC,aAAc,iBAKzBvD,EAAe0C,SAAS,gBACrBJ,EAACK,EAAAA,CACG9C,MAAOK,EAAK0C,IAAI,eAChBH,mBAAoB,CAAC,SAAU,eAC/BI,aAAcC,EAAgB5C,EAAMS,EAAO8C,YAAavD,EAAK0C,IAAI,gBACjEc,OAAQtD,EAAuB,KAAOF,EAAK0C,IAAI,sBAC/Cf,KAAM,cACN3B,KAAMA,GAENoC,EAACqB,EAAAA,CACG9B,KAAMK,EAAkB,eACxBe,MAAOxC,EAAKgD,YACZhB,mBAAoB,CAAC,eACrBS,QAASxB,EAAa,SACtByB,OAAQzB,EAAa,QACrB0B,YAAarD,EAAa0D,YAC1BH,UAAU,EACVC,aAAc,UAKzBvD,EAAe0C,SAAS,iBACrBJ,EAACK,EAAAA,CACG9C,MAAOK,EAAK0C,IAAI,gBAChBH,mBAAoB,CAAC,gBACrBI,aAAcC,EAAgB5C,EAAMS,EAAOiD,aAAc1D,EAAK0C,IAAI,iBAClEiB,IAAK,MACLhC,KAAM,eACN3B,KAAMA,GAENoC,EAACwB,EAAAA,CACGjC,KAAMK,EAAkB,gBACxBe,MAAOxC,EAAKmD,aACZnB,mBAAoB,CAAC,gBACrBS,QAASxB,EAAa,SACtByB,OAAQzB,EAAa,QACrB0B,YAAarD,EAAa6D,aAC1BN,UAAU,EACVC,aAAc,WAKzBvD,EAAe0C,SAAS,oBACrBJ,EAACK,EAAAA,CACG9C,MAAOK,EAAK0C,IAAI,mBAChBH,mBAAoB,CAAC,mBACrBI,aAAcC,EAAgB5C,EAAMS,EAAOoD,gBAAiB7D,EAAK0C,IAAI,oBACrEiB,IAAK,MACLhC,KAAM,kBACN3B,KAAMA,GAENoC,EAAC0B,EAAAA,CACGnC,KAAMK,EAAkB,mBACxBe,MAAOxC,EAAKsD,gBACZtB,mBAAoB,CAAC,mBACrBS,QAASxB,EAAa,SACtByB,OAAQzB,EAAa,QACrB0B,YAAarD,EAAagE,gBAC1BT,UAAU,EACVC,aAAc,SAMtC,CAEA5D,EAAgBsE,aAAe,CAC3BxD,KAAM,CAAA,EACN4B,SAAU,OACVtC,aAAc,CAAA,EACdC,eAAgBN,EAChBwB,gBAAiBD,EACjBhB,WAAY"}
|
|
1
|
+
{"version":3,"file":"PersonalDetails.js","sources":["../../../../../src/components/internal/PersonalDetails/PersonalDetails.tsx"],"sourcesContent":["import { GenericEventHandler, h } from 'preact';\nimport { useEffect, useMemo, useRef } from 'preact/hooks';\nimport Fieldset from '../FormFields/Fieldset';\nimport Field from '../FormFields/Field';\nimport ReadOnlyPersonalDetails from './ReadOnlyPersonalDetails';\nimport { personalDetailsValidationRules } from './validate';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { PersonalDetailsProps } from './types';\nimport { checkDateInputSupport } from '../FormFields/InputDate/utils';\nimport { PersonalDetailsSchema } from '../../../types';\nimport { getFormattedData } from './utils';\nimport useForm from '../../../utils/useForm';\nimport InputText from '../FormFields/InputText';\nimport InputDate from '../FormFields/InputDate';\nimport InputEmail from '../FormFields/InputEmail';\nimport InputTelephone from '../FormFields/InputTelephone';\nimport { getErrorMessage } from '../../../utils/getErrorMessage';\nimport { ComponentMethodsRef } from '../UIElement/types';\nimport { HandleChangeForModeType } from '../../../utils/useForm/types';\nimport './PersonalDetails.scss';\n\nexport const PERSONAL_DETAILS_SCHEMA = ['firstName', 'lastName', 'dateOfBirth', 'shopperEmail', 'telephoneNumber'];\n\nexport default function PersonalDetails(props: Readonly<PersonalDetailsProps>) {\n const {\n label = '',\n namePrefix,\n placeholders = {},\n requiredFields = PERSONAL_DETAILS_SCHEMA,\n visibility = 'editable',\n data: initialData = {},\n onChange = () => {},\n validationRules = personalDetailsValidationRules\n } = props;\n\n const { i18n } = useCoreContext();\n\n const isDateInputSupported = useMemo(checkDateInputSupport, []);\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<PersonalDetailsSchema>({\n schema: requiredFields,\n // Ensure any passed validation rules are merged with the default ones\n rules: { ...personalDetailsValidationRules, ...validationRules },\n defaultData: initialData\n });\n\n const personalDetailsRef = useRef<ComponentMethodsRef>({\n showValidation: () => {\n triggerValidation();\n }\n });\n\n useEffect(() => {\n props.setComponentRef?.(personalDetailsRef.current);\n }, [props.setComponentRef]);\n\n const eventHandler =\n (mode: HandleChangeForModeType): GenericEventHandler<EventTarget> =>\n (e: Event): void => {\n const { name } = e.target as HTMLInputElement;\n const key = namePrefix ? name.split(`${namePrefix}.`).pop() : name;\n\n if (!key) return;\n handleChangeFor(key, mode)(e);\n };\n\n const generateFieldName = (name: string): string => `${namePrefix ? `${namePrefix}.` : ''}${name}`;\n\n useEffect(() => {\n const formattedData = getFormattedData(data);\n onChange({ data: formattedData, valid, errors, isValid });\n }, [data, valid, errors, isValid]);\n\n if (visibility === 'hidden') return null;\n if (visibility === 'readOnly') return <ReadOnlyPersonalDetails {...props} data={data} />;\n\n return (\n <Fieldset classNameModifiers={['personalDetails']} label={label}>\n {requiredFields.includes('firstName') && (\n <Field\n label={i18n.get('firstName')}\n classNameModifiers={['col-50', 'firstName']}\n errorMessage={getErrorMessage(i18n, errors.firstName, i18n.get('firstName'))}\n name={'firstName'}\n i18n={i18n}\n >\n <InputText\n name={generateFieldName('firstName')}\n value={data.firstName}\n classNameModifiers={['firstName']}\n onInput={eventHandler('input')}\n onBlur={eventHandler('blur')}\n placeholder={placeholders.firstName}\n spellcheck={false}\n required={true}\n autocomplete={'given-name'}\n />\n </Field>\n )}\n\n {requiredFields.includes('lastName') && (\n <Field\n label={i18n.get('lastName')}\n classNameModifiers={['col-50', 'lastName']}\n errorMessage={getErrorMessage(i18n, errors.lastName, i18n.get('lastName'))}\n name={'lastName'}\n i18n={i18n}\n >\n <InputText\n name={generateFieldName('lastName')}\n value={data.lastName}\n classNameModifiers={['lastName']}\n onInput={eventHandler('input')}\n onBlur={eventHandler('blur')}\n placeholder={placeholders.lastName}\n spellcheck={false}\n required={true}\n autocomplete={'family-name'}\n />\n </Field>\n )}\n\n {requiredFields.includes('dateOfBirth') && (\n <Field\n label={i18n.get('dateOfBirth')}\n classNameModifiers={['col-50', 'dateOfBirth']}\n errorMessage={getErrorMessage(i18n, errors.dateOfBirth, i18n.get('dateOfBirth'))}\n helper={isDateInputSupported ? undefined : i18n.get('dateOfBirth.format')}\n name={'dateOfBirth'}\n i18n={i18n}\n >\n <InputDate\n name={generateFieldName('dateOfBirth')}\n value={data.dateOfBirth}\n classNameModifiers={['dateOfBirth']}\n onInput={eventHandler('input')}\n onBlur={eventHandler('blur')}\n placeholder={placeholders.dateOfBirth}\n required={true}\n autocomplete={'bday'}\n />\n </Field>\n )}\n\n {requiredFields.includes('shopperEmail') && (\n <Field\n label={i18n.get('shopperEmail')}\n classNameModifiers={['shopperEmail']}\n errorMessage={getErrorMessage(i18n, errors.shopperEmail, i18n.get('shopperEmail'))}\n dir={'ltr'}\n name={'emailAddress'}\n i18n={i18n}\n >\n <InputEmail\n name={generateFieldName('shopperEmail')}\n value={data.shopperEmail}\n classNameModifiers={['shopperEmail']}\n onInput={eventHandler('input')}\n onBlur={eventHandler('blur')}\n placeholder={placeholders.shopperEmail}\n required={true}\n autocomplete={'email'}\n />\n </Field>\n )}\n\n {requiredFields.includes('telephoneNumber') && (\n <Field\n label={i18n.get('telephoneNumber')}\n classNameModifiers={['telephoneNumber']}\n errorMessage={getErrorMessage(i18n, errors.telephoneNumber, i18n.get('telephoneNumber'))}\n dir={'ltr'}\n name={'telephoneNumber'}\n i18n={i18n}\n >\n <InputTelephone\n name={generateFieldName('telephoneNumber')}\n value={data.telephoneNumber}\n classNameModifiers={['telephoneNumber']}\n onInput={eventHandler('input')}\n onBlur={eventHandler('blur')}\n placeholder={placeholders.telephoneNumber}\n required={true}\n autocomplete={'tel'}\n />\n </Field>\n )}\n </Fieldset>\n );\n}\n"],"names":["PERSONAL_DETAILS_SCHEMA","PersonalDetails","props","label","namePrefix","placeholders","requiredFields","visibility","data","initialData","onChange","validationRules","personalDetailsValidationRules","i18n","useCoreContext","isDateInputSupported","useMemo","checkDateInputSupport","handleChangeFor","triggerValidation","valid","errors","isValid","useForm","schema","rules","_object_spread","defaultData","personalDetailsRef","useRef","showValidation","useEffect","setComponentRef","current","eventHandler","mode","e","name","target","key","split","pop","generateFieldName","formattedData","getFormattedData","h","ReadOnlyPersonalDetails","Fieldset","classNameModifiers","includes","Field","get","errorMessage","getErrorMessage","firstName","InputText","value","onInput","onBlur","placeholder","spellcheck","required","autocomplete","lastName","dateOfBirth","helper","undefined","InputDate","shopperEmail","dir","InputEmail","telephoneNumber","InputTelephone"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{isEmpty as e}from"../../../utils/validator-utils.js";import{ERROR_FIELD_REQUIRED as r}from"../../../core/Errors/constants.js";import{validationRules as l}from"../../../utils/Validator/defaultRules.js";const a={default:{validate:e
|
|
1
|
+
import{isEmpty as e}from"../../../utils/validator-utils.js";import{ERROR_FIELD_REQUIRED as r}from"../../../core/Errors/constants.js";import{validationRules as l}from"../../../utils/Validator/defaultRules.js";const a={default:{validate:r=>!e(r)||null,errorMessage:r,modes:["blur"]},firstName:{validate:r=>!e(r)||null,errorMessage:"firstName.invalid",modes:["blur"]},lastName:{validate:r=>!e(r)||null,errorMessage:"lastName.invalid",modes:["blur"]},dateOfBirth:l.dateOfBirthRule,telephoneNumber:l.phoneNumberRule,shopperEmail:l.emailRule};export{a as personalDetailsValidationRules};
|
|
2
2
|
//# sourceMappingURL=validate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sources":["../../../../../src/components/internal/PersonalDetails/validate.ts"],"sourcesContent":["import { ValidatorRules } from '../../../utils/Validator/types';\nimport { isEmpty } from '../../../utils/validator-utils';\nimport { ERROR_FIELD_REQUIRED } from '../../../core/Errors/constants';\nimport { validationRules } from '../../../utils/Validator/defaultRules';\n\nexport const personalDetailsValidationRules: ValidatorRules = {\n default: {\n validate: value =>
|
|
1
|
+
{"version":3,"file":"validate.js","sources":["../../../../../src/components/internal/PersonalDetails/validate.ts"],"sourcesContent":["import { ValidatorRules } from '../../../utils/Validator/types';\nimport { isEmpty } from '../../../utils/validator-utils';\nimport { ERROR_FIELD_REQUIRED } from '../../../core/Errors/constants';\nimport { validationRules } from '../../../utils/Validator/defaultRules';\n\nexport const personalDetailsValidationRules: ValidatorRules = {\n default: {\n validate: value => (isEmpty(value) ? null : true), // valid, if there are chars other than spaces\n errorMessage: ERROR_FIELD_REQUIRED,\n modes: ['blur']\n },\n firstName: {\n validate: value => (isEmpty(value) ? null : true), // valid, if there are chars other than spaces,\n errorMessage: 'firstName.invalid',\n modes: ['blur']\n },\n lastName: {\n validate: value => (isEmpty(value) ? null : true),\n errorMessage: 'lastName.invalid',\n modes: ['blur']\n },\n dateOfBirth: validationRules.dateOfBirthRule,\n telephoneNumber: validationRules.phoneNumberRule,\n shopperEmail: validationRules.emailRule\n};\n"],"names":["personalDetailsValidationRules","default","validate","value","isEmpty","errorMessage","ERROR_FIELD_REQUIRED","modes","firstName","lastName","dateOfBirth","validationRules","dateOfBirthRule","telephoneNumber","phoneNumberRule","shopperEmail","emailRule"],"mappings":"sNAKaA,EAAiD,CAC1DC,QAAS,CACLC,SAAUC,IAAUC,EAAQD,IAAS,KACrCE,aAAcC,EACdC,MAAO,CAAC,SAEZC,UAAW,CACPN,SAAUC,IAAUC,EAAQD,IAAS,KACrCE,aAAc,oBACdE,MAAO,CAAC,SAEZE,SAAU,CACNP,SAAUC,IAAUC,EAAQD,IAAS,KACrCE,aAAc,mBACdE,MAAO,CAAC,SAEZG,YAAaC,EAAgBC,gBAC7BC,gBAAiBF,EAAgBG,gBACjCC,aAAcJ,EAAgBK"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e,Fragment as r}from"../../../external/preact/dist/preact.js";import{useEffect as o}from"../../../external/preact/hooks/dist/hooks.js";import n from"../FormFields/Field/Field.js";import{useCoreContext as t}from"../../../core/Context/CoreProvider.js";import l from"../FormFields/Select/Select.js";import i from"../FormFields/InputText.js";function p(e,r){if(null==e)return{};var o,n,t,l={};if("undefined"!=typeof Reflect&&Reflect.ownKeys){for(o=Reflect.ownKeys(Object(e)),t=0;t<o.length;t++)n=o[t],r.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}if(l=function(e,r){if(null==e)return{};var o,n,t={},l=Object.getOwnPropertyNames(e);for(n=0;n<l.length;n++)o=l[n],r.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(t[o]=e[o]);return t}(e,r),Object.getOwnPropertySymbols)for(o=Object.getOwnPropertySymbols(e),t=0;t<o.length;t++)n=o[t],r.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}function a(a){let{getError:u,showNumber:c,showPrefix:m,form:h,canSelectPrefix:s=!0,errorLive:d}=a,f=p(a,["getError","showNumber","showPrefix","form","canSelectPrefix","errorLive"]);var b,y,x;const{i18n:N}=t(),{handleChangeFor:g,data:P,valid:v}=h;return o(()=>{P.phoneNumber&&g("phoneNumber","blur")(P.phoneNumber)},[P.phonePrefix]),e(r,null,m&&e(n,{className:"adyen-checkout-field--phone-prefix",label:N.get("telephonePrefix"),errorMessage:u("phonePrefix"),showValidIcon:!1,isValid:v.phonePrefix,dir:"ltr",i18n:N,name:"phonePrefix",errorLive:d},e(l,{readonly:!s,className:"adyen-checkout-dropdown adyen-checkout-dropdown--countrycode-selector",name:"phonePrefix",items:f.items,onChange:g("phonePrefix"),placeholder:null==f||null===(b=f.placeholders)||void 0===b?void 0:b.phonePrefix,selectedValue:P.phonePrefix})),c&&e(n,{className:"adyen-checkout-field--phone-number",label:f.phoneNumberKey?N.get(f.phoneNumberKey):N.get("telephoneNumber"),errorMessage:u("phoneNumber"),isValid:v.phoneNumber,filled
|
|
1
|
+
import{createElement as e,Fragment as r}from"../../../external/preact/dist/preact.js";import{useEffect as o}from"../../../external/preact/hooks/dist/hooks.js";import n from"../FormFields/Field/Field.js";import{useCoreContext as t}from"../../../core/Context/CoreProvider.js";import l from"../FormFields/Select/Select.js";import i from"../FormFields/InputText.js";function p(e,r){if(null==e)return{};var o,n,t,l={};if("undefined"!=typeof Reflect&&Reflect.ownKeys){for(o=Reflect.ownKeys(Object(e)),t=0;t<o.length;t++)n=o[t],r.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}if(l=function(e,r){if(null==e)return{};var o,n,t={},l=Object.getOwnPropertyNames(e);for(n=0;n<l.length;n++)o=l[n],r.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(t[o]=e[o]);return t}(e,r),Object.getOwnPropertySymbols)for(o=Object.getOwnPropertySymbols(e),t=0;t<o.length;t++)n=o[t],r.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}function a(a){let{getError:u,showNumber:c,showPrefix:m,form:h,canSelectPrefix:s=!0,errorLive:d}=a,f=p(a,["getError","showNumber","showPrefix","form","canSelectPrefix","errorLive"]);var b,y,x;const{i18n:N}=t(),{handleChangeFor:g,data:P,valid:v}=h;return o(()=>{P.phoneNumber&&g("phoneNumber","blur")(P.phoneNumber)},[P.phonePrefix]),e(r,null,m&&e(n,{className:"adyen-checkout-field--phone-prefix",label:N.get("telephonePrefix"),errorMessage:u("phonePrefix"),showValidIcon:!1,isValid:v.phonePrefix,dir:"ltr",i18n:N,name:"phonePrefix",errorLive:d},e(l,{readonly:!s,className:"adyen-checkout-dropdown adyen-checkout-dropdown--countrycode-selector",name:"phonePrefix",items:f.items,onChange:g("phonePrefix"),placeholder:null==f||null===(b=f.placeholders)||void 0===b?void 0:b.phonePrefix,selectedValue:P.phonePrefix})),c&&e(n,{className:"adyen-checkout-field--phone-number",label:f.phoneNumberKey?N.get(f.phoneNumberKey):N.get("telephoneNumber"),errorMessage:u("phoneNumber"),isValid:v.phoneNumber,filled:!!(null===(y=P.phoneNumber)||void 0===y?void 0:y.length),dir:"ltr",i18n:N,name:"phoneNumber",errorLive:d},e(i,{className:"adyen-checkout__input adyen-checkout-input adyen-checkout-input--phone-number",type:"tel",name:"phoneNumber",value:P.phoneNumber,onInput:g("phoneNumber","input"),onBlur:g("phoneNumber","blur"),placeholder:null==f||null===(x=f.placeholders)||void 0===x?void 0:x.phoneNumber,autoCorrect:"off",required:!0,autocomplete:"tel"})))}export{a as default};
|
|
2
2
|
//# sourceMappingURL=PhoneInputFields.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhoneInputFields.js","sources":["../../../../../src/components/internal/PhoneInput/PhoneInputFields.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport { useEffect } from 'preact/hooks';\nimport Field from '../FormFields/Field';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport './PhoneInput.scss';\nimport Select from '../FormFields/Select';\nimport { PhoneInputSchema } from './types';\nimport InputText from '../FormFields/InputText';\nimport { DataSet } from '../../../core/Services/data-set';\nimport { Form } from '../../../utils/useForm/types';\n\nexport interface PhoneInputFieldProps {\n items: DataSet;\n requiredFields?: string[];\n form: Form<PhoneInputSchema>;\n getError: (key: string) => string | boolean;\n phoneNumberKey?: string;\n phonePrefixErrorKey?: string;\n phoneNumberErrorKey?: string;\n placeholders?: PhoneInputSchema;\n showPrefix?: boolean;\n showNumber?: boolean;\n canSelectPrefix?: boolean;\n errorLive?: boolean;\n}\n/**\n *\n * @param PhoneInputFormProps\n * @constructor\n */\nexport default function PhoneInputFields({\n getError,\n showNumber,\n showPrefix,\n form,\n canSelectPrefix = true,\n errorLive,\n ...props\n}: Readonly<PhoneInputFieldProps>) {\n const { i18n } = useCoreContext();\n\n const { handleChangeFor, data, valid } = form;\n\n // Force re-validation of the phoneNumber when data.phonePrefix changes (since the validation rules will also change)\n useEffect((): void => {\n if (data.phoneNumber) {\n handleChangeFor('phoneNumber', 'blur')(data.phoneNumber);\n }\n }, [data.phonePrefix]);\n\n return (\n <Fragment>\n {showPrefix && (\n <Field\n className={'adyen-checkout-field--phone-prefix'}\n label={i18n.get('telephonePrefix')}\n errorMessage={getError('phonePrefix')}\n showValidIcon={false}\n isValid={valid.phonePrefix}\n dir={'ltr'}\n i18n={i18n}\n name={'phonePrefix'}\n errorLive={errorLive}\n >\n <Select\n readonly={!canSelectPrefix}\n className={'adyen-checkout-dropdown adyen-checkout-dropdown--countrycode-selector'}\n name={'phonePrefix'}\n items={props.items}\n onChange={handleChangeFor('phonePrefix')}\n placeholder={props?.placeholders?.phonePrefix}\n selectedValue={data.phonePrefix}\n />\n </Field>\n )}\n\n {showNumber && (\n <Field\n className={'adyen-checkout-field--phone-number'}\n label={props.phoneNumberKey ? i18n.get(props.phoneNumberKey) : i18n.get('telephoneNumber')}\n errorMessage={getError('phoneNumber')}\n isValid={valid.phoneNumber}\n filled={data
|
|
1
|
+
{"version":3,"file":"PhoneInputFields.js","sources":["../../../../../src/components/internal/PhoneInput/PhoneInputFields.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport { useEffect } from 'preact/hooks';\nimport Field from '../FormFields/Field';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport './PhoneInput.scss';\nimport Select from '../FormFields/Select';\nimport { PhoneInputSchema } from './types';\nimport InputText from '../FormFields/InputText';\nimport { DataSet } from '../../../core/Services/data-set';\nimport { Form } from '../../../utils/useForm/types';\n\nexport interface PhoneInputFieldProps {\n items: DataSet;\n requiredFields?: string[];\n form: Form<PhoneInputSchema>;\n getError: (key: string) => string | boolean;\n phoneNumberKey?: string;\n phonePrefixErrorKey?: string;\n phoneNumberErrorKey?: string;\n placeholders?: PhoneInputSchema;\n showPrefix?: boolean;\n showNumber?: boolean;\n canSelectPrefix?: boolean;\n errorLive?: boolean;\n}\n/**\n *\n * @param PhoneInputFormProps\n * @constructor\n */\nexport default function PhoneInputFields({\n getError,\n showNumber,\n showPrefix,\n form,\n canSelectPrefix = true,\n errorLive,\n ...props\n}: Readonly<PhoneInputFieldProps>) {\n const { i18n } = useCoreContext();\n\n const { handleChangeFor, data, valid } = form;\n\n // Force re-validation of the phoneNumber when data.phonePrefix changes (since the validation rules will also change)\n useEffect((): void => {\n if (data.phoneNumber) {\n handleChangeFor('phoneNumber', 'blur')(data.phoneNumber);\n }\n }, [data.phonePrefix]);\n\n return (\n <Fragment>\n {showPrefix && (\n <Field\n className={'adyen-checkout-field--phone-prefix'}\n label={i18n.get('telephonePrefix')}\n errorMessage={getError('phonePrefix')}\n showValidIcon={false}\n isValid={valid.phonePrefix}\n dir={'ltr'}\n i18n={i18n}\n name={'phonePrefix'}\n errorLive={errorLive}\n >\n <Select\n readonly={!canSelectPrefix}\n className={'adyen-checkout-dropdown adyen-checkout-dropdown--countrycode-selector'}\n name={'phonePrefix'}\n items={props.items}\n onChange={handleChangeFor('phonePrefix')}\n placeholder={props?.placeholders?.phonePrefix}\n selectedValue={data.phonePrefix}\n />\n </Field>\n )}\n\n {showNumber && (\n <Field\n className={'adyen-checkout-field--phone-number'}\n label={props.phoneNumberKey ? i18n.get(props.phoneNumberKey) : i18n.get('telephoneNumber')}\n errorMessage={getError('phoneNumber')}\n isValid={valid.phoneNumber}\n filled={!!data.phoneNumber?.length}\n dir={'ltr'}\n i18n={i18n}\n name={'phoneNumber'}\n errorLive={errorLive}\n >\n <InputText\n className=\"adyen-checkout__input adyen-checkout-input adyen-checkout-input--phone-number\"\n type=\"tel\"\n name=\"phoneNumber\"\n value={data.phoneNumber}\n onInput={handleChangeFor('phoneNumber', 'input')}\n onBlur={handleChangeFor('phoneNumber', 'blur')}\n placeholder={props?.placeholders?.phoneNumber}\n autoCorrect=\"off\"\n required={true}\n autocomplete={'tel'}\n />\n </Field>\n )}\n </Fragment>\n );\n}\n"],"names":["PhoneInputFields","_0","getError","showNumber","showPrefix","form","canSelectPrefix","errorLive","props","data","i18n","useCoreContext","handleChangeFor","valid","useEffect","phoneNumber","phonePrefix","h","Fragment","Field","className","label","get","errorMessage","showValidIcon","isValid","dir","name","Select","readonly","items","onChange","placeholder","placeholders","selectedValue","phoneNumberKey","filled","length","InputText","type","value","onInput","onBlur","autoCorrect","required","autocomplete"],"mappings":"m+BA8Be,SAASA,EAAiBC,GAAA,IAAAC,SACrCA,EAAQC,WACRA,EAAUC,WACVA,EAAUC,KACVA,EAAIC,gBACJA,GAAkB,EAAIC,UACtBA,GAE6BN,EAD1BO,EAAAA,EAAAA,EAAAA,6EAiC8BA,IAAAA,EAYPC,EAaOD,EAxDjC,MAAME,KAAEA,GAASC,KAEXC,gBAAEA,EAAeH,KAAEA,EAAII,MAAEA,GAAUR,EASzC,OANAS,EAAU,KACFL,EAAKM,aACLH,EAAgB,cAAe,OAA/BA,CAAuCH,EAAKM,cAEjD,CAACN,EAAKO,cAGLC,EAACC,EAAAA,KACId,GACGa,EAACE,EAAAA,CACGC,UAAW,qCACXC,MAAOX,EAAKY,IAAI,mBAChBC,aAAcrB,EAAS,eACvBsB,eAAe,EACfC,QAASZ,EAAMG,YACfU,IAAK,MACLhB,KAAMA,EACNiB,KAAM,cACNpB,UAAWA,GAEXU,EAACW,EAAAA,CACGC,UAAWvB,EACXc,UAAW,wEACXO,KAAM,cACNG,MAAOtB,EAAMsB,MACbC,SAAUnB,EAAgB,eAC1BoB,YAAaxB,SAAmB,QAAnBA,EAAAA,EAAOyB,oBAAPzB,IAAAA,OAAAA,EAAAA,EAAqBQ,YAClCkB,cAAezB,EAAKO,eAK/Bb,GACGc,EAACE,EAAAA,CACGC,UAAW,qCACXC,MAAOb,EAAM2B,eAAiBzB,EAAKY,IAAId,EAAM2B,gBAAkBzB,EAAKY,IAAI,mBACxEC,aAAcrB,EAAS,eACvBuB,QAASZ,EAAME,YACfqB,UAA0B,QAAhB3B,EAAAA,EAAKM,mBAALN,IAAAA,SAAAA,EAAkB4B,QAC5BX,IAAK,MACLhB,KAAMA,EACNiB,KAAM,cACNpB,UAAWA,GAEXU,EAACqB,EAAAA,CACGlB,UAAU,gFACVmB,KAAK,MACLZ,KAAK,cACLa,MAAO/B,EAAKM,YACZ0B,QAAS7B,EAAgB,cAAe,SACxC8B,OAAQ9B,EAAgB,cAAe,QACvCoB,YAAaxB,SAAmB,QAAnBA,EAAAA,EAAOyB,oBAAPzB,IAAAA,OAAAA,EAAAA,EAAqBO,YAClC4B,YAAY,MACZC,UAAU,EACVC,aAAc,SAMtC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useEffect as r,useRef as t,useCallback as o}from"../../../external/preact/hooks/dist/hooks.js";import n from"../../../utils/useForm/useForm.js";import"../SecuredFields/lib/CSF/utils/userAgent.js";import{useCoreContext as i}from"../../../core/Context/CoreProvider.js";import{phoneFormatters as s,phoneValidationRules as
|
|
1
|
+
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useEffect as r,useRef as t,useCallback as o}from"../../../external/preact/hooks/dist/hooks.js";import n from"../../../utils/useForm/useForm.js";import"../SecuredFields/lib/CSF/utils/userAgent.js";import{useCoreContext as i}from"../../../core/Context/CoreProvider.js";import{phoneFormatters as s,phoneValidationRules as a}from"./validate.js";import l from"../FormFields/Fieldset/Fieldset.js";import u from"./PhoneInputFields.js";function c(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function p(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){c(e,r,t[r])})}return e}function f(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}),e}function m(c){var m,d;const{i18n:b}=i(),h=c.requiredFields||[...(null==c||null===(m=c.items)||void 0===m?void 0:m.length)?["phonePrefix"]:[],"phoneNumber"],j=h.includes("phonePrefix")&&!!(null==c||null===(d=c.items)||void 0===d?void 0:d.length),O=h.includes("phoneNumber"),g=n(f(p({i18n:b},c),{schema:h,defaultData:c.data,rules:a,formatters:s}));r(()=>{g.setSchema(h)},[h.toString()]);const{data:y,valid:P,errors:v,isValid:w,triggerValidation:F}=g;r(()=>{c.onChange({data:y,valid:P,errors:v,isValid:w})},[y,P,v,w]);const x=t({showValidation:F});r(()=>{c.setComponentRef(x.current)},[c.setComponentRef]);const S=o(e=>{if(v[e]){const r="phoneNumber"===e?"phoneNumberErrorKey":"phonePrefixErrorKey",t=c[r]?c[r]:v[e].errorMessage;return"string"==typeof t&&b.get(t)}return!1},[v]);return e(l,{classNameModifiers:["phone-input"]},e(u,p({getError:S,showNumber:O,showPrefix:j,form:g},c)))}m.defaultProps={phoneLabel:"telephoneNumber"};export{m as default};
|
|
2
2
|
//# sourceMappingURL=PhoneInputForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhoneInputForm.js","sources":["../../../../../src/components/internal/PhoneInput/PhoneInputForm.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useCallback, useRef } from 'preact/hooks';\nimport useForm from '../../../utils/useForm';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport './PhoneInput.scss';\nimport { phoneFormatters, phoneValidationRules } from './validate';\nimport { PhoneInputFormProps, PhoneInputSchema } from './types';\nimport Fieldset from '../FormFields/Fieldset';\nimport PhoneInputFields from './PhoneInputFields';\nimport { ComponentMethodsRef } from '../UIElement/types';\n\n/**\n *\n * @param PhoneInputFormProps\n * @constructor\n */\nfunction PhoneInputForm(props: Readonly<PhoneInputFormProps>) {\n const { i18n } = useCoreContext();\n\n const schema = props.requiredFields || [...(props?.items?.length ? ['phonePrefix'] : []), 'phoneNumber'];\n const showPrefix = schema.includes('phonePrefix') && !!props?.items?.length;\n const showNumber = schema.includes('phoneNumber');\n\n const form = useForm<PhoneInputSchema>({\n i18n,\n ...props,\n schema,\n defaultData: props.data,\n rules: phoneValidationRules,\n formatters: phoneFormatters\n });\n\n useEffect(() => {\n form.setSchema(schema);\n }, [schema.toString()]);\n\n const { data, valid, errors, isValid, triggerValidation } = form;\n\n useEffect(() => {\n props.onChange({ data, valid, errors, isValid });\n }, [data, valid, errors, isValid]);\n\n const componentRef = useRef<ComponentMethodsRef>({\n showValidation: triggerValidation\n });\n\n useEffect(() => {\n props.setComponentRef(componentRef.current);\n }, [props.setComponentRef]);\n\n // This is here for MBWay, prob should be moved up\n // MBWay has a weird way of loading its error messages\n // They come form the prop phoneNumberErrorKey: 'mobileNumber.invalid'\n // Strangely it's defined as invalidPhoneNumber in the validation rules\n const getPhoneFieldError = useCallback(\n (field: string) => {\n if (errors[field]) {\n const propsField = field === 'phoneNumber' ? 'phoneNumberErrorKey' : 'phonePrefixErrorKey';\n const key = props[propsField] ? props[propsField] : errors[field].errorMessage;\n return typeof key === 'string' ? i18n.get(key) :
|
|
1
|
+
{"version":3,"file":"PhoneInputForm.js","sources":["../../../../../src/components/internal/PhoneInput/PhoneInputForm.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useCallback, useRef } from 'preact/hooks';\nimport useForm from '../../../utils/useForm';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport './PhoneInput.scss';\nimport { phoneFormatters, phoneValidationRules } from './validate';\nimport { PhoneInputFormProps, PhoneInputSchema } from './types';\nimport Fieldset from '../FormFields/Fieldset';\nimport PhoneInputFields from './PhoneInputFields';\nimport { ComponentMethodsRef } from '../UIElement/types';\n\n/**\n *\n * @param PhoneInputFormProps\n * @constructor\n */\nfunction PhoneInputForm(props: Readonly<PhoneInputFormProps>) {\n const { i18n } = useCoreContext();\n\n const schema = props.requiredFields || [...(props?.items?.length ? ['phonePrefix'] : []), 'phoneNumber'];\n const showPrefix = schema.includes('phonePrefix') && !!props?.items?.length;\n const showNumber = schema.includes('phoneNumber');\n\n const form = useForm<PhoneInputSchema>({\n i18n,\n ...props,\n schema,\n defaultData: props.data,\n rules: phoneValidationRules,\n formatters: phoneFormatters\n });\n\n useEffect(() => {\n form.setSchema(schema);\n }, [schema.toString()]);\n\n const { data, valid, errors, isValid, triggerValidation } = form;\n\n useEffect(() => {\n props.onChange({ data, valid, errors, isValid });\n }, [data, valid, errors, isValid]);\n\n const componentRef = useRef<ComponentMethodsRef>({\n showValidation: triggerValidation\n });\n\n useEffect(() => {\n props.setComponentRef(componentRef.current);\n }, [props.setComponentRef]);\n\n // This is here for MBWay, prob should be moved up\n // MBWay has a weird way of loading its error messages\n // They come form the prop phoneNumberErrorKey: 'mobileNumber.invalid'\n // Strangely it's defined as invalidPhoneNumber in the validation rules\n const getPhoneFieldError = useCallback(\n (field: string) => {\n if (errors[field]) {\n const propsField = field === 'phoneNumber' ? 'phoneNumberErrorKey' : 'phonePrefixErrorKey';\n const key = props[propsField] ? props[propsField] : errors[field].errorMessage;\n return typeof key === 'string' ? i18n.get(key) : false;\n }\n return false;\n },\n [errors]\n );\n\n return (\n <Fieldset classNameModifiers={['phone-input']}>\n <PhoneInputFields getError={getPhoneFieldError} showNumber={showNumber} showPrefix={showPrefix} form={form} {...props} />\n </Fieldset>\n );\n}\n\nPhoneInputForm.defaultProps = {\n phoneLabel: 'telephoneNumber'\n};\n\nexport default PhoneInputForm;\n"],"names":["PhoneInputForm","props","i18n","useCoreContext","schema","requiredFields","items","length","showPrefix","includes","showNumber","form","useForm","_object_spread_props","_object_spread","defaultData","data","rules","phoneValidationRules","formatters","phoneFormatters","useEffect","setSchema","toString","valid","errors","isValid","triggerValidation","onChange","componentRef","useRef","showValidation","setComponentRef","current","getPhoneFieldError","useCallback","field","propsField","key","errorMessage","get","h","Fieldset","classNameModifiers","PhoneInputFields","getError","defaultProps","phoneLabel"],"mappings":"oyCAgBA,SAASA,EAAeC,OAGwBA,EACWA,EAHvD,MAAMC,KAAEA,GAASC,IAEXC,EAASH,EAAMI,gBAAkB,KAAKJ,SAAY,QAAZA,EAAAA,EAAOK,aAAPL,IAAAA,SAAAA,EAAcM,QAAS,CAAC,eAAiB,GAAK,eACpFC,EAAaJ,EAAOK,SAAS,mBAAoBR,SAAY,QAAZA,EAAAA,EAAOK,iBAAPL,OAAAA,EAAAA,EAAcM,QAC/DG,EAAaN,EAAOK,SAAS,eAE7BE,EAAOC,EAA0BC,EAAAC,EAAA,CACnCZ,QACGD,GAAAA,CACHG,SACAW,YAAad,EAAMe,KACnBC,MAAOC,EACPC,WAAYC,KAGhBC,EAAU,KACNV,EAAKW,UAAUlB,IAChB,CAACA,EAAOmB,aAEX,MAAMP,KAAEA,EAAIQ,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,EAAOC,kBAAEA,GAAsBhB,EAE5DU,EAAU,KACNpB,EAAM2B,SAAS,CAAEZ,OAAMQ,QAAOC,SAAQC,aACvC,CAACV,EAAMQ,EAAOC,EAAQC,IAEzB,MAAMG,EAAeC,EAA4B,CAC7CC,eAAgBJ,IAGpBN,EAAU,KACNpB,EAAM+B,gBAAgBH,EAAaI,UACpC,CAAChC,EAAM+B,kBAMV,MAAME,EAAqBC,EACtBC,IACG,GAAIX,EAAOW,GAAQ,CACf,MAAMC,EAAuB,gBAAVD,EAA0B,sBAAwB,sBAC/DE,EAAMrC,EAAMoC,GAAcpC,EAAMoC,GAAcZ,EAAOW,GAAOG,aAClE,MAAsB,iBAARD,GAAmBpC,EAAKsC,IAAIF,EAC9C,CACA,OAAO,GAEX,CAACb,IAGL,OACIgB,EAACC,EAAAA,CAASC,mBAAoB,CAAC,gBAC3BF,EAACG,EAAAA,EAAAA,CAAiBC,SAAUX,EAAoBxB,WAAYA,EAAYF,WAAYA,EAAYG,KAAMA,GAAUV,IAG5H,CAEAD,EAAe8C,aAAe,CAC1BC,WAAY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QRLoader.js","sources":["../../../../../src/components/internal/QRLoader/QRLoader.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport {\n usePaymentStatusTimer,\n DEFAULT_PAYMENT_STATUS_TIMER_COUNTDOWN_TIME_MIN,\n DEFAULT_PAYMENT_STATUS_TIMER_DELAY_MS,\n DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_INTERVAL_MS,\n DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_TIME_MS\n} from '../../../hooks/usePaymentStatusTimer';\nimport useAutoFocus from '../../../utils/useAutoFocus';\nimport Button from '../Button';\nimport ContentSeparator from '../ContentSeparator';\nimport { AnalyticsInfoEvent, InfoEventType, UiTarget } from '../../../core/Analytics/events/AnalyticsInfoEvent';\nimport { CountdownTime } from '../Countdown/types';\nimport { QRDetails } from './components/QRDetails';\nimport { QRFinalState } from './components/QRFinalState';\nimport { QRLoaderPendingState } from './components/QRLoaderPendingState';\nimport { useLoadingA11yReporter } from '../../../core/Errors/useLoadingA11yReporter';\nimport { QRLoaderDetailsProvider } from './QRLoaderDetailsProvider';\nimport { QRLoaderProps } from './types';\nimport { redirectToApp } from '../../../utils/urls';\nimport './QRLoader.scss';\nimport { useAmount } from '../../../core/Context/AmountProvider';\n\nconst QRCODE_URL = 'utility/v1/barcode.png?type=qrCode&data=';\n\nexport function QRLoader(props: Readonly<QRLoaderProps>) {\n const { i18n, loadingContext } = useCoreContext();\n\n const { state: timerState, actions: timerActions } = usePaymentStatusTimer({\n loadingContext,\n paymentData: props.paymentData,\n clientKey: props.clientKey,\n delay: props.delay,\n throttleTime: props.throttleTime,\n throttleInterval: props.throttledInterval,\n type: props.type,\n onError: props.onError,\n onComplete: props.onComplete,\n onActionHandled: props.onActionHandled\n });\n\n const { completed, expired, loading, percentage } = timerState;\n const { onTick, onTimeUp } = timerActions;\n\n const { showAmount, url, brandLogo, brandName, countdownTime, type, onActionHandled } = props;\n const { amount } = useAmount();\n\n const qrCodeImage = props.qrCodeData ? `${loadingContext}${QRCODE_URL}${props.qrCodeData}&clientKey=${props.clientKey}` : props.qrCodeImage;\n\n const handleCopy = () => {\n const event = new AnalyticsInfoEvent({\n component: props.type,\n type: InfoEventType.download,\n target: UiTarget.qrDownloadButton\n });\n props.onSubmitAnalytics(event);\n };\n\n const onQrCodeLoad = () => {\n onActionHandled?.({\n componentType: props.type,\n actionDescription: 'qr-code-loaded'\n });\n };\n\n const qrSubtitleRef = useAutoFocus();\n\n /**\n * Reported from here rather than from the child states: QRLoaderPendingState unmounts as soon\n * as the QR code arrives and so cannot announce that loading has finished, and a reporter in\n * QRFinalState would be overwritten by this one, since child effects run first and `loading`\n * flips in the same batch as `completed`/`expired`.\n */\n let finalStateMessage: string | undefined;\n if (expired) finalStateMessage = i18n.get('error.subtitle.payment');\n if (completed) finalStateMessage = i18n.get('creditCard.success');\n useLoadingA11yReporter(loading, finalStateMessage);\n\n if (expired) {\n return <QRFinalState image=\"error\" message={i18n.get('error.subtitle.payment')} />;\n }\n\n if (completed) {\n return <QRFinalState image=\"success\" message={i18n.get('creditCard.success')} />;\n }\n\n if (loading) {\n return <QRLoaderPendingState brandLogo={brandLogo} brandName={brandName} />;\n }\n\n const classnames = props.classNameModifiers.map(m => `adyen-checkout__qr-loader--${m}`);\n\n return (\n <div className={`adyen-checkout__qr-loader adyen-checkout__qr-loader--${type} ${classnames.join(' ')}`} data-testid={`${type}-qr-loader`}>\n {brandLogo && (\n <div className=\"adyen-checkout__qr-loader__brand-logo-wrapper\">\n <img src={brandLogo} alt={brandName} className=\"adyen-checkout__qr-loader__brand-logo\" />\n </div>\n )}\n\n {showAmount && amount && amount.value !== null && !!amount.currency && (\n <h1 className=\"adyen-checkout__qr-loader__payment_amount\">{i18n.amount(amount.value, amount.currency)}</h1>\n )}\n\n {url && (\n <div className=\"adyen-checkout__qr-loader__app-link\">\n {props.redirectIntroduction && <p className=\"adyen-checkout__qr-loader__subtitle\">{i18n.get(props.redirectIntroduction)}</p>}\n <Button classNameModifiers={['qr-loader']} onClick={() => redirectToApp(url)} label={i18n.get(props.buttonLabel)} />\n <ContentSeparator />\n </div>\n )}\n\n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */}\n <p ref={qrSubtitleRef} tabIndex={0} className=\"adyen-checkout__qr-loader__subtitle\">\n {typeof props.introduction === 'string' ? i18n.get(props.introduction) : props.introduction?.()}\n </p>\n\n <QRLoaderDetailsProvider\n type={type}\n qrCodeImage={qrCodeImage}\n qrCodeData={props.qrCodeData}\n percentage={percentage}\n timeToPay={props.timeToPay}\n copyBtn={props.copyBtn}\n instructions={props.instructions}\n countdownTime={countdownTime}\n onTick={(time: CountdownTime) => onTick(time)}\n onQRCodeLoad={onQrCodeLoad}\n onTimeUp={() => onTimeUp()}\n handleCopy={handleCopy}\n >\n {props.children ? props.children : <QRDetails />}\n </QRLoaderDetailsProvider>\n </div>\n );\n}\n\nQRLoader.defaultProps = {\n countdownTime: DEFAULT_PAYMENT_STATUS_TIMER_COUNTDOWN_TIME_MIN,\n delay: DEFAULT_PAYMENT_STATUS_TIMER_DELAY_MS,\n throttleTime: DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_TIME_MS,\n throttledInterval: DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_INTERVAL_MS,\n onError: () => {},\n onComplete: () => {},\n classNameModifiers: [],\n introduction: 'wechatpay.scanqrcode',\n timeToPay: 'wechatpay.timetopay',\n buttonLabel: 'openApp',\n showAmount: true\n};\n"],"names":["QRLoader","props","i18n","loadingContext","useCoreContext","state","timerState","actions","timerActions","usePaymentStatusTimer","paymentData","clientKey","delay","throttleTime","throttleInterval","throttledInterval","type","onError","onComplete","onActionHandled","completed","expired","loading","percentage","onTick","onTimeUp","showAmount","url","brandLogo","brandName","countdownTime","amount","useAmount","qrCodeImage","qrCodeData","qrSubtitleRef","useAutoFocus","finalStateMessage","get","useLoadingA11yReporter","h","QRFinalState","image","message","QRLoaderPendingState","classnames","classNameModifiers","map","m","div","className","join","data-testid","img","src","alt","value","currency","h1","redirectIntroduction","p","Button","onClick","redirectToApp","label","buttonLabel","ContentSeparator","ref","tabIndex","introduction","QRLoaderDetailsProvider","timeToPay","copyBtn","instructions","time","onQRCodeLoad","componentType","actionDescription","handleCopy","event","AnalyticsInfoEvent","component","InfoEventType","download","target","UiTarget","qrDownloadButton","onSubmitAnalytics","children","QRDetails","defaultProps","DEFAULT_PAYMENT_STATUS_TIMER_COUNTDOWN_TIME_MIN","DEFAULT_PAYMENT_STATUS_TIMER_DELAY_MS","DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_TIME_MS","DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_INTERVAL_MS"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"QRLoader.js","sources":["../../../../../src/components/internal/QRLoader/QRLoader.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport {\n usePaymentStatusTimer,\n DEFAULT_PAYMENT_STATUS_TIMER_COUNTDOWN_TIME_MIN,\n DEFAULT_PAYMENT_STATUS_TIMER_DELAY_MS,\n DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_INTERVAL_MS,\n DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_TIME_MS\n} from '../../../hooks/usePaymentStatusTimer';\nimport useAutoFocus from '../../../utils/useAutoFocus';\nimport Button from '../Button';\nimport ContentSeparator from '../ContentSeparator';\nimport { AnalyticsInfoEvent, InfoEventType, UiTarget } from '../../../core/Analytics/events/AnalyticsInfoEvent';\nimport { CountdownTime } from '../Countdown/types';\nimport { QRDetails } from './components/QRDetails';\nimport { QRFinalState } from './components/QRFinalState';\nimport { QRLoaderPendingState } from './components/QRLoaderPendingState';\nimport { useLoadingA11yReporter } from '../../../core/Errors/useLoadingA11yReporter';\nimport { QRLoaderDetailsProvider } from './QRLoaderDetailsProvider';\nimport { QRLoaderProps } from './types';\nimport { redirectToApp } from '../../../utils/urls';\nimport './QRLoader.scss';\nimport { useAmount } from '../../../core/Context/AmountProvider';\n\nconst QRCODE_URL = 'utility/v1/barcode.png?type=qrCode&data=';\n\nexport function QRLoader(props: Readonly<QRLoaderProps>) {\n const { i18n, loadingContext } = useCoreContext();\n\n const { state: timerState, actions: timerActions } = usePaymentStatusTimer({\n loadingContext,\n paymentData: props.paymentData,\n clientKey: props.clientKey,\n delay: props.delay,\n throttleTime: props.throttleTime,\n throttleInterval: props.throttledInterval,\n type: props.type,\n onError: props.onError,\n onComplete: props.onComplete,\n onActionHandled: props.onActionHandled\n });\n\n const { completed, expired, loading, percentage } = timerState;\n const { onTick, onTimeUp } = timerActions;\n\n const { showAmount, url, brandLogo, brandName, countdownTime, type, onActionHandled } = props;\n const { amount } = useAmount();\n\n const qrCodeImage = props.qrCodeData ? `${loadingContext}${QRCODE_URL}${props.qrCodeData}&clientKey=${props.clientKey}` : props.qrCodeImage;\n\n const handleCopy = () => {\n const event = new AnalyticsInfoEvent({\n component: props.type,\n type: InfoEventType.download,\n target: UiTarget.qrDownloadButton\n });\n props.onSubmitAnalytics(event);\n };\n\n const onQrCodeLoad = () => {\n onActionHandled?.({\n componentType: props.type,\n actionDescription: 'qr-code-loaded'\n });\n };\n\n const qrSubtitleRef = useAutoFocus<HTMLParagraphElement>();\n\n /**\n * Reported from here rather than from the child states: QRLoaderPendingState unmounts as soon\n * as the QR code arrives and so cannot announce that loading has finished, and a reporter in\n * QRFinalState would be overwritten by this one, since child effects run first and `loading`\n * flips in the same batch as `completed`/`expired`.\n */\n let finalStateMessage: string | undefined;\n if (expired) finalStateMessage = i18n.get('error.subtitle.payment');\n if (completed) finalStateMessage = i18n.get('creditCard.success');\n useLoadingA11yReporter(loading, finalStateMessage);\n\n if (expired) {\n return <QRFinalState image=\"error\" message={i18n.get('error.subtitle.payment')} />;\n }\n\n if (completed) {\n return <QRFinalState image=\"success\" message={i18n.get('creditCard.success')} />;\n }\n\n if (loading) {\n return <QRLoaderPendingState brandLogo={brandLogo} brandName={brandName} />;\n }\n\n const classnames = props.classNameModifiers.map(m => `adyen-checkout__qr-loader--${m}`);\n\n return (\n <div className={`adyen-checkout__qr-loader adyen-checkout__qr-loader--${type} ${classnames.join(' ')}`} data-testid={`${type}-qr-loader`}>\n {brandLogo && (\n <div className=\"adyen-checkout__qr-loader__brand-logo-wrapper\">\n <img src={brandLogo} alt={brandName} className=\"adyen-checkout__qr-loader__brand-logo\" />\n </div>\n )}\n\n {showAmount && amount && amount.value !== null && !!amount.currency && (\n <h1 className=\"adyen-checkout__qr-loader__payment_amount\">{i18n.amount(amount.value, amount.currency)}</h1>\n )}\n\n {url && (\n <div className=\"adyen-checkout__qr-loader__app-link\">\n {props.redirectIntroduction && <p className=\"adyen-checkout__qr-loader__subtitle\">{i18n.get(props.redirectIntroduction)}</p>}\n <Button classNameModifiers={['qr-loader']} onClick={() => redirectToApp(url)} label={i18n.get(props.buttonLabel)} />\n <ContentSeparator />\n </div>\n )}\n\n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */}\n <p ref={qrSubtitleRef} tabIndex={0} className=\"adyen-checkout__qr-loader__subtitle\">\n {typeof props.introduction === 'string' ? i18n.get(props.introduction) : props.introduction?.()}\n </p>\n\n <QRLoaderDetailsProvider\n type={type}\n qrCodeImage={qrCodeImage}\n qrCodeData={props.qrCodeData}\n percentage={percentage}\n timeToPay={props.timeToPay}\n copyBtn={props.copyBtn}\n instructions={props.instructions}\n countdownTime={countdownTime}\n onTick={(time: CountdownTime) => onTick(time)}\n onQRCodeLoad={onQrCodeLoad}\n onTimeUp={() => onTimeUp()}\n handleCopy={handleCopy}\n >\n {props.children ? props.children : <QRDetails />}\n </QRLoaderDetailsProvider>\n </div>\n );\n}\n\nQRLoader.defaultProps = {\n countdownTime: DEFAULT_PAYMENT_STATUS_TIMER_COUNTDOWN_TIME_MIN,\n delay: DEFAULT_PAYMENT_STATUS_TIMER_DELAY_MS,\n throttleTime: DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_TIME_MS,\n throttledInterval: DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_INTERVAL_MS,\n onError: () => {},\n onComplete: () => {},\n classNameModifiers: [],\n introduction: 'wechatpay.scanqrcode',\n timeToPay: 'wechatpay.timetopay',\n buttonLabel: 'openApp',\n showAmount: true\n};\n"],"names":["QRLoader","props","i18n","loadingContext","useCoreContext","state","timerState","actions","timerActions","usePaymentStatusTimer","paymentData","clientKey","delay","throttleTime","throttleInterval","throttledInterval","type","onError","onComplete","onActionHandled","completed","expired","loading","percentage","onTick","onTimeUp","showAmount","url","brandLogo","brandName","countdownTime","amount","useAmount","qrCodeImage","qrCodeData","qrSubtitleRef","useAutoFocus","finalStateMessage","get","useLoadingA11yReporter","h","QRFinalState","image","message","QRLoaderPendingState","classnames","classNameModifiers","map","m","div","className","join","data-testid","img","src","alt","value","currency","h1","redirectIntroduction","p","Button","onClick","redirectToApp","label","buttonLabel","ContentSeparator","ref","tabIndex","introduction","QRLoaderDetailsProvider","timeToPay","copyBtn","instructions","time","onQRCodeLoad","componentType","actionDescription","handleCopy","event","AnalyticsInfoEvent","component","InfoEventType","download","target","UiTarget","qrDownloadButton","onSubmitAnalytics","children","QRDetails","defaultProps","DEFAULT_PAYMENT_STATUS_TIMER_COUNTDOWN_TIME_MIN","DEFAULT_PAYMENT_STATUS_TIMER_DELAY_MS","DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_TIME_MS","DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_INTERVAL_MS"],"mappings":"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"}
|
package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/utils/processAriaConfig.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{addErrorTranslationsToObject as e}from"../../../../../../core/Errors/utils.js";import t from"../../utilities/addContextTranslations.js";import{SF_FIELDS_MAP as r}from"../../constants.js";function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function c(c,i,l,a){const s=["giftcard"].includes(c)?c:"creditCard";let f=l.get(`${s}.${i}.aria.iframeTitle`);"none"===f&&(f="");const u=l.get(`${s}.${r[i]}.label`),b=l.
|
|
1
|
+
import{addErrorTranslationsToObject as e}from"../../../../../../core/Errors/utils.js";import t from"../../utilities/addContextTranslations.js";import{SF_FIELDS_MAP as r}from"../../constants.js";function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function c(c,i,l,a){const s=["giftcard"].includes(c)?c:"creditCard";let f=l.get(`${s}.${i}.aria.iframeTitle`);"none"===f&&(f="");const u=l.get(`${s}.${r[i]}.label`),b=l.translationsLocale;let p=e({iframeTitle:f,label:u},l,i);return a&&(p=t(p,l,c,i)),o(function(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){n(e,t,r[t])})}return e}({},b&&{lang:b}),{[i]:p})}export{c as processAriaConfig};
|
|
2
2
|
//# sourceMappingURL=processAriaConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processAriaConfig.js","sources":["../../../../../../../../src/components/internal/SecuredFields/lib/securedField/utils/processAriaConfig.ts"],"sourcesContent":["import { addErrorTranslationsToObject } from '../../../../../../core/Errors/utils';\nimport addContextTranslationsToObject from '../../utilities/addContextTranslations';\nimport Language from '../../../../../../language/Language';\nimport { SF_FIELDS_MAP } from '../../constants';\nimport { AriaConfig, AriaConfigObject } from '../../types';\n\n/**\n * Creates an ariaConfig object with 'iframeTitle' and 'label' properties, whose values are retrieved from the translations object.\n * (These values either come from the translation file or have been overwritten by the merchant in a translations config object.)\n * We then add an error object containing the possible errors for any securedField read from the translation file and stored under error-codes\n */\nexport function processAriaConfig(txVariant: string, fieldType: string, i18n: Language, showContextuaElement): AriaConfig {\n // txVariant can be the scheme name (VISA, Mastercard...) so we put all of them under creditCard\n const type = ['giftcard'].includes(txVariant) ? txVariant : 'creditCard';\n\n // Get translation for iframeTitle\n let iframeTitle: string = i18n.get(`${type}.${fieldType}.aria.iframeTitle`);\n\n /**\n * Fix bug where, if iframeTitle was set to 'none', although we didn't add it to the iframe element, we still passed it through to the securedField\n * where it got set as the title of the html page\n */\n if (iframeTitle === 'none') {\n iframeTitle = '';\n }\n\n // Get translation for aria label using *same* key that is used to label the element - important a11y consideration for (securedField) iframe\n const label: string = i18n.get(`${type}.${SF_FIELDS_MAP[fieldType]}.label`);\n\n // Get lang property\n const lang = i18n.
|
|
1
|
+
{"version":3,"file":"processAriaConfig.js","sources":["../../../../../../../../src/components/internal/SecuredFields/lib/securedField/utils/processAriaConfig.ts"],"sourcesContent":["import { addErrorTranslationsToObject } from '../../../../../../core/Errors/utils';\nimport addContextTranslationsToObject from '../../utilities/addContextTranslations';\nimport Language from '../../../../../../language/Language';\nimport { SF_FIELDS_MAP } from '../../constants';\nimport { AriaConfig, AriaConfigObject } from '../../types';\n\n/**\n * Creates an ariaConfig object with 'iframeTitle' and 'label' properties, whose values are retrieved from the translations object.\n * (These values either come from the translation file or have been overwritten by the merchant in a translations config object.)\n * We then add an error object containing the possible errors for any securedField read from the translation file and stored under error-codes\n */\nexport function processAriaConfig(txVariant: string, fieldType: string, i18n: Language, showContextuaElement): AriaConfig {\n // txVariant can be the scheme name (VISA, Mastercard...) so we put all of them under creditCard\n const type = ['giftcard'].includes(txVariant) ? txVariant : 'creditCard';\n\n // Get translation for iframeTitle\n let iframeTitle: string = i18n.get(`${type}.${fieldType}.aria.iframeTitle`);\n\n /**\n * Fix bug where, if iframeTitle was set to 'none', although we didn't add it to the iframe element, we still passed it through to the securedField\n * where it got set as the title of the html page\n */\n if (iframeTitle === 'none') {\n iframeTitle = '';\n }\n\n // Get translation for aria label using *same* key that is used to label the element - important a11y consideration for (securedField) iframe\n const label: string = i18n.get(`${type}.${SF_FIELDS_MAP[fieldType]}.label`);\n\n // Get lang property. It must match the language of the copy that is rendered, not the locale used for formatting\n const lang = i18n.translationsLocale;\n\n // Create a new object with the iframeTitle & label values from translation file\n const ariaFieldConfigObj: AriaConfigObject = { iframeTitle, label };\n\n // Add error translations object\n let enhancedAriaFieldConfigObj: AriaConfigObject = addErrorTranslationsToObject(ariaFieldConfigObj, i18n, fieldType);\n\n // If allowed, add the translated contextual texts\n if (showContextuaElement) {\n enhancedAriaFieldConfigObj = addContextTranslationsToObject(enhancedAriaFieldConfigObj, i18n, txVariant, fieldType);\n }\n\n // Create a new aria config object keeping the old entries and adding a new one for this field\n // N.B. need to do this deconstruction of the original aria config object to break existing refs & avoid getting an \"accumulated\" object\n return {\n ...(lang && { lang }),\n [fieldType]: enhancedAriaFieldConfigObj\n } as AriaConfig;\n}\n"],"names":["processAriaConfig","txVariant","fieldType","i18n","showContextuaElement","type","includes","iframeTitle","get","label","SF_FIELDS_MAP","lang","translationsLocale","enhancedAriaFieldConfigObj","addErrorTranslationsToObject","addContextTranslationsToObject","_object_spread_props"],"mappings":"uqBAWO,SAASA,EAAkBC,EAAmBC,EAAmBC,EAAgBC,GAEpF,MAAMC,EAAO,CAAC,YAAYC,SAASL,GAAaA,EAAY,aAG5D,IAAIM,EAAsBJ,EAAKK,IAAI,GAAGH,KAAQH,sBAM1B,SAAhBK,IACAA,EAAc,IAIlB,MAAME,EAAgBN,EAAKK,IAAI,GAAGH,KAAQK,EAAcR,YAGlDS,EAAOR,EAAKS,mBAMlB,IAAIC,EAA+CC,EAHN,CAAEP,cAAaE,SAGwCN,EAAMD,GAS1G,OANIE,IACAS,EAA6BE,EAA+BF,EAA4BV,EAAMF,EAAWC,IAKtGc,wUACCL,GAAQ,CAAEA,SAAK,CACnBT,CAACA,GAAYW,GAErB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e,createRef as t}from"../../../external/preact/dist/preact.js";import s,{NETWORK_ERROR as o}from"../../../core/Errors/AdyenCheckoutError.js";import i from"../../../core/Services/order-status.js";import{hasOwnProperty as n}from"../../../utils/hasOwnProperty.js";import r from"../BaseElement/BaseElement.js";import a from"../PayButton/PayButton.js";import{assertIsDropin as l,getRegulatoryDefaults as h,sanitizeResponse as d,verifyPaymentDidNotFail as c,cleanupFinalResult as p}from"./utils.js";import{AnalyticsErrorEvent as m,ErrorEventType as u}from"../../../core/Analytics/events/AnalyticsErrorEvent.js";import{AnalyticsInfoEvent as y,InfoEventType as v}from"../../../core/Analytics/events/AnalyticsInfoEvent.js";import{AnalyticsLogEvent as f,LogEventType as R}from"../../../core/Analytics/events/AnalyticsLogEvent.js";import b from"../../../core/Errors/CancelError.js";import{CoreProvider as P}from"../../../core/Context/CoreProvider.js";import g from"../../../core/Errors/SRPanelProvider.js";import{AmountProvider as A}from"../../../core/Context/AmountProvider.js";import{TxVariants as w}from"../../tx-variants.js";function E(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function S(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{},o=Object.keys(s);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(s).filter(function(e){return Object.getOwnPropertyDescriptor(s,e).enumerable}))),o.forEach(function(t){E(e,t,s[t])})}return e}function C(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t.push.apply(t,s)}return t}(Object(t)).forEach(function(s){Object.defineProperty(e,s,Object.getOwnPropertyDescriptor(t,s))}),e}class j extends r{createBeforeRenderHook(e){const t=this.render;this.render=(...s)=>(this.beforeRender(e),t.apply(this,s))}beforeRender(e){if(null==e?void 0:e.originalAction)return;const t=new y(S({type:v.rendered,component:this.type,configData:C(S({},e),{showPayButton:this.props.showPayButton})},(null==e?void 0:e.oneClick)&&{isStoredPaymentMethod:!0}));this.analytics.sendAnalytics(t)}reportIntegrationFlavor(){this.analytics.sendFlavor("components")}get analytics(){return this.core.modules.analytics}get srPanel(){return this.core.modules.srPanel}getPaymentMethodConfigFromResponse(e){return(null==e?void 0:e.storedPaymentMethodId)?this.getStoredPaymentMethodDetails(e.storedPaymentMethodId):this.getPaymentMethodFromPaymentMethodsResponse(null==e?void 0:e.type,null==e?void 0:e.paymentMethodId)}buildElementProps(e){const t=S({showPayButton:!0},this.core.getCorePropsForComponent(),this.getPaymentMethodConfigFromResponse(e),e),s=l(this);this.props=this.formatProps(S({},this.constructor.defaultProps,h(this.core.options.countryCode,s),t))}getStoredPaymentMethodDetails(e){return this.core.paymentMethodsResponse.findStoredPaymentMethod(e)}getPaymentMethodFromPaymentMethodsResponse(e,t){var s;return t?this.core.paymentMethodsResponse.findById(t):null===(s=this.core.paymentMethodsResponse)||void 0===s?void 0:s.find(e||this.constructor.type)}storeElementRefOnCore(e){(null==e?void 0:e.isDropin)||this.core.storeElementReference(this)}isAvailable(){return Promise.resolve()}setState(e){this.state=S({},this.state,e),this.onChange()}showValidation(){var e,t;return null===(t=this.componentRef)||void 0===t||null===(e=t.showValidation)||void 0===e||e.call(t),this}updateAmount(e,t){var s;this.props=S({},this.props,e&&{amount:e},t&&{secondaryAmount:t}),null===(s=this.amountProviderRef.current)||void 0===s||s.update(e,t)}setElementStatus(e){var t,s;return null===(s=this.elementRef)||void 0===s||null===(t=s.setStatus)||void 0===t||t.call(s,e),this}setStatus(e){var t,s;return null===(s=this.componentRef)||void 0===s||null===(t=s.setStatus)||void 0===t||t.call(s,e),this}onChange(){var e,t;null===(e=(t=this.props).onChange)||void 0===e||e.call(t,{data:this.data,isValid:this.isValid,errors:this.state.errors,valid:this.state.valid},this.elementRef)}submitAnalytics(e){this.analytics.sendAnalytics(e)}submit(){if(this.isValid){if(this.props.onReview){var e;const t=null!==(e=this.state.order)&&void 0!==e?e:this.props.order,s=(e={})=>{this.submitAnalytics(new f({component:this.type,type:R.review,message:"Review flow triggered"})),this.props.onReview(this.data,this.elementRef,e)};return t?void i({clientKey:this.props.clientKey,loadingContext:this.props.loadingContext},t).then(e=>s({orderStatus:e})).catch(()=>s()):void s()}this.executePaymentsCall()}else this.showValidation()}executePaymentsCall(){this.makePaymentsCall().then(d).then(c).then(this.handleResponse).catch(e=>{e instanceof b?this.setElementStatus("ready"):this.handleFailedResult(e)})}makePaymentsCall(){if(this.setElementStatus("loading"),this.props.onSubmit)return this.submitUsingAdvancedFlow();if(this.core.session){return(this.props.beforeSubmit?new Promise((e,t)=>{this.props.beforeSubmit(this.data,this.elementRef,{resolve:e,reject:()=>t(new b("beforeSubmitRejected"))})}):Promise.resolve(this.data)).then(this.submitUsingSessionsFlow)}this.handleError(new s("IMPLEMENTATION_ERROR",'It can not perform /payments call. Callback "onSubmit" is missing or Checkout session is not available'))}async submitUsingAdvancedFlow(){const e=new f({component:this.type,type:R.submit,message:"Shopper clicked pay"});return this.submitAnalytics(e),new Promise((e,t)=>{this.props.onSubmit({data:this.data,isValid:this.isValid},this.elementRef,{resolve:e,reject:t})})}async submitUsingSessionsFlow(e){const t=new f({component:this.type,type:R.submit,message:"Shopper clicked pay"});this.submitAnalytics(t);try{return await this.core.session.submitPayment(e)}catch(e){return e instanceof s?this.handleError(e):this.handleError(new s("ERROR","Error when making /payments call",{cause:e})),Promise.reject(e)}}onComplete(e){this.handleAdditionalDetails(e)}handleAdditionalDetails(e){this.makeAdditionalDetailsCall(e).then(d).then(c).then(this.handleResponse).catch(this.handleFailedResult)}makeAdditionalDetailsCall(e){return this.props.onAdditionalDetails?new Promise((t,s)=>{this.props.onAdditionalDetails(e,this.elementRef,{resolve:t,reject:s})}):this.core.session?this.submitAdditionalDetailsUsingSessionsFlow(e.data):void this.handleError(new s("IMPLEMENTATION_ERROR",'It can not perform /payments/details call. Callback "onAdditionalDetails" is missing or Checkout session is not available'))}async submitAdditionalDetailsUsingSessionsFlow(e){try{return await this.core.session.submitDetails(e)}catch(e){return e instanceof s?this.handleError(e):this.handleError(new s("ERROR","Error when making /details call",{cause:e})),Promise.reject(e)}}handleAction(e,t={}){if(!e||!e.type){if(n(e,"action")&&n(e,"resultCode"))throw new Error('handleAction::Invalid Action - the passed action object itself has an "action" property and a "resultCode": have you passed in the whole response object by mistake?');throw new Error('handleAction::Invalid Action - the passed action object does not have a "type" property')}const s=this.core.createFromAction(e,S({},this.elementRef.props,t));return s?(this.unmount(),s.mount(this._node)):null}onActionHandled(e){var t,s;null===(s=this.props)||void 0===s||null===(t=s.onActionHandled)||void 0===t||t.call(s,S({originalAction:this.props.originalAction},e))}setupSessionsDonation(){const{amount:e,donation:t}=this.props;if(!1!==(null==t?void 0:t.autoMount)){const t=l(this.elementRef)?this.elementRef._node:this._node;new(this.core.getComponent(w.donation))(this.core,{rootNode:t,commercialTxAmount:e.value})}}handleResponse(e){var t,s,o;e.action?(null===(o=this.core.options)||void 0===o?void 0:o.onAction)?this.core.options.onAction(this.core.createFromAction(e.action,S({},this.elementRef.props))):this.elementRef.handleAction(e.action):(null===(s=e.order)||void 0===s||null===(t=s.remainingAmount)||void 0===t?void 0:t.value)>0?this.handleOrder(e):this.handleSuccessResult(e)}handleKeyDown(e){var t;"Enter"!==e.key&&"Enter"!==e.code||(e.preventDefault(),this.onEnterKeyPressed(null===(t=document)||void 0===t?void 0:t.activeElement,this))}onEnterKeyPressed(e,t){this.props.onEnterKeyPressed?this.props.onEnterKeyPressed(e,t):(e.blur(),this.submit())}updateParent(e={}){return this.elementRef.core.update(e)}get isValid(){return!1}get icon(){var e;const t=this.props.paymentMethodType||this.type;return null!==(e=this.props.icon)&&void 0!==e?e:this.resources.getImage()(t)}get displayName(){var e,t;const s=null===(t=this.core.paymentMethodsResponse)||void 0===t||null===(e=t.paymentMethods)||void 0===e?void 0:e.find(e=>e.type===this.type);return this.props.name||(null==s?void 0:s.name)||this.type}get accessibleName(){return this.displayName}get additionalInfo(){return null}get type(){return this.props.type||this.constructor.type}async handleAdvanceFlowPaymentMethodsUpdate(e,t){return new Promise((t,s)=>{if(!this.props.onPaymentMethodsRequest)return t();this.props.onPaymentMethodsRequest(C(S({},e&&{order:{orderData:e.orderData,pspReference:e.pspReference}}),{locale:this.core.options.locale}),{resolve:t,reject:s})}).catch(e=>{this.handleError(new s("IMPLEMENTATION_ERROR","Something failed during payment methods update or onPaymentMethodsRequest was not implemented",{cause:e}))}).then(s=>this.core.update(C(S({},s&&{paymentMethodsResponse:s}),{order:e,amount:e?e.remainingAmount:t})))}render(){return e(P,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources,analytics:this.analytics},e(g,{srPanel:this.srPanel},e(A,{amount:this.props.amount,secondaryAmount:this.props.secondaryAmount,providerRef:this.amountProviderRef},this.componentToRender())))}constructor(s,i){super(s,i),E(this,"componentRef",void 0),E(this,"resources",void 0),E(this,"elementRef",void 0),E(this,"amountProviderRef",t()),E(this,"handleError",e=>{if(this.setElementStatus("ready"),e.name===o&&e.options.code){const t=new m({component:this.type,errorType:u.apiError,code:e.options.code});this.submitAnalytics(t)}this.props.onError&&this.props.onError(e,this.elementRef)}),E(this,"handleOrder",e=>{const{order:t}=e;(this.core.session?this.core.update({order:t}):this.handleAdvanceFlowPaymentMethodsUpdate(t)).then(()=>{var e,s;null===(e=(s=this.props).onOrderUpdated)||void 0===e||e.call(s,{order:t})})}),E(this,"handleFailedResult",e=>{var t,s;l(this.elementRef)&&this.elementRef.displayFinalAnimation("error"),p(e),null===(t=(s=this.props).onPaymentFailed)||void 0===t||t.call(s,e,this.elementRef)}),E(this,"handleSuccessResult",e=>{var t,s;l(this.elementRef)&&this.elementRef.displayFinalAnimation("success"),p(e),this.core.session&&!0===e.askDonation&&this.setupSessionsDonation(),null===(t=(s=this.props).onPaymentCompleted)||void 0===t||t.call(s,e,this.elementRef)}),E(this,"setComponentRef",e=>{this.componentRef=e}),E(this,"payButton",t=>e(a,C(S({},t),{showPayButton:this.props.showPayButton,disclaimerMessage:this.props.disclaimerMessage,onClick:this.submit,showReview:!!this.props.onReview}))),this.core.register(this.constructor),this.submit=this.submit.bind(this),this.setState=this.setState.bind(this),this.onComplete=this.onComplete.bind(this),this.handleAction=this.handleAction.bind(this),this.handleOrder=this.handleOrder.bind(this),this.handleAdditionalDetails=this.handleAdditionalDetails.bind(this),this.handleResponse=this.handleResponse.bind(this),this.setElementStatus=this.setElementStatus.bind(this),this.submitAnalytics=this.submitAnalytics.bind(this),this.makePaymentsCall=this.makePaymentsCall.bind(this),this.makeAdditionalDetailsCall=this.makeAdditionalDetailsCall.bind(this),this.submitUsingSessionsFlow=this.submitUsingSessionsFlow.bind(this),this.updateAmount=this.updateAmount.bind(this),this.setupSessionsDonation=this.setupSessionsDonation.bind(this),this.elementRef=i&&i.elementRef||this,this.resources=this.props.modules?this.props.modules.resources:void 0,this.storeElementRefOnCore(this.props),this.onEnterKeyPressed=this.onEnterKeyPressed.bind(this),this.onActionHandled=this.onActionHandled.bind(this),this.createBeforeRenderHook(i),this.reportIntegrationFlavor()}}E(j,"type",void 0),E(j,"txVariants",[]);export{j as UIElement,j as default};
|
|
1
|
+
import{createElement as e,createRef as t}from"../../../external/preact/dist/preact.js";import s,{NETWORK_ERROR as i}from"../../../core/Errors/AdyenCheckoutError.js";import o from"../../../core/Services/order-status.js";import{hasOwnProperty as n}from"../../../utils/hasOwnProperty.js";import r from"../BaseElement/BaseElement.js";import a from"../PayButton/PayButton.js";import{assertIsDropin as l,getRegulatoryDefaults as h,sanitizeResponse as d,verifyPaymentDidNotFail as c,cleanupFinalResult as p}from"./utils.js";import{AnalyticsErrorEvent as m,ErrorEventType as u}from"../../../core/Analytics/events/AnalyticsErrorEvent.js";import{AnalyticsInfoEvent as y,InfoEventType as v}from"../../../core/Analytics/events/AnalyticsInfoEvent.js";import{AnalyticsLogEvent as f,LogEventType as R}from"../../../core/Analytics/events/AnalyticsLogEvent.js";import b from"../../../core/Errors/CancelError.js";import{CoreProvider as P}from"../../../core/Context/CoreProvider.js";import g from"../../../core/Errors/SRPanelProvider.js";import{AmountProvider as w}from"../../../core/Context/AmountProvider.js";import{TxVariants as A}from"../../tx-variants.js";function E(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function C(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{},i=Object.keys(s);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(s).filter(function(e){return Object.getOwnPropertyDescriptor(s,e).enumerable}))),i.forEach(function(t){E(e,t,s[t])})}return e}function S(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t.push.apply(t,s)}return t}(Object(t)).forEach(function(s){Object.defineProperty(e,s,Object.getOwnPropertyDescriptor(t,s))}),e}class O extends r{createBeforeRenderHook(e){const t=this.render;this.render=(...s)=>(this.beforeRender(e),t.apply(this,s))}beforeRender(e){if(null==e?void 0:e.originalAction)return;const t=new y(C({type:v.rendered,component:this.type,configData:S(C({},e),{showPayButton:this.props.showPayButton})},(null==e?void 0:e.oneClick)&&{isStoredPaymentMethod:!0}));this.analytics.sendAnalytics(t)}reportIntegrationFlavor(){this.analytics.sendFlavor("components")}get analytics(){return this.core.modules.analytics}get srPanel(){return this.core.modules.srPanel}getPaymentMethodConfigFromResponse(e){return(null==e?void 0:e.storedPaymentMethodId)?this.getStoredPaymentMethodDetails(e.storedPaymentMethodId):this.getPaymentMethodFromPaymentMethodsResponse(null==e?void 0:e.type,null==e?void 0:e.paymentMethodId)}buildElementProps(e){const t=C({showPayButton:!0},this.core.getCorePropsForComponent(),this.getPaymentMethodConfigFromResponse(e),e),s=l(this);this.props=this.formatProps(C({},this.constructor.defaultProps,h(this.core.options.countryCode,s),t))}getStoredPaymentMethodDetails(e){return this.core.paymentMethodsResponse.findStoredPaymentMethod(e)}getPaymentMethodFromPaymentMethodsResponse(e,t){var s;return t?this.core.paymentMethodsResponse.findById(t):null===(s=this.core.paymentMethodsResponse)||void 0===s?void 0:s.find(e||this.constructor.type)}storeElementRefOnCore(e){(null==e?void 0:e.isDropin)||this.core.storeElementReference(this)}isAvailable(){return Promise.resolve()}setState(e){this.state=C({},this.state,e),this.onChange()}showValidation(){var e,t;return null===(t=this.componentRef)||void 0===t||null===(e=t.showValidation)||void 0===e||e.call(t),this}updateAmount(e,t){var s;this.props=C({},this.props,e&&{amount:e},t&&{secondaryAmount:t}),null===(s=this.amountProviderRef.current)||void 0===s||s.update(e,t)}setElementStatus(e){var t,s;return null===(s=this.elementRef)||void 0===s||null===(t=s.setStatus)||void 0===t||t.call(s,e),this}setStatus(e){var t,s;return null===(s=this.componentRef)||void 0===s||null===(t=s.setStatus)||void 0===t||t.call(s,e),this}onChange(){var e,t;null===(e=(t=this.props).onChange)||void 0===e||e.call(t,{data:this.data,isValid:this.isValid,errors:this.state.errors,valid:this.state.valid},this.elementRef)}submitAnalytics(e){this.analytics.sendAnalytics(e)}submit(){if(this.isValid){if(this.props.onReview){var e;const t=null!==(e=this.state.order)&&void 0!==e?e:this.props.order,s=(e={})=>{var t,s;this.submitAnalytics(new f({component:this.type,type:R.review,message:"Review flow triggered"})),null===(t=(s=this.props).onReview)||void 0===t||t.call(s,this.data,this.elementRef,e)};return t?void o({clientKey:this.props.clientKey,loadingContext:this.props.loadingContext},t).then(e=>s({orderStatus:e})).catch(()=>s()):void s()}this.executePaymentsCall()}else this.showValidation()}executePaymentsCall(){var e;null===(e=this.makePaymentsCall())||void 0===e||e.then(d).then(c).then(this.handleResponse).catch(e=>{e instanceof b?this.setElementStatus("ready"):this.handleFailedResult(e)})}makePaymentsCall(){if(this.setElementStatus("loading"),this.props.onSubmit)return this.submitUsingAdvancedFlow();if(this.core.session){return(this.props.beforeSubmit?new Promise((e,t)=>{var s,i;null===(s=(i=this.props).beforeSubmit)||void 0===s||s.call(i,this.data,this.elementRef,{resolve:e,reject:()=>t(new b("beforeSubmitRejected"))})}):Promise.resolve(this.data)).then(this.submitUsingSessionsFlow)}const e=new s("IMPLEMENTATION_ERROR",'Cannot perform /payments call. Callback "onSubmit" is missing or Checkout session is not available');this.handleError(e)}async submitUsingAdvancedFlow(){const e=new f({component:this.type,type:R.submit,message:"Shopper clicked pay"});return this.submitAnalytics(e),new Promise((e,t)=>{var s,i;null===(s=(i=this.props).onSubmit)||void 0===s||s.call(i,{data:this.data,isValid:this.isValid},this.elementRef,{resolve:e,reject:t})})}async submitUsingSessionsFlow(e){const t=new f({component:this.type,type:R.submit,message:"Shopper clicked pay"});this.submitAnalytics(t);try{if(!this.core.session)throw new s("ERROR","Cannot perform /payments call. Checkout session is not available");return await this.core.session.submitPayment(e)}catch(e){return e instanceof s?this.handleError(e):this.handleError(new s("ERROR","Error when making /payments call",{cause:e})),Promise.reject(e)}}onComplete(e){this.handleAdditionalDetails(e)}handleAdditionalDetails(e){var t;null===(t=this.makeAdditionalDetailsCall(e))||void 0===t||t.then(d).then(c).then(this.handleResponse).catch(this.handleFailedResult)}makeAdditionalDetailsCall(e){if(this.props.onAdditionalDetails)return new Promise((t,s)=>{var i,o;null===(i=(o=this.props).onAdditionalDetails)||void 0===i||i.call(o,e,this.elementRef,{resolve:t,reject:s})});if(this.core.session)return this.submitAdditionalDetailsUsingSessionsFlow(e.data);const t=new s("IMPLEMENTATION_ERROR",'Cannot perform /payments/details call. Callback "onAdditionalDetails" is missing or Checkout session is not available');this.handleError(t)}async submitAdditionalDetailsUsingSessionsFlow(e){try{if(!this.core.session)throw new s("ERROR","Error when making /details call");return await this.core.session.submitDetails(e)}catch(e){return e instanceof s?this.handleError(e):this.handleError(new s("ERROR","Error when making /details call",{cause:e})),Promise.reject(e)}}handleAction(e,t={}){if(!e||!e.type){if(n(e,"action")&&n(e,"resultCode"))throw new Error('handleAction::Invalid Action - the passed action object itself has an "action" property and a "resultCode": have you passed in the whole response object by mistake?');throw new Error('handleAction::Invalid Action - the passed action object does not have a "type" property')}const s=this.core.createFromAction(e,C({},this.elementRef.props,t));return s?(this.unmount(),s.mount(this.mountedNode)):null}onActionHandled(e){var t,s;null===(s=this.props)||void 0===s||null===(t=s.onActionHandled)||void 0===t||t.call(s,C({originalAction:this.props.originalAction},e))}setupSessionsDonation(){const{amount:e,donation:t}=this.props;if(!1!==(null==t?void 0:t.autoMount)){const t=l(this.elementRef)?this.elementRef._node:this._node;if(!t)return;new(this.core.getComponent(A.donation))(this.core,{rootNode:t,commercialTxAmount:null==e?void 0:e.value})}}handleResponse(e){var t,s,i;if(e.action)return void((null===(i=this.core.options)||void 0===i?void 0:i.onAction)?this.core.options.onAction(this.core.createFromAction(e.action,C({},this.elementRef.props))):this.elementRef.handleAction(e.action));const{order:o}=e;o&&(null!==(t=null===(s=o.remainingAmount)||void 0===s?void 0:s.value)&&void 0!==t?t:0)>0?this.handleOrder(S(C({},e),{order:o})):this.handleSuccessResult(e)}handleKeyDown(e){if("Enter"===e.key||"Enter"===e.code){var t;e.preventDefault();const s=null===(t=document)||void 0===t?void 0:t.activeElement;s&&this.onEnterKeyPressed(s,this)}}onEnterKeyPressed(e,t){this.props.onEnterKeyPressed?this.props.onEnterKeyPressed(e,t):(e.blur(),this.submit())}updateParent(e={}){return this.elementRef.core.update(e)}get isValid(){return!1}get icon(){var e;const t=this.props.paymentMethodType||this.type;return null!==(e=this.props.icon)&&void 0!==e?e:this.resources.getImage()(t)}get displayName(){var e,t;const s=null===(t=this.core.paymentMethodsResponse)||void 0===t||null===(e=t.paymentMethods)||void 0===e?void 0:e.find(e=>e.type===this.type);return this.props.name||(null==s?void 0:s.name)||this.type}get accessibleName(){return this.displayName}get additionalInfo(){return null}get type(){return this.props.type||this.constructor.type}async handleAdvanceFlowPaymentMethodsUpdate(e,t){return new Promise((t,s)=>{if(!this.props.onPaymentMethodsRequest)return t();this.props.onPaymentMethodsRequest(S(C({},e&&{order:{orderData:e.orderData,pspReference:e.pspReference}}),{locale:this.core.options.locale}),{resolve:t,reject:s})}).catch(e=>{this.handleError(new s("IMPLEMENTATION_ERROR","Something failed during payment methods update or onPaymentMethodsRequest was not implemented",{cause:e}))}).then(s=>this.core.update(S(C({},s&&{paymentMethodsResponse:s}),{order:null!=e?e:void 0,amount:e?e.remainingAmount:t})))}render(){var t;return e(P,{i18n:this.i18n,loadingContext:null!==(t=this.props.loadingContext)&&void 0!==t?t:"",resources:this.resources,analytics:this.analytics},e(g,{srPanel:this.srPanel},e(w,{amount:this.props.amount,secondaryAmount:this.props.secondaryAmount,providerRef:this.amountProviderRef},this.componentToRender())))}constructor(s,o){var n,r,h;super(s,o),E(this,"componentRef",void 0),E(this,"resources",void 0),E(this,"i18n",void 0),E(this,"elementRef",void 0),E(this,"amountProviderRef",t()),E(this,"handleError",e=>{if(this.setElementStatus("ready"),e.name===i&&e.options.code){const t=new m({component:this.type,errorType:u.apiError,code:e.options.code});this.submitAnalytics(t)}this.props.onError&&this.props.onError(e,this.elementRef)}),E(this,"handleOrder",e=>{const{order:t}=e;(this.core.session?this.core.update({order:t}):this.handleAdvanceFlowPaymentMethodsUpdate(t)).then(()=>{var e,s;null===(e=(s=this.props).onOrderUpdated)||void 0===e||e.call(s,{order:t})})}),E(this,"handleFailedResult",e=>{var t,s;l(this.elementRef)&&this.elementRef.displayFinalAnimation("error"),p(e),null===(t=(s=this.props).onPaymentFailed)||void 0===t||t.call(s,e,this.elementRef)}),E(this,"handleSuccessResult",e=>{var t,s;l(this.elementRef)&&this.elementRef.displayFinalAnimation("success"),p(e),this.core.session&&!0===e.askDonation&&this.setupSessionsDonation(),null===(t=(s=this.props).onPaymentCompleted)||void 0===t||t.call(s,e,this.elementRef)}),E(this,"setComponentRef",e=>{this.componentRef=e}),E(this,"payButton",t=>e(a,S(C({},t),{showPayButton:this.props.showPayButton,disclaimerMessage:this.props.disclaimerMessage,onClick:this.submit,showReview:!!this.props.onReview}))),this.core.register(this.constructor),this.submit=this.submit.bind(this),this.setState=this.setState.bind(this),this.onComplete=this.onComplete.bind(this),this.handleAction=this.handleAction.bind(this),this.handleOrder=this.handleOrder.bind(this),this.handleAdditionalDetails=this.handleAdditionalDetails.bind(this),this.handleResponse=this.handleResponse.bind(this),this.setElementStatus=this.setElementStatus.bind(this),this.submitAnalytics=this.submitAnalytics.bind(this),this.makePaymentsCall=this.makePaymentsCall.bind(this),this.makeAdditionalDetailsCall=this.makeAdditionalDetailsCall.bind(this),this.submitUsingSessionsFlow=this.submitUsingSessionsFlow.bind(this),this.updateAmount=this.updateAmount.bind(this),this.setupSessionsDonation=this.setupSessionsDonation.bind(this),this.elementRef=o&&o.elementRef||this,this.resources=null!==(n=null===(h=this.props.modules)||void 0===h?void 0:h.resources)&&void 0!==n?n:this.core.modules.resources,this.i18n=null!==(r=this.props.i18n)&&void 0!==r?r:this.core.modules.i18n,this.storeElementRefOnCore(this.props),this.onEnterKeyPressed=this.onEnterKeyPressed.bind(this),this.onActionHandled=this.onActionHandled.bind(this),this.createBeforeRenderHook(o),this.reportIntegrationFlavor()}}E(O,"type",void 0),E(O,"txVariants",[]);export{O as UIElement,O as default};
|
|
2
2
|
//# sourceMappingURL=UIElement.js.map
|