@adyen/adyen-web 6.31.1 → 6.32.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.
Files changed (585) hide show
  1. package/dist/cjs/index.cjs +2 -2
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/cjs/index.d.cts +178 -152
  4. package/dist/es/components/ANCV/ANCV.js.map +1 -1
  5. package/dist/es/components/ANCV/components/ANCVInput.js.map +1 -1
  6. package/dist/es/components/Ach/Ach.js.map +1 -1
  7. package/dist/es/components/Ach/components/AccountTypeSelector.js.map +1 -1
  8. package/dist/es/components/Ach/components/AchComponent.js.map +1 -1
  9. package/dist/es/components/Address/Address.js.map +1 -1
  10. package/dist/es/components/Affirm/Affirm.js.map +1 -1
  11. package/dist/es/components/AfterPay/AfterPay.js.map +1 -1
  12. package/dist/es/components/AfterPay/AfterPayB2B.js.map +1 -1
  13. package/dist/es/components/AmazonPay/AmazonPay.js.map +1 -1
  14. package/dist/es/components/AmazonPay/components/AmazonPayButton.js.map +1 -1
  15. package/dist/es/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
  16. package/dist/es/components/AmazonPay/components/ChangePaymentDetailsButton.js.map +1 -1
  17. package/dist/es/components/AmazonPay/components/OrderButton.js.map +1 -1
  18. package/dist/es/components/AmazonPay/components/SignOutButton.js.map +1 -1
  19. package/dist/es/components/ApplePay/ApplePay.js.map +1 -1
  20. package/dist/es/components/ApplePay/components/ApplePayButton.js.map +1 -1
  21. package/dist/es/components/ApplePay/utils/payment-request.js +1 -1
  22. package/dist/es/components/Atome/Atome.js.map +1 -1
  23. package/dist/es/components/BacsDD/BacsDD.js.map +1 -1
  24. package/dist/es/components/BacsDD/components/BacsInput.js.map +1 -1
  25. package/dist/es/components/BankTransfer/BankTransfer.js.map +1 -1
  26. package/dist/es/components/BankTransfer/components/BankTransferResult/BankTransferResult.js.map +1 -1
  27. package/dist/es/components/BcmcMobile/BcmcMobile.js.map +1 -1
  28. package/dist/es/components/BillDesk/BillDeskOnline.js.map +1 -1
  29. package/dist/es/components/BillDesk/BillDeskWallet.js.map +1 -1
  30. package/dist/es/components/Blik/Blik.js.map +1 -1
  31. package/dist/es/components/Blik/components/BlikInput.js.map +1 -1
  32. package/dist/es/components/Boleto/Boleto.js.map +1 -1
  33. package/dist/es/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
  34. package/dist/es/components/Card/Bancontact.js.map +1 -1
  35. package/dist/es/components/Card/Card.js +1 -1
  36. package/dist/es/components/Card/Card.js.map +1 -1
  37. package/dist/es/components/Card/components/CardInput/CardInput.js +1 -1
  38. package/dist/es/components/Card/components/CardInput/CardInput.js.map +1 -1
  39. package/dist/es/components/Card/components/CardInput/components/AvailableBrands/AvailableBrands.js.map +1 -1
  40. package/dist/es/components/Card/components/CardInput/components/BrandIcon.js.map +1 -1
  41. package/dist/es/components/Card/components/CardInput/components/CVC.js.map +1 -1
  42. package/dist/es/components/Card/components/CardInput/components/CVCHint.js.map +1 -1
  43. package/dist/es/components/Card/components/CardInput/components/CardFields.js.map +1 -1
  44. package/dist/es/components/Card/components/CardInput/components/CardHolderName.js.map +1 -1
  45. package/dist/es/components/Card/components/CardInput/components/CardNumber.js.map +1 -1
  46. package/dist/es/components/Card/components/CardInput/components/DataSfSpan.js.map +1 -1
  47. package/dist/es/components/Card/components/CardInput/components/ExpirationDate.js.map +1 -1
  48. package/dist/es/components/Card/components/CardInput/components/Installments/Installments.js +1 -1
  49. package/dist/es/components/Card/components/CardInput/components/Installments/Installments.js.map +1 -1
  50. package/dist/es/components/Card/components/CardInput/components/KCPAuthentication.js.map +1 -1
  51. package/dist/es/components/Card/components/CardInput/components/StoredCardFields.js.map +1 -1
  52. package/dist/es/components/Card/components/CardInput/handlers.js +1 -1
  53. package/dist/es/components/Card/components/CardInput/handlers.js.map +1 -1
  54. package/dist/es/components/Card/components/CardInput/utils.js +1 -1
  55. package/dist/es/components/Card/components/CardInput/utils.js.map +1 -1
  56. package/dist/es/components/Card/components/ClickToPayHolder.js.map +1 -1
  57. package/dist/es/components/Card/components/ClickToPayWrapper.js.map +1 -1
  58. package/dist/es/components/Card/components/Fastlane/FastlaneSignup.js.map +1 -1
  59. package/dist/es/components/Card/components/Fastlane/InfoModal.js.map +1 -1
  60. package/dist/es/components/Card/components/Fastlane/USOnlyPhoneInput.js.map +1 -1
  61. package/dist/es/components/CashAppPay/CashAppPay.js.map +1 -1
  62. package/dist/es/components/CashAppPay/components/CashAppComponent.js.map +1 -1
  63. package/dist/es/components/ClickToPay/ClickToPay.js.map +1 -1
  64. package/dist/es/components/CustomCard/CustomCard.js.map +1 -1
  65. package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
  66. package/dist/es/components/Doku/Doku.js.map +1 -1
  67. package/dist/es/components/Doku/components/DokuVoucherResult/DokuVoucherResult.js.map +1 -1
  68. package/dist/es/components/Donation/Donation.js.map +1 -1
  69. package/dist/es/components/Donation/components/CampaignContent.js.map +1 -1
  70. package/dist/es/components/Donation/components/CampaignInfo.js.map +1 -1
  71. package/dist/es/components/Donation/components/DonationComponent.js.map +1 -1
  72. package/dist/es/components/Donation/components/FixedAmounts.js.map +1 -1
  73. package/dist/es/components/Donation/components/Roundup.js.map +1 -1
  74. package/dist/es/components/Dotpay/index.js.map +1 -1
  75. package/dist/es/components/Dragonpay/Dragonpay.js.map +1 -1
  76. package/dist/es/components/Dragonpay/components/DragonpayInput/DragonpayInput.js.map +1 -1
  77. package/dist/es/components/Dragonpay/components/DragonpayVoucherResult/DragonpayVoucherResult.js.map +1 -1
  78. package/dist/es/components/Dropin/Dropin.js.map +1 -1
  79. package/dist/es/components/Dropin/components/DropinSuccessState.js.map +1 -1
  80. package/dist/es/components/Dropin/components/PaymentMethod/InstantPaymentMethods.js.map +1 -1
  81. package/dist/es/components/Dropin/components/PaymentMethod/OrderPaymentMethods.js.map +1 -1
  82. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodBrands/PaymentMethodBrands.js.map +1 -1
  83. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodDetails.js.map +1 -1
  84. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodIcon.js.map +1 -1
  85. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
  86. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodList.js +1 -1
  87. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodList.js.map +1 -1
  88. package/dist/es/components/DuitNow/DuitNow.js.map +1 -1
  89. package/dist/es/components/EPS/index.js.map +1 -1
  90. package/dist/es/components/Econtext/Econtext.js.map +1 -1
  91. package/dist/es/components/Econtext/components/EcontextVoucherResult/EcontextVoucherResult.js.map +1 -1
  92. package/dist/es/components/FacilyPay/FacilyPay10x.js.map +1 -1
  93. package/dist/es/components/FacilyPay/FacilyPay12x.js.map +1 -1
  94. package/dist/es/components/FacilyPay/FacilyPay3x.js.map +1 -1
  95. package/dist/es/components/FacilyPay/FacilyPay4x.js.map +1 -1
  96. package/dist/es/components/FacilyPay/FacilyPay6x.js.map +1 -1
  97. package/dist/es/components/Giftcard/Giftcard.js.map +1 -1
  98. package/dist/es/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  99. package/dist/es/components/Giftcard/components/GiftcardFields.js.map +1 -1
  100. package/dist/es/components/Giftcard/components/GiftcardNumberField.js.map +1 -1
  101. package/dist/es/components/Giftcard/components/GiftcardPinField.js.map +1 -1
  102. package/dist/es/components/Giftcard/components/GiftcardResult.js.map +1 -1
  103. package/dist/es/components/Giropay/Giropay.js.map +1 -1
  104. package/dist/es/components/GooglePay/GooglePay.js.map +1 -1
  105. package/dist/es/components/GooglePay/components/GooglePayButton.js.map +1 -1
  106. package/dist/es/components/GooglePay/requests.js +1 -1
  107. package/dist/es/components/GooglePay/requests.js.map +1 -1
  108. package/dist/es/components/GooglePay/utils.js +1 -1
  109. package/dist/es/components/GooglePay/utils.js.map +1 -1
  110. package/dist/es/components/Klarna/KlarnaPayments.js.map +1 -1
  111. package/dist/es/components/Klarna/components/KlarnaContainer/KlarnaContainer.js.map +1 -1
  112. package/dist/es/components/Klarna/components/KlarnaWidget/KlarnaWidget.js.map +1 -1
  113. package/dist/es/components/MBWay/MBWay.js.map +1 -1
  114. package/dist/es/components/MBWay/components/MBWayInput/MBWayInput.js.map +1 -1
  115. package/dist/es/components/MealVoucherFR/MealVoucherFR.js.map +1 -1
  116. package/dist/es/components/MealVoucherFR/components/MealVoucherExpiryField.js.map +1 -1
  117. package/dist/es/components/MealVoucherFR/components/MealVoucherFields.js.map +1 -1
  118. package/dist/es/components/MolPayEBanking/MolPayEBankingMY.js.map +1 -1
  119. package/dist/es/components/MolPayEBanking/MolPayEBankingTH.js.map +1 -1
  120. package/dist/es/components/MolPayEBanking/MolPayEBankingVN.js.map +1 -1
  121. package/dist/es/components/Multibanco/Multibanco.js.map +1 -1
  122. package/dist/es/components/Multibanco/components/MultibancoVoucherResult/MultibancoVoucherResult.js.map +1 -1
  123. package/dist/es/components/OnlineBankingCZ/index.js.map +1 -1
  124. package/dist/es/components/OnlineBankingFI/OnlineBankingFI.js.map +1 -1
  125. package/dist/es/components/OnlineBankingIN/index.js.map +1 -1
  126. package/dist/es/components/OnlineBankingPL/OnlineBankingPL.js.map +1 -1
  127. package/dist/es/components/OnlineBankingSK/index.js.map +1 -1
  128. package/dist/es/components/Oxxo/Oxxo.js.map +1 -1
  129. package/dist/es/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.js.map +1 -1
  130. package/dist/es/components/PayByBank/PayByBank.js.map +1 -1
  131. package/dist/es/components/PayByBankPix/components/Enrollment/Enrollment.js.map +1 -1
  132. package/dist/es/components/PayByBankPix/components/Enrollment/components/PayByBankPixAwait.js.map +1 -1
  133. package/dist/es/components/PayByBankPix/components/StoredPayment/StoredPayment.js.map +1 -1
  134. package/dist/es/components/PayByBankUS/PayByBankUS.js.map +1 -1
  135. package/dist/es/components/PayMe/PayMe.js.map +1 -1
  136. package/dist/es/components/PayNow/PayNow.js.map +1 -1
  137. package/dist/es/components/PayPal/Paypal.js.map +1 -1
  138. package/dist/es/components/PayPal/components/PaypalButtons.js.map +1 -1
  139. package/dist/es/components/PayPal/components/PaypalComponent.js.map +1 -1
  140. package/dist/es/components/PayPalFastlane/Fastlane.js.map +1 -1
  141. package/dist/es/components/PayPalFastlane/components/FaslaneCardBrandIcon.js.map +1 -1
  142. package/dist/es/components/PayPalFastlane/components/FastlaneComponent.js.map +1 -1
  143. package/dist/es/components/PayTo/PayTo.js.map +1 -1
  144. package/dist/es/components/PayTo/components/BSBInput.js.map +1 -1
  145. package/dist/es/components/PayTo/components/IdentifierSelector.js.map +1 -1
  146. package/dist/es/components/PayTo/components/MandateSummary.js.map +1 -1
  147. package/dist/es/components/PayTo/components/PayIDInput.js.map +1 -1
  148. package/dist/es/components/PayTo/components/PayToComponent.js.map +1 -1
  149. package/dist/es/components/PayTo/components/PayToNameFields.js.map +1 -1
  150. package/dist/es/components/PayTo/components/PayToPhone.js.map +1 -1
  151. package/dist/es/components/PayU/PayuCashcard.js.map +1 -1
  152. package/dist/es/components/PayU/PayuNetBanking.js.map +1 -1
  153. package/dist/es/components/Pix/Pix.js.map +1 -1
  154. package/dist/es/components/Pix/components/PixInput/PixInput.js.map +1 -1
  155. package/dist/es/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js.map +1 -1
  156. package/dist/es/components/PromptPay/PromptPay.js.map +1 -1
  157. package/dist/es/components/RatePay/RatePay.js.map +1 -1
  158. package/dist/es/components/RatePay/RatePayDirectDebit.js.map +1 -1
  159. package/dist/es/components/Redirect/Redirect.js.map +1 -1
  160. package/dist/es/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
  161. package/dist/es/components/Riverty/Riverty.js.map +1 -1
  162. package/dist/es/components/Sepa/Sepa.js.map +1 -1
  163. package/dist/es/components/Swish/Swish.js.map +1 -1
  164. package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
  165. package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  166. package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
  167. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js.map +1 -1
  168. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
  169. package/dist/es/components/ThreeDS2/components/Form/ThreeDS2Form.js.map +1 -1
  170. package/dist/es/components/Trustly/Trustly.js.map +1 -1
  171. package/dist/es/components/Twint/Twint.js.map +1 -1
  172. package/dist/es/components/UPI/UPI.js.map +1 -1
  173. package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js.map +1 -1
  174. package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js.map +1 -1
  175. package/dist/es/components/UPI/components/UPIMandate/UPIMandate.js.map +1 -1
  176. package/dist/es/components/Vipps/Vipps.js.map +1 -1
  177. package/dist/es/components/WalletIN/index.js.map +1 -1
  178. package/dist/es/components/WeChat/WeChat.js.map +1 -1
  179. package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  180. package/dist/es/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js.map +1 -1
  181. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  182. package/dist/es/components/internal/Address/Address.js.map +1 -1
  183. package/dist/es/components/internal/Address/components/CountryField.js.map +1 -1
  184. package/dist/es/components/internal/Address/components/FieldContainer.js.map +1 -1
  185. package/dist/es/components/internal/Address/components/ReadOnlyAddress.js.map +1 -1
  186. package/dist/es/components/internal/Address/components/StateField.js.map +1 -1
  187. package/dist/es/components/internal/Alert/Alert.js.map +1 -1
  188. package/dist/es/components/internal/Await/Await.js.map +1 -1
  189. package/dist/es/components/internal/Await/components/AwaitFinalState.js.map +1 -1
  190. package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
  191. package/dist/es/components/internal/Brand/Brand.js.map +1 -1
  192. package/dist/es/components/internal/Button/CopyButton.js.map +1 -1
  193. package/dist/es/components/internal/Button/CopyIconButton.js.map +1 -1
  194. package/dist/es/components/internal/ClickToPay/ClickToPayComponent.js.map +1 -1
  195. package/dist/es/components/internal/ClickToPay/components/CtPBrand/CtPBrand.js.map +1 -1
  196. package/dist/es/components/internal/ClickToPay/components/CtPCards/CtPCards.js.map +1 -1
  197. package/dist/es/components/internal/ClickToPay/components/CtPCards/CtPCardsList/CtPCardsList.js.map +1 -1
  198. package/dist/es/components/internal/ClickToPay/components/CtPCards/CtPSingleCard/CtPSingleCard.js.map +1 -1
  199. package/dist/es/components/internal/ClickToPay/components/CtPInfo/CtPInfoModal/CtPInfoModal.js.map +1 -1
  200. package/dist/es/components/internal/ClickToPay/components/CtPLogin/CtPLoginInput.js.map +1 -1
  201. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePassword.js.map +1 -1
  202. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js.map +1 -1
  203. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js.map +1 -1
  204. package/dist/es/components/internal/ClickToPay/components/CtPSection/CtPSection.js.map +1 -1
  205. package/dist/es/components/internal/ClickToPay/context/ClickToPayProvider.js.map +1 -1
  206. package/dist/es/components/internal/ConsentCheckboxLabel/ConsentCheckboxLabel.js.map +1 -1
  207. package/dist/es/components/internal/ContentSeparator/ContentSeparator.js.map +1 -1
  208. package/dist/es/components/internal/Countdown/index.js.map +1 -1
  209. package/dist/es/components/internal/DisclaimerMessage/DisclaimerMessage.js.map +1 -1
  210. package/dist/es/components/internal/FormFields/Checkbox/Checkbox.js.map +1 -1
  211. package/dist/es/components/internal/FormFields/Field/Field.js.map +1 -1
  212. package/dist/es/components/internal/FormFields/InputDate/InputDate.js.map +1 -1
  213. package/dist/es/components/internal/FormFields/InputEmail.js.map +1 -1
  214. package/dist/es/components/internal/FormFields/InputText.js.map +1 -1
  215. package/dist/es/components/internal/FormFields/RadioGroup/RadioGroup.js.map +1 -1
  216. package/dist/es/components/internal/FormFields/RadioGroupExtended/RadioButtonIcon.js.map +1 -1
  217. package/dist/es/components/internal/FormFields/RadioGroupExtended/RadioGroupExtended.js.map +1 -1
  218. package/dist/es/components/internal/FormFields/Select/Select.js.map +1 -1
  219. package/dist/es/components/internal/FormFields/Select/components/SelectList.js.map +1 -1
  220. package/dist/es/components/internal/FormFields/Select/components/SelectListItem.js.map +1 -1
  221. package/dist/es/components/internal/IFrame/Iframe.js.map +1 -1
  222. package/dist/es/components/internal/IbanInput/IbanInput.js.map +1 -1
  223. package/dist/es/components/internal/Icon/Icon.js.map +1 -1
  224. package/dist/es/components/internal/Img/Img.js.map +1 -1
  225. package/dist/es/components/internal/IssuerList/IssuerButtonGroup/IssuerButton.js.map +1 -1
  226. package/dist/es/components/internal/IssuerList/IssuerButtonGroup/IssuerButtonGroup.js.map +1 -1
  227. package/dist/es/components/internal/IssuerList/IssuerList.js.map +1 -1
  228. package/dist/es/components/internal/Link/Link.js.map +1 -1
  229. package/dist/es/components/internal/LoadingWrapper/LoadingWrapper.js.map +1 -1
  230. package/dist/es/components/internal/Modal/Modal.js.map +1 -1
  231. package/dist/es/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
  232. package/dist/es/components/internal/PayButton/PayButton.js.map +1 -1
  233. package/dist/es/components/internal/PhoneInput/PhoneInputFields.js.map +1 -1
  234. package/dist/es/components/internal/PhoneInput/PhoneInputForm.js.map +1 -1
  235. package/dist/es/components/internal/QRLoader/QRLoaderDetailsProvider.js.map +1 -1
  236. package/dist/es/components/internal/QRLoader/components/QRCodeCopyButton.js.map +1 -1
  237. package/dist/es/components/internal/QRLoader/components/QRCountdown.js.map +1 -1
  238. package/dist/es/components/internal/QRLoader/components/QRFinalState.js.map +1 -1
  239. package/dist/es/components/internal/QRLoader/components/QRImage.js.map +1 -1
  240. package/dist/es/components/internal/QRLoader/components/QRIntructions.js.map +1 -1
  241. package/dist/es/components/internal/QRLoader/components/QRProgressbar.js.map +1 -1
  242. package/dist/es/components/internal/RedirectButton/RedirectButton.js.map +1 -1
  243. package/dist/es/components/internal/SecuredFields/SFP/SFPUtils.js +1 -1
  244. package/dist/es/components/internal/SecuredFields/SFP/SFPUtils.js.map +1 -1
  245. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
  246. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  247. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js +1 -1
  248. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js.map +1 -1
  249. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js +1 -1
  250. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
  251. package/dist/es/components/internal/SecuredFields/lib/constants.js.map +1 -1
  252. package/dist/es/components/internal/SecuredFields/lib/securedField/utils/createIframe.js +1 -1
  253. package/dist/es/components/internal/SecuredFields/lib/securedField/utils/createIframe.js.map +1 -1
  254. package/dist/es/components/internal/SecuredFields/lib/securedField/utils/processAriaConfig.js +1 -1
  255. package/dist/es/components/internal/SecuredFields/lib/securedField/utils/processAriaConfig.js.map +1 -1
  256. package/dist/es/components/internal/SecuredFields/utils.js +1 -1
  257. package/dist/es/components/internal/SecuredFields/utils.js.map +1 -1
  258. package/dist/es/components/internal/SegmentedControl/SegmentedControl.js.map +1 -1
  259. package/dist/es/components/internal/SegmentedControl/SegmentedControlRegion.js.map +1 -1
  260. package/dist/es/components/internal/Spinner/Spinner.js.map +1 -1
  261. package/dist/es/components/internal/StoreDetails/StoreDetails.js.map +1 -1
  262. package/dist/es/components/internal/Timeline/Timeline.js.map +1 -1
  263. package/dist/es/components/internal/Timeline/TimelineWrapper.js.map +1 -1
  264. package/dist/es/components/internal/Toggle/Toggle.js.map +1 -1
  265. package/dist/es/components/internal/Tooltip/SingletonTooltipProvider.js.map +1 -1
  266. package/dist/es/components/internal/Tooltip/Tooltip.js.map +1 -1
  267. package/dist/es/components/internal/Tooltip/TooltipController.js.map +1 -1
  268. package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
  269. package/dist/es/core/Analytics/Analytics.js +1 -1
  270. package/dist/es/core/Analytics/Analytics.js.map +1 -1
  271. package/dist/es/core/Context/AmountProvider.js.map +1 -1
  272. package/dist/es/core/Context/CoreProvider.js.map +1 -1
  273. package/dist/es/core/Environment/Environment.js +1 -1
  274. package/dist/es/core/Environment/Environment.js.map +1 -1
  275. package/dist/es/core/Errors/AdyenCheckoutError.js.map +1 -1
  276. package/dist/es/core/Errors/SRMessages.js.map +1 -1
  277. package/dist/es/core/Errors/SRPanel.js.map +1 -1
  278. package/dist/es/core/Errors/SRPanelProvider.js.map +1 -1
  279. package/dist/es/core/Errors/utils.js +1 -1
  280. package/dist/es/core/ProcessResponse/PaymentMethods/PaymentMethods.js +1 -1
  281. package/dist/es/core/ProcessResponse/PaymentMethods/PaymentMethods.js.map +1 -1
  282. package/dist/es/core/RiskModule/RiskModule.js.map +1 -1
  283. package/dist/es/core/RiskModule/components/DeviceFingerprint/DeviceFingerprint.js.map +1 -1
  284. package/dist/es/core/config.js +1 -1
  285. package/dist/es/core/core.js +1 -1
  286. package/dist/es/core/core.js.map +1 -1
  287. package/dist/es/external/preact/compat/dist/compat.js +1 -1
  288. package/dist/es/external/preact/compat/dist/compat.js.map +1 -1
  289. package/dist/es/hooks/usePaymentStatusTimer/usePaymentStatusTimer.js.map +1 -1
  290. package/dist/es/index.d.ts +178 -152
  291. package/dist/es/index.js +1 -1
  292. package/dist/es/utils/getOrigin.js +1 -1
  293. package/dist/es-legacy/components/ANCV/ANCV.js.map +1 -1
  294. package/dist/es-legacy/components/ANCV/components/ANCVInput.js.map +1 -1
  295. package/dist/es-legacy/components/Ach/Ach.js.map +1 -1
  296. package/dist/es-legacy/components/Ach/components/AccountTypeSelector.js.map +1 -1
  297. package/dist/es-legacy/components/Ach/components/AchComponent.js.map +1 -1
  298. package/dist/es-legacy/components/Address/Address.js.map +1 -1
  299. package/dist/es-legacy/components/Affirm/Affirm.js.map +1 -1
  300. package/dist/es-legacy/components/AfterPay/AfterPay.js.map +1 -1
  301. package/dist/es-legacy/components/AfterPay/AfterPayB2B.js.map +1 -1
  302. package/dist/es-legacy/components/AmazonPay/AmazonPay.js.map +1 -1
  303. package/dist/es-legacy/components/AmazonPay/components/AmazonPayButton.js.map +1 -1
  304. package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
  305. package/dist/es-legacy/components/AmazonPay/components/ChangePaymentDetailsButton.js.map +1 -1
  306. package/dist/es-legacy/components/AmazonPay/components/OrderButton.js.map +1 -1
  307. package/dist/es-legacy/components/AmazonPay/components/SignOutButton.js.map +1 -1
  308. package/dist/es-legacy/components/ApplePay/ApplePay.js.map +1 -1
  309. package/dist/es-legacy/components/ApplePay/components/ApplePayButton.js.map +1 -1
  310. package/dist/es-legacy/components/ApplePay/utils/payment-request.js +1 -1
  311. package/dist/es-legacy/components/Atome/Atome.js.map +1 -1
  312. package/dist/es-legacy/components/BacsDD/BacsDD.js.map +1 -1
  313. package/dist/es-legacy/components/BacsDD/components/BacsInput.js.map +1 -1
  314. package/dist/es-legacy/components/BankTransfer/BankTransfer.js.map +1 -1
  315. package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferResult.js.map +1 -1
  316. package/dist/es-legacy/components/BcmcMobile/BcmcMobile.js.map +1 -1
  317. package/dist/es-legacy/components/BillDesk/BillDeskOnline.js.map +1 -1
  318. package/dist/es-legacy/components/BillDesk/BillDeskWallet.js.map +1 -1
  319. package/dist/es-legacy/components/Blik/Blik.js.map +1 -1
  320. package/dist/es-legacy/components/Blik/components/BlikInput.js.map +1 -1
  321. package/dist/es-legacy/components/Boleto/Boleto.js.map +1 -1
  322. package/dist/es-legacy/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
  323. package/dist/es-legacy/components/Card/Bancontact.js.map +1 -1
  324. package/dist/es-legacy/components/Card/Card.js +1 -1
  325. package/dist/es-legacy/components/Card/Card.js.map +1 -1
  326. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js +1 -1
  327. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js.map +1 -1
  328. package/dist/es-legacy/components/Card/components/CardInput/components/AvailableBrands/AvailableBrands.js.map +1 -1
  329. package/dist/es-legacy/components/Card/components/CardInput/components/BrandIcon.js.map +1 -1
  330. package/dist/es-legacy/components/Card/components/CardInput/components/CVC.js.map +1 -1
  331. package/dist/es-legacy/components/Card/components/CardInput/components/CVCHint.js.map +1 -1
  332. package/dist/es-legacy/components/Card/components/CardInput/components/CardFields.js.map +1 -1
  333. package/dist/es-legacy/components/Card/components/CardInput/components/CardHolderName.js.map +1 -1
  334. package/dist/es-legacy/components/Card/components/CardInput/components/CardNumber.js.map +1 -1
  335. package/dist/es-legacy/components/Card/components/CardInput/components/DataSfSpan.js.map +1 -1
  336. package/dist/es-legacy/components/Card/components/CardInput/components/ExpirationDate.js.map +1 -1
  337. package/dist/es-legacy/components/Card/components/CardInput/components/Installments/Installments.js +1 -1
  338. package/dist/es-legacy/components/Card/components/CardInput/components/Installments/Installments.js.map +1 -1
  339. package/dist/es-legacy/components/Card/components/CardInput/components/KCPAuthentication.js.map +1 -1
  340. package/dist/es-legacy/components/Card/components/CardInput/components/StoredCardFields.js.map +1 -1
  341. package/dist/es-legacy/components/Card/components/CardInput/handlers.js +1 -1
  342. package/dist/es-legacy/components/Card/components/CardInput/handlers.js.map +1 -1
  343. package/dist/es-legacy/components/Card/components/CardInput/utils.js +1 -1
  344. package/dist/es-legacy/components/Card/components/CardInput/utils.js.map +1 -1
  345. package/dist/es-legacy/components/Card/components/ClickToPayHolder.js.map +1 -1
  346. package/dist/es-legacy/components/Card/components/ClickToPayWrapper.js.map +1 -1
  347. package/dist/es-legacy/components/Card/components/Fastlane/FastlaneSignup.js.map +1 -1
  348. package/dist/es-legacy/components/Card/components/Fastlane/InfoModal.js.map +1 -1
  349. package/dist/es-legacy/components/Card/components/Fastlane/USOnlyPhoneInput.js.map +1 -1
  350. package/dist/es-legacy/components/CashAppPay/CashAppPay.js.map +1 -1
  351. package/dist/es-legacy/components/CashAppPay/components/CashAppComponent.js.map +1 -1
  352. package/dist/es-legacy/components/ClickToPay/ClickToPay.js.map +1 -1
  353. package/dist/es-legacy/components/CustomCard/CustomCard.js.map +1 -1
  354. package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
  355. package/dist/es-legacy/components/Doku/Doku.js.map +1 -1
  356. package/dist/es-legacy/components/Doku/components/DokuVoucherResult/DokuVoucherResult.js.map +1 -1
  357. package/dist/es-legacy/components/Donation/Donation.js.map +1 -1
  358. package/dist/es-legacy/components/Donation/components/CampaignContent.js.map +1 -1
  359. package/dist/es-legacy/components/Donation/components/CampaignInfo.js.map +1 -1
  360. package/dist/es-legacy/components/Donation/components/DonationComponent.js.map +1 -1
  361. package/dist/es-legacy/components/Donation/components/FixedAmounts.js.map +1 -1
  362. package/dist/es-legacy/components/Donation/components/Roundup.js.map +1 -1
  363. package/dist/es-legacy/components/Dotpay/index.js.map +1 -1
  364. package/dist/es-legacy/components/Dragonpay/Dragonpay.js.map +1 -1
  365. package/dist/es-legacy/components/Dragonpay/components/DragonpayInput/DragonpayInput.js.map +1 -1
  366. package/dist/es-legacy/components/Dragonpay/components/DragonpayVoucherResult/DragonpayVoucherResult.js.map +1 -1
  367. package/dist/es-legacy/components/Dropin/Dropin.js.map +1 -1
  368. package/dist/es-legacy/components/Dropin/components/DropinSuccessState.js.map +1 -1
  369. package/dist/es-legacy/components/Dropin/components/PaymentMethod/InstantPaymentMethods.js.map +1 -1
  370. package/dist/es-legacy/components/Dropin/components/PaymentMethod/OrderPaymentMethods.js.map +1 -1
  371. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodBrands/PaymentMethodBrands.js.map +1 -1
  372. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodDetails.js.map +1 -1
  373. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodIcon.js.map +1 -1
  374. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
  375. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodList.js +1 -1
  376. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodList.js.map +1 -1
  377. package/dist/es-legacy/components/DuitNow/DuitNow.js.map +1 -1
  378. package/dist/es-legacy/components/EPS/index.js.map +1 -1
  379. package/dist/es-legacy/components/Econtext/Econtext.js.map +1 -1
  380. package/dist/es-legacy/components/Econtext/components/EcontextVoucherResult/EcontextVoucherResult.js.map +1 -1
  381. package/dist/es-legacy/components/FacilyPay/FacilyPay10x.js.map +1 -1
  382. package/dist/es-legacy/components/FacilyPay/FacilyPay12x.js.map +1 -1
  383. package/dist/es-legacy/components/FacilyPay/FacilyPay3x.js.map +1 -1
  384. package/dist/es-legacy/components/FacilyPay/FacilyPay4x.js.map +1 -1
  385. package/dist/es-legacy/components/FacilyPay/FacilyPay6x.js.map +1 -1
  386. package/dist/es-legacy/components/Giftcard/Giftcard.js.map +1 -1
  387. package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  388. package/dist/es-legacy/components/Giftcard/components/GiftcardFields.js.map +1 -1
  389. package/dist/es-legacy/components/Giftcard/components/GiftcardNumberField.js.map +1 -1
  390. package/dist/es-legacy/components/Giftcard/components/GiftcardPinField.js.map +1 -1
  391. package/dist/es-legacy/components/Giftcard/components/GiftcardResult.js.map +1 -1
  392. package/dist/es-legacy/components/Giropay/Giropay.js.map +1 -1
  393. package/dist/es-legacy/components/GooglePay/GooglePay.js.map +1 -1
  394. package/dist/es-legacy/components/GooglePay/components/GooglePayButton.js.map +1 -1
  395. package/dist/es-legacy/components/GooglePay/requests.js +1 -1
  396. package/dist/es-legacy/components/GooglePay/requests.js.map +1 -1
  397. package/dist/es-legacy/components/GooglePay/utils.js +1 -1
  398. package/dist/es-legacy/components/GooglePay/utils.js.map +1 -1
  399. package/dist/es-legacy/components/Klarna/KlarnaPayments.js.map +1 -1
  400. package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js.map +1 -1
  401. package/dist/es-legacy/components/Klarna/components/KlarnaWidget/KlarnaWidget.js.map +1 -1
  402. package/dist/es-legacy/components/MBWay/MBWay.js.map +1 -1
  403. package/dist/es-legacy/components/MBWay/components/MBWayInput/MBWayInput.js.map +1 -1
  404. package/dist/es-legacy/components/MealVoucherFR/MealVoucherFR.js.map +1 -1
  405. package/dist/es-legacy/components/MealVoucherFR/components/MealVoucherExpiryField.js.map +1 -1
  406. package/dist/es-legacy/components/MealVoucherFR/components/MealVoucherFields.js.map +1 -1
  407. package/dist/es-legacy/components/MolPayEBanking/MolPayEBankingMY.js.map +1 -1
  408. package/dist/es-legacy/components/MolPayEBanking/MolPayEBankingTH.js.map +1 -1
  409. package/dist/es-legacy/components/MolPayEBanking/MolPayEBankingVN.js.map +1 -1
  410. package/dist/es-legacy/components/Multibanco/Multibanco.js.map +1 -1
  411. package/dist/es-legacy/components/Multibanco/components/MultibancoVoucherResult/MultibancoVoucherResult.js.map +1 -1
  412. package/dist/es-legacy/components/OnlineBankingCZ/index.js.map +1 -1
  413. package/dist/es-legacy/components/OnlineBankingFI/OnlineBankingFI.js.map +1 -1
  414. package/dist/es-legacy/components/OnlineBankingIN/index.js.map +1 -1
  415. package/dist/es-legacy/components/OnlineBankingPL/OnlineBankingPL.js.map +1 -1
  416. package/dist/es-legacy/components/OnlineBankingSK/index.js.map +1 -1
  417. package/dist/es-legacy/components/Oxxo/Oxxo.js.map +1 -1
  418. package/dist/es-legacy/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.js.map +1 -1
  419. package/dist/es-legacy/components/PayByBank/PayByBank.js.map +1 -1
  420. package/dist/es-legacy/components/PayByBankPix/components/Enrollment/Enrollment.js.map +1 -1
  421. package/dist/es-legacy/components/PayByBankPix/components/Enrollment/components/PayByBankPixAwait.js.map +1 -1
  422. package/dist/es-legacy/components/PayByBankPix/components/StoredPayment/StoredPayment.js.map +1 -1
  423. package/dist/es-legacy/components/PayByBankUS/PayByBankUS.js.map +1 -1
  424. package/dist/es-legacy/components/PayMe/PayMe.js.map +1 -1
  425. package/dist/es-legacy/components/PayNow/PayNow.js.map +1 -1
  426. package/dist/es-legacy/components/PayPal/Paypal.js.map +1 -1
  427. package/dist/es-legacy/components/PayPal/components/PaypalButtons.js.map +1 -1
  428. package/dist/es-legacy/components/PayPal/components/PaypalComponent.js.map +1 -1
  429. package/dist/es-legacy/components/PayPalFastlane/Fastlane.js.map +1 -1
  430. package/dist/es-legacy/components/PayPalFastlane/components/FaslaneCardBrandIcon.js.map +1 -1
  431. package/dist/es-legacy/components/PayPalFastlane/components/FastlaneComponent.js.map +1 -1
  432. package/dist/es-legacy/components/PayTo/PayTo.js.map +1 -1
  433. package/dist/es-legacy/components/PayTo/components/BSBInput.js.map +1 -1
  434. package/dist/es-legacy/components/PayTo/components/IdentifierSelector.js.map +1 -1
  435. package/dist/es-legacy/components/PayTo/components/MandateSummary.js.map +1 -1
  436. package/dist/es-legacy/components/PayTo/components/PayIDInput.js.map +1 -1
  437. package/dist/es-legacy/components/PayTo/components/PayToComponent.js.map +1 -1
  438. package/dist/es-legacy/components/PayTo/components/PayToNameFields.js.map +1 -1
  439. package/dist/es-legacy/components/PayTo/components/PayToPhone.js.map +1 -1
  440. package/dist/es-legacy/components/PayU/PayuCashcard.js.map +1 -1
  441. package/dist/es-legacy/components/PayU/PayuNetBanking.js.map +1 -1
  442. package/dist/es-legacy/components/Pix/Pix.js.map +1 -1
  443. package/dist/es-legacy/components/Pix/components/PixInput/PixInput.js.map +1 -1
  444. package/dist/es-legacy/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js.map +1 -1
  445. package/dist/es-legacy/components/PromptPay/PromptPay.js.map +1 -1
  446. package/dist/es-legacy/components/RatePay/RatePay.js.map +1 -1
  447. package/dist/es-legacy/components/RatePay/RatePayDirectDebit.js.map +1 -1
  448. package/dist/es-legacy/components/Redirect/Redirect.js.map +1 -1
  449. package/dist/es-legacy/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
  450. package/dist/es-legacy/components/Riverty/Riverty.js.map +1 -1
  451. package/dist/es-legacy/components/Sepa/Sepa.js.map +1 -1
  452. package/dist/es-legacy/components/Swish/Swish.js.map +1 -1
  453. package/dist/es-legacy/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
  454. package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  455. package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
  456. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js.map +1 -1
  457. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
  458. package/dist/es-legacy/components/ThreeDS2/components/Form/ThreeDS2Form.js.map +1 -1
  459. package/dist/es-legacy/components/Trustly/Trustly.js.map +1 -1
  460. package/dist/es-legacy/components/Twint/Twint.js.map +1 -1
  461. package/dist/es-legacy/components/UPI/UPI.js.map +1 -1
  462. package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js.map +1 -1
  463. package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js.map +1 -1
  464. package/dist/es-legacy/components/UPI/components/UPIMandate/UPIMandate.js.map +1 -1
  465. package/dist/es-legacy/components/Vipps/Vipps.js.map +1 -1
  466. package/dist/es-legacy/components/WalletIN/index.js.map +1 -1
  467. package/dist/es-legacy/components/WeChat/WeChat.js.map +1 -1
  468. package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  469. package/dist/es-legacy/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js.map +1 -1
  470. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  471. package/dist/es-legacy/components/internal/Address/Address.js.map +1 -1
  472. package/dist/es-legacy/components/internal/Address/components/CountryField.js.map +1 -1
  473. package/dist/es-legacy/components/internal/Address/components/FieldContainer.js.map +1 -1
  474. package/dist/es-legacy/components/internal/Address/components/ReadOnlyAddress.js.map +1 -1
  475. package/dist/es-legacy/components/internal/Address/components/StateField.js.map +1 -1
  476. package/dist/es-legacy/components/internal/Alert/Alert.js.map +1 -1
  477. package/dist/es-legacy/components/internal/Await/Await.js.map +1 -1
  478. package/dist/es-legacy/components/internal/Await/components/AwaitFinalState.js.map +1 -1
  479. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
  480. package/dist/es-legacy/components/internal/Brand/Brand.js.map +1 -1
  481. package/dist/es-legacy/components/internal/Button/CopyButton.js.map +1 -1
  482. package/dist/es-legacy/components/internal/Button/CopyIconButton.js.map +1 -1
  483. package/dist/es-legacy/components/internal/ClickToPay/ClickToPayComponent.js.map +1 -1
  484. package/dist/es-legacy/components/internal/ClickToPay/components/CtPBrand/CtPBrand.js.map +1 -1
  485. package/dist/es-legacy/components/internal/ClickToPay/components/CtPCards/CtPCards.js.map +1 -1
  486. package/dist/es-legacy/components/internal/ClickToPay/components/CtPCards/CtPCardsList/CtPCardsList.js.map +1 -1
  487. package/dist/es-legacy/components/internal/ClickToPay/components/CtPCards/CtPSingleCard/CtPSingleCard.js.map +1 -1
  488. package/dist/es-legacy/components/internal/ClickToPay/components/CtPInfo/CtPInfoModal/CtPInfoModal.js.map +1 -1
  489. package/dist/es-legacy/components/internal/ClickToPay/components/CtPLogin/CtPLoginInput.js.map +1 -1
  490. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePassword.js.map +1 -1
  491. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js.map +1 -1
  492. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js.map +1 -1
  493. package/dist/es-legacy/components/internal/ClickToPay/components/CtPSection/CtPSection.js.map +1 -1
  494. package/dist/es-legacy/components/internal/ClickToPay/context/ClickToPayProvider.js.map +1 -1
  495. package/dist/es-legacy/components/internal/ConsentCheckboxLabel/ConsentCheckboxLabel.js.map +1 -1
  496. package/dist/es-legacy/components/internal/ContentSeparator/ContentSeparator.js.map +1 -1
  497. package/dist/es-legacy/components/internal/Countdown/index.js.map +1 -1
  498. package/dist/es-legacy/components/internal/DisclaimerMessage/DisclaimerMessage.js.map +1 -1
  499. package/dist/es-legacy/components/internal/FormFields/Checkbox/Checkbox.js.map +1 -1
  500. package/dist/es-legacy/components/internal/FormFields/Field/Field.js.map +1 -1
  501. package/dist/es-legacy/components/internal/FormFields/InputDate/InputDate.js.map +1 -1
  502. package/dist/es-legacy/components/internal/FormFields/InputEmail.js.map +1 -1
  503. package/dist/es-legacy/components/internal/FormFields/InputText.js.map +1 -1
  504. package/dist/es-legacy/components/internal/FormFields/RadioGroup/RadioGroup.js.map +1 -1
  505. package/dist/es-legacy/components/internal/FormFields/RadioGroupExtended/RadioButtonIcon.js.map +1 -1
  506. package/dist/es-legacy/components/internal/FormFields/RadioGroupExtended/RadioGroupExtended.js.map +1 -1
  507. package/dist/es-legacy/components/internal/FormFields/Select/Select.js.map +1 -1
  508. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectList.js.map +1 -1
  509. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectListItem.js.map +1 -1
  510. package/dist/es-legacy/components/internal/IFrame/Iframe.js.map +1 -1
  511. package/dist/es-legacy/components/internal/IbanInput/IbanInput.js.map +1 -1
  512. package/dist/es-legacy/components/internal/Icon/Icon.js.map +1 -1
  513. package/dist/es-legacy/components/internal/Img/Img.js.map +1 -1
  514. package/dist/es-legacy/components/internal/IssuerList/IssuerButtonGroup/IssuerButton.js.map +1 -1
  515. package/dist/es-legacy/components/internal/IssuerList/IssuerButtonGroup/IssuerButtonGroup.js.map +1 -1
  516. package/dist/es-legacy/components/internal/IssuerList/IssuerList.js.map +1 -1
  517. package/dist/es-legacy/components/internal/Link/Link.js.map +1 -1
  518. package/dist/es-legacy/components/internal/LoadingWrapper/LoadingWrapper.js.map +1 -1
  519. package/dist/es-legacy/components/internal/Modal/Modal.js.map +1 -1
  520. package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
  521. package/dist/es-legacy/components/internal/PayButton/PayButton.js.map +1 -1
  522. package/dist/es-legacy/components/internal/PhoneInput/PhoneInputFields.js.map +1 -1
  523. package/dist/es-legacy/components/internal/PhoneInput/PhoneInputForm.js.map +1 -1
  524. package/dist/es-legacy/components/internal/QRLoader/QRLoaderDetailsProvider.js.map +1 -1
  525. package/dist/es-legacy/components/internal/QRLoader/components/QRCodeCopyButton.js.map +1 -1
  526. package/dist/es-legacy/components/internal/QRLoader/components/QRCountdown.js.map +1 -1
  527. package/dist/es-legacy/components/internal/QRLoader/components/QRFinalState.js.map +1 -1
  528. package/dist/es-legacy/components/internal/QRLoader/components/QRImage.js.map +1 -1
  529. package/dist/es-legacy/components/internal/QRLoader/components/QRIntructions.js.map +1 -1
  530. package/dist/es-legacy/components/internal/QRLoader/components/QRProgressbar.js.map +1 -1
  531. package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js.map +1 -1
  532. package/dist/es-legacy/components/internal/SecuredFields/SFP/SFPUtils.js +1 -1
  533. package/dist/es-legacy/components/internal/SecuredFields/SFP/SFPUtils.js.map +1 -1
  534. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
  535. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  536. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js +1 -1
  537. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js.map +1 -1
  538. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js +1 -1
  539. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
  540. package/dist/es-legacy/components/internal/SecuredFields/lib/constants.js.map +1 -1
  541. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/utils/createIframe.js +1 -1
  542. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/utils/createIframe.js.map +1 -1
  543. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/utils/processAriaConfig.js +1 -1
  544. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/utils/processAriaConfig.js.map +1 -1
  545. package/dist/es-legacy/components/internal/SecuredFields/utils.js +1 -1
  546. package/dist/es-legacy/components/internal/SecuredFields/utils.js.map +1 -1
  547. package/dist/es-legacy/components/internal/SegmentedControl/SegmentedControl.js.map +1 -1
  548. package/dist/es-legacy/components/internal/SegmentedControl/SegmentedControlRegion.js.map +1 -1
  549. package/dist/es-legacy/components/internal/Spinner/Spinner.js.map +1 -1
  550. package/dist/es-legacy/components/internal/StoreDetails/StoreDetails.js.map +1 -1
  551. package/dist/es-legacy/components/internal/Timeline/Timeline.js.map +1 -1
  552. package/dist/es-legacy/components/internal/Timeline/TimelineWrapper.js.map +1 -1
  553. package/dist/es-legacy/components/internal/Toggle/Toggle.js.map +1 -1
  554. package/dist/es-legacy/components/internal/Tooltip/SingletonTooltipProvider.js.map +1 -1
  555. package/dist/es-legacy/components/internal/Tooltip/Tooltip.js.map +1 -1
  556. package/dist/es-legacy/components/internal/Tooltip/TooltipController.js.map +1 -1
  557. package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
  558. package/dist/es-legacy/core/Analytics/Analytics.js +1 -1
  559. package/dist/es-legacy/core/Analytics/Analytics.js.map +1 -1
  560. package/dist/es-legacy/core/Context/AmountProvider.js.map +1 -1
  561. package/dist/es-legacy/core/Context/CoreProvider.js.map +1 -1
  562. package/dist/es-legacy/core/Environment/Environment.js +1 -1
  563. package/dist/es-legacy/core/Environment/Environment.js.map +1 -1
  564. package/dist/es-legacy/core/Errors/AdyenCheckoutError.js.map +1 -1
  565. package/dist/es-legacy/core/Errors/SRMessages.js.map +1 -1
  566. package/dist/es-legacy/core/Errors/SRPanel.js.map +1 -1
  567. package/dist/es-legacy/core/Errors/SRPanelProvider.js.map +1 -1
  568. package/dist/es-legacy/core/Errors/utils.js +1 -1
  569. package/dist/es-legacy/core/ProcessResponse/PaymentMethods/PaymentMethods.js +1 -1
  570. package/dist/es-legacy/core/ProcessResponse/PaymentMethods/PaymentMethods.js.map +1 -1
  571. package/dist/es-legacy/core/RiskModule/RiskModule.js.map +1 -1
  572. package/dist/es-legacy/core/RiskModule/components/DeviceFingerprint/DeviceFingerprint.js.map +1 -1
  573. package/dist/es-legacy/core/config.js +1 -1
  574. package/dist/es-legacy/core/core.js +1 -1
  575. package/dist/es-legacy/core/core.js.map +1 -1
  576. package/dist/es-legacy/external/preact/compat/dist/compat.js +1 -1
  577. package/dist/es-legacy/external/preact/compat/dist/compat.js.map +1 -1
  578. package/dist/es-legacy/hooks/usePaymentStatusTimer/usePaymentStatusTimer.js.map +1 -1
  579. package/dist/es-legacy/index.js +1 -1
  580. package/dist/es-legacy/utils/getOrigin.js +1 -1
  581. package/package.json +18 -19
  582. package/dist/es/utils/getProp.js +0 -2
  583. package/dist/es/utils/getProp.js.map +0 -1
  584. package/dist/es-legacy/utils/getProp.js +0 -2
  585. package/dist/es-legacy/utils/getProp.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BacsInput.js","sources":["../../../../../src/components/BacsDD/components/BacsInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect } from 'preact/hooks';\nimport classNames from 'classnames';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport Field from '../../internal/FormFields/Field';\nimport ConsentCheckbox from '../../internal/FormFields/ConsentCheckbox';\nimport { bacsValidationRules, bacsFormatters } from './validate';\nimport { BacsDataState, BacsInputProps } from './types';\nimport './BacsInput.scss';\n\nimport useForm from '../../../utils/useForm';\nimport useImage from '../../../core/Context/useImage';\nimport InputText from '../../internal/FormFields/InputText';\nimport InputEmail from '../../internal/FormFields/InputEmail';\nimport FormInstruction from '../../internal/FormInstruction';\nimport { getErrorMessage } from '../../../utils/getErrorMessage';\nimport { PREFIX } from '../../internal/Icon/constants';\nimport { useAmount } from '../../../core/Context/AmountProvider';\n\nconst ENTER_STATE = 'enter-data';\nconst CONFIRM_STATE = 'confirm-data';\n\nfunction BacsInput(props: BacsInputProps) {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n const { amount } = useAmount();\n\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<BacsDataState>({\n schema: ['holderName', 'bankAccountNumber', 'bankLocationId', 'shopperEmail', 'amountConsentCheckbox', 'accountConsentCheckbox'],\n defaultData: props.data,\n formatters: bacsFormatters,\n rules: bacsValidationRules\n });\n\n const [status, setStatus] = useState(ENTER_STATE);\n this.setStatus = setStatus;\n this.showValidation = triggerValidation;\n\n const handlePayButton = () => {\n if (!isValid) return this.showValidation();\n\n if (status === ENTER_STATE) {\n return this.setStatus(CONFIRM_STATE);\n } else if (status === CONFIRM_STATE) {\n return props.onSubmit();\n }\n };\n\n const handleEdit = () => {\n return this.setStatus(ENTER_STATE);\n };\n\n useEffect(() => {\n props.onChange({ data, valid, errors, isValid });\n }, [data, valid, errors, isValid]);\n\n return (\n <div\n className={classNames({\n 'adyen-checkout__bacs': true,\n 'adyen-checkout__bacs--confirm': status === CONFIRM_STATE || status === 'loading'\n })}\n >\n <FormInstruction />\n\n {status == CONFIRM_STATE && (\n <div\n className={classNames({\n 'adyen-checkout__bacs--edit': true,\n 'adyen-checkout__bacs--edit-dropin': props.isDropin\n })}\n >\n <InputText\n name={'bacsEdit'}\n className={'adyen-checkout__bacs--edit-button'}\n value={i18n.get('edit')}\n aria-label={i18n.get('edit')}\n readonly={true}\n onClick={handleEdit}\n />\n </div>\n )}\n\n <Field\n className={classNames({\n 'adyen-checkout__bacs--holder-name': true,\n 'adyen-checkout__field--inactive': status === CONFIRM_STATE || status === 'loading'\n })}\n label={i18n.get('bacs.accountHolderName')}\n errorMessage={errors.holderName ? i18n.get('bacs.accountHolderName.invalid') : false}\n isValid={valid.holderName}\n name={'accountHolderName'}\n i18n={i18n}\n >\n <InputText\n name={'bacs.accountHolderName'}\n className={'adyen-checkout__bacs-input--holder-name'}\n placeholder={props.placeholders.holderName}\n value={data.holderName}\n aria-invalid={!valid.holderName}\n aria-label={i18n.get('bacs.accountHolderName')}\n aria-required={'true'}\n required={true}\n readonly={status === CONFIRM_STATE || status === 'loading'}\n autocorrect={'off'}\n onBlur={handleChangeFor('holderName', 'blur')}\n onInput={handleChangeFor('holderName', 'input')}\n />\n </Field>\n\n <div className=\"adyen-checkout__bacs__num-id adyen-checkout__field-wrapper\">\n <Field\n errorMessage={!!errors.bankAccountNumber && i18n.get('bacs.accountNumber.invalid')}\n label={i18n.get('bacs.accountNumber')}\n className={classNames({\n 'adyen-checkout__bacs--bank-account-number': true,\n 'adyen-checkout__field--inactive': status === CONFIRM_STATE || status === 'loading'\n })}\n classNameModifiers={['col-70']}\n isValid={valid.bankAccountNumber}\n name={'bankAccountNumber'}\n i18n={i18n}\n >\n <InputText\n value={data.bankAccountNumber}\n className={'adyen-checkout__bacs-input--bank-account-number'}\n placeholder={props.placeholders.bankAccountNumber}\n aria-invalid={!valid.bankAccountNumber}\n aria-label={i18n.get('bacs.accountNumber')}\n aria-required={'true'}\n required={true}\n readonly={status === CONFIRM_STATE || status === 'loading'}\n autocorrect={'off'}\n onBlur={handleChangeFor('bankAccountNumber', 'blur')}\n onInput={handleChangeFor('bankAccountNumber', 'input')}\n />\n </Field>\n\n <Field\n errorMessage={!!errors.bankLocationId && i18n.get('bacs.bankLocationId.invalid')}\n label={i18n.get('bacs.bankLocationId')}\n className={classNames({\n 'adyen-checkout__bacs--bank-location-id': true,\n 'adyen-checkout__field--inactive': status === CONFIRM_STATE || status === 'loading'\n })}\n classNameModifiers={['col-30']}\n isValid={valid.bankLocationId}\n name={'bankLocationId'}\n i18n={i18n}\n >\n <InputText\n value={data.bankLocationId}\n className={'adyen-checkout__bacs-input--bank-location-id'}\n placeholder={props.placeholders.bankLocationId}\n aria-invalid={!valid.bankLocationId}\n aria-label={i18n.get('bacs.bankLocationId')}\n aria-required={'true'}\n required={true}\n readonly={status === CONFIRM_STATE || status === 'loading'}\n autocorrect={'off'}\n onBlur={handleChangeFor('bankLocationId', 'blur')}\n onInput={handleChangeFor('bankLocationId', 'input')}\n />\n </Field>\n </div>\n\n <Field\n errorMessage={getErrorMessage(i18n, errors.shopperEmail, i18n.get('shopperEmail'))}\n label={i18n.get('shopperEmail')}\n className={classNames({\n 'adyen-checkout__bacs--shopper-email': true,\n 'adyen-checkout__field--inactive': status === CONFIRM_STATE || status === 'loading'\n })}\n isValid={valid.shopperEmail}\n name={'emailAddress'}\n i18n={i18n}\n >\n <InputEmail\n value={data.shopperEmail}\n name={'shopperEmail'}\n className={'adyen-checkout__bacs-input--shopper-email'}\n classNameModifiers={['large']}\n placeholder={props.placeholders.shopperEmail}\n spellcheck={false}\n aria-invalid={!valid.shopperEmail}\n aria-label={i18n.get('shopperEmail')}\n aria-required={'true'}\n required={true}\n readonly={status === CONFIRM_STATE || status === 'loading'}\n autocorrect={'off'}\n onInput={handleChangeFor('shopperEmail', 'input')}\n onBlur={handleChangeFor('shopperEmail', 'blur')}\n />\n </Field>\n\n {status === ENTER_STATE && (\n <ConsentCheckbox\n classNameModifiers={['amountConsentCheckbox']}\n errorMessage={!!errors.amountConsentCheckbox}\n label={i18n.get('bacs.consent.amount')}\n onChange={handleChangeFor('amountConsentCheckbox')}\n checked={!!data.amountConsentCheckbox}\n i18n={i18n}\n />\n )}\n\n {status === ENTER_STATE && (\n <ConsentCheckbox\n classNameModifiers={['accountConsentCheckbox']}\n errorMessage={!!errors.accountConsentCheckbox}\n label={i18n.get('bacs.consent.account')}\n onChange={handleChangeFor('accountConsentCheckbox')}\n checked={!!data.accountConsentCheckbox}\n i18n={i18n}\n />\n )}\n\n {props.showPayButton &&\n props.payButton({\n status,\n label:\n status === ENTER_STATE\n ? i18n.get('continue')\n : `${i18n.get('bacs.confirm')} ${\n !!amount?.value && !!amount?.currency ? i18n.amount(amount.value, amount.currency) : ''\n }`,\n icon: getImage({ imageFolder: 'components/' })(`${PREFIX}lock`),\n onClick: handlePayButton\n })}\n </div>\n );\n}\n\nBacsInput.defaultProps = {\n data: {},\n placeholders: {}\n};\n\nexport default BacsInput;\n"],"names":["ENTER_STATE","CONFIRM_STATE","BacsInput","props","i18n","useCoreContext","getImage","useImage","amount","useAmount","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","schema","defaultData","formatters","bacsFormatters","rules","bacsValidationRules","status","setStatus","useState","this","showValidation","useEffect","onChange","h","div","className","classNames","FormInstruction","isDropin","InputText","name","value","get","aria-label","readonly","onClick","Field","label","errorMessage","holderName","placeholder","placeholders","aria-invalid","aria-required","required","autocorrect","onBlur","onInput","bankAccountNumber","classNameModifiers","bankLocationId","getErrorMessage","shopperEmail","InputEmail","spellcheck","ConsentCheckbox","amountConsentCheckbox","checked","accountConsentCheckbox","showPayButton","payButton","currency","icon","imageFolder","PREFIX","onSubmit","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"BacsInput.js","sources":["../../../../../src/components/BacsDD/components/BacsInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect } from 'preact/hooks';\nimport classNames from 'classnames';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport Field from '../../internal/FormFields/Field';\nimport ConsentCheckbox from '../../internal/FormFields/ConsentCheckbox';\nimport { bacsValidationRules, bacsFormatters } from './validate';\nimport { BacsDataState, BacsInputProps } from './types';\nimport './BacsInput.scss';\n\nimport useForm from '../../../utils/useForm';\nimport useImage from '../../../core/Context/useImage';\nimport InputText from '../../internal/FormFields/InputText';\nimport InputEmail from '../../internal/FormFields/InputEmail';\nimport FormInstruction from '../../internal/FormInstruction';\nimport { getErrorMessage } from '../../../utils/getErrorMessage';\nimport { PREFIX } from '../../internal/Icon/constants';\nimport { useAmount } from '../../../core/Context/AmountProvider';\n\nconst ENTER_STATE = 'enter-data';\nconst CONFIRM_STATE = 'confirm-data';\n\nfunction BacsInput(props: Readonly<BacsInputProps>) {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n const { amount } = useAmount();\n\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<BacsDataState>({\n schema: ['holderName', 'bankAccountNumber', 'bankLocationId', 'shopperEmail', 'amountConsentCheckbox', 'accountConsentCheckbox'],\n defaultData: props.data,\n formatters: bacsFormatters,\n rules: bacsValidationRules\n });\n\n const [status, setStatus] = useState(ENTER_STATE);\n this.setStatus = setStatus;\n this.showValidation = triggerValidation;\n\n const handlePayButton = () => {\n if (!isValid) return this.showValidation();\n\n if (status === ENTER_STATE) {\n return this.setStatus(CONFIRM_STATE);\n } else if (status === CONFIRM_STATE) {\n return props.onSubmit();\n }\n };\n\n const handleEdit = () => {\n return this.setStatus(ENTER_STATE);\n };\n\n useEffect(() => {\n props.onChange({ data, valid, errors, isValid });\n }, [data, valid, errors, isValid]);\n\n return (\n <div\n className={classNames({\n 'adyen-checkout__bacs': true,\n 'adyen-checkout__bacs--confirm': status === CONFIRM_STATE || status === 'loading'\n })}\n >\n <FormInstruction />\n\n {status == CONFIRM_STATE && (\n <div\n className={classNames({\n 'adyen-checkout__bacs--edit': true,\n 'adyen-checkout__bacs--edit-dropin': props.isDropin\n })}\n >\n <InputText\n name={'bacsEdit'}\n className={'adyen-checkout__bacs--edit-button'}\n value={i18n.get('edit')}\n aria-label={i18n.get('edit')}\n readonly={true}\n onClick={handleEdit}\n />\n </div>\n )}\n\n <Field\n className={classNames({\n 'adyen-checkout__bacs--holder-name': true,\n 'adyen-checkout__field--inactive': status === CONFIRM_STATE || status === 'loading'\n })}\n label={i18n.get('bacs.accountHolderName')}\n errorMessage={errors.holderName ? i18n.get('bacs.accountHolderName.invalid') : false}\n isValid={valid.holderName}\n name={'accountHolderName'}\n i18n={i18n}\n >\n <InputText\n name={'bacs.accountHolderName'}\n className={'adyen-checkout__bacs-input--holder-name'}\n placeholder={props.placeholders.holderName}\n value={data.holderName}\n aria-invalid={!valid.holderName}\n aria-label={i18n.get('bacs.accountHolderName')}\n aria-required={'true'}\n required={true}\n readonly={status === CONFIRM_STATE || status === 'loading'}\n autocorrect={'off'}\n onBlur={handleChangeFor('holderName', 'blur')}\n onInput={handleChangeFor('holderName', 'input')}\n />\n </Field>\n\n <div className=\"adyen-checkout__bacs__num-id adyen-checkout__field-wrapper\">\n <Field\n errorMessage={!!errors.bankAccountNumber && i18n.get('bacs.accountNumber.invalid')}\n label={i18n.get('bacs.accountNumber')}\n className={classNames({\n 'adyen-checkout__bacs--bank-account-number': true,\n 'adyen-checkout__field--inactive': status === CONFIRM_STATE || status === 'loading'\n })}\n classNameModifiers={['col-70']}\n isValid={valid.bankAccountNumber}\n name={'bankAccountNumber'}\n i18n={i18n}\n >\n <InputText\n value={data.bankAccountNumber}\n className={'adyen-checkout__bacs-input--bank-account-number'}\n placeholder={props.placeholders.bankAccountNumber}\n aria-invalid={!valid.bankAccountNumber}\n aria-label={i18n.get('bacs.accountNumber')}\n aria-required={'true'}\n required={true}\n readonly={status === CONFIRM_STATE || status === 'loading'}\n autocorrect={'off'}\n onBlur={handleChangeFor('bankAccountNumber', 'blur')}\n onInput={handleChangeFor('bankAccountNumber', 'input')}\n />\n </Field>\n\n <Field\n errorMessage={!!errors.bankLocationId && i18n.get('bacs.bankLocationId.invalid')}\n label={i18n.get('bacs.bankLocationId')}\n className={classNames({\n 'adyen-checkout__bacs--bank-location-id': true,\n 'adyen-checkout__field--inactive': status === CONFIRM_STATE || status === 'loading'\n })}\n classNameModifiers={['col-30']}\n isValid={valid.bankLocationId}\n name={'bankLocationId'}\n i18n={i18n}\n >\n <InputText\n value={data.bankLocationId}\n className={'adyen-checkout__bacs-input--bank-location-id'}\n placeholder={props.placeholders.bankLocationId}\n aria-invalid={!valid.bankLocationId}\n aria-label={i18n.get('bacs.bankLocationId')}\n aria-required={'true'}\n required={true}\n readonly={status === CONFIRM_STATE || status === 'loading'}\n autocorrect={'off'}\n onBlur={handleChangeFor('bankLocationId', 'blur')}\n onInput={handleChangeFor('bankLocationId', 'input')}\n />\n </Field>\n </div>\n\n <Field\n errorMessage={getErrorMessage(i18n, errors.shopperEmail, i18n.get('shopperEmail'))}\n label={i18n.get('shopperEmail')}\n className={classNames({\n 'adyen-checkout__bacs--shopper-email': true,\n 'adyen-checkout__field--inactive': status === CONFIRM_STATE || status === 'loading'\n })}\n isValid={valid.shopperEmail}\n name={'emailAddress'}\n i18n={i18n}\n >\n <InputEmail\n value={data.shopperEmail}\n name={'shopperEmail'}\n className={'adyen-checkout__bacs-input--shopper-email'}\n classNameModifiers={['large']}\n placeholder={props.placeholders.shopperEmail}\n spellcheck={false}\n aria-invalid={!valid.shopperEmail}\n aria-label={i18n.get('shopperEmail')}\n aria-required={'true'}\n required={true}\n readonly={status === CONFIRM_STATE || status === 'loading'}\n autocorrect={'off'}\n onInput={handleChangeFor('shopperEmail', 'input')}\n onBlur={handleChangeFor('shopperEmail', 'blur')}\n />\n </Field>\n\n {status === ENTER_STATE && (\n <ConsentCheckbox\n classNameModifiers={['amountConsentCheckbox']}\n errorMessage={!!errors.amountConsentCheckbox}\n label={i18n.get('bacs.consent.amount')}\n onChange={handleChangeFor('amountConsentCheckbox')}\n checked={!!data.amountConsentCheckbox}\n i18n={i18n}\n />\n )}\n\n {status === ENTER_STATE && (\n <ConsentCheckbox\n classNameModifiers={['accountConsentCheckbox']}\n errorMessage={!!errors.accountConsentCheckbox}\n label={i18n.get('bacs.consent.account')}\n onChange={handleChangeFor('accountConsentCheckbox')}\n checked={!!data.accountConsentCheckbox}\n i18n={i18n}\n />\n )}\n\n {props.showPayButton &&\n props.payButton({\n status,\n label:\n status === ENTER_STATE\n ? i18n.get('continue')\n : `${i18n.get('bacs.confirm')} ${\n !!amount?.value && !!amount?.currency ? i18n.amount(amount.value, amount.currency) : ''\n }`,\n icon: getImage({ imageFolder: 'components/' })(`${PREFIX}lock`),\n onClick: handlePayButton\n })}\n </div>\n );\n}\n\nBacsInput.defaultProps = {\n data: {},\n placeholders: {}\n};\n\nexport default BacsInput;\n"],"names":["ENTER_STATE","CONFIRM_STATE","BacsInput","props","i18n","useCoreContext","getImage","useImage","amount","useAmount","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","schema","defaultData","formatters","bacsFormatters","rules","bacsValidationRules","status","setStatus","useState","this","showValidation","useEffect","onChange","h","div","className","classNames","FormInstruction","isDropin","InputText","name","value","get","aria-label","readonly","onClick","Field","label","errorMessage","holderName","placeholder","placeholders","aria-invalid","aria-required","required","autocorrect","onBlur","onInput","bankAccountNumber","classNameModifiers","bankLocationId","getErrorMessage","shopperEmail","InputEmail","spellcheck","ConsentCheckbox","amountConsentCheckbox","checked","accountConsentCheckbox","showPayButton","payButton","currency","icon","imageFolder","PREFIX","onSubmit","defaultProps"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BankTransfer.js","sources":["../../../../src/components/BankTransfer/BankTransfer.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport RedirectButton from '../internal/RedirectButton';\nimport { BankTransferConfiguration, BankTransferState } from './types';\nimport BankTransferResult from './components/BankTransferResult';\nimport BankTransferInput from './components/BankTransferInput';\nimport { TxVariants } from '../tx-variants';\n\nexport class BankTransferElement extends UIElement<BankTransferConfiguration> {\n public static type = TxVariants.bankTransfer_IBAN;\n public static txVariants = [\n TxVariants.bankTransfer_IBAN,\n TxVariants.bankTransfer_BE,\n TxVariants.bankTransfer_NL,\n TxVariants.bankTransfer_PL,\n TxVariants.bankTransfer_FR,\n TxVariants.bankTransfer_CH,\n TxVariants.bankTransfer_IE,\n TxVariants.bankTransfer_GB,\n TxVariants.bankTransfer_DE,\n TxVariants.bankTransfer_AE,\n TxVariants.bankTransfer_AT,\n TxVariants.bankTransfer_AU,\n TxVariants.bankTransfer_BG,\n TxVariants.bankTransfer_CA,\n TxVariants.bankTransfer_EE,\n TxVariants.bankTransfer_ES,\n TxVariants.bankTransfer_FI,\n TxVariants.bankTransfer_HK,\n TxVariants.bankTransfer_HU,\n TxVariants.bankTransfer_IT,\n TxVariants.bankTransfer_JP,\n TxVariants.bankTransfer_LU,\n TxVariants.bankTransfer_NZ,\n TxVariants.bankTransfer_PT,\n TxVariants.bankTransfer_SG,\n TxVariants.bankTransfer_SK,\n TxVariants.bankTransfer_US\n ];\n\n public static defaultProps = {\n showEmailAddress: true,\n showContextualElement: true,\n data: { shopperEmail: '' }\n };\n\n // @ts-ignore Double check why state extends all props\n public state: BankTransferState = {\n isValid: !this.props.showEmailAddress,\n data: {}\n };\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const { shopperEmail } = this.state.data;\n const subtype = this.type !== (TxVariants.bankTransfer_IBAN as string) ? { subtype: 'embedded' } : {};\n\n return {\n paymentMethod: {\n type: this.type,\n ...subtype\n },\n ...(shopperEmail && { shopperEmail })\n };\n }\n\n protected override componentToRender(): h.JSX.Element {\n if (this.props.reference) {\n return <BankTransferResult {...this.props} onActionHandled={this.onActionHandled} />;\n }\n\n return (\n <Fragment>\n {this.props.showEmailAddress && <BankTransferInput setComponentRef={this.setComponentRef} {...this.props} onChange={this.setState} />}\n <RedirectButton\n {...this.props}\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </Fragment>\n );\n }\n}\n\nexport default BankTransferElement;\n"],"names":["BankTransferElement","UIElement","isValid","this","state","formatData","shopperEmail","data","subtype","type","TxVariants","bankTransfer_IBAN","paymentMethod","componentToRender","props","reference","h","BankTransferResult","onActionHandled","Fragment","showEmailAddress","BankTransferInput","setComponentRef","onChange","setState","RedirectButton","showPayButton","name","displayName","onSubmit","submit","payButton","super","args","_define_property","txVariants","bankTransfer_BE","bankTransfer_NL","bankTransfer_PL","bankTransfer_FR","bankTransfer_CH","bankTransfer_IE","bankTransfer_GB","bankTransfer_DE","bankTransfer_AE","bankTransfer_AT","bankTransfer_AU","bankTransfer_BG","bankTransfer_CA","bankTransfer_EE","bankTransfer_ES","bankTransfer_FI","bankTransfer_HK","bankTransfer_HU","bankTransfer_IT","bankTransfer_JP","bankTransfer_LU","bankTransfer_NZ","bankTransfer_PT","bankTransfer_SG","bankTransfer_SK","bankTransfer_US","defaultProps","showContextualElement"],"mappings":"6fAQO,MAAMA,UAA4BC,EA4CrC,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAKAG,UAAAA,GACI,MAAMC,aAAEA,GAAiBH,KAAKC,MAAMG,KAC9BC,EAAUL,KAAKM,OAAUC,EAAWC,kBAA+B,CAAEH,QAAS,YAAe,CAAA,EAEnG,MAAO,CACHI,cAAe,CACXH,KAAMN,KAAKM,QACRD,MAEHF,GAAgB,CAAEA,gBAE9B,CAEmBO,iBAAAA,GACf,OAAIV,KAAKW,MAAMC,UACJC,EAACC,EAAAA,IAAuBd,KAAKW,MAAOI,gBAAiBf,KAAKe,kBAIjEF,EAACG,OACIhB,KAAKW,MAAMM,kBAAoBJ,EAACK,EAAAA,CAAkBC,gBAAiBnB,KAAKmB,mBAAqBnB,KAAKW,MAAOS,SAAUpB,KAAKqB,WACzHR,EAACS,EAAAA,IACOtB,KAAKW,MACTY,cAAevB,KAAKW,MAAMY,cAC1BC,KAAMxB,KAAKyB,YACXC,SAAU1B,KAAK2B,OACfC,UAAW5B,KAAK4B,YAIhC,mBAjFGC,SAAAC,GAuCHC,EAAA/B,KAAOC,QAA2B,CAC9BF,SAAUC,KAAKW,MAAMM,iBACrBb,KAAM,CAAA,KAxCV2B,EADSlC,EACKS,OAAOC,EAAWC,mBAChCuB,EAFSlC,EAEKmC,aAAa,CACvBzB,EAAWC,kBACXD,EAAW0B,gBACX1B,EAAW2B,gBACX3B,EAAW4B,gBACX5B,EAAW6B,gBACX7B,EAAW8B,gBACX9B,EAAW+B,gBACX/B,EAAWgC,gBACXhC,EAAWiC,gBACXjC,EAAWkC,gBACXlC,EAAWmC,gBACXnC,EAAWoC,gBACXpC,EAAWqC,gBACXrC,EAAWsC,gBACXtC,EAAWuC,gBACXvC,EAAWwC,gBACXxC,EAAWyC,gBACXzC,EAAW0C,gBACX1C,EAAW2C,gBACX3C,EAAW4C,gBACX5C,EAAW6C,gBACX7C,EAAW8C,gBACX9C,EAAW+C,gBACX/C,EAAWgD,gBACXhD,EAAWiD,gBACXjD,EAAWkD,gBACXlD,EAAWmD,kBAGf3B,EAhCSlC,EAgCK8D,eAAe,CACzB1C,kBAAkB,EAClB2C,uBAAuB,EACvBxD,KAAM,CAAED,aAAc"}
1
+ {"version":3,"file":"BankTransfer.js","sources":["../../../../src/components/BankTransfer/BankTransfer.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport RedirectButton from '../internal/RedirectButton';\nimport { BankTransferConfiguration, BankTransferState } from './types';\nimport BankTransferResult from './components/BankTransferResult';\nimport BankTransferInput from './components/BankTransferInput';\nimport { TxVariants } from '../tx-variants';\n\nexport class BankTransferElement extends UIElement<BankTransferConfiguration> {\n public static readonly type = TxVariants.bankTransfer_IBAN;\n public static readonly txVariants = [\n TxVariants.bankTransfer_IBAN,\n TxVariants.bankTransfer_BE,\n TxVariants.bankTransfer_NL,\n TxVariants.bankTransfer_PL,\n TxVariants.bankTransfer_FR,\n TxVariants.bankTransfer_CH,\n TxVariants.bankTransfer_IE,\n TxVariants.bankTransfer_GB,\n TxVariants.bankTransfer_DE,\n TxVariants.bankTransfer_AE,\n TxVariants.bankTransfer_AT,\n TxVariants.bankTransfer_AU,\n TxVariants.bankTransfer_BG,\n TxVariants.bankTransfer_CA,\n TxVariants.bankTransfer_EE,\n TxVariants.bankTransfer_ES,\n TxVariants.bankTransfer_FI,\n TxVariants.bankTransfer_HK,\n TxVariants.bankTransfer_HU,\n TxVariants.bankTransfer_IT,\n TxVariants.bankTransfer_JP,\n TxVariants.bankTransfer_LU,\n TxVariants.bankTransfer_NZ,\n TxVariants.bankTransfer_PT,\n TxVariants.bankTransfer_SG,\n TxVariants.bankTransfer_SK,\n TxVariants.bankTransfer_US\n ];\n\n public static readonly defaultProps = {\n showEmailAddress: true,\n showContextualElement: true,\n data: { shopperEmail: '' }\n };\n\n // @ts-ignore Double check why state extends all props\n public state: BankTransferState = {\n isValid: !this.props.showEmailAddress,\n data: {}\n };\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const { shopperEmail } = this.state.data;\n const subtype = this.type !== (TxVariants.bankTransfer_IBAN as string) ? { subtype: 'embedded' } : {};\n\n return {\n paymentMethod: {\n type: this.type,\n ...subtype\n },\n ...(shopperEmail && { shopperEmail })\n };\n }\n\n protected override componentToRender(): h.JSX.Element {\n if (this.props.reference) {\n return <BankTransferResult {...this.props} onActionHandled={this.onActionHandled} />;\n }\n\n return (\n <Fragment>\n {this.props.showEmailAddress && <BankTransferInput setComponentRef={this.setComponentRef} {...this.props} onChange={this.setState} />}\n <RedirectButton\n {...this.props}\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </Fragment>\n );\n }\n}\n\nexport default BankTransferElement;\n"],"names":["BankTransferElement","UIElement","isValid","this","state","formatData","shopperEmail","data","subtype","type","TxVariants","bankTransfer_IBAN","paymentMethod","componentToRender","props","reference","h","BankTransferResult","onActionHandled","Fragment","showEmailAddress","BankTransferInput","setComponentRef","onChange","setState","RedirectButton","showPayButton","name","displayName","onSubmit","submit","payButton","super","args","_define_property","txVariants","bankTransfer_BE","bankTransfer_NL","bankTransfer_PL","bankTransfer_FR","bankTransfer_CH","bankTransfer_IE","bankTransfer_GB","bankTransfer_DE","bankTransfer_AE","bankTransfer_AT","bankTransfer_AU","bankTransfer_BG","bankTransfer_CA","bankTransfer_EE","bankTransfer_ES","bankTransfer_FI","bankTransfer_HK","bankTransfer_HU","bankTransfer_IT","bankTransfer_JP","bankTransfer_LU","bankTransfer_NZ","bankTransfer_PT","bankTransfer_SG","bankTransfer_SK","bankTransfer_US","defaultProps","showContextualElement"],"mappings":"6fAQO,MAAMA,UAA4BC,EA4CrC,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAKAG,UAAAA,GACI,MAAMC,aAAEA,GAAiBH,KAAKC,MAAMG,KAC9BC,EAAUL,KAAKM,OAAUC,EAAWC,kBAA+B,CAAEH,QAAS,YAAe,CAAA,EAEnG,MAAO,CACHI,cAAe,CACXH,KAAMN,KAAKM,QACRD,MAEHF,GAAgB,CAAEA,gBAE9B,CAEmBO,iBAAAA,GACf,OAAIV,KAAKW,MAAMC,UACJC,EAACC,EAAAA,IAAuBd,KAAKW,MAAOI,gBAAiBf,KAAKe,kBAIjEF,EAACG,OACIhB,KAAKW,MAAMM,kBAAoBJ,EAACK,EAAAA,CAAkBC,gBAAiBnB,KAAKmB,mBAAqBnB,KAAKW,MAAOS,SAAUpB,KAAKqB,WACzHR,EAACS,EAAAA,IACOtB,KAAKW,MACTY,cAAevB,KAAKW,MAAMY,cAC1BC,KAAMxB,KAAKyB,YACXC,SAAU1B,KAAK2B,OACfC,UAAW5B,KAAK4B,YAIhC,mBAjFGC,SAAAC,GAuCHC,EAAA/B,KAAOC,QAA2B,CAC9BF,SAAUC,KAAKW,MAAMM,iBACrBb,KAAM,CAAA,KAxCV2B,EADSlC,EACcS,OAAOC,EAAWC,mBACzCuB,EAFSlC,EAEcmC,aAAa,CAChCzB,EAAWC,kBACXD,EAAW0B,gBACX1B,EAAW2B,gBACX3B,EAAW4B,gBACX5B,EAAW6B,gBACX7B,EAAW8B,gBACX9B,EAAW+B,gBACX/B,EAAWgC,gBACXhC,EAAWiC,gBACXjC,EAAWkC,gBACXlC,EAAWmC,gBACXnC,EAAWoC,gBACXpC,EAAWqC,gBACXrC,EAAWsC,gBACXtC,EAAWuC,gBACXvC,EAAWwC,gBACXxC,EAAWyC,gBACXzC,EAAW0C,gBACX1C,EAAW2C,gBACX3C,EAAW4C,gBACX5C,EAAW6C,gBACX7C,EAAW8C,gBACX9C,EAAW+C,gBACX/C,EAAWgD,gBACXhD,EAAWiD,gBACXjD,EAAWkD,gBACXlD,EAAWmD,kBAGf3B,EAhCSlC,EAgCc8D,eAAe,CAClC1C,kBAAkB,EAClB2C,uBAAuB,EACvBxD,KAAM,CAAED,aAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"BankTransferResult.js","sources":["../../../../../../src/components/BankTransfer/components/BankTransferResult/BankTransferResult.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport useImage from '../../../../core/Context/useImage';\nimport DetailsTable from '../../../internal/DetailsTable';\nimport { BankTransferResultInstructions } from './BankTransferResultInstructions';\nimport BankTransferVoucher from './BankTransferVoucher';\nimport type { ActionHandledReturnObject } from '../../../../types/global-types';\n\nexport interface BankTransferResultProps {\n paymentMethodType?: string;\n reference?: string;\n totalAmount?: { value: number; currency: string };\n beneficiary?: string;\n iban?: string;\n bic?: string;\n accountNumber?: string;\n sortCode?: string;\n routingNumber?: string;\n branchCode?: string;\n bankCode?: string;\n onActionHandled?: (actionHandledObj: ActionHandledReturnObject) => void;\n}\n\nexport default function BankTransferResult(props: BankTransferResultProps) {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n\n // we don't have to filter these values here, they get filtered inside the DetailsTable component\n const tableFields = [\n { label: i18n.get('bankTransfer.beneficiary'), value: props.beneficiary },\n { label: i18n.get('bankTransfer.accountNumber'), value: props.accountNumber },\n { label: i18n.get('bankTransfer.sortCode'), value: props.sortCode },\n { label: i18n.get('bankTransfer.routingNumber'), value: props.routingNumber },\n { label: i18n.get('bankTransfer.iban'), value: props.iban },\n { label: i18n.get('bankTransfer.branchCode'), value: props.branchCode },\n { label: i18n.get('bankTransfer.bankCode'), value: props.bankCode },\n { label: i18n.get('bankTransfer.reference'), value: props.reference },\n { label: i18n.get('bankTransfer.bic'), value: props.bic }\n ];\n\n return (\n <BankTransferVoucher\n paymentMethodType={props.paymentMethodType}\n imageUrl={getImage()(props.paymentMethodType)}\n onActionHandled={props.onActionHandled}\n amount={i18n.amount(props.totalAmount.value, props.totalAmount.currency)}\n instructions={<BankTransferResultInstructions />}\n voucherDetails={<DetailsTable shouldShowCopyButton tableFields={tableFields} />}\n />\n );\n}\n"],"names":["BankTransferResult","props","i18n","useCoreContext","getImage","useImage","tableFields","label","get","value","beneficiary","accountNumber","sortCode","routingNumber","iban","branchCode","bankCode","reference","bic","h","BankTransferVoucher","paymentMethodType","imageUrl","onActionHandled","amount","totalAmount","currency","instructions","BankTransferResultInstructions","voucherDetails","DetailsTable","shouldShowCopyButton"],"mappings":"oYAuBe,SAASA,EAAmBC,GACvC,MAAMC,KAAEA,GAASC,IACXC,EAAWC,IAGXC,EAAc,CAChB,CAAEC,MAAOL,EAAKM,IAAI,4BAA6BC,MAAOR,EAAMS,aAC5D,CAAEH,MAAOL,EAAKM,IAAI,8BAA+BC,MAAOR,EAAMU,eAC9D,CAAEJ,MAAOL,EAAKM,IAAI,yBAA0BC,MAAOR,EAAMW,UACzD,CAAEL,MAAOL,EAAKM,IAAI,8BAA+BC,MAAOR,EAAMY,eAC9D,CAAEN,MAAOL,EAAKM,IAAI,qBAAsBC,MAAOR,EAAMa,MACrD,CAAEP,MAAOL,EAAKM,IAAI,2BAA4BC,MAAOR,EAAMc,YAC3D,CAAER,MAAOL,EAAKM,IAAI,yBAA0BC,MAAOR,EAAMe,UACzD,CAAET,MAAOL,EAAKM,IAAI,0BAA2BC,MAAOR,EAAMgB,WAC1D,CAAEV,MAAOL,EAAKM,IAAI,oBAAqBC,MAAOR,EAAMiB,MAGxD,OACIC,EAACC,EAAAA,CACGC,kBAAmBpB,EAAMoB,kBACzBC,SAAUlB,IAAWH,EAAMoB,mBAC3BE,gBAAiBtB,EAAMsB,gBACvBC,OAAQtB,EAAKsB,OAAOvB,EAAMwB,YAAYhB,MAAOR,EAAMwB,YAAYC,UAC/DC,aAAcR,EAACS,EAAAA,MACfC,eAAgBV,EAACW,EAAAA,CAAaC,sBAAAA,EAAqBzB,YAAaA,KAG5E"}
1
+ {"version":3,"file":"BankTransferResult.js","sources":["../../../../../../src/components/BankTransfer/components/BankTransferResult/BankTransferResult.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport useImage from '../../../../core/Context/useImage';\nimport DetailsTable from '../../../internal/DetailsTable';\nimport { BankTransferResultInstructions } from './BankTransferResultInstructions';\nimport BankTransferVoucher from './BankTransferVoucher';\nimport type { ActionHandledReturnObject } from '../../../../types/global-types';\n\nexport interface BankTransferResultProps {\n paymentMethodType?: string;\n reference?: string;\n totalAmount?: { value: number; currency: string };\n beneficiary?: string;\n iban?: string;\n bic?: string;\n accountNumber?: string;\n sortCode?: string;\n routingNumber?: string;\n branchCode?: string;\n bankCode?: string;\n onActionHandled?: (actionHandledObj: ActionHandledReturnObject) => void;\n}\n\nexport default function BankTransferResult(props: Readonly<BankTransferResultProps>) {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n\n // we don't have to filter these values here, they get filtered inside the DetailsTable component\n const tableFields = [\n { label: i18n.get('bankTransfer.beneficiary'), value: props.beneficiary },\n { label: i18n.get('bankTransfer.accountNumber'), value: props.accountNumber },\n { label: i18n.get('bankTransfer.sortCode'), value: props.sortCode },\n { label: i18n.get('bankTransfer.routingNumber'), value: props.routingNumber },\n { label: i18n.get('bankTransfer.iban'), value: props.iban },\n { label: i18n.get('bankTransfer.branchCode'), value: props.branchCode },\n { label: i18n.get('bankTransfer.bankCode'), value: props.bankCode },\n { label: i18n.get('bankTransfer.reference'), value: props.reference },\n { label: i18n.get('bankTransfer.bic'), value: props.bic }\n ];\n\n return (\n <BankTransferVoucher\n paymentMethodType={props.paymentMethodType}\n imageUrl={getImage()(props.paymentMethodType)}\n onActionHandled={props.onActionHandled}\n amount={i18n.amount(props.totalAmount.value, props.totalAmount.currency)}\n instructions={<BankTransferResultInstructions />}\n voucherDetails={<DetailsTable shouldShowCopyButton tableFields={tableFields} />}\n />\n );\n}\n"],"names":["BankTransferResult","props","i18n","useCoreContext","getImage","useImage","tableFields","label","get","value","beneficiary","accountNumber","sortCode","routingNumber","iban","branchCode","bankCode","reference","bic","h","BankTransferVoucher","paymentMethodType","imageUrl","onActionHandled","amount","totalAmount","currency","instructions","BankTransferResultInstructions","voucherDetails","DetailsTable","shouldShowCopyButton"],"mappings":"oYAuBe,SAASA,EAAmBC,GACvC,MAAMC,KAAEA,GAASC,IACXC,EAAWC,IAGXC,EAAc,CAChB,CAAEC,MAAOL,EAAKM,IAAI,4BAA6BC,MAAOR,EAAMS,aAC5D,CAAEH,MAAOL,EAAKM,IAAI,8BAA+BC,MAAOR,EAAMU,eAC9D,CAAEJ,MAAOL,EAAKM,IAAI,yBAA0BC,MAAOR,EAAMW,UACzD,CAAEL,MAAOL,EAAKM,IAAI,8BAA+BC,MAAOR,EAAMY,eAC9D,CAAEN,MAAOL,EAAKM,IAAI,qBAAsBC,MAAOR,EAAMa,MACrD,CAAEP,MAAOL,EAAKM,IAAI,2BAA4BC,MAAOR,EAAMc,YAC3D,CAAER,MAAOL,EAAKM,IAAI,yBAA0BC,MAAOR,EAAMe,UACzD,CAAET,MAAOL,EAAKM,IAAI,0BAA2BC,MAAOR,EAAMgB,WAC1D,CAAEV,MAAOL,EAAKM,IAAI,oBAAqBC,MAAOR,EAAMiB,MAGxD,OACIC,EAACC,EAAAA,CACGC,kBAAmBpB,EAAMoB,kBACzBC,SAAUlB,IAAWH,EAAMoB,mBAC3BE,gBAAiBtB,EAAMsB,gBACvBC,OAAQtB,EAAKsB,OAAOvB,EAAMwB,YAAYhB,MAAOR,EAAMwB,YAAYC,UAC/DC,aAAcR,EAACS,EAAAA,MACfC,eAAgBV,EAACW,EAAAA,CAAaC,sBAAAA,EAAqBzB,YAAaA,KAG5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"BcmcMobile.js","sources":["../../../../src/components/BcmcMobile/BcmcMobile.ts"],"sourcesContent":["import QRLoaderContainer from '../helpers/QRLoaderContainer/QRLoaderContainer';\nimport { STATUS_INTERVAL, COUNTDOWN_MINUTES } from './config';\nimport { TxVariants } from '../tx-variants';\n\nclass BCMCMobileElement extends QRLoaderContainer {\n public static type = TxVariants.bcmc_mobile;\n public static txVariants = [TxVariants.bcmc_mobile, TxVariants.bcmc_mobile_QR];\n\n formatProps(props) {\n return {\n delay: STATUS_INTERVAL,\n countdownTime: COUNTDOWN_MINUTES,\n timeToPay: 'payme.timeToPay',\n ...super.formatProps(props)\n };\n }\n}\n\nexport default BCMCMobileElement;\n"],"names":["BCMCMobileElement","QRLoaderContainer","formatProps","props","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","timeToPay","super","_define_property","type","TxVariants","bcmc_mobile","txVariants","bcmc_mobile_QR"],"mappings":"6SAIA,MAAMA,UAA0BC,EAI5BC,WAAAA,CAAYC,GACR,MAAO,CACHC,MAAOC,EACPC,cAAeC,EACfC,UAAW,qBACRC,MAAMP,YAAYC,GAE7B,EAVAO,EADEV,EACYW,OAAOC,EAAWC,aAChCH,EAFEV,EAEYc,aAAa,CAACF,EAAWC,YAAaD,EAAWG"}
1
+ {"version":3,"file":"BcmcMobile.js","sources":["../../../../src/components/BcmcMobile/BcmcMobile.ts"],"sourcesContent":["import QRLoaderContainer from '../helpers/QRLoaderContainer/QRLoaderContainer';\nimport { STATUS_INTERVAL, COUNTDOWN_MINUTES } from './config';\nimport { TxVariants } from '../tx-variants';\n\nclass BCMCMobileElement extends QRLoaderContainer {\n public static readonly type = TxVariants.bcmc_mobile;\n public static readonly txVariants = [TxVariants.bcmc_mobile, TxVariants.bcmc_mobile_QR];\n\n formatProps(props) {\n return {\n delay: STATUS_INTERVAL,\n countdownTime: COUNTDOWN_MINUTES,\n timeToPay: 'payme.timeToPay',\n ...super.formatProps(props)\n };\n }\n}\n\nexport default BCMCMobileElement;\n"],"names":["BCMCMobileElement","QRLoaderContainer","formatProps","props","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","timeToPay","super","_define_property","type","TxVariants","bcmc_mobile","txVariants","bcmc_mobile_QR"],"mappings":"6SAIA,MAAMA,UAA0BC,EAI5BC,WAAAA,CAAYC,GACR,MAAO,CACHC,MAAOC,EACPC,cAAeC,EACfC,UAAW,qBACRC,MAAMP,YAAYC,GAE7B,EAVAO,EADEV,EACqBW,OAAOC,EAAWC,aACzCH,EAFEV,EAEqBc,aAAa,CAACF,EAAWC,YAAaD,EAAWG"}
@@ -1 +1 @@
1
- {"version":3,"file":"BillDeskOnline.js","sources":["../../../../src/components/BillDesk/BillDeskOnline.ts"],"sourcesContent":["import IssuerListContainer from '../helpers/IssuerListContainer/IssuerListContainer';\nimport { TxVariants } from '../tx-variants';\n\nclass BillDeskOnlineElement extends IssuerListContainer {\n public static type = TxVariants.billdesk_online;\n\n formatProps(props) {\n return {\n ...super.formatProps(props),\n showImage: false\n };\n }\n}\n\nexport default BillDeskOnlineElement;\n"],"names":["BillDeskOnlineElement","IssuerListContainer","formatProps","props","super","showImage","type","TxVariants","billdesk_online"],"mappings":"oHAGA,MAAMA,UAA8BC,EAGhCC,WAAAA,CAAYC,GACR,MAAO,IACAC,MAAMF,YAAYC,GACrBE,WAAW,EAEnB,cAREL,IACYM,SAAOC,EAAWC"}
1
+ {"version":3,"file":"BillDeskOnline.js","sources":["../../../../src/components/BillDesk/BillDeskOnline.ts"],"sourcesContent":["import IssuerListContainer from '../helpers/IssuerListContainer/IssuerListContainer';\nimport { TxVariants } from '../tx-variants';\n\nclass BillDeskOnlineElement extends IssuerListContainer {\n public static readonly type = TxVariants.billdesk_online;\n\n formatProps(props) {\n return {\n ...super.formatProps(props),\n showImage: false\n };\n }\n}\n\nexport default BillDeskOnlineElement;\n"],"names":["BillDeskOnlineElement","IssuerListContainer","formatProps","props","super","showImage","type","TxVariants","billdesk_online"],"mappings":"oHAGA,MAAMA,UAA8BC,EAGhCC,WAAAA,CAAYC,GACR,MAAO,IACAC,MAAMF,YAAYC,GACrBE,WAAW,EAEnB,cAREL,IACqBM,SAAOC,EAAWC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BillDeskWallet.js","sources":["../../../../src/components/BillDesk/BillDeskWallet.ts"],"sourcesContent":["import IssuerListContainer from '../helpers/IssuerListContainer/IssuerListContainer';\nimport { TxVariants } from '../tx-variants';\n\nclass BillDeskWalletElement extends IssuerListContainer {\n public static type = TxVariants.billdesk_wallet;\n\n formatProps(props) {\n return {\n ...super.formatProps(props),\n showImage: false\n };\n }\n}\n\nexport default BillDeskWalletElement;\n"],"names":["BillDeskWalletElement","IssuerListContainer","formatProps","props","super","showImage","type","TxVariants","billdesk_wallet"],"mappings":"oHAGA,MAAMA,UAA8BC,EAGhCC,WAAAA,CAAYC,GACR,MAAO,IACAC,MAAMF,YAAYC,GACrBE,WAAW,EAEnB,cAREL,IACYM,SAAOC,EAAWC"}
1
+ {"version":3,"file":"BillDeskWallet.js","sources":["../../../../src/components/BillDesk/BillDeskWallet.ts"],"sourcesContent":["import IssuerListContainer from '../helpers/IssuerListContainer/IssuerListContainer';\nimport { TxVariants } from '../tx-variants';\n\nclass BillDeskWalletElement extends IssuerListContainer {\n public static readonly type = TxVariants.billdesk_wallet;\n\n formatProps(props) {\n return {\n ...super.formatProps(props),\n showImage: false\n };\n }\n}\n\nexport default BillDeskWalletElement;\n"],"names":["BillDeskWalletElement","IssuerListContainer","formatProps","props","super","showImage","type","TxVariants","billdesk_wallet"],"mappings":"oHAGA,MAAMA,UAA8BC,EAGhCC,WAAAA,CAAYC,GACR,MAAO,IACAC,MAAMF,YAAYC,GACrBE,WAAW,EAEnB,cAREL,IACqBM,SAAOC,EAAWC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Blik.js","sources":["../../../../src/components/Blik/Blik.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport BlikInput from '../../components/Blik/components/BlikInput';\nimport { Await } from '../internal/Await';\nimport config from './config';\nimport RedirectButton from '../../components/internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport { AwaitConfiguration } from '../internal/Await/types';\n\ninterface BlikElementData {\n paymentMethod: {\n type: string;\n blikCode: string;\n };\n}\n\nclass BlikElement extends UIElement<AwaitConfiguration> {\n public static type = TxVariants.blik;\n\n formatData(): BlikElementData {\n const recurringPayment = !!this.props.storedPaymentMethodId;\n\n return {\n paymentMethod: {\n type: BlikElement.type,\n ...(!recurringPayment && { blikCode: this.state?.data?.blikCode }),\n ...(recurringPayment && { storedPaymentMethodId: this.props.storedPaymentMethodId })\n }\n };\n }\n\n get isValid(): boolean {\n if (this.props.storedPaymentMethodId) {\n return true;\n }\n\n return !!this.state.isValid;\n }\n\n get displayName() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.label;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.name;\n }\n return null;\n }\n\n /**\n * NOTE: for future reference:\n * this.props.onComplete (which is called from this.onComplete) equates to the merchant defined onAdditionalDetails callback\n * (the initial /payments response defines an \"await\" action, actionTypes.ts translates this to \"onComplete: props.onAdditionalDetails\")\n */\n protected override componentToRender(): h.JSX.Element {\n if (this.props.paymentData) {\n return (\n <Await\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.handleError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n type={config.type}\n messageText={this.props.i18n.get(config.messageTextId)}\n awaitText={this.props.i18n.get(config.awaitTextId)}\n showCountdownTimer={config.showCountdownTimer}\n delay={config.STATUS_INTERVAL}\n countdownTime={config.COUNTDOWN_MINUTES}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n />\n );\n }\n\n return this.props.storedPaymentMethodId ? (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n ) : (\n <BlikInput\n // @ts-ignore Ref is used by preact component\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n );\n }\n}\n\nexport default BlikElement;\n"],"names":["BlikElement","UIElement","formatData","recurringPayment","this","props","storedPaymentMethodId","paymentMethod","type","blikCode","state","data","isValid","displayName","label","name","additionalInfo","componentToRender","paymentData","h","Await","clientKey","onError","handleError","onComplete","brandLogo","icon","config","messageText","i18n","get","messageTextId","awaitText","awaitTextId","showCountdownTimer","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","RedirectButton","showPayButton","payButton","onSubmit","submit","ref","componentRef","BlikInput","onChange","setState","TxVariants","blik"],"mappings":"sWAgBA,MAAMA,UAAoBC,EAGtBC,UAAAA,GACI,MAAMC,IAAqBC,KAAKC,MAAMC,sBAEtC,MAAO,CACHC,cAAe,CACXC,KAAMR,EAAYQ,SACbL,GAAoB,CAAEM,SAAUL,KAAKM,OAAOC,MAAMF,aACnDN,GAAoB,CAAEG,sBAAuBF,KAAKC,MAAMC,wBAGxE,CAEA,WAAIM,GACA,QAAIR,KAAKC,MAAMC,yBAINF,KAAKM,MAAME,OACxB,CAEA,eAAIC,GACA,OAAIT,KAAKC,MAAMC,uBAAyBF,KAAKC,MAAMS,MACxCV,KAAKC,MAAMS,MAEfV,KAAKC,MAAMU,IACtB,CAEA,kBAAIC,GACA,OAAIZ,KAAKC,MAAMC,uBAAyBF,KAAKC,MAAMS,MACxCV,KAAKC,MAAMU,KAEf,IACX,CAOA,iBAAAE,GACI,OAAIb,KAAKC,MAAMa,YAEPC,EAACC,EAAAA,CACGC,UAAWjB,KAAKC,MAAMgB,UACtBH,YAAad,KAAKC,MAAMa,YACxBI,QAASlB,KAAKmB,YACdC,WAAYpB,KAAKoB,WACjBC,UAAWrB,KAAKsB,KAChBlB,KAAMmB,EAAOnB,KACboB,YAAaxB,KAAKC,MAAMwB,KAAKC,IAAIH,EAAOI,eACxCC,UAAW5B,KAAKC,MAAMwB,KAAKC,IAAIH,EAAOM,aACtCC,mBAAoBP,EAAOO,mBAC3BC,MAAOR,EAAOS,gBACdC,cAAeV,EAAOW,kBACtBC,aAAcZ,EAAOa,cACrBC,iBAAkBd,EAAOe,kBACzBC,gBAAiBvC,KAAKuC,kBAK3BvC,KAAKC,MAAMC,sBACda,EAACyB,EAAAA,CACGC,cAAezC,KAAKC,MAAMwC,cAC1B9B,KAAMX,KAAKS,YACXiC,UAAW1C,KAAK0C,UAChBC,SAAU3C,KAAK4C,OACfC,IAAKA,IACD7C,KAAK8C,aAAeD,KAI5B9B,EAACgC,EAAAA,CAEGF,IAAKA,IACD7C,KAAK8C,aAAeD,MAEpB7C,KAAKC,MACT+C,SAAUhD,KAAKiD,SACfN,SAAU3C,KAAK4C,OACfF,UAAW1C,KAAK0C,WAG5B,cAtFE9C,IACYQ,SAAO8C,EAAWC"}
1
+ {"version":3,"file":"Blik.js","sources":["../../../../src/components/Blik/Blik.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport BlikInput from '../../components/Blik/components/BlikInput';\nimport { Await } from '../internal/Await';\nimport config from './config';\nimport RedirectButton from '../../components/internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport { AwaitConfiguration } from '../internal/Await/types';\n\ninterface BlikElementData {\n paymentMethod: {\n type: string;\n blikCode: string;\n };\n}\n\nclass BlikElement extends UIElement<AwaitConfiguration> {\n public static readonly type = TxVariants.blik;\n\n formatData(): BlikElementData {\n const recurringPayment = !!this.props.storedPaymentMethodId;\n\n return {\n paymentMethod: {\n type: BlikElement.type,\n ...(!recurringPayment && { blikCode: this.state?.data?.blikCode }),\n ...(recurringPayment && { storedPaymentMethodId: this.props.storedPaymentMethodId })\n }\n };\n }\n\n get isValid(): boolean {\n if (this.props.storedPaymentMethodId) {\n return true;\n }\n\n return !!this.state.isValid;\n }\n\n get displayName() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.label;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.name;\n }\n return null;\n }\n\n /**\n * NOTE: for future reference:\n * this.props.onComplete (which is called from this.onComplete) equates to the merchant defined onAdditionalDetails callback\n * (the initial /payments response defines an \"await\" action, actionTypes.ts translates this to \"onComplete: props.onAdditionalDetails\")\n */\n protected override componentToRender(): h.JSX.Element {\n if (this.props.paymentData) {\n return (\n <Await\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.handleError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n type={config.type}\n messageText={this.props.i18n.get(config.messageTextId)}\n awaitText={this.props.i18n.get(config.awaitTextId)}\n showCountdownTimer={config.showCountdownTimer}\n delay={config.STATUS_INTERVAL}\n countdownTime={config.COUNTDOWN_MINUTES}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n />\n );\n }\n\n return this.props.storedPaymentMethodId ? (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n ) : (\n <BlikInput\n // @ts-ignore Ref is used by preact component\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n );\n }\n}\n\nexport default BlikElement;\n"],"names":["BlikElement","UIElement","formatData","recurringPayment","this","props","storedPaymentMethodId","paymentMethod","type","blikCode","state","data","isValid","displayName","label","name","additionalInfo","componentToRender","paymentData","h","Await","clientKey","onError","handleError","onComplete","brandLogo","icon","config","messageText","i18n","get","messageTextId","awaitText","awaitTextId","showCountdownTimer","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","RedirectButton","showPayButton","payButton","onSubmit","submit","ref","componentRef","BlikInput","onChange","setState","TxVariants","blik"],"mappings":"sWAgBA,MAAMA,UAAoBC,EAGtBC,UAAAA,GACI,MAAMC,IAAqBC,KAAKC,MAAMC,sBAEtC,MAAO,CACHC,cAAe,CACXC,KAAMR,EAAYQ,SACbL,GAAoB,CAAEM,SAAUL,KAAKM,OAAOC,MAAMF,aACnDN,GAAoB,CAAEG,sBAAuBF,KAAKC,MAAMC,wBAGxE,CAEA,WAAIM,GACA,QAAIR,KAAKC,MAAMC,yBAINF,KAAKM,MAAME,OACxB,CAEA,eAAIC,GACA,OAAIT,KAAKC,MAAMC,uBAAyBF,KAAKC,MAAMS,MACxCV,KAAKC,MAAMS,MAEfV,KAAKC,MAAMU,IACtB,CAEA,kBAAIC,GACA,OAAIZ,KAAKC,MAAMC,uBAAyBF,KAAKC,MAAMS,MACxCV,KAAKC,MAAMU,KAEf,IACX,CAOA,iBAAAE,GACI,OAAIb,KAAKC,MAAMa,YAEPC,EAACC,EAAAA,CACGC,UAAWjB,KAAKC,MAAMgB,UACtBH,YAAad,KAAKC,MAAMa,YACxBI,QAASlB,KAAKmB,YACdC,WAAYpB,KAAKoB,WACjBC,UAAWrB,KAAKsB,KAChBlB,KAAMmB,EAAOnB,KACboB,YAAaxB,KAAKC,MAAMwB,KAAKC,IAAIH,EAAOI,eACxCC,UAAW5B,KAAKC,MAAMwB,KAAKC,IAAIH,EAAOM,aACtCC,mBAAoBP,EAAOO,mBAC3BC,MAAOR,EAAOS,gBACdC,cAAeV,EAAOW,kBACtBC,aAAcZ,EAAOa,cACrBC,iBAAkBd,EAAOe,kBACzBC,gBAAiBvC,KAAKuC,kBAK3BvC,KAAKC,MAAMC,sBACda,EAACyB,EAAAA,CACGC,cAAezC,KAAKC,MAAMwC,cAC1B9B,KAAMX,KAAKS,YACXiC,UAAW1C,KAAK0C,UAChBC,SAAU3C,KAAK4C,OACfC,IAAKA,IACD7C,KAAK8C,aAAeD,KAI5B9B,EAACgC,EAAAA,CAEGF,IAAKA,IACD7C,KAAK8C,aAAeD,MAEpB7C,KAAKC,MACT+C,SAAUhD,KAAKiD,SACfN,SAAU3C,KAAK4C,OACfF,UAAW1C,KAAK0C,WAG5B,cAtFE9C,IACqBQ,SAAO8C,EAAWC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BlikInput.js","sources":["../../../../../src/components/Blik/components/BlikInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect } from 'preact/hooks';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport Field from '../../internal/FormFields/Field';\nimport './BlikInput.scss';\nimport useForm from '../../../utils/useForm';\nimport { digitsOnlyFormatter } from '../../../utils/Formatters/formatters';\nimport useImage from '../../../core/Context/useImage';\nimport InputText from '../../internal/FormFields/InputText';\nimport { UIElementProps } from '../../internal/UIElement/types';\nimport { PREFIX } from '../../internal/Icon/constants';\n\ninterface BlikInputProps extends UIElementProps {\n data?: BlikInputDataState;\n placeholders?: BlikInputDataState;\n}\n\ninterface BlikInputDataState {\n blikCode: string;\n}\n\nfunction BlikInput(props: BlikInputProps) {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<BlikInputDataState>({\n schema: ['blikCode'],\n rules: {\n blikCode: {\n validate: code => code?.length === 6,\n errorMessage: 'blik.invalid',\n modes: ['blur']\n }\n },\n formatters: {\n blikCode: digitsOnlyFormatter\n }\n });\n\n useEffect(() => {\n // @ts-ignore TODO: Fix this. Preact component types should not inherit from UIElementProps.\n props.onChange({ data, errors, valid, isValid }, this);\n }, [data, valid, errors, isValid]);\n\n const [status, setStatus] = useState('ready');\n this.setStatus = setStatus;\n this.showValidation = triggerValidation;\n\n return (\n <div className=\"adyen-checkout__blik\">\n <p className=\"adyen-checkout__blik__helper\">{i18n.get('blik.help')}</p>\n <Field\n errorMessage={!!errors.blikCode && i18n.get(errors.blikCode.errorMessage)}\n label={i18n.get('blik.code')}\n classNameModifiers={['blikCode', '50']}\n isValid={valid.blikCode}\n dir={'ltr'}\n name={'blikCode'}\n >\n <InputText\n value={data.blikCode}\n name={'blikCode'}\n spellcheck={false}\n required={true}\n autocorrect={'off'}\n autocomplete={'off'}\n onInput={handleChangeFor('blikCode', 'input')}\n onBlur={handleChangeFor('blikCode', 'blur')}\n placeholder={props?.placeholders?.blikCode}\n inputMode={'numeric'}\n maxLength={6}\n />\n </Field>\n\n {props.showPayButton &&\n props.payButton({\n status,\n icon: getImage({ imageFolder: 'components/' })(`${PREFIX}lock`)\n })}\n </div>\n );\n}\n\nBlikInput.defaultProps = { data: { blikCode: '' } };\n\nexport default BlikInput;\n"],"names":["BlikInput","props","i18n","useCoreContext","getImage","useImage","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","schema","rules","blikCode","validate","code","length","errorMessage","modes","formatters","digitsOnlyFormatter","useEffect","onChange","this","status","setStatus","useState","showValidation","h","div","className","p","get","Field","label","classNameModifiers","dir","name","InputText","value","spellcheck","required","autocorrect","autocomplete","onInput","onBlur","placeholder","placeholders","inputMode","maxLength","showPayButton","payButton","icon","imageFolder","PREFIX","defaultProps"],"mappings":"8jBAqBA,SAASA,EAAUC,GACf,MAAMC,KAAEA,GAASC,IACXC,EAAWC,KACXC,gBAAEA,EAAeC,kBAAEA,EAAiBC,KAAEA,EAAIC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GAAYC,EAA4B,CACrGC,OAAQ,CAAC,YACTC,MAAO,CACHC,SAAU,CACNC,SAAUC,GAAyB,IAAjBA,GAAMC,OACxBC,aAAc,eACdC,MAAO,CAAC,UAGhBC,WAAY,CACRN,SAAUO,KAIlBC,EAAU,KAENtB,EAAMuB,SAAS,CAAEhB,OAAME,SAAQD,QAAOE,WAAWc,OAClD,CAACjB,EAAMC,EAAOC,EAAQC,IAEzB,MAAOe,EAAQC,GAAaC,EAAS,SAIrC,OAHAH,KAAKE,UAAYA,EACjBF,KAAKI,eAAiBtB,EAGlBuB,EAACC,MAAAA,CAAIC,UAAU,wBACXF,EAACG,IAAAA,CAAED,UAAU,gCAAgC9B,EAAKgC,IAAI,cACtDJ,EAACK,EAAAA,CACGhB,eAAgBT,EAAOK,UAAYb,EAAKgC,IAAIxB,EAAOK,SAASI,cAC5DiB,MAAOlC,EAAKgC,IAAI,aAChBG,mBAAoB,CAAC,WAAY,MACjC1B,QAASF,EAAMM,SACfuB,IAAK,MACLC,KAAM,YAENT,EAACU,EAAAA,CACGC,MAAOjC,EAAKO,SACZwB,KAAM,WACNG,YAAY,EACZC,UAAU,EACVC,YAAa,MACbC,aAAc,MACdC,QAASxC,EAAgB,WAAY,SACrCyC,OAAQzC,EAAgB,WAAY,QACpC0C,YAAa/C,GAAOgD,cAAclC,SAClCmC,UAAW,UACXC,UAAW,KAIlBlD,EAAMmD,eACHnD,EAAMoD,UAAU,CACZ3B,SACA4B,KAAMlD,EAAS,CAAEmD,YAAa,eAAxBnD,CAAyC,GAAGoD,WAItE,CAEAxD,EAAUyD,aAAe,CAAEjD,KAAM,CAAEO,SAAU"}
1
+ {"version":3,"file":"BlikInput.js","sources":["../../../../../src/components/Blik/components/BlikInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect } from 'preact/hooks';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport Field from '../../internal/FormFields/Field';\nimport './BlikInput.scss';\nimport useForm from '../../../utils/useForm';\nimport { digitsOnlyFormatter } from '../../../utils/Formatters/formatters';\nimport useImage from '../../../core/Context/useImage';\nimport InputText from '../../internal/FormFields/InputText';\nimport { UIElementProps } from '../../internal/UIElement/types';\nimport { PREFIX } from '../../internal/Icon/constants';\n\ninterface BlikInputProps extends UIElementProps {\n data?: BlikInputDataState;\n placeholders?: BlikInputDataState;\n}\n\ninterface BlikInputDataState {\n blikCode: string;\n}\n\nfunction BlikInput(props: Readonly<BlikInputProps>) {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<BlikInputDataState>({\n schema: ['blikCode'],\n rules: {\n blikCode: {\n validate: code => code?.length === 6,\n errorMessage: 'blik.invalid',\n modes: ['blur']\n }\n },\n formatters: {\n blikCode: digitsOnlyFormatter\n }\n });\n\n useEffect(() => {\n // @ts-ignore TODO: Fix this. Preact component types should not inherit from UIElementProps.\n props.onChange({ data, errors, valid, isValid }, this);\n }, [data, valid, errors, isValid]);\n\n const [status, setStatus] = useState('ready');\n this.setStatus = setStatus;\n this.showValidation = triggerValidation;\n\n return (\n <div className=\"adyen-checkout__blik\">\n <p className=\"adyen-checkout__blik__helper\">{i18n.get('blik.help')}</p>\n <Field\n errorMessage={!!errors.blikCode && i18n.get(errors.blikCode.errorMessage)}\n label={i18n.get('blik.code')}\n classNameModifiers={['blikCode', '50']}\n isValid={valid.blikCode}\n dir={'ltr'}\n name={'blikCode'}\n >\n <InputText\n value={data.blikCode}\n name={'blikCode'}\n spellcheck={false}\n required={true}\n autocorrect={'off'}\n autocomplete={'off'}\n onInput={handleChangeFor('blikCode', 'input')}\n onBlur={handleChangeFor('blikCode', 'blur')}\n placeholder={props?.placeholders?.blikCode}\n inputMode={'numeric'}\n maxLength={6}\n />\n </Field>\n\n {props.showPayButton &&\n props.payButton({\n status,\n icon: getImage({ imageFolder: 'components/' })(`${PREFIX}lock`)\n })}\n </div>\n );\n}\n\nBlikInput.defaultProps = { data: { blikCode: '' } };\n\nexport default BlikInput;\n"],"names":["BlikInput","props","i18n","useCoreContext","getImage","useImage","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","schema","rules","blikCode","validate","code","length","errorMessage","modes","formatters","digitsOnlyFormatter","useEffect","onChange","this","status","setStatus","useState","showValidation","h","div","className","p","get","Field","label","classNameModifiers","dir","name","InputText","value","spellcheck","required","autocorrect","autocomplete","onInput","onBlur","placeholder","placeholders","inputMode","maxLength","showPayButton","payButton","icon","imageFolder","PREFIX","defaultProps"],"mappings":"8jBAqBA,SAASA,EAAUC,GACf,MAAMC,KAAEA,GAASC,IACXC,EAAWC,KACXC,gBAAEA,EAAeC,kBAAEA,EAAiBC,KAAEA,EAAIC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GAAYC,EAA4B,CACrGC,OAAQ,CAAC,YACTC,MAAO,CACHC,SAAU,CACNC,SAAUC,GAAyB,IAAjBA,GAAMC,OACxBC,aAAc,eACdC,MAAO,CAAC,UAGhBC,WAAY,CACRN,SAAUO,KAIlBC,EAAU,KAENtB,EAAMuB,SAAS,CAAEhB,OAAME,SAAQD,QAAOE,WAAWc,OAClD,CAACjB,EAAMC,EAAOC,EAAQC,IAEzB,MAAOe,EAAQC,GAAaC,EAAS,SAIrC,OAHAH,KAAKE,UAAYA,EACjBF,KAAKI,eAAiBtB,EAGlBuB,EAACC,MAAAA,CAAIC,UAAU,wBACXF,EAACG,IAAAA,CAAED,UAAU,gCAAgC9B,EAAKgC,IAAI,cACtDJ,EAACK,EAAAA,CACGhB,eAAgBT,EAAOK,UAAYb,EAAKgC,IAAIxB,EAAOK,SAASI,cAC5DiB,MAAOlC,EAAKgC,IAAI,aAChBG,mBAAoB,CAAC,WAAY,MACjC1B,QAASF,EAAMM,SACfuB,IAAK,MACLC,KAAM,YAENT,EAACU,EAAAA,CACGC,MAAOjC,EAAKO,SACZwB,KAAM,WACNG,YAAY,EACZC,UAAU,EACVC,YAAa,MACbC,aAAc,MACdC,QAASxC,EAAgB,WAAY,SACrCyC,OAAQzC,EAAgB,WAAY,QACpC0C,YAAa/C,GAAOgD,cAAclC,SAClCmC,UAAW,UACXC,UAAW,KAIlBlD,EAAMmD,eACHnD,EAAMoD,UAAU,CACZ3B,SACA4B,KAAMlD,EAAS,CAAEmD,YAAa,eAAxBnD,CAAyC,GAAGoD,WAItE,CAEAxD,EAAUyD,aAAe,CAAEjD,KAAM,CAAEO,SAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"Boleto.js","sources":["../../../../src/components/Boleto/Boleto.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport BoletoInput from './components/BoletoInput';\nimport { cleanCPFCNPJ } from '../internal/SocialSecurityNumberBrazil/utils';\nimport BoletoVoucherResult from './components/BoletoVoucherResult';\nimport { TxVariants } from '../tx-variants';\n\nimport type { BoletoConfiguration } from './types';\n\nexport class BoletoElement extends UIElement<BoletoConfiguration> {\n public static type = TxVariants.boletobancario;\n\n public static txVariants = [\n TxVariants.boletobancario,\n TxVariants.boletobancario_itau,\n TxVariants.boletobancario_santander,\n TxVariants.primeiropay_boleto\n ];\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const { data = {} } = this.state;\n const { billingAddress, shopperEmail, firstName, lastName, socialSecurityNumber = '' } = data;\n\n return {\n paymentMethod: {\n type: this.type\n },\n ...(billingAddress && { billingAddress }),\n ...(shopperEmail && { shopperEmail }),\n ...(firstName && lastName && { shopperName: { firstName, lastName } }),\n ...(socialSecurityNumber && { socialSecurityNumber: cleanCPFCNPJ(socialSecurityNumber) })\n };\n }\n\n private handleRef = ref => {\n this.componentRef = ref;\n };\n\n protected override componentToRender(): h.JSX.Element {\n return this.props.reference ? (\n <BoletoVoucherResult ref={this.handleRef} icon={this.icon} {...this.props} onActionHandled={this.onActionHandled} />\n ) : (\n <BoletoInput\n setComponentRef={this.handleRef}\n {...this.props}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n );\n }\n}\n\nexport default BoletoElement;\n"],"names":["BoletoElement","UIElement","isValid","this","state","formatData","data","billingAddress","shopperEmail","firstName","lastName","socialSecurityNumber","paymentMethod","type","shopperName","cleanCPFCNPJ","componentToRender","props","reference","h","BoletoVoucherResult","ref","handleRef","icon","onActionHandled","BoletoInput","setComponentRef","onChange","setState","onSubmit","submit","payButton","super","args","_define_property","componentRef","TxVariants","boletobancario","txVariants","boletobancario_itau","boletobancario_santander","primeiropay_boleto"],"mappings":"wfASO,MAAMA,UAAsBC,EAU/B,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAKAG,UAAAA,GACI,MAAMC,KAAEA,EAAO,IAAOH,KAAKC,OACrBG,eAAEA,EAAcC,aAAEA,EAAYC,UAAEA,EAASC,SAAEA,EAAQC,qBAAEA,EAAuB,IAAOL,EAEzF,MAAO,CACHM,cAAe,CACXC,KAAMV,KAAKU,SAEXN,GAAkB,CAAEA,qBACpBC,GAAgB,CAAEA,mBAClBC,GAAaC,GAAY,CAAEI,YAAa,CAAEL,YAAWC,gBACrDC,GAAwB,CAAEA,qBAAsBI,EAAaJ,IAEzE,CAMmBK,iBAAAA,GACf,OAAOb,KAAKc,MAAMC,UACdC,EAACC,EAAAA,CAAoBC,IAAKlB,KAAKmB,UAAWC,KAAMpB,KAAKoB,QAAUpB,KAAKc,MAAOO,gBAAiBrB,KAAKqB,kBAEjGL,EAACM,EAAAA,CACGC,gBAAiBvB,KAAKmB,aAClBnB,KAAKc,MACTU,SAAUxB,KAAKyB,SACfC,SAAU1B,KAAK2B,OACfC,UAAW5B,KAAK4B,WAG5B,mBAhDGC,SAAAC,GAgCHC,EAAA/B,KAAQmB,YAAYD,IAChBlB,KAAKgC,aAAed,KAhCxBa,EADSlC,EACKa,OAAOuB,EAAWC,gBAEhCH,EAHSlC,EAGKsC,aAAa,CACvBF,EAAWC,eACXD,EAAWG,oBACXH,EAAWI,yBACXJ,EAAWK"}
1
+ {"version":3,"file":"Boleto.js","sources":["../../../../src/components/Boleto/Boleto.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport BoletoInput from './components/BoletoInput';\nimport { cleanCPFCNPJ } from '../internal/SocialSecurityNumberBrazil/utils';\nimport BoletoVoucherResult from './components/BoletoVoucherResult';\nimport { TxVariants } from '../tx-variants';\n\nimport type { BoletoConfiguration } from './types';\n\nexport class BoletoElement extends UIElement<BoletoConfiguration> {\n public static readonly type = TxVariants.boletobancario;\n\n public static readonly txVariants = [\n TxVariants.boletobancario,\n TxVariants.boletobancario_itau,\n TxVariants.boletobancario_santander,\n TxVariants.primeiropay_boleto\n ];\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const { data = {} } = this.state;\n const { billingAddress, shopperEmail, firstName, lastName, socialSecurityNumber = '' } = data;\n\n return {\n paymentMethod: {\n type: this.type\n },\n ...(billingAddress && { billingAddress }),\n ...(shopperEmail && { shopperEmail }),\n ...(firstName && lastName && { shopperName: { firstName, lastName } }),\n ...(socialSecurityNumber && { socialSecurityNumber: cleanCPFCNPJ(socialSecurityNumber) })\n };\n }\n\n private handleRef = ref => {\n this.componentRef = ref;\n };\n\n protected override componentToRender(): h.JSX.Element {\n return this.props.reference ? (\n <BoletoVoucherResult ref={this.handleRef} icon={this.icon} {...this.props} onActionHandled={this.onActionHandled} />\n ) : (\n <BoletoInput\n setComponentRef={this.handleRef}\n {...this.props}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n );\n }\n}\n\nexport default BoletoElement;\n"],"names":["BoletoElement","UIElement","isValid","this","state","formatData","data","billingAddress","shopperEmail","firstName","lastName","socialSecurityNumber","paymentMethod","type","shopperName","cleanCPFCNPJ","componentToRender","props","reference","h","BoletoVoucherResult","ref","handleRef","icon","onActionHandled","BoletoInput","setComponentRef","onChange","setState","onSubmit","submit","payButton","super","args","_define_property","componentRef","TxVariants","boletobancario","txVariants","boletobancario_itau","boletobancario_santander","primeiropay_boleto"],"mappings":"wfASO,MAAMA,UAAsBC,EAU/B,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAKAG,UAAAA,GACI,MAAMC,KAAEA,EAAO,IAAOH,KAAKC,OACrBG,eAAEA,EAAcC,aAAEA,EAAYC,UAAEA,EAASC,SAAEA,EAAQC,qBAAEA,EAAuB,IAAOL,EAEzF,MAAO,CACHM,cAAe,CACXC,KAAMV,KAAKU,SAEXN,GAAkB,CAAEA,qBACpBC,GAAgB,CAAEA,mBAClBC,GAAaC,GAAY,CAAEI,YAAa,CAAEL,YAAWC,gBACrDC,GAAwB,CAAEA,qBAAsBI,EAAaJ,IAEzE,CAMmBK,iBAAAA,GACf,OAAOb,KAAKc,MAAMC,UACdC,EAACC,EAAAA,CAAoBC,IAAKlB,KAAKmB,UAAWC,KAAMpB,KAAKoB,QAAUpB,KAAKc,MAAOO,gBAAiBrB,KAAKqB,kBAEjGL,EAACM,EAAAA,CACGC,gBAAiBvB,KAAKmB,aAClBnB,KAAKc,MACTU,SAAUxB,KAAKyB,SACfC,SAAU1B,KAAK2B,OACfC,UAAW5B,KAAK4B,WAG5B,mBAhDGC,SAAAC,GAgCHC,EAAA/B,KAAQmB,YAAYD,IAChBlB,KAAKgC,aAAed,KAhCxBa,EADSlC,EACca,OAAOuB,EAAWC,gBAEzCH,EAHSlC,EAGcsC,aAAa,CAChCF,EAAWC,eACXD,EAAWG,oBACXH,EAAWI,yBACXJ,EAAWK"}
@@ -1 +1 @@
1
- {"version":3,"file":"BoletoInput.js","sources":["../../../../../../src/components/Boleto/components/BoletoInput/BoletoInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef } from 'preact/hooks';\nimport Address from '../../../internal/Address';\nimport { boletoValidationRules } from './validate';\nimport { boletoFormatters } from './utils';\nimport SendCopyToEmail from '../../../internal/SendCopyToEmail/SendCopyToEmail';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { BoletoInputDataState } from '../../types';\nimport useForm from '../../../../utils/useForm';\nimport { BrazilPersonalDetail } from '../../../internal/SocialSecurityNumberBrazil/BrazilPersonalDetail';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\nimport type { PayButtonProps } from '../../../internal/PayButton/PayButton';\n\ninterface BoletoInputProps {\n onChange(data: any): void;\n payButton: (props: PayButtonProps) => h.JSX.Element;\n [key: string]: any;\n}\n\nfunction BoletoInput(props: BoletoInputProps) {\n const { i18n } = useCoreContext();\n const addressRef = useRef(null);\n const setAddressRef = ref => {\n addressRef.current = ref;\n };\n const { handleChangeFor, triggerValidation, setSchema, setData, setValid, setErrors, data, valid, errors, isValid } =\n useForm<BoletoInputDataState>({\n schema: ['firstName', 'lastName', 'socialSecurityNumber', 'billingAddress', 'shopperEmail'],\n defaultData: props.data,\n rules: boletoValidationRules,\n formatters: boletoFormatters\n });\n\n // Email field toggle\n const [showingEmail, setShowingEmail] = useState<boolean>(false);\n const toggleEmailField = () => setShowingEmail(!showingEmail);\n\n // Handle form schema updates\n useEffect(() => {\n const newSchema = [\n ...(props.personalDetailsRequired ? ['firstName', 'lastName', 'socialSecurityNumber'] : []),\n ...(props.billingAddressRequired ? ['billingAddress'] : []),\n ...(showingEmail ? ['shopperEmail'] : [])\n ];\n setSchema(newSchema);\n }, [showingEmail, props.personalDetailsRequired, props.billingAddressRequired]);\n\n const handleAddress = address => {\n setData('billingAddress', address.data);\n setValid('billingAddress', address.isValid);\n setErrors('billingAddress', address.errors);\n };\n\n const [status, setStatus] = useState('ready');\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const boletoRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(boletoRef.current).length) {\n props.setComponentRef?.(boletoRef.current);\n }\n\n boletoRef.current.showValidation = () => {\n triggerValidation();\n if (props.billingAddressRequired) {\n addressRef.current.showValidation();\n }\n };\n\n boletoRef.current.setStatus = setStatus;\n\n useEffect(() => {\n const billingAddressValid = props.billingAddressRequired ? Boolean(valid.billingAddress) : true;\n props.onChange({ data, valid, errors, isValid: isValid && billingAddressValid });\n }, [data, valid, errors]);\n\n const buttonModifiers = [...(!props.personalDetailsRequired && !props.billingAddressRequired && !props.showEmailAddress ? ['standalone'] : [])];\n\n const showFormInstruction = props.personalDetailsRequired || props.billingAddressRequired;\n\n return (\n <div className=\"adyen-checkout__boleto-input__field\">\n {showFormInstruction && <FormInstruction />}\n\n {props.personalDetailsRequired && (\n <BrazilPersonalDetail i18n={i18n} data={data} handleChangeFor={handleChangeFor} errors={errors} valid={valid} />\n )}\n\n {props.billingAddressRequired && (\n <Address\n allowedCountries={['BR']}\n label=\"billingAddress\"\n data={{ ...props.data.billingAddress, country: 'BR' }}\n onChange={handleAddress}\n requiredFields={['country', 'street', 'houseNumberOrName', 'postalCode', 'city', 'stateOrProvince']}\n setComponentRef={setAddressRef}\n />\n )}\n\n {props.showEmailAddress && (\n <SendCopyToEmail\n value={data.shopperEmail}\n errors={errors.shopperEmail}\n onToggle={toggleEmailField}\n onInput={handleChangeFor('shopperEmail', 'input')}\n onBlur={handleChangeFor('shopperEmail', 'blur')}\n />\n )}\n\n {props.showPayButton &&\n props.payButton({\n status,\n label: i18n.get('boletobancario.btnLabel'),\n classNameModifiers: buttonModifiers\n })}\n </div>\n );\n}\n\nBoletoInput.defaultProps = {\n data: {},\n showEmailAddress: true,\n personalDetailsRequired: true,\n billingAddressRequired: true\n};\n\nexport default BoletoInput;\n"],"names":["BoletoInput","props","i18n","useCoreContext","addressRef","useRef","handleChangeFor","triggerValidation","setSchema","setData","setValid","setErrors","data","valid","errors","isValid","useForm","schema","defaultData","rules","boletoValidationRules","formatters","boletoFormatters","showingEmail","setShowingEmail","useState","useEffect","newSchema","personalDetailsRequired","billingAddressRequired","status","setStatus","boletoRef","Object","keys","current","length","setComponentRef","showValidation","billingAddressValid","Boolean","billingAddress","onChange","buttonModifiers","showEmailAddress","showFormInstruction","h","div","className","FormInstruction","BrazilPersonalDetail","Address","allowedCountries","label","country","address","requiredFields","ref","SendCopyToEmail","value","shopperEmail","onToggle","onInput","onBlur","showPayButton","payButton","get","classNameModifiers","defaultProps"],"mappings":"2rBAoBA,SAASA,EAAYC,GACjB,MAAMC,KAAEA,GAASC,IACXC,EAAaC,EAAO,OAIpBC,gBAAEA,EAAeC,kBAAEA,EAAiBC,UAAEA,EAASC,QAAEA,EAAOC,SAAEA,EAAQC,UAAEA,EAASC,KAAEA,EAAIC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GACtGC,EAA8B,CAC1BC,OAAQ,CAAC,YAAa,WAAY,uBAAwB,iBAAkB,gBAC5EC,YAAajB,EAAMW,KACnBO,MAAOC,EACPC,WAAYC,KAIbC,EAAcC,GAAmBC,GAAkB,GAI1DC,EAAU,KACN,MAAMC,EAAY,IACV1B,EAAM2B,wBAA0B,CAAC,YAAa,WAAY,wBAA0B,MACpF3B,EAAM4B,uBAAyB,CAAC,kBAAoB,MACpDN,EAAe,CAAC,gBAAkB,IAE1Cf,EAAUmB,IACX,CAACJ,EAActB,EAAM2B,wBAAyB3B,EAAM4B,yBAEvD,MAMOC,EAAQC,GAAaN,EAAS,SAG/BO,EAAY3B,EAA4B,IAEzC4B,OAAOC,KAAKF,EAAUG,SAASC,QAChCnC,EAAMoC,kBAAkBL,EAAUG,SAGtCH,EAAUG,QAAQG,eAAiB,KAC/B/B,IACIN,EAAM4B,wBACNzB,EAAW+B,QAAQG,kBAI3BN,EAAUG,QAAQJ,UAAYA,EAE9BL,EAAU,KACN,MAAMa,GAAsBtC,EAAM4B,wBAAyBW,QAAQ3B,EAAM4B,gBACzExC,EAAMyC,SAAS,CAAE9B,OAAMC,QAAOC,SAAQC,QAASA,GAAWwB,KAC3D,CAAC3B,EAAMC,EAAOC,IAEjB,MAAM6B,EAAkB,IAAM1C,EAAM2B,yBAA4B3B,EAAM4B,wBAA2B5B,EAAM2C,iBAAoC,GAAjB,CAAC,eAErHC,EAAsB5C,EAAM2B,yBAA2B3B,EAAM4B,uBAEnE,OACIiB,EAACC,MAAAA,CAAIC,UAAU,uCACVH,GAAuBC,EAACG,EAAAA,MAExBhD,EAAM2B,yBACHkB,EAACI,EAAAA,CAAqBhD,KAAMA,EAAMU,KAAMA,EAAMN,gBAAiBA,EAAiBQ,OAAQA,EAAQD,MAAOA,IAG1GZ,EAAM4B,wBACHiB,EAACK,EAAAA,CACGC,iBAAkB,CAAC,MACnBC,MAAM,iBACNzC,KAAM,IAAKX,EAAMW,KAAK6B,eAAgBa,QAAS,MAC/CZ,SA9CMa,IAClB9C,EAAQ,iBAAkB8C,EAAQ3C,MAClCF,EAAS,iBAAkB6C,EAAQxC,SACnCJ,EAAU,iBAAkB4C,EAAQzC,SA4CxB0C,eAAgB,CAAC,UAAW,SAAU,oBAAqB,aAAc,OAAQ,mBACjFnB,gBAzEMoB,IAClBrD,EAAW+B,QAAUsB,KA4EhBxD,EAAM2C,kBACHE,EAACY,EAAAA,CACGC,MAAO/C,EAAKgD,aACZ9C,OAAQA,EAAO8C,aACfC,SApES,IAAMrC,GAAiBD,GAqEhCuC,QAASxD,EAAgB,eAAgB,SACzCyD,OAAQzD,EAAgB,eAAgB,UAI/CL,EAAM+D,eACH/D,EAAMgE,UAAU,CACZnC,SACAuB,MAAOnD,EAAKgE,IAAI,2BAChBC,mBAAoBxB,IAIxC,CAEA3C,EAAYoE,aAAe,CACvBxD,KAAM,CAAA,EACNgC,kBAAkB,EAClBhB,yBAAyB,EACzBC,wBAAwB"}
1
+ {"version":3,"file":"BoletoInput.js","sources":["../../../../../../src/components/Boleto/components/BoletoInput/BoletoInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef } from 'preact/hooks';\nimport Address from '../../../internal/Address';\nimport { boletoValidationRules } from './validate';\nimport { boletoFormatters } from './utils';\nimport SendCopyToEmail from '../../../internal/SendCopyToEmail/SendCopyToEmail';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { BoletoInputDataState } from '../../types';\nimport useForm from '../../../../utils/useForm';\nimport { BrazilPersonalDetail } from '../../../internal/SocialSecurityNumberBrazil/BrazilPersonalDetail';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\nimport type { PayButtonProps } from '../../../internal/PayButton/PayButton';\n\ninterface BoletoInputProps {\n onChange(data: any): void;\n payButton: (props: PayButtonProps) => h.JSX.Element;\n [key: string]: any;\n}\n\nfunction BoletoInput(props: Readonly<BoletoInputProps>) {\n const { i18n } = useCoreContext();\n const addressRef = useRef(null);\n const setAddressRef = ref => {\n addressRef.current = ref;\n };\n const { handleChangeFor, triggerValidation, setSchema, setData, setValid, setErrors, data, valid, errors, isValid } =\n useForm<BoletoInputDataState>({\n schema: ['firstName', 'lastName', 'socialSecurityNumber', 'billingAddress', 'shopperEmail'],\n defaultData: props.data,\n rules: boletoValidationRules,\n formatters: boletoFormatters\n });\n\n // Email field toggle\n const [showingEmail, setShowingEmail] = useState<boolean>(false);\n const toggleEmailField = () => setShowingEmail(!showingEmail);\n\n // Handle form schema updates\n useEffect(() => {\n const newSchema = [\n ...(props.personalDetailsRequired ? ['firstName', 'lastName', 'socialSecurityNumber'] : []),\n ...(props.billingAddressRequired ? ['billingAddress'] : []),\n ...(showingEmail ? ['shopperEmail'] : [])\n ];\n setSchema(newSchema);\n }, [showingEmail, props.personalDetailsRequired, props.billingAddressRequired]);\n\n const handleAddress = address => {\n setData('billingAddress', address.data);\n setValid('billingAddress', address.isValid);\n setErrors('billingAddress', address.errors);\n };\n\n const [status, setStatus] = useState('ready');\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const boletoRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(boletoRef.current).length) {\n props.setComponentRef?.(boletoRef.current);\n }\n\n boletoRef.current.showValidation = () => {\n triggerValidation();\n if (props.billingAddressRequired) {\n addressRef.current.showValidation();\n }\n };\n\n boletoRef.current.setStatus = setStatus;\n\n useEffect(() => {\n const billingAddressValid = props.billingAddressRequired ? Boolean(valid.billingAddress) : true;\n props.onChange({ data, valid, errors, isValid: isValid && billingAddressValid });\n }, [data, valid, errors]);\n\n const buttonModifiers = [...(!props.personalDetailsRequired && !props.billingAddressRequired && !props.showEmailAddress ? ['standalone'] : [])];\n\n const showFormInstruction = props.personalDetailsRequired || props.billingAddressRequired;\n\n return (\n <div className=\"adyen-checkout__boleto-input__field\">\n {showFormInstruction && <FormInstruction />}\n\n {props.personalDetailsRequired && (\n <BrazilPersonalDetail i18n={i18n} data={data} handleChangeFor={handleChangeFor} errors={errors} valid={valid} />\n )}\n\n {props.billingAddressRequired && (\n <Address\n allowedCountries={['BR']}\n label=\"billingAddress\"\n data={{ ...props.data.billingAddress, country: 'BR' }}\n onChange={handleAddress}\n requiredFields={['country', 'street', 'houseNumberOrName', 'postalCode', 'city', 'stateOrProvince']}\n setComponentRef={setAddressRef}\n />\n )}\n\n {props.showEmailAddress && (\n <SendCopyToEmail\n value={data.shopperEmail}\n errors={errors.shopperEmail}\n onToggle={toggleEmailField}\n onInput={handleChangeFor('shopperEmail', 'input')}\n onBlur={handleChangeFor('shopperEmail', 'blur')}\n />\n )}\n\n {props.showPayButton &&\n props.payButton({\n status,\n label: i18n.get('boletobancario.btnLabel'),\n classNameModifiers: buttonModifiers\n })}\n </div>\n );\n}\n\nBoletoInput.defaultProps = {\n data: {},\n showEmailAddress: true,\n personalDetailsRequired: true,\n billingAddressRequired: true\n};\n\nexport default BoletoInput;\n"],"names":["BoletoInput","props","i18n","useCoreContext","addressRef","useRef","handleChangeFor","triggerValidation","setSchema","setData","setValid","setErrors","data","valid","errors","isValid","useForm","schema","defaultData","rules","boletoValidationRules","formatters","boletoFormatters","showingEmail","setShowingEmail","useState","useEffect","newSchema","personalDetailsRequired","billingAddressRequired","status","setStatus","boletoRef","Object","keys","current","length","setComponentRef","showValidation","billingAddressValid","Boolean","billingAddress","onChange","buttonModifiers","showEmailAddress","showFormInstruction","h","div","className","FormInstruction","BrazilPersonalDetail","Address","allowedCountries","label","country","address","requiredFields","ref","SendCopyToEmail","value","shopperEmail","onToggle","onInput","onBlur","showPayButton","payButton","get","classNameModifiers","defaultProps"],"mappings":"2rBAoBA,SAASA,EAAYC,GACjB,MAAMC,KAAEA,GAASC,IACXC,EAAaC,EAAO,OAIpBC,gBAAEA,EAAeC,kBAAEA,EAAiBC,UAAEA,EAASC,QAAEA,EAAOC,SAAEA,EAAQC,UAAEA,EAASC,KAAEA,EAAIC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GACtGC,EAA8B,CAC1BC,OAAQ,CAAC,YAAa,WAAY,uBAAwB,iBAAkB,gBAC5EC,YAAajB,EAAMW,KACnBO,MAAOC,EACPC,WAAYC,KAIbC,EAAcC,GAAmBC,GAAkB,GAI1DC,EAAU,KACN,MAAMC,EAAY,IACV1B,EAAM2B,wBAA0B,CAAC,YAAa,WAAY,wBAA0B,MACpF3B,EAAM4B,uBAAyB,CAAC,kBAAoB,MACpDN,EAAe,CAAC,gBAAkB,IAE1Cf,EAAUmB,IACX,CAACJ,EAActB,EAAM2B,wBAAyB3B,EAAM4B,yBAEvD,MAMOC,EAAQC,GAAaN,EAAS,SAG/BO,EAAY3B,EAA4B,IAEzC4B,OAAOC,KAAKF,EAAUG,SAASC,QAChCnC,EAAMoC,kBAAkBL,EAAUG,SAGtCH,EAAUG,QAAQG,eAAiB,KAC/B/B,IACIN,EAAM4B,wBACNzB,EAAW+B,QAAQG,kBAI3BN,EAAUG,QAAQJ,UAAYA,EAE9BL,EAAU,KACN,MAAMa,GAAsBtC,EAAM4B,wBAAyBW,QAAQ3B,EAAM4B,gBACzExC,EAAMyC,SAAS,CAAE9B,OAAMC,QAAOC,SAAQC,QAASA,GAAWwB,KAC3D,CAAC3B,EAAMC,EAAOC,IAEjB,MAAM6B,EAAkB,IAAM1C,EAAM2B,yBAA4B3B,EAAM4B,wBAA2B5B,EAAM2C,iBAAoC,GAAjB,CAAC,eAErHC,EAAsB5C,EAAM2B,yBAA2B3B,EAAM4B,uBAEnE,OACIiB,EAACC,MAAAA,CAAIC,UAAU,uCACVH,GAAuBC,EAACG,EAAAA,MAExBhD,EAAM2B,yBACHkB,EAACI,EAAAA,CAAqBhD,KAAMA,EAAMU,KAAMA,EAAMN,gBAAiBA,EAAiBQ,OAAQA,EAAQD,MAAOA,IAG1GZ,EAAM4B,wBACHiB,EAACK,EAAAA,CACGC,iBAAkB,CAAC,MACnBC,MAAM,iBACNzC,KAAM,IAAKX,EAAMW,KAAK6B,eAAgBa,QAAS,MAC/CZ,SA9CMa,IAClB9C,EAAQ,iBAAkB8C,EAAQ3C,MAClCF,EAAS,iBAAkB6C,EAAQxC,SACnCJ,EAAU,iBAAkB4C,EAAQzC,SA4CxB0C,eAAgB,CAAC,UAAW,SAAU,oBAAqB,aAAc,OAAQ,mBACjFnB,gBAzEMoB,IAClBrD,EAAW+B,QAAUsB,KA4EhBxD,EAAM2C,kBACHE,EAACY,EAAAA,CACGC,MAAO/C,EAAKgD,aACZ9C,OAAQA,EAAO8C,aACfC,SApES,IAAMrC,GAAiBD,GAqEhCuC,QAASxD,EAAgB,eAAgB,SACzCyD,OAAQzD,EAAgB,eAAgB,UAI/CL,EAAM+D,eACH/D,EAAMgE,UAAU,CACZnC,SACAuB,MAAOnD,EAAKgE,IAAI,2BAChBC,mBAAoBxB,IAIxC,CAEA3C,EAAYoE,aAAe,CACvBxD,KAAM,CAAA,EACNgC,kBAAkB,EAClBhB,yBAAyB,EACzBC,wBAAwB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Bancontact.js","sources":["../../../../src/components/Card/Bancontact.ts"],"sourcesContent":["import { CardElement } from './Card';\nimport { CardElementData, CardConfiguration } from './types';\nimport { CVC_POLICY_HIDDEN } from '../internal/SecuredFields/lib/constants';\nimport { TxVariants } from '../tx-variants';\nimport type { ICore } from '../../core/types';\n\nclass BancontactElement extends CardElement {\n public static type = TxVariants.bcmc;\n\n constructor(checkout: ICore, props?: CardConfiguration) {\n super(checkout, props);\n }\n\n protected static defaultProps = {\n ...CardElement.defaultProps,\n brands: ['bcmc', 'maestro', 'visa']\n };\n\n formatData(): CardElementData {\n const data = super.formatData();\n data.paymentMethod.type = this.constructor['type'];\n return data;\n }\n\n /**\n * Now that the Bancontact (BCMC) Card component can accept a number dual branded with Visa (which requires a CVC) it has to be handled differently\n * at creation time (no automatic removing of the CVC securedField).\n * At the same time we can't treat it as a regular 'card' component - because it needs to hide the CVC field at at startup,\n * as well as show the BCMC logo in the number field and ignore any of the internal, regEx driven, brand detection.\n */\n formatProps(props: CardConfiguration) {\n return {\n ...super.formatProps(props),\n /**\n * Force type (only for the Dropin is type automatically set to 'bcmc')\n * - this will bypass the regEx brand detection that SF normally tries to carry out when the first few digits are entered in the PAN\n */\n type: TxVariants.bcmc,\n brand: TxVariants.bcmc,\n cvcPolicy: CVC_POLICY_HIDDEN\n };\n }\n\n // Disable internal event.emit() for Bancontact\n public onBrand = event => {\n if (this.props.onBrand) this.props.onBrand(event);\n };\n}\n\nexport default BancontactElement;\n"],"names":["BancontactElement","CardElement","formatData","data","super","paymentMethod","type","this","constructor","formatProps","props","TxVariants","bcmc","brand","cvcPolicy","CVC_POLICY_HIDDEN","checkout","_define_property","onBrand","event","defaultProps","brands"],"mappings":"8RAMA,MAAMA,UAA0BC,EAY5BC,UAAAA,GACI,MAAMC,EAAOC,MAAMF,aAEnB,OADAC,EAAKE,cAAcC,KAAOC,KAAKC,YAAY,KACpCL,CACX,CAQAM,WAAAA,CAAYC,GACR,MAAO,IACAN,MAAMK,YAAYC,GAKrBJ,KAAMK,EAAWC,KACjBC,MAAOF,EAAWC,KAClBE,UAAWC,EAEnB,CAhCA,WAAAP,CAAYQ,EAAiBN,GACzBN,MAAMY,EAAUN,GAkCpBO,EAAAV,KAAOW,UAAUC,IACTZ,KAAKG,MAAMQ,SAASX,KAAKG,MAAMQ,QAAQC,IAlC/C,EAJAF,EADEjB,EACYM,OAAOK,EAAWC,MAMhCK,EAPEjB,EAOeoB,eAAe,IACzBnB,EAAYmB,aACfC,OAAQ,CAAC,OAAQ,UAAW"}
1
+ {"version":3,"file":"Bancontact.js","sources":["../../../../src/components/Card/Bancontact.ts"],"sourcesContent":["import { CardElement } from './Card';\nimport { CardElementData, CardConfiguration } from './types';\nimport { CVC_POLICY_HIDDEN } from '../internal/SecuredFields/lib/constants';\nimport { TxVariants } from '../tx-variants';\nimport type { ICore } from '../../core/types';\n\nclass BancontactElement extends CardElement {\n public static override readonly type: TxVariants = TxVariants.bcmc;\n\n constructor(checkout: ICore, props?: CardConfiguration) {\n super(checkout, props);\n }\n\n protected static readonly defaultProps = {\n ...CardElement.defaultProps,\n brands: ['bcmc', 'maestro', 'visa']\n };\n\n formatData(): CardElementData {\n const data = super.formatData();\n data.paymentMethod.type = this.constructor['type'];\n return data;\n }\n\n /**\n * Now that the Bancontact (BCMC) Card component can accept a number dual branded with Visa (which requires a CVC) it has to be handled differently\n * at creation time (no automatic removing of the CVC securedField).\n * At the same time we can't treat it as a regular 'card' component - because it needs to hide the CVC field at at startup,\n * as well as show the BCMC logo in the number field and ignore any of the internal, regEx driven, brand detection.\n */\n formatProps(props: CardConfiguration) {\n return {\n ...super.formatProps(props),\n /**\n * Force type (only for the Dropin is type automatically set to 'bcmc')\n * - this will bypass the regEx brand detection that SF normally tries to carry out when the first few digits are entered in the PAN\n */\n type: TxVariants.bcmc,\n brand: TxVariants.bcmc,\n cvcPolicy: CVC_POLICY_HIDDEN\n };\n }\n\n // Disable internal event.emit() for Bancontact\n public onBrand = event => {\n if (this.props.onBrand) this.props.onBrand(event);\n };\n}\n\nexport default BancontactElement;\n"],"names":["BancontactElement","CardElement","formatData","data","super","paymentMethod","type","this","constructor","formatProps","props","TxVariants","bcmc","brand","cvcPolicy","CVC_POLICY_HIDDEN","checkout","_define_property","onBrand","event","defaultProps","brands"],"mappings":"8RAMA,MAAMA,UAA0BC,EAY5BC,UAAAA,GACI,MAAMC,EAAOC,MAAMF,aAEnB,OADAC,EAAKE,cAAcC,KAAOC,KAAKC,YAAY,KACpCL,CACX,CAQAM,WAAAA,CAAYC,GACR,MAAO,IACAN,MAAMK,YAAYC,GAKrBJ,KAAMK,EAAWC,KACjBC,MAAOF,EAAWC,KAClBE,UAAWC,EAEnB,CAhCA,WAAAP,CAAYQ,EAAiBN,GACzBN,MAAMY,EAAUN,GAkCpBO,EAAAV,KAAOW,UAAUC,IACTZ,KAAKG,MAAMQ,SAASX,KAAKG,MAAMQ,QAAQC,IAlC/C,EAJAF,EADEjB,EAC8BM,OAAmBK,EAAWC,MAM9DK,EAPEjB,EAOwBoB,eAAe,IAClCnB,EAAYmB,aACfC,OAAQ,CAAC,OAAQ,UAAW"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import e from"./components/CardInput/CardInput.js";import o from"../../utils/browserInfo.js";import s from"../internal/SecuredFields/binLookup/triggerBinLookUp.js";import{fieldTypeToSnakeCase as i}from"../internal/SecuredFields/utils.js";import{reject as n}from"../../utils/commonUtils.js";import{shouldIncludeInstallmentsInPaymentData as r}from"./components/CardInput/utils.js";import a from"../internal/ClickToPay/services/create-clicktopay-service.js";import p from"./components/ClickToPayWrapper.js";import{TxVariants as c}from"../tx-variants.js";import{UIElement as l}from"../internal/UIElement/UIElement.js";import d from"../internal/PayButton/PayButton.js";import{ALL_SECURED_FIELDS as u}from"../internal/SecuredFields/lib/constants.js";import h,{IMPLEMENTATION_ERROR as m}from"../../core/Errors/AdyenCheckoutError.js";import y from"./components/CardInput/defaultProps.js";import{AnalyticsInfoEvent as f,InfoEventType as b}from"../../core/Analytics/events/AnalyticsInfoEvent.js";function g(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}class P extends l{setStatus(t,e){return this.componentRef?.setStatus&&this.componentRef.setStatus(t,e),this.clickToPayRef?.setStatus&&this.clickToPayRef.setStatus(t,e),this}formatProps(t){const e=t.session?.configuration?.enableStoreDetails??t.enableStoreDetails,o=!(0===t.amount?.value)&&e,s=t.storedPaymentMethodId||t.id,i=s&&t?.supportedShopperInteractions?.includes("Ecommerce");if(s&&!i)throw new h(m,"You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions");return{...t,holderNameRequired:!!t.hasHolderName&&t.holderNameRequired,hasCVC:!(t.brand&&"bcmc"===t.brand||t.hideCVC),billingAddressRequired:!t.storedPaymentMethodId&&t.billingAddressRequired,billingAddressMode:t.onAddressLookup?y.billingAddressMode:t.billingAddressMode,brand:t.brand??c.card,countryCode:t.countryCode?t.countryCode.toLowerCase():null,configuration:{...t.configuration,socialSecurityNumberMode:t.configuration?.socialSecurityNumberMode??"auto"},brandsConfiguration:t.brandsConfiguration||t.configuration?.brandsConfiguration||{},icon:t.icon||t.configuration?.icon,installmentOptions:t.session?.configuration?.installmentOptions||t.installmentOptions,enableStoreDetails:e,showStoreDetailsCheckbox:o,clickToPayConfiguration:{...t.clickToPayConfiguration,disableOtpAutoFocus:t.clickToPayConfiguration?.disableOtpAutoFocus||!1,shopperEmail:t.clickToPayConfiguration?.shopperEmail||this.core.options?.session?.shopperEmail,telephoneNumber:t.clickToPayConfiguration?.telephoneNumber||this.core.options?.session?.telephoneNumber,locale:t.clickToPayConfiguration?.locale||t.i18n?.locale?.replace("-","_")},...s&&{storedPaymentMethodId:s}}}formatData(){const t=this.state.selectedBrandValue;return{paymentMethod:{type:P.type,...this.state.data,...this.props.storedPaymentMethodId&&{storedPaymentMethodId:this.props.storedPaymentMethodId,holderName:this.props.holderName??""},...t&&{brand:t},...this.props.fundingSource&&{fundingSource:this.props.fundingSource},...this.state.fastlaneData&&{fastlaneData:btoa(JSON.stringify(this.state.fastlaneData))}},...this.state.billingAddress&&{billingAddress:this.state.billingAddress},...this.state.socialSecurityNumber&&{socialSecurityNumber:this.state.socialSecurityNumber},...this.storePaymentMethodPayload,...r(this.state.installments)&&{installments:this.state.installments},browserInfo:this.browserInfo,origin:!!window&&window.location.origin}}beforeRender(t){if(t?.originalAction)return;const e=new f({type:b.rendered,component:this.type,configData:{...t,showPayButton:this.props.showPayButton},...t?.oneClick&&{isStoredPaymentMethod:!0,brand:t.brand}});this.analytics.sendAnalytics(e)}updateStyles(t){return this.componentRef?.updateStyles&&this.componentRef.updateStyles(t),this}setFocusOn(t){return this.componentRef?.setFocusOn&&this.componentRef.setFocusOn(t),this}processBinLookupResponse(t,e=!1){return this.componentRef?.processBinLookupResponse&&this.componentRef.processBinLookupResponse(t,e),this}handleUnsupportedCard(t){return this.componentRef?.handleUnsupportedCard&&this.componentRef.handleUnsupportedCard(t),this}onBinLookup(t){if(!t.isReset){const e=n("supportedBrandsRaw").from(t);this.props.onBinLookup?.(e)}}get storePaymentMethodPayload(){if(this.props.storedPaymentMethodId?.length>0)return{};if(0===this.props.amount?.value)return this.props.enableStoreDetails?{storePaymentMethod:!0}:{};return this.props.showStoreDetailsCheckbox&&void 0!==this.state.storePaymentMethod?{storePaymentMethod:Boolean(this.state.storePaymentMethod)}:{}}get isValid(){return!!this.state.isValid}get icon(){return this.props.icon??this.resources.getImage()(this.props.brand)}get brands(){const{brands:t,brandsConfiguration:e}=this.props;return t?t.map(t=>({icon:e[t]?.icon??this.props.modules.resources.getImage()(t),name:t})):[]}get displayName(){return this.props.storedPaymentMethodId?`•••• ${this.props.lastFour}`:this.props.name||P.type}get accessibleName(){return(this.props.name||P.type)+(this.props.storedPaymentMethodId?" "+this.props.i18n.get("creditCard.storedCard.description.ariaLabel").replace("%@",this.props.lastFour):"")}get browserInfo(){return o()}renderCardInput(o=!0){return t(e,{setComponentRef:this.setComponentRef,...this.props,...this.state,onSubmitAnalytics:this.submitAnalytics,onChange:this.setState,onSubmit:this.submit,handleKeyPress:this.handleKeyPress,payButton:this.payButton,onBrand:this.onBrand,onBinValue:this.onBinValue,brand:this.props.brand,brandsIcons:this.brands,isPayButtonPrimaryVariant:o,resources:this.resources,onFocus:this.onFocus,onBlur:this.onBlur,onConfigSuccess:this.onConfigSuccess})}componentToRender(){return t(p,{configuration:this.props.clickToPayConfiguration,clickToPayService:this.clickToPayService,isStandaloneComponent:!1,setClickToPayRef:this.setClickToPayRef,onSetStatus:this.setElementStatus,onSubmit:this.handleClickToPaySubmit,onError:this.handleError},t=>this.renderCardInput(t))}constructor(e,o){super(e,o),g(this,"clickToPayService",void 0),g(this,"clickToPayRef",null),g(this,"setClickToPayRef",t=>{this.clickToPayRef=t}),g(this,"onBrand",t=>{this.props.onBrand?.(t)}),g(this,"handleClickToPaySubmit",t=>{this.setState({data:{...t},valid:{},errors:{},isValid:!0}),this.submit()}),g(this,"onConfigSuccess",t=>{const e=new f({component:this.type,type:b.configured});this.submitAnalytics(e),this.props.onConfigSuccess?.(t)}),g(this,"onFocus",t=>{const e=new f({component:this.type,type:b.focus,target:i(t.fieldType)});this.submitAnalytics(e),u.includes(t.fieldType)?this.props.onFocus?.(t.event):this.props.onFocus?.(t)}),g(this,"onBlur",t=>{const e=new f({component:this.type,type:b.unfocus,target:i(t.fieldType)});this.submitAnalytics(e),u.includes(t.fieldType)?this.props.onBlur?.(t.event):this.props.onBlur?.(t)}),g(this,"onBinValue",s(this)),g(this,"payButton",e=>{const o=0===this.props.amount?.value,s=this.props.storedPaymentMethodId?.length>0;return t(d,{...e,label:o&&!s?this.props.i18n.get("payButton.saveDetails"):"",onClick:this.submit})}),o&&!o._disableClickToPay&&"prepaid"!==this.props.fundingSource&&(this.clickToPayService=a(this.props.configuration,this.props.clickToPayConfiguration,this.props.environment,this.analytics),this.clickToPayService?.initialize())}}g(P,"type",c.scheme),g(P,"defaultProps",{showFormInstruction:!0,_disableClickToPay:!1,doBinLookup:!0,...n(["type","setComponentRef"]).from(y)});export{P as CardElement,P as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import e from"./components/CardInput/CardInput.js";import o from"../../utils/browserInfo.js";import s from"../internal/SecuredFields/binLookup/triggerBinLookUp.js";import{fieldTypeToSnakeCase as n,isSecuredField as i}from"../internal/SecuredFields/utils.js";import{reject as r}from"../../utils/commonUtils.js";import{shouldIncludeInstallmentsInPaymentData as a}from"./components/CardInput/utils.js";import p from"../internal/ClickToPay/services/create-clicktopay-service.js";import c from"./components/ClickToPayWrapper.js";import{TxVariants as u}from"../tx-variants.js";import{UIElement as d}from"../internal/UIElement/UIElement.js";import l from"../internal/PayButton/PayButton.js";import h,{IMPLEMENTATION_ERROR as m}from"../../core/Errors/AdyenCheckoutError.js";import y from"./components/CardInput/defaultProps.js";import{AnalyticsInfoEvent as f,InfoEventType as g}from"../../core/Analytics/events/AnalyticsInfoEvent.js";function b(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}class P extends d{setStatus(t,e){return this.componentRef?.setStatus&&this.componentRef.setStatus(t,e),this.clickToPayRef?.setStatus&&this.clickToPayRef.setStatus(t,e),this}getPaymentMethodConfigFromResponse(t){return t?.fundingSource?this.core.paymentMethodsResponse?.findByFundingSource(t.type,t.fundingSource):super.getPaymentMethodConfigFromResponse(t)}formatProps(t){const e=t.session?.configuration?.enableStoreDetails??t.enableStoreDetails,o=!(0===t.amount?.value)&&e,s=t.storedPaymentMethodId||t.id,n=s&&t?.supportedShopperInteractions?.includes("Ecommerce");if(s&&!n)throw new h(m,"You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions");return{...t,holderNameRequired:!!t.hasHolderName&&t.holderNameRequired,hasCVC:!(t.brand&&"bcmc"===t.brand||t.hideCVC),billingAddressRequired:!t.storedPaymentMethodId&&t.billingAddressRequired,billingAddressMode:t.onAddressLookup?y.billingAddressMode:t.billingAddressMode,brand:t.brand??u.card,countryCode:t.countryCode?t.countryCode.toLowerCase():null,configuration:{...t.configuration,socialSecurityNumberMode:t.configuration?.socialSecurityNumberMode??"auto"},brandsConfiguration:t.brandsConfiguration||t.configuration?.brandsConfiguration||{},icon:t.icon||t.configuration?.icon,installmentOptions:t.session?.configuration?.installmentOptions||t.installmentOptions,enableStoreDetails:e,showStoreDetailsCheckbox:o,clickToPayConfiguration:{...t.clickToPayConfiguration,disableOtpAutoFocus:t.clickToPayConfiguration?.disableOtpAutoFocus||!1,shopperEmail:t.clickToPayConfiguration?.shopperEmail||this.core.options?.session?.shopperEmail,telephoneNumber:t.clickToPayConfiguration?.telephoneNumber||this.core.options?.session?.telephoneNumber,locale:t.clickToPayConfiguration?.locale||t.i18n?.locale?.replace("-","_")},...s&&{storedPaymentMethodId:s}}}formatData(){const t=this.state.selectedBrandValue;return{paymentMethod:{type:P.type,...this.state.data,...this.props.storedPaymentMethodId&&{storedPaymentMethodId:this.props.storedPaymentMethodId,holderName:this.props.holderName??""},...t&&{brand:t},...this.props.fundingSource&&{fundingSource:this.props.fundingSource},...this.state.fastlaneData&&{fastlaneData:btoa(JSON.stringify(this.state.fastlaneData))}},...this.state.billingAddress&&{billingAddress:this.state.billingAddress},...this.state.socialSecurityNumber&&{socialSecurityNumber:this.state.socialSecurityNumber},...this.storePaymentMethodPayload,...a(this.state.installments)&&{installments:this.state.installments},browserInfo:this.browserInfo,origin:!!window&&window.location.origin}}beforeRender(t){if(t?.originalAction)return;const e=new f({type:g.rendered,component:this.type,configData:{...t,showPayButton:this.props.showPayButton},...t?.oneClick&&{isStoredPaymentMethod:!0,brand:t.brand}});this.analytics.sendAnalytics(e)}updateStyles(t){return this.componentRef?.updateStyles&&this.componentRef.updateStyles(t),this}setFocusOn(t){return this.componentRef?.setFocusOn&&this.componentRef.setFocusOn(t),this}processBinLookupResponse(t,e=!1){return this.componentRef?.processBinLookupResponse&&this.componentRef.processBinLookupResponse(t,e),this}handleUnsupportedCard(t){return this.componentRef?.handleUnsupportedCard&&this.componentRef.handleUnsupportedCard(t),this}onBinLookup(t){if(!t.isReset){const e=r("supportedBrandsRaw").from(t);this.props.onBinLookup?.(e)}}get storePaymentMethodPayload(){if(this.props.storedPaymentMethodId?.length>0)return{};if(0===this.props.amount?.value)return this.props.enableStoreDetails?{storePaymentMethod:!0}:{};return this.props.showStoreDetailsCheckbox&&void 0!==this.state.storePaymentMethod?{storePaymentMethod:Boolean(this.state.storePaymentMethod)}:{}}get isValid(){return!!this.state.isValid}get icon(){return this.props.icon??this.resources.getImage()(this.props.brand)}get brands(){const{brands:t,brandsConfiguration:e}=this.props;return t?t.map(t=>({icon:e[t]?.icon??this.props.modules.resources.getImage()(t),name:t})):[]}get displayName(){return this.props.storedPaymentMethodId?`•••• ${this.props.lastFour}`:this.props.name||P.type}get accessibleName(){return(this.props.name||P.type)+(this.props.storedPaymentMethodId?" "+this.props.i18n.get("creditCard.storedCard.description.ariaLabel").replace("%@",this.props.lastFour):"")}get browserInfo(){return o()}renderCardInput(o=!0){return t(e,{setComponentRef:this.setComponentRef,...this.props,...this.state,onSubmitAnalytics:this.submitAnalytics,onChange:this.setState,onSubmit:this.submit,handleKeyPress:this.handleKeyPress,payButton:this.payButton,onBrand:this.onBrand,onBinValue:this.onBinValue,brand:this.props.brand,brandsIcons:this.brands,isPayButtonPrimaryVariant:o,resources:this.resources,onFocus:this.onFocus,onBlur:this.onBlur,onConfigSuccess:this.onConfigSuccess})}componentToRender(){return t(c,{configuration:this.props.clickToPayConfiguration,clickToPayService:this.clickToPayService,isStandaloneComponent:!1,setClickToPayRef:this.setClickToPayRef,onSetStatus:this.setElementStatus,onSubmit:this.handleClickToPaySubmit,onError:this.handleError},t=>this.renderCardInput(t))}constructor(e,o){super(e,o),b(this,"clickToPayService",void 0),b(this,"clickToPayRef",null),b(this,"setClickToPayRef",t=>{this.clickToPayRef=t}),b(this,"onBrand",t=>{this.props.onBrand?.(t)}),b(this,"handleClickToPaySubmit",t=>{this.setState({data:{...t},valid:{},errors:{},isValid:!0}),this.submit()}),b(this,"onConfigSuccess",t=>{const e=new f({component:this.type,type:g.configured});this.submitAnalytics(e),this.props.onConfigSuccess?.(t)}),b(this,"onFocus",t=>{const e=new f({component:this.type,type:g.focus,target:n(t.fieldType)});this.submitAnalytics(e),i(t.fieldType)?this.props.onFocus?.(t.event):this.props.onFocus?.(t)}),b(this,"onBlur",t=>{const e=new f({component:this.type,type:g.unfocus,target:n(t.fieldType)});this.submitAnalytics(e),i(t.fieldType)?this.props.onBlur?.(t.event):this.props.onBlur?.(t)}),b(this,"onBinValue",s(this)),b(this,"payButton",e=>{const o=0===this.props.amount?.value,s=this.props.storedPaymentMethodId?.length>0;return t(l,{...e,label:o&&!s?this.props.i18n.get("payButton.saveDetails"):"",onClick:this.submit})}),o&&!o._disableClickToPay&&"prepaid"!==this.props.fundingSource&&(this.clickToPayService=p(this.props.configuration,this.props.clickToPayConfiguration,this.props.environment,this.analytics),this.clickToPayService?.initialize())}}b(P,"type",u.scheme),b(P,"defaultProps",{showFormInstruction:!0,_disableClickToPay:!1,doBinLookup:!0,...r(["type","setComponentRef"]).from(y)});export{P as CardElement,P as default};
2
2
  //# sourceMappingURL=Card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","sources":["../../../../src/components/Card/Card.tsx"],"sourcesContent":["import { h } from 'preact';\nimport CardInput from './components/CardInput';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport { BinLookupResponse, CardElementData, CardConfiguration } from './types';\nimport triggerBinLookUp from '../internal/SecuredFields/binLookup/triggerBinLookUp';\nimport { CardBinLookupData, CardConfigSuccessData, CardFocusData } from '../internal/SecuredFields/lib/types';\nimport { fieldTypeToSnakeCase } from '../internal/SecuredFields/utils';\nimport { reject } from '../../utils/commonUtils';\nimport { shouldIncludeInstallmentsInPaymentData } from './components/CardInput/utils';\nimport createClickToPayService from '../internal/ClickToPay/services/create-clicktopay-service';\nimport { ClickToPayCheckoutPayload, IClickToPayService } from '../internal/ClickToPay/services/types';\nimport ClickToPayWrapper from './components/ClickToPayWrapper';\nimport { ComponentFocusObject } from '../../types/global-types';\nimport { TxVariants } from '../tx-variants';\nimport type { UIElementStatus } from '../internal/UIElement/types';\nimport UIElement from '../internal/UIElement';\nimport PayButton from '../internal/PayButton';\nimport type { ICore } from '../../core/types';\nimport { ALL_SECURED_FIELDS } from '../internal/SecuredFields/lib/constants';\nimport AdyenCheckoutError, { IMPLEMENTATION_ERROR } from '../../core/Errors/AdyenCheckoutError';\nimport CardInputDefaultProps from './components/CardInput/defaultProps';\nimport { PayButtonProps } from '../internal/PayButton/PayButton';\nimport { AnalyticsInfoEvent, InfoEventType, UiTarget } from '../../core/Analytics/events/AnalyticsInfoEvent';\n\nexport class CardElement extends UIElement<CardConfiguration> {\n public static type = TxVariants.scheme;\n\n private readonly clickToPayService: IClickToPayService | null;\n\n /**\n * Reference to the 'ClickToPayComponent'\n */\n private clickToPayRef = null;\n\n constructor(checkout: ICore, props?: CardConfiguration) {\n super(checkout, props);\n\n if (props && !props._disableClickToPay && this.props.fundingSource !== 'prepaid') {\n this.clickToPayService = createClickToPayService(\n this.props.configuration,\n this.props.clickToPayConfiguration,\n this.props.environment,\n this.analytics\n );\n\n void this.clickToPayService?.initialize();\n }\n }\n\n protected static defaultProps = {\n showFormInstruction: true,\n _disableClickToPay: false,\n doBinLookup: true,\n // Merge most of CardInput's defaultProps\n ...reject(['type', 'setComponentRef']).from(CardInputDefaultProps)\n };\n\n public setStatus(status: UIElementStatus, props?): this {\n if (this.componentRef?.setStatus) {\n this.componentRef.setStatus(status, props);\n }\n if (this.clickToPayRef?.setStatus) {\n this.clickToPayRef.setStatus(status, props);\n }\n return this;\n }\n\n private setClickToPayRef = ref => {\n this.clickToPayRef = ref;\n };\n\n formatProps(props: CardConfiguration): CardConfiguration {\n // The value from a session should be used, before falling back to the merchant configuration\n const enableStoreDetails = props.session?.configuration?.enableStoreDetails ?? props.enableStoreDetails;\n\n const isZeroAuth = props.amount?.value === 0;\n const showStoreDetailsCheckbox = isZeroAuth ? false : enableStoreDetails;\n\n const storedCardID = props.storedPaymentMethodId || props.id; // check if we've been passed a (checkout) processed storedCard or one that merchant has pulled from the PMs response\n const isEcommerceStoredCard = storedCardID && props?.supportedShopperInteractions?.includes('Ecommerce'); // If we have a storedCard does it support Ecommerce (it might not if the merchant has pulled it from the PMs response)\n\n // If we have a storedPM but it doesn't support Ecommerce - we can't make a storedCard component from it\n if (storedCardID && !isEcommerceStoredCard) {\n // TODO - Decide if an error is too severe? Would a console.warning suffice?\n throw new AdyenCheckoutError(\n IMPLEMENTATION_ERROR,\n 'You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions'\n );\n }\n\n return {\n ...props,\n // Mismatch between hasHolderName & holderNameRequired which can mean card can never be valid\n holderNameRequired: !props.hasHolderName ? false : props.holderNameRequired,\n // False for *stored* BCMC cards & if merchant explicitly wants to hide the CVC field\n hasCVC: !((props.brand && props.brand === 'bcmc') || props.hideCVC),\n // billingAddressRequired only available for non-stored cards\n billingAddressRequired: props.storedPaymentMethodId ? false : props.billingAddressRequired,\n // edge case where merchant has defined both an onAddressLookup callback AND set billingAddressMode: 'partial' - which leads to some strange behaviour in the address UI\n billingAddressMode: props.onAddressLookup ? CardInputDefaultProps.billingAddressMode : props.billingAddressMode,\n /** props.brand will be specified in the case of a StoredCard or a Bancontact component, for a regular Card we default it to 'card' */\n brand: props.brand ?? TxVariants.card,\n countryCode: props.countryCode ? props.countryCode.toLowerCase() : null,\n // Required for transition period (until configuration object becomes the norm)\n // - if merchant has defined value directly in props, use this instead\n configuration: {\n ...props.configuration,\n socialSecurityNumberMode: props.configuration?.socialSecurityNumberMode ?? 'auto'\n },\n brandsConfiguration: props.brandsConfiguration || props.configuration?.brandsConfiguration || {},\n icon: props.icon || props.configuration?.icon,\n // installmentOptions of a session should be used before falling back to the merchant configuration\n installmentOptions: props.session?.configuration?.installmentOptions || props.installmentOptions,\n enableStoreDetails,\n showStoreDetailsCheckbox,\n /**\n * Click to Pay configuration\n * - If email is set explicitly in the configuration, then it can override the one used in the session creation\n */\n clickToPayConfiguration: {\n ...props.clickToPayConfiguration,\n disableOtpAutoFocus: props.clickToPayConfiguration?.disableOtpAutoFocus || false,\n shopperEmail: props.clickToPayConfiguration?.shopperEmail || this.core.options?.session?.shopperEmail,\n telephoneNumber: props.clickToPayConfiguration?.telephoneNumber || this.core.options?.session?.telephoneNumber,\n locale: props.clickToPayConfiguration?.locale || props.i18n?.locale?.replace('-', '_')\n },\n ...(storedCardID && { storedPaymentMethodId: storedCardID })\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): CardElementData {\n /**\n * this.state.selectedBrandValue will be set when:\n * - /binLookup detects a single brand,\n * - when /binLookup detects a dual-branded card and the shopper makes a brand selection\n * - or, in the case of a storedCard\n */\n const cardBrand = this.state.selectedBrandValue;\n\n return {\n paymentMethod: {\n type: CardElement.type,\n ...this.state.data,\n ...(this.props.storedPaymentMethodId && {\n storedPaymentMethodId: this.props.storedPaymentMethodId,\n holderName: this.props.holderName ?? ''\n }),\n ...(cardBrand && { brand: cardBrand }),\n ...(this.props.fundingSource && { fundingSource: this.props.fundingSource }),\n ...(this.state.fastlaneData && { fastlaneData: btoa(JSON.stringify(this.state.fastlaneData)) })\n },\n ...(this.state.billingAddress && { billingAddress: this.state.billingAddress }),\n ...(this.state.socialSecurityNumber && { socialSecurityNumber: this.state.socialSecurityNumber }),\n ...this.storePaymentMethodPayload,\n ...(shouldIncludeInstallmentsInPaymentData(this.state.installments) && { installments: this.state.installments }),\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin\n };\n }\n\n protected override beforeRender(configSetByMerchant?: CardConfiguration): void {\n // We don't send 'rendered' events when rendering actions\n if (configSetByMerchant?.originalAction) {\n return;\n }\n\n const event = new AnalyticsInfoEvent({\n type: InfoEventType.rendered,\n component: this.type,\n configData: { ...configSetByMerchant, showPayButton: this.props.showPayButton },\n ...(configSetByMerchant?.oneClick && {\n isStoredPaymentMethod: true,\n brand: configSetByMerchant.brand\n })\n });\n\n this.analytics.sendAnalytics(event);\n }\n\n updateStyles(stylesObj) {\n if (this.componentRef?.updateStyles) this.componentRef.updateStyles(stylesObj);\n return this;\n }\n\n setFocusOn(fieldName) {\n if (this.componentRef?.setFocusOn) this.componentRef.setFocusOn(fieldName);\n return this;\n }\n\n public onBrand = event => {\n this.props.onBrand?.(event);\n };\n\n processBinLookupResponse(binLookupResponse: BinLookupResponse, isReset = false) {\n if (this.componentRef?.processBinLookupResponse) this.componentRef.processBinLookupResponse(binLookupResponse, isReset);\n return this;\n }\n\n handleUnsupportedCard(errObj) {\n if (this.componentRef?.handleUnsupportedCard) this.componentRef.handleUnsupportedCard(errObj);\n return this;\n }\n\n private handleClickToPaySubmit = (payload: ClickToPayCheckoutPayload) => {\n this.setState({ data: { ...payload }, valid: {}, errors: {}, isValid: true });\n this.submit();\n };\n\n onBinLookup(obj: CardBinLookupData) {\n // Handler for regular card comp doesn't need this 'raw' data or to know about 'resets'\n if (!obj.isReset) {\n const nuObj = reject('supportedBrandsRaw').from(obj);\n this.props.onBinLookup?.(nuObj);\n }\n }\n\n private onConfigSuccess = (obj: CardConfigSuccessData) => {\n const event = new AnalyticsInfoEvent({ component: this.type, type: InfoEventType.configured });\n this.submitAnalytics(event);\n\n this.props.onConfigSuccess?.(obj);\n };\n\n private onFocus = (obj: ComponentFocusObject) => {\n const event = new AnalyticsInfoEvent({\n component: this.type,\n type: InfoEventType.focus,\n target: fieldTypeToSnakeCase(obj.fieldType) as UiTarget\n });\n this.submitAnalytics(event);\n\n // Call merchant defined callback\n if (ALL_SECURED_FIELDS.includes(obj.fieldType)) {\n this.props.onFocus?.(obj.event as CardFocusData);\n } else {\n this.props.onFocus?.(obj);\n }\n };\n\n private onBlur = (obj: ComponentFocusObject) => {\n const event = new AnalyticsInfoEvent({\n component: this.type,\n type: InfoEventType.unfocus,\n target: fieldTypeToSnakeCase(obj.fieldType) as UiTarget\n });\n this.submitAnalytics(event);\n\n // Call merchant defined callback\n if (ALL_SECURED_FIELDS.includes(obj.fieldType)) {\n this.props.onBlur?.(obj.event as CardFocusData);\n } else {\n this.props.onBlur?.(obj);\n }\n };\n\n public onBinValue = triggerBinLookUp(this);\n\n get storePaymentMethodPayload() {\n const isStoredCard = this.props.storedPaymentMethodId?.length > 0;\n if (isStoredCard) {\n return {};\n }\n\n /**\n * For regular card, zero auth payments, we store the payment method, *if* the configuration says we should:\n * - For sessions, this means if the session has been created with storePaymentMethodMode: 'askForConsent'\n * - For the advanced flow, this means if the merchant has still set enableStoreDetails: true\n *\n * What we are doing is.. if for a normal payment we would show the \"Save for my next payment\" checkbox,\n * for a zero-auth payment we effectively click the checkbox on behalf of the shopper.\n */\n const isZeroAuth = this.props.amount?.value === 0;\n if (isZeroAuth) {\n return this.props.enableStoreDetails ? { storePaymentMethod: true } : {};\n }\n\n // For regular card, non-zero auth payments, we store the payment method based on the checkbox value.\n const includeStorePaymentMethod = this.props.showStoreDetailsCheckbox && typeof this.state.storePaymentMethod !== 'undefined';\n return includeStorePaymentMethod ? { storePaymentMethod: Boolean(this.state.storePaymentMethod) } : {};\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get icon() {\n return this.props.icon ?? this.resources.getImage()(this.props.brand);\n }\n\n get brands(): { icon: any; name: string }[] {\n const { brands, brandsConfiguration } = this.props;\n if (brands) {\n return brands.map(brand => {\n const brandIcon = brandsConfiguration[brand]?.icon ?? this.props.modules.resources.getImage()(brand);\n return { icon: brandIcon, name: brand };\n });\n }\n\n return [];\n }\n\n get displayName(): string {\n if (this.props.storedPaymentMethodId) {\n return `•••• ${this.props.lastFour}`;\n }\n\n return this.props.name || CardElement.type;\n }\n\n get accessibleName(): string {\n // Use display name, unless it's a stored payment method, there inform user\n return (\n (this.props.name || CardElement.type) +\n (this.props.storedPaymentMethodId\n ? ' ' + this.props.i18n.get('creditCard.storedCard.description.ariaLabel').replace('%@', this.props.lastFour)\n : '')\n );\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n protected override payButton = (props: PayButtonProps): h.JSX.Element => {\n const isZeroAuth = this.props.amount?.value === 0;\n const isStoredCard = this.props.storedPaymentMethodId?.length > 0;\n return <PayButton {...props} label={isZeroAuth && !isStoredCard ? this.props.i18n.get('payButton.saveDetails') : ''} onClick={this.submit} />;\n };\n\n private renderCardInput(isCardPrimaryInput = true): h.JSX.Element {\n return (\n <CardInput\n setComponentRef={this.setComponentRef}\n {...this.props}\n {...this.state}\n onSubmitAnalytics={this.submitAnalytics}\n onChange={this.setState}\n onSubmit={this.submit}\n handleKeyPress={this.handleKeyPress}\n payButton={this.payButton}\n onBrand={this.onBrand}\n onBinValue={this.onBinValue}\n brand={this.props.brand}\n brandsIcons={this.brands}\n isPayButtonPrimaryVariant={isCardPrimaryInput}\n resources={this.resources}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onConfigSuccess={this.onConfigSuccess}\n />\n );\n }\n\n protected override componentToRender(): h.JSX.Element {\n return (\n <ClickToPayWrapper\n configuration={this.props.clickToPayConfiguration}\n clickToPayService={this.clickToPayService}\n isStandaloneComponent={false}\n setClickToPayRef={this.setClickToPayRef}\n onSetStatus={this.setElementStatus}\n onSubmit={this.handleClickToPaySubmit}\n onError={this.handleError}\n >\n {isCardPrimaryInput => this.renderCardInput(isCardPrimaryInput)}\n </ClickToPayWrapper>\n );\n }\n}\n\nexport default CardElement;\n"],"names":["CardElement","UIElement","setStatus","status","props","this","componentRef","clickToPayRef","formatProps","enableStoreDetails","session","configuration","showStoreDetailsCheckbox","amount","value","storedCardID","storedPaymentMethodId","id","isEcommerceStoredCard","supportedShopperInteractions","includes","AdyenCheckoutError","IMPLEMENTATION_ERROR","holderNameRequired","hasHolderName","hasCVC","brand","hideCVC","billingAddressRequired","billingAddressMode","onAddressLookup","CardInputDefaultProps","TxVariants","card","countryCode","toLowerCase","socialSecurityNumberMode","brandsConfiguration","icon","installmentOptions","clickToPayConfiguration","disableOtpAutoFocus","shopperEmail","core","options","telephoneNumber","locale","i18n","replace","formatData","cardBrand","state","selectedBrandValue","paymentMethod","type","data","holderName","fundingSource","fastlaneData","btoa","JSON","stringify","billingAddress","socialSecurityNumber","storePaymentMethodPayload","shouldIncludeInstallmentsInPaymentData","installments","browserInfo","origin","window","location","beforeRender","configSetByMerchant","originalAction","event","AnalyticsInfoEvent","InfoEventType","rendered","component","configData","showPayButton","oneClick","isStoredPaymentMethod","analytics","sendAnalytics","updateStyles","stylesObj","setFocusOn","fieldName","processBinLookupResponse","binLookupResponse","isReset","handleUnsupportedCard","errObj","onBinLookup","obj","nuObj","reject","from","length","storePaymentMethod","Boolean","isValid","resources","getImage","brands","map","modules","name","displayName","lastFour","accessibleName","get","collectBrowserInfo","renderCardInput","isCardPrimaryInput","h","CardInput","setComponentRef","onSubmitAnalytics","submitAnalytics","onChange","setState","onSubmit","submit","handleKeyPress","payButton","onBrand","onBinValue","brandsIcons","isPayButtonPrimaryVariant","onFocus","onBlur","onConfigSuccess","componentToRender","ClickToPayWrapper","clickToPayService","isStandaloneComponent","setClickToPayRef","onSetStatus","setElementStatus","handleClickToPaySubmit","onError","handleError","constructor","checkout","super","_define_property","ref","payload","valid","errors","configured","focus","target","fieldTypeToSnakeCase","fieldType","ALL_SECURED_FIELDS","unfocus","triggerBinLookUp","isZeroAuth","isStoredCard","PayButton","label","onClick","_disableClickToPay","createClickToPayService","environment","initialize","scheme","defaultProps","showFormInstruction","doBinLookup"],"mappings":"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"}
1
+ {"version":3,"file":"Card.js","sources":["../../../../src/components/Card/Card.tsx"],"sourcesContent":["import { h } from 'preact';\nimport CardInput from './components/CardInput';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport { BinLookupResponse, CardElementData, CardConfiguration } from './types';\nimport triggerBinLookUp from '../internal/SecuredFields/binLookup/triggerBinLookUp';\nimport { CardBinLookupData, CardConfigSuccessData, CardFocusData } from '../internal/SecuredFields/lib/types';\nimport { fieldTypeToSnakeCase, isSecuredField } from '../internal/SecuredFields/utils';\nimport { reject } from '../../utils/commonUtils';\nimport { shouldIncludeInstallmentsInPaymentData } from './components/CardInput/utils';\nimport createClickToPayService from '../internal/ClickToPay/services/create-clicktopay-service';\nimport { ClickToPayCheckoutPayload, IClickToPayService } from '../internal/ClickToPay/services/types';\nimport ClickToPayWrapper from './components/ClickToPayWrapper';\nimport { ComponentFocusObject } from '../../types/global-types';\nimport { TxVariants } from '../tx-variants';\nimport type { UIElementStatus } from '../internal/UIElement/types';\nimport UIElement from '../internal/UIElement';\nimport PayButton from '../internal/PayButton';\nimport type { ICore } from '../../core/types';\nimport AdyenCheckoutError, { IMPLEMENTATION_ERROR } from '../../core/Errors/AdyenCheckoutError';\nimport CardInputDefaultProps from './components/CardInput/defaultProps';\nimport { PayButtonProps } from '../internal/PayButton/PayButton';\nimport { AnalyticsInfoEvent, InfoEventType, UiTarget } from '../../core/Analytics/events/AnalyticsInfoEvent';\n\nexport class CardElement extends UIElement<CardConfiguration> {\n public static readonly type: TxVariants = TxVariants.scheme;\n\n private readonly clickToPayService: IClickToPayService | null;\n\n /**\n * Reference to the 'ClickToPayComponent'\n */\n private clickToPayRef = null;\n\n constructor(checkout: ICore, props?: CardConfiguration) {\n super(checkout, props);\n\n if (props && !props._disableClickToPay && this.props.fundingSource !== 'prepaid') {\n this.clickToPayService = createClickToPayService(\n this.props.configuration,\n this.props.clickToPayConfiguration,\n this.props.environment,\n this.analytics\n );\n\n void this.clickToPayService?.initialize();\n }\n }\n\n protected static readonly defaultProps = {\n showFormInstruction: true,\n _disableClickToPay: false,\n doBinLookup: true,\n // Merge most of CardInput's defaultProps\n ...reject(['type', 'setComponentRef']).from(CardInputDefaultProps)\n };\n\n public setStatus(status: UIElementStatus, props?): this {\n if (this.componentRef?.setStatus) {\n this.componentRef.setStatus(status, props);\n }\n if (this.clickToPayRef?.setStatus) {\n this.clickToPayRef.setStatus(status, props);\n }\n return this;\n }\n\n private setClickToPayRef = ref => {\n this.clickToPayRef = ref;\n };\n\n // This is the most self contained way of handling funding source matching\n // Alternatives would be to override getPaymentMethodConfigFromResponse and change it's signature\n protected override getPaymentMethodConfigFromResponse(componentProps: CardConfiguration) {\n if (componentProps?.fundingSource) {\n return this.core.paymentMethodsResponse?.findByFundingSource(componentProps.type, componentProps.fundingSource);\n }\n\n return super.getPaymentMethodConfigFromResponse(componentProps);\n }\n\n formatProps(props: CardConfiguration): CardConfiguration {\n // The value from a session should be used, before falling back to the merchant configuration\n const enableStoreDetails = props.session?.configuration?.enableStoreDetails ?? props.enableStoreDetails;\n\n const isZeroAuth = props.amount?.value === 0;\n const showStoreDetailsCheckbox = isZeroAuth ? false : enableStoreDetails;\n\n const storedCardID = props.storedPaymentMethodId || props.id; // check if we've been passed a (checkout) processed storedCard or one that merchant has pulled from the PMs response\n const isEcommerceStoredCard = storedCardID && props?.supportedShopperInteractions?.includes('Ecommerce'); // If we have a storedCard does it support Ecommerce (it might not if the merchant has pulled it from the PMs response)\n\n // If we have a storedPM but it doesn't support Ecommerce - we can't make a storedCard component from it\n if (storedCardID && !isEcommerceStoredCard) {\n // TODO - Decide if an error is too severe? Would a console.warning suffice?\n throw new AdyenCheckoutError(\n IMPLEMENTATION_ERROR,\n 'You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions'\n );\n }\n\n return {\n ...props,\n // Mismatch between hasHolderName & holderNameRequired which can mean card can never be valid\n holderNameRequired: !props.hasHolderName ? false : props.holderNameRequired,\n // False for *stored* BCMC cards & if merchant explicitly wants to hide the CVC field\n hasCVC: !((props.brand && props.brand === 'bcmc') || props.hideCVC),\n // billingAddressRequired only available for non-stored cards\n billingAddressRequired: props.storedPaymentMethodId ? false : props.billingAddressRequired,\n // edge case where merchant has defined both an onAddressLookup callback AND set billingAddressMode: 'partial' - which leads to some strange behaviour in the address UI\n billingAddressMode: props.onAddressLookup ? CardInputDefaultProps.billingAddressMode : props.billingAddressMode,\n /** props.brand will be specified in the case of a StoredCard or a Bancontact component, for a regular Card we default it to 'card' */\n brand: props.brand ?? TxVariants.card,\n countryCode: props.countryCode ? props.countryCode.toLowerCase() : null,\n // Required for transition period (until configuration object becomes the norm)\n // - if merchant has defined value directly in props, use this instead\n configuration: {\n ...props.configuration,\n socialSecurityNumberMode: props.configuration?.socialSecurityNumberMode ?? 'auto'\n },\n brandsConfiguration: props.brandsConfiguration || props.configuration?.brandsConfiguration || {},\n icon: props.icon || props.configuration?.icon,\n // installmentOptions of a session should be used before falling back to the merchant configuration\n installmentOptions: props.session?.configuration?.installmentOptions || props.installmentOptions,\n enableStoreDetails,\n showStoreDetailsCheckbox,\n /**\n * Click to Pay configuration\n * - If email is set explicitly in the configuration, then it can override the one used in the session creation\n */\n clickToPayConfiguration: {\n ...props.clickToPayConfiguration,\n disableOtpAutoFocus: props.clickToPayConfiguration?.disableOtpAutoFocus || false,\n shopperEmail: props.clickToPayConfiguration?.shopperEmail || this.core.options?.session?.shopperEmail,\n telephoneNumber: props.clickToPayConfiguration?.telephoneNumber || this.core.options?.session?.telephoneNumber,\n locale: props.clickToPayConfiguration?.locale || props.i18n?.locale?.replace('-', '_')\n },\n ...(storedCardID && { storedPaymentMethodId: storedCardID })\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): CardElementData {\n /**\n * this.state.selectedBrandValue will be set when:\n * - /binLookup detects a single brand,\n * - when /binLookup detects a dual-branded card and the shopper makes a brand selection\n * - or, in the case of a storedCard\n */\n const cardBrand = this.state.selectedBrandValue;\n\n return {\n paymentMethod: {\n type: CardElement.type,\n ...this.state.data,\n ...(this.props.storedPaymentMethodId && {\n storedPaymentMethodId: this.props.storedPaymentMethodId,\n holderName: this.props.holderName ?? ''\n }),\n ...(cardBrand && { brand: cardBrand }),\n ...(this.props.fundingSource && { fundingSource: this.props.fundingSource }),\n ...(this.state.fastlaneData && { fastlaneData: btoa(JSON.stringify(this.state.fastlaneData)) })\n },\n ...(this.state.billingAddress && { billingAddress: this.state.billingAddress }),\n ...(this.state.socialSecurityNumber && { socialSecurityNumber: this.state.socialSecurityNumber }),\n ...this.storePaymentMethodPayload,\n ...(shouldIncludeInstallmentsInPaymentData(this.state.installments) && { installments: this.state.installments }),\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin\n };\n }\n\n protected override beforeRender(configSetByMerchant?: CardConfiguration): void {\n // We don't send 'rendered' events when rendering actions\n if (configSetByMerchant?.originalAction) {\n return;\n }\n\n const event = new AnalyticsInfoEvent({\n type: InfoEventType.rendered,\n component: this.type,\n configData: { ...configSetByMerchant, showPayButton: this.props.showPayButton },\n ...(configSetByMerchant?.oneClick && {\n isStoredPaymentMethod: true,\n brand: configSetByMerchant.brand\n })\n });\n\n this.analytics.sendAnalytics(event);\n }\n\n updateStyles(stylesObj) {\n if (this.componentRef?.updateStyles) this.componentRef.updateStyles(stylesObj);\n return this;\n }\n\n setFocusOn(fieldName) {\n if (this.componentRef?.setFocusOn) this.componentRef.setFocusOn(fieldName);\n return this;\n }\n\n public onBrand = event => {\n this.props.onBrand?.(event);\n };\n\n processBinLookupResponse(binLookupResponse: BinLookupResponse, isReset = false) {\n if (this.componentRef?.processBinLookupResponse) this.componentRef.processBinLookupResponse(binLookupResponse, isReset);\n return this;\n }\n\n handleUnsupportedCard(errObj) {\n if (this.componentRef?.handleUnsupportedCard) this.componentRef.handleUnsupportedCard(errObj);\n return this;\n }\n\n private handleClickToPaySubmit = (payload: ClickToPayCheckoutPayload) => {\n this.setState({ data: { ...payload }, valid: {}, errors: {}, isValid: true });\n this.submit();\n };\n\n onBinLookup(obj: CardBinLookupData) {\n // Handler for regular card comp doesn't need this 'raw' data or to know about 'resets'\n if (!obj.isReset) {\n const nuObj = reject('supportedBrandsRaw').from(obj);\n this.props.onBinLookup?.(nuObj);\n }\n }\n\n private onConfigSuccess = (obj: CardConfigSuccessData) => {\n const event = new AnalyticsInfoEvent({ component: this.type, type: InfoEventType.configured });\n this.submitAnalytics(event);\n\n this.props.onConfigSuccess?.(obj);\n };\n\n private onFocus = (obj: ComponentFocusObject) => {\n const event = new AnalyticsInfoEvent({\n component: this.type,\n type: InfoEventType.focus,\n target: fieldTypeToSnakeCase(obj.fieldType) as UiTarget\n });\n this.submitAnalytics(event);\n\n // Call merchant defined callback\n if (isSecuredField(obj.fieldType)) {\n this.props.onFocus?.(obj.event as CardFocusData);\n } else {\n this.props.onFocus?.(obj);\n }\n };\n\n private onBlur = (obj: ComponentFocusObject) => {\n const event = new AnalyticsInfoEvent({\n component: this.type,\n type: InfoEventType.unfocus,\n target: fieldTypeToSnakeCase(obj.fieldType) as UiTarget\n });\n this.submitAnalytics(event);\n\n // Call merchant defined callback\n if (isSecuredField(obj.fieldType)) {\n this.props.onBlur?.(obj.event as CardFocusData);\n } else {\n this.props.onBlur?.(obj);\n }\n };\n\n public onBinValue = triggerBinLookUp(this);\n\n get storePaymentMethodPayload() {\n const isStoredCard = this.props.storedPaymentMethodId?.length > 0;\n if (isStoredCard) {\n return {};\n }\n\n /**\n * For regular card, zero auth payments, we store the payment method, *if* the configuration says we should:\n * - For sessions, this means if the session has been created with storePaymentMethodMode: 'askForConsent'\n * - For the advanced flow, this means if the merchant has still set enableStoreDetails: true\n *\n * What we are doing is.. if for a normal payment we would show the \"Save for my next payment\" checkbox,\n * for a zero-auth payment we effectively click the checkbox on behalf of the shopper.\n */\n const isZeroAuth = this.props.amount?.value === 0;\n if (isZeroAuth) {\n return this.props.enableStoreDetails ? { storePaymentMethod: true } : {};\n }\n\n // For regular card, non-zero auth payments, we store the payment method based on the checkbox value.\n const includeStorePaymentMethod = this.props.showStoreDetailsCheckbox && typeof this.state.storePaymentMethod !== 'undefined';\n return includeStorePaymentMethod ? { storePaymentMethod: Boolean(this.state.storePaymentMethod) } : {};\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get icon() {\n return this.props.icon ?? this.resources.getImage()(this.props.brand);\n }\n\n get brands(): { icon: any; name: string }[] {\n const { brands, brandsConfiguration } = this.props;\n if (brands) {\n return brands.map(brand => {\n const brandIcon = brandsConfiguration[brand]?.icon ?? this.props.modules.resources.getImage()(brand);\n return { icon: brandIcon, name: brand };\n });\n }\n\n return [];\n }\n\n get displayName(): string {\n if (this.props.storedPaymentMethodId) {\n return `•••• ${this.props.lastFour}`;\n }\n\n return this.props.name || CardElement.type;\n }\n\n get accessibleName(): string {\n // Use display name, unless it's a stored payment method, there inform user\n return (\n (this.props.name || CardElement.type) +\n (this.props.storedPaymentMethodId\n ? ' ' + this.props.i18n.get('creditCard.storedCard.description.ariaLabel').replace('%@', this.props.lastFour)\n : '')\n );\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n protected override payButton = (props: PayButtonProps): h.JSX.Element => {\n const isZeroAuth = this.props.amount?.value === 0;\n const isStoredCard = this.props.storedPaymentMethodId?.length > 0;\n return <PayButton {...props} label={isZeroAuth && !isStoredCard ? this.props.i18n.get('payButton.saveDetails') : ''} onClick={this.submit} />;\n };\n\n private renderCardInput(isCardPrimaryInput = true): h.JSX.Element {\n return (\n <CardInput\n setComponentRef={this.setComponentRef}\n {...this.props}\n {...this.state}\n onSubmitAnalytics={this.submitAnalytics}\n onChange={this.setState}\n onSubmit={this.submit}\n handleKeyPress={this.handleKeyPress}\n payButton={this.payButton}\n onBrand={this.onBrand}\n onBinValue={this.onBinValue}\n brand={this.props.brand}\n brandsIcons={this.brands}\n isPayButtonPrimaryVariant={isCardPrimaryInput}\n resources={this.resources}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onConfigSuccess={this.onConfigSuccess}\n />\n );\n }\n\n protected override componentToRender(): h.JSX.Element {\n return (\n <ClickToPayWrapper\n configuration={this.props.clickToPayConfiguration}\n clickToPayService={this.clickToPayService}\n isStandaloneComponent={false}\n setClickToPayRef={this.setClickToPayRef}\n onSetStatus={this.setElementStatus}\n onSubmit={this.handleClickToPaySubmit}\n onError={this.handleError}\n >\n {isCardPrimaryInput => this.renderCardInput(isCardPrimaryInput)}\n </ClickToPayWrapper>\n );\n }\n}\n\nexport default CardElement;\n"],"names":["CardElement","UIElement","setStatus","status","props","this","componentRef","clickToPayRef","getPaymentMethodConfigFromResponse","componentProps","fundingSource","core","paymentMethodsResponse","findByFundingSource","type","super","formatProps","enableStoreDetails","session","configuration","showStoreDetailsCheckbox","amount","value","storedCardID","storedPaymentMethodId","id","isEcommerceStoredCard","supportedShopperInteractions","includes","AdyenCheckoutError","IMPLEMENTATION_ERROR","holderNameRequired","hasHolderName","hasCVC","brand","hideCVC","billingAddressRequired","billingAddressMode","onAddressLookup","CardInputDefaultProps","TxVariants","card","countryCode","toLowerCase","socialSecurityNumberMode","brandsConfiguration","icon","installmentOptions","clickToPayConfiguration","disableOtpAutoFocus","shopperEmail","options","telephoneNumber","locale","i18n","replace","formatData","cardBrand","state","selectedBrandValue","paymentMethod","data","holderName","fastlaneData","btoa","JSON","stringify","billingAddress","socialSecurityNumber","storePaymentMethodPayload","shouldIncludeInstallmentsInPaymentData","installments","browserInfo","origin","window","location","beforeRender","configSetByMerchant","originalAction","event","AnalyticsInfoEvent","InfoEventType","rendered","component","configData","showPayButton","oneClick","isStoredPaymentMethod","analytics","sendAnalytics","updateStyles","stylesObj","setFocusOn","fieldName","processBinLookupResponse","binLookupResponse","isReset","handleUnsupportedCard","errObj","onBinLookup","obj","nuObj","reject","from","length","storePaymentMethod","Boolean","isValid","resources","getImage","brands","map","modules","name","displayName","lastFour","accessibleName","get","collectBrowserInfo","renderCardInput","isCardPrimaryInput","h","CardInput","setComponentRef","onSubmitAnalytics","submitAnalytics","onChange","setState","onSubmit","submit","handleKeyPress","payButton","onBrand","onBinValue","brandsIcons","isPayButtonPrimaryVariant","onFocus","onBlur","onConfigSuccess","componentToRender","ClickToPayWrapper","clickToPayService","isStandaloneComponent","setClickToPayRef","onSetStatus","setElementStatus","handleClickToPaySubmit","onError","handleError","constructor","checkout","_define_property","ref","payload","valid","errors","configured","focus","target","fieldTypeToSnakeCase","fieldType","isSecuredField","unfocus","triggerBinLookUp","isZeroAuth","isStoredCard","PayButton","label","onClick","_disableClickToPay","createClickToPayService","environment","initialize","scheme","defaultProps","showFormInstruction","doBinLookup"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{createElement as e,Fragment as r}from"../../../../external/preact/dist/preact.js";import{useRef as t,useMemo as o,useState as n,useCallback as s,useEffect as a}from"../../../../external/preact/hooks/dist/hooks.js";import i from"../../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import l from"./defaultProps.js";import{AddressModeOptions as d}from"./types.js";import{ENCRYPTED_CARD_NUMBER as u,DATE_POLICY_REQUIRED as c,CVC_POLICY_REQUIRED as m}from"../../../internal/SecuredFields/lib/constants.js";import{cardInputValidationRules as p,getRuleByNameAndMode as y,cardInputFormatters as f}from"./validate.js";import h from"../../../internal/SecuredFields/binLookup/extensions.js";import b from"../../../../utils/useForm/useForm.js";import{handlePartialAddressMode as S,extractPropsForSFP as g,extractPropsForCardFields as N,getLayout as A}from"./utils.js";import F from"../../../internal/Address/Specifications.js";import{StoredCardFieldsWrapper as C}from"./components/StoredCardFieldsWrapper.js";import{CardFieldsWrapper as j}from"./components/CardFieldsWrapper.js";import{getAutoJumpHandler as v,getFocusHandler as B,getAddressHandler as k}from"./handlers.js";import w from"../../../../_virtual/index.js";import{getPartialAddressValidationRules as R}from"../../../internal/Address/validate.js";import x from"../../../../core/Context/useImage.js";import{getArrayDifferences as E}from"../../../../utils/arrayUtils.js";import I from"../../../internal/FormInstruction/FormInstruction.js";import{PREFIX as P}from"../../../internal/Icon/constants.js";import V from"./useSRPanelForCardInputErrors.js";import O from"../Fastlane/FastlaneSignup.js";import{fieldTypeToSnakeCase as q}from"../../../internal/SecuredFields/utils.js";import{getErrorMessageFromCode as D}from"../../../../core/Errors/utils.js";import{SF_ErrorCodes as M}from"../../../../core/Errors/constants.js";import{usePrevious as _}from"../../../../utils/hookUtils.js";import{AnalyticsInfoEvent as L,InfoEventType as T,UiTarget as K}from"../../../../core/Analytics/events/AnalyticsInfoEvent.js";const U=l=>{const U=t(null),H=t(!1),z=x(),W=t(null),$=e=>{W.current=e},G=t({});Object.keys(G.current).length||l.setComponentRef(G.current);const J=t(0),Q=t(!1),X=o(()=>new F(l.specifications),[l.specifications]);G.current.sfp=U;const[Y,Z]=n("ready"),[ee,re]=n({}),[te,oe]=n({...l.holderNameRequired&&{holderName:!1}}),[ne,se]=n({...l.hasHolderName&&{holderName:l.data.holderName??""}}),[ae,ie]=n(""),[le,de]=n(!1),[ue,ce]=n(c),[me,pe]=n(m),[ye,fe]=n(null),[he,be]=n([]),[Se,ge]=n(l.storedPaymentMethodId?l.brand:""),Ne=l.billingAddressMode!==d.none&&l.billingAddressRequired,Ae=S(l.billingAddressMode),Fe=t(Ae&&l.data?.billingAddress?.country),[Ce,je]=n(!1),[ve,Be]=n(Ne?l.data.billingAddress:null),[ke,we]=n(!1),[Re,xe]=n(""),[Ee,Ie]=n({value:null}),[Pe,Ve]=n(null),[Oe,qe]=n("card"),[De,Me]=n(!1),{handleChangeFor:_e,triggerValidation:Le,data:Te,valid:Ke,errors:Ue,setSchema:He,setData:ze,setValid:We,setErrors:$e}=b({schema:[],defaultData:l.data,formatters:f,rules:p}),Ge=!(!Object.keys(l.installmentOptions).length||l.fundingSource&&"credit"!==l.fundingSource),Je=l.showInstallmentAmounts??!0,Qe="kr"===(ye??l.countryCode),Xe=l.configuration.koreanAuthenticationRequired&&Qe,Ye=ke&&"auto"===l.configuration.socialSecurityNumberMode||"show"===l.configuration.socialSecurityNumberMode,Ze=(e,r)=>{l.onFocus({fieldType:e,event:r})},er=(e,r)=>{l.onBlur({fieldType:e,event:r})},rr=s(e=>{qe(e.brand),l.onBrand(e)},[]),tr=B(ie,Ze,er),or=()=>A({props:l,showKCP:Xe,showBrazilianSSN:Ye,...l.billingAddressRequired&&{countrySpecificSchemas:X.getAddressSchemaForCountry(ve?.country),billingAddressRequiredFields:l.billingAddressRequiredFields}}),nr=s(e=>{const r="webInternalElement"!==e.fieldType?e.fieldType:e.name;Ve(r)},[]),sr=k(ze,We,$e),ar=v(Q,U,or()),ir=s(e=>{lr(e)},[De,Me]),lr=e=>{e.status&&("loading"==e.status?Me(!1):Me(!0))},dr=o(()=>h(l,{sfp:U},{dualBrandSelectElements:he,setDualBrandSelectElements:be,setSelectedBrandValue:ge,issuingCountryCode:ye,setIssuingCountryCode:fe},J),[he,ye]);G.current.showValidation=()=>{H.current=!0,mr?.(),U.current.showValidation(),Le(["holderName","socialSecurityNumber","taxNumber"]),W?.current&&W.current.showValidation()},G.current.processBinLookupResponse=(e,r)=>{dr.processBinLookup(e,r)},G.current.setStatus=Z,a(()=>(G.current.setFocusOn=U.current.setFocusOn,G.current.updateStyles=U.current.updateStyles,G.current.handleUnsupportedCard=U.current.handleUnsupportedCard,()=>{U.current.destroy()}),[]),a(()=>{const e=[...l.hasHolderName?["holderName"]:[],...Ye?["socialSecurityNumber"]:[],...Xe?["taxNumber"]:[],...Ne?["billingAddress"]:[]];He(e)},[l.hasHolderName,Ye,Xe]),a(()=>{se({...ne,holderName:Te.holderName??"",taxNumber:Te.taxNumber}),xe(Te.socialSecurityNumber),Ne&&Be({...Te.billingAddress}),oe({...te,holderName:!l.holderNameRequired||Ke.holderName,socialSecurityNumber:!!Ke.socialSecurityNumber&&Ke.socialSecurityNumber,taxNumber:!!Ke.taxNumber&&Ke.taxNumber,billingAddress:!!Ke.billingAddress&&Ke.billingAddress});const e=!!Ue.billingAddress&&Object.entries(Ue.billingAddress).reduce((e,[,r])=>e||null!=r,!1);re({...ee,holderName:l.holderNameRequired&&Ue.holderName?Ue.holderName:null,socialSecurityNumber:Ye&&Ue.socialSecurityNumber?Ue.socialSecurityNumber:null,taxNumber:Xe&&Ue.taxNumber?Ue.taxNumber:null,billingAddress:Ne&&e?Ue.billingAddress:null})},[Te,Ke,Ue]);const{sortedErrorList:ur,previousSortedErrors:cr,clearSRPanel:mr}=V({errors:ee,props:l,isValidating:H,retrieveLayout:or,specifications:X,billingAddress:ve,sfp:U});a(()=>{if(ur){const e=E(ur,cr,"field");e?.forEach(e=>{const r=new L({component:l.type,type:T.validationError,target:q(e.field),validationErrorCode:e.errorCode,validationErrorMessage:D(e.errorCode,M)});l.onSubmitAnalytics(r)})}},[ur]),a(()=>{const e=te.holderName,r=le,t=!Ne||te.billingAddress,o=!Xe||!!te.taxNumber&&!!te.encryptedPassword,n=!Ye||!!te.socialSecurityNumber,s=r&&e&&t&&o&&n,a=U.current.mapErrorsToValidationRuleResult(),i={...ee,...a};l.onChange({data:ne,valid:te,errors:i,isValid:s,billingAddress:ve,selectedBrandValue:Se,storePaymentMethod:Ce,socialSecurityNumber:Re,installments:Ee})},[ne,te,ee,Se,Ce,Ee]),a(()=>{if(he.length>0&&he){const e=he.map(e=>e.id),r=e[0],t=e.toString(),o=new L({component:l.type,type:T.displayed,target:K.dualBrandButton,brand:r,configData:{dualBrands:t}});l.onSubmitAnalytics(o)}},[he]);const pr=_(Se);a(()=>{if(pr?.length&&Se?.length){const e=new L({component:l.type,type:T.selected,target:K.dualBrandButton,brand:Se});l.onSubmitAnalytics(e)}},[Se]);const yr=l.storedPaymentMethodId?C:j;return e(r,null,e(i,{ref:U,...g(l),styles:{...l.styles},koreanAuthenticationRequired:l.configuration.koreanAuthenticationRequired,hasKoreanFields:!(!l.configuration.koreanAuthenticationRequired||"kr"!==l.countryCode),onSubmitAnalytics:l.onSubmitAnalytics,onChange:(e,r)=>{if(e.autoCompleteName){if(!l.hasHolderName)return;const r=y("holderName","blur")(e.autoCompleteName)?e.autoCompleteName:null;return void(r&&(ze("holderName",r),We("holderName",!0),$e("holderName",null)))}l.autoFocus&&J.current>0&&"handleOnFieldValid"===r?.event&&r?.fieldType===u&&e.valid.encryptedCardNumber&&ar(),se({...ne,...e.data}),re({...ee,...e.errors}),oe({...te,...e.valid}),de(e.isSfpValid),pe(e.cvcPolicy),we(e.showSocialSecurityNumber),ce(e.expiryDatePolicy)},onBrand:rr,onFocus:tr,onStateUpdate:ir,type:l.brand,componentType:l.type,disableIOSArrowKeys:l.disableIOSArrowKeys?nr:null,render:({setRootNode:r,setFocusOn:t},o)=>e("div",{ref:r,className:w({"adyen-checkout__card-input":!0,"adyen-checkout-card-input__wrapper":!0,[`adyen-checkout__card-input--${l.fundingSource??"credit"}`]:!0,"adyen-checkout__card-input--loading":"loading"===Y}),role:"form"},De&&e(I,null),e(yr,{...N(l),data:ne,valid:te,errors:ee,handleChangeFor:_e,focusedElement:ae,setFocusOn:t,sfpState:o,cvcPolicy:me,hasInstallments:Ge,showAmountsInInstallments:Je,handleInstallments:Ie,brandsIcons:l.brandsIcons,formData:Te,formErrors:Ue,formValid:Ke,expiryDatePolicy:ue,dualBrandSelectElements:he,extensions:dr,selectedBrandValue:Se,showKCP:Xe,showBrazilianSSN:Ye,socialSecurityNumber:Re,handleOnStoreDetails:je,setAddressRef:$,billingAddress:ve,billingAddressValidationRules:Ae&&R(Fe.current),partialAddressSchema:Ae,handleAddress:sr,onAddressLookup:l.onAddressLookup,onAddressSelected:l.onAddressSelected,addressSearchDebounceMs:l.addressSearchDebounceMs,iOSFocusedField:Pe,onFieldFocusAnalytics:Ze,onFieldBlurAnalytics:er}))}),l.fastlaneConfiguration&&e(O,{...l.fastlaneConfiguration,currentDetectedBrand:Oe,onChange:l.onChange,onSubmitAnalytics:l.onSubmitAnalytics,type:l.type}),De&&l.showPayButton&&l.payButton({status:Y,variant:l.isPayButtonPrimaryVariant?"primary":"secondary",icon:z({imageFolder:"components/"})(`${P}lock`)}))};U.defaultProps=l;export{U as default};
1
+ import{createElement as e,Fragment as r}from"../../../../external/preact/dist/preact.js";import{useRef as t,useMemo as o,useState as n,useCallback as s,useEffect as a}from"../../../../external/preact/hooks/dist/hooks.js";import i from"../../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import d from"./defaultProps.js";import{AddressModeOptions as l}from"./types.js";import{ENCRYPTED_CARD_NUMBER as u,DATE_POLICY_REQUIRED as c,CVC_POLICY_REQUIRED as m}from"../../../internal/SecuredFields/lib/constants.js";import{cardInputValidationRules as p,getRuleByNameAndMode as y,cardInputFormatters as f}from"./validate.js";import h from"../../../internal/SecuredFields/binLookup/extensions.js";import b from"../../../../utils/useForm/useForm.js";import{handlePartialAddressMode as S,shouldShowInstallmentsComponent as g,extractPropsForCardFields as N,extractPropsForSFP as A,getLayout as C}from"./utils.js";import F from"../../../internal/Address/Specifications.js";import{StoredCardFieldsWrapper as j}from"./components/StoredCardFieldsWrapper.js";import{CardFieldsWrapper as v}from"./components/CardFieldsWrapper.js";import{getAutoJumpHandler as w,getFocusHandler as x,getAddressHandler as B}from"./handlers.js";import E from"../../../../_virtual/index.js";import{getPartialAddressValidationRules as P}from"../../../internal/Address/validate.js";import k from"../../../../core/Context/useImage.js";import{getArrayDifferences as R}from"../../../../utils/arrayUtils.js";import I from"../../../internal/FormInstruction/FormInstruction.js";import{PREFIX as V}from"../../../internal/Icon/constants.js";import D from"./useSRPanelForCardInputErrors.js";import O from"../Fastlane/FastlaneSignup.js";import{fieldTypeToSnakeCase as q}from"../../../internal/SecuredFields/utils.js";import{getErrorMessageFromCode as M}from"../../../../core/Errors/utils.js";import{SF_ErrorCodes as _}from"../../../../core/Errors/constants.js";import{usePrevious as L}from"../../../../utils/hookUtils.js";import{AnalyticsInfoEvent as T,InfoEventType as K,UiTarget as U}from"../../../../core/Analytics/events/AnalyticsInfoEvent.js";import{useAmount as H}from"../../../../core/Context/AmountProvider.js";const z=d=>{const z=t(null),W=t(!1),$=k(),G=t(null),J=e=>{G.current=e},Q=t({});Object.keys(Q.current).length||d.setComponentRef(Q.current);const X=t(0),Y=t(!1),Z=o(()=>new F(d.specifications),[d.specifications]),{amount:ee}=H();Q.current.sfp=z;const[re,te]=n("ready"),[oe,ne]=n({}),[se,ae]=n({...d.holderNameRequired&&{holderName:!1}}),[ie,de]=n({...d.hasHolderName&&{holderName:d.data.holderName??""}}),[le,ue]=n(""),[ce,me]=n(!1),[pe,ye]=n(c),[fe,he]=n(m),[be,Se]=n(null),[ge,Ne]=n([]),[Ae,Ce]=n(d.storedPaymentMethodId?d.brand:""),Fe=d.billingAddressMode!==l.none&&d.billingAddressRequired,je=S(d.billingAddressMode),ve=t(je&&d.data?.billingAddress?.country),[we,xe]=n(!1),[Be,Ee]=n(Fe?d.data.billingAddress:null),[Pe,ke]=n(!1),[Re,Ie]=n(""),[Ve,De]=n({value:null}),[Oe,qe]=n(null),[Me,_e]=n("card"),[Le,Te]=n(!1),{handleChangeFor:Ke,triggerValidation:Ue,data:He,valid:ze,errors:We,setSchema:$e,setData:Ge,setValid:Je,setErrors:Qe}=b({schema:[],defaultData:d.data,formatters:f,rules:p}),Xe=g({installmentOptions:d.installmentOptions,fundingSource:d.fundingSource,amount:ee}),Ye=d.showInstallmentAmounts??!0,Ze="kr"===(be??d.countryCode),er=d.configuration.koreanAuthenticationRequired&&Ze,rr=Pe&&"auto"===d.configuration.socialSecurityNumberMode||"show"===d.configuration.socialSecurityNumberMode,tr=(e,r)=>{d.onFocus({fieldType:e,event:r})},or=(e,r)=>{d.onBlur({fieldType:e,event:r})},nr=s(e=>{_e(e.brand),d.onBrand(e)},[]),sr=x(ue,tr,or),ar=()=>C({props:d,showKCP:er,showBrazilianSSN:rr,...d.billingAddressRequired&&{countrySpecificSchemas:Z.getAddressSchemaForCountry(Be?.country),billingAddressRequiredFields:d.billingAddressRequiredFields}}),ir=s(e=>{const r="webInternalElement"!==e.fieldType?e.fieldType:e.name;qe(r)},[]),dr=B(Ge,Je,Qe),lr=w(Y,z,ar()),ur=s(e=>{cr(e)},[Le,Te]),cr=e=>{e.status&&("loading"==e.status?Te(!1):Te(!0))},mr=o(()=>h(d,{sfp:z},{dualBrandSelectElements:ge,setDualBrandSelectElements:Ne,setSelectedBrandValue:Ce,issuingCountryCode:be,setIssuingCountryCode:Se},X),[ge,be]);Q.current.showValidation=()=>{W.current=!0,fr?.(),z.current.showValidation(),Ue(["holderName","socialSecurityNumber","taxNumber"]),G?.current&&G.current.showValidation()},Q.current.processBinLookupResponse=(e,r)=>{mr.processBinLookup(e,r)},Q.current.setStatus=te,a(()=>(Q.current.setFocusOn=z.current.setFocusOn,Q.current.updateStyles=z.current.updateStyles,Q.current.handleUnsupportedCard=z.current.handleUnsupportedCard,()=>{z.current.destroy()}),[]),a(()=>{const e=[...d.hasHolderName?["holderName"]:[],...rr?["socialSecurityNumber"]:[],...er?["taxNumber"]:[],...Fe?["billingAddress"]:[]];$e(e)},[d.hasHolderName,rr,er]),a(()=>{de({...ie,holderName:He.holderName??"",taxNumber:He.taxNumber}),Ie(He.socialSecurityNumber),Fe&&Ee({...He.billingAddress}),ae({...se,holderName:!d.holderNameRequired||ze.holderName,socialSecurityNumber:!!ze.socialSecurityNumber&&ze.socialSecurityNumber,taxNumber:!!ze.taxNumber&&ze.taxNumber,billingAddress:!!ze.billingAddress&&ze.billingAddress});const e=!!We.billingAddress&&Object.entries(We.billingAddress).reduce((e,[,r])=>e||null!=r,!1);ne({...oe,holderName:d.holderNameRequired&&We.holderName?We.holderName:null,socialSecurityNumber:rr&&We.socialSecurityNumber?We.socialSecurityNumber:null,taxNumber:er&&We.taxNumber?We.taxNumber:null,billingAddress:Fe&&e?We.billingAddress:null})},[He,ze,We]);const{sortedErrorList:pr,previousSortedErrors:yr,clearSRPanel:fr}=D({errors:oe,props:d,isValidating:W,retrieveLayout:ar,specifications:Z,billingAddress:Be,sfp:z});a(()=>{if(pr){const e=R(pr,yr,"field");e?.forEach(e=>{const r=new T({component:d.type,type:K.validationError,target:q(e.field),validationErrorCode:e.errorCode,validationErrorMessage:M(e.errorCode,_)});d.onSubmitAnalytics(r)})}},[pr]),a(()=>{const e=se.holderName,r=ce,t=!Fe||se.billingAddress,o=!er||!!se.taxNumber&&!!se.encryptedPassword,n=!rr||!!se.socialSecurityNumber,s=r&&e&&t&&o&&n,a=z.current.mapErrorsToValidationRuleResult(),i={...oe,...a};d.onChange({data:ie,valid:se,errors:i,isValid:s,billingAddress:Be,selectedBrandValue:Ae,storePaymentMethod:we,socialSecurityNumber:Re,installments:Ve})},[ie,se,oe,Ae,we,Ve]),a(()=>{if(ge.length>0&&ge){const e=ge.map(e=>e.id),r=e[0],t=e.toString(),o=new T({component:d.type,type:K.displayed,target:U.dualBrandButton,brand:r,configData:{dualBrands:t}});d.onSubmitAnalytics(o)}},[ge]);const hr=L(Ae);a(()=>{if(hr?.length&&Ae?.length){const e=new T({component:d.type,type:K.selected,target:U.dualBrandButton,brand:Ae});d.onSubmitAnalytics(e)}},[Ae]);const br=d.storedPaymentMethodId?j:v;return e(r,null,e(i,{ref:z,...A(d),styles:{...d.styles},koreanAuthenticationRequired:d.configuration.koreanAuthenticationRequired,hasKoreanFields:!(!d.configuration.koreanAuthenticationRequired||"kr"!==d.countryCode),onSubmitAnalytics:d.onSubmitAnalytics,onChange:(e,r)=>{if(e.autoCompleteName){if(!d.hasHolderName)return;const r=y("holderName","blur")(e.autoCompleteName)?e.autoCompleteName:null;return void(r&&(Ge("holderName",r),Je("holderName",!0),Qe("holderName",null)))}var t;d.autoFocus&&X.current>0&&"handleOnFieldValid"===r?.event&&r?.fieldType===u&&e.valid.encryptedCardNumber&&lr(),de({...ie,...e.data}),ne({...oe,...(t=e.errors,t?{encryptedCardNumber:!!t.encryptedCardNumber,encryptedExpiryDate:!!t.encryptedExpiryDate,encryptedSecurityCode:!!t.encryptedSecurityCode,encryptedPassword:!!t.encryptedPassword}:{})}),ae({...se,...e.valid}),me(e.isSfpValid),he(e.cvcPolicy),ke(e.showSocialSecurityNumber),ye(e.expiryDatePolicy)},onBrand:nr,onFocus:sr,onStateUpdate:ur,type:d.brand,componentType:d.type,disableIOSArrowKeys:d.disableIOSArrowKeys?ir:null,render:({setRootNode:r,setFocusOn:t},o)=>e("div",{ref:r,className:E({"adyen-checkout__card-input":!0,"adyen-checkout-card-input__wrapper":!0,[`adyen-checkout__card-input--${d.fundingSource??"credit"}`]:!0,"adyen-checkout__card-input--loading":"loading"===re}),role:"form"},Le&&e(I,null),e(br,{...N(d),data:ie,valid:se,errors:oe,handleChangeFor:Ke,focusedElement:le,setFocusOn:t,sfpState:o,cvcPolicy:fe,hasInstallments:Xe,showAmountsInInstallments:Ye,handleInstallments:De,brandsIcons:d.brandsIcons,formData:He,formErrors:We,formValid:ze,expiryDatePolicy:pe,dualBrandSelectElements:ge,extensions:mr,selectedBrandValue:Ae,showKCP:er,showBrazilianSSN:rr,socialSecurityNumber:Re,handleOnStoreDetails:xe,setAddressRef:J,billingAddress:Be,billingAddressValidationRules:je&&P(ve.current),partialAddressSchema:je,handleAddress:dr,onAddressLookup:d.onAddressLookup,onAddressSelected:d.onAddressSelected,addressSearchDebounceMs:d.addressSearchDebounceMs,iOSFocusedField:Oe,onFieldFocusAnalytics:tr,onFieldBlurAnalytics:or}))}),d.fastlaneConfiguration&&e(O,{...d.fastlaneConfiguration,currentDetectedBrand:Me,onChange:d.onChange,onSubmitAnalytics:d.onSubmitAnalytics,type:d.type}),Le&&d.showPayButton&&d.payButton({status:re,variant:d.isPayButtonPrimaryVariant?"primary":"secondary",icon:$({imageFolder:"components/"})(`${V}lock`)}))};z.defaultProps=d;export{z as default};
2
2
  //# sourceMappingURL=CardInput.js.map