@adyen/adyen-web 6.3.0 → 6.5.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 (453) hide show
  1. package/README.md +16 -5
  2. package/dist/cjs/adyen.css +9 -5
  3. package/dist/cjs/adyen.css.map +1 -1
  4. package/dist/cjs/index.cjs +2 -2
  5. package/dist/cjs/index.cjs.map +1 -1
  6. package/dist/cjs/index.d.cts +73 -29
  7. package/dist/es/adyen.css +9 -5
  8. package/dist/es/adyen.css.map +1 -1
  9. package/dist/es/components/ANCV/ANCV.js +1 -1
  10. package/dist/es/components/ANCV/ANCV.js.map +1 -1
  11. package/dist/es/components/Ach/Ach.js +1 -1
  12. package/dist/es/components/Ach/Ach.js.map +1 -1
  13. package/dist/es/components/Ach/components/AchInput/AchInput.js +1 -1
  14. package/dist/es/components/Ach/components/AchInput/AchInput.js.map +1 -1
  15. package/dist/es/components/Address/Address.js +1 -1
  16. package/dist/es/components/Address/Address.js.map +1 -1
  17. package/dist/es/components/Affirm/Affirm.js +1 -1
  18. package/dist/es/components/Affirm/Affirm.js.map +1 -1
  19. package/dist/es/components/AfterPay/AfterPay.js +1 -1
  20. package/dist/es/components/AfterPay/AfterPay.js.map +1 -1
  21. package/dist/es/components/AfterPay/AfterPayB2B.js +1 -1
  22. package/dist/es/components/AfterPay/AfterPayB2B.js.map +1 -1
  23. package/dist/es/components/AmazonPay/AmazonPay.js +1 -1
  24. package/dist/es/components/AmazonPay/AmazonPay.js.map +1 -1
  25. package/dist/es/components/ApplePay/ApplePay.js +1 -1
  26. package/dist/es/components/ApplePay/ApplePay.js.map +1 -1
  27. package/dist/es/components/ApplePay/ApplePayService.js +1 -1
  28. package/dist/es/components/ApplePay/ApplePayService.js.map +1 -1
  29. package/dist/es/components/ApplePay/components/ApplePayButton.js +1 -1
  30. package/dist/es/components/ApplePay/components/ApplePayButton.js.map +1 -1
  31. package/dist/es/components/Atome/Atome.js +1 -1
  32. package/dist/es/components/Atome/Atome.js.map +1 -1
  33. package/dist/es/components/BacsDD/BacsDD.js +1 -1
  34. package/dist/es/components/BacsDD/BacsDD.js.map +1 -1
  35. package/dist/es/components/BacsDD/components/BacsResult.js +1 -1
  36. package/dist/es/components/BacsDD/components/BacsResult.js.map +1 -1
  37. package/dist/es/components/BankTransfer/BankTransfer.js +1 -1
  38. package/dist/es/components/BankTransfer/BankTransfer.js.map +1 -1
  39. package/dist/es/components/BankTransfer/components/BankTransferResult/BankTransferResult.js +1 -1
  40. package/dist/es/components/BankTransfer/components/BankTransferResult/BankTransferResult.js.map +1 -1
  41. package/dist/es/components/BcmcMobile/BcmcMobile.js +1 -1
  42. package/dist/es/components/BcmcMobile/BcmcMobile.js.map +1 -1
  43. package/dist/es/components/BillDesk/BillDeskOnline.js +1 -1
  44. package/dist/es/components/BillDesk/BillDeskOnline.js.map +1 -1
  45. package/dist/es/components/BillDesk/BillDeskWallet.js +1 -1
  46. package/dist/es/components/BillDesk/BillDeskWallet.js.map +1 -1
  47. package/dist/es/components/Blik/Blik.js +1 -1
  48. package/dist/es/components/Blik/Blik.js.map +1 -1
  49. package/dist/es/components/Boleto/Boleto.js +1 -1
  50. package/dist/es/components/Boleto/Boleto.js.map +1 -1
  51. package/dist/es/components/Boleto/components/BoletoVoucherResult/BoletoVoucherResult.js +1 -1
  52. package/dist/es/components/Boleto/components/BoletoVoucherResult/BoletoVoucherResult.js.map +1 -1
  53. package/dist/es/components/Card/Bancontact.js +1 -1
  54. package/dist/es/components/Card/Bancontact.js.map +1 -1
  55. package/dist/es/components/Card/Card.js +1 -1
  56. package/dist/es/components/Card/Card.js.map +1 -1
  57. package/dist/es/components/CashAppPay/CashAppPay.js +1 -1
  58. package/dist/es/components/CashAppPay/CashAppPay.js.map +1 -1
  59. package/dist/es/components/CashAppPay/services/CashAppService.js +1 -1
  60. package/dist/es/components/CashAppPay/services/CashAppService.js.map +1 -1
  61. package/dist/es/components/ClickToPay/ClickToPay.js +1 -1
  62. package/dist/es/components/ClickToPay/ClickToPay.js.map +1 -1
  63. package/dist/es/components/CustomCard/CustomCard.js +1 -1
  64. package/dist/es/components/CustomCard/CustomCard.js.map +1 -1
  65. package/dist/es/components/Doku/Doku.js +1 -1
  66. package/dist/es/components/Doku/Doku.js.map +1 -1
  67. package/dist/es/components/Doku/components/DokuVoucherResult/DokuVoucherResult.js +1 -1
  68. package/dist/es/components/Doku/components/DokuVoucherResult/DokuVoucherResult.js.map +1 -1
  69. package/dist/es/components/Donation/Donation.js +1 -1
  70. package/dist/es/components/Donation/Donation.js.map +1 -1
  71. package/dist/es/components/Dotpay/index.js +1 -1
  72. package/dist/es/components/Dotpay/index.js.map +1 -1
  73. package/dist/es/components/Dragonpay/Dragonpay.js +1 -1
  74. package/dist/es/components/Dragonpay/Dragonpay.js.map +1 -1
  75. package/dist/es/components/Dragonpay/components/DragonpayVoucherResult/DragonpayVoucherResult.js +1 -1
  76. package/dist/es/components/Dragonpay/components/DragonpayVoucherResult/DragonpayVoucherResult.js.map +1 -1
  77. package/dist/es/components/Dropin/Dropin.js +1 -1
  78. package/dist/es/components/Dropin/Dropin.js.map +1 -1
  79. package/dist/es/components/Dropin/components/DropinComponent.js +1 -1
  80. package/dist/es/components/Dropin/components/DropinComponent.js.map +1 -1
  81. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
  82. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
  83. package/dist/es/components/DuitNow/DuitNow.js +1 -1
  84. package/dist/es/components/DuitNow/DuitNow.js.map +1 -1
  85. package/dist/es/components/EPS/index.js +1 -1
  86. package/dist/es/components/EPS/index.js.map +1 -1
  87. package/dist/es/components/Econtext/Econtext.js +1 -1
  88. package/dist/es/components/Econtext/Econtext.js.map +1 -1
  89. package/dist/es/components/Econtext/components/EcontextVoucherResult/EcontextVoucherResult.js +1 -1
  90. package/dist/es/components/Econtext/components/EcontextVoucherResult/EcontextVoucherResult.js.map +1 -1
  91. package/dist/es/components/FacilyPay/FacilyPay10x.js +1 -1
  92. package/dist/es/components/FacilyPay/FacilyPay10x.js.map +1 -1
  93. package/dist/es/components/FacilyPay/FacilyPay12x.js +1 -1
  94. package/dist/es/components/FacilyPay/FacilyPay12x.js.map +1 -1
  95. package/dist/es/components/FacilyPay/FacilyPay3x.js +1 -1
  96. package/dist/es/components/FacilyPay/FacilyPay3x.js.map +1 -1
  97. package/dist/es/components/FacilyPay/FacilyPay4x.js +1 -1
  98. package/dist/es/components/FacilyPay/FacilyPay4x.js.map +1 -1
  99. package/dist/es/components/FacilyPay/FacilyPay6x.js +1 -1
  100. package/dist/es/components/FacilyPay/FacilyPay6x.js.map +1 -1
  101. package/dist/es/components/Giftcard/Giftcard.js +1 -1
  102. package/dist/es/components/Giftcard/Giftcard.js.map +1 -1
  103. package/dist/es/components/Giftcard/components/GiftcardComponent.js +1 -1
  104. package/dist/es/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  105. package/dist/es/components/Giropay/Giropay.js +1 -1
  106. package/dist/es/components/Giropay/Giropay.js.map +1 -1
  107. package/dist/es/components/GooglePay/GooglePay.js +1 -1
  108. package/dist/es/components/GooglePay/GooglePay.js.map +1 -1
  109. package/dist/es/components/GooglePay/GooglePayService.js +1 -1
  110. package/dist/es/components/GooglePay/GooglePayService.js.map +1 -1
  111. package/dist/es/components/Klarna/KlarnaPayments.js +1 -1
  112. package/dist/es/components/Klarna/KlarnaPayments.js.map +1 -1
  113. package/dist/es/components/Klarna/components/KlarnaContainer/KlarnaContainer.js +1 -1
  114. package/dist/es/components/Klarna/components/KlarnaContainer/KlarnaContainer.js.map +1 -1
  115. package/dist/es/components/MBWay/MBWay.js +1 -1
  116. package/dist/es/components/MBWay/MBWay.js.map +1 -1
  117. package/dist/es/components/MealVoucherFR/MealVoucherFR.js +1 -1
  118. package/dist/es/components/MealVoucherFR/MealVoucherFR.js.map +1 -1
  119. package/dist/es/components/MolPayEBanking/MolPayEBankingMY.js +1 -1
  120. package/dist/es/components/MolPayEBanking/MolPayEBankingMY.js.map +1 -1
  121. package/dist/es/components/MolPayEBanking/MolPayEBankingTH.js +1 -1
  122. package/dist/es/components/MolPayEBanking/MolPayEBankingTH.js.map +1 -1
  123. package/dist/es/components/MolPayEBanking/MolPayEBankingVN.js +1 -1
  124. package/dist/es/components/MolPayEBanking/MolPayEBankingVN.js.map +1 -1
  125. package/dist/es/components/Multibanco/Multibanco.js +1 -1
  126. package/dist/es/components/Multibanco/Multibanco.js.map +1 -1
  127. package/dist/es/components/Multibanco/components/MultibancoVoucherResult/MultibancoVoucherResult.js +1 -1
  128. package/dist/es/components/Multibanco/components/MultibancoVoucherResult/MultibancoVoucherResult.js.map +1 -1
  129. package/dist/es/components/OnlineBankingCZ/index.js +1 -1
  130. package/dist/es/components/OnlineBankingCZ/index.js.map +1 -1
  131. package/dist/es/components/OnlineBankingFI/OnlineBankingFI.js +1 -1
  132. package/dist/es/components/OnlineBankingFI/OnlineBankingFI.js.map +1 -1
  133. package/dist/es/components/OnlineBankingIN/index.js +1 -1
  134. package/dist/es/components/OnlineBankingIN/index.js.map +1 -1
  135. package/dist/es/components/OnlineBankingPL/OnlineBankingPL.js +1 -1
  136. package/dist/es/components/OnlineBankingPL/OnlineBankingPL.js.map +1 -1
  137. package/dist/es/components/OnlineBankingSK/index.js +1 -1
  138. package/dist/es/components/OnlineBankingSK/index.js.map +1 -1
  139. package/dist/es/components/Oxxo/Oxxo.js +1 -1
  140. package/dist/es/components/Oxxo/Oxxo.js.map +1 -1
  141. package/dist/es/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.js +1 -1
  142. package/dist/es/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.js.map +1 -1
  143. package/dist/es/components/PayByBank/PayByBank.js +1 -1
  144. package/dist/es/components/PayByBank/PayByBank.js.map +1 -1
  145. package/dist/es/components/PayByBankUS/PayByBankUS.js +1 -1
  146. package/dist/es/components/PayByBankUS/PayByBankUS.js.map +1 -1
  147. package/dist/es/components/PayMe/PayMe.js +1 -1
  148. package/dist/es/components/PayMe/PayMe.js.map +1 -1
  149. package/dist/es/components/PayMe/components/PayMeInstructions.js +2 -0
  150. package/dist/es/components/PayMe/components/PayMeInstructions.js.map +1 -0
  151. package/dist/es/components/PayMe/components/PayMeIntroduction.js +2 -0
  152. package/dist/es/components/PayMe/components/PayMeIntroduction.js.map +1 -0
  153. package/dist/es/components/PayNow/PayNow.js +1 -1
  154. package/dist/es/components/PayNow/PayNow.js.map +1 -1
  155. package/dist/es/components/PayNow/components/PayNowInstructions.js +2 -0
  156. package/dist/es/components/PayNow/components/PayNowInstructions.js.map +1 -0
  157. package/dist/es/components/PayNow/components/PayNowIntroduction.js +2 -0
  158. package/dist/es/components/PayNow/components/PayNowIntroduction.js.map +1 -0
  159. package/dist/es/components/PayPal/Paypal.js +1 -1
  160. package/dist/es/components/PayPal/Paypal.js.map +1 -1
  161. package/dist/es/components/PayU/PayuCashcard.js +1 -1
  162. package/dist/es/components/PayU/PayuCashcard.js.map +1 -1
  163. package/dist/es/components/PayU/PayuNetBanking.js +1 -1
  164. package/dist/es/components/PayU/PayuNetBanking.js.map +1 -1
  165. package/dist/es/components/PersonalDetails/PersonalDetails.js +1 -1
  166. package/dist/es/components/PersonalDetails/PersonalDetails.js.map +1 -1
  167. package/dist/es/components/Pix/Pix.js +1 -1
  168. package/dist/es/components/Pix/Pix.js.map +1 -1
  169. package/dist/es/components/PromptPay/PromptPay.js +1 -1
  170. package/dist/es/components/PromptPay/PromptPay.js.map +1 -1
  171. package/dist/es/components/RatePay/RatePay.js +1 -1
  172. package/dist/es/components/RatePay/RatePay.js.map +1 -1
  173. package/dist/es/components/RatePay/RatePayDirectDebit.js +1 -1
  174. package/dist/es/components/RatePay/RatePayDirectDebit.js.map +1 -1
  175. package/dist/es/components/Redirect/Redirect.js +1 -1
  176. package/dist/es/components/Redirect/Redirect.js.map +1 -1
  177. package/dist/es/components/Redirect/components/RedirectShopper/RedirectShopper.js +1 -1
  178. package/dist/es/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
  179. package/dist/es/components/Riverty/Riverty.js +1 -1
  180. package/dist/es/components/Riverty/Riverty.js.map +1 -1
  181. package/dist/es/components/Sepa/Sepa.js +1 -1
  182. package/dist/es/components/Sepa/Sepa.js.map +1 -1
  183. package/dist/es/components/Swish/Swish.js +1 -1
  184. package/dist/es/components/Swish/Swish.js.map +1 -1
  185. package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js +1 -1
  186. package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
  187. package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js +1 -1
  188. package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  189. package/dist/es/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js +1 -1
  190. package/dist/es/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js.map +1 -1
  191. package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
  192. package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
  193. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js +1 -1
  194. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js.map +1 -1
  195. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
  196. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
  197. package/dist/es/components/ThreeDS2/components/Form/ThreeDS2Form.js +1 -1
  198. package/dist/es/components/ThreeDS2/components/Form/ThreeDS2Form.js.map +1 -1
  199. package/dist/es/components/Trustly/Trustly.js +1 -1
  200. package/dist/es/components/Trustly/Trustly.js.map +1 -1
  201. package/dist/es/components/Twint/Twint.js +1 -1
  202. package/dist/es/components/Twint/Twint.js.map +1 -1
  203. package/dist/es/components/UPI/UPI.js +1 -1
  204. package/dist/es/components/UPI/UPI.js.map +1 -1
  205. package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
  206. package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
  207. package/dist/es/components/Vipps/Vipps.js +1 -1
  208. package/dist/es/components/Vipps/Vipps.js.map +1 -1
  209. package/dist/es/components/WalletIN/index.js +1 -1
  210. package/dist/es/components/WalletIN/index.js.map +1 -1
  211. package/dist/es/components/WeChat/WeChat.js +1 -1
  212. package/dist/es/components/WeChat/WeChat.js.map +1 -1
  213. package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js +1 -1
  214. package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  215. package/dist/es/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js +1 -1
  216. package/dist/es/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js.map +1 -1
  217. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  218. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  219. package/dist/es/components/internal/Address/Address.js +1 -1
  220. package/dist/es/components/internal/Address/Address.js.map +1 -1
  221. package/dist/es/components/internal/Address/Specifications.js +1 -1
  222. package/dist/es/components/internal/Address/Specifications.js.map +1 -1
  223. package/dist/es/components/internal/Await/Await.js +1 -1
  224. package/dist/es/components/internal/Await/Await.js.map +1 -1
  225. package/dist/es/components/internal/BaseElement/BaseElement.js +1 -1
  226. package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
  227. package/dist/es/components/internal/Button/Button.js +1 -1
  228. package/dist/es/components/internal/Button/Button.js.map +1 -1
  229. package/dist/es/components/internal/ClickToPay/errors/TimeoutError.js +1 -1
  230. package/dist/es/components/internal/ClickToPay/errors/TimeoutError.js.map +1 -1
  231. package/dist/es/components/internal/ClickToPay/models/ShopperCard.js +1 -1
  232. package/dist/es/components/internal/ClickToPay/models/ShopperCard.js.map +1 -1
  233. package/dist/es/components/internal/ClickToPay/services/ClickToPayService.js +1 -1
  234. package/dist/es/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
  235. package/dist/es/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js +1 -1
  236. package/dist/es/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js.map +1 -1
  237. package/dist/es/components/internal/ClickToPay/services/sdks/MastercardSdk.js +1 -1
  238. package/dist/es/components/internal/ClickToPay/services/sdks/MastercardSdk.js.map +1 -1
  239. package/dist/es/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js +1 -1
  240. package/dist/es/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js.map +1 -1
  241. package/dist/es/components/internal/ClickToPay/services/sdks/SrciError.js +1 -1
  242. package/dist/es/components/internal/ClickToPay/services/sdks/SrciError.js.map +1 -1
  243. package/dist/es/components/internal/ClickToPay/services/sdks/VisaSdk.js +1 -1
  244. package/dist/es/components/internal/ClickToPay/services/sdks/VisaSdk.js.map +1 -1
  245. package/dist/es/components/internal/Countdown/CountdownA11yReporter.js +1 -1
  246. package/dist/es/components/internal/Countdown/CountdownA11yReporter.js.map +1 -1
  247. package/dist/es/components/internal/FormFields/ConsentCheckbox/ConsentCheckbox.js +1 -1
  248. package/dist/es/components/internal/FormFields/ConsentCheckbox/ConsentCheckbox.js.map +1 -1
  249. package/dist/es/components/internal/FormFields/RadioGroup/RadioGroup.js +1 -1
  250. package/dist/es/components/internal/FormFields/RadioGroup/RadioGroup.js.map +1 -1
  251. package/dist/es/components/internal/IFrame/Iframe.js +1 -1
  252. package/dist/es/components/internal/IFrame/Iframe.js.map +1 -1
  253. package/dist/es/components/internal/IbanInput/IbanInput.js +1 -1
  254. package/dist/es/components/internal/IbanInput/IbanInput.js.map +1 -1
  255. package/dist/es/components/internal/QRLoader/QRLoader.js +1 -1
  256. package/dist/es/components/internal/QRLoader/QRLoader.js.map +1 -1
  257. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
  258. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  259. package/dist/es/components/internal/SecuredFields/lib/CSF/AbstractCSF.js +1 -1
  260. package/dist/es/components/internal/SecuredFields/lib/CSF/AbstractCSF.js.map +1 -1
  261. package/dist/es/components/internal/SecuredFields/lib/CSF/CSF.js +1 -1
  262. package/dist/es/components/internal/SecuredFields/lib/CSF/CSF.js.map +1 -1
  263. package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js +1 -1
  264. package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
  265. package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
  266. package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
  267. package/dist/es/components/internal/Timeline/Timeline.js +2 -0
  268. package/dist/es/components/internal/Timeline/Timeline.js.map +1 -0
  269. package/dist/es/components/internal/Timeline/TimelineWrapper.js +2 -0
  270. package/dist/es/components/internal/Timeline/TimelineWrapper.js.map +1 -0
  271. package/dist/es/components/internal/UIElement/UIElement.js +1 -1
  272. package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
  273. package/dist/es/components/internal/Voucher/Voucher.js +1 -1
  274. package/dist/es/components/internal/Voucher/Voucher.js.map +1 -1
  275. package/dist/es/components/internal/Voucher/utils.js +2 -0
  276. package/dist/es/components/internal/Voucher/utils.js.map +1 -0
  277. package/dist/es/core/CheckoutSession/CheckoutSession.js +1 -1
  278. package/dist/es/core/CheckoutSession/CheckoutSession.js.map +1 -1
  279. package/dist/es/core/Context/Resources.js +1 -1
  280. package/dist/es/core/Context/Resources.js.map +1 -1
  281. package/dist/es/core/Errors/AdyenCheckoutError.js +1 -1
  282. package/dist/es/core/Errors/AdyenCheckoutError.js.map +1 -1
  283. package/dist/es/core/Errors/CancelError.js +2 -0
  284. package/dist/es/core/Errors/CancelError.js.map +1 -0
  285. package/dist/es/core/Errors/SRPanel.js +1 -1
  286. package/dist/es/core/Errors/SRPanel.js.map +1 -1
  287. package/dist/es/core/ProcessResponse/PaymentAction/actionTypes.js +1 -1
  288. package/dist/es/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
  289. package/dist/es/core/ProcessResponse/PaymentMethods/PaymentMethods.js +1 -1
  290. package/dist/es/core/ProcessResponse/PaymentMethods/PaymentMethods.js.map +1 -1
  291. package/dist/es/core/RiskModule/RiskModule.js +1 -1
  292. package/dist/es/core/RiskModule/RiskModule.js.map +1 -1
  293. package/dist/es/core/RiskModule/components/DeviceFingerprint/DeviceFingerprint.js +1 -1
  294. package/dist/es/core/RiskModule/components/DeviceFingerprint/DeviceFingerprint.js.map +1 -1
  295. package/dist/es/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.js +1 -1
  296. package/dist/es/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.js.map +1 -1
  297. package/dist/es/core/Services/analytics/collect-id.js +1 -1
  298. package/dist/es/core/core.js +1 -1
  299. package/dist/es/core/core.js.map +1 -1
  300. package/dist/es/core/core.registry.js +1 -1
  301. package/dist/es/core/core.registry.js.map +1 -1
  302. package/dist/es/index.d.ts +73 -29
  303. package/dist/es/language/Language.js +1 -1
  304. package/dist/es/language/Language.js.map +1 -1
  305. package/dist/es/utils/Script.js +1 -1
  306. package/dist/es/utils/Script.js.map +1 -1
  307. package/dist/es/utils/Storage.js +1 -1
  308. package/dist/es/utils/Storage.js.map +1 -1
  309. package/dist/es/utils/Validator/ValidationRuleResult.js +1 -1
  310. package/dist/es/utils/Validator/ValidationRuleResult.js.map +1 -1
  311. package/dist/es/utils/Validator/Validator.js +1 -1
  312. package/dist/es/utils/Validator/Validator.js.map +1 -1
  313. package/dist/es/utils/constants/currency-decimals.js +1 -1
  314. package/dist/es/utils/constants/currency-decimals.js.map +1 -1
  315. package/dist/es/utils/constants/currency-minor-units.js.map +1 -1
  316. package/dist/es/utils/get-process-message-handler.js +1 -1
  317. package/dist/es/utils/get-process-message-handler.js.map +1 -1
  318. package/dist/es/utils/useForm/reducer.js +1 -1
  319. package/dist/es/utils/useForm/reducer.js.map +1 -1
  320. package/dist/es/utils/useForm/useForm.js +1 -1
  321. package/dist/es/utils/useForm/useForm.js.map +1 -1
  322. package/dist/es/utils/useIsMobile.js +2 -0
  323. package/dist/es/utils/useIsMobile.js.map +1 -0
  324. package/dist/es-legacy/adyen.css +9 -5
  325. package/dist/es-legacy/adyen.css.map +1 -1
  326. package/dist/es-legacy/components/ANCV/ANCV.js +1 -1
  327. package/dist/es-legacy/components/ANCV/ANCV.js.map +1 -1
  328. package/dist/es-legacy/components/Ach/Ach.js +1 -1
  329. package/dist/es-legacy/components/Ach/Ach.js.map +1 -1
  330. package/dist/es-legacy/components/Ach/components/AchInput/AchInput.js +1 -1
  331. package/dist/es-legacy/components/Ach/components/AchInput/AchInput.js.map +1 -1
  332. package/dist/es-legacy/components/BacsDD/BacsDD.js +1 -1
  333. package/dist/es-legacy/components/BacsDD/BacsDD.js.map +1 -1
  334. package/dist/es-legacy/components/BacsDD/components/BacsResult.js +1 -1
  335. package/dist/es-legacy/components/BacsDD/components/BacsResult.js.map +1 -1
  336. package/dist/es-legacy/components/BankTransfer/BankTransfer.js +1 -1
  337. package/dist/es-legacy/components/BankTransfer/BankTransfer.js.map +1 -1
  338. package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferResult.js +1 -1
  339. package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferResult.js.map +1 -1
  340. package/dist/es-legacy/components/BcmcMobile/BcmcMobile.js +1 -1
  341. package/dist/es-legacy/components/BcmcMobile/BcmcMobile.js.map +1 -1
  342. package/dist/es-legacy/components/Blik/Blik.js +1 -1
  343. package/dist/es-legacy/components/Blik/Blik.js.map +1 -1
  344. package/dist/es-legacy/components/Boleto/Boleto.js +1 -1
  345. package/dist/es-legacy/components/Boleto/Boleto.js.map +1 -1
  346. package/dist/es-legacy/components/Boleto/components/BoletoVoucherResult/BoletoVoucherResult.js +1 -1
  347. package/dist/es-legacy/components/Boleto/components/BoletoVoucherResult/BoletoVoucherResult.js.map +1 -1
  348. package/dist/es-legacy/components/Doku/Doku.js +1 -1
  349. package/dist/es-legacy/components/Doku/Doku.js.map +1 -1
  350. package/dist/es-legacy/components/Doku/components/DokuVoucherResult/DokuVoucherResult.js +1 -1
  351. package/dist/es-legacy/components/Doku/components/DokuVoucherResult/DokuVoucherResult.js.map +1 -1
  352. package/dist/es-legacy/components/Dragonpay/Dragonpay.js +1 -1
  353. package/dist/es-legacy/components/Dragonpay/Dragonpay.js.map +1 -1
  354. package/dist/es-legacy/components/Dragonpay/components/DragonpayVoucherResult/DragonpayVoucherResult.js +1 -1
  355. package/dist/es-legacy/components/Dragonpay/components/DragonpayVoucherResult/DragonpayVoucherResult.js.map +1 -1
  356. package/dist/es-legacy/components/Econtext/Econtext.js +1 -1
  357. package/dist/es-legacy/components/Econtext/Econtext.js.map +1 -1
  358. package/dist/es-legacy/components/Econtext/components/EcontextVoucherResult/EcontextVoucherResult.js +1 -1
  359. package/dist/es-legacy/components/Econtext/components/EcontextVoucherResult/EcontextVoucherResult.js.map +1 -1
  360. package/dist/es-legacy/components/Klarna/KlarnaPayments.js +1 -1
  361. package/dist/es-legacy/components/Klarna/KlarnaPayments.js.map +1 -1
  362. package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js +1 -1
  363. package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js.map +1 -1
  364. package/dist/es-legacy/components/MBWay/MBWay.js +1 -1
  365. package/dist/es-legacy/components/MBWay/MBWay.js.map +1 -1
  366. package/dist/es-legacy/components/Multibanco/Multibanco.js +1 -1
  367. package/dist/es-legacy/components/Multibanco/Multibanco.js.map +1 -1
  368. package/dist/es-legacy/components/Multibanco/components/MultibancoVoucherResult/MultibancoVoucherResult.js +1 -1
  369. package/dist/es-legacy/components/Multibanco/components/MultibancoVoucherResult/MultibancoVoucherResult.js.map +1 -1
  370. package/dist/es-legacy/components/Oxxo/Oxxo.js +1 -1
  371. package/dist/es-legacy/components/Oxxo/Oxxo.js.map +1 -1
  372. package/dist/es-legacy/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.js +1 -1
  373. package/dist/es-legacy/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.js.map +1 -1
  374. package/dist/es-legacy/components/PayMe/PayMe.js +1 -1
  375. package/dist/es-legacy/components/PayMe/PayMe.js.map +1 -1
  376. package/dist/es-legacy/components/PayMe/components/PayMeInstructions.js +2 -0
  377. package/dist/es-legacy/components/PayMe/components/PayMeInstructions.js.map +1 -0
  378. package/dist/es-legacy/components/PayMe/components/PayMeIntroduction.js +2 -0
  379. package/dist/es-legacy/components/PayMe/components/PayMeIntroduction.js.map +1 -0
  380. package/dist/es-legacy/components/PayNow/PayNow.js +1 -1
  381. package/dist/es-legacy/components/PayNow/PayNow.js.map +1 -1
  382. package/dist/es-legacy/components/PayNow/components/PayNowInstructions.js +2 -0
  383. package/dist/es-legacy/components/PayNow/components/PayNowInstructions.js.map +1 -0
  384. package/dist/es-legacy/components/PayNow/components/PayNowIntroduction.js +2 -0
  385. package/dist/es-legacy/components/PayNow/components/PayNowIntroduction.js.map +1 -0
  386. package/dist/es-legacy/components/PayPal/Paypal.js +1 -1
  387. package/dist/es-legacy/components/PayPal/Paypal.js.map +1 -1
  388. package/dist/es-legacy/components/Redirect/Redirect.js +1 -1
  389. package/dist/es-legacy/components/Redirect/Redirect.js.map +1 -1
  390. package/dist/es-legacy/components/Redirect/components/RedirectShopper/RedirectShopper.js +1 -1
  391. package/dist/es-legacy/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
  392. package/dist/es-legacy/components/Swish/Swish.js.map +1 -1
  393. package/dist/es-legacy/components/ThreeDS2/ThreeDS2Challenge.js +1 -1
  394. package/dist/es-legacy/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
  395. package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js +1 -1
  396. package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  397. package/dist/es-legacy/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js +1 -1
  398. package/dist/es-legacy/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js.map +1 -1
  399. package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
  400. package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
  401. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js +1 -1
  402. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js.map +1 -1
  403. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
  404. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
  405. package/dist/es-legacy/components/UPI/UPI.js +1 -1
  406. package/dist/es-legacy/components/UPI/UPI.js.map +1 -1
  407. package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
  408. package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
  409. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  410. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  411. package/dist/es-legacy/components/internal/Address/Address.js +1 -1
  412. package/dist/es-legacy/components/internal/Address/Address.js.map +1 -1
  413. package/dist/es-legacy/components/internal/Await/Await.js +1 -1
  414. package/dist/es-legacy/components/internal/Await/Await.js.map +1 -1
  415. package/dist/es-legacy/components/internal/FormFields/RadioGroup/RadioGroup.js +1 -1
  416. package/dist/es-legacy/components/internal/FormFields/RadioGroup/RadioGroup.js.map +1 -1
  417. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js +1 -1
  418. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js.map +1 -1
  419. package/dist/es-legacy/components/internal/Timeline/Timeline.js +2 -0
  420. package/dist/es-legacy/components/internal/Timeline/Timeline.js.map +1 -0
  421. package/dist/es-legacy/components/internal/Timeline/TimelineWrapper.js +2 -0
  422. package/dist/es-legacy/components/internal/Timeline/TimelineWrapper.js.map +1 -0
  423. package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
  424. package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
  425. package/dist/es-legacy/components/internal/Voucher/Voucher.js +1 -1
  426. package/dist/es-legacy/components/internal/Voucher/Voucher.js.map +1 -1
  427. package/dist/es-legacy/components/internal/Voucher/utils.js +2 -0
  428. package/dist/es-legacy/components/internal/Voucher/utils.js.map +1 -0
  429. package/dist/es-legacy/core/Errors/CancelError.js +2 -0
  430. package/dist/es-legacy/core/Errors/CancelError.js.map +1 -0
  431. package/dist/es-legacy/core/Errors/SRPanel.js +1 -1
  432. package/dist/es-legacy/core/Errors/SRPanel.js.map +1 -1
  433. package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js +1 -1
  434. package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
  435. package/dist/es-legacy/core/Services/analytics/collect-id.js +1 -1
  436. package/dist/es-legacy/core/core.js +1 -1
  437. package/dist/es-legacy/utils/constants/currency-decimals.js +1 -1
  438. package/dist/es-legacy/utils/constants/currency-decimals.js.map +1 -1
  439. package/dist/es-legacy/utils/constants/currency-minor-units.js.map +1 -1
  440. package/dist/es-legacy/utils/get-process-message-handler.js +1 -1
  441. package/dist/es-legacy/utils/get-process-message-handler.js.map +1 -1
  442. package/dist/es-legacy/utils/useForm/reducer.js +1 -1
  443. package/dist/es-legacy/utils/useForm/reducer.js.map +1 -1
  444. package/dist/es-legacy/utils/useForm/useForm.js +1 -1
  445. package/dist/es-legacy/utils/useForm/useForm.js.map +1 -1
  446. package/dist/es-legacy/utils/useIsMobile.js +2 -0
  447. package/dist/es-legacy/utils/useIsMobile.js.map +1 -0
  448. package/package.json +10 -8
  449. package/styles/adyen.css +9 -5
  450. package/dist/es/components/PayMe/Instructions.js +0 -2
  451. package/dist/es/components/PayMe/Instructions.js.map +0 -1
  452. package/dist/es-legacy/components/PayMe/Instructions.js +0 -2
  453. package/dist/es-legacy/components/PayMe/Instructions.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/ANCVInput.js";import{CoreProvider as s}from"../../core/Context/CoreProvider.js";import o from"./components/ANCVAwait/config.js";import i from"../internal/Await/Await.js";import n from"../../core/Errors/SRPanelProvider.js";import a from"../../core/Errors/AdyenCheckoutError.js";import p from"../internal/PayButton/PayButton.js";import{sanitizeResponse as h,verifyPaymentDidNotFail as m}from"../internal/UIElement/utils.js";class d extends e{static type="ancv";formatData(){return{paymentMethod:{type:d.type,beneficiaryId:this.state.data?.beneficiaryId}}}onOrderRequest=t=>this.props.onOrderRequest?new Promise(((e,r)=>{this.props.onOrderRequest(e,r,t)})):this.props.session?this.props.session.createOrder():void 0;createOrder=()=>(this.setStatus("loading"),this.props.order?Promise.resolve():this.onOrderRequest(this.data).then((t=>{const e={order:{orderData:t.orderData,pspReference:t.pspReference}};return this.setState(e),Promise.resolve()})).catch((t=>{this.setStatus(t?.message||"error"),this.props.onError&&this.handleError(new a("ERROR",t))})));submit(){if(!this.isValid)return this.showValidation(),!1;this.createOrder().then(this.makePaymentsCall).then(h).then(m).then(this.handleResponse).catch(this.handleFailedResult)}payButton=e=>t(p,e);get isValid(){return!!this.state.isValid}get displayName(){return this.props.name}render(){return this.props.paymentData?t(s,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(n,{srPanel:this.props.modules.srPanel},t(i,{ref:t=>{this.componentRef=t},clientKey:this.props.clientKey,paymentData:this.props.paymentData,onError:this.props.onError,onComplete:this.onComplete,brandLogo:this.icon,type:this.constructor.type,messageText:this.props.i18n.get("ancv.confirmPayment"),awaitText:this.props.i18n.get("await.waitForConfirmation"),showCountdownTimer:o.showCountdownTimer,throttleTime:o.THROTTLE_TIME,throttleInterval:o.THROTTLE_INTERVAL,onActionHandled:this.props.onActionHandled}))):t(s,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(r,{ref:t=>{this.componentRef=t},...this.props,onSubmit:this.submit,onChange:this.setState,payButton:this.payButton,showPayButton:this.props.showPayButton}))}}export{d as ANCVElement,d as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/ANCVInput.js";import{CoreProvider as s}from"../../core/Context/CoreProvider.js";import o from"./components/ANCVAwait/config.js";import n from"../internal/Await/Await.js";import i from"../../core/Errors/SRPanelProvider.js";import a from"../../core/Errors/AdyenCheckoutError.js";import p from"../internal/PayButton/PayButton.js";import{sanitizeResponse as h,verifyPaymentDidNotFail as m}from"../internal/UIElement/utils.js";function l(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}class d extends e{formatData(){return{paymentMethod:{type:d.type,beneficiaryId:this.state.data?.beneficiaryId}}}submit(){if(!this.isValid)return this.showValidation(),!1;this.createOrder().then(this.makePaymentsCall).then(h).then(m).then(this.handleResponse).catch(this.handleFailedResult)}get isValid(){return!!this.state.isValid}get displayName(){return this.props.name}render(){return this.props.paymentData?t(s,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(i,{srPanel:this.props.modules.srPanel},t(n,{ref:t=>{this.componentRef=t},clientKey:this.props.clientKey,paymentData:this.props.paymentData,onError:this.props.onError,onComplete:this.onComplete,brandLogo:this.icon,type:this.constructor.type,messageText:this.props.i18n.get("ancv.confirmPayment"),awaitText:this.props.i18n.get("await.waitForConfirmation"),showCountdownTimer:o.showCountdownTimer,throttleTime:o.THROTTLE_TIME,throttleInterval:o.THROTTLE_INTERVAL,onActionHandled:this.onActionHandled}))):t(s,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(r,{ref:t=>{this.componentRef=t},...this.props,onSubmit:this.submit,onChange:this.setState,payButton:this.payButton,showPayButton:this.props.showPayButton}))}constructor(...e){super(...e),l(this,"onOrderRequest",(t=>this.props.onOrderRequest?new Promise(((e,r)=>{this.props.onOrderRequest(e,r,t)})):this.props.session?this.props.session.createOrder():void 0)),l(this,"createOrder",(()=>(this.setStatus("loading"),this.props.order?Promise.resolve():this.onOrderRequest(this.data).then((t=>{const e={order:{orderData:t.orderData,pspReference:t.pspReference}};return this.setState(e),Promise.resolve()})).catch((t=>{this.setStatus(t?.message||"error"),this.props.onError&&this.handleError(new a("ERROR",t))}))))),l(this,"payButton",(e=>t(p,e)))}}l(d,"type","ancv");export{d as ANCVElement,d as default};
2
2
  //# sourceMappingURL=ANCV.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ANCV.js","sources":["../../../../src/components/ANCV/ANCV.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport ANCVInput from './components/ANCVInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport config from './components/ANCVAwait/config';\nimport Await from '../../components/internal/Await';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport PayButton from '../internal/PayButton';\nimport { ANCVConfiguration } from './types';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\n\nexport class ANCVElement extends UIElement<ANCVConfiguration> {\n public static type = 'ancv';\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n paymentMethod: {\n type: ANCVElement.type,\n beneficiaryId: this.state.data?.beneficiaryId\n }\n };\n }\n\n private onOrderRequest = data => {\n if (this.props.onOrderRequest)\n return new Promise((resolve, reject) => {\n this.props.onOrderRequest(resolve, reject, data);\n });\n\n if (this.props.session) {\n return this.props.session.createOrder();\n }\n };\n\n /**\n * Check if order exists, if it does Resolve.\n * Otherwise createOrder and then Resolve.\n */\n public createOrder = (): Promise<void> => {\n this.setStatus('loading');\n\n // allow for multiple ANCV payments, follow giftcard logic and just use order if it exists\n if (this.props.order) {\n return Promise.resolve();\n }\n\n return this.onOrderRequest(this.data)\n .then((order: { orderData: string; pspReference: string }) => {\n const stateOrder = { order: { orderData: order.orderData, pspReference: order.pspReference } };\n this.setState(stateOrder);\n return Promise.resolve();\n })\n .catch(error => {\n this.setStatus(error?.message || 'error');\n if (this.props.onError) this.handleError(new AdyenCheckoutError('ERROR', error));\n });\n };\n\n public submit() {\n if (!this.isValid) {\n this.showValidation();\n return false;\n }\n\n this.createOrder()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then(this.handleResponse)\n .catch(this.handleFailedResult);\n }\n\n // Reimplement payButton similar to GiftCard to allow to set onClick\n public payButton = props => {\n return <PayButton {...props} />;\n };\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n get displayName(): string {\n return this.props.name;\n }\n\n render() {\n if (this.props.paymentData) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <Await\n ref={ref => {\n this.componentRef = ref;\n }}\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.props.onError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n type={this.constructor['type']}\n messageText={this.props.i18n.get('ancv.confirmPayment')}\n awaitText={this.props.i18n.get('await.waitForConfirmation')}\n showCountdownTimer={config.showCountdownTimer}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.props.onActionHandled}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <ANCVInput\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onSubmit={this.submit}\n onChange={this.setState}\n payButton={this.payButton}\n showPayButton={this.props.showPayButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default ANCVElement;\n"],"names":["ANCVElement","UIElement","static","formatData","paymentMethod","type","beneficiaryId","this","state","data","onOrderRequest","props","Promise","resolve","reject","session","createOrder","setStatus","order","then","stateOrder","orderData","pspReference","setState","catch","error","message","onError","handleError","AdyenCheckoutError","submit","isValid","showValidation","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","handleResponse","handleFailedResult","payButton","h","PayButton","displayName","name","render","paymentData","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","Await","ref","componentRef","clientKey","onComplete","brandLogo","icon","constructor","messageText","get","awaitText","showCountdownTimer","config","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","ANCVInput","onSubmit","onChange","showPayButton"],"mappings":"qkBAYO,MAAMA,UAAoBC,EAC7BC,YAAqB,OAKrBC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAML,EAAYK,KAClBC,cAAeC,KAAKC,MAAMC,MAAMH,eAG5C,CAEQI,eAAiBD,GACjBF,KAAKI,MAAMD,eACJ,IAAIE,SAAQ,CAACC,EAASC,KACzBP,KAAKI,MAAMD,eAAeG,EAASC,EAAQL,EAAAA,IAG/CF,KAAKI,MAAMI,QACJR,KAAKI,MAAMI,QAAQC,mBAD9B,EASJA,YAAqB,KACjBT,KAAKU,UAAU,WAGXV,KAAKI,MAAMO,MACJN,QAAQC,UAGZN,KAAKG,eAAeH,KAAKE,MAC3BU,MAAMD,IACH,MAAME,EAAa,CAAEF,MAAO,CAAEG,UAAWH,EAAMG,UAAWC,aAAcJ,EAAMI,eAE9E,OADAf,KAAKgB,SAASH,GACPR,QAAQC,SAAO,IAEzBW,OAAMC,IACHlB,KAAKU,UAAUQ,GAAOC,SAAW,SAC7BnB,KAAKI,MAAMgB,SAASpB,KAAKqB,YAAY,IAAIC,EAAmB,QAASJ,GAAAA,KAI9EK,MAAAA,GACH,IAAKvB,KAAKwB,QAEN,OADAxB,KAAKyB,kBACE,EAGXzB,KAAKS,cACAG,KAAKZ,KAAK0B,kBACVd,KAAKe,GACLf,KAAKgB,GACLhB,KAAKZ,KAAK6B,gBACVZ,MAAMjB,KAAK8B,mBACpB,CAGOC,UAAY3B,GACR4B,EAACC,EAAc7B,GAG1B,WAAIoB,GACA,QAASxB,KAAKC,MAAMuB,OACxB,CAEA,eAAIU,GACA,OAAOlC,KAAKI,MAAM+B,IACtB,CAEAC,MAAAA,GACI,OAAIpC,KAAKI,MAAMiC,YAEPL,EAACM,EAAAA,CAAaC,KAAMvC,KAAKI,MAAMmC,KAAMC,eAAgBxC,KAAKI,MAAMoC,eAAgBC,UAAWzC,KAAKyC,WAC5FT,EAACU,EAAAA,CAAgBC,QAAS3C,KAAKI,MAAMwC,QAAQD,SACzCX,EAACa,EAAAA,CACGC,IAAKA,IACD9C,KAAK+C,aAAeD,CAAAA,EAExBE,UAAWhD,KAAKI,MAAM4C,UACtBX,YAAarC,KAAKI,MAAMiC,YACxBjB,QAASpB,KAAKI,MAAMgB,QACpB6B,WAAYjD,KAAKiD,WACjBC,UAAWlD,KAAKmD,KAChBrD,KAAME,KAAKoD,YAAmB,KAC9BC,YAAarD,KAAKI,MAAMmC,KAAKe,IAAI,uBACjCC,UAAWvD,KAAKI,MAAMmC,KAAKe,IAAI,6BAC/BE,mBAAoBC,EAAOD,mBAC3BE,aAAcD,EAAOE,cACrBC,iBAAkBH,EAAOI,kBACzBC,gBAAiB9D,KAAKI,MAAM0D,oBAQ5C9B,EAACM,EAAAA,CAAaC,KAAMvC,KAAKI,MAAMmC,KAAMC,eAAgBxC,KAAKI,MAAMoC,eAAgBC,UAAWzC,KAAKyC,WAC5FT,EAAC+B,EAAAA,CACGjB,IAAKA,IACD9C,KAAK+C,aAAeD,CAAAA,KAEpB9C,KAAKI,MACT4D,SAAUhE,KAAKuB,OACf0C,SAAUjE,KAAKgB,SACfe,UAAW/B,KAAK+B,UAChBmC,cAAelE,KAAKI,MAAM8D,gBAI1C"}
1
+ {"version":3,"file":"ANCV.js","sources":["../../../../src/components/ANCV/ANCV.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport ANCVInput from './components/ANCVInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport config from './components/ANCVAwait/config';\nimport Await from '../../components/internal/Await';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport PayButton from '../internal/PayButton';\nimport { ANCVConfiguration } from './types';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\n\nexport class ANCVElement extends UIElement<ANCVConfiguration> {\n public static type = 'ancv';\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n paymentMethod: {\n type: ANCVElement.type,\n beneficiaryId: this.state.data?.beneficiaryId\n }\n };\n }\n\n private onOrderRequest = data => {\n if (this.props.onOrderRequest)\n return new Promise((resolve, reject) => {\n this.props.onOrderRequest(resolve, reject, data);\n });\n\n if (this.props.session) {\n return this.props.session.createOrder();\n }\n };\n\n /**\n * Check if order exists, if it does Resolve.\n * Otherwise createOrder and then Resolve.\n */\n public createOrder = (): Promise<void> => {\n this.setStatus('loading');\n\n // allow for multiple ANCV payments, follow giftcard logic and just use order if it exists\n if (this.props.order) {\n return Promise.resolve();\n }\n\n return this.onOrderRequest(this.data)\n .then((order: { orderData: string; pspReference: string }) => {\n const stateOrder = { order: { orderData: order.orderData, pspReference: order.pspReference } };\n this.setState(stateOrder);\n return Promise.resolve();\n })\n .catch(error => {\n this.setStatus(error?.message || 'error');\n if (this.props.onError) this.handleError(new AdyenCheckoutError('ERROR', error));\n });\n };\n\n public submit() {\n if (!this.isValid) {\n this.showValidation();\n return false;\n }\n\n this.createOrder()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then(this.handleResponse)\n .catch(this.handleFailedResult);\n }\n\n // Reimplement payButton similar to GiftCard to allow to set onClick\n public payButton = props => {\n return <PayButton {...props} />;\n };\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n get displayName(): string {\n return this.props.name;\n }\n\n render() {\n if (this.props.paymentData) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <Await\n ref={ref => {\n this.componentRef = ref;\n }}\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.props.onError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n type={this.constructor['type']}\n messageText={this.props.i18n.get('ancv.confirmPayment')}\n awaitText={this.props.i18n.get('await.waitForConfirmation')}\n showCountdownTimer={config.showCountdownTimer}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <ANCVInput\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onSubmit={this.submit}\n onChange={this.setState}\n payButton={this.payButton}\n showPayButton={this.props.showPayButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default ANCVElement;\n"],"names":["ANCVElement","UIElement","formatData","paymentMethod","type","beneficiaryId","this","state","data","submit","isValid","showValidation","createOrder","then","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","handleResponse","catch","handleFailedResult","displayName","props","name","render","paymentData","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","Await","ref","componentRef","clientKey","onError","onComplete","brandLogo","icon","constructor","messageText","get","awaitText","showCountdownTimer","config","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","ANCVInput","onSubmit","onChange","setState","payButton","showPayButton","_define_property","onOrderRequest","Promise","resolve","reject","session","setStatus","order","stateOrder","orderData","pspReference","error","message","handleError","AdyenCheckoutError","PayButton"],"mappings":"6rBAYO,MAAMA,UAAoBC,EAM7BC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMJ,EAAYI,KAClBC,cAAeC,KAAKC,MAAMC,MAAMH,eAG5C,CAqCOI,MAAAA,GACH,IAAKH,KAAKI,QAEN,OADAJ,KAAKK,kBACE,EAGXL,KAAKM,cACAC,KAAKP,KAAKQ,kBACVD,KAAKE,GACLF,KAAKG,GACLH,KAAKP,KAAKW,gBACVC,MAAMZ,KAAKa,mBACpB,CAOA,WAAIT,GACA,QAASJ,KAAKC,MAAMG,OACxB,CAEA,eAAIU,GACA,OAAOd,KAAKe,MAAMC,IACtB,CAEAC,MAAAA,GACI,OAAIjB,KAAKe,MAAMG,YAEPC,EAACC,EAAAA,CAAaC,KAAMrB,KAAKe,MAAMM,KAAMC,eAAgBtB,KAAKe,MAAMO,eAAgBC,UAAWvB,KAAKuB,WAC5FJ,EAACK,EAAAA,CAAgBC,QAASzB,KAAKe,MAAMW,QAAQD,SACzCN,EAACQ,EAAAA,CACGC,IAAKA,IACD5B,KAAK6B,aAAeD,CAAAA,EAExBE,UAAW9B,KAAKe,MAAMe,UACtBZ,YAAalB,KAAKe,MAAMG,YACxBa,QAAS/B,KAAKe,MAAMgB,QACpBC,WAAYhC,KAAKgC,WACjBC,UAAWjC,KAAKkC,KAChBpC,KAAME,KAAKmC,YAAmB,KAC9BC,YAAapC,KAAKe,MAAMM,KAAKgB,IAAI,uBACjCC,UAAWtC,KAAKe,MAAMM,KAAKgB,IAAI,6BAC/BE,mBAAoBC,EAAOD,mBAC3BE,aAAcD,EAAOE,cACrBC,iBAAkBH,EAAOI,kBACzBC,gBAAiB7C,KAAK6C,oBAQtC1B,EAACC,EAAAA,CAAaC,KAAMrB,KAAKe,MAAMM,KAAMC,eAAgBtB,KAAKe,MAAMO,eAAgBC,UAAWvB,KAAKuB,WAC5FJ,EAAC2B,EAAAA,CACGlB,IAAKA,IACD5B,KAAK6B,aAAeD,CAAAA,KAEpB5B,KAAKe,MACTgC,SAAU/C,KAAKG,OACf6C,SAAUhD,KAAKiD,SACfC,UAAWlD,KAAKkD,UAChBC,cAAenD,KAAKe,MAAMoC,gBAI1C,+BAvGAC,EAAApD,KAAQqD,kBAAiBnD,GACjBF,KAAKe,MAAMsC,eACJ,IAAIC,SAAQ,CAACC,EAASC,KACzBxD,KAAKe,MAAMsC,eAAeE,EAASC,EAAQtD,EAAAA,IAG/CF,KAAKe,MAAM0C,QACJzD,KAAKe,MAAM0C,QAAQnD,mBAD9B,IASJ8C,OAAO9C,eAAc,KACjBN,KAAK0D,UAAU,WAGX1D,KAAKe,MAAM4C,MACJL,QAAQC,UAGZvD,KAAKqD,eAAerD,KAAKE,MAC3BK,MAAMoD,IACH,MAAMC,EAAa,CAAED,MAAO,CAAEE,UAAWF,EAAME,UAAWC,aAAcH,EAAMG,eAE9E,OADA9D,KAAKiD,SAASW,GACPN,QAAQC,SAAO,IAEzB3C,OAAMmD,IACH/D,KAAK0D,UAAUK,GAAOC,SAAW,SAC7BhE,KAAKe,MAAMgB,SAAS/B,KAAKiE,YAAY,IAAIC,EAAmB,QAASH,GAAAA,OAmBrFX,EAAApD,KAAOkD,aAAYnC,GACRI,EAACgD,EAAcpD,MAjE1BqC,EADS1D,EACKI,OAAO"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import s from"./components/AchInput/AchInput.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import r from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as n}from"../tx-variants.js";class i extends e{static type=n.ach;formatProps(t){return{...t,holderNameRequired:t.hasHolderName??t.holderNameRequired}}formatData(){const t=!!this.props.storedPaymentMethodId,e={type:i.type,...this.state.data,ownerName:this.state.data?.holderName,...t&&{storedPaymentMethodId:this.props.storedPaymentMethodId}};return delete e.holderName,{paymentMethod:e,...this.state.billingAddress&&{billingAddress:this.state.billingAddress},...this.state.storePaymentMethod&&{storePaymentMethod:this.state.storePaymentMethod}}}updateStyles(t){return this.componentRef&&this.componentRef.updateStyles&&this.componentRef.updateStyles(t),this}setFocusOn(t){return this.componentRef&&this.componentRef.setFocusOn&&this.componentRef.setFocusOn(t),this}get isValid(){return!!this.props.storedPaymentMethodId||!!this.state.isValid}get displayName(){return this.props.storedPaymentMethodId&&this.props.bankAccountNumber?`•••• ${this.props.bankAccountNumber.slice(-4)}`:this.props.name}get additionalInfo(){return this.props.storedPaymentMethodId?this.props.i18n.get("ach.savedBankAccount"):""}render(){return t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.storedPaymentMethodId?t(r,{showPayButton:this.props.showPayButton,name:this.displayName,amount:this.props.amount,payButton:this.payButton,onSubmit:this.submit,ref:t=>{this.componentRef=t}}):t(s,{setComponentRef:this.setComponentRef,handleKeyPress:this.handleKeyPress,...this.props,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton,resources:this.resources}))}}export{i as AchElement,i as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import s from"./components/AchInput/AchInput.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import r from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as n}from"../tx-variants.js";class a extends e{formatProps(t){return{...t,holderNameRequired:t.hasHolderName??t.holderNameRequired}}formatData(){const t=!!this.props.storedPaymentMethodId,e={type:a.type,...this.state.data,ownerName:this.state.data?.holderName,...t&&{storedPaymentMethodId:this.props.storedPaymentMethodId}};return delete e.holderName,{paymentMethod:e,...this.state.storePaymentMethod&&{storePaymentMethod:this.state.storePaymentMethod}}}updateStyles(t){return this.componentRef&&this.componentRef.updateStyles&&this.componentRef.updateStyles(t),this}setFocusOn(t){return this.componentRef&&this.componentRef.setFocusOn&&this.componentRef.setFocusOn(t),this}get isValid(){return!!this.props.storedPaymentMethodId||!!this.state.isValid}get displayName(){return this.props.storedPaymentMethodId&&this.props.bankAccountNumber?`•••• ${this.props.bankAccountNumber.slice(-4)}`:this.props.name}get additionalInfo(){return this.props.storedPaymentMethodId?this.props.i18n.get("ach.savedBankAccount"):""}render(){return t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.storedPaymentMethodId?t(r,{showPayButton:this.props.showPayButton,name:this.displayName,amount:this.props.amount,payButton:this.payButton,onSubmit:this.submit,ref:t=>{this.componentRef=t}}):t(s,{setComponentRef:this.setComponentRef,handleKeyPress:this.handleKeyPress,...this.props,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton,resources:this.resources}))}}var i,p,h;i=a,p="type",h=n.ach,p in i?Object.defineProperty(i,p,{value:h,enumerable:!0,configurable:!0,writable:!0}):i[p]=h;export{a as AchElement,a as default};
2
2
  //# sourceMappingURL=Ach.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Ach.js","sources":["../../../../src/components/Ach/Ach.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport AchInput from './components/AchInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectButton from '../internal/RedirectButton';\nimport { AchConfiguration } from './types';\nimport { TxVariants } from '../tx-variants';\n\nexport class AchElement extends UIElement<AchConfiguration> {\n public static type = TxVariants.ach;\n\n formatProps(props: AchConfiguration) {\n return {\n ...props,\n // Fix mismatch between passed hasHolderName & holderNameRequired props\n // (when holderNameRequired = true, but hasHolderName = false - which means component will never be valid)\n holderNameRequired: props.hasHolderName ?? props.holderNameRequired\n // TODO - if it turns out that hasHolderName & holderNameRequired are not configurable by the merchant\n // then we will need to force these properties to true\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const recurringPayment = !!this.props.storedPaymentMethodId;\n\n // Map holderName to ownerName\n const paymentMethod = {\n type: AchElement.type,\n ...this.state.data,\n ownerName: this.state.data?.holderName,\n ...(recurringPayment && { storedPaymentMethodId: this.props.storedPaymentMethodId })\n };\n\n delete paymentMethod.holderName;\n\n return {\n paymentMethod,\n ...(this.state.billingAddress && { billingAddress: this.state.billingAddress }),\n ...(this.state.storePaymentMethod && { storePaymentMethod: this.state.storePaymentMethod })\n };\n }\n\n updateStyles(stylesObj) {\n if (this.componentRef && this.componentRef.updateStyles) this.componentRef.updateStyles(stylesObj);\n return this;\n }\n\n setFocusOn(fieldName) {\n if (this.componentRef && this.componentRef.setFocusOn) this.componentRef.setFocusOn(fieldName);\n return this;\n }\n\n get isValid() {\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.bankAccountNumber) {\n // get lastFour from bankAccountNumber, value comes from storedPaymentMethods\n return `•••• ${this.props.bankAccountNumber.slice(-4)}`;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n return this.props.storedPaymentMethodId ? this.props.i18n.get('ach.savedBankAccount') : '';\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.storedPaymentMethodId ? (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n amount={this.props.amount}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n ) : (\n <AchInput\n setComponentRef={this.setComponentRef}\n handleKeyPress={this.handleKeyPress}\n {...this.props}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n resources={this.resources}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default AchElement;\n"],"names":["AchElement","UIElement","static","TxVariants","ach","formatProps","props","holderNameRequired","hasHolderName","formatData","recurringPayment","this","storedPaymentMethodId","paymentMethod","type","state","data","ownerName","holderName","billingAddress","storePaymentMethod","updateStyles","stylesObj","componentRef","setFocusOn","fieldName","isValid","displayName","bankAccountNumber","slice","name","additionalInfo","i18n","get","render","h","CoreProvider","loadingContext","resources","RedirectButton","showPayButton","amount","payButton","onSubmit","submit","ref","AchInput","setComponentRef","handleKeyPress","onChange","setState"],"mappings":"kWAQO,MAAMA,UAAmBC,EAC5BC,YAAqBC,EAAWC,IAEhCC,WAAAA,CAAYC,GACR,MAAO,IACAA,EAGHC,mBAAoBD,EAAME,eAAiBF,EAAMC,mBAIzD,CAKAE,UAAAA,GACI,MAAMC,IAAqBC,KAAKL,MAAMM,sBAGhCC,EAAgB,CAClBC,KAAMd,EAAWc,QACdH,KAAKI,MAAMC,KACdC,UAAWN,KAAKI,MAAMC,MAAME,cACxBR,GAAoB,CAAEE,sBAAuBD,KAAKL,MAAMM,wBAKhE,cAFOC,EAAcK,WAEd,CACHL,mBACIF,KAAKI,MAAMI,gBAAkB,CAAEA,eAAgBR,KAAKI,MAAMI,mBAC1DR,KAAKI,MAAMK,oBAAsB,CAAEA,mBAAoBT,KAAKI,MAAMK,oBAE9E,CAEAC,YAAAA,CAAaC,GAET,OADIX,KAAKY,cAAgBZ,KAAKY,aAAaF,cAAcV,KAAKY,aAAaF,aAAaC,GACjFX,IACX,CAEAa,UAAAA,CAAWC,GAEP,OADId,KAAKY,cAAgBZ,KAAKY,aAAaC,YAAYb,KAAKY,aAAaC,WAAWC,GAC7Ed,IACX,CAEA,WAAIe,GACA,QAAIf,KAAKL,MAAMM,yBAIND,KAAKI,MAAMW,OACxB,CAEA,eAAIC,GACA,OAAIhB,KAAKL,MAAMM,uBAAyBD,KAAKL,MAAMsB,kBAExC,QAAQjB,KAAKL,MAAMsB,kBAAkBC,OAAO,KAEhDlB,KAAKL,MAAMwB,IACtB,CAEA,kBAAIC,GACA,OAAOpB,KAAKL,MAAMM,sBAAwBD,KAAKL,MAAM0B,KAAKC,IAAI,wBAA0B,EAC5F,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaJ,KAAMrB,KAAKL,MAAM0B,KAAMK,eAAgB1B,KAAKL,MAAM+B,eAAgBC,UAAW3B,KAAK2B,WAC3F3B,KAAKL,MAAMM,sBACRuB,EAACI,EAAAA,CACGC,cAAe7B,KAAKL,MAAMkC,cAC1BV,KAAMnB,KAAKgB,YACXc,OAAQ9B,KAAKL,MAAMmC,OACnBC,UAAW/B,KAAK+B,UAChBC,SAAUhC,KAAKiC,OACfC,IAAKA,IACDlC,KAAKY,aAAesB,CAAAA,IAI5BV,EAACW,EAAAA,CACGC,gBAAiBpC,KAAKoC,gBACtBC,eAAgBrC,KAAKqC,kBACjBrC,KAAKL,MACT2C,SAAUtC,KAAKuC,SACfP,SAAUhC,KAAKiC,OACfF,UAAW/B,KAAK+B,UAChBJ,UAAW3B,KAAK2B,YAKpC"}
1
+ {"version":3,"file":"Ach.js","sources":["../../../../src/components/Ach/Ach.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport AchInput from './components/AchInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectButton from '../internal/RedirectButton';\nimport { AchConfiguration } from './types';\nimport { TxVariants } from '../tx-variants';\n\nexport class AchElement extends UIElement<AchConfiguration> {\n public static type = TxVariants.ach;\n\n formatProps(props: AchConfiguration) {\n return {\n ...props,\n // Fix mismatch between passed hasHolderName & holderNameRequired props\n // (when holderNameRequired = true, but hasHolderName = false - which means component will never be valid)\n holderNameRequired: props.hasHolderName ?? props.holderNameRequired\n // TODO - if it turns out that hasHolderName & holderNameRequired are not configurable by the merchant\n // then we will need to force these properties to true\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const recurringPayment = !!this.props.storedPaymentMethodId;\n\n // Map holderName to ownerName\n const paymentMethod = {\n type: AchElement.type,\n ...this.state.data,\n ownerName: this.state.data?.holderName,\n ...(recurringPayment && { storedPaymentMethodId: this.props.storedPaymentMethodId })\n };\n\n delete paymentMethod.holderName;\n\n return {\n paymentMethod,\n ...(this.state.storePaymentMethod && { storePaymentMethod: this.state.storePaymentMethod })\n };\n }\n\n updateStyles(stylesObj) {\n if (this.componentRef && this.componentRef.updateStyles) this.componentRef.updateStyles(stylesObj);\n return this;\n }\n\n setFocusOn(fieldName) {\n if (this.componentRef && this.componentRef.setFocusOn) this.componentRef.setFocusOn(fieldName);\n return this;\n }\n\n get isValid() {\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.bankAccountNumber) {\n // get lastFour from bankAccountNumber, value comes from storedPaymentMethods\n return `•••• ${this.props.bankAccountNumber.slice(-4)}`;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n return this.props.storedPaymentMethodId ? this.props.i18n.get('ach.savedBankAccount') : '';\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.storedPaymentMethodId ? (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n amount={this.props.amount}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n ) : (\n <AchInput\n setComponentRef={this.setComponentRef}\n handleKeyPress={this.handleKeyPress}\n {...this.props}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n resources={this.resources}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default AchElement;\n"],"names":["AchElement","UIElement","formatProps","props","holderNameRequired","hasHolderName","formatData","recurringPayment","this","storedPaymentMethodId","paymentMethod","type","state","data","ownerName","holderName","storePaymentMethod","updateStyles","stylesObj","componentRef","setFocusOn","fieldName","isValid","displayName","bankAccountNumber","slice","name","additionalInfo","i18n","get","render","h","CoreProvider","loadingContext","resources","RedirectButton","showPayButton","amount","payButton","onSubmit","submit","ref","AchInput","setComponentRef","handleKeyPress","onChange","setState","TxVariants","ach"],"mappings":"kWAQO,MAAMA,UAAmBC,EAG5BC,WAAAA,CAAYC,GACR,MAAO,IACAA,EAGHC,mBAAoBD,EAAME,eAAiBF,EAAMC,mBAIzD,CAKAE,UAAAA,GACI,MAAMC,IAAqBC,KAAKL,MAAMM,sBAGhCC,EAAgB,CAClBC,KAAMX,EAAWW,QACdH,KAAKI,MAAMC,KACdC,UAAWN,KAAKI,MAAMC,MAAME,cACxBR,GAAoB,CAAEE,sBAAuBD,KAAKL,MAAMM,wBAKhE,cAFOC,EAAcK,WAEd,CACHL,mBACIF,KAAKI,MAAMI,oBAAsB,CAAEA,mBAAoBR,KAAKI,MAAMI,oBAE9E,CAEAC,YAAAA,CAAaC,GAET,OADIV,KAAKW,cAAgBX,KAAKW,aAAaF,cAAcT,KAAKW,aAAaF,aAAaC,GACjFV,IACX,CAEAY,UAAAA,CAAWC,GAEP,OADIb,KAAKW,cAAgBX,KAAKW,aAAaC,YAAYZ,KAAKW,aAAaC,WAAWC,GAC7Eb,IACX,CAEA,WAAIc,GACA,QAAId,KAAKL,MAAMM,yBAIND,KAAKI,MAAMU,OACxB,CAEA,eAAIC,GACA,OAAIf,KAAKL,MAAMM,uBAAyBD,KAAKL,MAAMqB,kBAExC,QAAQhB,KAAKL,MAAMqB,kBAAkBC,OAAO,KAEhDjB,KAAKL,MAAMuB,IACtB,CAEA,kBAAIC,GACA,OAAOnB,KAAKL,MAAMM,sBAAwBD,KAAKL,MAAMyB,KAAKC,IAAI,wBAA0B,EAC5F,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaJ,KAAMpB,KAAKL,MAAMyB,KAAMK,eAAgBzB,KAAKL,MAAM8B,eAAgBC,UAAW1B,KAAK0B,WAC3F1B,KAAKL,MAAMM,sBACRsB,EAACI,EAAAA,CACGC,cAAe5B,KAAKL,MAAMiC,cAC1BV,KAAMlB,KAAKe,YACXc,OAAQ7B,KAAKL,MAAMkC,OACnBC,UAAW9B,KAAK8B,UAChBC,SAAU/B,KAAKgC,OACfC,IAAKA,IACDjC,KAAKW,aAAesB,CAAAA,IAI5BV,EAACW,EAAAA,CACGC,gBAAiBnC,KAAKmC,gBACtBC,eAAgBpC,KAAKoC,kBACjBpC,KAAKL,MACT0C,SAAUrC,KAAKsC,SACfP,SAAU/B,KAAKgC,OACfF,UAAW9B,KAAK8B,UAChBJ,UAAW1B,KAAK0B,YAKpC,cA7FSlC,IACKW,SAAOoC,EAAWC"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useState as o,useRef as r,useEffect as t}from"../../../../external/preact/hooks/dist/hooks.js";import a from"../../../../external/classnames/index.js";import l from"./components/AchSecuredFields.js";import s from"../../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import d from"../../../internal/Address/Address.js";import n from"../../../internal/FormFields/Field/Field.js";import i from"../../../internal/LoadingWrapper/LoadingWrapper.js";import c from"./defaultProps.js";import u from"./defaultStyles.js";import{useCoreContext as m}from"../../../../core/Context/CoreProvider.js";import h from"../../../internal/StoreDetails/StoreDetails.js";import p from"../../../internal/FormFields/InputText.js";import N from"../../../internal/FormInstruction/FormInstruction.js";function f(e,o=!1){return!o||!!e&&"string"==typeof e&&e.trim().length>0}function g(c){const{i18n:g}=m(),y=c.hasHolderName&&(!!c.holderName||!!c.data.holderName),[_,C]=o({}),[b,x]=o({...c.holderNameRequired&&{holderName:y}}),[A,R]=o({...c.hasHolderName&&{holderName:c.holderName||c.data.holderName}}),[j,q]=o(c.billingAddressRequired?c.data.billingAddress:null),[S,k]=o(!1),[v,w]=o(""),[V,P]=o(!1),E=e=>{q({...j,...e.data}),x({...b,billingAddress:e.isValid})},H=e=>{const o=e.target.value;R({...A,holderName:o}),C({..._,holderName:!!c.holderNameRequired&&!f(o)}),x({...b,holderName:!c.holderNameRequired||f(o,c.holderNameRequired)})},I=r(null),O=r(null),B=e=>{O.current=e},[K,L]=o("ready"),M=r({});return Object.keys(M.current).length||c.setComponentRef?.(M.current),M.current.showValidation=()=>{I.current.showValidation(),c.holderNameRequired&&!b.holderName&&C({..._,holderName:!0}),O.current&&O.current.showValidation()},M.current.setStatus=L,t((()=>(this.setFocusOn=I.current.setFocusOn,this.updateStyles=I.current.updateStyles,()=>{I.current.destroy()})),[]),t((()=>{const e=f(A.holderName,c.holderNameRequired),o=S,r=!c.billingAddressRequired||Boolean(b.billingAddress),t=o&&e&&r;c.onChange({data:A,isValid:t,billingAddress:j,storePaymentMethod:V})}),[A,b,_,V]),e("div",{className:"adyen-checkout__ach"},e(N,null),e(s,{ref:I,...F(c),styles:{...u,...c.styles},onChange:e=>{const o=e,r=o.autoCompleteName?o.autoCompleteName:A.holderName;R({...A,...o.data,holderName:r}),C({..._,...o.errors}),x({...b,...o.valid,holderName:!c.holderNameRequired||f(r,c.holderNameRequired)}),k(o.isSfpValid)},onFocus:e=>{const o=!0===e.focus;w(e.currentFocusObject),o?c.onFocus(e):c.onBlur(e)},render:({setRootNode:o,setFocusOn:r},t)=>e("div",{ref:o,className:"adyen-checkout__ach-input sf-input__wrapper"},e(i,{status:t.status},e("div",{className:a(["adyen-checkout__fieldset","adyen-checkout__fieldset--ach"])},e("div",{className:"adyen-checkout__fieldset__title"},g.get("ach.bankAccount")),c.hasHolderName&&e(n,{label:g.get("ach.accountHolderNameField.title"),className:"adyen-checkout__pm__holderName",errorMessage:!!_.holderName&&g.get("ach.accountHolderNameField.invalid"),showContextualElement:c.showContextualElement,contextualText:g.get("ach.accountHolderNameField.contextualText"),isValid:!!b.holderName,name:"holderName"},e(p,{className:"adyen-checkout__pm__holderName__input adyen-checkout__input",placeholder:c?.placeholders?.holderName,value:A.holderName,required:c.holderNameRequired,onInput:H})),e(l,{focusedElement:v,onFocusField:r,errors:t.errors,valid:t.valid})),c.billingAddressRequired&&e(d,{label:"billingAddress",data:j,onChange:E,allowedCountries:c.billingAddressAllowedCountries,requiredFields:c.billingAddressRequiredFields,setComponentRef:B}),c.enableStoreDetails&&e(h,{onChange:P})))}),c.showPayButton&&c.payButton({status:K,label:g.get("confirmPurchase")}))}g.defaultProps=c;const F=e=>({autoFocus:e.autoFocus,clientKey:e.clientKey,i18n:e.i18n,keypadFix:e.keypadFix,legacyInputMode:e.legacyInputMode,loadingContext:e.loadingContext,onAllValid:e.onAllValid,onConfigSuccess:e.onConfigSuccess,onError:e.onError,onFieldValid:e.onFieldValid,onFocus:e.onFocus,onLoad:e.onLoad,showWarnings:e.showWarnings,styles:e.styles,type:e.type,forceCompat:e.forceCompat,resources:e.resources,placeholders:e.placeholders,handleKeyPress:e.handleKeyPress});export{g as default};
1
+ import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useState as o,useRef as a,useEffect as t}from"../../../../external/preact/hooks/dist/hooks.js";import r from"../../../../external/classnames/index.js";import n from"./components/AchSecuredFields.js";import s from"../../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import l from"../../../internal/FormFields/Field/Field.js";import d from"../../../internal/LoadingWrapper/LoadingWrapper.js";import c from"./defaultProps.js";import i from"./defaultStyles.js";import{useCoreContext as u}from"../../../../core/Context/CoreProvider.js";import m from"../../../internal/StoreDetails/StoreDetails.js";import h from"../../../internal/FormFields/InputText.js";import p from"../../../internal/FormInstruction/FormInstruction.js";import N from"../../../internal/FormFields/RadioGroup/RadioGroup.js";function f(e,o=!1){return!o||!!e&&"string"==typeof e&&e.trim().length>0}function y(c){const{i18n:y}=u(),g=c.hasHolderName&&(!!c.holderName||!!c.data.holderName),[_,k]=o({}),[x,C]=o({...c.holderNameRequired&&{holderName:g}}),[j,v]=o({bankAccountType:"checking",...c.hasHolderName&&{holderName:c.holderName||c.data.holderName}}),[b,S]=o(!1),[R,q]=o(""),[A,P]=o(!1),T=e=>{const o=e.target.value;v({...j,holderName:o}),k({..._,holderName:!!c.holderNameRequired&&!f(o)}),C({...x,holderName:!c.holderNameRequired||f(o,c.holderNameRequired)})},V=e=>{const o=e.target.value;v({...j,bankAccountType:o})},w=a(null),[E,H]=o("ready"),I=a({});return Object.keys(I.current).length||c.setComponentRef?.(I.current),I.current.showValidation=()=>{w.current.showValidation(),c.holderNameRequired&&!x.holderName&&k({..._,holderName:!0})},I.current.setStatus=H,t((()=>(this.setFocusOn=w.current.setFocusOn,this.updateStyles=w.current.updateStyles,()=>{w.current.destroy()})),[]),t((()=>{const e=f(j.holderName,c.holderNameRequired),o=b&&e;c.onChange({data:j,isValid:o,storePaymentMethod:A})}),[j,x,_,A]),e("div",{className:"adyen-checkout__ach"},e(p,null),e(s,{ref:w,...F(c),styles:{...i,...c.styles},onChange:e=>{const o=e,a=o.autoCompleteName?o.autoCompleteName:j.holderName;v({...j,...o.data,holderName:a}),k({..._,...o.errors}),C({...x,...o.valid,holderName:!c.holderNameRequired||f(a,c.holderNameRequired)}),S(o.isSfpValid)},onFocus:e=>{const o=!0===e.focus;q(e.currentFocusObject),o?c.onFocus(e):c.onBlur(e)},render:({setRootNode:o,setFocusOn:a},t)=>e("div",{ref:o,className:"adyen-checkout__ach-input sf-input__wrapper"},e(d,{status:t.status},e("div",{className:r(["adyen-checkout__fieldset","adyen-checkout__fieldset--ach"])},e("div",{className:"adyen-checkout__fieldset__title"},y.get("ach.bankAccount")),e(l,{classNameModifiers:["bankAccountType","no-borders"],name:"bankAccountType",useLabelElement:!1},e(N,{name:"bankAccountType",value:j.bankAccountType,items:[{id:"checking",name:y.get("ach.checking")},{id:"savings",name:y.get("ach.savings")}],onChange:V,required:!0,style:"button"})),c.hasHolderName&&e(l,{label:y.get("ach.accountHolderNameField.title"),className:"adyen-checkout__pm__holderName",errorMessage:!!_.holderName&&y.get("ach.accountHolderNameField.invalid"),showContextualElement:c.showContextualElement,contextualText:y.get("ach.accountHolderNameField.contextualText"),isValid:!!x.holderName,name:"holderName"},e(h,{className:"adyen-checkout__pm__holderName__input adyen-checkout__input",placeholder:c?.placeholders?.holderName,value:j.holderName,required:c.holderNameRequired,onInput:T})),e(n,{focusedElement:R,onFocusField:a,errors:t.errors,valid:t.valid})),c.enableStoreDetails&&e(m,{onChange:P})))}),c.showPayButton&&c.payButton({status:E,label:y.get("confirmPurchase")}))}y.defaultProps=c;const F=e=>({autoFocus:e.autoFocus,clientKey:e.clientKey,i18n:e.i18n,keypadFix:e.keypadFix,legacyInputMode:e.legacyInputMode,loadingContext:e.loadingContext,onAllValid:e.onAllValid,onConfigSuccess:e.onConfigSuccess,onError:e.onError,onFieldValid:e.onFieldValid,onFocus:e.onFocus,onLoad:e.onLoad,showWarnings:e.showWarnings,styles:e.styles,type:e.type,forceCompat:e.forceCompat,resources:e.resources,placeholders:e.placeholders,handleKeyPress:e.handleKeyPress});export{y as default};
2
2
  //# sourceMappingURL=AchInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AchInput.js","sources":["../../../../../../src/components/Ach/components/AchInput/AchInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef } from 'preact/hooks';\nimport classNames from 'classnames';\nimport AchSecuredFields from './components/AchSecuredFields';\nimport SecuredFieldsProvider from '../../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport Address from '../../../internal/Address';\nimport Field from '../../../internal/FormFields/Field';\nimport LoadingWrapper from '../../../internal/LoadingWrapper/LoadingWrapper';\nimport defaultProps from './defaultProps';\nimport defaultStyles from './defaultStyles';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport './AchInput.scss';\nimport { ACHInputDataState, ACHInputProps, ACHInputStateError, ACHInputStateValid } from './types';\nimport StoreDetails from '../../../internal/StoreDetails';\nimport InputText from '../../../internal/FormFields/InputText';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\n\nfunction validateHolderName(holderName, holderNameRequired = false) {\n if (holderNameRequired) {\n return !!holderName && typeof holderName === 'string' && holderName.trim().length > 0;\n }\n return true;\n}\n\nfunction AchInput(props: ACHInputProps) {\n const { i18n } = useCoreContext();\n\n const holderNameIsValid = props.hasHolderName && (!!props.holderName || !!props.data.holderName);\n\n const [errors, setErrors] = useState<ACHInputStateError>({});\n const [valid, setValid] = useState<ACHInputStateValid>({\n ...(props.holderNameRequired && { holderName: holderNameIsValid })\n });\n const [data, setData] = useState<ACHInputDataState>({\n ...(props.hasHolderName && { holderName: props.holderName || props.data.holderName })\n });\n\n const [billingAddress, setBillingAddress] = useState(props.billingAddressRequired ? props.data.billingAddress : null);\n const [isSfpValid, setIsSfpValid] = useState(false);\n const [focusedElement, setFocusedElement] = useState('');\n const [storePaymentMethod, setStorePaymentMethod] = useState(false);\n\n const handleFocus = e => {\n const isFocused = e.focus === true;\n\n setFocusedElement(e.currentFocusObject);\n\n if (isFocused) {\n props.onFocus(e);\n } else {\n props.onBlur(e);\n }\n };\n\n const handleAddress = address => {\n setBillingAddress({ ...billingAddress, ...address.data });\n setValid({ ...valid, billingAddress: address.isValid });\n };\n\n const handleHolderName = e => {\n const holderName = e.target.value;\n\n setData({ ...data, holderName });\n setErrors({ ...errors, holderName: props.holderNameRequired ? !validateHolderName(holderName) : false });\n setValid({ ...valid, holderName: props.holderNameRequired ? validateHolderName(holderName, props.holderNameRequired) : true });\n };\n\n const handleSecuredFieldsChange = newState => {\n const sfState = newState;\n\n const tempHolderName = sfState.autoCompleteName ? sfState.autoCompleteName : data.holderName;\n\n setData({ ...data, ...sfState.data, holderName: tempHolderName });\n setErrors({ ...errors, ...sfState.errors });\n setValid({\n ...valid,\n ...sfState.valid,\n holderName: props.holderNameRequired ? validateHolderName(tempHolderName, props.holderNameRequired) : true\n });\n\n setIsSfpValid(sfState.isSfpValid);\n };\n\n // Refs\n const sfp = useRef(null);\n const billingAddressRef = useRef(null);\n const setAddressRef = ref => {\n billingAddressRef.current = ref;\n };\n\n const [status, setStatus] = useState('ready');\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const achRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(achRef.current).length) {\n props.setComponentRef?.(achRef.current);\n }\n\n achRef.current.showValidation = () => {\n // Validate SecuredFields\n sfp.current.showValidation();\n\n // Validate holderName\n if (props.holderNameRequired && !valid.holderName) {\n setErrors({ ...errors, holderName: true });\n }\n\n // Validate Address\n if (billingAddressRef.current) billingAddressRef.current.showValidation();\n };\n\n achRef.current.setStatus = setStatus;\n\n useEffect(() => {\n this.setFocusOn = sfp.current.setFocusOn;\n this.updateStyles = sfp.current.updateStyles;\n\n return () => {\n sfp.current.destroy();\n };\n }, []);\n\n // Run when state.data, -errors or -valid change\n useEffect(() => {\n // Validate whole component i.e holderName + securedFields + address\n const holderNameValid = validateHolderName(data.holderName, props.holderNameRequired);\n const sfpValid = isSfpValid;\n const billingAddressValid = props.billingAddressRequired ? Boolean(valid.billingAddress) : true;\n\n const isValid = sfpValid && holderNameValid && billingAddressValid;\n\n props.onChange({ data, isValid, billingAddress, storePaymentMethod });\n }, [data, valid, errors, storePaymentMethod]);\n\n return (\n <div className=\"adyen-checkout__ach\">\n <FormInstruction />\n\n <SecuredFieldsProvider\n ref={sfp}\n {...extractPropsForSFP(props)}\n styles={{ ...defaultStyles, ...props.styles }}\n onChange={handleSecuredFieldsChange}\n onFocus={handleFocus}\n render={({ setRootNode, setFocusOn }, sfpState) => (\n <div ref={setRootNode} className=\"adyen-checkout__ach-input sf-input__wrapper\">\n <LoadingWrapper status={sfpState.status}>\n <div className={classNames(['adyen-checkout__fieldset', 'adyen-checkout__fieldset--ach'])}>\n {<div className=\"adyen-checkout__fieldset__title\">{i18n.get('ach.bankAccount')}</div>}\n\n {props.hasHolderName && (\n <Field\n label={i18n.get('ach.accountHolderNameField.title')}\n className={'adyen-checkout__pm__holderName'}\n errorMessage={!!errors.holderName && i18n.get('ach.accountHolderNameField.invalid')}\n showContextualElement={props.showContextualElement}\n contextualText={i18n.get('ach.accountHolderNameField.contextualText')}\n isValid={!!valid.holderName}\n name={'holderName'}\n >\n <InputText\n className=\"adyen-checkout__pm__holderName__input adyen-checkout__input\"\n placeholder={props?.placeholders?.holderName}\n value={data.holderName}\n required={props.holderNameRequired}\n onInput={handleHolderName}\n />\n </Field>\n )}\n\n <AchSecuredFields\n focusedElement={focusedElement}\n onFocusField={setFocusOn}\n errors={sfpState.errors}\n valid={sfpState.valid}\n />\n </div>\n\n {props.billingAddressRequired && (\n <Address\n label=\"billingAddress\"\n data={billingAddress}\n onChange={handleAddress}\n allowedCountries={props.billingAddressAllowedCountries}\n requiredFields={props.billingAddressRequiredFields}\n setComponentRef={setAddressRef}\n />\n )}\n\n {props.enableStoreDetails && <StoreDetails onChange={setStorePaymentMethod} />}\n </LoadingWrapper>\n </div>\n )}\n />\n {props.showPayButton && props.payButton({ status, label: i18n.get('confirmPurchase') })}\n </div>\n );\n}\n\nAchInput.defaultProps = defaultProps;\n\nexport default AchInput;\n\nconst extractPropsForSFP = (props: ACHInputProps) => {\n return {\n autoFocus: props.autoFocus,\n clientKey: props.clientKey,\n i18n: props.i18n,\n keypadFix: props.keypadFix,\n legacyInputMode: props.legacyInputMode,\n loadingContext: props.loadingContext,\n onAllValid: props.onAllValid,\n onConfigSuccess: props.onConfigSuccess,\n onError: props.onError,\n onFieldValid: props.onFieldValid,\n onFocus: props.onFocus,\n onLoad: props.onLoad,\n showWarnings: props.showWarnings,\n styles: props.styles,\n type: props.type,\n forceCompat: props.forceCompat,\n resources: props.resources,\n placeholders: props.placeholders,\n handleKeyPress: props.handleKeyPress\n };\n};\n"],"names":["validateHolderName","holderName","holderNameRequired","trim","length","AchInput","props","i18n","useCoreContext","holderNameIsValid","hasHolderName","data","errors","setErrors","useState","valid","setValid","setData","billingAddress","setBillingAddress","billingAddressRequired","isSfpValid","setIsSfpValid","focusedElement","setFocusedElement","storePaymentMethod","setStorePaymentMethod","handleAddress","address","isValid","handleHolderName","e","target","value","sfp","useRef","billingAddressRef","setAddressRef","ref","current","status","setStatus","achRef","Object","keys","setComponentRef","showValidation","useEffect","this","setFocusOn","updateStyles","destroy","holderNameValid","sfpValid","billingAddressValid","Boolean","onChange","h","div","className","FormInstruction","SecuredFieldsProvider","extractPropsForSFP","styles","defaultStyles","newState","sfState","tempHolderName","autoCompleteName","onFocus","isFocused","focus","currentFocusObject","onBlur","render","setRootNode","sfpState","LoadingWrapper","classNames","get","Field","label","errorMessage","showContextualElement","contextualText","name","InputText","placeholder","placeholders","required","onInput","AchSecuredFields","onFocusField","Address","allowedCountries","billingAddressAllowedCountries","requiredFields","billingAddressRequiredFields","enableStoreDetails","StoreDetails","showPayButton","payButton","defaultProps","autoFocus","clientKey","keypadFix","legacyInputMode","loadingContext","onAllValid","onConfigSuccess","onError","onFieldValid","onLoad","showWarnings","type","forceCompat","resources","handleKeyPress"],"mappings":"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"}
1
+ {"version":3,"file":"AchInput.js","sources":["../../../../../../src/components/Ach/components/AchInput/AchInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef } from 'preact/hooks';\nimport classNames from 'classnames';\nimport AchSecuredFields from './components/AchSecuredFields';\nimport SecuredFieldsProvider from '../../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport Field from '../../../internal/FormFields/Field';\nimport LoadingWrapper from '../../../internal/LoadingWrapper/LoadingWrapper';\nimport defaultProps from './defaultProps';\nimport defaultStyles from './defaultStyles';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport './AchInput.scss';\nimport { ACHInputDataState, ACHInputProps, ACHInputStateError, ACHInputStateValid } from './types';\nimport StoreDetails from '../../../internal/StoreDetails';\nimport InputText from '../../../internal/FormFields/InputText';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\nimport RadioGroup from '../../../internal/FormFields/RadioGroup';\n\nfunction validateHolderName(holderName, holderNameRequired = false) {\n if (holderNameRequired) {\n return !!holderName && typeof holderName === 'string' && holderName.trim().length > 0;\n }\n return true;\n}\n\nfunction AchInput(props: ACHInputProps) {\n const { i18n } = useCoreContext();\n\n const holderNameIsValid = props.hasHolderName && (!!props.holderName || !!props.data.holderName);\n\n const [errors, setErrors] = useState<ACHInputStateError>({});\n const [valid, setValid] = useState<ACHInputStateValid>({\n ...(props.holderNameRequired && { holderName: holderNameIsValid })\n });\n\n const [data, setData] = useState<ACHInputDataState>({\n bankAccountType: 'checking',\n ...(props.hasHolderName && { holderName: props.holderName || props.data.holderName })\n });\n\n const [isSfpValid, setIsSfpValid] = useState(false);\n const [focusedElement, setFocusedElement] = useState('');\n const [storePaymentMethod, setStorePaymentMethod] = useState(false);\n\n const handleFocus = e => {\n const isFocused = e.focus === true;\n\n setFocusedElement(e.currentFocusObject);\n\n if (isFocused) {\n props.onFocus(e);\n } else {\n props.onBlur(e);\n }\n };\n\n const handleHolderName = e => {\n const holderName = e.target.value;\n\n setData({ ...data, holderName });\n setErrors({ ...errors, holderName: props.holderNameRequired ? !validateHolderName(holderName) : false });\n setValid({ ...valid, holderName: props.holderNameRequired ? validateHolderName(holderName, props.holderNameRequired) : true });\n };\n\n const handleBankAccountType = e => {\n const bankAccountType = e.target.value;\n\n setData({ ...data, bankAccountType });\n };\n\n const handleSecuredFieldsChange = newState => {\n const sfState = newState;\n\n const tempHolderName = sfState.autoCompleteName ? sfState.autoCompleteName : data.holderName;\n\n setData({ ...data, ...sfState.data, holderName: tempHolderName });\n setErrors({ ...errors, ...sfState.errors });\n setValid({\n ...valid,\n ...sfState.valid,\n holderName: props.holderNameRequired ? validateHolderName(tempHolderName, props.holderNameRequired) : true\n });\n\n setIsSfpValid(sfState.isSfpValid);\n };\n\n // Refs\n const sfp = useRef(null);\n\n const [status, setStatus] = useState('ready');\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const achRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(achRef.current).length) {\n props.setComponentRef?.(achRef.current);\n }\n\n achRef.current.showValidation = () => {\n // Validate SecuredFields\n sfp.current.showValidation();\n\n // Validate holderName\n if (props.holderNameRequired && !valid.holderName) {\n setErrors({ ...errors, holderName: true });\n }\n };\n\n achRef.current.setStatus = setStatus;\n\n useEffect(() => {\n this.setFocusOn = sfp.current.setFocusOn;\n this.updateStyles = sfp.current.updateStyles;\n\n return () => {\n sfp.current.destroy();\n };\n }, []);\n\n // Run when state.data, -errors or -valid change\n useEffect(() => {\n // Validate whole component i.e holderName + securedFields\n const holderNameValid = validateHolderName(data.holderName, props.holderNameRequired);\n const sfpValid = isSfpValid;\n\n const isValid = sfpValid && holderNameValid;\n\n props.onChange({ data, isValid, storePaymentMethod });\n }, [data, valid, errors, storePaymentMethod]);\n\n return (\n <div className=\"adyen-checkout__ach\">\n <FormInstruction />\n\n <SecuredFieldsProvider\n ref={sfp}\n {...extractPropsForSFP(props)}\n styles={{ ...defaultStyles, ...props.styles }}\n onChange={handleSecuredFieldsChange}\n onFocus={handleFocus}\n render={({ setRootNode, setFocusOn }, sfpState) => (\n <div ref={setRootNode} className=\"adyen-checkout__ach-input sf-input__wrapper\">\n <LoadingWrapper status={sfpState.status}>\n <div className={classNames(['adyen-checkout__fieldset', 'adyen-checkout__fieldset--ach'])}>\n {<div className=\"adyen-checkout__fieldset__title\">{i18n.get('ach.bankAccount')}</div>}\n\n <Field classNameModifiers={['bankAccountType', 'no-borders']} name={'bankAccountType'} useLabelElement={false}>\n <RadioGroup\n name={'bankAccountType'}\n value={data.bankAccountType}\n items={[\n { id: 'checking', name: i18n.get('ach.checking') },\n { id: 'savings', name: i18n.get('ach.savings') }\n ]}\n onChange={handleBankAccountType}\n required={true}\n style={'button'}\n />\n </Field>\n\n {props.hasHolderName && (\n <Field\n label={i18n.get('ach.accountHolderNameField.title')}\n className={'adyen-checkout__pm__holderName'}\n errorMessage={!!errors.holderName && i18n.get('ach.accountHolderNameField.invalid')}\n showContextualElement={props.showContextualElement}\n contextualText={i18n.get('ach.accountHolderNameField.contextualText')}\n isValid={!!valid.holderName}\n name={'holderName'}\n >\n <InputText\n className=\"adyen-checkout__pm__holderName__input adyen-checkout__input\"\n placeholder={props?.placeholders?.holderName}\n value={data.holderName}\n required={props.holderNameRequired}\n onInput={handleHolderName}\n />\n </Field>\n )}\n\n <AchSecuredFields\n focusedElement={focusedElement}\n onFocusField={setFocusOn}\n errors={sfpState.errors}\n valid={sfpState.valid}\n />\n </div>\n\n {props.enableStoreDetails && <StoreDetails onChange={setStorePaymentMethod} />}\n </LoadingWrapper>\n </div>\n )}\n />\n {props.showPayButton && props.payButton({ status, label: i18n.get('confirmPurchase') })}\n </div>\n );\n}\n\nAchInput.defaultProps = defaultProps;\n\nexport default AchInput;\n\nconst extractPropsForSFP = (props: ACHInputProps) => {\n return {\n autoFocus: props.autoFocus,\n clientKey: props.clientKey,\n i18n: props.i18n,\n keypadFix: props.keypadFix,\n legacyInputMode: props.legacyInputMode,\n loadingContext: props.loadingContext,\n onAllValid: props.onAllValid,\n onConfigSuccess: props.onConfigSuccess,\n onError: props.onError,\n onFieldValid: props.onFieldValid,\n onFocus: props.onFocus,\n onLoad: props.onLoad,\n showWarnings: props.showWarnings,\n styles: props.styles,\n type: props.type,\n forceCompat: props.forceCompat,\n resources: props.resources,\n placeholders: props.placeholders,\n handleKeyPress: props.handleKeyPress\n };\n};\n"],"names":["validateHolderName","holderName","holderNameRequired","trim","length","AchInput","props","i18n","useCoreContext","holderNameIsValid","hasHolderName","data","errors","setErrors","useState","valid","setValid","setData","bankAccountType","isSfpValid","setIsSfpValid","focusedElement","setFocusedElement","storePaymentMethod","setStorePaymentMethod","handleHolderName","e","target","value","handleBankAccountType","sfp","useRef","status","setStatus","achRef","Object","keys","current","setComponentRef","showValidation","useEffect","this","setFocusOn","updateStyles","destroy","holderNameValid","isValid","onChange","h","div","className","FormInstruction","SecuredFieldsProvider","ref","extractPropsForSFP","styles","defaultStyles","newState","sfState","tempHolderName","autoCompleteName","onFocus","isFocused","focus","currentFocusObject","onBlur","render","setRootNode","sfpState","LoadingWrapper","classNames","get","Field","classNameModifiers","name","useLabelElement","RadioGroup","items","id","required","style","label","errorMessage","showContextualElement","contextualText","InputText","placeholder","placeholders","onInput","AchSecuredFields","onFocusField","enableStoreDetails","StoreDetails","showPayButton","payButton","defaultProps","autoFocus","clientKey","keypadFix","legacyInputMode","loadingContext","onAllValid","onConfigSuccess","onError","onFieldValid","onLoad","showWarnings","type","forceCompat","resources","handleKeyPress"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import s from"../internal/Address/Address.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import{TxVariants as o}from"../tx-variants.js";class i extends e{static type=o.address;get data(){return this.state.data}get isValid(){return!!this.state.isValid}render(){return t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(s,{setComponentRef:this.setComponentRef,...this.props,onChange:this.setState}))}}export{i as AddressElement,i as default};
1
+ import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import r from"../internal/Address/Address.js";import{CoreProvider as s}from"../../core/Context/CoreProvider.js";import{TxVariants as n}from"../tx-variants.js";class o extends t{get data(){return this.state.data}get isValid(){return!!this.state.isValid}render(){return e(s,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},e(r,{setComponentRef:this.setComponentRef,...this.props,onChange:this.setState}))}}var a,i,d;a=o,i="type",d=n.address,i in a?Object.defineProperty(a,i,{value:d,enumerable:!0,configurable:!0,writable:!0}):a[i]=d;export{o as AddressElement,o as default};
2
2
  //# sourceMappingURL=Address.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Address.js","sources":["../../../../src/components/Address/Address.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport Address from '../internal/Address';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { TxVariants } from '../tx-variants';\n\nexport class AddressElement extends UIElement {\n public static type = TxVariants.address;\n\n get data() {\n return this.state.data;\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <Address\n setComponentRef={this.setComponentRef}\n {...this.props}\n onChange={this.setState}\n {...(process.env.NODE_ENV !== 'production' && { payButton: this.payButton })}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default AddressElement;\n"],"names":["AddressElement","UIElement","static","TxVariants","address","data","this","state","isValid","render","h","CoreProvider","i18n","props","loadingContext","resources","Address","setComponentRef","onChange","setState"],"mappings":"mSAMO,MAAMA,UAAuBC,EAChCC,YAAqBC,EAAWC,QAEhC,QAAIC,GACA,OAAOC,KAAKC,MAAMF,IACtB,CAEA,WAAIG,GACA,QAASF,KAAKC,MAAMC,OACxB,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMN,KAAKO,MAAMD,KAAME,eAAgBR,KAAKO,MAAMC,eAAgBC,UAAWT,KAAKS,WAC5FL,EAACM,EAAAA,CACGC,gBAAiBX,KAAKW,mBAClBX,KAAKO,MACTK,SAAUZ,KAAKa,WAK/B"}
1
+ {"version":3,"file":"Address.js","sources":["../../../../src/components/Address/Address.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport Address from '../internal/Address';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { TxVariants } from '../tx-variants';\n\nexport class AddressElement extends UIElement {\n public static type = TxVariants.address;\n\n get data() {\n return this.state.data;\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <Address\n setComponentRef={this.setComponentRef}\n {...this.props}\n onChange={this.setState}\n {...(process.env.NODE_ENV !== 'production' && { payButton: this.payButton })}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default AddressElement;\n"],"names":["AddressElement","UIElement","data","this","state","isValid","render","h","CoreProvider","i18n","props","loadingContext","resources","Address","setComponentRef","onChange","setState","type","TxVariants","address"],"mappings":"mSAMO,MAAMA,UAAuBC,EAGhC,QAAIC,GACA,OAAOC,KAAKC,MAAMF,IACtB,CAEA,WAAIG,GACA,QAASF,KAAKC,MAAMC,OACxB,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMN,KAAKO,MAAMD,KAAME,eAAgBR,KAAKO,MAAMC,eAAgBC,UAAWT,KAAKS,WAC5FL,EAACM,EAAAA,CACGC,gBAAiBX,KAAKW,mBAClBX,KAAKO,MACTK,SAAUZ,KAAKa,WAK/B,cAtBShB,IACKiB,SAAOC,EAAWC"}
@@ -1,2 +1,2 @@
1
- import e from"../helpers/OpenInvoiceContainer/OpenInvoiceContainer.js";import{ALLOWED_COUNTRIES as r}from"./config.js";import{TxVariants as o}from"../tx-variants.js";class t extends e{static type=o.affirm;formatProps(e){return{...super.formatProps(e),allowedCountries:r,personalDetailsRequiredFields:["firstName","lastName","telephoneNumber","shopperEmail"]}}}export{t as default};
1
+ import e from"../helpers/OpenInvoiceContainer/OpenInvoiceContainer.js";import{ALLOWED_COUNTRIES as r}from"./config.js";import{TxVariants as o}from"../tx-variants.js";class a extends e{formatProps(e){return{...super.formatProps(e),allowedCountries:r,personalDetailsRequiredFields:["firstName","lastName","telephoneNumber","shopperEmail"]}}}var t,i,n;t=a,i="type",n=o.affirm,i in t?Object.defineProperty(t,i,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[i]=n;export{a as default};
2
2
  //# sourceMappingURL=Affirm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Affirm.js","sources":["../../../../src/components/Affirm/Affirm.tsx"],"sourcesContent":["import OpenInvoiceContainer from '../helpers/OpenInvoiceContainer';\nimport { ALLOWED_COUNTRIES } from './config';\nimport { TxVariants } from '../tx-variants';\n\nexport default class Affirm extends OpenInvoiceContainer {\n public static type = TxVariants.affirm;\n\n formatProps(props) {\n return {\n ...super.formatProps(props),\n allowedCountries: ALLOWED_COUNTRIES,\n personalDetailsRequiredFields: ['firstName', 'lastName', 'telephoneNumber', 'shopperEmail']\n };\n }\n}\n"],"names":["Affirm","OpenInvoiceContainer","static","TxVariants","affirm","formatProps","props","super","allowedCountries","ALLOWED_COUNTRIES","personalDetailsRequiredFields"],"mappings":"sKAIe,MAAMA,UAAeC,EAChCC,YAAqBC,EAAWC,OAEhCC,WAAAA,CAAYC,GACR,MAAO,IACAC,MAAMF,YAAYC,GACrBE,iBAAkBC,EAClBC,8BAA+B,CAAC,YAAa,WAAY,kBAAmB,gBAEpF"}
1
+ {"version":3,"file":"Affirm.js","sources":["../../../../src/components/Affirm/Affirm.tsx"],"sourcesContent":["import OpenInvoiceContainer from '../helpers/OpenInvoiceContainer';\nimport { ALLOWED_COUNTRIES } from './config';\nimport { TxVariants } from '../tx-variants';\n\nexport default class Affirm extends OpenInvoiceContainer {\n public static type = TxVariants.affirm;\n\n formatProps(props) {\n return {\n ...super.formatProps(props),\n allowedCountries: ALLOWED_COUNTRIES,\n personalDetailsRequiredFields: ['firstName', 'lastName', 'telephoneNumber', 'shopperEmail']\n };\n }\n}\n"],"names":["Affirm","OpenInvoiceContainer","formatProps","props","super","allowedCountries","ALLOWED_COUNTRIES","personalDetailsRequiredFields","type","TxVariants","affirm"],"mappings":"sKAIe,MAAMA,UAAeC,EAGhCC,WAAAA,CAAYC,GACR,MAAO,IACAC,MAAMF,YAAYC,GACrBE,iBAAkBC,EAClBC,8BAA+B,CAAC,YAAa,WAAY,kBAAmB,gBAEpF,cATiBP,IACHQ,SAAOC,EAAWC"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../external/preact/dist/preact.js";import t from"../helpers/OpenInvoiceContainer/OpenInvoiceContainer.js";import r from"../internal/ConsentCheckboxLabel/ConsentCheckboxLabel.js";import{ALLOWED_COUNTRIES as o,rivertyConsentUrlMap as a}from"./config.js";import{getConsentUrl as n}from"../../utils/getConsentUrl.js";import{TxVariants as s}from"../tx-variants.js";class i extends t{static type=s.afterpay_default;static txVariants=[s.afterpay_default,s.afterpay];formatProps(t){return{...super.formatProps(t),allowedCountries:t.countryCode?[t.countryCode]:o,consentCheckboxLabel:e(r,{url:n(t.countryCode,t.i18n?.locale,a)})}}}export{i as default};
1
+ import{createElement as e}from"../../external/preact/dist/preact.js";import r from"../helpers/OpenInvoiceContainer/OpenInvoiceContainer.js";import t from"../internal/ConsentCheckboxLabel/ConsentCheckboxLabel.js";import{ALLOWED_COUNTRIES as o,rivertyConsentUrlMap as n}from"./config.js";import{getConsentUrl as a}from"../../utils/getConsentUrl.js";import{TxVariants as s}from"../tx-variants.js";function i(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}class l extends r{formatProps(r){return{...super.formatProps(r),allowedCountries:r.countryCode?[r.countryCode]:o,consentCheckboxLabel:e(t,{url:a(r.countryCode,r.i18n?.locale,n)})}}}i(l,"type",s.afterpay_default),i(l,"txVariants",[s.afterpay_default,s.afterpay]);export{l as default};
2
2
  //# sourceMappingURL=AfterPay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AfterPay.js","sources":["../../../../src/components/AfterPay/AfterPay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport OpenInvoiceContainer from '../helpers/OpenInvoiceContainer';\nimport ConsentCheckboxLabel from '../internal/ConsentCheckboxLabel';\nimport { ALLOWED_COUNTRIES, rivertyConsentUrlMap } from './config';\nimport { getConsentUrl } from '../../utils/getConsentUrl';\nimport { TxVariants } from '../tx-variants';\n\nexport default class AfterPay extends OpenInvoiceContainer {\n public static type = TxVariants.afterpay_default;\n public static txVariants = [TxVariants.afterpay_default, TxVariants.afterpay];\n\n formatProps(props) {\n return {\n ...super.formatProps(props),\n allowedCountries: props.countryCode ? [props.countryCode] : ALLOWED_COUNTRIES,\n consentCheckboxLabel: <ConsentCheckboxLabel url={getConsentUrl(props.countryCode, props.i18n?.locale, rivertyConsentUrlMap)} />\n };\n }\n}\n"],"names":["AfterPay","OpenInvoiceContainer","static","TxVariants","afterpay_default","afterpay","formatProps","props","super","allowedCountries","countryCode","ALLOWED_COUNTRIES","consentCheckboxLabel","h","ConsentCheckboxLabel","url","getConsentUrl","i18n","locale","rivertyConsentUrlMap"],"mappings":"0YAOe,MAAMA,UAAiBC,EAClCC,YAAqBC,EAAWC,iBAChCF,kBAA2B,CAACC,EAAWC,iBAAkBD,EAAWE,UAEpEC,WAAAA,CAAYC,GACR,MAAO,IACAC,MAAMF,YAAYC,GACrBE,iBAAkBF,EAAMG,YAAc,CAACH,EAAMG,aAAeC,EAC5DC,qBAAsBC,EAACC,EAAAA,CAAqBC,IAAKC,EAAcT,EAAMG,YAAaH,EAAMU,MAAMC,OAAQC,KAE9G"}
1
+ {"version":3,"file":"AfterPay.js","sources":["../../../../src/components/AfterPay/AfterPay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport OpenInvoiceContainer from '../helpers/OpenInvoiceContainer';\nimport ConsentCheckboxLabel from '../internal/ConsentCheckboxLabel';\nimport { ALLOWED_COUNTRIES, rivertyConsentUrlMap } from './config';\nimport { getConsentUrl } from '../../utils/getConsentUrl';\nimport { TxVariants } from '../tx-variants';\n\nexport default class AfterPay extends OpenInvoiceContainer {\n public static type = TxVariants.afterpay_default;\n public static txVariants = [TxVariants.afterpay_default, TxVariants.afterpay];\n\n formatProps(props) {\n return {\n ...super.formatProps(props),\n allowedCountries: props.countryCode ? [props.countryCode] : ALLOWED_COUNTRIES,\n consentCheckboxLabel: <ConsentCheckboxLabel url={getConsentUrl(props.countryCode, props.i18n?.locale, rivertyConsentUrlMap)} />\n };\n }\n}\n"],"names":["AfterPay","OpenInvoiceContainer","formatProps","props","super","allowedCountries","countryCode","ALLOWED_COUNTRIES","consentCheckboxLabel","h","ConsentCheckboxLabel","url","getConsentUrl","i18n","locale","rivertyConsentUrlMap","_define_property","type","TxVariants","afterpay_default","txVariants","afterpay"],"mappings":"kgBAOe,MAAMA,UAAiBC,EAIlCC,WAAAA,CAAYC,GACR,MAAO,IACAC,MAAMF,YAAYC,GACrBE,iBAAkBF,EAAMG,YAAc,CAACH,EAAMG,aAAeC,EAC5DC,qBAAsBC,EAACC,EAAAA,CAAqBC,IAAKC,EAAcT,EAAMG,YAAaH,EAAMU,MAAMC,OAAQC,KAE9G,EATAC,EADiBhB,EACHiB,OAAOC,EAAWC,kBAChCH,EAFiBhB,EAEHoB,aAAa,CAACF,EAAWC,iBAAkBD,EAAWG"}
@@ -1,2 +1,2 @@
1
- import e from"../helpers/OpenInvoiceContainer/OpenInvoiceContainer.js";import{TxVariants as t}from"../tx-variants.js";import{ALLOWED_COUNTRIES as r}from"./config.js";class s extends e{static type=t.afterpay_b2b;static defaultProps={onChange:()=>{},data:{companyDetails:{},personalDetails:{},billingAddress:{},deliveryAddress:{}},visibility:{companyDetails:"editable",personalDetails:"editable",billingAddress:"editable",deliveryAddress:"editable"}};formatProps(e){return{...super.formatProps(e),allowedCountries:e.countryCode?[e.countryCode]:r}}}export{s as default};
1
+ import e from"../helpers/OpenInvoiceContainer/OpenInvoiceContainer.js";import{TxVariants as r}from"../tx-variants.js";import{ALLOWED_COUNTRIES as t}from"./config.js";function i(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}class a extends e{formatProps(e){return{...super.formatProps(e),allowedCountries:e.countryCode?[e.countryCode]:t}}}i(a,"type",r.afterpay_b2b),i(a,"defaultProps",{onChange:()=>{},data:{companyDetails:{},personalDetails:{},billingAddress:{},deliveryAddress:{}},visibility:{companyDetails:"editable",personalDetails:"editable",billingAddress:"editable",deliveryAddress:"editable"}});export{a as default};
2
2
  //# sourceMappingURL=AfterPayB2B.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AfterPayB2B.js","sources":["../../../../src/components/AfterPay/AfterPayB2B.tsx"],"sourcesContent":["import OpenInvoiceContainer from '../helpers/OpenInvoiceContainer';\nimport { TxVariants } from '../tx-variants';\nimport { OpenInvoiceConfiguration } from '../helpers/OpenInvoiceContainer/types';\nimport { ALLOWED_COUNTRIES } from './config';\n\nexport default class AfterPayB2B extends OpenInvoiceContainer {\n public static type = TxVariants.afterpay_b2b;\n\n protected static defaultProps: Partial<OpenInvoiceConfiguration> = {\n onChange: () => {},\n data: { companyDetails: {}, personalDetails: {}, billingAddress: {}, deliveryAddress: {} },\n visibility: {\n companyDetails: 'editable',\n personalDetails: 'editable',\n billingAddress: 'editable',\n deliveryAddress: 'editable'\n }\n };\n\n formatProps(props) {\n return {\n ...super.formatProps(props),\n allowedCountries: props.countryCode ? [props.countryCode] : ALLOWED_COUNTRIES\n };\n }\n}\n"],"names":["AfterPayB2B","OpenInvoiceContainer","static","TxVariants","afterpay_b2b","onChange","data","companyDetails","personalDetails","billingAddress","deliveryAddress","visibility","formatProps","props","super","allowedCountries","countryCode","ALLOWED_COUNTRIES"],"mappings":"sKAKe,MAAMA,UAAoBC,EACrCC,YAAqBC,EAAWC,aAEhCF,oBAAmE,CAC/DG,SAAU,OACVC,KAAM,CAAEC,eAAgB,CAAC,EAAGC,gBAAiB,CAAC,EAAGC,eAAgB,CAAC,EAAGC,gBAAiB,CAAC,GACvFC,WAAY,CACRJ,eAAgB,WAChBC,gBAAiB,WACjBC,eAAgB,WAChBC,gBAAiB,aAIzBE,WAAAA,CAAYC,GACR,MAAO,IACAC,MAAMF,YAAYC,GACrBE,iBAAkBF,EAAMG,YAAc,CAACH,EAAMG,aAAeC,EAEpE"}
1
+ {"version":3,"file":"AfterPayB2B.js","sources":["../../../../src/components/AfterPay/AfterPayB2B.tsx"],"sourcesContent":["import OpenInvoiceContainer from '../helpers/OpenInvoiceContainer';\nimport { TxVariants } from '../tx-variants';\nimport { OpenInvoiceConfiguration } from '../helpers/OpenInvoiceContainer/types';\nimport { ALLOWED_COUNTRIES } from './config';\n\nexport default class AfterPayB2B extends OpenInvoiceContainer {\n public static type = TxVariants.afterpay_b2b;\n\n protected static defaultProps: Partial<OpenInvoiceConfiguration> = {\n onChange: () => {},\n data: { companyDetails: {}, personalDetails: {}, billingAddress: {}, deliveryAddress: {} },\n visibility: {\n companyDetails: 'editable',\n personalDetails: 'editable',\n billingAddress: 'editable',\n deliveryAddress: 'editable'\n }\n };\n\n formatProps(props) {\n return {\n ...super.formatProps(props),\n allowedCountries: props.countryCode ? [props.countryCode] : ALLOWED_COUNTRIES\n };\n }\n}\n"],"names":["AfterPayB2B","OpenInvoiceContainer","formatProps","props","super","allowedCountries","countryCode","ALLOWED_COUNTRIES","_define_property","type","TxVariants","afterpay_b2b","defaultProps","onChange","data","companyDetails","personalDetails","billingAddress","deliveryAddress","visibility"],"mappings":"8RAKe,MAAMA,UAAoBC,EAcrCC,WAAAA,CAAYC,GACR,MAAO,IACAC,MAAMF,YAAYC,GACrBE,iBAAkBF,EAAMG,YAAc,CAACH,EAAMG,aAAeC,EAEpE,EAlBAC,EADiBR,EACHS,OAAOC,EAAWC,cAEhCH,EAHiBR,EAGAY,eAAkD,CAC/DC,SAAU,OACVC,KAAM,CAAEC,eAAgB,CAAC,EAAGC,gBAAiB,CAAC,EAAGC,eAAgB,CAAC,EAAGC,gBAAiB,CAAC,GACvFC,WAAY,CACRJ,eAAgB,WAChBC,gBAAiB,WACjBC,eAAgB,WAChBC,gBAAiB"}
@@ -1,2 +1,2 @@
1
- import{createElement as o}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import{CoreProvider as t}from"../../core/Context/CoreProvider.js";import r from"../../utils/browserInfo.js";import n from"./components/AmazonPayComponent.js";import s from"./defaultProps.js";import{getCheckoutDetails as i}from"./services.js";import{TxVariants as p}from"../tx-variants.js";import{sanitizeResponse as c,verifyPaymentDidNotFail as a}from"../internal/UIElement/utils.js";class l extends e{static type=p.amazonpay;static defaultProps=s;formatProps(o){return{...o,checkoutMode:o.isDropin?"ProcessOrder":o.checkoutMode,environment:o.environment.toUpperCase(),locale:o.locale.replace("-","_"),productType:o.isDropin&&!o.addressDetails?"PayOnly":o.productType}}formatData(){const{amazonCheckoutSessionId:o}=this.props;return{paymentMethod:{type:l.type,...o&&{checkoutSessionId:o}},browserInfo:this.browserInfo}}submitAnalytics(o){super.submitAnalytics({...o},this.props)}getShopperDetails(){const{amazonCheckoutSessionId:o,configuration:e={},loadingContext:t,clientKey:r}=this.props;if(!o)return console.error("Could not shopper details. Missing checkoutSessionId.");const n={checkoutSessionId:o,getDeliveryAddress:!0,publicKeyId:e.publicKeyId,region:e.region};return i(t,r,n)}handleDeclineFlow(){const{amazonCheckoutSessionId:o,configuration:e={},loadingContext:t,clientKey:r}=this.props;if(!o)return console.error("Could handle the decline flow. Missing checkoutSessionId.");const n={checkoutSessionId:o,getDeclineFlowUrl:!0,publicKeyId:e.publicKeyId,region:e.region};i(t,r,n).then(((o={})=>{if(!o?.declineFlowUrl)throw o;window.location.assign(o.declineFlowUrl)})).catch((o=>{this.props.onError&&this.props.onError(o,this.componentRef)}))}get isValid(){return!0}get browserInfo(){return r()}submit(){const o=this.componentRef&&this.componentRef.getSubmitFunction();if(o)return o();this.makePaymentsCall().then(c).then(a).then(this.handleResponse).catch(this.handleFailedResult)}render(){return o(t,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},o(n,{ref:o=>{this.componentRef=o},showPayButton:this.props.showPayButton,onClick:this.props.onClick,onError:this.props.onError,onSignOut:this.props.onSignOut,...this.props}))}}export{l as AmazonPayElement,l as default};
1
+ import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as o}from"../internal/UIElement/UIElement.js";import{CoreProvider as t}from"../../core/Context/CoreProvider.js";import r from"../../utils/browserInfo.js";import n from"./components/AmazonPayComponent.js";import s from"./defaultProps.js";import{getCheckoutDetails as i}from"./services.js";import{TxVariants as p}from"../tx-variants.js";import{sanitizeResponse as c,verifyPaymentDidNotFail as l}from"../internal/UIElement/utils.js";function a(e,o,t){return o in e?Object.defineProperty(e,o,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[o]=t,e}class u extends o{formatProps(e){return{...e,checkoutMode:e.isDropin?"ProcessOrder":e.checkoutMode,environment:e.environment.toUpperCase(),locale:e.locale.replace("-","_"),productType:e.isDropin&&!e.addressDetails?"PayOnly":e.productType}}formatData(){const{amazonCheckoutSessionId:e}=this.props;return{paymentMethod:{type:u.type,...e&&{checkoutSessionId:e}},browserInfo:this.browserInfo}}submitAnalytics(e){super.submitAnalytics({...e},this.props)}getShopperDetails(){const{amazonCheckoutSessionId:e,configuration:o={},loadingContext:t,clientKey:r}=this.props;if(!e)return console.error("Could not shopper details. Missing checkoutSessionId.");const n={checkoutSessionId:e,getDeliveryAddress:!0,publicKeyId:o.publicKeyId,region:o.region};return i(t,r,n)}handleDeclineFlow(){const{amazonCheckoutSessionId:e,configuration:o={},loadingContext:t,clientKey:r}=this.props;if(!e)return console.error("Could handle the decline flow. Missing checkoutSessionId.");const n={checkoutSessionId:e,getDeclineFlowUrl:!0,publicKeyId:o.publicKeyId,region:o.region};i(t,r,n).then(((e={})=>{if(!e?.declineFlowUrl)throw e;window.location.assign(e.declineFlowUrl)})).catch((e=>{this.props.onError&&this.props.onError(e,this.componentRef)}))}get isValid(){return!0}get browserInfo(){return r()}submit(){const e=this.componentRef&&this.componentRef.getSubmitFunction();if(e)return e();this.makePaymentsCall().then(c).then(l).then(this.handleResponse).catch(this.handleFailedResult)}render(){return e(t,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},e(n,{ref:e=>{this.componentRef=e},showPayButton:this.props.showPayButton,onClick:this.props.onClick,onError:this.props.onError,onSignOut:this.props.onSignOut,...this.props}))}}a(u,"type",p.amazonpay),a(u,"defaultProps",s);export{u as AmazonPayElement,u as default};
2
2
  //# sourceMappingURL=AmazonPay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AmazonPay.js","sources":["../../../../src/components/AmazonPay/AmazonPay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport AmazonPayComponent from './components/AmazonPayComponent';\nimport { AmazonPayElementData, AmazonPayConfiguration, CheckoutDetailsRequest } from './types';\nimport defaultProps from './defaultProps';\nimport { getCheckoutDetails } from './services';\nimport './AmazonPay.scss';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\n\nexport class AmazonPayElement extends UIElement<AmazonPayConfiguration> {\n public static type = TxVariants.amazonpay;\n\n protected static defaultProps = defaultProps;\n\n formatProps(props) {\n return {\n ...props,\n checkoutMode: props.isDropin ? 'ProcessOrder' : props.checkoutMode,\n environment: props.environment.toUpperCase(),\n locale: props.locale.replace('-', '_'),\n productType: props.isDropin && !props.addressDetails ? 'PayOnly' : props.productType\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): AmazonPayElementData {\n const { amazonCheckoutSessionId: checkoutSessionId } = this.props;\n return {\n paymentMethod: {\n type: AmazonPayElement.type,\n ...(checkoutSessionId && { checkoutSessionId })\n },\n browserInfo: this.browserInfo\n };\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n super.submitAnalytics({ ...analyticsObj }, this.props);\n }\n\n getShopperDetails() {\n const { amazonCheckoutSessionId, configuration = {}, loadingContext, clientKey } = this.props;\n if (!amazonCheckoutSessionId) return console.error('Could not shopper details. Missing checkoutSessionId.');\n\n const request: CheckoutDetailsRequest = {\n checkoutSessionId: amazonCheckoutSessionId,\n getDeliveryAddress: true,\n publicKeyId: configuration.publicKeyId,\n region: configuration.region\n };\n\n return getCheckoutDetails(loadingContext, clientKey, request);\n }\n\n public handleDeclineFlow() {\n const { amazonCheckoutSessionId, configuration = {}, loadingContext, clientKey } = this.props;\n if (!amazonCheckoutSessionId) return console.error('Could handle the decline flow. Missing checkoutSessionId.');\n\n const request: CheckoutDetailsRequest = {\n checkoutSessionId: amazonCheckoutSessionId,\n getDeclineFlowUrl: true,\n publicKeyId: configuration.publicKeyId,\n region: configuration.region\n };\n\n getCheckoutDetails(loadingContext, clientKey, request)\n .then((response = {}) => {\n if (!response?.declineFlowUrl) throw response;\n window.location.assign(response.declineFlowUrl);\n })\n .catch(error => {\n if (this.props.onError) this.props.onError(error, this.componentRef);\n });\n }\n\n get isValid() {\n return true;\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n public submit(): void {\n const amazonComponentSubmit = this.componentRef && this.componentRef.getSubmitFunction();\n if (amazonComponentSubmit) {\n return amazonComponentSubmit();\n }\n this.makePaymentsCall().then(sanitizeResponse).then(verifyPaymentDidNotFail).then(this.handleResponse).catch(this.handleFailedResult);\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <AmazonPayComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n showPayButton={this.props.showPayButton}\n onClick={this.props.onClick}\n onError={this.props.onError}\n onSignOut={this.props.onSignOut}\n {...this.props}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default AmazonPayElement;\n"],"names":["AmazonPayElement","UIElement","static","TxVariants","amazonpay","defaultProps","formatProps","props","checkoutMode","isDropin","environment","toUpperCase","locale","replace","productType","addressDetails","formatData","amazonCheckoutSessionId","checkoutSessionId","this","paymentMethod","type","browserInfo","submitAnalytics","analyticsObj","super","getShopperDetails","configuration","loadingContext","clientKey","console","error","request","getDeliveryAddress","publicKeyId","region","getCheckoutDetails","handleDeclineFlow","getDeclineFlowUrl","then","response","declineFlowUrl","window","location","assign","catch","onError","componentRef","isValid","collectBrowserInfo","submit","amazonComponentSubmit","getSubmitFunction","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","handleResponse","handleFailedResult","render","h","CoreProvider","i18n","resources","AmazonPayComponent","ref","showPayButton","onClick","onSignOut"],"mappings":"ogBAaO,MAAMA,UAAyBC,EAClCC,YAAqBC,EAAWC,UAEhCF,oBAAgCG,EAEhCC,WAAAA,CAAYC,GACR,MAAO,IACAA,EACHC,aAAcD,EAAME,SAAW,eAAiBF,EAAMC,aACtDE,YAAaH,EAAMG,YAAYC,cAC/BC,OAAQL,EAAMK,OAAOC,QAAQ,IAAK,KAClCC,YAAaP,EAAME,WAAaF,EAAMQ,eAAiB,UAAYR,EAAMO,YAEjF,CAKAE,UAAAA,GACI,MAAQC,wBAAyBC,GAAsBC,KAAKZ,MAC5D,MAAO,CACHa,cAAe,CACXC,KAAMrB,EAAiBqB,QACnBH,GAAqB,CAAEA,sBAE/BI,YAAaH,KAAKG,YAE1B,CAEUC,eAAAA,CAAgBC,GAEtBC,MAAMF,gBAAgB,IAAKC,GAAgBL,KAAKZ,MACpD,CAEAmB,iBAAAA,GACI,MAAMT,wBAAEA,EAAuBU,cAAEA,EAAgB,CAAE,EAAAC,eAAEA,EAAcC,UAAEA,GAAcV,KAAKZ,MACxF,IAAKU,EAAyB,OAAOa,QAAQC,MAAM,yDAEnD,MAAMC,EAAkC,CACpCd,kBAAmBD,EACnBgB,oBAAoB,EACpBC,YAAaP,EAAcO,YAC3BC,OAAQR,EAAcQ,QAG1B,OAAOC,EAAmBR,EAAgBC,EAAWG,EACzD,CAEOK,iBAAAA,GACH,MAAMpB,wBAAEA,EAAuBU,cAAEA,EAAgB,CAAE,EAAAC,eAAEA,EAAcC,UAAEA,GAAcV,KAAKZ,MACxF,IAAKU,EAAyB,OAAOa,QAAQC,MAAM,6DAEnD,MAAMC,EAAkC,CACpCd,kBAAmBD,EACnBqB,mBAAmB,EACnBJ,YAAaP,EAAcO,YAC3BC,OAAQR,EAAcQ,QAG1BC,EAAmBR,EAAgBC,EAAWG,GACzCO,MAAK,CAACC,EAAW,MACd,IAAKA,GAAUC,eAAgB,MAAMD,EACrCE,OAAOC,SAASC,OAAOJ,EAASC,eAAc,IAEjDI,OAAMd,IACCZ,KAAKZ,MAAMuC,SAAS3B,KAAKZ,MAAMuC,QAAQf,EAAOZ,KAAK4B,aAAY,GAE/E,CAEA,WAAIC,GACA,OAAO,CACX,CAEA,eAAI1B,GACA,OAAO2B,GACX,CAEOC,MAAAA,GACH,MAAMC,EAAwBhC,KAAK4B,cAAgB5B,KAAK4B,aAAaK,oBACrE,GAAID,EACA,OAAOA,IAEXhC,KAAKkC,mBAAmBd,KAAKe,GAAkBf,KAAKgB,GAAyBhB,KAAKpB,KAAKqC,gBAAgBX,MAAM1B,KAAKsC,mBACtH,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAM1C,KAAKZ,MAAMsD,KAAMjC,eAAgBT,KAAKZ,MAAMqB,eAAgBkC,UAAW3C,KAAK2C,WAC5FH,EAACI,EAAAA,CACGC,IAAKA,IACD7C,KAAK4B,aAAeiB,CAAAA,EAExBC,cAAe9C,KAAKZ,MAAM0D,cAC1BC,QAAS/C,KAAKZ,MAAM2D,QACpBpB,QAAS3B,KAAKZ,MAAMuC,QACpBqB,UAAWhD,KAAKZ,MAAM4D,aAClBhD,KAAKZ,QAIzB"}
1
+ {"version":3,"file":"AmazonPay.js","sources":["../../../../src/components/AmazonPay/AmazonPay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport AmazonPayComponent from './components/AmazonPayComponent';\nimport { AmazonPayElementData, AmazonPayConfiguration, CheckoutDetailsRequest } from './types';\nimport defaultProps from './defaultProps';\nimport { getCheckoutDetails } from './services';\nimport './AmazonPay.scss';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\n\nexport class AmazonPayElement extends UIElement<AmazonPayConfiguration> {\n public static type = TxVariants.amazonpay;\n\n protected static defaultProps = defaultProps;\n\n formatProps(props) {\n return {\n ...props,\n checkoutMode: props.isDropin ? 'ProcessOrder' : props.checkoutMode,\n environment: props.environment.toUpperCase(),\n locale: props.locale.replace('-', '_'),\n productType: props.isDropin && !props.addressDetails ? 'PayOnly' : props.productType\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): AmazonPayElementData {\n const { amazonCheckoutSessionId: checkoutSessionId } = this.props;\n return {\n paymentMethod: {\n type: AmazonPayElement.type,\n ...(checkoutSessionId && { checkoutSessionId })\n },\n browserInfo: this.browserInfo\n };\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n super.submitAnalytics({ ...analyticsObj }, this.props);\n }\n\n getShopperDetails() {\n const { amazonCheckoutSessionId, configuration = {}, loadingContext, clientKey } = this.props;\n if (!amazonCheckoutSessionId) return console.error('Could not shopper details. Missing checkoutSessionId.');\n\n const request: CheckoutDetailsRequest = {\n checkoutSessionId: amazonCheckoutSessionId,\n getDeliveryAddress: true,\n publicKeyId: configuration.publicKeyId,\n region: configuration.region\n };\n\n return getCheckoutDetails(loadingContext, clientKey, request);\n }\n\n public handleDeclineFlow() {\n const { amazonCheckoutSessionId, configuration = {}, loadingContext, clientKey } = this.props;\n if (!amazonCheckoutSessionId) return console.error('Could handle the decline flow. Missing checkoutSessionId.');\n\n const request: CheckoutDetailsRequest = {\n checkoutSessionId: amazonCheckoutSessionId,\n getDeclineFlowUrl: true,\n publicKeyId: configuration.publicKeyId,\n region: configuration.region\n };\n\n getCheckoutDetails(loadingContext, clientKey, request)\n .then((response = {}) => {\n if (!response?.declineFlowUrl) throw response;\n window.location.assign(response.declineFlowUrl);\n })\n .catch(error => {\n if (this.props.onError) this.props.onError(error, this.componentRef);\n });\n }\n\n get isValid() {\n return true;\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n public submit(): void {\n const amazonComponentSubmit = this.componentRef && this.componentRef.getSubmitFunction();\n if (amazonComponentSubmit) {\n return amazonComponentSubmit();\n }\n this.makePaymentsCall().then(sanitizeResponse).then(verifyPaymentDidNotFail).then(this.handleResponse).catch(this.handleFailedResult);\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <AmazonPayComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n showPayButton={this.props.showPayButton}\n onClick={this.props.onClick}\n onError={this.props.onError}\n onSignOut={this.props.onSignOut}\n {...this.props}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default AmazonPayElement;\n"],"names":["AmazonPayElement","UIElement","formatProps","props","checkoutMode","isDropin","environment","toUpperCase","locale","replace","productType","addressDetails","formatData","amazonCheckoutSessionId","checkoutSessionId","this","paymentMethod","type","browserInfo","submitAnalytics","analyticsObj","super","getShopperDetails","configuration","loadingContext","clientKey","console","error","request","getDeliveryAddress","publicKeyId","region","getCheckoutDetails","handleDeclineFlow","getDeclineFlowUrl","then","response","declineFlowUrl","window","location","assign","catch","onError","componentRef","isValid","collectBrowserInfo","submit","amazonComponentSubmit","getSubmitFunction","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","handleResponse","handleFailedResult","render","h","CoreProvider","i18n","resources","AmazonPayComponent","ref","showPayButton","onClick","onSignOut","_define_property","TxVariants","amazonpay","defaultProps"],"mappings":"4nBAaO,MAAMA,UAAyBC,EAKlCC,WAAAA,CAAYC,GACR,MAAO,IACAA,EACHC,aAAcD,EAAME,SAAW,eAAiBF,EAAMC,aACtDE,YAAaH,EAAMG,YAAYC,cAC/BC,OAAQL,EAAMK,OAAOC,QAAQ,IAAK,KAClCC,YAAaP,EAAME,WAAaF,EAAMQ,eAAiB,UAAYR,EAAMO,YAEjF,CAKAE,UAAAA,GACI,MAAQC,wBAAyBC,GAAsBC,KAAKZ,MAC5D,MAAO,CACHa,cAAe,CACXC,KAAMjB,EAAiBiB,QACnBH,GAAqB,CAAEA,sBAE/BI,YAAaH,KAAKG,YAE1B,CAEUC,eAAAA,CAAgBC,GAEtBC,MAAMF,gBAAgB,IAAKC,GAAgBL,KAAKZ,MACpD,CAEAmB,iBAAAA,GACI,MAAMT,wBAAEA,EAAuBU,cAAEA,EAAgB,CAAE,EAAAC,eAAEA,EAAcC,UAAEA,GAAcV,KAAKZ,MACxF,IAAKU,EAAyB,OAAOa,QAAQC,MAAM,yDAEnD,MAAMC,EAAkC,CACpCd,kBAAmBD,EACnBgB,oBAAoB,EACpBC,YAAaP,EAAcO,YAC3BC,OAAQR,EAAcQ,QAG1B,OAAOC,EAAmBR,EAAgBC,EAAWG,EACzD,CAEOK,iBAAAA,GACH,MAAMpB,wBAAEA,EAAuBU,cAAEA,EAAgB,CAAE,EAAAC,eAAEA,EAAcC,UAAEA,GAAcV,KAAKZ,MACxF,IAAKU,EAAyB,OAAOa,QAAQC,MAAM,6DAEnD,MAAMC,EAAkC,CACpCd,kBAAmBD,EACnBqB,mBAAmB,EACnBJ,YAAaP,EAAcO,YAC3BC,OAAQR,EAAcQ,QAG1BC,EAAmBR,EAAgBC,EAAWG,GACzCO,MAAK,CAACC,EAAW,MACd,IAAKA,GAAUC,eAAgB,MAAMD,EACrCE,OAAOC,SAASC,OAAOJ,EAASC,eAAc,IAEjDI,OAAMd,IACCZ,KAAKZ,MAAMuC,SAAS3B,KAAKZ,MAAMuC,QAAQf,EAAOZ,KAAK4B,aAAY,GAE/E,CAEA,WAAIC,GACA,OAAO,CACX,CAEA,eAAI1B,GACA,OAAO2B,GACX,CAEOC,MAAAA,GACH,MAAMC,EAAwBhC,KAAK4B,cAAgB5B,KAAK4B,aAAaK,oBACrE,GAAID,EACA,OAAOA,IAEXhC,KAAKkC,mBAAmBd,KAAKe,GAAkBf,KAAKgB,GAAyBhB,KAAKpB,KAAKqC,gBAAgBX,MAAM1B,KAAKsC,mBACtH,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAM1C,KAAKZ,MAAMsD,KAAMjC,eAAgBT,KAAKZ,MAAMqB,eAAgBkC,UAAW3C,KAAK2C,WAC5FH,EAACI,EAAAA,CACGC,IAAKA,IACD7C,KAAK4B,aAAeiB,CAAAA,EAExBC,cAAe9C,KAAKZ,MAAM0D,cAC1BC,QAAS/C,KAAKZ,MAAM2D,QACpBpB,QAAS3B,KAAKZ,MAAMuC,QACpBqB,UAAWhD,KAAKZ,MAAM4D,aAClBhD,KAAKZ,QAIzB,EAnGA6D,EADShE,EACKiB,OAAOgD,EAAWC,WAEhCF,EAHShE,EAGQmE,eAAeA"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import s from"./components/ApplePayButton.js";import r from"./ApplePayService.js";import n from"../../utils/base64.js";import i from"./defaultProps.js";import{httpPost as o}from"../../core/Services/http.js";import{APPLEPAY_SESSION_ENDPOINT as a}from"./config.js";import{preparePaymentRequest as p}from"./payment-request.js";import{resolveSupportedVersion as l,mapBrands as c,formatApplePayContactToAdyenAddressFormat as d}from"./utils.js";import h from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as m}from"../tx-variants.js";import{sanitizeResponse as u,verifyPaymentDidNotFail as y}from"../internal/UIElement/utils.js";import{ANALYTICS_SELECTED_STR as A,ANALYTICS_INSTANT_PAYMENT_BUTTON as P}from"../../core/Analytics/constants.js";class S extends t{static type=m.applepay;static defaultProps=i;constructor(e,t){super(e,t);const{isExpress:s,onShippingContactSelected:r,onShippingMethodSelected:n}=this.props;if(!1===s&&(r||n))throw new h("IMPLEMENTATION_ERROR",'ApplePay - You must set "isExpress" flag to "true" in order to use "onShippingContactSelected" and/or "onShippingMethodSelected" callbacks');this.startSession=this.startSession.bind(this),this.submit=this.submit.bind(this),this.validateMerchant=this.validateMerchant.bind(this),this.collectOrderTrackingDetailsIfNeeded=this.collectOrderTrackingDetailsIfNeeded.bind(this),this.handleAuthorization=this.handleAuthorization.bind(this)}formatProps(e){const t=e.version||l(14),s=e.brands?.length?c(e.brands):e.supportedNetworks;return{...e,configuration:e.configuration,supportedNetworks:s,version:t,totalPriceLabel:e.totalPriceLabel||e.configuration?.merchantName}}formatData(){const{applePayToken:e,billingAddress:t,deliveryAddress:s}=this.state,{isExpress:r}=this.props;return{paymentMethod:{type:S.type,applePayToken:e,...r&&{subtype:"express"}},...t&&{billingAddress:t},...s&&{deliveryAddress:s}}}submitAnalytics(e){super.submitAnalytics({...e},this.props)}submit=()=>{this.props.isInstantPayment&&this.submitAnalytics({type:A,target:P}),this.startSession()};startSession(){const{version:e,onValidateMerchant:t,onPaymentMethodSelected:s,onShippingMethodSelected:n,onShippingContactSelected:i}=this.props,o=p({companyName:this.props.configuration.merchantName,countryCode:this.core.options.countryCode,...this.props}),a=new r(o,{version:e,onError:e=>{this.handleError(new h("ERROR","ApplePay - Something went wrong on ApplePayService",{cause:e}))},onCancel:e=>{this.handleError(new h("CANCEL","ApplePay UI dismissed",{cause:e}))},onPaymentMethodSelected:s,onShippingMethodSelected:n,onShippingContactSelected:i,onValidateMerchant:t||this.validateMerchant,onPaymentAuthorized:(e,t,s)=>{const r=d(s.payment.billingContact),n=d(s.payment.shippingContact,!0);this.setState({applePayToken:btoa(JSON.stringify(s.payment.token.paymentData)),authorizedEvent:s,...r&&{billingAddress:r},...n&&{deliveryAddress:n}}),this.handleAuthorization().then(this.makePaymentsCall).then(u).then(y).then(this.collectOrderTrackingDetailsIfNeeded).then((({paymentResponse:t,orderDetails:s})=>(e({status:ApplePaySession.STATUS_SUCCESS,...s&&{orderDetails:s}}),t))).then((e=>{this.handleResponse(e)})).catch((e=>{const s=e?.error?.applePayError;t({status:ApplePaySession.STATUS_FAILURE,errors:s?Array.isArray(s)?s:[s]:void 0});const r={...e,error:{applePayError:s}};this.handleFailedResult(r)}))}});return new Promise(((e,t)=>this.props.onClick(e,t))).then((()=>{a.begin()})).catch((()=>({})))}async handleAuthorization(){return new Promise(((e,t)=>{this.props.onAuthorized||e();const{authorizedEvent:s,billingAddress:r,deliveryAddress:n}=this.state;this.props.onAuthorized({authorizedEvent:s,...r&&{billingAddress:r},...n&&{deliveryAddress:n}},{resolve:e,reject:t})})).catch((e=>{const t={error:{applePayError:e}};return Promise.reject(t)}))}async collectOrderTrackingDetailsIfNeeded(e){return new Promise(((e,t)=>{if(!this.props.onOrderTrackingRequest)return e();this.props.onOrderTrackingRequest(e,t)})).then((t=>({paymentResponse:e,...t&&{orderDetails:t}}))).catch((()=>({paymentResponse:e})))}async validateMerchant(e,t){const{hostname:s}=window.location,{clientKey:r,configuration:i,loadingContext:p,initiative:l}=this.props,{merchantName:c,merchantId:d}=i,h={loadingContext:p,path:`${a}?clientKey=${r}`},m={displayName:c,domainName:s,initiative:l,merchantIdentifier:d};try{const s=await o(h,m),r=n.decode(s.data);if(r.success){e(JSON.parse(r.data))}else t("Could not decode Apple Pay session")}catch(e){t("Could not get Apple Pay session")}}get isValid(){return!0}async isAvailable(){if("https:"!==document.location.protocol)return Promise.reject(new h("IMPLEMENTATION_ERROR","Trying to start an Apple Pay session from an insecure document"));if(!this.props.onValidateMerchant&&!this.props.clientKey)return Promise.reject(new h("IMPLEMENTATION_ERROR","clientKey was not provided"));try{if(window.ApplePaySession&&ApplePaySession.canMakePayments()&&ApplePaySession.supportsVersion(this.props.version))return Promise.resolve()}catch(e){console.warn(e)}return Promise.reject(new h("ERROR","Apple Pay is not available on this device"))}render(){return this.props.showPayButton?e(s,{i18n:this.props.i18n,buttonColor:this.props.buttonColor,buttonType:this.props.buttonType,onClick:e=>{e.preventDefault(),this.submit()}}):null}}export{S as default};
1
+ import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import s from"./components/ApplePayButton.js";import r from"./ApplePayService.js";import n from"../../utils/base64.js";import i from"./defaultProps.js";import{httpPost as o}from"../../core/Services/http.js";import{APPLEPAY_SESSION_ENDPOINT as a}from"./config.js";import{preparePaymentRequest as p}from"./payment-request.js";import{resolveSupportedVersion as l,mapBrands as c,formatApplePayContactToAdyenAddressFormat as d}from"./utils.js";import h from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as m}from"../tx-variants.js";import{sanitizeResponse as u,verifyPaymentDidNotFail as y}from"../internal/UIElement/utils.js";import{ANALYTICS_SELECTED_STR as A,ANALYTICS_INSTANT_PAYMENT_BUTTON as P}from"../../core/Analytics/constants.js";function f(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class S extends t{formatProps(e){const t=e.version||l(14),s=e.brands?.length?c(e.brands):e.supportedNetworks;return{...e,configuration:e.configuration,supportedNetworks:s,version:t,totalPriceLabel:e.totalPriceLabel||e.configuration?.merchantName}}formatData(){const{applePayToken:e,billingAddress:t,deliveryAddress:s}=this.state,{isExpress:r}=this.props;return{paymentMethod:{type:S.type,applePayToken:e,...r&&{subtype:"express"}},...t&&{billingAddress:t},...s&&{deliveryAddress:s}}}submitAnalytics(e){super.submitAnalytics({...e},this.props)}startSession(){const{version:e,onValidateMerchant:t,onPaymentMethodSelected:s,onShippingMethodSelected:n,onShippingContactSelected:i}=this.props,o=p({companyName:this.props.configuration.merchantName,countryCode:this.core.options.countryCode,...this.props}),a=new r(o,{version:e,onError:e=>{this.handleError(new h("ERROR","ApplePay - Something went wrong on ApplePayService",{cause:e}))},onCancel:e=>{this.handleError(new h("CANCEL","ApplePay UI dismissed",{cause:e}))},onPaymentMethodSelected:s,onShippingMethodSelected:n,onShippingContactSelected:i,onValidateMerchant:t||this.validateMerchant,onPaymentAuthorized:(e,t,s)=>{const r=d(s.payment.billingContact),n=d(s.payment.shippingContact,!0);this.setState({applePayToken:btoa(JSON.stringify(s.payment.token.paymentData)),authorizedEvent:s,...r&&{billingAddress:r},...n&&{deliveryAddress:n}}),this.handleAuthorization().then(this.makePaymentsCall).then(u).then(y).then(this.collectOrderTrackingDetailsIfNeeded).then((({paymentResponse:t,orderDetails:s})=>(e({status:ApplePaySession.STATUS_SUCCESS,...s&&{orderDetails:s}}),t))).then((e=>{this.handleResponse(e)})).catch((e=>{const s=e?.error?.applePayError;t({status:ApplePaySession.STATUS_FAILURE,errors:s?Array.isArray(s)?s:[s]:void 0});const r={...e,error:{applePayError:s}};this.handleFailedResult(r)}))}});return new Promise(((e,t)=>this.props.onClick(e,t))).then((()=>{a.begin()})).catch((()=>({})))}async handleAuthorization(){return new Promise(((e,t)=>{this.props.onAuthorized||e();const{authorizedEvent:s,billingAddress:r,deliveryAddress:n}=this.state;this.props.onAuthorized({authorizedEvent:s,...r&&{billingAddress:r},...n&&{deliveryAddress:n}},{resolve:e,reject:t})})).catch((e=>{const t={error:{applePayError:e}};return Promise.reject(t)}))}async collectOrderTrackingDetailsIfNeeded(e){return new Promise(((e,t)=>{if(!this.props.onOrderTrackingRequest)return e();this.props.onOrderTrackingRequest(e,t)})).then((t=>({paymentResponse:e,...t&&{orderDetails:t}}))).catch((()=>({paymentResponse:e})))}async validateMerchant(e,t){const{hostname:s}=window.location,{clientKey:r,configuration:i,loadingContext:p,initiative:l}=this.props,{merchantName:c,merchantId:d}=i,h={loadingContext:p,path:`${a}?clientKey=${r}`},m={displayName:c,domainName:s,initiative:l,merchantIdentifier:d};try{const s=await o(h,m),r=n.decode(s.data);if(r.success){e(JSON.parse(r.data))}else t("Could not decode Apple Pay session")}catch(e){t("Could not get Apple Pay session")}}get isValid(){return!0}async isAvailable(){if("https:"!==document.location.protocol)return Promise.reject(new h("IMPLEMENTATION_ERROR","Trying to start an Apple Pay session from an insecure document"));if(!this.props.onValidateMerchant&&!this.props.clientKey)return Promise.reject(new h("IMPLEMENTATION_ERROR","clientKey was not provided"));try{if(window.ApplePaySession&&ApplePaySession.canMakePayments()&&ApplePaySession.supportsVersion(this.props.version))return Promise.resolve()}catch(e){console.warn(e)}return Promise.reject(new h("ERROR","Apple Pay is not available on this device"))}render(){return this.props.showPayButton?e(s,{i18n:this.props.i18n,buttonColor:this.props.buttonColor,buttonType:this.props.buttonType,onClick:e=>{e.preventDefault(),this.submit()}}):null}constructor(e,t){super(e,t),f(this,"submit",(()=>{this.props.isInstantPayment&&this.submitAnalytics({type:A,target:P}),this.startSession()}));const{isExpress:s,onShippingContactSelected:r,onShippingMethodSelected:n}=this.props;if(!1===s&&(r||n))throw new h("IMPLEMENTATION_ERROR",'ApplePay - You must set "isExpress" flag to "true" in order to use "onShippingContactSelected" and/or "onShippingMethodSelected" callbacks');this.startSession=this.startSession.bind(this),this.submit=this.submit.bind(this),this.validateMerchant=this.validateMerchant.bind(this),this.collectOrderTrackingDetailsIfNeeded=this.collectOrderTrackingDetailsIfNeeded.bind(this),this.handleAuthorization=this.handleAuthorization.bind(this)}}f(S,"type",m.applepay),f(S,"defaultProps",i);export{S as default};
2
2
  //# sourceMappingURL=ApplePay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApplePay.js","sources":["../../../../src/components/ApplePay/ApplePay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport ApplePayButton from './components/ApplePayButton';\nimport ApplePayService from './ApplePayService';\nimport base64 from '../../utils/base64';\nimport defaultProps from './defaultProps';\nimport { httpPost } from '../../core/Services/http';\nimport { APPLEPAY_SESSION_ENDPOINT } from './config';\nimport { preparePaymentRequest } from './payment-request';\nimport { resolveSupportedVersion, mapBrands, formatApplePayContactToAdyenAddressFormat } from './utils';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { DecodeObject } from '../../types/global-types';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { ANALYTICS_INSTANT_PAYMENT_BUTTON, ANALYTICS_SELECTED_STR } from '../../core/Analytics/constants';\n\nimport type { ApplePayConfiguration, ApplePayElementData, ApplePayPaymentOrderDetails, ApplePaySessionRequest } from './types';\nimport type { ICore } from '../../core/types';\nimport type { PaymentResponseData, RawPaymentResponse } from '../../types/global-types';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\n\nconst latestSupportedVersion = 14;\n\nclass ApplePayElement extends UIElement<ApplePayConfiguration> {\n public static type = TxVariants.applepay;\n protected static defaultProps = defaultProps;\n\n constructor(checkout: ICore, props?: ApplePayConfiguration) {\n super(checkout, props);\n\n const { isExpress, onShippingContactSelected, onShippingMethodSelected } = this.props;\n\n if (isExpress === false && (onShippingContactSelected || onShippingMethodSelected)) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'ApplePay - You must set \"isExpress\" flag to \"true\" in order to use \"onShippingContactSelected\" and/or \"onShippingMethodSelected\" callbacks'\n );\n }\n\n this.startSession = this.startSession.bind(this);\n this.submit = this.submit.bind(this);\n this.validateMerchant = this.validateMerchant.bind(this);\n this.collectOrderTrackingDetailsIfNeeded = this.collectOrderTrackingDetailsIfNeeded.bind(this);\n this.handleAuthorization = this.handleAuthorization.bind(this);\n }\n\n /**\n * Formats the component props\n */\n protected override formatProps(props) {\n const version = props.version || resolveSupportedVersion(latestSupportedVersion);\n const supportedNetworks = props.brands?.length ? mapBrands(props.brands) : props.supportedNetworks;\n\n return {\n ...props,\n configuration: props.configuration,\n supportedNetworks,\n version,\n totalPriceLabel: props.totalPriceLabel || props.configuration?.merchantName\n };\n }\n\n /**\n * Formats the component data output\n */\n protected override formatData(): ApplePayElementData {\n const { applePayToken, billingAddress, deliveryAddress } = this.state;\n const { isExpress } = this.props;\n\n return {\n paymentMethod: {\n type: ApplePayElement.type,\n applePayToken,\n ...(isExpress && { subtype: 'express' })\n },\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n };\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n super.submitAnalytics({ ...analyticsObj }, this.props);\n }\n\n public override submit = (): void => {\n // Analytics\n if (this.props.isInstantPayment) {\n this.submitAnalytics({ type: ANALYTICS_SELECTED_STR, target: ANALYTICS_INSTANT_PAYMENT_BUTTON });\n }\n void this.startSession();\n };\n\n private startSession() {\n const { version, onValidateMerchant, onPaymentMethodSelected, onShippingMethodSelected, onShippingContactSelected } = this.props;\n\n const paymentRequest = preparePaymentRequest({\n companyName: this.props.configuration.merchantName,\n countryCode: this.core.options.countryCode,\n ...this.props\n });\n\n const session = new ApplePayService(paymentRequest, {\n version,\n onError: (error: unknown) => {\n this.handleError(\n new AdyenCheckoutError('ERROR', 'ApplePay - Something went wrong on ApplePayService', {\n cause: error\n })\n );\n },\n onCancel: event => {\n this.handleError(new AdyenCheckoutError('CANCEL', 'ApplePay UI dismissed', { cause: event }));\n },\n onPaymentMethodSelected,\n onShippingMethodSelected,\n onShippingContactSelected,\n onValidateMerchant: onValidateMerchant || this.validateMerchant,\n onPaymentAuthorized: (resolve, reject, event) => {\n const billingAddress = formatApplePayContactToAdyenAddressFormat(event.payment.billingContact);\n const deliveryAddress = formatApplePayContactToAdyenAddressFormat(event.payment.shippingContact, true);\n\n this.setState({\n applePayToken: btoa(JSON.stringify(event.payment.token.paymentData)),\n authorizedEvent: event,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n this.handleAuthorization()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then(this.collectOrderTrackingDetailsIfNeeded)\n .then(({ paymentResponse, orderDetails }) => {\n resolve({\n status: ApplePaySession.STATUS_SUCCESS,\n ...(orderDetails && { orderDetails })\n });\n return paymentResponse;\n })\n .then(paymentResponse => {\n this.handleResponse(paymentResponse);\n })\n .catch((paymentResponse?: RawPaymentResponse) => {\n const errors = paymentResponse?.error?.applePayError;\n\n reject({\n status: ApplePaySession.STATUS_FAILURE,\n errors: errors ? (Array.isArray(errors) ? errors : [errors]) : undefined\n });\n\n const responseWithError: RawPaymentResponse = {\n ...paymentResponse,\n error: {\n applePayError: errors\n }\n };\n\n this.handleFailedResult(responseWithError);\n });\n }\n });\n\n return new Promise((resolve, reject) => this.props.onClick(resolve, reject))\n .then(() => {\n session.begin();\n })\n .catch(() => ({\n // Swallow exception triggered by onClick reject\n }));\n }\n\n /**\n * Call the 'onAuthorized' callback if available.\n * Must be resolved/reject for the payment flow to continue\n *\n * @private\n */\n private async handleAuthorization(): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (!this.props.onAuthorized) {\n resolve();\n }\n\n const { authorizedEvent, billingAddress, deliveryAddress } = this.state;\n\n this.props.onAuthorized(\n {\n authorizedEvent,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n );\n }).catch((error?: ApplePayJS.ApplePayError) => {\n // Format error in a way that the 'catch' of the 'onPaymentAuthorize' block accepts it\n const data = { error: { applePayError: error } };\n return Promise.reject(data);\n });\n }\n\n /**\n * Verify if the 'onOrderTrackingRequest' is provided. If so, triggers the callback expecting an\n * Apple Pay order details back\n *\n * @private\n */\n private async collectOrderTrackingDetailsIfNeeded(\n paymentResponse: PaymentResponseData\n ): Promise<{ orderDetails?: ApplePayPaymentOrderDetails; paymentResponse: PaymentResponseData }> {\n return new Promise<ApplePayPaymentOrderDetails | void>((resolve, reject) => {\n if (!this.props.onOrderTrackingRequest) {\n return resolve();\n }\n\n this.props.onOrderTrackingRequest(resolve, reject);\n })\n .then(orderDetails => {\n return {\n paymentResponse,\n ...(orderDetails && { orderDetails })\n };\n })\n .catch(() => {\n return { paymentResponse };\n });\n }\n\n private async validateMerchant(resolve, reject) {\n const { hostname: domainName } = window.location;\n const { clientKey, configuration, loadingContext, initiative } = this.props;\n const { merchantName, merchantId } = configuration;\n const path = `${APPLEPAY_SESSION_ENDPOINT}?clientKey=${clientKey}`;\n const options = { loadingContext, path };\n const request: ApplePaySessionRequest = {\n displayName: merchantName,\n domainName,\n initiative,\n merchantIdentifier: merchantId\n };\n\n try {\n const response = await httpPost(options, request);\n const decodedData: DecodeObject = base64.decode(response.data);\n if (!decodedData.success) {\n reject('Could not decode Apple Pay session');\n } else {\n const session = JSON.parse(decodedData.data);\n resolve(session);\n }\n } catch (e) {\n reject('Could not get Apple Pay session');\n }\n }\n\n /**\n * Validation\n *\n * @remarks\n * Apple Pay does not require any specific validation\n */\n get isValid(): boolean {\n return true;\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from Apple Pay.\n * @returns Promise Resolve/Reject whether the shopper can use Apple Pay\n */\n public override async isAvailable(): Promise<void> {\n if (document.location.protocol !== 'https:') {\n return Promise.reject(new AdyenCheckoutError('IMPLEMENTATION_ERROR', 'Trying to start an Apple Pay session from an insecure document'));\n }\n\n if (!this.props.onValidateMerchant && !this.props.clientKey) {\n return Promise.reject(new AdyenCheckoutError('IMPLEMENTATION_ERROR', 'clientKey was not provided'));\n }\n\n try {\n if (window.ApplePaySession && ApplePaySession.canMakePayments() && ApplePaySession.supportsVersion(this.props.version)) {\n return Promise.resolve();\n }\n } catch (error) {\n console.warn(error);\n }\n\n return Promise.reject(new AdyenCheckoutError('ERROR', 'Apple Pay is not available on this device'));\n }\n\n /**\n * Renders the Apple Pay button or nothing in the Dropin\n */\n render() {\n if (this.props.showPayButton) {\n return (\n <ApplePayButton\n i18n={this.props.i18n}\n buttonColor={this.props.buttonColor}\n buttonType={this.props.buttonType}\n onClick={e => {\n e.preventDefault();\n this.submit();\n }}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default ApplePayElement;\n"],"names":["ApplePayElement","UIElement","static","TxVariants","applepay","defaultProps","constructor","checkout","props","super","isExpress","onShippingContactSelected","onShippingMethodSelected","this","AdyenCheckoutError","startSession","bind","submit","validateMerchant","collectOrderTrackingDetailsIfNeeded","handleAuthorization","formatProps","version","resolveSupportedVersion","supportedNetworks","brands","length","mapBrands","configuration","totalPriceLabel","merchantName","formatData","applePayToken","billingAddress","deliveryAddress","state","paymentMethod","type","subtype","submitAnalytics","analyticsObj","isInstantPayment","ANALYTICS_SELECTED_STR","target","ANALYTICS_INSTANT_PAYMENT_BUTTON","onValidateMerchant","onPaymentMethodSelected","paymentRequest","preparePaymentRequest","companyName","countryCode","core","options","session","ApplePayService","onError","error","handleError","cause","onCancel","event","onPaymentAuthorized","resolve","reject","formatApplePayContactToAdyenAddressFormat","payment","billingContact","shippingContact","setState","btoa","JSON","stringify","token","paymentData","authorizedEvent","then","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","paymentResponse","orderDetails","status","ApplePaySession","STATUS_SUCCESS","handleResponse","catch","errors","applePayError","STATUS_FAILURE","Array","isArray","undefined","responseWithError","handleFailedResult","Promise","onClick","begin","onAuthorized","data","onOrderTrackingRequest","hostname","domainName","window","location","clientKey","loadingContext","initiative","merchantId","path","APPLEPAY_SESSION_ENDPOINT","request","displayName","merchantIdentifier","response","httpPost","decodedData","base64","decode","success","parse","e","isValid","isAvailable","document","protocol","canMakePayments","supportsVersion","console","warn","render","showPayButton","h","ApplePayButton","i18n","buttonColor","buttonType","preventDefault"],"mappings":"i3BAuBA,MAAMA,UAAwBC,EAC1BC,YAAqBC,EAAWC,SAChCF,oBAAgCG,EAEhCC,WAAAA,CAAYC,EAAiBC,GACzBC,MAAMF,EAAUC,GAEhB,MAAME,UAAEA,EAASC,0BAAEA,EAAyBC,yBAAEA,GAA6BC,KAAKL,MAEhF,IAAkB,IAAdE,IAAwBC,GAA6BC,GACrD,MAAM,IAAIE,EACN,uBACA,8IAIRD,KAAKE,aAAeF,KAAKE,aAAaC,KAAKH,MAC3CA,KAAKI,OAASJ,KAAKI,OAAOD,KAAKH,MAC/BA,KAAKK,iBAAmBL,KAAKK,iBAAiBF,KAAKH,MACnDA,KAAKM,oCAAsCN,KAAKM,oCAAoCH,KAAKH,MACzFA,KAAKO,oBAAsBP,KAAKO,oBAAoBJ,KAAKH,KAC7D,CAKmBQ,WAAAA,CAAYb,GAC3B,MAAMc,EAAUd,EAAMc,SAAWC,EA7BV,IA8BjBC,EAAoBhB,EAAMiB,QAAQC,OAASC,EAAUnB,EAAMiB,QAAUjB,EAAMgB,kBAEjF,MAAO,IACAhB,EACHoB,cAAepB,EAAMoB,cACrBJ,oBACAF,UACAO,gBAAiBrB,EAAMqB,iBAAmBrB,EAAMoB,eAAeE,aAEvE,CAKA,UAAAC,GACI,MAAMC,cAAEA,EAAaC,eAAEA,EAAcC,gBAAEA,GAAoBrB,KAAKsB,OAC1DzB,UAAEA,GAAcG,KAAKL,MAE3B,MAAO,CACH4B,cAAe,CACXC,KAAMrC,EAAgBqC,KACtBL,mBACItB,GAAa,CAAE4B,QAAS,eAE5BL,GAAkB,CAAEA,qBACpBC,GAAmB,CAAEA,mBAEjC,CAEUK,eAAAA,CAAgBC,GAEtB/B,MAAM8B,gBAAgB,IAAKC,GAAgB3B,KAAKL,MACpD,CAEgBS,OAAS,KAEjBJ,KAAKL,MAAMiC,kBACX5B,KAAK0B,gBAAgB,CAAEF,KAAMK,EAAwBC,OAAQC,IAE5D/B,KAAKE,cAAY,EAGlBA,YAAAA,GACJ,MAAMO,QAAEA,EAAOuB,mBAAEA,EAAkBC,wBAAEA,EAAuBlC,yBAAEA,EAAwBD,0BAAEA,GAA8BE,KAAKL,MAErHuC,EAAiBC,EAAsB,CACzCC,YAAapC,KAAKL,MAAMoB,cAAcE,aACtCoB,YAAarC,KAAKsC,KAAKC,QAAQF,eAC5BrC,KAAKL,QAGN6C,EAAU,IAAIC,EAAgBP,EAAgB,CAChDzB,UACAiC,QAAUC,IACN3C,KAAK4C,YACD,IAAI3C,EAAmB,QAAS,qDAAsD,CAClF4C,MAAOF,IACX,EAGRG,SAAUC,IACN/C,KAAK4C,YAAY,IAAI3C,EAAmB,SAAU,wBAAyB,CAAE4C,MAAOE,IAAM,EAE9Fd,0BACAlC,2BACAD,4BACAkC,mBAAoBA,GAAsBhC,KAAKK,iBAC/C2C,oBAAqB,CAACC,EAASC,EAAQH,KACnC,MAAM3B,EAAiB+B,EAA0CJ,EAAMK,QAAQC,gBACzEhC,EAAkB8B,EAA0CJ,EAAMK,QAAQE,iBAAiB,GAEjGtD,KAAKuD,SAAS,CACVpC,cAAeqC,KAAKC,KAAKC,UAAUX,EAAMK,QAAQO,MAAMC,cACvDC,gBAAiBd,KACb3B,GAAkB,CAAEA,qBACpBC,GAAmB,CAAEA,qBAG7BrB,KAAKO,sBACAuD,KAAK9D,KAAK+D,kBACVD,KAAKE,GACLF,KAAKG,GACLH,KAAK9D,KAAKM,qCACVwD,MAAK,EAAGI,kBAAiBC,mBACtBlB,EAAQ,CACJmB,OAAQC,gBAAgBC,kBACpBH,GAAgB,CAAEA,kBAEnBD,KAEVJ,MAAKI,IACFlE,KAAKuE,eAAeL,EAAAA,IAEvBM,OAAON,IACJ,MAAMO,EAASP,GAAiBvB,OAAO+B,cAEvCxB,EAAO,CACHkB,OAAQC,gBAAgBM,eACxBF,OAAQA,EAAUG,MAAMC,QAAQJ,GAAUA,EAAS,CAACA,QAAWK,IAGnE,MAAMC,EAAwC,IACvCb,EACHvB,MAAO,CACH+B,cAAeD,IAIvBzE,KAAKgF,mBAAmBD,EAAAA,GAC5B,IAIZ,OAAO,IAAIE,SAAQ,CAAChC,EAASC,IAAWlD,KAAKL,MAAMuF,QAAQjC,EAASC,KAC/DY,MAAK,KACFtB,EAAQ2C,OAAK,IAEhBX,OAAM,KAAO,CAEd,IACR,CAQA,yBAAcjE,GACV,OAAO,IAAI0E,SAAc,CAAChC,EAASC,KAC1BlD,KAAKL,MAAMyF,cACZnC,IAGJ,MAAMY,gBAAEA,EAAezC,eAAEA,EAAcC,gBAAEA,GAAoBrB,KAAKsB,MAElEtB,KAAKL,MAAMyF,aACP,CACIvB,qBACIzC,GAAkB,CAAEA,qBACpBC,GAAmB,CAAEA,oBAE7B,CAAE4B,UAASC,UAAO,IAEvBsB,OAAO7B,IAEN,MAAM0C,EAAO,CAAE1C,MAAO,CAAE+B,cAAe/B,IACvC,OAAOsC,QAAQ/B,OAAOmC,EAAAA,GAE9B,CAQA,yCAAc/E,CACV4D,GAEA,OAAO,IAAIe,SAA4C,CAAChC,EAASC,KAC7D,IAAKlD,KAAKL,MAAM2F,uBACZ,OAAOrC,IAGXjD,KAAKL,MAAM2F,uBAAuBrC,EAASC,EAAAA,IAE1CY,MAAKK,IACK,CACHD,qBACIC,GAAgB,CAAEA,oBAG7BK,OAAM,KACI,CAAEN,qBAErB,CAEA,sBAAc7D,CAAiB4C,EAASC,GACpC,MAAQqC,SAAUC,GAAeC,OAAOC,UAClCC,UAAEA,EAAS5E,cAAEA,EAAa6E,eAAEA,EAAcC,WAAEA,GAAe7F,KAAKL,OAChEsB,aAAEA,EAAY6E,WAAEA,GAAe/E,EAE/BwB,EAAU,CAAEqD,iBAAgBG,KADrB,GAAGC,eAAuCL,KAEjDM,EAAkC,CACpCC,YAAajF,EACbuE,aACAK,aACAM,mBAAoBL,GAGxB,IACI,MAAMM,QAAiBC,EAAS9D,EAAS0D,GACnCK,EAA4BC,EAAOC,OAAOJ,EAASf,MACzD,GAAKiB,EAAYG,QAEV,CAEHxD,EADgBQ,KAAKiD,MAAMJ,EAAYjB,MAE3C,MAJInC,EAAO,qCAKf,CAAE,MAAOyD,GACLzD,EAAO,kCACX,CACJ,CAQA,WAAI0D,GACA,OAAO,CACX,CAMA,iBAAsBC,GAClB,GAAmC,WAA/BC,SAASpB,SAASqB,SAClB,OAAO9B,QAAQ/B,OAAO,IAAIjD,EAAmB,uBAAwB,mEAGzE,IAAKD,KAAKL,MAAMqC,qBAAuBhC,KAAKL,MAAMgG,UAC9C,OAAOV,QAAQ/B,OAAO,IAAIjD,EAAmB,uBAAwB,+BAGzE,IACI,GAAIwF,OAAOpB,iBAAmBA,gBAAgB2C,mBAAqB3C,gBAAgB4C,gBAAgBjH,KAAKL,MAAMc,SAC1G,OAAOwE,QAAQhC,SAEvB,CAAE,MAAON,GACLuE,QAAQC,KAAKxE,EACjB,CAEA,OAAOsC,QAAQ/B,OAAO,IAAIjD,EAAmB,QAAS,6CAC1D,CAKAmH,MAAAA,GACI,OAAIpH,KAAKL,MAAM0H,cAEPC,EAACC,EAAAA,CACGC,KAAMxH,KAAKL,MAAM6H,KACjBC,YAAazH,KAAKL,MAAM8H,YACxBC,WAAY1H,KAAKL,MAAM+H,WACvBxC,QAASyB,IACLA,EAAEgB,iBACF3H,KAAKI,QAAM,IAMpB,IACX"}
1
+ {"version":3,"file":"ApplePay.js","sources":["../../../../src/components/ApplePay/ApplePay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport ApplePayButton from './components/ApplePayButton';\nimport ApplePayService from './ApplePayService';\nimport base64 from '../../utils/base64';\nimport defaultProps from './defaultProps';\nimport { httpPost } from '../../core/Services/http';\nimport { APPLEPAY_SESSION_ENDPOINT } from './config';\nimport { preparePaymentRequest } from './payment-request';\nimport { resolveSupportedVersion, mapBrands, formatApplePayContactToAdyenAddressFormat } from './utils';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { DecodeObject } from '../../types/global-types';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { ANALYTICS_INSTANT_PAYMENT_BUTTON, ANALYTICS_SELECTED_STR } from '../../core/Analytics/constants';\n\nimport type { ApplePayConfiguration, ApplePayElementData, ApplePayPaymentOrderDetails, ApplePaySessionRequest } from './types';\nimport type { ICore } from '../../core/types';\nimport type { PaymentResponseData, RawPaymentResponse } from '../../types/global-types';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\n\nconst latestSupportedVersion = 14;\n\nclass ApplePayElement extends UIElement<ApplePayConfiguration> {\n public static type = TxVariants.applepay;\n protected static defaultProps = defaultProps;\n\n constructor(checkout: ICore, props?: ApplePayConfiguration) {\n super(checkout, props);\n\n const { isExpress, onShippingContactSelected, onShippingMethodSelected } = this.props;\n\n if (isExpress === false && (onShippingContactSelected || onShippingMethodSelected)) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'ApplePay - You must set \"isExpress\" flag to \"true\" in order to use \"onShippingContactSelected\" and/or \"onShippingMethodSelected\" callbacks'\n );\n }\n\n this.startSession = this.startSession.bind(this);\n this.submit = this.submit.bind(this);\n this.validateMerchant = this.validateMerchant.bind(this);\n this.collectOrderTrackingDetailsIfNeeded = this.collectOrderTrackingDetailsIfNeeded.bind(this);\n this.handleAuthorization = this.handleAuthorization.bind(this);\n }\n\n /**\n * Formats the component props\n */\n protected override formatProps(props) {\n const version = props.version || resolveSupportedVersion(latestSupportedVersion);\n const supportedNetworks = props.brands?.length ? mapBrands(props.brands) : props.supportedNetworks;\n\n return {\n ...props,\n configuration: props.configuration,\n supportedNetworks,\n version,\n totalPriceLabel: props.totalPriceLabel || props.configuration?.merchantName\n };\n }\n\n /**\n * Formats the component data output\n */\n protected override formatData(): ApplePayElementData {\n const { applePayToken, billingAddress, deliveryAddress } = this.state;\n const { isExpress } = this.props;\n\n return {\n paymentMethod: {\n type: ApplePayElement.type,\n applePayToken,\n ...(isExpress && { subtype: 'express' })\n },\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n };\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n super.submitAnalytics({ ...analyticsObj }, this.props);\n }\n\n public override submit = (): void => {\n // Analytics\n if (this.props.isInstantPayment) {\n this.submitAnalytics({ type: ANALYTICS_SELECTED_STR, target: ANALYTICS_INSTANT_PAYMENT_BUTTON });\n }\n void this.startSession();\n };\n\n private startSession() {\n const { version, onValidateMerchant, onPaymentMethodSelected, onShippingMethodSelected, onShippingContactSelected } = this.props;\n\n const paymentRequest = preparePaymentRequest({\n companyName: this.props.configuration.merchantName,\n countryCode: this.core.options.countryCode,\n ...this.props\n });\n\n const session = new ApplePayService(paymentRequest, {\n version,\n onError: (error: unknown) => {\n this.handleError(\n new AdyenCheckoutError('ERROR', 'ApplePay - Something went wrong on ApplePayService', {\n cause: error\n })\n );\n },\n onCancel: event => {\n this.handleError(new AdyenCheckoutError('CANCEL', 'ApplePay UI dismissed', { cause: event }));\n },\n onPaymentMethodSelected,\n onShippingMethodSelected,\n onShippingContactSelected,\n onValidateMerchant: onValidateMerchant || this.validateMerchant,\n onPaymentAuthorized: (resolve, reject, event) => {\n const billingAddress = formatApplePayContactToAdyenAddressFormat(event.payment.billingContact);\n const deliveryAddress = formatApplePayContactToAdyenAddressFormat(event.payment.shippingContact, true);\n\n this.setState({\n applePayToken: btoa(JSON.stringify(event.payment.token.paymentData)),\n authorizedEvent: event,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n this.handleAuthorization()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then(this.collectOrderTrackingDetailsIfNeeded)\n .then(({ paymentResponse, orderDetails }) => {\n resolve({\n status: ApplePaySession.STATUS_SUCCESS,\n ...(orderDetails && { orderDetails })\n });\n return paymentResponse;\n })\n .then(paymentResponse => {\n this.handleResponse(paymentResponse);\n })\n .catch((paymentResponse?: RawPaymentResponse) => {\n const errors = paymentResponse?.error?.applePayError;\n\n reject({\n status: ApplePaySession.STATUS_FAILURE,\n errors: errors ? (Array.isArray(errors) ? errors : [errors]) : undefined\n });\n\n const responseWithError: RawPaymentResponse = {\n ...paymentResponse,\n error: {\n applePayError: errors\n }\n };\n\n this.handleFailedResult(responseWithError);\n });\n }\n });\n\n return new Promise((resolve, reject) => this.props.onClick(resolve, reject))\n .then(() => {\n session.begin();\n })\n .catch(() => ({\n // Swallow exception triggered by onClick reject\n }));\n }\n\n /**\n * Call the 'onAuthorized' callback if available.\n * Must be resolved/reject for the payment flow to continue\n *\n * @private\n */\n private async handleAuthorization(): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (!this.props.onAuthorized) {\n resolve();\n }\n\n const { authorizedEvent, billingAddress, deliveryAddress } = this.state;\n\n this.props.onAuthorized(\n {\n authorizedEvent,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n );\n }).catch((error?: ApplePayJS.ApplePayError) => {\n // Format error in a way that the 'catch' of the 'onPaymentAuthorize' block accepts it\n const data = { error: { applePayError: error } };\n return Promise.reject(data);\n });\n }\n\n /**\n * Verify if the 'onOrderTrackingRequest' is provided. If so, triggers the callback expecting an\n * Apple Pay order details back\n *\n * @private\n */\n private async collectOrderTrackingDetailsIfNeeded(\n paymentResponse: PaymentResponseData\n ): Promise<{ orderDetails?: ApplePayPaymentOrderDetails; paymentResponse: PaymentResponseData }> {\n return new Promise<ApplePayPaymentOrderDetails | void>((resolve, reject) => {\n if (!this.props.onOrderTrackingRequest) {\n return resolve();\n }\n\n this.props.onOrderTrackingRequest(resolve, reject);\n })\n .then(orderDetails => {\n return {\n paymentResponse,\n ...(orderDetails && { orderDetails })\n };\n })\n .catch(() => {\n return { paymentResponse };\n });\n }\n\n private async validateMerchant(resolve, reject) {\n const { hostname: domainName } = window.location;\n const { clientKey, configuration, loadingContext, initiative } = this.props;\n const { merchantName, merchantId } = configuration;\n const path = `${APPLEPAY_SESSION_ENDPOINT}?clientKey=${clientKey}`;\n const options = { loadingContext, path };\n const request: ApplePaySessionRequest = {\n displayName: merchantName,\n domainName,\n initiative,\n merchantIdentifier: merchantId\n };\n\n try {\n const response = await httpPost(options, request);\n const decodedData: DecodeObject = base64.decode(response.data);\n if (!decodedData.success) {\n reject('Could not decode Apple Pay session');\n } else {\n const session = JSON.parse(decodedData.data);\n resolve(session);\n }\n } catch (e) {\n reject('Could not get Apple Pay session');\n }\n }\n\n /**\n * Validation\n *\n * @remarks\n * Apple Pay does not require any specific validation\n */\n get isValid(): boolean {\n return true;\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from Apple Pay.\n * @returns Promise Resolve/Reject whether the shopper can use Apple Pay\n */\n public override async isAvailable(): Promise<void> {\n if (document.location.protocol !== 'https:') {\n return Promise.reject(new AdyenCheckoutError('IMPLEMENTATION_ERROR', 'Trying to start an Apple Pay session from an insecure document'));\n }\n\n if (!this.props.onValidateMerchant && !this.props.clientKey) {\n return Promise.reject(new AdyenCheckoutError('IMPLEMENTATION_ERROR', 'clientKey was not provided'));\n }\n\n try {\n if (window.ApplePaySession && ApplePaySession.canMakePayments() && ApplePaySession.supportsVersion(this.props.version)) {\n return Promise.resolve();\n }\n } catch (error) {\n console.warn(error);\n }\n\n return Promise.reject(new AdyenCheckoutError('ERROR', 'Apple Pay is not available on this device'));\n }\n\n /**\n * Renders the Apple Pay button or nothing in the Dropin\n */\n render() {\n if (this.props.showPayButton) {\n return (\n <ApplePayButton\n i18n={this.props.i18n}\n buttonColor={this.props.buttonColor}\n buttonType={this.props.buttonType}\n onClick={e => {\n e.preventDefault();\n this.submit();\n }}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default ApplePayElement;\n"],"names":["ApplePayElement","UIElement","formatProps","props","version","resolveSupportedVersion","supportedNetworks","brands","length","mapBrands","configuration","totalPriceLabel","merchantName","formatData","applePayToken","billingAddress","deliveryAddress","this","state","isExpress","paymentMethod","type","subtype","submitAnalytics","analyticsObj","super","startSession","onValidateMerchant","onPaymentMethodSelected","onShippingMethodSelected","onShippingContactSelected","paymentRequest","preparePaymentRequest","companyName","countryCode","core","options","session","ApplePayService","onError","error","handleError","AdyenCheckoutError","cause","onCancel","event","validateMerchant","onPaymentAuthorized","resolve","reject","formatApplePayContactToAdyenAddressFormat","payment","billingContact","shippingContact","setState","btoa","JSON","stringify","token","paymentData","authorizedEvent","handleAuthorization","then","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","collectOrderTrackingDetailsIfNeeded","paymentResponse","orderDetails","status","ApplePaySession","STATUS_SUCCESS","handleResponse","catch","errors","applePayError","STATUS_FAILURE","Array","isArray","undefined","responseWithError","handleFailedResult","Promise","onClick","begin","onAuthorized","data","onOrderTrackingRequest","hostname","domainName","window","location","clientKey","loadingContext","initiative","merchantId","path","APPLEPAY_SESSION_ENDPOINT","request","displayName","merchantIdentifier","response","httpPost","decodedData","base64","decode","success","parse","e","isValid","isAvailable","document","protocol","canMakePayments","supportsVersion","console","warn","render","showPayButton","h","ApplePayButton","i18n","buttonColor","buttonType","preventDefault","submit","constructor","checkout","_define_property","isInstantPayment","ANALYTICS_SELECTED_STR","target","ANALYTICS_INSTANT_PAYMENT_BUTTON","bind","TxVariants","applepay","defaultProps"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- class e{session;options;constructor(e,t){this.options=t,this.session=new ApplePaySession(t.version,e),this.session.onvalidatemerchant=e=>{this.onvalidatemerchant(e,t.onValidateMerchant)},this.session.onpaymentauthorized=e=>{this.onpaymentauthorized(e,t.onPaymentAuthorized)},this.session.oncancel=e=>{this.oncancel(e,t.onCancel)},"function"==typeof t.onPaymentMethodSelected&&(this.session.onpaymentmethodselected=e=>{this.onpaymentmethodselected(e,t.onPaymentMethodSelected)}),"function"==typeof t.onShippingContactSelected&&(this.session.onshippingcontactselected=e=>{this.onshippingcontactselected(e,t.onShippingContactSelected)}),"function"==typeof t.onShippingMethodSelected&&(this.session.onshippingmethodselected=e=>{this.onshippingmethodselected(e,t.onShippingMethodSelected)})}begin(){return this.session.begin()}onvalidatemerchant(e,t){return new Promise(((n,o)=>t(n,o,e.validationURL))).then((e=>{this.session.completeMerchantValidation(e)})).catch((e=>{console.error(e),this.session.abort(),this.options.onError(e)}))}onpaymentauthorized(e,t){return new Promise(((n,o)=>t(n,o,e))).then((e=>{this.session.completePayment(e)})).catch((e=>{this.session.completePayment(e)}))}onpaymentmethodselected(e,t){return new Promise(((n,o)=>t(n,o,e))).then((e=>{this.session.completePaymentMethodSelection(e)})).catch((e=>{this.session.completePaymentMethodSelection(e)}))}onshippingcontactselected(e,t){return new Promise(((n,o)=>t(n,o,e))).then((e=>{this.session.completeShippingContactSelection(e)})).catch((e=>{this.session.completeShippingContactSelection(e)}))}onshippingmethodselected(e,t){return new Promise(((n,o)=>t(n,o,e))).then((e=>{this.session.completeShippingMethodSelection(e)})).catch((e=>{this.session.completeShippingMethodSelection(e)}))}oncancel(e,t){t(e)}}export{e as default};
1
+ function e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class t{begin(){return this.session.begin()}onvalidatemerchant(e,t){return new Promise(((n,o)=>t(n,o,e.validationURL))).then((e=>{this.session.completeMerchantValidation(e)})).catch((e=>{console.error(e),this.session.abort(),this.options.onError(e)}))}onpaymentauthorized(e,t){return new Promise(((n,o)=>t(n,o,e))).then((e=>{this.session.completePayment(e)})).catch((e=>{this.session.completePayment(e)}))}onpaymentmethodselected(e,t){return new Promise(((n,o)=>t(n,o,e))).then((e=>{this.session.completePaymentMethodSelection(e)})).catch((e=>{this.session.completePaymentMethodSelection(e)}))}onshippingcontactselected(e,t){return new Promise(((n,o)=>t(n,o,e))).then((e=>{this.session.completeShippingContactSelection(e)})).catch((e=>{this.session.completeShippingContactSelection(e)}))}onshippingmethodselected(e,t){return new Promise(((n,o)=>t(n,o,e))).then((e=>{this.session.completeShippingMethodSelection(e)})).catch((e=>{this.session.completeShippingMethodSelection(e)}))}oncancel(e,t){t(e)}constructor(t,n){e(this,"session",void 0),e(this,"options",void 0),this.options=n,this.session=new ApplePaySession(n.version,t),this.session.onvalidatemerchant=e=>{this.onvalidatemerchant(e,n.onValidateMerchant)},this.session.onpaymentauthorized=e=>{this.onpaymentauthorized(e,n.onPaymentAuthorized)},this.session.oncancel=e=>{this.oncancel(e,n.onCancel)},"function"==typeof n.onPaymentMethodSelected&&(this.session.onpaymentmethodselected=e=>{this.onpaymentmethodselected(e,n.onPaymentMethodSelected)}),"function"==typeof n.onShippingContactSelected&&(this.session.onshippingcontactselected=e=>{this.onshippingcontactselected(e,n.onShippingContactSelected)}),"function"==typeof n.onShippingMethodSelected&&(this.session.onshippingmethodselected=e=>{this.onshippingmethodselected(e,n.onShippingMethodSelected)})}}export{t as default};
2
2
  //# sourceMappingURL=ApplePayService.js.map