@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 +1 @@
1
- {"version":3,"file":"Giftcard.js","sources":["../../../../src/components/Giftcard/Giftcard.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GiftcardComponent from './components/GiftcardComponent';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport PayButton from '../internal/PayButton';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { PaymentAmount } from '../../types/global-types';\nimport { GiftCardElementData, GiftCardConfiguration, balanceCheckResponseType } from './types';\nimport { TxVariants } from '../tx-variants';\n\nexport class GiftcardElement extends UIElement<GiftCardConfiguration> {\n public static type = TxVariants.giftcard;\n\n protected static defaultProps = {\n brandsConfiguration: {}\n };\n\n formatProps(props) {\n return {\n ...props?.configuration,\n ...props\n };\n }\n\n formatData(): GiftCardElementData {\n return {\n paymentMethod: {\n type: this.constructor['type'],\n brand: this.props.brand,\n encryptedCardNumber: this.state.data?.encryptedCardNumber,\n encryptedSecurityCode: this.state.data?.encryptedSecurityCode\n }\n };\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get icon() {\n return this.props.brandsConfiguration[this.props.brand]?.icon || this.props.icon || this.resources.getImage()(this.props.brand);\n }\n\n get displayName() {\n return this.props.brandsConfiguration[this.props.brand]?.name || this.props.name;\n }\n\n private handleBalanceCheck = (data: GiftCardElementData): Promise<balanceCheckResponseType> => {\n if (this.props.onBalanceCheck) {\n return new Promise((resolve, reject) => {\n void this.props.onBalanceCheck(resolve, reject, data);\n });\n }\n\n if (this.props.session) {\n return this.props.session.checkBalance(data);\n }\n };\n\n private onOrderRequest = data => {\n if (this.props.onOrderRequest)\n return new Promise((resolve, reject) => {\n void this.props.onOrderRequest(resolve, reject, data);\n });\n\n if (this.props.session) {\n return this.props.session.createOrder();\n }\n };\n\n public balanceCheck() {\n return this.onBalanceCheck();\n }\n\n private onBalanceCheck = (): void => {\n // skip balance check if no onBalanceCheck event has been defined\n const hasBalanceCheck = this.props.session || this.props.onBalanceCheck;\n if (!hasBalanceCheck) return super.submit();\n\n this.setStatus('loading');\n\n this.handleBalanceCheck(this.formatData())\n .then(({ balance, transactionLimit = {} as PaymentAmount }) => {\n if (!balance) throw new Error('card-error'); // card doesn't exist\n if (balance?.currency !== this.props.amount?.currency) throw new Error('currency-error');\n if (balance?.value <= 0) throw new Error('no-balance');\n\n this.componentRef.setBalance({ balance, transactionLimit });\n\n if (this.props.amount.value > balance.value || this.props.amount.value > transactionLimit.value) {\n if (this.props.order) {\n return super.submit();\n }\n\n return this.onOrderRequest(this.data).then((order: { orderData: string; pspReference: string }) => {\n this.setState({ order: { orderData: order.orderData, pspReference: order.pspReference } });\n return super.submit();\n });\n } else {\n return this.handleOnRequiringConfirmation().then(() => super.submit());\n }\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 private handleOnRequiringConfirmation = (): Promise<any> => {\n if (this.props.onRequiringConfirmation) {\n return new Promise<void>((resolve, reject) => {\n void this.props.onRequiringConfirmation(resolve, reject);\n });\n }\n };\n\n public submit() {\n if (!this.isValid) {\n this.showValidation();\n return false;\n }\n\n this.balanceCheck();\n }\n\n // Giftcards override the regular payButton flow\n public payButton = props => {\n return <PayButton {...props} />;\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <GiftcardComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n handleKeyPress={this.handleKeyPress}\n showPayButton={this.props.showPayButton}\n onChange={this.setState}\n onBalanceCheck={this.onBalanceCheck}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default GiftcardElement;\n"],"names":["GiftcardElement","UIElement","static","TxVariants","giftcard","brandsConfiguration","formatProps","props","configuration","formatData","paymentMethod","type","this","constructor","brand","encryptedCardNumber","state","data","encryptedSecurityCode","isValid","icon","resources","getImage","displayName","name","handleBalanceCheck","onBalanceCheck","Promise","resolve","reject","session","checkBalance","onOrderRequest","createOrder","balanceCheck","super","submit","setStatus","then","balance","transactionLimit","Error","currency","amount","value","componentRef","setBalance","order","setState","orderData","pspReference","handleOnRequiringConfirmation","catch","error","message","onError","handleError","AdyenCheckoutError","onRequiringConfirmation","showValidation","payButton","h","PayButton","render","CoreProvider","i18n","loadingContext","GiftcardComponent","ref","handleKeyPress","showPayButton","onChange","onSubmit"],"mappings":"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"}
1
+ {"version":3,"file":"Giftcard.js","sources":["../../../../src/components/Giftcard/Giftcard.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GiftcardComponent from './components/GiftcardComponent';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport PayButton from '../internal/PayButton';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { PaymentAmount } from '../../types/global-types';\nimport { GiftCardElementData, GiftCardConfiguration, balanceCheckResponseType } from './types';\nimport { TxVariants } from '../tx-variants';\n\nexport class GiftcardElement extends UIElement<GiftCardConfiguration> {\n public static type = TxVariants.giftcard;\n\n protected static defaultProps = {\n brandsConfiguration: {}\n };\n\n formatProps(props) {\n return {\n ...props?.configuration,\n ...props\n };\n }\n\n formatData(): GiftCardElementData {\n return {\n paymentMethod: {\n type: this.constructor['type'],\n brand: this.props.brand,\n encryptedCardNumber: this.state.data?.encryptedCardNumber,\n encryptedSecurityCode: this.state.data?.encryptedSecurityCode\n }\n };\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get icon() {\n return this.props.brandsConfiguration[this.props.brand]?.icon || this.props.icon || this.resources.getImage()(this.props.brand);\n }\n\n get displayName() {\n return this.props.brandsConfiguration[this.props.brand]?.name || this.props.name;\n }\n\n private handleBalanceCheck = (data: GiftCardElementData): Promise<balanceCheckResponseType> => {\n if (this.props.onBalanceCheck) {\n return new Promise((resolve, reject) => {\n void this.props.onBalanceCheck(resolve, reject, data);\n });\n }\n\n if (this.props.session) {\n return this.props.session.checkBalance(data);\n }\n };\n\n private onOrderRequest = data => {\n if (this.props.onOrderRequest)\n return new Promise((resolve, reject) => {\n void this.props.onOrderRequest(resolve, reject, data);\n });\n\n if (this.props.session) {\n return this.props.session.createOrder();\n }\n };\n\n public balanceCheck() {\n return this.onBalanceCheck();\n }\n\n private onBalanceCheck = (): void => {\n // skip balance check if no onBalanceCheck event has been defined\n const hasBalanceCheck = this.props.session || this.props.onBalanceCheck;\n if (!hasBalanceCheck) return super.submit();\n\n this.setStatus('loading');\n\n this.handleBalanceCheck(this.formatData())\n .then(({ balance, transactionLimit = {} as PaymentAmount }) => {\n if (!balance) throw new Error('card-error'); // card doesn't exist\n if (balance?.currency !== this.props.amount?.currency) throw new Error('currency-error');\n if (balance?.value <= 0) throw new Error('no-balance');\n\n this.componentRef.setBalance({ balance, transactionLimit });\n\n if (this.props.amount.value > balance.value || this.props.amount.value > transactionLimit.value) {\n if (this.props.order) {\n return super.submit();\n }\n\n return this.onOrderRequest(this.data).then((order: { orderData: string; pspReference: string }) => {\n this.setState({ order: { orderData: order.orderData, pspReference: order.pspReference } });\n return super.submit();\n });\n } else {\n return this.handleOnRequiringConfirmation().then(() => super.submit());\n }\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 private handleOnRequiringConfirmation = (): Promise<any> => {\n if (this.props.onRequiringConfirmation) {\n return new Promise<void>((resolve, reject) => {\n void this.props.onRequiringConfirmation(resolve, reject);\n });\n }\n };\n\n public submit() {\n if (!this.isValid) {\n this.showValidation();\n return false;\n }\n\n this.balanceCheck();\n }\n\n // Giftcards override the regular payButton flow\n public payButton = props => {\n return <PayButton {...props} />;\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <GiftcardComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n handleKeyPress={this.handleKeyPress}\n showPayButton={this.props.showPayButton}\n onChange={this.setState}\n onBalanceCheck={this.onBalanceCheck}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default GiftcardElement;\n"],"names":["GiftcardElement","UIElement","formatProps","props","configuration","formatData","paymentMethod","type","this","constructor","brand","encryptedCardNumber","state","data","encryptedSecurityCode","isValid","icon","brandsConfiguration","resources","getImage","displayName","name","balanceCheck","onBalanceCheck","submit","showValidation","render","h","CoreProvider","i18n","loadingContext","GiftcardComponent","ref","componentRef","handleKeyPress","showPayButton","onChange","setState","onSubmit","payButton","_define_property","handleBalanceCheck","Promise","resolve","reject","session","checkBalance","onOrderRequest","createOrder","super","setStatus","then","balance","transactionLimit","Error","currency","amount","value","setBalance","order","orderData","pspReference","handleOnRequiringConfirmation","catch","error","message","onError","handleError","AdyenCheckoutError","onRequiringConfirmation","PayButton","TxVariants","giftcard","defaultProps"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{Component as t,createElement as e}from"../../../external/preact/dist/preact.js";import r from"../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import s from"../../internal/Alert/Alert.js";import a from"./GiftcardResult.js";import{useCoreContext as o}from"../../../core/Context/CoreProvider.js";import{GIFT_CARD as n}from"../../internal/SecuredFields/lib/constants.js";import{GiftCardFields as i}from"./GiftcardFields.js";class c extends t{state={status:"ready",data:{},balance:null,transactionLimit:null,focusedElement:!1,isValid:!1};static defaultProps={pinRequired:!0,expiryDateRequired:!1,onChange:()=>{},onFocus:()=>{},onBlur:()=>{},fieldsLayoutComponent:i};sfp;onChange=t=>{this.props.onChange({data:t.data,isValid:t.isSfpValid})};showValidation=()=>{this.sfp.showValidation()};setStatus(t){this.setState({status:t})}handleFocus=t=>{this.setState({focusedElement:t.currentFocusObject});!0===t.focus?this.props.onFocus(t):this.props.onBlur(t)};setBalance=({balance:t,transactionLimit:e})=>{this.setState({balance:t,transactionLimit:e})};render(t,{focusedElement:i,balance:c,transactionLimit:u}){const{i18n:d}=o(),l=u?.value<c?.value?u:c,p=l?.value>=this.props.amount?.value;if(l&&p)return e(a,{balance:c,transactionLimit:u,onSubmit:t.onSubmit,...t});const m=t=>{if(t.errors.encryptedCardNumber)return d.get(t.errors.encryptedCardNumber);switch(this.state.status){case"no-balance":return d.get("error.giftcard.no-balance");case"card-error":return d.get("error.giftcard.card-error");case"currency-error":return d.get("error.giftcard.currency-error");default:return null}};return e("div",{className:"adyen-checkout__giftcard"},"error"===this.state.status&&e(s,{icon:"cross"},d.get("error.message.unknown")),e(r,{...this.props,ref:t=>{this.sfp=t},onChange:this.onChange,onFocus:this.handleFocus,type:n,render:({setRootNode:t,setFocusOn:e},r)=>this.props.fieldsLayoutComponent({i18n:d,pinRequired:this.props.pinRequired,focusedElement:i,getCardErrorMessage:m,setRootNode:t,setFocusOn:e,sfpState:r})}),this.props.showPayButton&&this.props.payButton({status:this.state.status,onClick:this.props.onSubmit,label:d.get("applyGiftcard")}))}}export{c as default};
1
+ import{Component as t,createElement as e}from"../../../external/preact/dist/preact.js";import r from"../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import s from"../../internal/Alert/Alert.js";import a from"./GiftcardResult.js";import{useCoreContext as o}from"../../../core/Context/CoreProvider.js";import{GIFT_CARD as n}from"../../internal/SecuredFields/lib/constants.js";import{GiftCardFields as i}from"./GiftcardFields.js";function c(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}class u extends t{setStatus(t){this.setState({status:t})}render(t,{focusedElement:i,balance:c,transactionLimit:u}){const{i18n:l}=o(),d=u?.value<c?.value?u:c,p=d?.value>=this.props.amount?.value;if(d&&p)return e(a,{balance:c,transactionLimit:u,onSubmit:t.onSubmit,...t});const h=t=>{if(t.errors.encryptedCardNumber)return l.get(t.errors.encryptedCardNumber);switch(this.state.status){case"no-balance":return l.get("error.giftcard.no-balance");case"card-error":return l.get("error.giftcard.card-error");case"currency-error":return l.get("error.giftcard.currency-error");default:return null}};return e("div",{className:"adyen-checkout__giftcard"},"error"===this.state.status&&e(s,{icon:"cross"},l.get("error.message.unknown")),e(r,{...this.props,ref:t=>{this.sfp=t},onChange:this.onChange,onFocus:this.handleFocus,type:n,render:({setRootNode:t,setFocusOn:e},r)=>this.props.fieldsLayoutComponent({i18n:l,pinRequired:this.props.pinRequired,focusedElement:i,getCardErrorMessage:h,setRootNode:t,setFocusOn:e,sfpState:r})}),this.props.showPayButton&&this.props.payButton({status:this.state.status,onClick:this.props.onSubmit,label:l.get("applyGiftcard")}))}constructor(...t){super(...t),c(this,"state",{status:"ready",data:{},balance:null,transactionLimit:null,focusedElement:!1,isValid:!1}),c(this,"sfp",void 0),c(this,"onChange",(t=>{this.props.onChange({data:t.data,isValid:t.isSfpValid})})),c(this,"showValidation",(()=>{this.sfp.showValidation()})),c(this,"handleFocus",(t=>{this.setState({focusedElement:t.currentFocusObject});!0===t.focus?this.props.onFocus(t):this.props.onBlur(t)})),c(this,"setBalance",(({balance:t,transactionLimit:e})=>{this.setState({balance:t,transactionLimit:e})}))}}c(u,"defaultProps",{pinRequired:!0,expiryDateRequired:!1,onChange:()=>{},onFocus:()=>{},onBlur:()=>{},fieldsLayoutComponent:i});export{u as default};
2
2
  //# sourceMappingURL=GiftcardComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GiftcardComponent.js","sources":["../../../../../src/components/Giftcard/components/GiftcardComponent.tsx"],"sourcesContent":["import { Component, FunctionComponent, h } from 'preact';\nimport SecuredFieldsProvider from '../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport Alert from '../../internal/Alert';\nimport GiftcardResult from './GiftcardResult';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { GIFT_CARD } from '../../internal/SecuredFields/lib/constants';\nimport { GiftCardFields } from './GiftcardFields';\nimport { GiftcardFieldsProps, Placeholders } from './types';\n\ninterface GiftcardComponentProps {\n onChange: (state) => void;\n onFocus: (event) => void;\n onBlur: (event) => void;\n onSubmit: (event) => void;\n onBalanceCheck: (event) => void;\n\n amount?: PaymentAmount;\n showPayButton: boolean;\n payButton: (config) => any;\n\n pinRequired: boolean;\n expiryDateRequired?: boolean;\n fieldsLayoutComponent: FunctionComponent<GiftcardFieldsProps>;\n placeholders?: Placeholders;\n handleKeyPress?: (o: KeyboardEvent) => void;\n}\n\nclass Giftcard extends Component<GiftcardComponentProps> {\n public state = {\n status: 'ready',\n data: {},\n balance: null,\n transactionLimit: null,\n focusedElement: false,\n isValid: false\n };\n\n public static defaultProps = {\n pinRequired: true,\n expiryDateRequired: false,\n onChange: () => {},\n onFocus: () => {},\n onBlur: () => {},\n fieldsLayoutComponent: GiftCardFields\n };\n\n public sfp;\n\n public onChange = sfpState => {\n this.props.onChange({\n data: sfpState.data,\n isValid: sfpState.isSfpValid\n });\n };\n\n public showValidation = () => {\n this.sfp.showValidation();\n };\n\n setStatus(status) {\n this.setState({ status });\n }\n\n public handleFocus = e => {\n this.setState({ focusedElement: e.currentFocusObject });\n\n const isFocused = e.focus === true;\n if (isFocused) {\n this.props.onFocus(e);\n } else {\n this.props.onBlur(e);\n }\n };\n\n public setBalance = ({ balance, transactionLimit }) => {\n this.setState({ balance, transactionLimit });\n };\n\n render(props, { focusedElement, balance, transactionLimit }) {\n const { i18n } = useCoreContext();\n\n const transactionAmount = transactionLimit?.value < balance?.value ? transactionLimit : balance;\n const hasEnoughBalance = transactionAmount?.value >= this.props.amount?.value;\n\n if (transactionAmount && hasEnoughBalance) {\n return <GiftcardResult balance={balance} transactionLimit={transactionLimit} onSubmit={props.onSubmit} {...props} />;\n }\n\n const getCardErrorMessage = sfpState => {\n if (sfpState.errors.encryptedCardNumber) return i18n.get(sfpState.errors.encryptedCardNumber);\n\n switch (this.state.status) {\n case 'no-balance':\n return i18n.get('error.giftcard.no-balance');\n case 'card-error':\n return i18n.get('error.giftcard.card-error');\n case 'currency-error':\n return i18n.get('error.giftcard.currency-error');\n default:\n return null;\n }\n };\n\n return (\n <div className=\"adyen-checkout__giftcard\">\n {this.state.status === 'error' && <Alert icon={'cross'}>{i18n.get('error.message.unknown')}</Alert>}\n\n <SecuredFieldsProvider\n {...this.props}\n ref={ref => {\n this.sfp = ref;\n }}\n onChange={this.onChange}\n onFocus={this.handleFocus}\n type={GIFT_CARD}\n render={({ setRootNode, setFocusOn }, sfpState) =>\n this.props.fieldsLayoutComponent({\n i18n: i18n,\n pinRequired: this.props.pinRequired,\n focusedElement: focusedElement,\n getCardErrorMessage: getCardErrorMessage,\n setRootNode: setRootNode,\n setFocusOn: setFocusOn,\n sfpState: sfpState\n })\n }\n />\n\n {this.props.showPayButton &&\n this.props.payButton({\n status: this.state.status,\n onClick: this.props.onSubmit,\n label: i18n.get('applyGiftcard')\n })}\n </div>\n );\n }\n}\n\nexport default Giftcard;\n"],"names":["Giftcard","Component","state","status","data","balance","transactionLimit","focusedElement","isValid","static","pinRequired","expiryDateRequired","onChange","onFocus","onBlur","fieldsLayoutComponent","GiftCardFields","sfp","sfpState","this","props","isSfpValid","showValidation","setStatus","setState","handleFocus","e","currentFocusObject","focus","setBalance","render","i18n","useCoreContext","transactionAmount","value","hasEnoughBalance","amount","h","GiftcardResult","onSubmit","getCardErrorMessage","errors","encryptedCardNumber","get","div","className","Alert","icon","SecuredFieldsProvider","ref","type","GIFT_CARD","setRootNode","setFocusOn","showPayButton","payButton","onClick","label"],"mappings":"sbA4BA,MAAMA,UAAiBC,EACZC,MAAQ,CACXC,OAAQ,QACRC,KAAM,CAAC,EACPC,QAAS,KACTC,iBAAkB,KAClBC,gBAAgB,EAChBC,SAAS,GAGbC,oBAA6B,CACzBC,aAAa,EACbC,oBAAoB,EACpBC,SAAU,OACVC,QAAS,OACTC,OAAQ,OACRC,sBAAuBC,GAGpBC,IAEAL,SAAWM,IACdC,KAAKC,MAAMR,SAAS,CAChBR,KAAMc,EAASd,KACfI,QAASU,EAASG,YACtB,EAGGC,eAAiB,KACpBH,KAAKF,IAAIK,gBAAc,EAG3BC,SAAAA,CAAUpB,GACNgB,KAAKK,SAAS,CAAErB,UACpB,CAEOsB,YAAcC,IACjBP,KAAKK,SAAS,CAAEjB,eAAgBmB,EAAEC,sBAEJ,IAAZD,EAAEE,MAEhBT,KAAKC,MAAMP,QAAQa,GAEnBP,KAAKC,MAAMN,OAAOY,EACtB,EAGGG,WAAa,EAAGxB,UAASC,uBAC5Ba,KAAKK,SAAS,CAAEnB,UAASC,oBAAiB,EAG9CwB,MAAAA,CAAOV,GAAOb,eAAEA,EAAcF,QAAEA,EAAOC,iBAAEA,IACrC,MAAMyB,KAAEA,GAASC,IAEXC,EAAoB3B,GAAkB4B,MAAQ7B,GAAS6B,MAAQ5B,EAAmBD,EAClF8B,EAAmBF,GAAmBC,OAASf,KAAKC,MAAMgB,QAAQF,MAExE,GAAID,GAAqBE,EACrB,OAAOE,EAACC,EAAAA,CAAejC,QAASA,EAASC,iBAAkBA,EAAkBiC,SAAUnB,EAAMmB,YAAcnB,IAG/G,MAAMoB,EAAsBtB,IACxB,GAAIA,EAASuB,OAAOC,oBAAqB,OAAOX,EAAKY,IAAIzB,EAASuB,OAAOC,qBAEzE,OAAQvB,KAAKjB,MAAMC,QACf,IAAK,aACD,OAAO4B,EAAKY,IAAI,6BACpB,IAAK,aACD,OAAOZ,EAAKY,IAAI,6BACpB,IAAK,iBACD,OAAOZ,EAAKY,IAAI,iCACpB,QACI,OAAO,KACf,EAGJ,OACIN,EAACO,MAAAA,CAAIC,UAAU,4BACY,UAAtB1B,KAAKjB,MAAMC,QAAsBkC,EAACS,EAAAA,CAAMC,KAAM,SAAUhB,EAAKY,IAAI,0BAElEN,EAACW,EAAAA,IACO7B,KAAKC,MACT6B,IAAKA,IACD9B,KAAKF,IAAMgC,CAAAA,EAEfrC,SAAUO,KAAKP,SACfC,QAASM,KAAKM,YACdyB,KAAMC,EACNrB,OAAQ,EAAGsB,cAAaC,cAAcnC,IAClCC,KAAKC,MAAML,sBAAsB,CAC7BgB,KAAMA,EACNrB,YAAaS,KAAKC,MAAMV,YACxBH,eAAgBA,EAChBiC,oBAAqBA,EACrBY,YAAaA,EACbC,WAAYA,EACZnC,SAAUA,MAKrBC,KAAKC,MAAMkC,eACRnC,KAAKC,MAAMmC,UAAU,CACjBpD,OAAQgB,KAAKjB,MAAMC,OACnBqD,QAASrC,KAAKC,MAAMmB,SACpBkB,MAAO1B,EAAKY,IAAI,mBAIpC"}
1
+ {"version":3,"file":"GiftcardComponent.js","sources":["../../../../../src/components/Giftcard/components/GiftcardComponent.tsx"],"sourcesContent":["import { Component, FunctionComponent, h } from 'preact';\nimport SecuredFieldsProvider from '../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport Alert from '../../internal/Alert';\nimport GiftcardResult from './GiftcardResult';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { GIFT_CARD } from '../../internal/SecuredFields/lib/constants';\nimport { GiftCardFields } from './GiftcardFields';\nimport { GiftcardFieldsProps, Placeholders } from './types';\n\ninterface GiftcardComponentProps {\n onChange: (state) => void;\n onFocus: (event) => void;\n onBlur: (event) => void;\n onSubmit: (event) => void;\n onBalanceCheck: (event) => void;\n\n amount?: PaymentAmount;\n showPayButton: boolean;\n payButton: (config) => any;\n\n pinRequired: boolean;\n expiryDateRequired?: boolean;\n fieldsLayoutComponent: FunctionComponent<GiftcardFieldsProps>;\n placeholders?: Placeholders;\n handleKeyPress?: (o: KeyboardEvent) => void;\n}\n\nclass Giftcard extends Component<GiftcardComponentProps> {\n public state = {\n status: 'ready',\n data: {},\n balance: null,\n transactionLimit: null,\n focusedElement: false,\n isValid: false\n };\n\n public static defaultProps = {\n pinRequired: true,\n expiryDateRequired: false,\n onChange: () => {},\n onFocus: () => {},\n onBlur: () => {},\n fieldsLayoutComponent: GiftCardFields\n };\n\n public sfp;\n\n public onChange = sfpState => {\n this.props.onChange({\n data: sfpState.data,\n isValid: sfpState.isSfpValid\n });\n };\n\n public showValidation = () => {\n this.sfp.showValidation();\n };\n\n setStatus(status) {\n this.setState({ status });\n }\n\n public handleFocus = e => {\n this.setState({ focusedElement: e.currentFocusObject });\n\n const isFocused = e.focus === true;\n if (isFocused) {\n this.props.onFocus(e);\n } else {\n this.props.onBlur(e);\n }\n };\n\n public setBalance = ({ balance, transactionLimit }) => {\n this.setState({ balance, transactionLimit });\n };\n\n render(props, { focusedElement, balance, transactionLimit }) {\n const { i18n } = useCoreContext();\n\n const transactionAmount = transactionLimit?.value < balance?.value ? transactionLimit : balance;\n const hasEnoughBalance = transactionAmount?.value >= this.props.amount?.value;\n\n if (transactionAmount && hasEnoughBalance) {\n return <GiftcardResult balance={balance} transactionLimit={transactionLimit} onSubmit={props.onSubmit} {...props} />;\n }\n\n const getCardErrorMessage = sfpState => {\n if (sfpState.errors.encryptedCardNumber) return i18n.get(sfpState.errors.encryptedCardNumber);\n\n switch (this.state.status) {\n case 'no-balance':\n return i18n.get('error.giftcard.no-balance');\n case 'card-error':\n return i18n.get('error.giftcard.card-error');\n case 'currency-error':\n return i18n.get('error.giftcard.currency-error');\n default:\n return null;\n }\n };\n\n return (\n <div className=\"adyen-checkout__giftcard\">\n {this.state.status === 'error' && <Alert icon={'cross'}>{i18n.get('error.message.unknown')}</Alert>}\n\n <SecuredFieldsProvider\n {...this.props}\n ref={ref => {\n this.sfp = ref;\n }}\n onChange={this.onChange}\n onFocus={this.handleFocus}\n type={GIFT_CARD}\n render={({ setRootNode, setFocusOn }, sfpState) =>\n this.props.fieldsLayoutComponent({\n i18n: i18n,\n pinRequired: this.props.pinRequired,\n focusedElement: focusedElement,\n getCardErrorMessage: getCardErrorMessage,\n setRootNode: setRootNode,\n setFocusOn: setFocusOn,\n sfpState: sfpState\n })\n }\n />\n\n {this.props.showPayButton &&\n this.props.payButton({\n status: this.state.status,\n onClick: this.props.onSubmit,\n label: i18n.get('applyGiftcard')\n })}\n </div>\n );\n }\n}\n\nexport default Giftcard;\n"],"names":["Giftcard","Component","setStatus","status","this","setState","render","props","focusedElement","balance","transactionLimit","i18n","useCoreContext","transactionAmount","value","hasEnoughBalance","amount","h","GiftcardResult","onSubmit","getCardErrorMessage","sfpState","errors","encryptedCardNumber","get","state","div","className","Alert","icon","SecuredFieldsProvider","ref","sfp","onChange","onFocus","handleFocus","type","GIFT_CARD","setRootNode","setFocusOn","fieldsLayoutComponent","pinRequired","showPayButton","payButton","onClick","label","_define_property","data","isValid","isSfpValid","showValidation","e","currentFocusObject","focus","onBlur","setBalance","defaultProps","expiryDateRequired","GiftCardFields"],"mappings":"8iBA4BA,MAAMA,UAAiBC,EAgCnBC,SAAAA,CAAUC,GACNC,KAAKC,SAAS,CAAEF,UACpB,CAiBAG,MAAAA,CAAOC,GAAOC,eAAEA,EAAcC,QAAEA,EAAOC,iBAAEA,IACrC,MAAMC,KAAEA,GAASC,IAEXC,EAAoBH,GAAkBI,MAAQL,GAASK,MAAQJ,EAAmBD,EAClFM,EAAmBF,GAAmBC,OAASV,KAAKG,MAAMS,QAAQF,MAExE,GAAID,GAAqBE,EACrB,OAAOE,EAACC,EAAAA,CAAeT,QAASA,EAASC,iBAAkBA,EAAkBS,SAAUZ,EAAMY,YAAcZ,IAG/G,MAAMa,EAAsBC,IACxB,GAAIA,EAASC,OAAOC,oBAAqB,OAAOZ,EAAKa,IAAIH,EAASC,OAAOC,qBAEzE,OAAQnB,KAAKqB,MAAMtB,QACf,IAAK,aACD,OAAOQ,EAAKa,IAAI,6BACpB,IAAK,aACD,OAAOb,EAAKa,IAAI,6BACpB,IAAK,iBACD,OAAOb,EAAKa,IAAI,iCACpB,QACI,OAAO,KACf,EAGJ,OACIP,EAACS,MAAAA,CAAIC,UAAU,4BACY,UAAtBvB,KAAKqB,MAAMtB,QAAsBc,EAACW,EAAAA,CAAMC,KAAM,SAAUlB,EAAKa,IAAI,0BAElEP,EAACa,EAAAA,IACO1B,KAAKG,MACTwB,IAAKA,IACD3B,KAAK4B,IAAMD,CAAAA,EAEfE,SAAU7B,KAAK6B,SACfC,QAAS9B,KAAK+B,YACdC,KAAMC,EACN/B,OAAQ,EAAGgC,cAAaC,cAAclB,IAClCjB,KAAKG,MAAMiC,sBAAsB,CAC7B7B,KAAMA,EACN8B,YAAarC,KAAKG,MAAMkC,YACxBjC,eAAgBA,EAChBY,oBAAqBA,EACrBkB,YAAaA,EACbC,WAAYA,EACZlB,SAAUA,MAKrBjB,KAAKG,MAAMmC,eACRtC,KAAKG,MAAMoC,UAAU,CACjBxC,OAAQC,KAAKqB,MAAMtB,OACnByC,QAASxC,KAAKG,MAAMY,SACpB0B,MAAOlC,EAAKa,IAAI,mBAIpC,+BA5GAsB,EAAA1C,KAAOqB,QAAQ,CACXtB,OAAQ,QACR4C,KAAM,CAAC,EACPtC,QAAS,KACTC,iBAAkB,KAClBF,gBAAgB,EAChBwC,SAAS,IAYbF,EAAA1C,KAAO4B,WAAP,GAEAc,EAAA1C,KAAO6B,YAAWZ,IACdjB,KAAKG,MAAM0B,SAAS,CAChBc,KAAM1B,EAAS0B,KACfC,QAAS3B,EAAS4B,YACtB,IAGJH,EAAA1C,KAAO8C,kBAAiB,KACpB9C,KAAK4B,IAAIkB,gBAAc,IAO3BJ,EAAA1C,KAAO+B,eAAcgB,IACjB/C,KAAKC,SAAS,CAAEG,eAAgB2C,EAAEC,sBAEJ,IAAZD,EAAEE,MAEhBjD,KAAKG,MAAM2B,QAAQiB,GAEnB/C,KAAKG,MAAM+C,OAAOH,EACtB,IAGJL,EAAA1C,KAAOmD,cAAa,EAAG9C,UAASC,uBAC5BN,KAAKC,SAAS,CAAEI,UAASC,oBAAiB,KAtC9CoC,EAVE9C,EAUYwD,eAAe,CACzBf,aAAa,EACbgB,oBAAoB,EACpBxB,SAAU,OACVC,QAAS,OACToB,OAAQ,OACRd,sBAAuBkB"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{CoreProvider as e}from"../../core/Context/CoreProvider.js";import r from"../Redirect/Redirect.js";import o from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as s}from"../tx-variants.js";class i extends r{static type=s.giropay;get displayName(){return this.props.name||this.constructor.type}render(){return this.props.showPayButton?t(e,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(o,{...this.props,showPayButton:this.props.showPayButton,name:this.displayName,onSubmit:this.submit,payButton:this.payButton,ref:t=>{this.componentRef=t}})):null}}export{i as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{CoreProvider as e}from"../../core/Context/CoreProvider.js";import r from"../Redirect/Redirect.js";import o from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as s}from"../tx-variants.js";class i extends r{get displayName(){return this.props.name||this.constructor.type}render(){return this.props.showPayButton?t(e,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(o,{...this.props,showPayButton:this.props.showPayButton,name:this.displayName,onSubmit:this.submit,payButton:this.payButton,ref:t=>{this.componentRef=t}})):null}}var n,a,p;n=i,a="type",p=s.giropay,a in n?Object.defineProperty(n,a,{value:p,enumerable:!0,configurable:!0,writable:!0}):n[a]=p;export{i as default};
2
2
  //# sourceMappingURL=Giropay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Giropay.js","sources":["../../../../src/components/Giropay/Giropay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectElement from '../Redirect';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\n\nclass GiropayElement extends RedirectElement {\n public static type = TxVariants.giropay;\n\n get displayName() {\n return this.props.name || this.constructor['type'];\n }\n\n render() {\n if (this.props.showPayButton) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <RedirectButton\n {...this.props}\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n </CoreProvider>\n );\n }\n\n return null;\n }\n}\n\nexport default GiropayElement;\n"],"names":["GiropayElement","RedirectElement","static","TxVariants","giropay","displayName","this","props","name","constructor","render","showPayButton","h","CoreProvider","i18n","loadingContext","resources","RedirectButton","onSubmit","submit","payButton","ref","componentRef"],"mappings":"yRAMA,MAAMA,UAAuBC,EACzBC,YAAqBC,EAAWC,QAEhC,eAAIC,GACA,OAAOC,KAAKC,MAAMC,MAAQF,KAAKG,YAAmB,IACtD,CAEAC,MAAAA,GACI,OAAIJ,KAAKC,MAAMI,cAEPC,EAACC,EAAAA,CAAaC,KAAMR,KAAKC,MAAMO,KAAMC,eAAgBT,KAAKC,MAAMQ,eAAgBC,UAAWV,KAAKU,WAC5FJ,EAACK,EAAAA,IACOX,KAAKC,MACTI,cAAeL,KAAKC,MAAMI,cAC1BH,KAAMF,KAAKD,YACXa,SAAUZ,KAAKa,OACfC,UAAWd,KAAKc,UAChBC,IAAKA,IACDf,KAAKgB,aAAeD,CAAAA,KAOjC,IACX"}
1
+ {"version":3,"file":"Giropay.js","sources":["../../../../src/components/Giropay/Giropay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectElement from '../Redirect';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\n\nclass GiropayElement extends RedirectElement {\n public static type = TxVariants.giropay;\n\n get displayName() {\n return this.props.name || this.constructor['type'];\n }\n\n render() {\n if (this.props.showPayButton) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <RedirectButton\n {...this.props}\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n </CoreProvider>\n );\n }\n\n return null;\n }\n}\n\nexport default GiropayElement;\n"],"names":["GiropayElement","RedirectElement","displayName","this","props","name","constructor","render","showPayButton","h","CoreProvider","i18n","loadingContext","resources","RedirectButton","onSubmit","submit","payButton","ref","componentRef","type","TxVariants","giropay"],"mappings":"yRAMA,MAAMA,UAAuBC,EAGzB,eAAIC,GACA,OAAOC,KAAKC,MAAMC,MAAQF,KAAKG,YAAmB,IACtD,CAEAC,MAAAA,GACI,OAAIJ,KAAKC,MAAMI,cAEPC,EAACC,EAAAA,CAAaC,KAAMR,KAAKC,MAAMO,KAAMC,eAAgBT,KAAKC,MAAMQ,eAAgBC,UAAWV,KAAKU,WAC5FJ,EAACK,EAAAA,IACOX,KAAKC,MACTI,cAAeL,KAAKC,MAAMI,cAC1BH,KAAMF,KAAKD,YACXa,SAAUZ,KAAKa,OACfC,UAAWd,KAAKc,UAChBC,IAAKA,IACDf,KAAKgB,aAAeD,CAAAA,KAOjC,IACX,cA1BElB,IACYoB,SAAOC,EAAWC"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./GooglePayService.js";import s from"./components/GooglePayButton.js";import r from"./defaultProps.js";import{getGooglePayLocale as n,formatGooglePayContactToAdyenAddressFormat as a}from"./utils.js";import i from"../../utils/browserInfo.js";import l from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as h}from"../tx-variants.js";import{sanitizeResponse as p,verifyPaymentDidNotFail as d}from"../internal/UIElement/utils.js";import{ANALYTICS_SELECTED_STR as y,ANALYTICS_INSTANT_PAYMENT_BUTTON as u}from"../../core/Analytics/constants.js";class g extends e{static type=h.googlepay;static txVariants=[h.googlepay,h.paywithgoogle];static defaultProps=r;googlePay;constructor(t,e){super(t,e),this.handleAuthorization=this.handleAuthorization.bind(this);const{isExpress:s,paymentDataCallbacks:r}=this.props;if(!1===s&&r?.onPaymentDataChanged)throw new l("IMPLEMENTATION_ERROR",'GooglePay - You must set "isExpress" flag to "true" in order to use "onPaymentDataChanged" callback');this.googlePay=new o(this.props.environment,{...s&&r?.onPaymentDataChanged&&{onPaymentDataChanged:r.onPaymentDataChanged},onPaymentAuthorized:this.onPaymentAuthorized})}formatProps(t){const e=t.buttonSizeMode??(t.isDropin?"fill":"static"),o=n(t.buttonLocale??t.i18n?.locale),s=[...t.callbackIntents,"PAYMENT_AUTHORIZATION"];return{...t,configuration:t.configuration,buttonSizeMode:e,buttonLocale:o,callbackIntents:s}}formatData(){const{googlePayCardNetwork:t,googlePayToken:e,billingAddress:o,deliveryAddress:s}=this.state,{isExpress:r}=this.props;return{paymentMethod:{type:this.type,googlePayCardNetwork:t,googlePayToken:e,...r&&{subtype:"express"}},browserInfo:this.browserInfo,origin:!!window&&window.location.origin,...o&&{billingAddress:o},...s&&{deliveryAddress:s}}}submitAnalytics(t){super.submitAnalytics({...t},this.props)}submit=()=>{this.props.isInstantPayment&&this.submitAnalytics({type:y,target:u}),new Promise(((t,e)=>this.props.onClick(t,e))).then((()=>this.googlePay.initiatePayment(this.props,this.core.options.countryCode))).catch((t=>{"CANCELED"===t.statusCode?this.handleError(new l("CANCEL",t.toString(),{cause:t})):this.handleError(new l("ERROR",t.toString(),{cause:t}))}))};onPaymentAuthorized=async t=>{const e=a(t.paymentMethodData.info.billingAddress),o=a(t.shippingAddress,!0);return this.setState({authorizedEvent:t,googlePayToken:t.paymentMethodData.tokenizationData.token,googlePayCardNetwork:t.paymentMethodData.info.cardNetwork,...e&&{billingAddress:e},...o&&{deliveryAddress:o}}),new Promise((t=>{this.handleAuthorization().then(this.makePaymentsCall).then(p).then(d).then((e=>(t({transactionState:"SUCCESS"}),e))).then((t=>{this.handleResponse(t)})).catch((e=>{this.setElementStatus("ready");const o=e?.error?.googlePayError,s=this.props.i18n.get("error.subtitle.payment"),r="string"==typeof o?{intent:"PAYMENT_AUTHORIZATION",reason:"OTHER_ERROR",message:o||s}:{intent:o?.intent||"PAYMENT_AUTHORIZATION",reason:o?.reason||"OTHER_ERROR",message:o?.message||s};t({transactionState:"ERROR",error:r});const n={...e,error:{googlePayError:r}};this.handleFailedResult(n)}))}))};async handleAuthorization(){return new Promise(((t,e)=>{this.props.onAuthorized||t();const{authorizedEvent:o,billingAddress:s,deliveryAddress:r}=this.state;this.props.onAuthorized({authorizedEvent:o,...s&&{billingAddress:s},...r&&{deliveryAddress:r}},{resolve:t,reject:e})})).catch((t=>{const e={error:{googlePayError:t}};return Promise.reject(e)}))}get isValid(){return!!this.state.googlePayToken}async isAvailable(){return this.isReadyToPay().then((t=>{if(!t.result)throw new l("ERROR","GooglePay is not available");if(!1===t.paymentMethodPresent)throw new l("ERROR","GooglePay - No paymentMethodPresent");return Promise.resolve()})).catch((t=>Promise.reject(t)))}isReadyToPay=()=>this.googlePay.isReadyToPay(this.props);prefetch=()=>this.googlePay.prefetchPaymentData(this.props,this.core.options.countryCode);get browserInfo(){return i()}get icon(){return this.props.icon??this.resources.getImage()("googlepay")}render(){return this.props.showPayButton?t(s,{buttonColor:this.props.buttonColor,buttonType:this.props.buttonType,buttonSizeMode:this.props.buttonSizeMode,buttonLocale:this.props.buttonLocale,buttonRootNode:this.props.buttonRootNode,buttonRadius:this.props.buttonRadius,paymentsClient:this.googlePay.paymentsClient,onClick:this.submit}):null}}export{g as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./GooglePayService.js";import s from"./components/GooglePayButton.js";import r from"./defaultProps.js";import{getGooglePayLocale as n,formatGooglePayContactToAdyenAddressFormat as i}from"./utils.js";import a from"../../utils/browserInfo.js";import l from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as h}from"../tx-variants.js";import{sanitizeResponse as p,verifyPaymentDidNotFail as d}from"../internal/UIElement/utils.js";import{ANALYTICS_SELECTED_STR as u,ANALYTICS_INSTANT_PAYMENT_BUTTON as y}from"../../core/Analytics/constants.js";function g(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}class c extends e{formatProps(t){const e=t.buttonSizeMode??(t.isDropin?"fill":"static"),o=n(t.buttonLocale??t.i18n?.locale),s=[...t.callbackIntents,"PAYMENT_AUTHORIZATION"];return{...t,configuration:t.configuration,buttonSizeMode:e,buttonLocale:o,callbackIntents:s}}formatData(){const{googlePayCardNetwork:t,googlePayToken:e,billingAddress:o,deliveryAddress:s}=this.state,{isExpress:r}=this.props;return{paymentMethod:{type:this.type,googlePayCardNetwork:t,googlePayToken:e,...r&&{subtype:"express"}},browserInfo:this.browserInfo,origin:!!window&&window.location.origin,...o&&{billingAddress:o},...s&&{deliveryAddress:s}}}submitAnalytics(t){super.submitAnalytics({...t},this.props)}async handleAuthorization(){return new Promise(((t,e)=>{this.props.onAuthorized||t();const{authorizedEvent:o,billingAddress:s,deliveryAddress:r}=this.state;this.props.onAuthorized({authorizedEvent:o,...s&&{billingAddress:s},...r&&{deliveryAddress:r}},{resolve:t,reject:e})})).catch((t=>{const e={error:{googlePayError:t}};return Promise.reject(e)}))}get isValid(){return!!this.state.googlePayToken}async isAvailable(){return this.isReadyToPay().then((t=>{if(!t.result)throw new l("ERROR","GooglePay is not available");if(!1===t.paymentMethodPresent)throw new l("ERROR","GooglePay - No paymentMethodPresent");return Promise.resolve()})).catch((t=>Promise.reject(t)))}get browserInfo(){return a()}get icon(){return this.props.icon??this.resources.getImage()("googlepay")}render(){return this.props.showPayButton?t(s,{buttonColor:this.props.buttonColor,buttonType:this.props.buttonType,buttonSizeMode:this.props.buttonSizeMode,buttonLocale:this.props.buttonLocale,buttonRootNode:this.props.buttonRootNode,buttonRadius:this.props.buttonRadius,paymentsClient:this.googlePay.paymentsClient,onClick:this.submit}):null}constructor(t,e){super(t,e),g(this,"googlePay",void 0),g(this,"submit",(()=>{this.props.isInstantPayment&&this.submitAnalytics({type:u,target:y}),new Promise(((t,e)=>this.props.onClick(t,e))).then((()=>this.googlePay.initiatePayment(this.props,this.core.options.countryCode))).catch((t=>{"CANCELED"===t.statusCode?this.handleError(new l("CANCEL",t.toString(),{cause:t})):this.handleError(new l("ERROR",t.toString(),{cause:t}))}))})),g(this,"onPaymentAuthorized",(async t=>{const e=i(t.paymentMethodData.info.billingAddress),o=i(t.shippingAddress,!0);return this.setState({authorizedEvent:t,googlePayToken:t.paymentMethodData.tokenizationData.token,googlePayCardNetwork:t.paymentMethodData.info.cardNetwork,...e&&{billingAddress:e},...o&&{deliveryAddress:o}}),new Promise((t=>{this.handleAuthorization().then(this.makePaymentsCall).then(p).then(d).then((e=>(t({transactionState:"SUCCESS"}),e))).then((t=>{this.handleResponse(t)})).catch((e=>{this.setElementStatus("ready");const o=e?.error?.googlePayError,s=this.props.i18n.get("error.subtitle.payment"),r="string"==typeof o?{intent:"PAYMENT_AUTHORIZATION",reason:"OTHER_ERROR",message:o||s}:{intent:o?.intent||"PAYMENT_AUTHORIZATION",reason:o?.reason||"OTHER_ERROR",message:o?.message||s};t({transactionState:"ERROR",error:r});const n={...e,error:{googlePayError:r}};this.handleFailedResult(n)}))}))})),g(this,"isReadyToPay",(()=>this.googlePay.isReadyToPay(this.props))),g(this,"prefetch",(()=>this.googlePay.prefetchPaymentData(this.props,this.core.options.countryCode))),this.handleAuthorization=this.handleAuthorization.bind(this);const{isExpress:s,paymentDataCallbacks:r}=this.props;if(!1===s&&r?.onPaymentDataChanged)throw new l("IMPLEMENTATION_ERROR",'GooglePay - You must set "isExpress" flag to "true" in order to use "onPaymentDataChanged" callback');this.googlePay=new o(this.props.environment,{...s&&r?.onPaymentDataChanged&&{onPaymentDataChanged:r.onPaymentDataChanged},onPaymentAuthorized:this.onPaymentAuthorized})}}g(c,"type",h.googlepay),g(c,"txVariants",[h.googlepay,h.paywithgoogle]),g(c,"defaultProps",r);export{c as default};
2
2
  //# sourceMappingURL=GooglePay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GooglePay.js","sources":["../../../../src/components/GooglePay/GooglePay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GooglePayService from './GooglePayService';\nimport GooglePayButton from './components/GooglePayButton';\nimport defaultProps from './defaultProps';\nimport { formatGooglePayContactToAdyenAddressFormat, getGooglePayLocale } from './utils';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { ANALYTICS_INSTANT_PAYMENT_BUTTON, ANALYTICS_SELECTED_STR } from '../../core/Analytics/constants';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\n\nimport type { AddressData, BrowserInfo, PaymentResponseData, RawPaymentResponse } from '../../types/global-types';\nimport type { GooglePayConfiguration } from './types';\nimport type { ICore } from '../../core/types';\n\nclass GooglePay extends UIElement<GooglePayConfiguration> {\n public static type = TxVariants.googlepay;\n public static txVariants = [TxVariants.googlepay, TxVariants.paywithgoogle];\n public static defaultProps = defaultProps;\n\n protected readonly googlePay;\n\n constructor(checkout: ICore, props?: GooglePayConfiguration) {\n super(checkout, props);\n this.handleAuthorization = this.handleAuthorization.bind(this);\n\n const { isExpress, paymentDataCallbacks } = this.props;\n\n if (isExpress === false && paymentDataCallbacks?.onPaymentDataChanged) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'GooglePay - You must set \"isExpress\" flag to \"true\" in order to use \"onPaymentDataChanged\" callback'\n );\n }\n\n this.googlePay = new GooglePayService(this.props.environment, {\n ...(isExpress && paymentDataCallbacks?.onPaymentDataChanged && { onPaymentDataChanged: paymentDataCallbacks.onPaymentDataChanged }),\n onPaymentAuthorized: this.onPaymentAuthorized\n });\n }\n\n protected override formatProps(props): GooglePayConfiguration {\n const buttonSizeMode = props.buttonSizeMode ?? (props.isDropin ? 'fill' : 'static');\n const buttonLocale = getGooglePayLocale(props.buttonLocale ?? props.i18n?.locale);\n\n const callbackIntents: google.payments.api.CallbackIntent[] = [...props.callbackIntents, 'PAYMENT_AUTHORIZATION'];\n\n return {\n ...props,\n configuration: props.configuration,\n buttonSizeMode,\n buttonLocale,\n callbackIntents\n };\n }\n\n /**\n * Formats the component data output\n */\n protected override formatData() {\n const { googlePayCardNetwork, googlePayToken, billingAddress, deliveryAddress } = this.state;\n const { isExpress } = this.props;\n\n return {\n paymentMethod: {\n type: this.type,\n googlePayCardNetwork,\n googlePayToken,\n ...(isExpress && { subtype: 'express' })\n },\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n };\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n super.submitAnalytics({ ...analyticsObj }, this.props);\n }\n\n public override submit = () => {\n // Analytics\n if (this.props.isInstantPayment) {\n this.submitAnalytics({ type: ANALYTICS_SELECTED_STR, target: ANALYTICS_INSTANT_PAYMENT_BUTTON });\n }\n\n new Promise((resolve, reject) => this.props.onClick(resolve, reject))\n .then(() => this.googlePay.initiatePayment(this.props, this.core.options.countryCode))\n .catch((error: google.payments.api.PaymentsError) => {\n if (error.statusCode === 'CANCELED') {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n this.handleError(new AdyenCheckoutError('CANCEL', error.toString(), { cause: error }));\n } else {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n this.handleError(new AdyenCheckoutError('ERROR', error.toString(), { cause: error }));\n }\n });\n };\n\n /**\n * Method called when the payment is authorized in the payment sheet\n *\n * @see https://developers.google.com/pay/api/web/reference/client#onPaymentAuthorized\n **/\n private onPaymentAuthorized = async (paymentData: google.payments.api.PaymentData): Promise<google.payments.api.PaymentAuthorizationResult> => {\n const billingAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.paymentMethodData.info.billingAddress);\n const deliveryAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.shippingAddress, true);\n\n this.setState({\n authorizedEvent: paymentData,\n googlePayToken: paymentData.paymentMethodData.tokenizationData.token,\n googlePayCardNetwork: paymentData.paymentMethodData.info.cardNetwork,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n return new Promise<google.payments.api.PaymentAuthorizationResult>(resolve => {\n this.handleAuthorization()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then((paymentResponse: PaymentResponseData) => {\n resolve({ transactionState: 'SUCCESS' });\n return paymentResponse;\n })\n .then(paymentResponse => {\n this.handleResponse(paymentResponse);\n })\n .catch((paymentResponse?: RawPaymentResponse) => {\n this.setElementStatus('ready');\n\n const googlePayError = paymentResponse?.error?.googlePayError;\n const fallbackMessage = this.props.i18n.get('error.subtitle.payment');\n\n const error: google.payments.api.PaymentDataError =\n typeof googlePayError === 'string' || undefined\n ? {\n intent: 'PAYMENT_AUTHORIZATION',\n reason: 'OTHER_ERROR',\n message: (googlePayError as string) || fallbackMessage\n }\n : {\n intent: googlePayError?.intent || 'PAYMENT_AUTHORIZATION',\n reason: googlePayError?.reason || 'OTHER_ERROR',\n message: googlePayError?.message || fallbackMessage\n };\n\n resolve({\n transactionState: 'ERROR',\n error\n });\n\n const responseWithError = {\n ...paymentResponse,\n error: {\n googlePayError: error\n }\n };\n\n this.handleFailedResult(responseWithError);\n });\n });\n };\n\n /**\n * Call the 'onAuthorized' callback if available.\n * Must be resolved/reject for the payment flow to continue\n */\n private async handleAuthorization(): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (!this.props.onAuthorized) {\n resolve();\n }\n\n const { authorizedEvent, billingAddress, deliveryAddress } = this.state;\n\n this.props.onAuthorized(\n {\n authorizedEvent,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n );\n }).catch((error?: google.payments.api.PaymentDataError | string) => {\n // Format error in a way that the 'catch' of the 'onPaymentAuthorize' block accepts it\n const data = { error: { googlePayError: error } };\n return Promise.reject(data);\n });\n }\n\n /**\n * Validation\n */\n get isValid(): boolean {\n return !!this.state.googlePayToken;\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public override async isAvailable(): Promise<void> {\n return this.isReadyToPay()\n .then(response => {\n if (!response.result) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay is not available');\n }\n\n if (response.paymentMethodPresent === false) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay - No paymentMethodPresent');\n }\n\n return Promise.resolve();\n })\n .catch(error => {\n return Promise.reject(error);\n });\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public isReadyToPay = (): Promise<google.payments.api.IsReadyToPayResponse> => {\n return this.googlePay.isReadyToPay(this.props);\n };\n\n /**\n * Use this method to prefetch a PaymentDataRequest configuration to improve loadPaymentData execution time on later user interaction. No value is returned.\n */\n public prefetch = (): void => {\n return this.googlePay.prefetchPaymentData(this.props, this.core.options.countryCode);\n };\n\n get browserInfo(): BrowserInfo {\n return collectBrowserInfo();\n }\n\n get icon(): string {\n return this.props.icon ?? this.resources.getImage()('googlepay');\n }\n\n render() {\n if (this.props.showPayButton) {\n return (\n <GooglePayButton\n buttonColor={this.props.buttonColor}\n buttonType={this.props.buttonType}\n buttonSizeMode={this.props.buttonSizeMode}\n buttonLocale={this.props.buttonLocale}\n buttonRootNode={this.props.buttonRootNode}\n buttonRadius={this.props.buttonRadius}\n paymentsClient={this.googlePay.paymentsClient}\n onClick={this.submit}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default GooglePay;\n"],"names":["GooglePay","UIElement","static","TxVariants","googlepay","paywithgoogle","defaultProps","googlePay","constructor","checkout","props","super","this","handleAuthorization","bind","isExpress","paymentDataCallbacks","onPaymentDataChanged","AdyenCheckoutError","GooglePayService","environment","onPaymentAuthorized","formatProps","buttonSizeMode","isDropin","buttonLocale","getGooglePayLocale","i18n","locale","callbackIntents","configuration","formatData","googlePayCardNetwork","googlePayToken","billingAddress","deliveryAddress","state","paymentMethod","type","subtype","browserInfo","origin","window","location","submitAnalytics","analyticsObj","submit","isInstantPayment","ANALYTICS_SELECTED_STR","target","ANALYTICS_INSTANT_PAYMENT_BUTTON","Promise","resolve","reject","onClick","then","initiatePayment","core","options","countryCode","catch","error","statusCode","handleError","toString","cause","async","paymentData","formatGooglePayContactToAdyenAddressFormat","paymentMethodData","info","shippingAddress","setState","authorizedEvent","tokenizationData","token","cardNetwork","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","paymentResponse","transactionState","handleResponse","setElementStatus","googlePayError","fallbackMessage","get","intent","reason","message","responseWithError","handleFailedResult","onAuthorized","data","isValid","isAvailable","isReadyToPay","response","result","paymentMethodPresent","prefetch","prefetchPaymentData","collectBrowserInfo","icon","resources","getImage","render","showPayButton","h","GooglePayButton","buttonColor","buttonType","buttonRootNode","buttonRadius","paymentsClient"],"mappings":"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"}
1
+ {"version":3,"file":"GooglePay.js","sources":["../../../../src/components/GooglePay/GooglePay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GooglePayService from './GooglePayService';\nimport GooglePayButton from './components/GooglePayButton';\nimport defaultProps from './defaultProps';\nimport { formatGooglePayContactToAdyenAddressFormat, getGooglePayLocale } from './utils';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { ANALYTICS_INSTANT_PAYMENT_BUTTON, ANALYTICS_SELECTED_STR } from '../../core/Analytics/constants';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\n\nimport type { AddressData, BrowserInfo, PaymentResponseData, RawPaymentResponse } from '../../types/global-types';\nimport type { GooglePayConfiguration } from './types';\nimport type { ICore } from '../../core/types';\n\nclass GooglePay extends UIElement<GooglePayConfiguration> {\n public static type = TxVariants.googlepay;\n public static txVariants = [TxVariants.googlepay, TxVariants.paywithgoogle];\n public static defaultProps = defaultProps;\n\n protected readonly googlePay;\n\n constructor(checkout: ICore, props?: GooglePayConfiguration) {\n super(checkout, props);\n this.handleAuthorization = this.handleAuthorization.bind(this);\n\n const { isExpress, paymentDataCallbacks } = this.props;\n\n if (isExpress === false && paymentDataCallbacks?.onPaymentDataChanged) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'GooglePay - You must set \"isExpress\" flag to \"true\" in order to use \"onPaymentDataChanged\" callback'\n );\n }\n\n this.googlePay = new GooglePayService(this.props.environment, {\n ...(isExpress && paymentDataCallbacks?.onPaymentDataChanged && { onPaymentDataChanged: paymentDataCallbacks.onPaymentDataChanged }),\n onPaymentAuthorized: this.onPaymentAuthorized\n });\n }\n\n protected override formatProps(props): GooglePayConfiguration {\n const buttonSizeMode = props.buttonSizeMode ?? (props.isDropin ? 'fill' : 'static');\n const buttonLocale = getGooglePayLocale(props.buttonLocale ?? props.i18n?.locale);\n\n const callbackIntents: google.payments.api.CallbackIntent[] = [...props.callbackIntents, 'PAYMENT_AUTHORIZATION'];\n\n return {\n ...props,\n configuration: props.configuration,\n buttonSizeMode,\n buttonLocale,\n callbackIntents\n };\n }\n\n /**\n * Formats the component data output\n */\n protected override formatData() {\n const { googlePayCardNetwork, googlePayToken, billingAddress, deliveryAddress } = this.state;\n const { isExpress } = this.props;\n\n return {\n paymentMethod: {\n type: this.type,\n googlePayCardNetwork,\n googlePayToken,\n ...(isExpress && { subtype: 'express' })\n },\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n };\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n super.submitAnalytics({ ...analyticsObj }, this.props);\n }\n\n public override submit = () => {\n // Analytics\n if (this.props.isInstantPayment) {\n this.submitAnalytics({ type: ANALYTICS_SELECTED_STR, target: ANALYTICS_INSTANT_PAYMENT_BUTTON });\n }\n\n new Promise((resolve, reject) => this.props.onClick(resolve, reject))\n .then(() => this.googlePay.initiatePayment(this.props, this.core.options.countryCode))\n .catch((error: google.payments.api.PaymentsError) => {\n if (error.statusCode === 'CANCELED') {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n this.handleError(new AdyenCheckoutError('CANCEL', error.toString(), { cause: error }));\n } else {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n this.handleError(new AdyenCheckoutError('ERROR', error.toString(), { cause: error }));\n }\n });\n };\n\n /**\n * Method called when the payment is authorized in the payment sheet\n *\n * @see https://developers.google.com/pay/api/web/reference/client#onPaymentAuthorized\n **/\n private onPaymentAuthorized = async (paymentData: google.payments.api.PaymentData): Promise<google.payments.api.PaymentAuthorizationResult> => {\n const billingAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.paymentMethodData.info.billingAddress);\n const deliveryAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.shippingAddress, true);\n\n this.setState({\n authorizedEvent: paymentData,\n googlePayToken: paymentData.paymentMethodData.tokenizationData.token,\n googlePayCardNetwork: paymentData.paymentMethodData.info.cardNetwork,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n return new Promise<google.payments.api.PaymentAuthorizationResult>(resolve => {\n this.handleAuthorization()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then((paymentResponse: PaymentResponseData) => {\n resolve({ transactionState: 'SUCCESS' });\n return paymentResponse;\n })\n .then(paymentResponse => {\n this.handleResponse(paymentResponse);\n })\n .catch((paymentResponse?: RawPaymentResponse) => {\n this.setElementStatus('ready');\n\n const googlePayError = paymentResponse?.error?.googlePayError;\n const fallbackMessage = this.props.i18n.get('error.subtitle.payment');\n\n const error: google.payments.api.PaymentDataError =\n typeof googlePayError === 'string' || undefined\n ? {\n intent: 'PAYMENT_AUTHORIZATION',\n reason: 'OTHER_ERROR',\n message: (googlePayError as string) || fallbackMessage\n }\n : {\n intent: googlePayError?.intent || 'PAYMENT_AUTHORIZATION',\n reason: googlePayError?.reason || 'OTHER_ERROR',\n message: googlePayError?.message || fallbackMessage\n };\n\n resolve({\n transactionState: 'ERROR',\n error\n });\n\n const responseWithError = {\n ...paymentResponse,\n error: {\n googlePayError: error\n }\n };\n\n this.handleFailedResult(responseWithError);\n });\n });\n };\n\n /**\n * Call the 'onAuthorized' callback if available.\n * Must be resolved/reject for the payment flow to continue\n */\n private async handleAuthorization(): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (!this.props.onAuthorized) {\n resolve();\n }\n\n const { authorizedEvent, billingAddress, deliveryAddress } = this.state;\n\n this.props.onAuthorized(\n {\n authorizedEvent,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n );\n }).catch((error?: google.payments.api.PaymentDataError | string) => {\n // Format error in a way that the 'catch' of the 'onPaymentAuthorize' block accepts it\n const data = { error: { googlePayError: error } };\n return Promise.reject(data);\n });\n }\n\n /**\n * Validation\n */\n get isValid(): boolean {\n return !!this.state.googlePayToken;\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public override async isAvailable(): Promise<void> {\n return this.isReadyToPay()\n .then(response => {\n if (!response.result) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay is not available');\n }\n\n if (response.paymentMethodPresent === false) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay - No paymentMethodPresent');\n }\n\n return Promise.resolve();\n })\n .catch(error => {\n return Promise.reject(error);\n });\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public isReadyToPay = (): Promise<google.payments.api.IsReadyToPayResponse> => {\n return this.googlePay.isReadyToPay(this.props);\n };\n\n /**\n * Use this method to prefetch a PaymentDataRequest configuration to improve loadPaymentData execution time on later user interaction. No value is returned.\n */\n public prefetch = (): void => {\n return this.googlePay.prefetchPaymentData(this.props, this.core.options.countryCode);\n };\n\n get browserInfo(): BrowserInfo {\n return collectBrowserInfo();\n }\n\n get icon(): string {\n return this.props.icon ?? this.resources.getImage()('googlepay');\n }\n\n render() {\n if (this.props.showPayButton) {\n return (\n <GooglePayButton\n buttonColor={this.props.buttonColor}\n buttonType={this.props.buttonType}\n buttonSizeMode={this.props.buttonSizeMode}\n buttonLocale={this.props.buttonLocale}\n buttonRootNode={this.props.buttonRootNode}\n buttonRadius={this.props.buttonRadius}\n paymentsClient={this.googlePay.paymentsClient}\n onClick={this.submit}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default GooglePay;\n"],"names":["GooglePay","UIElement","formatProps","props","buttonSizeMode","isDropin","buttonLocale","getGooglePayLocale","i18n","locale","callbackIntents","configuration","formatData","googlePayCardNetwork","googlePayToken","billingAddress","deliveryAddress","this","state","isExpress","paymentMethod","type","subtype","browserInfo","origin","window","location","submitAnalytics","analyticsObj","super","handleAuthorization","Promise","resolve","reject","onAuthorized","authorizedEvent","catch","error","data","googlePayError","isValid","isAvailable","isReadyToPay","then","response","result","AdyenCheckoutError","paymentMethodPresent","collectBrowserInfo","icon","resources","getImage","render","showPayButton","h","GooglePayButton","buttonColor","buttonType","buttonRootNode","buttonRadius","paymentsClient","googlePay","onClick","submit","constructor","checkout","_define_property","isInstantPayment","ANALYTICS_SELECTED_STR","target","ANALYTICS_INSTANT_PAYMENT_BUTTON","initiatePayment","core","options","countryCode","statusCode","handleError","toString","cause","onPaymentAuthorized","async","paymentData","formatGooglePayContactToAdyenAddressFormat","paymentMethodData","info","shippingAddress","setState","tokenizationData","token","cardNetwork","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","paymentResponse","transactionState","handleResponse","setElementStatus","fallbackMessage","get","intent","reason","message","responseWithError","handleFailedResult","prefetch","prefetchPaymentData","bind","paymentDataCallbacks","onPaymentDataChanged","GooglePayService","environment","TxVariants","googlepay","txVariants","paywithgoogle","defaultProps"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{isReadyToPayRequest as t,initiatePaymentRequest as e}from"./requests.js";import{resolveEnvironment as n}from"./utils.js";import a from"../../utils/Script.js";import i from"./config.js";class o{paymentsClient;constructor(t,e){const a=n(t);this.paymentsClient=this.getGooglePaymentsClient({environment:a,paymentDataCallbacks:e})}async getGooglePaymentsClient(t){if(!window.google?.payments){const t=new a(i.URL);await t.load()}return new google.payments.api.PaymentsClient(t)}isReadyToPay(e){return this.paymentsClient?this.paymentsClient.then((n=>n.isReadyToPay(t(e)))):Promise.reject(new Error("Google Pay is not available"))}prefetchPaymentData(t,n){if(!this.paymentsClient)throw new Error("Google Pay is not available");const a=e(t,n);this.paymentsClient.then((t=>t.prefetchPaymentData(a)))}initiatePayment(t,n){if(!this.paymentsClient)throw new Error("Google Pay is not available");const a=e(t,n);return this.paymentsClient.then((t=>t.loadPaymentData(a)))}}export{o as default};
1
+ import{isReadyToPayRequest as t,initiatePaymentRequest as e}from"./requests.js";import{resolveEnvironment as a}from"./utils.js";import n from"../../utils/Script.js";import i from"./config.js";class o{async getGooglePaymentsClient(t){if(!window.google?.payments){const t=new n(i.URL);await t.load()}return new google.payments.api.PaymentsClient(t)}isReadyToPay(e){return this.paymentsClient?this.paymentsClient.then((a=>a.isReadyToPay(t(e)))):Promise.reject(new Error("Google Pay is not available"))}prefetchPaymentData(t,a){if(!this.paymentsClient)throw new Error("Google Pay is not available");const n=e(t,a);this.paymentsClient.then((t=>t.prefetchPaymentData(n)))}initiatePayment(t,a){if(!this.paymentsClient)throw new Error("Google Pay is not available");const n=e(t,a);return this.paymentsClient.then((t=>t.loadPaymentData(n)))}constructor(t,e){var n,i,o;o=void 0,(i="paymentsClient")in(n=this)?Object.defineProperty(n,i,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[i]=o;const s=a(t);this.paymentsClient=this.getGooglePaymentsClient({environment:s,paymentDataCallbacks:e})}}export{o as default};
2
2
  //# sourceMappingURL=GooglePayService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GooglePayService.js","sources":["../../../../src/components/GooglePay/GooglePayService.ts"],"sourcesContent":["import { isReadyToPayRequest, initiatePaymentRequest } from './requests';\nimport { resolveEnvironment } from './utils';\nimport Script from '../../utils/Script';\nimport config from './config';\nimport type { GooglePayConfiguration } from './types';\n\nclass GooglePayService {\n public readonly paymentsClient: Promise<google.payments.api.PaymentsClient>;\n\n constructor(environment: string, paymentDataCallbacks: google.payments.api.PaymentDataCallbacks) {\n const googlePayEnvironment = resolveEnvironment(environment);\n\n this.paymentsClient = this.getGooglePaymentsClient({\n environment: googlePayEnvironment,\n paymentDataCallbacks\n });\n }\n\n /**\n * Initialize a Google Pay API client\n *\n * @see {@link https://developers.google.com/pay/api/web/reference/client#PaymentsClient|PaymentsClient constructor}\n * @returns Google Pay API client\n */\n async getGooglePaymentsClient(paymentOptions: google.payments.api.PaymentOptions): Promise<google.payments.api.PaymentsClient> {\n if (!window.google?.payments) {\n const script = new Script(config.URL);\n await script.load();\n }\n\n return new google.payments.api.PaymentsClient(paymentOptions);\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n * @see {@link https://developers.google.com/pay/api/web/reference/client#isReadyToPay|isReadyToPay}\n */\n isReadyToPay(props): Promise<google.payments.api.IsReadyToPayResponse> {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n if (!this.paymentsClient) return Promise.reject(new Error('Google Pay is not available'));\n\n return this.paymentsClient.then(client => client.isReadyToPay(isReadyToPayRequest(props)));\n }\n\n prefetchPaymentData(props: GooglePayConfiguration, countryCode: string): void {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n if (!this.paymentsClient) throw new Error('Google Pay is not available');\n\n const paymentDataRequest = initiatePaymentRequest(props, countryCode);\n void this.paymentsClient.then(client => client.prefetchPaymentData(paymentDataRequest));\n }\n\n /**\n * Show Google Pay payment sheet when Google Pay payment button is clicked\n * @returns paymentData response from Google Pay API after user approves payment\n * @see {@link https://developers.google.com/pay/api/web/reference/object#PaymentData|PaymentData object reference}\n */\n initiatePayment(props: GooglePayConfiguration, countryCode: string): Promise<google.payments.api.PaymentData> {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n if (!this.paymentsClient) throw new Error('Google Pay is not available');\n\n const paymentDataRequest = initiatePaymentRequest(props, countryCode);\n return this.paymentsClient.then(client => client.loadPaymentData(paymentDataRequest));\n }\n}\n\nexport default GooglePayService;\n"],"names":["GooglePayService","paymentsClient","constructor","environment","paymentDataCallbacks","googlePayEnvironment","resolveEnvironment","this","getGooglePaymentsClient","paymentOptions","window","google","payments","script","Script","config","URL","load","api","PaymentsClient","isReadyToPay","props","then","client","isReadyToPayRequest","Promise","reject","Error","prefetchPaymentData","countryCode","paymentDataRequest","initiatePaymentRequest","initiatePayment","loadPaymentData"],"mappings":"gMAMA,MAAMA,EACcC,eAEhBC,WAAAA,CAAYC,EAAqBC,GAC7B,MAAMC,EAAuBC,EAAmBH,GAEhDI,KAAKN,eAAiBM,KAAKC,wBAAwB,CAC/CL,YAAaE,EACbD,wBAER,CAQA,6BAAMI,CAAwBC,GAC1B,IAAKC,OAAOC,QAAQC,SAAU,CAC1B,MAAMC,EAAS,IAAIC,EAAOC,EAAOC,WAC3BH,EAAOI,MACjB,CAEA,OAAO,IAAIN,OAAOC,SAASM,IAAIC,eAAeV,EAClD,CAMAW,YAAAA,CAAaC,GAET,OAAKd,KAAKN,eAEHM,KAAKN,eAAeqB,MAAKC,GAAUA,EAAOH,aAAaI,EAAoBH,MAFjDI,QAAQC,OAAO,IAAIC,MAAM,+BAG9D,CAEAC,mBAAAA,CAAoBP,EAA+BQ,GAE/C,IAAKtB,KAAKN,eAAgB,MAAM,IAAI0B,MAAM,+BAE1C,MAAMG,EAAqBC,EAAuBV,EAAOQ,GACpDtB,KAAKN,eAAeqB,MAAKC,GAAUA,EAAOK,oBAAoBE,IACvE,CAOAE,eAAAA,CAAgBX,EAA+BQ,GAE3C,IAAKtB,KAAKN,eAAgB,MAAM,IAAI0B,MAAM,+BAE1C,MAAMG,EAAqBC,EAAuBV,EAAOQ,GACzD,OAAOtB,KAAKN,eAAeqB,MAAKC,GAAUA,EAAOU,gBAAgBH,IACrE"}
1
+ {"version":3,"file":"GooglePayService.js","sources":["../../../../src/components/GooglePay/GooglePayService.ts"],"sourcesContent":["import { isReadyToPayRequest, initiatePaymentRequest } from './requests';\nimport { resolveEnvironment } from './utils';\nimport Script from '../../utils/Script';\nimport config from './config';\nimport type { GooglePayConfiguration } from './types';\n\nclass GooglePayService {\n public readonly paymentsClient: Promise<google.payments.api.PaymentsClient>;\n\n constructor(environment: string, paymentDataCallbacks: google.payments.api.PaymentDataCallbacks) {\n const googlePayEnvironment = resolveEnvironment(environment);\n\n this.paymentsClient = this.getGooglePaymentsClient({\n environment: googlePayEnvironment,\n paymentDataCallbacks\n });\n }\n\n /**\n * Initialize a Google Pay API client\n *\n * @see {@link https://developers.google.com/pay/api/web/reference/client#PaymentsClient|PaymentsClient constructor}\n * @returns Google Pay API client\n */\n async getGooglePaymentsClient(paymentOptions: google.payments.api.PaymentOptions): Promise<google.payments.api.PaymentsClient> {\n if (!window.google?.payments) {\n const script = new Script(config.URL);\n await script.load();\n }\n\n return new google.payments.api.PaymentsClient(paymentOptions);\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n * @see {@link https://developers.google.com/pay/api/web/reference/client#isReadyToPay|isReadyToPay}\n */\n isReadyToPay(props): Promise<google.payments.api.IsReadyToPayResponse> {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n if (!this.paymentsClient) return Promise.reject(new Error('Google Pay is not available'));\n\n return this.paymentsClient.then(client => client.isReadyToPay(isReadyToPayRequest(props)));\n }\n\n prefetchPaymentData(props: GooglePayConfiguration, countryCode: string): void {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n if (!this.paymentsClient) throw new Error('Google Pay is not available');\n\n const paymentDataRequest = initiatePaymentRequest(props, countryCode);\n void this.paymentsClient.then(client => client.prefetchPaymentData(paymentDataRequest));\n }\n\n /**\n * Show Google Pay payment sheet when Google Pay payment button is clicked\n * @returns paymentData response from Google Pay API after user approves payment\n * @see {@link https://developers.google.com/pay/api/web/reference/object#PaymentData|PaymentData object reference}\n */\n initiatePayment(props: GooglePayConfiguration, countryCode: string): Promise<google.payments.api.PaymentData> {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n if (!this.paymentsClient) throw new Error('Google Pay is not available');\n\n const paymentDataRequest = initiatePaymentRequest(props, countryCode);\n return this.paymentsClient.then(client => client.loadPaymentData(paymentDataRequest));\n }\n}\n\nexport default GooglePayService;\n"],"names":["GooglePayService","getGooglePaymentsClient","paymentOptions","window","google","payments","script","Script","config","URL","load","api","PaymentsClient","isReadyToPay","props","this","paymentsClient","then","client","isReadyToPayRequest","Promise","reject","Error","prefetchPaymentData","countryCode","paymentDataRequest","initiatePaymentRequest","initiatePayment","loadPaymentData","constructor","environment","paymentDataCallbacks","googlePayEnvironment","resolveEnvironment"],"mappings":"gMAMA,MAAMA,EAkBF,6BAAMC,CAAwBC,GAC1B,IAAKC,OAAOC,QAAQC,SAAU,CAC1B,MAAMC,EAAS,IAAIC,EAAOC,EAAOC,WAC3BH,EAAOI,MACjB,CAEA,OAAO,IAAIN,OAAOC,SAASM,IAAIC,eAAeV,EAClD,CAMAW,YAAAA,CAAaC,GAET,OAAKC,KAAKC,eAEHD,KAAKC,eAAeC,MAAKC,GAAUA,EAAOL,aAAaM,EAAoBL,MAFjDM,QAAQC,OAAO,IAAIC,MAAM,+BAG9D,CAEAC,mBAAAA,CAAoBT,EAA+BU,GAE/C,IAAKT,KAAKC,eAAgB,MAAM,IAAIM,MAAM,+BAE1C,MAAMG,EAAqBC,EAAuBZ,EAAOU,GACpDT,KAAKC,eAAeC,MAAKC,GAAUA,EAAOK,oBAAoBE,IACvE,CAOAE,eAAAA,CAAgBb,EAA+BU,GAE3C,IAAKT,KAAKC,eAAgB,MAAM,IAAIM,MAAM,+BAE1C,MAAMG,EAAqBC,EAAuBZ,EAAOU,GACzD,OAAOT,KAAKC,eAAeC,MAAKC,GAAUA,EAAOU,gBAAgBH,IACrE,CAtDAI,WAAAA,CAAYC,EAAqBC,oBAFjC,KAAgBf,sBAAhBD,4FAGI,MAAMiB,EAAuBC,EAAmBH,GAEhDf,KAAKC,eAAiBD,KAAKd,wBAAwB,CAC/C6B,YAAaE,EACbD,wBAER"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import n from"../internal/PayButton/PayButton.js";import{KlarnaContainer as i}from"./components/KlarnaContainer/KlarnaContainer.js";import{TxVariants as s}from"../tx-variants.js";class a extends e{static type=s.klarna;static txVariants=[s.klarna,s.klarna_account,s.klarna_paynow,s.klarna_b2b];static defaultProps={useKlarnaWidget:!1};constructor(t,e){super(t,e),this.onComplete=this.onComplete.bind(this),this.updateWithAction=this.updateWithAction.bind(this),this.submit=this.submit.bind(this),this.onLoaded=this.onLoaded.bind(this)}get isValid(){return!0}formatData(){return{paymentMethod:{type:this.type,...this.props.useKlarnaWidget?{subtype:"sdk"}:{}}}}payButton=e=>t(n,{amount:this.props.amount,onClick:this.submit,...e});updateWithAction(t){if(t.paymentMethodType!==this.type)throw new Error("Invalid Action");this.componentRef.setAction(t)}onLoaded(){this.setElementStatus("ready")}render(){return t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(i,{...this.props,ref:t=>{this.componentRef=t},displayName:this.displayName,onComplete:t=>this.handleAdditionalDetails(t),onError:this.props.onError,payButton:this.payButton,onLoaded:this.onLoaded}))}}export{a as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import{CoreProvider as n}from"../../core/Context/CoreProvider.js";import o from"../internal/PayButton/PayButton.js";import{KlarnaContainer as i}from"./components/KlarnaContainer/KlarnaContainer.js";import{TxVariants as r}from"../tx-variants.js";function a(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}class s extends e{get isValid(){return!0}formatData(){return{paymentMethod:{type:this.type,...this.props.useKlarnaWidget?{subtype:"sdk"}:{}}}}updateWithAction(t){if(t.paymentMethodType!==this.type)throw new Error("Invalid Action");this.componentRef.setAction(t)}onLoaded(){this.setElementStatus("ready")}render(){return t(n,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(i,{...this.props,ref:t=>{this.componentRef=t},displayName:this.displayName,onComplete:t=>this.handleAdditionalDetails(t),onError:this.props.onError,payButton:this.payButton,onLoaded:this.onLoaded,onActionHandled:this.onActionHandled}))}constructor(e,n){super(e,n),a(this,"payButton",(e=>t(o,{amount:this.props.amount,onClick:this.submit,...e}))),this.onComplete=this.onComplete.bind(this),this.updateWithAction=this.updateWithAction.bind(this),this.submit=this.submit.bind(this),this.onLoaded=this.onLoaded.bind(this)}}a(s,"type",r.klarna),a(s,"txVariants",[r.klarna,r.klarna_account,r.klarna_paynow,r.klarna_b2b]),a(s,"defaultProps",{useKlarnaWidget:!1});export{s as default};
2
2
  //# sourceMappingURL=KlarnaPayments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KlarnaPayments.js","sources":["../../../../src/components/Klarna/KlarnaPayments.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { KlarnConfiguration } from './types';\nimport PayButton from '../internal/PayButton';\nimport { KlarnaContainer } from './components/KlarnaContainer/KlarnaContainer';\nimport { PaymentAction } from '../../types/global-types';\nimport { TxVariants } from '../tx-variants';\nimport type { ICore } from '../../core/types';\n\nclass KlarnaPayments extends UIElement<KlarnConfiguration> {\n public static type = TxVariants.klarna;\n public static txVariants = [TxVariants.klarna, TxVariants.klarna_account, TxVariants.klarna_paynow, TxVariants.klarna_b2b];\n\n protected static defaultProps = {\n useKlarnaWidget: false\n };\n\n constructor(checkout: ICore, props?: KlarnConfiguration) {\n super(checkout, props);\n\n this.onComplete = this.onComplete.bind(this);\n this.updateWithAction = this.updateWithAction.bind(this);\n this.submit = this.submit.bind(this);\n this.onLoaded = this.onLoaded.bind(this);\n }\n get isValid() {\n return true;\n }\n\n protected formatData() {\n return {\n paymentMethod: {\n type: this.type,\n ...(this.props.useKlarnaWidget ? { subtype: 'sdk' } : {})\n }\n };\n }\n\n public payButton = props => {\n return <PayButton amount={this.props.amount} onClick={this.submit} {...props} />;\n };\n\n updateWithAction(action: PaymentAction): void {\n if (action.paymentMethodType !== this.type) throw new Error('Invalid Action');\n this.componentRef.setAction(action);\n }\n\n onLoaded() {\n // When action/widget is loaded, set the 'drop-in' back to ready\n this.setElementStatus('ready');\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <KlarnaContainer\n {...this.props}\n ref={ref => {\n this.componentRef = ref;\n }}\n displayName={this.displayName}\n onComplete={state => this.handleAdditionalDetails(state)}\n onError={this.props.onError}\n payButton={this.payButton}\n onLoaded={this.onLoaded}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default KlarnaPayments;\n"],"names":["KlarnaPayments","UIElement","static","TxVariants","klarna","klarna_account","klarna_paynow","klarna_b2b","useKlarnaWidget","constructor","checkout","props","super","this","onComplete","bind","updateWithAction","submit","onLoaded","isValid","formatData","paymentMethod","type","subtype","payButton","h","PayButton","amount","onClick","action","paymentMethodType","Error","componentRef","setAction","setElementStatus","render","CoreProvider","i18n","loadingContext","resources","KlarnaContainer","ref","displayName","state","handleAdditionalDetails","onError"],"mappings":"yXAUA,MAAMA,UAAuBC,EACzBC,YAAqBC,EAAWC,OAChCF,kBAA2B,CAACC,EAAWC,OAAQD,EAAWE,eAAgBF,EAAWG,cAAeH,EAAWI,YAE/GL,oBAAgC,CAC5BM,iBAAiB,GAGrBC,WAAAA,CAAYC,EAAiBC,GACzBC,MAAMF,EAAUC,GAEhBE,KAAKC,WAAaD,KAAKC,WAAWC,KAAKF,MACvCA,KAAKG,iBAAmBH,KAAKG,iBAAiBD,KAAKF,MACnDA,KAAKI,OAASJ,KAAKI,OAAOF,KAAKF,MAC/BA,KAAKK,SAAWL,KAAKK,SAASH,KAAKF,KACvC,CACA,WAAIM,GACA,OAAO,CACX,CAEUC,UAAAA,GACN,MAAO,CACHC,cAAe,CACXC,KAAMT,KAAKS,QACPT,KAAKF,MAAMH,gBAAkB,CAAEe,QAAS,OAAU,CAAE,GAGpE,CAEOC,UAAYb,GACRc,EAACC,EAAAA,CAAUC,OAAQd,KAAKF,MAAMgB,OAAQC,QAASf,KAAKI,UAAYN,IAG3EK,gBAAAA,CAAiBa,GACb,GAAIA,EAAOC,oBAAsBjB,KAAKS,KAAM,MAAM,IAAIS,MAAM,kBAC5DlB,KAAKmB,aAAaC,UAAUJ,EAChC,CAEAX,QAAAA,GAEIL,KAAKqB,iBAAiB,QAC1B,CAEAC,MAAAA,GACI,OACIV,EAACW,EAAAA,CAAaC,KAAMxB,KAAKF,MAAM0B,KAAMC,eAAgBzB,KAAKF,MAAM2B,eAAgBC,UAAW1B,KAAK0B,WAC5Fd,EAACe,EAAAA,IACO3B,KAAKF,MACT8B,IAAKA,IACD5B,KAAKmB,aAAeS,CAAAA,EAExBC,YAAa7B,KAAK6B,YAClB5B,WAAY6B,GAAS9B,KAAK+B,wBAAwBD,GAClDE,QAAShC,KAAKF,MAAMkC,QACpBrB,UAAWX,KAAKW,UAChBN,SAAUL,KAAKK,WAI/B"}
1
+ {"version":3,"file":"KlarnaPayments.js","sources":["../../../../src/components/Klarna/KlarnaPayments.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { KlarnConfiguration } from './types';\nimport PayButton from '../internal/PayButton';\nimport { KlarnaContainer } from './components/KlarnaContainer/KlarnaContainer';\nimport { PaymentAction } from '../../types/global-types';\nimport { TxVariants } from '../tx-variants';\nimport type { ICore } from '../../core/types';\n\nclass KlarnaPayments extends UIElement<KlarnConfiguration> {\n public static type = TxVariants.klarna;\n public static txVariants = [TxVariants.klarna, TxVariants.klarna_account, TxVariants.klarna_paynow, TxVariants.klarna_b2b];\n\n protected static defaultProps = {\n useKlarnaWidget: false\n };\n\n constructor(checkout: ICore, props?: KlarnConfiguration) {\n super(checkout, props);\n\n this.onComplete = this.onComplete.bind(this);\n this.updateWithAction = this.updateWithAction.bind(this);\n this.submit = this.submit.bind(this);\n this.onLoaded = this.onLoaded.bind(this);\n }\n get isValid() {\n return true;\n }\n\n protected formatData() {\n return {\n paymentMethod: {\n type: this.type,\n ...(this.props.useKlarnaWidget ? { subtype: 'sdk' } : {})\n }\n };\n }\n\n public payButton = props => {\n return <PayButton amount={this.props.amount} onClick={this.submit} {...props} />;\n };\n\n updateWithAction(action: PaymentAction): void {\n if (action.paymentMethodType !== this.type) throw new Error('Invalid Action');\n this.componentRef.setAction(action);\n }\n\n onLoaded() {\n // When action/widget is loaded, set the 'drop-in' back to ready\n this.setElementStatus('ready');\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <KlarnaContainer\n {...this.props}\n ref={ref => {\n this.componentRef = ref;\n }}\n displayName={this.displayName}\n onComplete={state => this.handleAdditionalDetails(state)}\n onError={this.props.onError}\n payButton={this.payButton}\n onLoaded={this.onLoaded}\n onActionHandled={this.onActionHandled}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default KlarnaPayments;\n"],"names":["KlarnaPayments","UIElement","isValid","formatData","paymentMethod","type","this","props","useKlarnaWidget","subtype","updateWithAction","action","paymentMethodType","Error","componentRef","setAction","onLoaded","setElementStatus","render","h","CoreProvider","i18n","loadingContext","resources","KlarnaContainer","ref","displayName","onComplete","state","handleAdditionalDetails","onError","payButton","onActionHandled","constructor","checkout","super","_define_property","PayButton","amount","onClick","submit","bind","TxVariants","klarna","txVariants","klarna_account","klarna_paynow","klarna_b2b","defaultProps"],"mappings":"ifAUA,MAAMA,UAAuBC,EAgBzB,WAAIC,GACA,OAAO,CACX,CAEUC,UAAAA,GACN,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKD,QACPC,KAAKC,MAAMC,gBAAkB,CAAEC,QAAS,OAAU,CAAE,GAGpE,CAMAC,gBAAAA,CAAiBC,GACb,GAAIA,EAAOC,oBAAsBN,KAAKD,KAAM,MAAM,IAAIQ,MAAM,kBAC5DP,KAAKQ,aAAaC,UAAUJ,EAChC,CAEAK,QAAAA,GAEIV,KAAKW,iBAAiB,QAC1B,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMf,KAAKC,MAAMc,KAAMC,eAAgBhB,KAAKC,MAAMe,eAAgBC,UAAWjB,KAAKiB,WAC5FJ,EAACK,EAAAA,IACOlB,KAAKC,MACTkB,IAAKA,IACDnB,KAAKQ,aAAeW,CAAAA,EAExBC,YAAapB,KAAKoB,YAClBC,WAAYC,GAAStB,KAAKuB,wBAAwBD,GAClDE,QAASxB,KAAKC,MAAMuB,QACpBC,UAAWzB,KAAKyB,UAChBf,SAAUV,KAAKU,SACfgB,gBAAiB1B,KAAK0B,kBAItC,CApDAC,WAAAA,CAAYC,EAAiB3B,GACzB4B,MAAMD,EAAU3B,GAoBpB6B,EAAA9B,KAAOyB,aAAYxB,GACRY,EAACkB,EAAAA,CAAUC,OAAQhC,KAAKC,MAAM+B,OAAQC,QAASjC,KAAKkC,UAAYjC,MAnBvED,KAAKqB,WAAarB,KAAKqB,WAAWc,KAAKnC,MACvCA,KAAKI,iBAAmBJ,KAAKI,iBAAiB+B,KAAKnC,MACnDA,KAAKkC,OAASlC,KAAKkC,OAAOC,KAAKnC,MAC/BA,KAAKU,SAAWV,KAAKU,SAASyB,KAAKnC,KACvC,EAdA8B,EADEpC,EACYK,OAAOqC,EAAWC,QAChCP,EAFEpC,EAEY4C,aAAa,CAACF,EAAWC,OAAQD,EAAWG,eAAgBH,EAAWI,cAAeJ,EAAWK,aAE/GX,EAJEpC,EAIegD,eAAe,CAC5BxC,iBAAiB"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../../../external/preact/dist/preact.js";import{KlarnaWidget as a}from"../KlarnaWidget/KlarnaWidget.js";import{useState as e}from"../../../../external/preact/hooks/dist/hooks.js";function o(o){const[n,s]=e({sdkData:o.sdkData,paymentMethodType:o.paymentMethodType,paymentData:o.paymentData}),[p,r]=e("ready");return this.setAction=s,this.setStatus=r,n.sdkData?t(a,{sdkData:n.sdkData,paymentMethodType:n.paymentMethodType,paymentData:n.paymentData,payButton:o.payButton,onComplete:o.onComplete,onError:o.onError,onLoaded:o.onLoaded}):o.showPayButton?o.payButton({...o,status:p,disabled:"loading"===p,classNameModifiers:["standalone"],label:`${this.props.i18n.get("continueTo")} ${o.displayName}`}):null}export{o as KlarnaContainer};
1
+ import{createElement as t}from"../../../../external/preact/dist/preact.js";import{KlarnaWidget as a}from"../KlarnaWidget/KlarnaWidget.js";import{useState as e}from"../../../../external/preact/hooks/dist/hooks.js";function o(o){const[n,s]=e({sdkData:o.sdkData,paymentMethodType:o.paymentMethodType,paymentData:o.paymentData}),[p,d]=e("ready");return this.setAction=s,this.setStatus=d,n.sdkData?t(a,{sdkData:n.sdkData,paymentMethodType:n.paymentMethodType,paymentData:n.paymentData,payButton:o.payButton,onComplete:o.onComplete,onError:o.onError,onLoaded:()=>{o.onActionHandled?.({componentType:o.type,actionDescription:"sdk-loaded",originalAction:n}),o.onLoaded()}}):o.showPayButton?o.payButton({...o,status:p,disabled:"loading"===p,classNameModifiers:["standalone"],label:`${this.props.i18n.get("continueTo")} ${o.displayName}`}):null}export{o as KlarnaContainer};
2
2
  //# sourceMappingURL=KlarnaContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KlarnaContainer.js","sources":["../../../../../../src/components/Klarna/components/KlarnaContainer/KlarnaContainer.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { KlarnaWidget } from '../KlarnaWidget/KlarnaWidget';\nimport { useState } from 'preact/hooks';\n\nexport function KlarnaContainer(props) {\n const [action, setAction] = useState({\n sdkData: props.sdkData,\n paymentMethodType: props.paymentMethodType,\n paymentData: props.paymentData\n });\n const [status, setStatus] = useState('ready');\n\n this.setAction = setAction;\n this.setStatus = setStatus;\n\n if (action.sdkData) {\n return (\n <KlarnaWidget\n sdkData={action.sdkData}\n paymentMethodType={action.paymentMethodType}\n paymentData={action.paymentData}\n payButton={props.payButton}\n onComplete={props.onComplete}\n onError={props.onError}\n onLoaded={props.onLoaded}\n />\n );\n }\n\n if (props.showPayButton) {\n return props.payButton({\n ...props,\n status,\n disabled: status === 'loading',\n classNameModifiers: ['standalone'],\n label: `${this.props.i18n.get('continueTo')} ${props.displayName}`\n });\n }\n\n return null;\n}\n"],"names":["KlarnaContainer","props","action","setAction","useState","sdkData","paymentMethodType","paymentData","status","setStatus","this","h","KlarnaWidget","payButton","onComplete","onError","onLoaded","showPayButton","disabled","classNameModifiers","label","i18n","get","displayName"],"mappings":"qNAIO,SAASA,EAAgBC,GAC5B,MAAOC,EAAQC,GAAaC,EAAS,CACjCC,QAASJ,EAAMI,QACfC,kBAAmBL,EAAMK,kBACzBC,YAAaN,EAAMM,eAEhBC,EAAQC,GAAaL,EAAS,SAKrC,OAHAM,KAAKP,UAAYA,EACjBO,KAAKD,UAAYA,EAEbP,EAAOG,QAEHM,EAACC,EAAAA,CACGP,QAASH,EAAOG,QAChBC,kBAAmBJ,EAAOI,kBAC1BC,YAAaL,EAAOK,YACpBM,UAAWZ,EAAMY,UACjBC,WAAYb,EAAMa,WAClBC,QAASd,EAAMc,QACfC,SAAUf,EAAMe,WAKxBf,EAAMgB,cACChB,EAAMY,UAAU,IAChBZ,EACHO,SACAU,SAAqB,YAAXV,EACVW,mBAAoB,CAAC,cACrBC,MAAO,GAAGV,KAAKT,MAAMoB,KAAKC,IAAI,iBAAiBrB,EAAMsB,gBAItD,IACX"}
1
+ {"version":3,"file":"KlarnaContainer.js","sources":["../../../../../../src/components/Klarna/components/KlarnaContainer/KlarnaContainer.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { KlarnaWidget } from '../KlarnaWidget/KlarnaWidget';\nimport { useState } from 'preact/hooks';\n\nexport function KlarnaContainer(props) {\n const [action, setAction] = useState({\n sdkData: props.sdkData,\n paymentMethodType: props.paymentMethodType,\n paymentData: props.paymentData\n });\n const [status, setStatus] = useState('ready');\n\n this.setAction = setAction;\n this.setStatus = setStatus;\n\n if (action.sdkData) {\n return (\n <KlarnaWidget\n sdkData={action.sdkData}\n paymentMethodType={action.paymentMethodType}\n paymentData={action.paymentData}\n payButton={props.payButton}\n onComplete={props.onComplete}\n onError={props.onError}\n onLoaded={() => {\n props.onActionHandled?.({ componentType: props.type, actionDescription: 'sdk-loaded', originalAction: action });\n props.onLoaded();\n }}\n />\n );\n }\n\n if (props.showPayButton) {\n return props.payButton({\n ...props,\n status,\n disabled: status === 'loading',\n classNameModifiers: ['standalone'],\n label: `${this.props.i18n.get('continueTo')} ${props.displayName}`\n });\n }\n\n return null;\n}\n"],"names":["KlarnaContainer","props","action","setAction","useState","sdkData","paymentMethodType","paymentData","status","setStatus","this","h","KlarnaWidget","payButton","onComplete","onError","onLoaded","onActionHandled","componentType","type","actionDescription","originalAction","showPayButton","disabled","classNameModifiers","label","i18n","get","displayName"],"mappings":"qNAIO,SAASA,EAAgBC,GAC5B,MAAOC,EAAQC,GAAaC,EAAS,CACjCC,QAASJ,EAAMI,QACfC,kBAAmBL,EAAMK,kBACzBC,YAAaN,EAAMM,eAEhBC,EAAQC,GAAaL,EAAS,SAKrC,OAHAM,KAAKP,UAAYA,EACjBO,KAAKD,UAAYA,EAEbP,EAAOG,QAEHM,EAACC,EAAAA,CACGP,QAASH,EAAOG,QAChBC,kBAAmBJ,EAAOI,kBAC1BC,YAAaL,EAAOK,YACpBM,UAAWZ,EAAMY,UACjBC,WAAYb,EAAMa,WAClBC,QAASd,EAAMc,QACfC,SAAU,KACNf,EAAMgB,kBAAkB,CAAEC,cAAejB,EAAMkB,KAAMC,kBAAmB,aAAcC,eAAgBnB,IACtGD,EAAMe,UAAQ,IAM1Bf,EAAMqB,cACCrB,EAAMY,UAAU,IAChBZ,EACHO,SACAe,SAAqB,YAAXf,EACVgB,mBAAoB,CAAC,cACrBC,MAAO,GAAGf,KAAKT,MAAMyB,KAAKC,IAAI,iBAAiB1B,EAAM2B,gBAItD,IACX"}
@@ -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 o from"./components/MBWayInput/MBWayInput.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import s from"./components/MBWayAwait/config.js";import n from"../internal/Await/Await.js";import a from"../../core/Errors/SRPanelProvider.js";import{TxVariants as i}from"../tx-variants.js";class p extends e{static type=i.mbway;formatProps(t){const{data:e={},placeholders:o={}}=t;return{...t,data:{phoneNumber:e.telephoneNumber||e.phoneNumber,phonePrefix:e.phonePrefix||"+351"},placeholders:{phoneNumber:o.telephoneNumber||o.phoneNumber}}}formatData(){return{paymentMethod:{type:p.type,...this.state.data?.phoneNumber&&{telephoneNumber:this.state.data.phonePrefix+this.state.data.phoneNumber}}}}get isValid(){return!!this.state.isValid}get displayName(){return this.props.name}render(){return this.props.paymentData?t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(a,{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:s.type,messageText:this.props.i18n.get(s.messageTextId),awaitText:this.props.i18n.get(s.awaitTextId),showCountdownTimer:s.showCountdownTimer,delay:s.STATUS_INTERVAL,countdownTime:s.COUNTDOWN_MINUTES,throttleTime:s.THROTTLE_TIME,throttleInterval:s.THROTTLE_INTERVAL,onActionHandled:this.props.onActionHandled}))):t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(o,{ref:t=>{this.componentRef=t},...this.props,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton}))}}export{p as MBWayElement,p as default};
1
+ import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import o from"./components/MBWayInput/MBWayInput.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import n from"./components/MBWayAwait/config.js";import s from"../internal/Await/Await.js";import a from"../../core/Errors/SRPanelProvider.js";import{TxVariants as i}from"../tx-variants.js";class p extends t{formatProps(e){const{data:t={},placeholders:o={}}=e;return{...e,data:{phoneNumber:t.telephoneNumber||t.phoneNumber,phonePrefix:t.phonePrefix||"+351"},placeholders:{phoneNumber:o.telephoneNumber||o.phoneNumber}}}formatData(){return{paymentMethod:{type:p.type,...this.state.data?.phoneNumber&&{telephoneNumber:this.state.data.phonePrefix+this.state.data.phoneNumber}}}}get isValid(){return!!this.state.isValid}get displayName(){return this.props.name}render(){return this.props.paymentData?e(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},e(a,{srPanel:this.props.modules.srPanel},e(s,{ref:e=>{this.componentRef=e},clientKey:this.props.clientKey,paymentData:this.props.paymentData,onError:this.props.onError,onComplete:this.onComplete,brandLogo:this.icon,type:n.type,messageText:this.props.i18n.get(n.messageTextId),awaitText:this.props.i18n.get(n.awaitTextId),showCountdownTimer:n.showCountdownTimer,delay:n.STATUS_INTERVAL,countdownTime:n.COUNTDOWN_MINUTES,throttleTime:n.THROTTLE_TIME,throttleInterval:n.THROTTLE_INTERVAL,onActionHandled:this.onActionHandled}))):e(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},e(o,{ref:e=>{this.componentRef=e},...this.props,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton}))}}var m,h,l;m=p,h="type",l=i.mbway,h in m?Object.defineProperty(m,h,{value:l,enumerable:!0,configurable:!0,writable:!0}):m[h]=l;export{p as MBWayElement,p as default};
2
2
  //# sourceMappingURL=MBWay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MBWay.js","sources":["../../../../src/components/MBWay/MBWay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MBWayInput from './components/MBWayInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport config from './components/MBWayAwait/config';\nimport Await from '../../components/internal/Await';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport { TxVariants } from '../tx-variants';\nimport { AwaitConfiguration } from '../internal/Await/types';\n\nexport class MBWayElement extends UIElement<AwaitConfiguration> {\n public static type = TxVariants.mbway;\n\n formatProps(props) {\n const { data = {}, placeholders = {} } = props;\n\n return {\n ...props,\n data: {\n phoneNumber: data.telephoneNumber || data.phoneNumber,\n phonePrefix: data.phonePrefix || '+351' // if not specified default to Portuguese country code\n },\n placeholders: {\n phoneNumber: placeholders.telephoneNumber || placeholders.phoneNumber\n }\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): object {\n return {\n paymentMethod: {\n type: MBWayElement.type,\n ...(this.state.data?.phoneNumber && { telephoneNumber: this.state.data.phonePrefix + this.state.data.phoneNumber })\n }\n };\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={config.type}\n messageText={this.props.i18n.get(config.messageTextId)}\n awaitText={this.props.i18n.get(config.awaitTextId)}\n showCountdownTimer={config.showCountdownTimer}\n delay={config.STATUS_INTERVAL}\n countdownTime={config.COUNTDOWN_MINUTES}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.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 <MBWayInput\n /* @ts-ignore ref handled internally by Component */\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default MBWayElement;\n"],"names":["MBWayElement","UIElement","static","TxVariants","mbway","formatProps","props","data","placeholders","phoneNumber","telephoneNumber","phonePrefix","formatData","paymentMethod","type","this","state","isValid","displayName","name","render","paymentData","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","Await","ref","componentRef","clientKey","onError","onComplete","brandLogo","icon","config","messageText","get","messageTextId","awaitText","awaitTextId","showCountdownTimer","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","MBWayInput","onChange","setState","onSubmit","submit","payButton"],"mappings":"ybAUO,MAAMA,UAAqBC,EAC9BC,YAAqBC,EAAWC,MAEhCC,WAAAA,CAAYC,GACR,MAAMC,KAAEA,EAAO,CAAE,EAAAC,aAAEA,EAAe,CAAE,GAAKF,EAEzC,MAAO,IACAA,EACHC,KAAM,CACFE,YAAaF,EAAKG,iBAAmBH,EAAKE,YAC1CE,YAAaJ,EAAKI,aAAe,QAErCH,aAAc,CACVC,YAAaD,EAAaE,iBAAmBF,EAAaC,aAGtE,CAKAG,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMd,EAAac,QACfC,KAAKC,MAAMT,MAAME,aAAe,CAAEC,gBAAiBK,KAAKC,MAAMT,KAAKI,YAAcI,KAAKC,MAAMT,KAAKE,cAGjH,CAEA,WAAIQ,GACA,QAASF,KAAKC,MAAMC,OACxB,CAEA,eAAIC,GACA,OAAOH,KAAKT,MAAMa,IACtB,CAEAC,MAAAA,GACI,OAAIL,KAAKT,MAAMe,YAEPC,EAACC,EAAAA,CAAaC,KAAMT,KAAKT,MAAMkB,KAAMC,eAAgBV,KAAKT,MAAMmB,eAAgBC,UAAWX,KAAKW,WAC5FJ,EAACK,EAAAA,CAAgBC,QAASb,KAAKT,MAAMuB,QAAQD,SACzCN,EAACQ,EAAAA,CACGC,IAAKA,IACDhB,KAAKiB,aAAeD,CAAAA,EAExBE,UAAWlB,KAAKT,MAAM2B,UACtBZ,YAAaN,KAAKT,MAAMe,YACxBa,QAASnB,KAAKT,MAAM4B,QACpBC,WAAYpB,KAAKoB,WACjBC,UAAWrB,KAAKsB,KAChBvB,KAAMwB,EAAOxB,KACbyB,YAAaxB,KAAKT,MAAMkB,KAAKgB,IAAIF,EAAOG,eACxCC,UAAW3B,KAAKT,MAAMkB,KAAKgB,IAAIF,EAAOK,aACtCC,mBAAoBN,EAAOM,mBAC3BC,MAAOP,EAAOQ,gBACdC,cAAeT,EAAOU,kBACtBC,aAAcX,EAAOY,cACrBC,iBAAkBb,EAAOc,kBACzBC,gBAAiBtC,KAAKT,MAAM+C,oBAQ5C/B,EAACC,EAAAA,CAAaC,KAAMT,KAAKT,MAAMkB,KAAMC,eAAgBV,KAAKT,MAAMmB,eAAgBC,UAAWX,KAAKW,WAC5FJ,EAACgC,EAAAA,CAEGvB,IAAKA,IACDhB,KAAKiB,aAAeD,CAAAA,KAEpBhB,KAAKT,MACTiD,SAAUxC,KAAKyC,SACfC,SAAU1C,KAAK2C,OACfC,UAAW5C,KAAK4C,YAIhC"}
1
+ {"version":3,"file":"MBWay.js","sources":["../../../../src/components/MBWay/MBWay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MBWayInput from './components/MBWayInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport config from './components/MBWayAwait/config';\nimport Await from '../../components/internal/Await';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport { TxVariants } from '../tx-variants';\nimport { AwaitConfiguration } from '../internal/Await/types';\n\nexport class MBWayElement extends UIElement<AwaitConfiguration> {\n public static type = TxVariants.mbway;\n\n formatProps(props) {\n const { data = {}, placeholders = {} } = props;\n\n return {\n ...props,\n data: {\n phoneNumber: data.telephoneNumber || data.phoneNumber,\n phonePrefix: data.phonePrefix || '+351' // if not specified default to Portuguese country code\n },\n placeholders: {\n phoneNumber: placeholders.telephoneNumber || placeholders.phoneNumber\n }\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): object {\n return {\n paymentMethod: {\n type: MBWayElement.type,\n ...(this.state.data?.phoneNumber && { telephoneNumber: this.state.data.phonePrefix + this.state.data.phoneNumber })\n }\n };\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={config.type}\n messageText={this.props.i18n.get(config.messageTextId)}\n awaitText={this.props.i18n.get(config.awaitTextId)}\n showCountdownTimer={config.showCountdownTimer}\n delay={config.STATUS_INTERVAL}\n countdownTime={config.COUNTDOWN_MINUTES}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <MBWayInput\n /* @ts-ignore ref handled internally by Component */\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default MBWayElement;\n"],"names":["MBWayElement","UIElement","formatProps","props","data","placeholders","phoneNumber","telephoneNumber","phonePrefix","formatData","paymentMethod","type","this","state","isValid","displayName","name","render","paymentData","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","Await","ref","componentRef","clientKey","onError","onComplete","brandLogo","icon","config","messageText","get","messageTextId","awaitText","awaitTextId","showCountdownTimer","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","MBWayInput","onChange","setState","onSubmit","submit","payButton","TxVariants","mbway"],"mappings":"ybAUO,MAAMA,UAAqBC,EAG9BC,WAAAA,CAAYC,GACR,MAAMC,KAAEA,EAAO,CAAE,EAAAC,aAAEA,EAAe,CAAE,GAAKF,EAEzC,MAAO,IACAA,EACHC,KAAM,CACFE,YAAaF,EAAKG,iBAAmBH,EAAKE,YAC1CE,YAAaJ,EAAKI,aAAe,QAErCH,aAAc,CACVC,YAAaD,EAAaE,iBAAmBF,EAAaC,aAGtE,CAKAG,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMX,EAAaW,QACfC,KAAKC,MAAMT,MAAME,aAAe,CAAEC,gBAAiBK,KAAKC,MAAMT,KAAKI,YAAcI,KAAKC,MAAMT,KAAKE,cAGjH,CAEA,WAAIQ,GACA,QAASF,KAAKC,MAAMC,OACxB,CAEA,eAAIC,GACA,OAAOH,KAAKT,MAAMa,IACtB,CAEAC,MAAAA,GACI,OAAIL,KAAKT,MAAMe,YAEPC,EAACC,EAAAA,CAAaC,KAAMT,KAAKT,MAAMkB,KAAMC,eAAgBV,KAAKT,MAAMmB,eAAgBC,UAAWX,KAAKW,WAC5FJ,EAACK,EAAAA,CAAgBC,QAASb,KAAKT,MAAMuB,QAAQD,SACzCN,EAACQ,EAAAA,CACGC,IAAKA,IACDhB,KAAKiB,aAAeD,CAAAA,EAExBE,UAAWlB,KAAKT,MAAM2B,UACtBZ,YAAaN,KAAKT,MAAMe,YACxBa,QAASnB,KAAKT,MAAM4B,QACpBC,WAAYpB,KAAKoB,WACjBC,UAAWrB,KAAKsB,KAChBvB,KAAMwB,EAAOxB,KACbyB,YAAaxB,KAAKT,MAAMkB,KAAKgB,IAAIF,EAAOG,eACxCC,UAAW3B,KAAKT,MAAMkB,KAAKgB,IAAIF,EAAOK,aACtCC,mBAAoBN,EAAOM,mBAC3BC,MAAOP,EAAOQ,gBACdC,cAAeT,EAAOU,kBACtBC,aAAcX,EAAOY,cACrBC,iBAAkBb,EAAOc,kBACzBC,gBAAiBtC,KAAKsC,oBAQtC/B,EAACC,EAAAA,CAAaC,KAAMT,KAAKT,MAAMkB,KAAMC,eAAgBV,KAAKT,MAAMmB,eAAgBC,UAAWX,KAAKW,WAC5FJ,EAACgC,EAAAA,CAEGvB,IAAKA,IACDhB,KAAKiB,aAAeD,CAAAA,KAEpBhB,KAAKT,MACTiD,SAAUxC,KAAKyC,SACfC,SAAU1C,KAAK2C,OACfC,UAAW5C,KAAK4C,YAIhC,cAjFSxD,IACKW,SAAO8C,EAAWC"}
@@ -1,2 +1,2 @@
1
- import{GiftcardElement as t}from"../Giftcard/Giftcard.js";import{MealVoucherFields as e}from"./components/MealVoucherFields.js";import{TxVariants as r}from"../tx-variants.js";class a extends t{static type=r.mealVoucher_FR;static txVariants=[r.mealVoucher_FR,r.mealVoucher_FR_natixis,r.mealVoucher_FR_sodexo,r.mealVoucher_FR_groupeup];constructor(t,r){super(t,{...r,pinRequired:!0,expiryDateRequired:!0,fieldsLayoutComponent:e})}formatProps(t){return{brand:t.type,...t}}formatData(){return{paymentMethod:{type:this.constructor.type,brand:this.props.brand,encryptedCardNumber:this.state.data?.encryptedCardNumber,encryptedSecurityCode:this.state.data?.encryptedSecurityCode,encryptedExpiryMonth:this.state.data?.encryptedExpiryMonth,encryptedExpiryYear:this.state.data?.encryptedExpiryYear}}}}export{a as MealVoucherFRElement,a as default};
1
+ import{GiftcardElement as e}from"../Giftcard/Giftcard.js";import{MealVoucherFields as t}from"./components/MealVoucherFields.js";import{TxVariants as r}from"../tx-variants.js";function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class o extends e{formatProps(e){return{brand:e.type,...e}}formatData(){return{paymentMethod:{type:this.constructor.type,brand:this.props.brand,encryptedCardNumber:this.state.data?.encryptedCardNumber,encryptedSecurityCode:this.state.data?.encryptedSecurityCode,encryptedExpiryMonth:this.state.data?.encryptedExpiryMonth,encryptedExpiryYear:this.state.data?.encryptedExpiryYear}}}constructor(e,r){super(e,{...r,pinRequired:!0,expiryDateRequired:!0,fieldsLayoutComponent:t})}}a(o,"type",r.mealVoucher_FR),a(o,"txVariants",[r.mealVoucher_FR,r.mealVoucher_FR_natixis,r.mealVoucher_FR_sodexo,r.mealVoucher_FR_groupeup]);export{o as MealVoucherFRElement,o as default};
2
2
  //# sourceMappingURL=MealVoucherFR.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MealVoucherFR.js","sources":["../../../../src/components/MealVoucherFR/MealVoucherFR.tsx"],"sourcesContent":["import GiftcardElement from '../Giftcard/Giftcard';\nimport { MealVoucherFields } from './components/MealVoucherFields';\nimport { TxVariants } from '../tx-variants';\nimport { GiftCardConfiguration } from '../Giftcard/types';\nimport type { ICore } from '../../core/types';\n\nexport class MealVoucherFRElement extends GiftcardElement {\n public static type = TxVariants.mealVoucher_FR;\n public static txVariants = [\n TxVariants.mealVoucher_FR,\n TxVariants.mealVoucher_FR_natixis,\n TxVariants.mealVoucher_FR_sodexo,\n TxVariants.mealVoucher_FR_groupeup\n ];\n\n constructor(checkout: ICore, props?: GiftCardConfiguration) {\n super(checkout, {\n ...props,\n pinRequired: true,\n expiryDateRequired: true,\n fieldsLayoutComponent: MealVoucherFields\n });\n }\n\n formatProps(props) {\n return {\n brand: props.type,\n ...props\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n paymentMethod: {\n type: this.constructor['type'],\n brand: this.props.brand,\n encryptedCardNumber: this.state.data?.encryptedCardNumber,\n encryptedSecurityCode: this.state.data?.encryptedSecurityCode,\n encryptedExpiryMonth: this.state.data?.encryptedExpiryMonth,\n encryptedExpiryYear: this.state.data?.encryptedExpiryYear\n }\n };\n }\n}\n\nexport default MealVoucherFRElement;\n"],"names":["MealVoucherFRElement","GiftcardElement","static","TxVariants","mealVoucher_FR","mealVoucher_FR_natixis","mealVoucher_FR_sodexo","mealVoucher_FR_groupeup","constructor","checkout","props","super","pinRequired","expiryDateRequired","fieldsLayoutComponent","MealVoucherFields","formatProps","brand","type","formatData","paymentMethod","this","encryptedCardNumber","state","data","encryptedSecurityCode","encryptedExpiryMonth","encryptedExpiryYear"],"mappings":"+KAMO,MAAMA,UAA6BC,EACtCC,YAAqBC,EAAWC,eAChCF,kBAA2B,CACvBC,EAAWC,eACXD,EAAWE,uBACXF,EAAWG,sBACXH,EAAWI,yBAGfC,WAAAA,CAAYC,EAAiBC,GACzBC,MAAMF,EAAU,IACTC,EACHE,aAAa,EACbC,oBAAoB,EACpBC,sBAAuBC,GAE/B,CAEAC,WAAAA,CAAYN,GACR,MAAO,CACHO,MAAOP,EAAMQ,QACVR,EAEX,CAKAS,UAAAA,GACI,MAAO,CACHC,cAAe,CACXF,KAAMG,KAAKb,YAAmB,KAC9BS,MAAOI,KAAKX,MAAMO,MAClBK,oBAAqBD,KAAKE,MAAMC,MAAMF,oBACtCG,sBAAuBJ,KAAKE,MAAMC,MAAMC,sBACxCC,qBAAsBL,KAAKE,MAAMC,MAAME,qBACvCC,oBAAqBN,KAAKE,MAAMC,MAAMG,qBAGlD"}
1
+ {"version":3,"file":"MealVoucherFR.js","sources":["../../../../src/components/MealVoucherFR/MealVoucherFR.tsx"],"sourcesContent":["import GiftcardElement from '../Giftcard/Giftcard';\nimport { MealVoucherFields } from './components/MealVoucherFields';\nimport { TxVariants } from '../tx-variants';\nimport { GiftCardConfiguration } from '../Giftcard/types';\nimport type { ICore } from '../../core/types';\n\nexport class MealVoucherFRElement extends GiftcardElement {\n public static type = TxVariants.mealVoucher_FR;\n public static txVariants = [\n TxVariants.mealVoucher_FR,\n TxVariants.mealVoucher_FR_natixis,\n TxVariants.mealVoucher_FR_sodexo,\n TxVariants.mealVoucher_FR_groupeup\n ];\n\n constructor(checkout: ICore, props?: GiftCardConfiguration) {\n super(checkout, {\n ...props,\n pinRequired: true,\n expiryDateRequired: true,\n fieldsLayoutComponent: MealVoucherFields\n });\n }\n\n formatProps(props) {\n return {\n brand: props.type,\n ...props\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n paymentMethod: {\n type: this.constructor['type'],\n brand: this.props.brand,\n encryptedCardNumber: this.state.data?.encryptedCardNumber,\n encryptedSecurityCode: this.state.data?.encryptedSecurityCode,\n encryptedExpiryMonth: this.state.data?.encryptedExpiryMonth,\n encryptedExpiryYear: this.state.data?.encryptedExpiryYear\n }\n };\n }\n}\n\nexport default MealVoucherFRElement;\n"],"names":["MealVoucherFRElement","GiftcardElement","formatProps","props","brand","type","formatData","paymentMethod","this","constructor","encryptedCardNumber","state","data","encryptedSecurityCode","encryptedExpiryMonth","encryptedExpiryYear","checkout","super","pinRequired","expiryDateRequired","fieldsLayoutComponent","MealVoucherFields","_define_property","TxVariants","mealVoucher_FR","txVariants","mealVoucher_FR_natixis","mealVoucher_FR_sodexo","mealVoucher_FR_groupeup"],"mappings":"uSAMO,MAAMA,UAA6BC,EAkBtCC,WAAAA,CAAYC,GACR,MAAO,CACHC,MAAOD,EAAME,QACVF,EAEX,CAKAG,UAAAA,GACI,MAAO,CACHC,cAAe,CACXF,KAAMG,KAAKC,YAAmB,KAC9BL,MAAOI,KAAKL,MAAMC,MAClBM,oBAAqBF,KAAKG,MAAMC,MAAMF,oBACtCG,sBAAuBL,KAAKG,MAAMC,MAAMC,sBACxCC,qBAAsBN,KAAKG,MAAMC,MAAME,qBACvCC,oBAAqBP,KAAKG,MAAMC,MAAMG,qBAGlD,CA9BAN,WAAAA,CAAYO,EAAiBb,GACzBc,MAAMD,EAAU,IACTb,EACHe,aAAa,EACbC,oBAAoB,EACpBC,sBAAuBC,GAE/B,EAfAC,EADStB,EACKK,OAAOkB,EAAWC,gBAChCF,EAFStB,EAEKyB,aAAa,CACvBF,EAAWC,eACXD,EAAWG,uBACXH,EAAWI,sBACXJ,EAAWK"}
@@ -1,2 +1,2 @@
1
- import s from"../helpers/IssuerListContainer/IssuerListContainer.js";import{TxVariants as t}from"../tx-variants.js";class e extends s{static type=t.molpay_ebanking_fpx_MY}export{e as default};
1
+ import e from"../helpers/IssuerListContainer/IssuerListContainer.js";import{TxVariants as r}from"../tx-variants.js";class t extends e{}var a,s,i;a=t,s="type",i=r.molpay_ebanking_fpx_MY,s in a?Object.defineProperty(a,s,{value:i,enumerable:!0,configurable:!0,writable:!0}):a[s]=i;export{t as default};
2
2
  //# sourceMappingURL=MolPayEBankingMY.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MolPayEBankingMY.js","sources":["../../../../src/components/MolPayEBanking/MolPayEBankingMY.ts"],"sourcesContent":["import IssuerListContainer from '../helpers/IssuerListContainer/IssuerListContainer';\nimport { TxVariants } from '../tx-variants';\n\nclass MolPayEBankingMYElement extends IssuerListContainer {\n public static type = TxVariants.molpay_ebanking_fpx_MY;\n}\n\nexport default MolPayEBankingMYElement;\n"],"names":["MolPayEBankingMYElement","IssuerListContainer","static","TxVariants","molpay_ebanking_fpx_MY"],"mappings":"oHAGA,MAAMA,UAAgCC,EAClCC,YAAqBC,EAAWC"}
1
+ {"version":3,"file":"MolPayEBankingMY.js","sources":["../../../../src/components/MolPayEBanking/MolPayEBankingMY.ts"],"sourcesContent":["import IssuerListContainer from '../helpers/IssuerListContainer/IssuerListContainer';\nimport { TxVariants } from '../tx-variants';\n\nclass MolPayEBankingMYElement extends IssuerListContainer {\n public static type = TxVariants.molpay_ebanking_fpx_MY;\n}\n\nexport default MolPayEBankingMYElement;\n"],"names":["MolPayEBankingMYElement","IssuerListContainer","type","TxVariants","molpay_ebanking_fpx_MY"],"mappings":"oHAGA,MAAMA,UAAgCC,eAAhCD,IACYE,SAAOC,EAAWC"}
@@ -1,2 +1,2 @@
1
- import s from"../helpers/IssuerListContainer/IssuerListContainer.js";import{TxVariants as t}from"../tx-variants.js";class e extends s{static type=t.molpay_ebanking_TH}export{e as default};
1
+ import e from"../helpers/IssuerListContainer/IssuerListContainer.js";import{TxVariants as r}from"../tx-variants.js";class t extends e{}var a,s,i;a=t,s="type",i=r.molpay_ebanking_TH,s in a?Object.defineProperty(a,s,{value:i,enumerable:!0,configurable:!0,writable:!0}):a[s]=i;export{t as default};
2
2
  //# sourceMappingURL=MolPayEBankingTH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MolPayEBankingTH.js","sources":["../../../../src/components/MolPayEBanking/MolPayEBankingTH.ts"],"sourcesContent":["import IssuerListContainer from '../helpers/IssuerListContainer/IssuerListContainer';\nimport { TxVariants } from '../tx-variants';\n\nclass MolPayEBankingTHElement extends IssuerListContainer {\n public static type = TxVariants.molpay_ebanking_TH;\n}\n\nexport default MolPayEBankingTHElement;\n"],"names":["MolPayEBankingTHElement","IssuerListContainer","static","TxVariants","molpay_ebanking_TH"],"mappings":"oHAGA,MAAMA,UAAgCC,EAClCC,YAAqBC,EAAWC"}
1
+ {"version":3,"file":"MolPayEBankingTH.js","sources":["../../../../src/components/MolPayEBanking/MolPayEBankingTH.ts"],"sourcesContent":["import IssuerListContainer from '../helpers/IssuerListContainer/IssuerListContainer';\nimport { TxVariants } from '../tx-variants';\n\nclass MolPayEBankingTHElement extends IssuerListContainer {\n public static type = TxVariants.molpay_ebanking_TH;\n}\n\nexport default MolPayEBankingTHElement;\n"],"names":["MolPayEBankingTHElement","IssuerListContainer","type","TxVariants","molpay_ebanking_TH"],"mappings":"oHAGA,MAAMA,UAAgCC,eAAhCD,IACYE,SAAOC,EAAWC"}
@@ -1,2 +1,2 @@
1
- import s from"../helpers/IssuerListContainer/IssuerListContainer.js";import{TxVariants as t}from"../tx-variants.js";class e extends s{static type=t.molpay_ebanking_VN}export{e as default};
1
+ import e from"../helpers/IssuerListContainer/IssuerListContainer.js";import{TxVariants as r}from"../tx-variants.js";class t extends e{}var a,s,i;a=t,s="type",i=r.molpay_ebanking_VN,s in a?Object.defineProperty(a,s,{value:i,enumerable:!0,configurable:!0,writable:!0}):a[s]=i;export{t as default};
2
2
  //# sourceMappingURL=MolPayEBankingVN.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MolPayEBankingVN.js","sources":["../../../../src/components/MolPayEBanking/MolPayEBankingVN.ts"],"sourcesContent":["import IssuerListContainer from '../helpers/IssuerListContainer/IssuerListContainer';\nimport { TxVariants } from '../tx-variants';\n\nclass MolPayEbankingVNElement extends IssuerListContainer {\n public static type = TxVariants.molpay_ebanking_VN;\n}\n\nexport default MolPayEbankingVNElement;\n"],"names":["MolPayEbankingVNElement","IssuerListContainer","static","TxVariants","molpay_ebanking_VN"],"mappings":"oHAGA,MAAMA,UAAgCC,EAClCC,YAAqBC,EAAWC"}
1
+ {"version":3,"file":"MolPayEBankingVN.js","sources":["../../../../src/components/MolPayEBanking/MolPayEBankingVN.ts"],"sourcesContent":["import IssuerListContainer from '../helpers/IssuerListContainer/IssuerListContainer';\nimport { TxVariants } from '../tx-variants';\n\nclass MolPayEbankingVNElement extends IssuerListContainer {\n public static type = TxVariants.molpay_ebanking_VN;\n}\n\nexport default MolPayEbankingVNElement;\n"],"names":["MolPayEbankingVNElement","IssuerListContainer","type","TxVariants","molpay_ebanking_VN"],"mappings":"oHAGA,MAAMA,UAAgCC,eAAhCD,IACYE,SAAOC,EAAWC"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./components/MultibancoVoucherResult/MultibancoVoucherResult.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import s from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as n}from"../tx-variants.js";class i extends e{static type=n.multibanco;get isValid(){return!0}formatProps(t){return{...t,name:t.name||"Multibanco"}}formatData(){return{paymentMethod:{type:this.props.type||i.type}}}handleRef=t=>{this.componentRef=t};render(){return this.props.reference?t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(o,{ref:this.handleRef,...this.props})):this.props.showPayButton?t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(s,{showPayButton:this.props.showPayButton,name:this.displayName,amount:this.props.amount,payButton:this.payButton,onSubmit:this.submit,ref:t=>{this.componentRef=t}})):null}}export{i as MultibancoElement,i as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./components/MultibancoVoucherResult/MultibancoVoucherResult.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import n from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as s}from"../tx-variants.js";function i(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}class a extends e{get isValid(){return!0}formatProps(t){return{...t,name:t.name||"Multibanco"}}formatData(){return{paymentMethod:{type:this.props.type||a.type}}}render(){return this.props.reference?t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(o,{ref:this.handleRef,...this.props,onActionHandled:this.onActionHandled})):this.props.showPayButton?t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(n,{showPayButton:this.props.showPayButton,name:this.displayName,amount:this.props.amount,payButton:this.payButton,onSubmit:this.submit,ref:t=>{this.componentRef=t}})):null}constructor(...t){super(...t),i(this,"handleRef",(t=>{this.componentRef=t}))}}i(a,"type",s.multibanco);export{a as MultibancoElement,a as default};
2
2
  //# sourceMappingURL=Multibanco.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Multibanco.js","sources":["../../../../src/components/Multibanco/Multibanco.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MultibancoVoucherResult from './components/MultibancoVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class MultibancoElement extends UIElement<VoucherConfiguration> {\n public static type = TxVariants.multibanco;\n\n get isValid() {\n return true;\n }\n\n formatProps(props) {\n return {\n ...props,\n name: props.name || 'Multibanco'\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n paymentMethod: {\n type: this.props.type || MultibancoElement.type\n }\n };\n }\n\n private handleRef = ref => {\n this.componentRef = ref;\n };\n\n render() {\n if (this.props.reference) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <MultibancoVoucherResult ref={this.handleRef} {...this.props} />\n </CoreProvider>\n );\n }\n\n if (this.props.showPayButton) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n amount={this.props.amount}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n </CoreProvider>\n );\n }\n\n return null;\n }\n}\n\nexport default MultibancoElement;\n"],"names":["MultibancoElement","UIElement","static","TxVariants","multibanco","isValid","formatProps","props","name","formatData","paymentMethod","type","this","handleRef","ref","componentRef","render","reference","h","CoreProvider","i18n","loadingContext","resources","MultibancoVoucherResult","showPayButton","RedirectButton","displayName","amount","payButton","onSubmit","submit"],"mappings":"gYAQO,MAAMA,UAA0BC,EACnCC,YAAqBC,EAAWC,WAEhC,WAAIC,GACA,OAAO,CACX,CAEAC,WAAAA,CAAYC,GACR,MAAO,IACAA,EACHC,KAAMD,EAAMC,MAAQ,aAE5B,CAKAC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKL,MAAMI,MAAQX,EAAkBW,MAGvD,CAEQE,UAAYC,IAChBF,KAAKG,aAAeD,CAAAA,EAGxBE,MAAAA,GACI,OAAIJ,KAAKL,MAAMU,UAEPC,EAACC,EAAAA,CAAaC,KAAMR,KAAKL,MAAMa,KAAMC,eAAgBT,KAAKL,MAAMc,eAAgBC,UAAWV,KAAKU,WAC5FJ,EAACK,EAAAA,CAAwBT,IAAKF,KAAKC,aAAeD,KAAKL,SAK/DK,KAAKL,MAAMiB,cAEPN,EAACC,EAAAA,CAAaC,KAAMR,KAAKL,MAAMa,KAAMC,eAAgBT,KAAKL,MAAMc,eAAgBC,UAAWV,KAAKU,WAC5FJ,EAACO,EAAAA,CACGD,cAAeZ,KAAKL,MAAMiB,cAC1BhB,KAAMI,KAAKc,YACXC,OAAQf,KAAKL,MAAMoB,OACnBC,UAAWhB,KAAKgB,UAChBC,SAAUjB,KAAKkB,OACfhB,IAAKA,IACDF,KAAKG,aAAeD,CAAAA,KAOjC,IACX"}
1
+ {"version":3,"file":"Multibanco.js","sources":["../../../../src/components/Multibanco/Multibanco.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MultibancoVoucherResult from './components/MultibancoVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class MultibancoElement extends UIElement<VoucherConfiguration> {\n public static type = TxVariants.multibanco;\n\n get isValid() {\n return true;\n }\n\n formatProps(props) {\n return {\n ...props,\n name: props.name || 'Multibanco'\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n paymentMethod: {\n type: this.props.type || MultibancoElement.type\n }\n };\n }\n\n private handleRef = ref => {\n this.componentRef = ref;\n };\n\n render() {\n if (this.props.reference) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <MultibancoVoucherResult ref={this.handleRef} {...this.props} onActionHandled={this.onActionHandled} />\n </CoreProvider>\n );\n }\n\n if (this.props.showPayButton) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n amount={this.props.amount}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n </CoreProvider>\n );\n }\n\n return null;\n }\n}\n\nexport default MultibancoElement;\n"],"names":["MultibancoElement","UIElement","isValid","formatProps","props","name","formatData","paymentMethod","type","this","render","reference","h","CoreProvider","i18n","loadingContext","resources","MultibancoVoucherResult","ref","handleRef","onActionHandled","showPayButton","RedirectButton","displayName","amount","payButton","onSubmit","submit","componentRef","_define_property","TxVariants","multibanco"],"mappings":"wfAQO,MAAMA,UAA0BC,EAGnC,WAAIC,GACA,OAAO,CACX,CAEAC,WAAAA,CAAYC,GACR,MAAO,IACAA,EACHC,KAAMD,EAAMC,MAAQ,aAE5B,CAKAC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKL,MAAMI,MAAQR,EAAkBQ,MAGvD,CAMAE,MAAAA,GACI,OAAID,KAAKL,MAAMO,UAEPC,EAACC,EAAAA,CAAaC,KAAML,KAAKL,MAAMU,KAAMC,eAAgBN,KAAKL,MAAMW,eAAgBC,UAAWP,KAAKO,WAC5FJ,EAACK,EAAAA,CAAwBC,IAAKT,KAAKU,aAAeV,KAAKL,MAAOgB,gBAAiBX,KAAKW,mBAK5FX,KAAKL,MAAMiB,cAEPT,EAACC,EAAAA,CAAaC,KAAML,KAAKL,MAAMU,KAAMC,eAAgBN,KAAKL,MAAMW,eAAgBC,UAAWP,KAAKO,WAC5FJ,EAACU,EAAAA,CACGD,cAAeZ,KAAKL,MAAMiB,cAC1BhB,KAAMI,KAAKc,YACXC,OAAQf,KAAKL,MAAMoB,OACnBC,UAAWhB,KAAKgB,UAChBC,SAAUjB,KAAKkB,OACfT,IAAKA,IACDT,KAAKmB,aAAeV,CAAAA,KAOjC,IACX,+BA/BAW,EAAApB,KAAQU,aAAYD,IAChBT,KAAKmB,aAAeV,CAAAA,KAzBxBW,EADS7B,EACKQ,OAAOsB,EAAWC"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../../external/preact/dist/preact.js";import t from"../../../internal/Voucher/Voucher.js";import{useCoreContext as r}from"../../../../core/Context/CoreProvider.js";import o from"../../../../core/Context/useImage.js";const n=n=>{const{i18n:a}=r(),c=o(),{entity:l,reference:u,expiresAt:i,merchantReference:m,totalAmount:p,paymentMethodType:d,downloadUrl:s}=n,h=[...l?[{label:a.get("voucher.entity"),value:l}]:[],...i?[{label:a.get("voucher.expirationDate"),value:a.date(i)}]:[],...m?[{label:a.get("voucher.shopperReference"),value:m}]:[]];return e(t,{amount:p&&a.amount(p.value,p.currency),barcode:null,copyBtn:!0,downloadUrl:s,imageUrl:c()(d),introduction:a.get("voucher.introduction"),paymentMethodType:"multibanco",reference:u,voucherDetails:h})};export{n as default};
1
+ import{createElement as e}from"../../../../external/preact/dist/preact.js";import r from"../../../internal/Voucher/Voucher.js";import{useCoreContext as t}from"../../../../core/Context/CoreProvider.js";import o from"../../../../core/Context/useImage.js";import{extractCommonPropsForVoucher as n}from"../../../internal/Voucher/utils.js";const a=a=>{const{i18n:l}=t(),c=o(),{entity:i,expiresAt:u,merchantReference:s,downloadUrl:p}=a,m=[...i?[{label:l.get("voucher.entity"),value:i}]:[],...u?[{label:l.get("voucher.expirationDate"),value:l.date(u)}]:[],...s?[{label:l.get("voucher.shopperReference"),value:s}]:[]];return e(r,{...n({props:a,i18n:l,introKey:"voucher.introduction",getImage:c()}),barcode:null,copyBtn:!0,downloadUrl:p,voucherDetails:m})};export{a as default};
2
2
  //# sourceMappingURL=MultibancoVoucherResult.js.map