@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":"specifications.js","sources":["../../../../../src/components/internal/IbanInput/specifications.ts"],"sourcesContent":["/**\n * @internal\n * IBAN Countries, length, structure and examples\n */\nconst countries = {\n AD: {\n length: 24,\n structure: 'F04F04A12',\n example: 'AD9912345678901234567890'\n },\n AE: {\n length: 23,\n structure: 'F03F16',\n example: 'AE993331234567890123456'\n },\n AL: {\n length: 28,\n structure: 'F08A16',\n example: 'AL47212110090000000235698741'\n },\n AT: {\n length: 20,\n structure: 'F05F11',\n example: 'AT611904300234573201'\n },\n AZ: {\n length: 28,\n structure: 'U04A20',\n example: 'AZ21NABZ00000000137010001944'\n },\n BA: {\n length: 20,\n structure: 'F03F03F08F02',\n example: 'BA391290079401028494'\n },\n BE: {\n length: 16,\n structure: 'F03F07F02',\n example: 'BE68 5390 0754 7034'\n },\n BG: {\n length: 22,\n structure: 'U04F04F02A08',\n example: 'BG80BNBG96611020345678'\n },\n BH: {\n length: 22,\n structure: 'U04A14',\n example: 'BH67BMAG00001299123456'\n },\n BR: {\n length: 29,\n structure: 'F08F05F10U01A01',\n example: 'BR9700360305000010009795493P1'\n },\n CH: {\n length: 21,\n structure: 'F05A12',\n example: 'CH9300762011623852957'\n },\n CR: {\n length: 22,\n structure: 'F04F14',\n example: 'CR72012300000171549015'\n },\n CY: {\n length: 28,\n structure: 'F03F05A16',\n example: 'CY17002001280000001200527600'\n },\n CZ: {\n length: 24,\n structure: 'F04F06F10',\n example: 'CZ6508000000192000145399'\n },\n DE: {\n length: 22,\n structure: 'F08F10',\n example: 'DE00123456789012345678'\n },\n DK: {\n length: 18,\n structure: 'F04F09F01',\n example: 'DK5000400440116243'\n },\n DO: {\n length: 28,\n structure: 'U04F20',\n example: 'DO28BAGR00000001212453611324'\n },\n EE: {\n length: 20,\n structure: 'F02F02F11F01',\n example: 'EE382200221020145685'\n },\n ES: {\n length: 24,\n structure: 'F04F04F01F01F10',\n example: 'ES9121000418450200051332'\n },\n FI: {\n length: 18,\n structure: 'F06F07F01',\n example: 'FI2112345600000785'\n },\n FO: {\n length: 18,\n structure: 'F04F09F01',\n example: 'FO6264600001631634'\n },\n FR: {\n length: 27,\n structure: 'F05F05A11F02',\n example: 'FR1420041010050500013M02606'\n },\n GB: {\n length: 22,\n structure: 'U04F06F08',\n example: 'GB29NWBK60161331926819'\n },\n GE: {\n length: 22,\n structure: 'U02F16',\n example: 'GE29NB0000000101904917'\n },\n GI: {\n length: 23,\n structure: 'U04A15',\n example: 'GI75NWBK000000007099453'\n },\n GL: {\n length: 18,\n structure: 'F04F09F01',\n example: 'GL8964710001000206'\n },\n GR: {\n length: 27,\n structure: 'F03F04A16',\n example: 'GR1601101250000000012300695'\n },\n GT: {\n length: 28,\n structure: 'A04A20',\n example: 'GT82TRAJ01020000001210029690'\n },\n HR: {\n length: 21,\n structure: 'F07F10',\n example: 'HR1210010051863000160'\n },\n HU: {\n length: 28,\n structure: 'F03F04F01F15F01',\n example: 'HU42117730161111101800000000'\n },\n IE: {\n length: 22,\n structure: 'U04F06F08',\n example: 'IE29AIBK93115212345678'\n },\n IL: {\n length: 23,\n structure: 'F03F03F13',\n example: 'IL620108000000099999999'\n },\n IS: {\n length: 26,\n structure: 'F04F02F06F10',\n example: 'IS140159260076545510730339'\n },\n IT: {\n length: 27,\n structure: 'U01F05F05A12',\n example: 'IT60X0542811101000000123456'\n },\n KW: {\n length: 30,\n structure: 'U04A22',\n example: 'KW81CBKU0000000000001234560101'\n },\n KZ: {\n length: 20,\n structure: 'F03A13',\n example: 'KZ86125KZT5004100100'\n },\n LB: {\n length: 28,\n structure: 'F04A20',\n example: 'LB62099900000001001901229114'\n },\n LC: {\n length: 32,\n structure: 'U04F24',\n example: 'LC07HEMM000100010012001200013015'\n },\n LI: {\n length: 21,\n structure: 'F05A12',\n example: 'LI21088100002324013AA'\n },\n LT: {\n length: 20,\n structure: 'F05F11',\n example: 'LT121000011101001000'\n },\n LU: {\n length: 20,\n structure: 'F03A13',\n example: 'LU280019400644750000'\n },\n LV: {\n length: 21,\n structure: 'U04A13',\n example: 'LV80BANK0000435195001'\n },\n MC: {\n length: 27,\n structure: 'F05F05A11F02',\n example: 'MC5811222000010123456789030'\n },\n MD: {\n length: 24,\n structure: 'U02A18',\n example: 'MD24AG000225100013104168'\n },\n ME: {\n length: 22,\n structure: 'F03F13F02',\n example: 'ME25505000012345678951'\n },\n MK: {\n length: 19,\n structure: 'F03A10F02',\n example: 'MK07250120000058984'\n },\n MR: {\n length: 27,\n structure: 'F05F05F11F02',\n example: 'MR1300020001010000123456753'\n },\n MT: {\n length: 31,\n structure: 'U04F05A18',\n example: 'MT84MALT011000012345MTLCAST001S'\n },\n MU: {\n length: 30,\n structure: 'U04F02F02F12F03U03',\n example: 'MU17BOMM0101101030300200000MUR'\n },\n NL: {\n length: 18,\n structure: 'U04F10',\n example: 'NL99BANK0123456789'\n },\n NO: {\n length: 15,\n structure: 'F04F06F01',\n example: 'NO9386011117947'\n },\n PK: {\n length: 24,\n structure: 'U04A16',\n example: 'PK36SCBL0000001123456702'\n },\n PL: {\n length: 28,\n structure: 'F08F16',\n example: 'PL00123456780912345678901234'\n },\n PS: {\n length: 29,\n structure: 'U04A21',\n example: 'PS92PALS000000000400123456702'\n },\n PT: {\n length: 25,\n structure: 'F04F04F11F02',\n example: 'PT50000201231234567890154'\n },\n RO: {\n length: 24,\n structure: 'U04A16',\n example: 'RO49AAAA1B31007593840000'\n },\n RS: {\n length: 22,\n structure: 'F03F13F02',\n example: 'RS35260005601001611379'\n },\n SA: {\n length: 24,\n structure: 'F02A18',\n example: 'SA0380000000608010167519'\n },\n SE: {\n length: 24,\n structure: 'F03F16F01',\n example: 'SE4550000000058398257466'\n },\n SI: {\n length: 19,\n structure: 'F05F08F02',\n example: 'SI56263300012039086'\n },\n SK: {\n length: 24,\n structure: 'F04F06F10',\n example: 'SK3112000000198742637541'\n },\n SM: {\n length: 27,\n structure: 'U01F05F05A12',\n example: 'SM86U0322509800000000270100'\n },\n ST: {\n length: 25,\n structure: 'F08F11F02',\n example: 'ST68000100010051845310112'\n },\n TL: {\n length: 23,\n structure: 'F03F14F02',\n example: 'TL380080012345678910157'\n },\n TN: {\n length: 24,\n structure: 'F02F03F13F02',\n example: 'TN5910006035183598478831'\n },\n TR: {\n length: 26,\n structure: 'F05F01A16',\n example: 'TR330006100519786457841326'\n },\n VG: {\n length: 24,\n structure: 'U04F16',\n example: 'VG96VPVG0000012345678901'\n },\n XK: {\n length: 20,\n structure: 'F04F10F02',\n example: 'XK051212012345678906'\n },\n AO: {\n length: 25,\n structure: 'F21',\n example: 'AO69123456789012345678901'\n },\n BF: {\n length: 27,\n structure: 'F23',\n example: 'BF2312345678901234567890123'\n },\n BI: {\n length: 16,\n structure: 'F12',\n example: 'BI41123456789012'\n },\n BJ: {\n length: 28,\n structure: 'F24',\n example: 'BJ39123456789012345678901234'\n },\n CI: {\n length: 28,\n structure: 'U01F23',\n example: 'CI17A12345678901234567890123'\n },\n CM: {\n length: 27,\n structure: 'F23',\n example: 'CM9012345678901234567890123'\n },\n CV: {\n length: 25,\n structure: 'F21',\n example: 'CV30123456789012345678901'\n },\n DZ: {\n length: 24,\n structure: 'F20',\n example: 'DZ8612345678901234567890'\n },\n IR: {\n length: 26,\n structure: 'F22',\n example: 'IR861234568790123456789012'\n },\n JO: {\n length: 30,\n structure: 'A04F22',\n example: 'JO15AAAA1234567890123456789012'\n },\n MG: {\n length: 27,\n structure: 'F23',\n example: 'MG1812345678901234567890123'\n },\n ML: {\n length: 28,\n structure: 'U01F23',\n example: 'ML15A12345678901234567890123'\n },\n MZ: {\n length: 25,\n structure: 'F21',\n example: 'MZ25123456789012345678901'\n },\n QA: {\n length: 29,\n structure: 'U04A21',\n example: 'QA30AAAA123456789012345678901'\n },\n SN: {\n length: 28,\n structure: 'U01F23',\n example: 'SN52A12345678901234567890123'\n },\n UA: {\n length: 29,\n structure: 'F25',\n example: 'UA511234567890123456789012345'\n }\n};\n\nexport default countries;\n"],"names":["countries","AD","length","structure","example","AE","AL","AT","AZ","BA","BE","BG","BH","BR","CH","CR","CY","CZ","DE","DK","DO","EE","ES","FI","FO","FR","GB","GE","GI","GL","GR","GT","HR","HU","IE","IL","IS","IT","KW","KZ","LB","LC","LI","LT","LU","LV","MC","MD","ME","MK","MR","MT","MU","NL","NO","PK","PL","PS","PT","RO","RS","SA","SE","SI","SK","SM","ST","TL","TN","TR","VG","XK","AO","BF","BI","BJ","CI","CM","CV","DZ","IR","JO","MG","ML","MZ","QA","SN","UA"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"specifications.js","sources":["../../../../../src/components/internal/IbanInput/specifications.ts"],"sourcesContent":["/**\n * @internal\n * IBAN Countries, length, structure and examples\n */\nconst countries: Record<string, { length: number; structure: string; example: string }> = {\n AD: {\n length: 24,\n structure: 'F04F04A12',\n example: 'AD9912345678901234567890'\n },\n AE: {\n length: 23,\n structure: 'F03F16',\n example: 'AE993331234567890123456'\n },\n AL: {\n length: 28,\n structure: 'F08A16',\n example: 'AL47212110090000000235698741'\n },\n AT: {\n length: 20,\n structure: 'F05F11',\n example: 'AT611904300234573201'\n },\n AZ: {\n length: 28,\n structure: 'U04A20',\n example: 'AZ21NABZ00000000137010001944'\n },\n BA: {\n length: 20,\n structure: 'F03F03F08F02',\n example: 'BA391290079401028494'\n },\n BE: {\n length: 16,\n structure: 'F03F07F02',\n example: 'BE68 5390 0754 7034'\n },\n BG: {\n length: 22,\n structure: 'U04F04F02A08',\n example: 'BG80BNBG96611020345678'\n },\n BH: {\n length: 22,\n structure: 'U04A14',\n example: 'BH67BMAG00001299123456'\n },\n BR: {\n length: 29,\n structure: 'F08F05F10U01A01',\n example: 'BR9700360305000010009795493P1'\n },\n CH: {\n length: 21,\n structure: 'F05A12',\n example: 'CH9300762011623852957'\n },\n CR: {\n length: 22,\n structure: 'F04F14',\n example: 'CR72012300000171549015'\n },\n CY: {\n length: 28,\n structure: 'F03F05A16',\n example: 'CY17002001280000001200527600'\n },\n CZ: {\n length: 24,\n structure: 'F04F06F10',\n example: 'CZ6508000000192000145399'\n },\n DE: {\n length: 22,\n structure: 'F08F10',\n example: 'DE00123456789012345678'\n },\n DK: {\n length: 18,\n structure: 'F04F09F01',\n example: 'DK5000400440116243'\n },\n DO: {\n length: 28,\n structure: 'U04F20',\n example: 'DO28BAGR00000001212453611324'\n },\n EE: {\n length: 20,\n structure: 'F02F02F11F01',\n example: 'EE382200221020145685'\n },\n ES: {\n length: 24,\n structure: 'F04F04F01F01F10',\n example: 'ES9121000418450200051332'\n },\n FI: {\n length: 18,\n structure: 'F06F07F01',\n example: 'FI2112345600000785'\n },\n FO: {\n length: 18,\n structure: 'F04F09F01',\n example: 'FO6264600001631634'\n },\n FR: {\n length: 27,\n structure: 'F05F05A11F02',\n example: 'FR1420041010050500013M02606'\n },\n GB: {\n length: 22,\n structure: 'U04F06F08',\n example: 'GB29NWBK60161331926819'\n },\n GE: {\n length: 22,\n structure: 'U02F16',\n example: 'GE29NB0000000101904917'\n },\n GI: {\n length: 23,\n structure: 'U04A15',\n example: 'GI75NWBK000000007099453'\n },\n GL: {\n length: 18,\n structure: 'F04F09F01',\n example: 'GL8964710001000206'\n },\n GR: {\n length: 27,\n structure: 'F03F04A16',\n example: 'GR1601101250000000012300695'\n },\n GT: {\n length: 28,\n structure: 'A04A20',\n example: 'GT82TRAJ01020000001210029690'\n },\n HR: {\n length: 21,\n structure: 'F07F10',\n example: 'HR1210010051863000160'\n },\n HU: {\n length: 28,\n structure: 'F03F04F01F15F01',\n example: 'HU42117730161111101800000000'\n },\n IE: {\n length: 22,\n structure: 'U04F06F08',\n example: 'IE29AIBK93115212345678'\n },\n IL: {\n length: 23,\n structure: 'F03F03F13',\n example: 'IL620108000000099999999'\n },\n IS: {\n length: 26,\n structure: 'F04F02F06F10',\n example: 'IS140159260076545510730339'\n },\n IT: {\n length: 27,\n structure: 'U01F05F05A12',\n example: 'IT60X0542811101000000123456'\n },\n KW: {\n length: 30,\n structure: 'U04A22',\n example: 'KW81CBKU0000000000001234560101'\n },\n KZ: {\n length: 20,\n structure: 'F03A13',\n example: 'KZ86125KZT5004100100'\n },\n LB: {\n length: 28,\n structure: 'F04A20',\n example: 'LB62099900000001001901229114'\n },\n LC: {\n length: 32,\n structure: 'U04F24',\n example: 'LC07HEMM000100010012001200013015'\n },\n LI: {\n length: 21,\n structure: 'F05A12',\n example: 'LI21088100002324013AA'\n },\n LT: {\n length: 20,\n structure: 'F05F11',\n example: 'LT121000011101001000'\n },\n LU: {\n length: 20,\n structure: 'F03A13',\n example: 'LU280019400644750000'\n },\n LV: {\n length: 21,\n structure: 'U04A13',\n example: 'LV80BANK0000435195001'\n },\n MC: {\n length: 27,\n structure: 'F05F05A11F02',\n example: 'MC5811222000010123456789030'\n },\n MD: {\n length: 24,\n structure: 'U02A18',\n example: 'MD24AG000225100013104168'\n },\n ME: {\n length: 22,\n structure: 'F03F13F02',\n example: 'ME25505000012345678951'\n },\n MK: {\n length: 19,\n structure: 'F03A10F02',\n example: 'MK07250120000058984'\n },\n MR: {\n length: 27,\n structure: 'F05F05F11F02',\n example: 'MR1300020001010000123456753'\n },\n MT: {\n length: 31,\n structure: 'U04F05A18',\n example: 'MT84MALT011000012345MTLCAST001S'\n },\n MU: {\n length: 30,\n structure: 'U04F02F02F12F03U03',\n example: 'MU17BOMM0101101030300200000MUR'\n },\n NL: {\n length: 18,\n structure: 'U04F10',\n example: 'NL99BANK0123456789'\n },\n NO: {\n length: 15,\n structure: 'F04F06F01',\n example: 'NO9386011117947'\n },\n PK: {\n length: 24,\n structure: 'U04A16',\n example: 'PK36SCBL0000001123456702'\n },\n PL: {\n length: 28,\n structure: 'F08F16',\n example: 'PL00123456780912345678901234'\n },\n PS: {\n length: 29,\n structure: 'U04A21',\n example: 'PS92PALS000000000400123456702'\n },\n PT: {\n length: 25,\n structure: 'F04F04F11F02',\n example: 'PT50000201231234567890154'\n },\n RO: {\n length: 24,\n structure: 'U04A16',\n example: 'RO49AAAA1B31007593840000'\n },\n RS: {\n length: 22,\n structure: 'F03F13F02',\n example: 'RS35260005601001611379'\n },\n SA: {\n length: 24,\n structure: 'F02A18',\n example: 'SA0380000000608010167519'\n },\n SE: {\n length: 24,\n structure: 'F03F16F01',\n example: 'SE4550000000058398257466'\n },\n SI: {\n length: 19,\n structure: 'F05F08F02',\n example: 'SI56263300012039086'\n },\n SK: {\n length: 24,\n structure: 'F04F06F10',\n example: 'SK3112000000198742637541'\n },\n SM: {\n length: 27,\n structure: 'U01F05F05A12',\n example: 'SM86U0322509800000000270100'\n },\n ST: {\n length: 25,\n structure: 'F08F11F02',\n example: 'ST68000100010051845310112'\n },\n TL: {\n length: 23,\n structure: 'F03F14F02',\n example: 'TL380080012345678910157'\n },\n TN: {\n length: 24,\n structure: 'F02F03F13F02',\n example: 'TN5910006035183598478831'\n },\n TR: {\n length: 26,\n structure: 'F05F01A16',\n example: 'TR330006100519786457841326'\n },\n VG: {\n length: 24,\n structure: 'U04F16',\n example: 'VG96VPVG0000012345678901'\n },\n XK: {\n length: 20,\n structure: 'F04F10F02',\n example: 'XK051212012345678906'\n },\n AO: {\n length: 25,\n structure: 'F21',\n example: 'AO69123456789012345678901'\n },\n BF: {\n length: 27,\n structure: 'F23',\n example: 'BF2312345678901234567890123'\n },\n BI: {\n length: 16,\n structure: 'F12',\n example: 'BI41123456789012'\n },\n BJ: {\n length: 28,\n structure: 'F24',\n example: 'BJ39123456789012345678901234'\n },\n CI: {\n length: 28,\n structure: 'U01F23',\n example: 'CI17A12345678901234567890123'\n },\n CM: {\n length: 27,\n structure: 'F23',\n example: 'CM9012345678901234567890123'\n },\n CV: {\n length: 25,\n structure: 'F21',\n example: 'CV30123456789012345678901'\n },\n DZ: {\n length: 24,\n structure: 'F20',\n example: 'DZ8612345678901234567890'\n },\n IR: {\n length: 26,\n structure: 'F22',\n example: 'IR861234568790123456789012'\n },\n JO: {\n length: 30,\n structure: 'A04F22',\n example: 'JO15AAAA1234567890123456789012'\n },\n MG: {\n length: 27,\n structure: 'F23',\n example: 'MG1812345678901234567890123'\n },\n ML: {\n length: 28,\n structure: 'U01F23',\n example: 'ML15A12345678901234567890123'\n },\n MZ: {\n length: 25,\n structure: 'F21',\n example: 'MZ25123456789012345678901'\n },\n QA: {\n length: 29,\n structure: 'U04A21',\n example: 'QA30AAAA123456789012345678901'\n },\n SN: {\n length: 28,\n structure: 'U01F23',\n example: 'SN52A12345678901234567890123'\n },\n UA: {\n length: 29,\n structure: 'F25',\n example: 'UA511234567890123456789012345'\n }\n};\n\nexport default countries;\n"],"names":["countries","AD","length","structure","example","AE","AL","AT","AZ","BA","BE","BG","BH","BR","CH","CR","CY","CZ","DE","DK","DO","EE","ES","FI","FO","FR","GB","GE","GI","GL","GR","GT","HR","HU","IE","IL","IS","IT","KW","KZ","LB","LC","LI","LT","LU","LV","MC","MD","ME","MK","MR","MT","MU","NL","NO","PK","PL","PS","PT","RO","RS","SA","SE","SI","SK","SM","ST","TL","TN","TR","VG","XK","AO","BF","BI","BJ","CI","CM","CV","DZ","IR","JO","MG","ML","MZ","QA","SN","UA"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"./specifications.js";const r=(r,t)=>{if(null===t||!e[t]||!e[t].structure)return!1;const s=e[t].structure.match(/(.{3})/g).map(e=>{const r=e.slice(0,1),t=parseInt(e.slice(1),10);let s;switch(r){case"A":s="0-9A-Za-z";break;case"B":s="0-9A-Z";break;case"C":s="A-Za-z";break;case"F":s="0-9";break;case"L":s="a-z";break;case"U":s="A-Z";break;case"W":s="0-9a-z"}return`([${s}]{${t}})`});return new RegExp(`^${s.join("")}$`)},t=e=>e.replace(/\W/gi,"").replace(/(.{4})(?!$)/g,"$1 ").trim(),s=e=>e.replace(/[^a-zA-Z0-9]/g,"").toUpperCase(),a=(e,t)=>r(0,t),c=e=>{let r=e;const t="A".charCodeAt(0),s="Z".charCodeAt(0);return r=r.toUpperCase(),r=r.substr(4)+r.substr(0,4),r.split("").map(e=>{const r=e.charCodeAt(0);if(r>=t&&r<=s){return r-t+10}return e}).join("")},n=e=>{let r,t=e;for(;t.length>2;)r=t.slice(0,9),t=parseInt(r,10)%97+t.slice(r.length);return parseInt(t,10)%97},l=r=>!(!r||!e[r])&&e[r],i=(e,r,t)=>{if(0===e||!r.length)return 0;const s=r.length-t.length,a=s>0,c=(e,r)=>/\s/.test(e.charAt(r)),n=e-s;return a&&(c(r,n+1)||c(r,n))?e+1:!a&&c(r,e-1)?e-1:e},o=e=>e.slice(0,2);export{s as electronicFormat,t as formatIban,o as getCountryCode,l as getIbanCountrySpecification,i as getNextCursorPosition,c as iso13616Prepare,n as iso7064Mod97_10,r as parseStructure,a as regex};
|
|
1
|
+
import e from"./specifications.js";const r=(r,t)=>{if(null===t||!e[t]||!e[t].structure)return!1;const s=(e[t].structure.match(/(.{3})/g)??[]).map(e=>{const r=e.slice(0,1),t=parseInt(e.slice(1),10);let s;switch(r){case"A":s="0-9A-Za-z";break;case"B":s="0-9A-Z";break;case"C":s="A-Za-z";break;case"F":s="0-9";break;case"L":s="a-z";break;case"U":s="A-Z";break;case"W":s="0-9a-z"}return`([${s}]{${t}})`});return new RegExp(`^${s.join("")}$`)},t=e=>e.replace(/\W/gi,"").replace(/(.{4})(?!$)/g,"$1 ").trim(),s=e=>e.replace(/[^a-zA-Z0-9]/g,"").toUpperCase(),a=(e,t)=>r(0,t),c=e=>{let r=e;const t="A".charCodeAt(0),s="Z".charCodeAt(0);return r=r.toUpperCase(),r=r.substr(4)+r.substr(0,4),r.split("").map(e=>{const r=e.charCodeAt(0);if(r>=t&&r<=s){return r-t+10}return e}).join("")},n=e=>{let r,t=e;for(;t.length>2;)r=t.slice(0,9),t=parseInt(r,10)%97+t.slice(r.length);return parseInt(t,10)%97},l=r=>!(!r||!e[r])&&e[r],i=(e,r,t)=>{if(0===e||!r.length)return 0;const s=r.length-t.length,a=s>0,c=(e,r)=>/\s/.test(e.charAt(r)),n=e-s;return a&&(c(r,n+1)||c(r,n))?e+1:!a&&c(r,e-1)?e-1:e},o=e=>e.slice(0,2);export{s as electronicFormat,t as formatIban,o as getCountryCode,l as getIbanCountrySpecification,i as getNextCursorPosition,c as iso13616Prepare,n as iso7064Mod97_10,r as parseStructure,a as regex};
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../../src/components/internal/IbanInput/utils.ts"],"sourcesContent":["import countries from './specifications';\n\n/**\n * Parse the BBAN structure used to configure each IBAN __specification and returns a matching regular expression.\n * A structure is composed of blocks of 3 characters (one letter and 2 digits). Each block represents\n * a logical group in the typical representation of the BBAN. For each group, the letter indicates which characters\n * are allowed in this group and the following 2-digits number tells the length of the group.\n *\n * @param structure - the structure to parse\n * @param countryCode - the countryCode to check format against\n *\n * @internal\n */\nexport const parseStructure = (structure, countryCode) => {\n if (countryCode === null || !countries[countryCode] || !countries[countryCode].structure) {\n return false;\n }\n\n const passedStructure = countries[countryCode].structure;\n\n // split in blocks of 3 chars\n const regex = passedStructure.match(/(.{3})/g).map(block => {\n // parse each structure block (1-char + 2-digits)\n const pattern = block.slice(0, 1);\n const repeats = parseInt(block.slice(1), 10);\n let format;\n\n switch (pattern) {\n case 'A':\n format = '0-9A-Za-z';\n break;\n case 'B':\n format = '0-9A-Z';\n break;\n case 'C':\n format = 'A-Za-z';\n break;\n case 'F':\n format = '0-9';\n break;\n case 'L':\n format = 'a-z';\n break;\n case 'U':\n format = 'A-Z';\n break;\n case 'W':\n format = '0-9a-z';\n break;\n default:\n break;\n }\n\n return `([${format}]{${repeats}})`;\n });\n\n return new RegExp(`^${regex.join('')}$`);\n};\n\n/**\n * @internal\n */\nexport const formatIban = iban =>\n iban\n .replace(/\\W/gi, '')\n .replace(/(.{4})(?!$)/g, '$1 ')\n .trim();\n\nexport type ElectronicFormat = string;\n/**\n * Returns any non alphanumeric characters and uppercases them\n *\n * @internal\n */\nexport const electronicFormat = (iban: string): ElectronicFormat => {\n const NON_ALPHANUM = /[^a-zA-Z0-9]/g;\n return iban.replace(NON_ALPHANUM, '').toUpperCase();\n};\n\n/**\n * Lazy-loaded regex (parse the structure and construct the regular expression the first time we need it for validation)\n *\n * @internal\n */\nexport const regex = (iban, countryCode) => parseStructure(iban, countryCode);\n\n/**\n * Prepare an IBAN for mod 97 computation by moving the first 4 chars to the end and transforming the letters to\n * numbers (A = 10, B = 11, ..., Z = 35), as specified in ISO13616.\n * @param ibanInput - The IBAN value\n * @returns The prepared IBAN\n *\n * @internal\n */\nexport const iso13616Prepare = ibanInput => {\n let iban = ibanInput;\n const A = 'A'.charCodeAt(0);\n const Z = 'Z'.charCodeAt(0);\n iban = iban.toUpperCase();\n iban = iban.substr(4) + iban.substr(0, 4);\n\n return iban\n .split('')\n .map(n => {\n const code = n.charCodeAt(0);\n\n if (code >= A && code <= Z) {\n // A = 10, B = 11, ... Z = 35\n const codeA = code - A;\n return codeA + 10;\n }\n\n return n;\n })\n .join('');\n};\n\n/**\n * Calculates the MOD 97 10 of the passed IBAN as specified in ISO7064.\n *\n * @param iban -\n *\n * @internal\n */\nexport const iso7064Mod97_10 = iban => {\n let remainder = iban;\n let block;\n\n while (remainder.length > 2) {\n block = remainder.slice(0, 9);\n remainder = (parseInt(block, 10) % 97) + remainder.slice(block.length);\n }\n\n return parseInt(remainder, 10) % 97;\n};\n\n/**\n * @param countryCode -\n * @returns Example of IBAN Number\n */\nexport const getIbanPlaceHolder = (countryCode = null) => {\n if (countryCode && countries[countryCode] && countries[countryCode].example) {\n return formatIban(countries[countryCode].example);\n }\n\n return 'AB00 1234 5678 9012 3456 7890';\n};\n\nexport const getIbanCountrySpecification = countryCode => {\n if (countryCode && countries[countryCode]) {\n return countries[countryCode];\n }\n\n return false;\n};\n\n/**\n * @param cursor -\n * @param iban -\n * @param previousIban -\n * @returns new cursor position\n */\nexport const getNextCursorPosition = (cursor, iban, previousIban) => {\n if (cursor === 0 || !iban.length) return 0;\n\n // This tells us how long the edit is. If user modified input from `(2__)` to `(243__)`,\n // we know the user in this instance pasted two characters\n const editLength = iban.length - previousIban.length;\n const isAddition = editLength > 0;\n const isMaskChar = (ibanValue, position) => /\\s/.test(ibanValue.charAt(position));\n const initialCursor = cursor - editLength;\n\n // is adding text, check calculate if there was a mask element after the initial cursor, then move cursor forward\n // example: NL13 ABNA| 1234 5678 9 => NL13 ABNA 0|123 4567 89\n if (isAddition && (isMaskChar(iban, initialCursor + 1) || isMaskChar(iban, initialCursor))) {\n return cursor + 1;\n }\n\n // is removing text, check if the previous is a mask character, then move cursor back\n // example: NL13 ABNA 0|123 4567 89 => NL13 ABNA| 1234 5678 9\n if (!isAddition && isMaskChar(iban, cursor - 1)) {\n return cursor - 1;\n }\n\n return cursor;\n};\n\n/**\n * @param electronicFormatIban -\n * @returns countryCode string\n */\nexport const getCountryCode = (electronicFormatIban: ElectronicFormat) => electronicFormatIban.slice(0, 2);\n"],"names":["parseStructure","structure","countryCode","countries","regex","match","map","block","pattern","slice","repeats","parseInt","format","RegExp","join","formatIban","iban","replace","trim","electronicFormat","toUpperCase","iso13616Prepare","ibanInput","A","charCodeAt","Z","substr","split","n","code","iso7064Mod97_10","remainder","length","getIbanCountrySpecification","getNextCursorPosition","cursor","previousIban","editLength","isAddition","isMaskChar","ibanValue","position","test","charAt","initialCursor","getCountryCode","electronicFormatIban"],"mappings":"mCAaO,MAAMA,EAAiB,CAACC,EAAWC,KACtC,GAAoB,OAAhBA,IAAyBC,EAAUD,KAAiBC,EAAUD,GAAaD,UAC3E,OAAO,EAGX,MAGMG,
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../src/components/internal/IbanInput/utils.ts"],"sourcesContent":["import countries from './specifications';\n\n/**\n * Parse the BBAN structure used to configure each IBAN __specification and returns a matching regular expression.\n * A structure is composed of blocks of 3 characters (one letter and 2 digits). Each block represents\n * a logical group in the typical representation of the BBAN. For each group, the letter indicates which characters\n * are allowed in this group and the following 2-digits number tells the length of the group.\n *\n * @param structure - the structure to parse\n * @param countryCode - the countryCode to check format against\n *\n * @internal\n */\nexport const parseStructure = (structure, countryCode) => {\n if (countryCode === null || !countries[countryCode] || !countries[countryCode].structure) {\n return false;\n }\n\n const passedStructure = countries[countryCode].structure;\n\n // split in blocks of 3 chars\n const regex = (passedStructure.match(/(.{3})/g) ?? []).map(block => {\n // parse each structure block (1-char + 2-digits)\n const pattern = block.slice(0, 1);\n const repeats = parseInt(block.slice(1), 10);\n let format;\n\n switch (pattern) {\n case 'A':\n format = '0-9A-Za-z';\n break;\n case 'B':\n format = '0-9A-Z';\n break;\n case 'C':\n format = 'A-Za-z';\n break;\n case 'F':\n format = '0-9';\n break;\n case 'L':\n format = 'a-z';\n break;\n case 'U':\n format = 'A-Z';\n break;\n case 'W':\n format = '0-9a-z';\n break;\n default:\n break;\n }\n\n return `([${format}]{${repeats}})`;\n });\n\n return new RegExp(`^${regex.join('')}$`);\n};\n\n/**\n * @internal\n */\nexport const formatIban = iban =>\n iban\n .replace(/\\W/gi, '')\n .replace(/(.{4})(?!$)/g, '$1 ')\n .trim();\n\nexport type ElectronicFormat = string;\n/**\n * Returns any non alphanumeric characters and uppercases them\n *\n * @internal\n */\nexport const electronicFormat = (iban: string): ElectronicFormat => {\n const NON_ALPHANUM = /[^a-zA-Z0-9]/g;\n return iban.replace(NON_ALPHANUM, '').toUpperCase();\n};\n\n/**\n * Lazy-loaded regex (parse the structure and construct the regular expression the first time we need it for validation)\n *\n * @internal\n */\nexport const regex = (iban, countryCode) => parseStructure(iban, countryCode);\n\n/**\n * Prepare an IBAN for mod 97 computation by moving the first 4 chars to the end and transforming the letters to\n * numbers (A = 10, B = 11, ..., Z = 35), as specified in ISO13616.\n * @param ibanInput - The IBAN value\n * @returns The prepared IBAN\n *\n * @internal\n */\nexport const iso13616Prepare = ibanInput => {\n let iban = ibanInput;\n const A = 'A'.charCodeAt(0);\n const Z = 'Z'.charCodeAt(0);\n iban = iban.toUpperCase();\n iban = iban.substr(4) + iban.substr(0, 4);\n\n return iban\n .split('')\n .map(n => {\n const code = n.charCodeAt(0);\n\n if (code >= A && code <= Z) {\n // A = 10, B = 11, ... Z = 35\n const codeA = code - A;\n return codeA + 10;\n }\n\n return n;\n })\n .join('');\n};\n\n/**\n * Calculates the MOD 97 10 of the passed IBAN as specified in ISO7064.\n *\n * @param iban -\n *\n * @internal\n */\nexport const iso7064Mod97_10 = iban => {\n let remainder = iban;\n let block;\n\n while (remainder.length > 2) {\n block = remainder.slice(0, 9);\n remainder = (parseInt(block, 10) % 97) + remainder.slice(block.length);\n }\n\n return parseInt(remainder, 10) % 97;\n};\n\n/**\n * @param countryCode -\n * @returns Example of IBAN Number\n */\nexport const getIbanPlaceHolder = (countryCode: string | null = null) => {\n if (countryCode && countries[countryCode] && countries[countryCode].example) {\n return formatIban(countries[countryCode].example);\n }\n\n return 'AB00 1234 5678 9012 3456 7890';\n};\n\nexport const getIbanCountrySpecification = countryCode => {\n if (countryCode && countries[countryCode]) {\n return countries[countryCode];\n }\n\n return false;\n};\n\n/**\n * @param cursor -\n * @param iban -\n * @param previousIban -\n * @returns new cursor position\n */\nexport const getNextCursorPosition = (cursor, iban, previousIban) => {\n if (cursor === 0 || !iban.length) return 0;\n\n // This tells us how long the edit is. If user modified input from `(2__)` to `(243__)`,\n // we know the user in this instance pasted two characters\n const editLength = iban.length - previousIban.length;\n const isAddition = editLength > 0;\n const isMaskChar = (ibanValue, position) => /\\s/.test(ibanValue.charAt(position));\n const initialCursor = cursor - editLength;\n\n // is adding text, check calculate if there was a mask element after the initial cursor, then move cursor forward\n // example: NL13 ABNA| 1234 5678 9 => NL13 ABNA 0|123 4567 89\n if (isAddition && (isMaskChar(iban, initialCursor + 1) || isMaskChar(iban, initialCursor))) {\n return cursor + 1;\n }\n\n // is removing text, check if the previous is a mask character, then move cursor back\n // example: NL13 ABNA 0|123 4567 89 => NL13 ABNA| 1234 5678 9\n if (!isAddition && isMaskChar(iban, cursor - 1)) {\n return cursor - 1;\n }\n\n return cursor;\n};\n\n/**\n * @param electronicFormatIban -\n * @returns countryCode string\n */\nexport const getCountryCode = (electronicFormatIban: ElectronicFormat) => electronicFormatIban.slice(0, 2);\n"],"names":["parseStructure","structure","countryCode","countries","regex","match","map","block","pattern","slice","repeats","parseInt","format","RegExp","join","formatIban","iban","replace","trim","electronicFormat","toUpperCase","iso13616Prepare","ibanInput","A","charCodeAt","Z","substr","split","n","code","iso7064Mod97_10","remainder","length","getIbanCountrySpecification","getNextCursorPosition","cursor","previousIban","editLength","isAddition","isMaskChar","ibanValue","position","test","charAt","initialCursor","getCountryCode","electronicFormatIban"],"mappings":"mCAaO,MAAMA,EAAiB,CAACC,EAAWC,KACtC,GAAoB,OAAhBA,IAAyBC,EAAUD,KAAiBC,EAAUD,GAAaD,UAC3E,OAAO,EAGX,MAGMG,GAHkBD,EAAUD,GAAaD,UAGhBI,MAAM,YAAc,IAAIC,IAAIC,IAEvD,MAAMC,EAAUD,EAAME,MAAM,EAAG,GACzBC,EAAUC,SAASJ,EAAME,MAAM,GAAI,IACzC,IAAIG,EAEJ,OAAQJ,GACJ,IAAK,IACDI,EAAS,YACT,MACJ,IAAK,IACDA,EAAS,SACT,MACJ,IAAK,IACDA,EAAS,SACT,MACJ,IAAK,IACDA,EAAS,MACT,MACJ,IAAK,IACDA,EAAS,MACT,MACJ,IAAK,IACDA,EAAS,MACT,MACJ,IAAK,IACDA,EAAS,SAMjB,MAAO,KAAKA,MAAWF,QAG3B,OAAO,IAAIG,OAAO,IAAIT,EAAMU,KAAK,SAMxBC,EAAaC,GACtBA,EACKC,QAAQ,OAAQ,IAChBA,QAAQ,eAAgB,OACxBC,OAQIC,EAAoBH,GAEtBA,EAAKC,QADS,gBACa,IAAIG,cAQ7BhB,EAAQ,CAACY,EAAMd,IAAgBF,EAAegB,EAAMd,GAUpDmB,EAAkBC,IAC3B,IAAIN,EAAOM,EACX,MAAMC,EAAI,IAAIC,WAAW,GACnBC,EAAI,IAAID,WAAW,GAIzB,OAHAR,EAAOA,EAAKI,cACZJ,EAAOA,EAAKU,OAAO,GAAKV,EAAKU,OAAO,EAAG,GAEhCV,EACFW,MAAM,IACNrB,IAAIsB,IACD,MAAMC,EAAOD,EAAEJ,WAAW,GAE1B,GAAIK,GAAQN,GAAKM,GAAQJ,EAAG,CAGxB,OADcI,EAAON,EACN,EACnB,CAEA,OAAOK,IAEVd,KAAK,KAUDgB,EAAkBd,IAC3B,IACIT,EADAwB,EAAYf,EAGhB,KAAOe,EAAUC,OAAS,GACtBzB,EAAQwB,EAAUtB,MAAM,EAAG,GAC3BsB,EAAapB,SAASJ,EAAO,IAAM,GAAMwB,EAAUtB,MAAMF,EAAMyB,QAGnE,OAAOrB,SAASoB,EAAW,IAAM,IAexBE,EAA8B/B,MACnCA,IAAeC,EAAUD,KAClBC,EAAUD,GAYZgC,EAAwB,CAACC,EAAQnB,EAAMoB,KAChD,GAAe,IAAXD,IAAiBnB,EAAKgB,OAAQ,OAAO,EAIzC,MAAMK,EAAarB,EAAKgB,OAASI,EAAaJ,OACxCM,EAAaD,EAAa,EAC1BE,EAAa,CAACC,EAAWC,IAAa,KAAKC,KAAKF,EAAUG,OAAOF,IACjEG,EAAgBT,EAASE,EAI/B,OAAIC,IAAeC,EAAWvB,EAAM4B,EAAgB,IAAML,EAAWvB,EAAM4B,IAChET,EAAS,GAKfG,GAAcC,EAAWvB,EAAMmB,EAAS,GAClCA,EAAS,EAGbA,GAOEU,EAAkBC,GAA2CA,EAAqBrC,MAAM,EAAG"}
|
|
@@ -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,IACrBA,GAAQC,OAAWD,GAAQE,SAAWH,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,GAAqBA,GAAiBZ,OAAWY,GAAiBX,SAC5DH,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 a,useEffect as t}from"../../../external/preact/hooks/dist/hooks.js";import l from"../FormFields/Fieldset/Fieldset.js";import s from"../FormFields/Field/Field.js";import i from"./ReadOnlyPersonalDetails.js";import{personalDetailsValidationRules as o}from"./validate.js";import{useCoreContext as m}from"../../../core/Context/CoreProvider.js";import{checkDateInputSupport as n}from"../FormFields/InputDate/utils.js";import{getFormattedData as p}from"./utils.js";import d from"../../../utils/useForm/useForm.js";import"../SecuredFields/lib/CSF/utils/userAgent.js";import u from"../FormFields/InputText.js";import f from"../FormFields/InputDate/InputDate.js";import h from"../FormFields/InputEmail.js";import c from"../FormFields/InputTelephone.js";import{getErrorMessage as N}from"../../../utils/getErrorMessage.js";const b=["firstName","lastName","dateOfBirth","shopperEmail","telephoneNumber"];function g(
|
|
1
|
+
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useMemo as r,useRef as a,useEffect as t}from"../../../external/preact/hooks/dist/hooks.js";import l from"../FormFields/Fieldset/Fieldset.js";import s from"../FormFields/Field/Field.js";import i from"./ReadOnlyPersonalDetails.js";import{personalDetailsValidationRules as o}from"./validate.js";import{useCoreContext as m}from"../../../core/Context/CoreProvider.js";import{checkDateInputSupport as n}from"../FormFields/InputDate/utils.js";import{getFormattedData as p}from"./utils.js";import d from"../../../utils/useForm/useForm.js";import"../SecuredFields/lib/CSF/utils/userAgent.js";import u from"../FormFields/InputText.js";import f from"../FormFields/InputDate/InputDate.js";import h from"../FormFields/InputEmail.js";import c from"../FormFields/InputTelephone.js";import{getErrorMessage as N}from"../../../utils/getErrorMessage.js";const b=["firstName","lastName","dateOfBirth","shopperEmail","telephoneNumber"];function g(g){const{label:F="",namePrefix:M,placeholders:B={},requiredFields:j=b,visibility:E="editable",data:O={},onChange:v=()=>{},validationRules:I=o}=g,{i18n:C}=m(),q=r(n,[]),{handleChangeFor:x,triggerValidation:D,data:y,valid:R,errors:k,isValid:V}=d({schema:j,rules:{...o,...I},defaultData:O}),$=a({showValidation:()=>{D()}});t(()=>{g.setComponentRef?.($.current)},[g.setComponentRef]);const P=e=>r=>{const{name:a}=r.target,t=M?a.split(`${M}.`).pop():a;t&&x(t,e)(r)},A=e=>`${M?`${M}.`:""}${e}`;return t(()=>{const e=p(y);v({data:e,valid:R,errors:k,isValid:V})},[y,R,k,V]),"hidden"===E?null:"readOnly"===E?e(i,{...g,data:y}):e(l,{classNameModifiers:["personalDetails"],label:F},j.includes("firstName")&&e(s,{label:C.get("firstName"),classNameModifiers:["col-50","firstName"],errorMessage:N(C,k.firstName,C.get("firstName")),name:"firstName",i18n:C},e(u,{name:A("firstName"),value:y.firstName,classNameModifiers:["firstName"],onInput:P("input"),onBlur:P("blur"),placeholder:B.firstName,spellcheck:!1,required:!0,autocomplete:"given-name"})),j.includes("lastName")&&e(s,{label:C.get("lastName"),classNameModifiers:["col-50","lastName"],errorMessage:N(C,k.lastName,C.get("lastName")),name:"lastName",i18n:C},e(u,{name:A("lastName"),value:y.lastName,classNameModifiers:["lastName"],onInput:P("input"),onBlur:P("blur"),placeholder:B.lastName,spellcheck:!1,required:!0,autocomplete:"family-name"})),j.includes("dateOfBirth")&&e(s,{label:C.get("dateOfBirth"),classNameModifiers:["col-50","dateOfBirth"],errorMessage:N(C,k.dateOfBirth,C.get("dateOfBirth")),helper:q?void 0:C.get("dateOfBirth.format"),name:"dateOfBirth",i18n:C},e(f,{name:A("dateOfBirth"),value:y.dateOfBirth,classNameModifiers:["dateOfBirth"],onInput:P("input"),onBlur:P("blur"),placeholder:B.dateOfBirth,required:!0,autocomplete:"bday"})),j.includes("shopperEmail")&&e(s,{label:C.get("shopperEmail"),classNameModifiers:["shopperEmail"],errorMessage:N(C,k.shopperEmail,C.get("shopperEmail")),dir:"ltr",name:"emailAddress",i18n:C},e(h,{name:A("shopperEmail"),value:y.shopperEmail,classNameModifiers:["shopperEmail"],onInput:P("input"),onBlur:P("blur"),placeholder:B.shopperEmail,required:!0,autocomplete:"email"})),j.includes("telephoneNumber")&&e(s,{label:C.get("telephoneNumber"),classNameModifiers:["telephoneNumber"],errorMessage:N(C,k.telephoneNumber,C.get("telephoneNumber")),dir:"ltr",name:"telephoneNumber",i18n:C},e(c,{name:A("telephoneNumber"),value:y.telephoneNumber,classNameModifiers:["telephoneNumber"],onInput:P("input"),onBlur:P("blur"),placeholder:B.telephoneNumber,required:!0,autocomplete:"tel"})))}export{b as PERSONAL_DETAILS_SCHEMA,g 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","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":"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"}
|
|
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","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":"w5BAqBaA,EAA0B,CAAC,YAAa,WAAY,cAAe,eAAgB,mBAEjF,SAASC,EAAgBC,GACpC,MAAMC,MACFA,EAAQ,GAAEC,WACVA,EAAUC,aACVA,EAAe,GAAEC,eACjBA,EAAiBN,EAAuBO,WACxCA,EAAa,WACbC,KAAMC,EAAc,CAAA,EAAEC,SACtBA,EAAW,OAAQC,gBACnBA,EAAkBC,GAClBV,GAEEW,KAAEA,GAASC,IAEXC,EAAuBC,EAAQC,EAAuB,KACtDC,gBAAEA,EAAeC,kBAAEA,EAAiBX,KAAEA,EAAIY,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GAAYC,EAA+B,CACxGC,OAAQlB,EAERmB,MAAO,IAAKb,KAAmCD,GAC/Ce,YAAajB,IAGXkB,EAAqBC,EAA4B,CACnDC,eAAgB,KACZV,OAIRW,EAAU,KACN5B,EAAM6B,kBAAkBJ,EAAmBK,UAC5C,CAAC9B,EAAM6B,kBAEV,MAAME,EACDC,GACAC,IACG,MAAMC,KAAEA,GAASD,EAAEE,OACbC,EAAMlC,EAAagC,EAAKG,MAAM,GAAGnC,MAAeoC,MAAQJ,EAEzDE,GACLpB,EAAgBoB,EAAKJ,EAArBhB,CAA2BiB,IAG7BM,EAAqBL,GAAyB,GAAGhC,EAAa,GAAGA,KAAgB,KAAKgC,IAO5F,OALAN,EAAU,KACN,MAAMY,EAAgBC,EAAiBnC,GACvCE,EAAS,CAAEF,KAAMkC,EAAetB,QAAOC,SAAQC,aAChD,CAACd,EAAMY,EAAOC,EAAQC,IAEN,WAAff,EAAgC,KACjB,aAAfA,EAAkCqC,EAACC,EAAAA,IAA4B3C,EAAOM,KAAMA,IAG5EoC,EAACE,EAAAA,CAASC,mBAAoB,CAAC,mBAAoB5C,MAAOA,GACrDG,EAAe0C,SAAS,cACrBJ,EAACK,EAAAA,CACG9C,MAAOU,EAAKqC,IAAI,aAChBH,mBAAoB,CAAC,SAAU,aAC/BI,aAAcC,EAAgBvC,EAAMQ,EAAOgC,UAAWxC,EAAKqC,IAAI,cAC/Dd,KAAM,YACNvB,KAAMA,GAEN+B,EAACU,EAAAA,CACGlB,KAAMK,EAAkB,aACxBc,MAAO/C,EAAK6C,UACZN,mBAAoB,CAAC,aACrBS,QAASvB,EAAa,SACtBwB,OAAQxB,EAAa,QACrByB,YAAarD,EAAagD,UAC1BM,YAAY,EACZC,UAAU,EACVC,aAAc,gBAKzBvD,EAAe0C,SAAS,aACrBJ,EAACK,EAAAA,CACG9C,MAAOU,EAAKqC,IAAI,YAChBH,mBAAoB,CAAC,SAAU,YAC/BI,aAAcC,EAAgBvC,EAAMQ,EAAOyC,SAAUjD,EAAKqC,IAAI,aAC9Dd,KAAM,WACNvB,KAAMA,GAEN+B,EAACU,EAAAA,CACGlB,KAAMK,EAAkB,YACxBc,MAAO/C,EAAKsD,SACZf,mBAAoB,CAAC,YACrBS,QAASvB,EAAa,SACtBwB,OAAQxB,EAAa,QACrByB,YAAarD,EAAayD,SAC1BH,YAAY,EACZC,UAAU,EACVC,aAAc,iBAKzBvD,EAAe0C,SAAS,gBACrBJ,EAACK,EAAAA,CACG9C,MAAOU,EAAKqC,IAAI,eAChBH,mBAAoB,CAAC,SAAU,eAC/BI,aAAcC,EAAgBvC,EAAMQ,EAAO0C,YAAalD,EAAKqC,IAAI,gBACjEc,OAAQjD,OAAuBkD,EAAYpD,EAAKqC,IAAI,sBACpDd,KAAM,cACNvB,KAAMA,GAEN+B,EAACsB,EAAAA,CACG9B,KAAMK,EAAkB,eACxBc,MAAO/C,EAAKuD,YACZhB,mBAAoB,CAAC,eACrBS,QAASvB,EAAa,SACtBwB,OAAQxB,EAAa,QACrByB,YAAarD,EAAa0D,YAC1BH,UAAU,EACVC,aAAc,UAKzBvD,EAAe0C,SAAS,iBACrBJ,EAACK,EAAAA,CACG9C,MAAOU,EAAKqC,IAAI,gBAChBH,mBAAoB,CAAC,gBACrBI,aAAcC,EAAgBvC,EAAMQ,EAAO8C,aAActD,EAAKqC,IAAI,iBAClEkB,IAAK,MACLhC,KAAM,eACNvB,KAAMA,GAEN+B,EAACyB,EAAAA,CACGjC,KAAMK,EAAkB,gBACxBc,MAAO/C,EAAK2D,aACZpB,mBAAoB,CAAC,gBACrBS,QAASvB,EAAa,SACtBwB,OAAQxB,EAAa,QACrByB,YAAarD,EAAa8D,aAC1BP,UAAU,EACVC,aAAc,WAKzBvD,EAAe0C,SAAS,oBACrBJ,EAACK,EAAAA,CACG9C,MAAOU,EAAKqC,IAAI,mBAChBH,mBAAoB,CAAC,mBACrBI,aAAcC,EAAgBvC,EAAMQ,EAAOiD,gBAAiBzD,EAAKqC,IAAI,oBACrEkB,IAAK,MACLhC,KAAM,kBACNvB,KAAMA,GAEN+B,EAAC2B,EAAAA,CACGnC,KAAMK,EAAkB,mBACxBc,MAAO/C,EAAK8D,gBACZvB,mBAAoB,CAAC,mBACrBS,QAASvB,EAAa,SACtBwB,OAAQxB,EAAa,QACrByB,YAAarD,EAAaiE,gBAC1BV,UAAU,EACVC,aAAc,SAMtC"}
|
|
@@ -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 a from"../FormFields/InputText.js";function p({getError:p,showNumber:i,showPrefix:h,form:m,canSelectPrefix:u=!0,errorLive:s,...c}){const{i18n:d}=t(),{handleChangeFor:f,data:b,valid:N}=m;return o(()=>{b.phoneNumber&&f("phoneNumber","blur")(b.phoneNumber)},[b.phonePrefix]),e(r,null,h&&e(n,{className:"adyen-checkout-field--phone-prefix",label:d.get("telephonePrefix"),errorMessage:p("phonePrefix"),showValidIcon:!1,isValid:N.phonePrefix,dir:"ltr",i18n:d,name:"phonePrefix",errorLive:s},e(l,{readonly:!u,className:"adyen-checkout-dropdown adyen-checkout-dropdown--countrycode-selector",name:"phonePrefix",items:c.items,onChange:f("phonePrefix"),placeholder:c?.placeholders?.phonePrefix,selectedValue:b.phonePrefix})),i&&e(n,{className:"adyen-checkout-field--phone-number",label:c.phoneNumberKey?d.get(c.phoneNumberKey):d.get("telephoneNumber"),errorMessage:p("phoneNumber"),isValid:N.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 a from"../FormFields/InputText.js";function p({getError:p,showNumber:i,showPrefix:h,form:m,canSelectPrefix:u=!0,errorLive:s,...c}){const{i18n:d}=t(),{handleChangeFor:f,data:b,valid:N}=m;return o(()=>{b.phoneNumber&&f("phoneNumber","blur")(b.phoneNumber)},[b.phonePrefix]),e(r,null,h&&e(n,{className:"adyen-checkout-field--phone-prefix",label:d.get("telephonePrefix"),errorMessage:p("phonePrefix"),showValidIcon:!1,isValid:N.phonePrefix,dir:"ltr",i18n:d,name:"phonePrefix",errorLive:s},e(l,{readonly:!u,className:"adyen-checkout-dropdown adyen-checkout-dropdown--countrycode-selector",name:"phonePrefix",items:c.items,onChange:f("phonePrefix"),placeholder:c?.placeholders?.phonePrefix,selectedValue:b.phonePrefix})),i&&e(n,{className:"adyen-checkout-field--phone-number",label:c.phoneNumberKey?d.get(c.phoneNumberKey):d.get("telephoneNumber"),errorMessage:p("phoneNumber"),isValid:N.phoneNumber,filled:!!b.phoneNumber?.length,dir:"ltr",i18n:d,name:"phoneNumber",errorLive:s},e(a,{className:"adyen-checkout__input adyen-checkout-input adyen-checkout-input--phone-number",type:"tel",name:"phoneNumber",value:b.phoneNumber,onInput:f("phoneNumber","input"),onBlur:f("phoneNumber","blur"),placeholder:c?.placeholders?.phoneNumber,autoCorrect:"off",required:!0,autocomplete:"tel"})))}export{p 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","getError","showNumber","showPrefix","form","canSelectPrefix","errorLive","props","i18n","useCoreContext","handleChangeFor","data","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":"0WA8Be,SAASA,GAAiBC,SACrCA,EAAQC,WACRA,EAAUC,WACVA,EAAUC,KACVA,EAAIC,gBACJA,GAAkB,EAAIC,UACtBA,KACGC,IAEH,MAAMC,KAAEA,GAASC,KAEXC,gBAAEA,EAAeC,KAAEA,EAAIC,MAAEA,GAAUR,EASzC,OANAS,EAAU,KACFF,EAAKG,aACLJ,EAAgB,cAAe,OAA/BA,CAAuCC,EAAKG,cAEjD,CAACH,EAAKI,cAGLC,EAACC,EAAAA,KACId,GACGa,EAACE,EAAAA,CACGC,UAAW,qCACXC,MAAOZ,EAAKa,IAAI,mBAChBC,aAAcrB,EAAS,eACvBsB,eAAe,EACfC,QAASZ,EAAMG,YACfU,IAAK,MACLjB,KAAMA,EACNkB,KAAM,cACNpB,UAAWA,GAEXU,EAACW,EAAAA,CACGC,UAAWvB,EACXc,UAAW,wEACXO,KAAM,cACNG,MAAOtB,EAAMsB,MACbC,SAAUpB,EAAgB,eAC1BqB,YAAaxB,GAAOyB,cAAcjB,YAClCkB,cAAetB,EAAKI,eAK/Bb,GACGc,EAACE,EAAAA,CACGC,UAAW,qCACXC,MAAOb,EAAM2B,eAAiB1B,EAAKa,IAAId,EAAM2B,gBAAkB1B,EAAKa,IAAI,mBACxEC,aAAcrB,EAAS,eACvBuB,QAASZ,EAAME,YACfqB,SAAUxB,EAAKG,aAAasB,OAC5BX,IAAK,MACLjB,KAAMA,EACNkB,KAAM,cACNpB,UAAWA,GAEXU,EAACqB,EAAAA,CACGlB,UAAU,gFACVmB,KAAK,MACLZ,KAAK,cACLa,MAAO5B,EAAKG,YACZ0B,QAAS9B,EAAgB,cAAe,SACxC+B,OAAQ/B,EAAgB,cAAe,QACvCqB,YAAaxB,GAAOyB,cAAclB,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 s from"../../../utils/useForm/useForm.js";import"../SecuredFields/lib/CSF/utils/userAgent.js";import{useCoreContext as i}from"../../../core/Context/CoreProvider.js";import{phoneValidationRules as n,phoneFormatters as a}from"./validate.js";import
|
|
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 s from"../../../utils/useForm/useForm.js";import"../SecuredFields/lib/CSF/utils/userAgent.js";import{useCoreContext as i}from"../../../core/Context/CoreProvider.js";import{phoneValidationRules as n,phoneFormatters as a}from"./validate.js";import m from"../FormFields/Fieldset/Fieldset.js";import l from"./PhoneInputFields.js";function u(u){const{i18n:p}=i(),d=u.requiredFields||[...u?.items?.length?["phonePrefix"]:[],"phoneNumber"],f=d.includes("phonePrefix")&&!!u?.items?.length,h=d.includes("phoneNumber"),c=s({...u,schema:d,defaultData:u.data,rules:n,formatters:a});r(()=>{c.setSchema(d)},[d.toString()]);const{data:g,valid:F,errors:b,isValid:j,triggerValidation:x}=c;r(()=>{u.onChange({data:g,valid:F,errors:b,isValid:j})},[g,F,b,j]);const C=t({showValidation:x});r(()=>{u.setComponentRef(C.current)},[u.setComponentRef]);const N=o(e=>{if(b[e]){const r="phoneNumber"===e?"phoneNumberErrorKey":"phonePrefixErrorKey",t=u[r]?u[r]:b[e].errorMessage;return"string"==typeof t&&p.get(t)}return!1},[b]);return e(m,{classNameModifiers:["phone-input"]},e(l,{getError:N,showNumber:h,showPrefix:f,form:c,...u}))}u.defaultProps={phoneLabel:"telephoneNumber"};export{u 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","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":"2fAgBA,SAASA,EAAeC,GACpB,MAAMC,KAAEA,GAASC,IAEXC,EAASH,EAAMI,gBAAkB,IAAKJ,GAAOK,OAAOC,OAAS,CAAC,eAAiB,GAAK,eACpFC,EAAaJ,EAAOK,SAAS,kBAAoBR,GAAOK,OAAOC,OAC/DG,EAAaN,EAAOK,SAAS,eAE7BE,EAAOC,EAA0B,IAEhCX,EACHG,SACAS,YAAaZ,EAAMa,KACnBC,MAAOC,EACPC,WAAYC,IAGhBC,EAAU,KACNR,EAAKS,UAAUhB,IAChB,CAACA,EAAOiB,aAEX,MAAMP,KAAEA,EAAIQ,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,EAAOC,kBAAEA,GAAsBd,EAE5DQ,EAAU,KACNlB,EAAMyB,SAAS,CAAEZ,OAAMQ,QAAOC,SAAQC,aACvC,CAACV,EAAMQ,EAAOC,EAAQC,IAEzB,MAAMG,EAAeC,EAA4B,CAC7CC,eAAgBJ,IAGpBN,EAAU,KACNlB,EAAM6B,gBAAgBH,EAAaI,UACpC,CAAC9B,EAAM6B,kBAMV,MAAME,EAAqBC,EACtBC,IACG,GAAIX,EAAOW,GAAQ,CACf,MAAMC,EAAuB,gBAAVD,EAA0B,sBAAwB,sBAC/DE,EAAMnC,EAAMkC,GAAclC,EAAMkC,GAAcZ,EAAOW,GAAOG,aAClE,MAAsB,iBAARD,GAAmBlC,EAAKoC,IAAIF,EAC9C,CACA,OAAO,GAEX,CAACb,IAGL,OACIgB,EAACC,EAAAA,CAASC,mBAAoB,CAAC,gBAC3BF,EAACG,EAAAA,CAAiBC,SAAUX,EAAoBtB,WAAYA,EAAYF,WAAYA,EAAYG,KAAMA,KAAUV,IAG5H,CAEAD,EAAe4C,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/components/internal/SecuredFields/lib/securedField/utils/processAriaConfig.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{addErrorTranslationsToObject as t}from"../../../../../../core/Errors/utils.js";import r from"../../utilities/addContextTranslations.js";import{SF_FIELDS_MAP as e}from"../../constants.js";function i(i,o,
|
|
1
|
+
import{addErrorTranslationsToObject as t}from"../../../../../../core/Errors/utils.js";import r from"../../utilities/addContextTranslations.js";import{SF_FIELDS_MAP as e}from"../../constants.js";function i(i,o,a,n){const l=["giftcard"].includes(i)?i:"creditCard";let s=a.get(`${l}.${o}.aria.iframeTitle`);"none"===s&&(s="");const c=a.get(`${l}.${e[o]}.label`),m=a.translationsLocale;let f=t({iframeTitle:s,label:c},a,o);return n&&(f=r(f,a,i,o)),{...m&&{lang:m},[o]:f}}export{i as processAriaConfig};
|
|
2
2
|
//# sourceMappingURL=processAriaConfig.js.map
|
package/dist/es/components/internal/SecuredFields/lib/securedField/utils/processAriaConfig.js.map
CHANGED
|
@@ -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"],"mappings":"kMAWO,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,IAKtG,IACCS,GAAQ,CAAEA,QACdT,CAACA,GAAYW,EAErB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
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 h,getRegulatoryDefaults as d,sanitizeResponse as l,verifyPaymentDidNotFail as p,cleanupFinalResult as m}from"./utils.js";import{AnalyticsErrorEvent as c,ErrorEventType as u}from"../../../core/Analytics/events/AnalyticsErrorEvent.js";import{AnalyticsInfoEvent as y,InfoEventType as f}from"../../../core/Analytics/events/AnalyticsInfoEvent.js";import{AnalyticsLogEvent as R,LogEventType as A}from"../../../core/Analytics/events/AnalyticsLogEvent.js";import P from"../../../core/Errors/CancelError.js";import{CoreProvider as b}from"../../../core/Context/CoreProvider.js";import g from"../../../core/Errors/SRPanelProvider.js";import{AmountProvider as E}from"../../../core/Context/AmountProvider.js";import{TxVariants as v}from"../../tx-variants.js";function w(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class C extends r{createBeforeRenderHook(e){const t=this.render;this.render=(...s)=>(this.beforeRender(e),t.apply(this,s))}beforeRender(e){if(e?.originalAction)return;const t=new y({type:f.rendered,component:this.type,configData:{...e,showPayButton:this.props.showPayButton},...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 e?.storedPaymentMethodId?this.getStoredPaymentMethodDetails(e.storedPaymentMethodId):this.getPaymentMethodFromPaymentMethodsResponse(e?.type,e?.paymentMethodId)}buildElementProps(e){const t={showPayButton:!0,...this.core.getCorePropsForComponent(),...this.getPaymentMethodConfigFromResponse(e),...e},s=h(this);this.props=this.formatProps({...this.constructor.defaultProps,...d(this.core.options.countryCode,s),...t})}getStoredPaymentMethodDetails(e){return this.core.paymentMethodsResponse.findStoredPaymentMethod(e)}getPaymentMethodFromPaymentMethodsResponse(e,t){return t?this.core.paymentMethodsResponse.findById(t):this.core.paymentMethodsResponse?.find(e||this.constructor.type)}storeElementRefOnCore(e){e?.isDropin||this.core.storeElementReference(this)}isAvailable(){return Promise.resolve()}setState(e){this.state={...this.state,...e},this.onChange()}showValidation(){return this.componentRef?.showValidation?.(),this}updateAmount(e,t){this.props={...this.props,...e&&{amount:e},...t&&{secondaryAmount:t}},this.amountProviderRef.current?.update(e,t)}setElementStatus(e){return this.elementRef?.setStatus?.(e),this}setStatus(e){return this.componentRef?.setStatus?.(e),this}onChange(){this.props.onChange?.({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){const e=this.state.order??this.props.order,t=(e={})=>{this.submitAnalytics(new R({component:this.type,type:A.review,message:"Review flow triggered"})),this.props.onReview(this.data,this.elementRef,e)};return e?void o({clientKey:this.props.clientKey,loadingContext:this.props.loadingContext},e).then(e=>t({orderStatus:e})).catch(()=>t()):void t()}this.executePaymentsCall()}else this.showValidation()}executePaymentsCall(){this.makePaymentsCall().then(l).then(p).then(this.handleResponse).catch(e=>{e instanceof P?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 P("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 R({component:this.type,type:A.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 R({component:this.type,type:A.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(l).then(p).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,{...this.elementRef.props,...t});return s?(this.unmount(),s.mount(this._node)):null}onActionHandled(e){this.props?.onActionHandled?.({originalAction:this.props.originalAction,...e})}setupSessionsDonation(){const{amount:e,donation:t}=this.props;if(!1!==t?.autoMount){const t=h(this.elementRef)?this.elementRef._node:this._node;new(this.core.getComponent(v.donation))(this.core,{rootNode:t,commercialTxAmount:e.value})}}handleResponse(e){e.action?this.core.options?.onAction?this.core.options.onAction(this.core.createFromAction(e.action,{...this.elementRef.props})):this.elementRef.handleAction(e.action):e.order?.remainingAmount?.value>0?this.handleOrder(e):this.handleSuccessResult(e)}handleKeyDown(e){"Enter"!==e.key&&"Enter"!==e.code||(e.preventDefault(),this.onEnterKeyPressed(document?.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(){const e=this.props.paymentMethodType||this.type;return this.props.icon??this.resources.getImage()(e)}get displayName(){const e=this.core.paymentMethodsResponse?.paymentMethods?.find(e=>e.type===this.type);return this.props.name||e?.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({...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&&{paymentMethodsResponse:s},order:e,amount:e?e.remainingAmount:t}))}render(){return e(b,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources,analytics:this.analytics},e(g,{srPanel:this.srPanel},e(E,{amount:this.props.amount,secondaryAmount:this.props.secondaryAmount,providerRef:this.amountProviderRef},this.componentToRender())))}constructor(s,o){super(s,o),w(this,"componentRef",void 0),w(this,"resources",void 0),w(this,"elementRef",void 0),w(this,"amountProviderRef",t()),w(this,"handleError",e=>{if(this.setElementStatus("ready"),e.name===i&&e.options.code){const t=new c({component:this.type,errorType:u.apiError,code:e.options.code});this.submitAnalytics(t)}this.props.onError&&this.props.onError(e,this.elementRef)}),w(this,"handleOrder",e=>{const{order:t}=e;(this.core.session?this.core.update({order:t}):this.handleAdvanceFlowPaymentMethodsUpdate(t)).then(()=>{this.props.onOrderUpdated?.({order:t})})}),w(this,"handleFailedResult",e=>{h(this.elementRef)&&this.elementRef.displayFinalAnimation("error"),m(e),this.props.onPaymentFailed?.(e,this.elementRef)}),w(this,"handleSuccessResult",e=>{h(this.elementRef)&&this.elementRef.displayFinalAnimation("success"),m(e),this.core.session&&!0===e.askDonation&&this.setupSessionsDonation(),this.props.onPaymentCompleted?.(e,this.elementRef)}),w(this,"setComponentRef",e=>{this.componentRef=e}),w(this,"payButton",t=>e(a,{...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=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(o),this.reportIntegrationFlavor()}}w(C,"type",void 0),w(C,"txVariants",[]);export{C as UIElement,C 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 h,getRegulatoryDefaults as l,sanitizeResponse as d,verifyPaymentDidNotFail as p,cleanupFinalResult as c}from"./utils.js";import{AnalyticsErrorEvent as m,ErrorEventType as u}from"../../../core/Analytics/events/AnalyticsErrorEvent.js";import{AnalyticsInfoEvent as y,InfoEventType as f}from"../../../core/Analytics/events/AnalyticsInfoEvent.js";import{AnalyticsLogEvent as R,LogEventType as b}from"../../../core/Analytics/events/AnalyticsLogEvent.js";import A 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 E}from"../../tx-variants.js";function v(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class C extends r{createBeforeRenderHook(e){const t=this.render;this.render=(...s)=>(this.beforeRender(e),t.apply(this,s))}beforeRender(e){if(e?.originalAction)return;const t=new y({type:f.rendered,component:this.type,configData:{...e,showPayButton:this.props.showPayButton},...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 e?.storedPaymentMethodId?this.getStoredPaymentMethodDetails(e.storedPaymentMethodId):this.getPaymentMethodFromPaymentMethodsResponse(e?.type,e?.paymentMethodId)}buildElementProps(e){const t={showPayButton:!0,...this.core.getCorePropsForComponent(),...this.getPaymentMethodConfigFromResponse(e),...e},s=h(this);this.props=this.formatProps({...this.constructor.defaultProps,...l(this.core.options.countryCode,s),...t})}getStoredPaymentMethodDetails(e){return this.core.paymentMethodsResponse.findStoredPaymentMethod(e)}getPaymentMethodFromPaymentMethodsResponse(e,t){return t?this.core.paymentMethodsResponse.findById(t):this.core.paymentMethodsResponse?.find(e||this.constructor.type)}storeElementRefOnCore(e){e?.isDropin||this.core.storeElementReference(this)}isAvailable(){return Promise.resolve()}setState(e){this.state={...this.state,...e},this.onChange()}showValidation(){return this.componentRef?.showValidation?.(),this}updateAmount(e,t){this.props={...this.props,...e&&{amount:e},...t&&{secondaryAmount:t}},this.amountProviderRef.current?.update(e,t)}setElementStatus(e){return this.elementRef?.setStatus?.(e),this}setStatus(e){return this.componentRef?.setStatus?.(e),this}onChange(){this.props.onChange?.({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){const e=this.state.order??this.props.order,t=(e={})=>{this.submitAnalytics(new R({component:this.type,type:b.review,message:"Review flow triggered"})),this.props.onReview?.(this.data,this.elementRef,e)};return e?void o({clientKey:this.props.clientKey,loadingContext:this.props.loadingContext},e).then(e=>t({orderStatus:e})).catch(()=>t()):void t()}this.executePaymentsCall()}else this.showValidation()}executePaymentsCall(){this.makePaymentsCall()?.then(d).then(p).then(this.handleResponse).catch(e=>{e instanceof A?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 A("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 R({component:this.type,type:b.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 R({component:this.type,type:b.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){this.makeAdditionalDetailsCall(e)?.then(d).then(p).then(this.handleResponse).catch(this.handleFailedResult)}makeAdditionalDetailsCall(e){if(this.props.onAdditionalDetails)return new Promise((t,s)=>{this.props.onAdditionalDetails?.(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,{...this.elementRef.props,...t});return s?(this.unmount(),s.mount(this.mountedNode)):null}onActionHandled(e){this.props?.onActionHandled?.({originalAction:this.props.originalAction,...e})}setupSessionsDonation(){const{amount:e,donation:t}=this.props;if(!1!==t?.autoMount){const t=h(this.elementRef)?this.elementRef._node:this._node;if(!t)return;new(this.core.getComponent(E.donation))(this.core,{rootNode:t,commercialTxAmount:e?.value})}}handleResponse(e){if(e.action)return void(this.core.options?.onAction?this.core.options.onAction(this.core.createFromAction(e.action,{...this.elementRef.props})):this.elementRef.handleAction(e.action));const{order:t}=e;t&&(t.remainingAmount?.value??0)>0?this.handleOrder({...e,order:t}):this.handleSuccessResult(e)}handleKeyDown(e){if("Enter"===e.key||"Enter"===e.code){e.preventDefault();const t=document?.activeElement;t&&this.onEnterKeyPressed(t,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(){const e=this.props.paymentMethodType||this.type;return this.props.icon??this.resources.getImage()(e)}get displayName(){const e=this.core.paymentMethodsResponse?.paymentMethods?.find(e=>e.type===this.type);return this.props.name||e?.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({...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&&{paymentMethodsResponse:s},order:e??void 0,amount:e?e.remainingAmount:t}))}render(){return e(P,{i18n:this.i18n,loadingContext:this.props.loadingContext??"",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){super(s,o),v(this,"componentRef",void 0),v(this,"resources",void 0),v(this,"i18n",void 0),v(this,"elementRef",void 0),v(this,"amountProviderRef",t()),v(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)}),v(this,"handleOrder",e=>{const{order:t}=e;(this.core.session?this.core.update({order:t}):this.handleAdvanceFlowPaymentMethodsUpdate(t)).then(()=>{this.props.onOrderUpdated?.({order:t})})}),v(this,"handleFailedResult",e=>{h(this.elementRef)&&this.elementRef.displayFinalAnimation("error"),c(e),this.props.onPaymentFailed?.(e,this.elementRef)}),v(this,"handleSuccessResult",e=>{h(this.elementRef)&&this.elementRef.displayFinalAnimation("success"),c(e),this.core.session&&!0===e.askDonation&&this.setupSessionsDonation(),this.props.onPaymentCompleted?.(e,this.elementRef)}),v(this,"setComponentRef",e=>{this.componentRef=e}),v(this,"payButton",t=>e(a,{...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=this.props.modules?.resources??this.core.modules.resources,this.i18n=this.props.i18n??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()}}v(C,"type",void 0),v(C,"txVariants",[]);export{C as UIElement,C as default};
|
|
2
2
|
//# sourceMappingURL=UIElement.js.map
|