@adyen/adyen-web 6.3.0 → 6.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (453) hide show
  1. package/README.md +16 -5
  2. package/dist/cjs/adyen.css +9 -5
  3. package/dist/cjs/adyen.css.map +1 -1
  4. package/dist/cjs/index.cjs +2 -2
  5. package/dist/cjs/index.cjs.map +1 -1
  6. package/dist/cjs/index.d.cts +73 -29
  7. package/dist/es/adyen.css +9 -5
  8. package/dist/es/adyen.css.map +1 -1
  9. package/dist/es/components/ANCV/ANCV.js +1 -1
  10. package/dist/es/components/ANCV/ANCV.js.map +1 -1
  11. package/dist/es/components/Ach/Ach.js +1 -1
  12. package/dist/es/components/Ach/Ach.js.map +1 -1
  13. package/dist/es/components/Ach/components/AchInput/AchInput.js +1 -1
  14. package/dist/es/components/Ach/components/AchInput/AchInput.js.map +1 -1
  15. package/dist/es/components/Address/Address.js +1 -1
  16. package/dist/es/components/Address/Address.js.map +1 -1
  17. package/dist/es/components/Affirm/Affirm.js +1 -1
  18. package/dist/es/components/Affirm/Affirm.js.map +1 -1
  19. package/dist/es/components/AfterPay/AfterPay.js +1 -1
  20. package/dist/es/components/AfterPay/AfterPay.js.map +1 -1
  21. package/dist/es/components/AfterPay/AfterPayB2B.js +1 -1
  22. package/dist/es/components/AfterPay/AfterPayB2B.js.map +1 -1
  23. package/dist/es/components/AmazonPay/AmazonPay.js +1 -1
  24. package/dist/es/components/AmazonPay/AmazonPay.js.map +1 -1
  25. package/dist/es/components/ApplePay/ApplePay.js +1 -1
  26. package/dist/es/components/ApplePay/ApplePay.js.map +1 -1
  27. package/dist/es/components/ApplePay/ApplePayService.js +1 -1
  28. package/dist/es/components/ApplePay/ApplePayService.js.map +1 -1
  29. package/dist/es/components/ApplePay/components/ApplePayButton.js +1 -1
  30. package/dist/es/components/ApplePay/components/ApplePayButton.js.map +1 -1
  31. package/dist/es/components/Atome/Atome.js +1 -1
  32. package/dist/es/components/Atome/Atome.js.map +1 -1
  33. package/dist/es/components/BacsDD/BacsDD.js +1 -1
  34. package/dist/es/components/BacsDD/BacsDD.js.map +1 -1
  35. package/dist/es/components/BacsDD/components/BacsResult.js +1 -1
  36. package/dist/es/components/BacsDD/components/BacsResult.js.map +1 -1
  37. package/dist/es/components/BankTransfer/BankTransfer.js +1 -1
  38. package/dist/es/components/BankTransfer/BankTransfer.js.map +1 -1
  39. package/dist/es/components/BankTransfer/components/BankTransferResult/BankTransferResult.js +1 -1
  40. package/dist/es/components/BankTransfer/components/BankTransferResult/BankTransferResult.js.map +1 -1
  41. package/dist/es/components/BcmcMobile/BcmcMobile.js +1 -1
  42. package/dist/es/components/BcmcMobile/BcmcMobile.js.map +1 -1
  43. package/dist/es/components/BillDesk/BillDeskOnline.js +1 -1
  44. package/dist/es/components/BillDesk/BillDeskOnline.js.map +1 -1
  45. package/dist/es/components/BillDesk/BillDeskWallet.js +1 -1
  46. package/dist/es/components/BillDesk/BillDeskWallet.js.map +1 -1
  47. package/dist/es/components/Blik/Blik.js +1 -1
  48. package/dist/es/components/Blik/Blik.js.map +1 -1
  49. package/dist/es/components/Boleto/Boleto.js +1 -1
  50. package/dist/es/components/Boleto/Boleto.js.map +1 -1
  51. package/dist/es/components/Boleto/components/BoletoVoucherResult/BoletoVoucherResult.js +1 -1
  52. package/dist/es/components/Boleto/components/BoletoVoucherResult/BoletoVoucherResult.js.map +1 -1
  53. package/dist/es/components/Card/Bancontact.js +1 -1
  54. package/dist/es/components/Card/Bancontact.js.map +1 -1
  55. package/dist/es/components/Card/Card.js +1 -1
  56. package/dist/es/components/Card/Card.js.map +1 -1
  57. package/dist/es/components/CashAppPay/CashAppPay.js +1 -1
  58. package/dist/es/components/CashAppPay/CashAppPay.js.map +1 -1
  59. package/dist/es/components/CashAppPay/services/CashAppService.js +1 -1
  60. package/dist/es/components/CashAppPay/services/CashAppService.js.map +1 -1
  61. package/dist/es/components/ClickToPay/ClickToPay.js +1 -1
  62. package/dist/es/components/ClickToPay/ClickToPay.js.map +1 -1
  63. package/dist/es/components/CustomCard/CustomCard.js +1 -1
  64. package/dist/es/components/CustomCard/CustomCard.js.map +1 -1
  65. package/dist/es/components/Doku/Doku.js +1 -1
  66. package/dist/es/components/Doku/Doku.js.map +1 -1
  67. package/dist/es/components/Doku/components/DokuVoucherResult/DokuVoucherResult.js +1 -1
  68. package/dist/es/components/Doku/components/DokuVoucherResult/DokuVoucherResult.js.map +1 -1
  69. package/dist/es/components/Donation/Donation.js +1 -1
  70. package/dist/es/components/Donation/Donation.js.map +1 -1
  71. package/dist/es/components/Dotpay/index.js +1 -1
  72. package/dist/es/components/Dotpay/index.js.map +1 -1
  73. package/dist/es/components/Dragonpay/Dragonpay.js +1 -1
  74. package/dist/es/components/Dragonpay/Dragonpay.js.map +1 -1
  75. package/dist/es/components/Dragonpay/components/DragonpayVoucherResult/DragonpayVoucherResult.js +1 -1
  76. package/dist/es/components/Dragonpay/components/DragonpayVoucherResult/DragonpayVoucherResult.js.map +1 -1
  77. package/dist/es/components/Dropin/Dropin.js +1 -1
  78. package/dist/es/components/Dropin/Dropin.js.map +1 -1
  79. package/dist/es/components/Dropin/components/DropinComponent.js +1 -1
  80. package/dist/es/components/Dropin/components/DropinComponent.js.map +1 -1
  81. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
  82. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
  83. package/dist/es/components/DuitNow/DuitNow.js +1 -1
  84. package/dist/es/components/DuitNow/DuitNow.js.map +1 -1
  85. package/dist/es/components/EPS/index.js +1 -1
  86. package/dist/es/components/EPS/index.js.map +1 -1
  87. package/dist/es/components/Econtext/Econtext.js +1 -1
  88. package/dist/es/components/Econtext/Econtext.js.map +1 -1
  89. package/dist/es/components/Econtext/components/EcontextVoucherResult/EcontextVoucherResult.js +1 -1
  90. package/dist/es/components/Econtext/components/EcontextVoucherResult/EcontextVoucherResult.js.map +1 -1
  91. package/dist/es/components/FacilyPay/FacilyPay10x.js +1 -1
  92. package/dist/es/components/FacilyPay/FacilyPay10x.js.map +1 -1
  93. package/dist/es/components/FacilyPay/FacilyPay12x.js +1 -1
  94. package/dist/es/components/FacilyPay/FacilyPay12x.js.map +1 -1
  95. package/dist/es/components/FacilyPay/FacilyPay3x.js +1 -1
  96. package/dist/es/components/FacilyPay/FacilyPay3x.js.map +1 -1
  97. package/dist/es/components/FacilyPay/FacilyPay4x.js +1 -1
  98. package/dist/es/components/FacilyPay/FacilyPay4x.js.map +1 -1
  99. package/dist/es/components/FacilyPay/FacilyPay6x.js +1 -1
  100. package/dist/es/components/FacilyPay/FacilyPay6x.js.map +1 -1
  101. package/dist/es/components/Giftcard/Giftcard.js +1 -1
  102. package/dist/es/components/Giftcard/Giftcard.js.map +1 -1
  103. package/dist/es/components/Giftcard/components/GiftcardComponent.js +1 -1
  104. package/dist/es/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  105. package/dist/es/components/Giropay/Giropay.js +1 -1
  106. package/dist/es/components/Giropay/Giropay.js.map +1 -1
  107. package/dist/es/components/GooglePay/GooglePay.js +1 -1
  108. package/dist/es/components/GooglePay/GooglePay.js.map +1 -1
  109. package/dist/es/components/GooglePay/GooglePayService.js +1 -1
  110. package/dist/es/components/GooglePay/GooglePayService.js.map +1 -1
  111. package/dist/es/components/Klarna/KlarnaPayments.js +1 -1
  112. package/dist/es/components/Klarna/KlarnaPayments.js.map +1 -1
  113. package/dist/es/components/Klarna/components/KlarnaContainer/KlarnaContainer.js +1 -1
  114. package/dist/es/components/Klarna/components/KlarnaContainer/KlarnaContainer.js.map +1 -1
  115. package/dist/es/components/MBWay/MBWay.js +1 -1
  116. package/dist/es/components/MBWay/MBWay.js.map +1 -1
  117. package/dist/es/components/MealVoucherFR/MealVoucherFR.js +1 -1
  118. package/dist/es/components/MealVoucherFR/MealVoucherFR.js.map +1 -1
  119. package/dist/es/components/MolPayEBanking/MolPayEBankingMY.js +1 -1
  120. package/dist/es/components/MolPayEBanking/MolPayEBankingMY.js.map +1 -1
  121. package/dist/es/components/MolPayEBanking/MolPayEBankingTH.js +1 -1
  122. package/dist/es/components/MolPayEBanking/MolPayEBankingTH.js.map +1 -1
  123. package/dist/es/components/MolPayEBanking/MolPayEBankingVN.js +1 -1
  124. package/dist/es/components/MolPayEBanking/MolPayEBankingVN.js.map +1 -1
  125. package/dist/es/components/Multibanco/Multibanco.js +1 -1
  126. package/dist/es/components/Multibanco/Multibanco.js.map +1 -1
  127. package/dist/es/components/Multibanco/components/MultibancoVoucherResult/MultibancoVoucherResult.js +1 -1
  128. package/dist/es/components/Multibanco/components/MultibancoVoucherResult/MultibancoVoucherResult.js.map +1 -1
  129. package/dist/es/components/OnlineBankingCZ/index.js +1 -1
  130. package/dist/es/components/OnlineBankingCZ/index.js.map +1 -1
  131. package/dist/es/components/OnlineBankingFI/OnlineBankingFI.js +1 -1
  132. package/dist/es/components/OnlineBankingFI/OnlineBankingFI.js.map +1 -1
  133. package/dist/es/components/OnlineBankingIN/index.js +1 -1
  134. package/dist/es/components/OnlineBankingIN/index.js.map +1 -1
  135. package/dist/es/components/OnlineBankingPL/OnlineBankingPL.js +1 -1
  136. package/dist/es/components/OnlineBankingPL/OnlineBankingPL.js.map +1 -1
  137. package/dist/es/components/OnlineBankingSK/index.js +1 -1
  138. package/dist/es/components/OnlineBankingSK/index.js.map +1 -1
  139. package/dist/es/components/Oxxo/Oxxo.js +1 -1
  140. package/dist/es/components/Oxxo/Oxxo.js.map +1 -1
  141. package/dist/es/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.js +1 -1
  142. package/dist/es/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.js.map +1 -1
  143. package/dist/es/components/PayByBank/PayByBank.js +1 -1
  144. package/dist/es/components/PayByBank/PayByBank.js.map +1 -1
  145. package/dist/es/components/PayByBankUS/PayByBankUS.js +1 -1
  146. package/dist/es/components/PayByBankUS/PayByBankUS.js.map +1 -1
  147. package/dist/es/components/PayMe/PayMe.js +1 -1
  148. package/dist/es/components/PayMe/PayMe.js.map +1 -1
  149. package/dist/es/components/PayMe/components/PayMeInstructions.js +2 -0
  150. package/dist/es/components/PayMe/components/PayMeInstructions.js.map +1 -0
  151. package/dist/es/components/PayMe/components/PayMeIntroduction.js +2 -0
  152. package/dist/es/components/PayMe/components/PayMeIntroduction.js.map +1 -0
  153. package/dist/es/components/PayNow/PayNow.js +1 -1
  154. package/dist/es/components/PayNow/PayNow.js.map +1 -1
  155. package/dist/es/components/PayNow/components/PayNowInstructions.js +2 -0
  156. package/dist/es/components/PayNow/components/PayNowInstructions.js.map +1 -0
  157. package/dist/es/components/PayNow/components/PayNowIntroduction.js +2 -0
  158. package/dist/es/components/PayNow/components/PayNowIntroduction.js.map +1 -0
  159. package/dist/es/components/PayPal/Paypal.js +1 -1
  160. package/dist/es/components/PayPal/Paypal.js.map +1 -1
  161. package/dist/es/components/PayU/PayuCashcard.js +1 -1
  162. package/dist/es/components/PayU/PayuCashcard.js.map +1 -1
  163. package/dist/es/components/PayU/PayuNetBanking.js +1 -1
  164. package/dist/es/components/PayU/PayuNetBanking.js.map +1 -1
  165. package/dist/es/components/PersonalDetails/PersonalDetails.js +1 -1
  166. package/dist/es/components/PersonalDetails/PersonalDetails.js.map +1 -1
  167. package/dist/es/components/Pix/Pix.js +1 -1
  168. package/dist/es/components/Pix/Pix.js.map +1 -1
  169. package/dist/es/components/PromptPay/PromptPay.js +1 -1
  170. package/dist/es/components/PromptPay/PromptPay.js.map +1 -1
  171. package/dist/es/components/RatePay/RatePay.js +1 -1
  172. package/dist/es/components/RatePay/RatePay.js.map +1 -1
  173. package/dist/es/components/RatePay/RatePayDirectDebit.js +1 -1
  174. package/dist/es/components/RatePay/RatePayDirectDebit.js.map +1 -1
  175. package/dist/es/components/Redirect/Redirect.js +1 -1
  176. package/dist/es/components/Redirect/Redirect.js.map +1 -1
  177. package/dist/es/components/Redirect/components/RedirectShopper/RedirectShopper.js +1 -1
  178. package/dist/es/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
  179. package/dist/es/components/Riverty/Riverty.js +1 -1
  180. package/dist/es/components/Riverty/Riverty.js.map +1 -1
  181. package/dist/es/components/Sepa/Sepa.js +1 -1
  182. package/dist/es/components/Sepa/Sepa.js.map +1 -1
  183. package/dist/es/components/Swish/Swish.js +1 -1
  184. package/dist/es/components/Swish/Swish.js.map +1 -1
  185. package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js +1 -1
  186. package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
  187. package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js +1 -1
  188. package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  189. package/dist/es/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js +1 -1
  190. package/dist/es/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js.map +1 -1
  191. package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
  192. package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
  193. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js +1 -1
  194. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js.map +1 -1
  195. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
  196. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
  197. package/dist/es/components/ThreeDS2/components/Form/ThreeDS2Form.js +1 -1
  198. package/dist/es/components/ThreeDS2/components/Form/ThreeDS2Form.js.map +1 -1
  199. package/dist/es/components/Trustly/Trustly.js +1 -1
  200. package/dist/es/components/Trustly/Trustly.js.map +1 -1
  201. package/dist/es/components/Twint/Twint.js +1 -1
  202. package/dist/es/components/Twint/Twint.js.map +1 -1
  203. package/dist/es/components/UPI/UPI.js +1 -1
  204. package/dist/es/components/UPI/UPI.js.map +1 -1
  205. package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
  206. package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
  207. package/dist/es/components/Vipps/Vipps.js +1 -1
  208. package/dist/es/components/Vipps/Vipps.js.map +1 -1
  209. package/dist/es/components/WalletIN/index.js +1 -1
  210. package/dist/es/components/WalletIN/index.js.map +1 -1
  211. package/dist/es/components/WeChat/WeChat.js +1 -1
  212. package/dist/es/components/WeChat/WeChat.js.map +1 -1
  213. package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js +1 -1
  214. package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  215. package/dist/es/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js +1 -1
  216. package/dist/es/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js.map +1 -1
  217. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  218. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  219. package/dist/es/components/internal/Address/Address.js +1 -1
  220. package/dist/es/components/internal/Address/Address.js.map +1 -1
  221. package/dist/es/components/internal/Address/Specifications.js +1 -1
  222. package/dist/es/components/internal/Address/Specifications.js.map +1 -1
  223. package/dist/es/components/internal/Await/Await.js +1 -1
  224. package/dist/es/components/internal/Await/Await.js.map +1 -1
  225. package/dist/es/components/internal/BaseElement/BaseElement.js +1 -1
  226. package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
  227. package/dist/es/components/internal/Button/Button.js +1 -1
  228. package/dist/es/components/internal/Button/Button.js.map +1 -1
  229. package/dist/es/components/internal/ClickToPay/errors/TimeoutError.js +1 -1
  230. package/dist/es/components/internal/ClickToPay/errors/TimeoutError.js.map +1 -1
  231. package/dist/es/components/internal/ClickToPay/models/ShopperCard.js +1 -1
  232. package/dist/es/components/internal/ClickToPay/models/ShopperCard.js.map +1 -1
  233. package/dist/es/components/internal/ClickToPay/services/ClickToPayService.js +1 -1
  234. package/dist/es/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
  235. package/dist/es/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js +1 -1
  236. package/dist/es/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js.map +1 -1
  237. package/dist/es/components/internal/ClickToPay/services/sdks/MastercardSdk.js +1 -1
  238. package/dist/es/components/internal/ClickToPay/services/sdks/MastercardSdk.js.map +1 -1
  239. package/dist/es/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js +1 -1
  240. package/dist/es/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js.map +1 -1
  241. package/dist/es/components/internal/ClickToPay/services/sdks/SrciError.js +1 -1
  242. package/dist/es/components/internal/ClickToPay/services/sdks/SrciError.js.map +1 -1
  243. package/dist/es/components/internal/ClickToPay/services/sdks/VisaSdk.js +1 -1
  244. package/dist/es/components/internal/ClickToPay/services/sdks/VisaSdk.js.map +1 -1
  245. package/dist/es/components/internal/Countdown/CountdownA11yReporter.js +1 -1
  246. package/dist/es/components/internal/Countdown/CountdownA11yReporter.js.map +1 -1
  247. package/dist/es/components/internal/FormFields/ConsentCheckbox/ConsentCheckbox.js +1 -1
  248. package/dist/es/components/internal/FormFields/ConsentCheckbox/ConsentCheckbox.js.map +1 -1
  249. package/dist/es/components/internal/FormFields/RadioGroup/RadioGroup.js +1 -1
  250. package/dist/es/components/internal/FormFields/RadioGroup/RadioGroup.js.map +1 -1
  251. package/dist/es/components/internal/IFrame/Iframe.js +1 -1
  252. package/dist/es/components/internal/IFrame/Iframe.js.map +1 -1
  253. package/dist/es/components/internal/IbanInput/IbanInput.js +1 -1
  254. package/dist/es/components/internal/IbanInput/IbanInput.js.map +1 -1
  255. package/dist/es/components/internal/QRLoader/QRLoader.js +1 -1
  256. package/dist/es/components/internal/QRLoader/QRLoader.js.map +1 -1
  257. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
  258. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  259. package/dist/es/components/internal/SecuredFields/lib/CSF/AbstractCSF.js +1 -1
  260. package/dist/es/components/internal/SecuredFields/lib/CSF/AbstractCSF.js.map +1 -1
  261. package/dist/es/components/internal/SecuredFields/lib/CSF/CSF.js +1 -1
  262. package/dist/es/components/internal/SecuredFields/lib/CSF/CSF.js.map +1 -1
  263. package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js +1 -1
  264. package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
  265. package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
  266. package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
  267. package/dist/es/components/internal/Timeline/Timeline.js +2 -0
  268. package/dist/es/components/internal/Timeline/Timeline.js.map +1 -0
  269. package/dist/es/components/internal/Timeline/TimelineWrapper.js +2 -0
  270. package/dist/es/components/internal/Timeline/TimelineWrapper.js.map +1 -0
  271. package/dist/es/components/internal/UIElement/UIElement.js +1 -1
  272. package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
  273. package/dist/es/components/internal/Voucher/Voucher.js +1 -1
  274. package/dist/es/components/internal/Voucher/Voucher.js.map +1 -1
  275. package/dist/es/components/internal/Voucher/utils.js +2 -0
  276. package/dist/es/components/internal/Voucher/utils.js.map +1 -0
  277. package/dist/es/core/CheckoutSession/CheckoutSession.js +1 -1
  278. package/dist/es/core/CheckoutSession/CheckoutSession.js.map +1 -1
  279. package/dist/es/core/Context/Resources.js +1 -1
  280. package/dist/es/core/Context/Resources.js.map +1 -1
  281. package/dist/es/core/Errors/AdyenCheckoutError.js +1 -1
  282. package/dist/es/core/Errors/AdyenCheckoutError.js.map +1 -1
  283. package/dist/es/core/Errors/CancelError.js +2 -0
  284. package/dist/es/core/Errors/CancelError.js.map +1 -0
  285. package/dist/es/core/Errors/SRPanel.js +1 -1
  286. package/dist/es/core/Errors/SRPanel.js.map +1 -1
  287. package/dist/es/core/ProcessResponse/PaymentAction/actionTypes.js +1 -1
  288. package/dist/es/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
  289. package/dist/es/core/ProcessResponse/PaymentMethods/PaymentMethods.js +1 -1
  290. package/dist/es/core/ProcessResponse/PaymentMethods/PaymentMethods.js.map +1 -1
  291. package/dist/es/core/RiskModule/RiskModule.js +1 -1
  292. package/dist/es/core/RiskModule/RiskModule.js.map +1 -1
  293. package/dist/es/core/RiskModule/components/DeviceFingerprint/DeviceFingerprint.js +1 -1
  294. package/dist/es/core/RiskModule/components/DeviceFingerprint/DeviceFingerprint.js.map +1 -1
  295. package/dist/es/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.js +1 -1
  296. package/dist/es/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.js.map +1 -1
  297. package/dist/es/core/Services/analytics/collect-id.js +1 -1
  298. package/dist/es/core/core.js +1 -1
  299. package/dist/es/core/core.js.map +1 -1
  300. package/dist/es/core/core.registry.js +1 -1
  301. package/dist/es/core/core.registry.js.map +1 -1
  302. package/dist/es/index.d.ts +73 -29
  303. package/dist/es/language/Language.js +1 -1
  304. package/dist/es/language/Language.js.map +1 -1
  305. package/dist/es/utils/Script.js +1 -1
  306. package/dist/es/utils/Script.js.map +1 -1
  307. package/dist/es/utils/Storage.js +1 -1
  308. package/dist/es/utils/Storage.js.map +1 -1
  309. package/dist/es/utils/Validator/ValidationRuleResult.js +1 -1
  310. package/dist/es/utils/Validator/ValidationRuleResult.js.map +1 -1
  311. package/dist/es/utils/Validator/Validator.js +1 -1
  312. package/dist/es/utils/Validator/Validator.js.map +1 -1
  313. package/dist/es/utils/constants/currency-decimals.js +1 -1
  314. package/dist/es/utils/constants/currency-decimals.js.map +1 -1
  315. package/dist/es/utils/constants/currency-minor-units.js.map +1 -1
  316. package/dist/es/utils/get-process-message-handler.js +1 -1
  317. package/dist/es/utils/get-process-message-handler.js.map +1 -1
  318. package/dist/es/utils/useForm/reducer.js +1 -1
  319. package/dist/es/utils/useForm/reducer.js.map +1 -1
  320. package/dist/es/utils/useForm/useForm.js +1 -1
  321. package/dist/es/utils/useForm/useForm.js.map +1 -1
  322. package/dist/es/utils/useIsMobile.js +2 -0
  323. package/dist/es/utils/useIsMobile.js.map +1 -0
  324. package/dist/es-legacy/adyen.css +9 -5
  325. package/dist/es-legacy/adyen.css.map +1 -1
  326. package/dist/es-legacy/components/ANCV/ANCV.js +1 -1
  327. package/dist/es-legacy/components/ANCV/ANCV.js.map +1 -1
  328. package/dist/es-legacy/components/Ach/Ach.js +1 -1
  329. package/dist/es-legacy/components/Ach/Ach.js.map +1 -1
  330. package/dist/es-legacy/components/Ach/components/AchInput/AchInput.js +1 -1
  331. package/dist/es-legacy/components/Ach/components/AchInput/AchInput.js.map +1 -1
  332. package/dist/es-legacy/components/BacsDD/BacsDD.js +1 -1
  333. package/dist/es-legacy/components/BacsDD/BacsDD.js.map +1 -1
  334. package/dist/es-legacy/components/BacsDD/components/BacsResult.js +1 -1
  335. package/dist/es-legacy/components/BacsDD/components/BacsResult.js.map +1 -1
  336. package/dist/es-legacy/components/BankTransfer/BankTransfer.js +1 -1
  337. package/dist/es-legacy/components/BankTransfer/BankTransfer.js.map +1 -1
  338. package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferResult.js +1 -1
  339. package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferResult.js.map +1 -1
  340. package/dist/es-legacy/components/BcmcMobile/BcmcMobile.js +1 -1
  341. package/dist/es-legacy/components/BcmcMobile/BcmcMobile.js.map +1 -1
  342. package/dist/es-legacy/components/Blik/Blik.js +1 -1
  343. package/dist/es-legacy/components/Blik/Blik.js.map +1 -1
  344. package/dist/es-legacy/components/Boleto/Boleto.js +1 -1
  345. package/dist/es-legacy/components/Boleto/Boleto.js.map +1 -1
  346. package/dist/es-legacy/components/Boleto/components/BoletoVoucherResult/BoletoVoucherResult.js +1 -1
  347. package/dist/es-legacy/components/Boleto/components/BoletoVoucherResult/BoletoVoucherResult.js.map +1 -1
  348. package/dist/es-legacy/components/Doku/Doku.js +1 -1
  349. package/dist/es-legacy/components/Doku/Doku.js.map +1 -1
  350. package/dist/es-legacy/components/Doku/components/DokuVoucherResult/DokuVoucherResult.js +1 -1
  351. package/dist/es-legacy/components/Doku/components/DokuVoucherResult/DokuVoucherResult.js.map +1 -1
  352. package/dist/es-legacy/components/Dragonpay/Dragonpay.js +1 -1
  353. package/dist/es-legacy/components/Dragonpay/Dragonpay.js.map +1 -1
  354. package/dist/es-legacy/components/Dragonpay/components/DragonpayVoucherResult/DragonpayVoucherResult.js +1 -1
  355. package/dist/es-legacy/components/Dragonpay/components/DragonpayVoucherResult/DragonpayVoucherResult.js.map +1 -1
  356. package/dist/es-legacy/components/Econtext/Econtext.js +1 -1
  357. package/dist/es-legacy/components/Econtext/Econtext.js.map +1 -1
  358. package/dist/es-legacy/components/Econtext/components/EcontextVoucherResult/EcontextVoucherResult.js +1 -1
  359. package/dist/es-legacy/components/Econtext/components/EcontextVoucherResult/EcontextVoucherResult.js.map +1 -1
  360. package/dist/es-legacy/components/Klarna/KlarnaPayments.js +1 -1
  361. package/dist/es-legacy/components/Klarna/KlarnaPayments.js.map +1 -1
  362. package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js +1 -1
  363. package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js.map +1 -1
  364. package/dist/es-legacy/components/MBWay/MBWay.js +1 -1
  365. package/dist/es-legacy/components/MBWay/MBWay.js.map +1 -1
  366. package/dist/es-legacy/components/Multibanco/Multibanco.js +1 -1
  367. package/dist/es-legacy/components/Multibanco/Multibanco.js.map +1 -1
  368. package/dist/es-legacy/components/Multibanco/components/MultibancoVoucherResult/MultibancoVoucherResult.js +1 -1
  369. package/dist/es-legacy/components/Multibanco/components/MultibancoVoucherResult/MultibancoVoucherResult.js.map +1 -1
  370. package/dist/es-legacy/components/Oxxo/Oxxo.js +1 -1
  371. package/dist/es-legacy/components/Oxxo/Oxxo.js.map +1 -1
  372. package/dist/es-legacy/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.js +1 -1
  373. package/dist/es-legacy/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.js.map +1 -1
  374. package/dist/es-legacy/components/PayMe/PayMe.js +1 -1
  375. package/dist/es-legacy/components/PayMe/PayMe.js.map +1 -1
  376. package/dist/es-legacy/components/PayMe/components/PayMeInstructions.js +2 -0
  377. package/dist/es-legacy/components/PayMe/components/PayMeInstructions.js.map +1 -0
  378. package/dist/es-legacy/components/PayMe/components/PayMeIntroduction.js +2 -0
  379. package/dist/es-legacy/components/PayMe/components/PayMeIntroduction.js.map +1 -0
  380. package/dist/es-legacy/components/PayNow/PayNow.js +1 -1
  381. package/dist/es-legacy/components/PayNow/PayNow.js.map +1 -1
  382. package/dist/es-legacy/components/PayNow/components/PayNowInstructions.js +2 -0
  383. package/dist/es-legacy/components/PayNow/components/PayNowInstructions.js.map +1 -0
  384. package/dist/es-legacy/components/PayNow/components/PayNowIntroduction.js +2 -0
  385. package/dist/es-legacy/components/PayNow/components/PayNowIntroduction.js.map +1 -0
  386. package/dist/es-legacy/components/PayPal/Paypal.js +1 -1
  387. package/dist/es-legacy/components/PayPal/Paypal.js.map +1 -1
  388. package/dist/es-legacy/components/Redirect/Redirect.js +1 -1
  389. package/dist/es-legacy/components/Redirect/Redirect.js.map +1 -1
  390. package/dist/es-legacy/components/Redirect/components/RedirectShopper/RedirectShopper.js +1 -1
  391. package/dist/es-legacy/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
  392. package/dist/es-legacy/components/Swish/Swish.js.map +1 -1
  393. package/dist/es-legacy/components/ThreeDS2/ThreeDS2Challenge.js +1 -1
  394. package/dist/es-legacy/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
  395. package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js +1 -1
  396. package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  397. package/dist/es-legacy/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js +1 -1
  398. package/dist/es-legacy/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js.map +1 -1
  399. package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
  400. package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
  401. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js +1 -1
  402. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js.map +1 -1
  403. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
  404. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
  405. package/dist/es-legacy/components/UPI/UPI.js +1 -1
  406. package/dist/es-legacy/components/UPI/UPI.js.map +1 -1
  407. package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
  408. package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
  409. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  410. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  411. package/dist/es-legacy/components/internal/Address/Address.js +1 -1
  412. package/dist/es-legacy/components/internal/Address/Address.js.map +1 -1
  413. package/dist/es-legacy/components/internal/Await/Await.js +1 -1
  414. package/dist/es-legacy/components/internal/Await/Await.js.map +1 -1
  415. package/dist/es-legacy/components/internal/FormFields/RadioGroup/RadioGroup.js +1 -1
  416. package/dist/es-legacy/components/internal/FormFields/RadioGroup/RadioGroup.js.map +1 -1
  417. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js +1 -1
  418. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js.map +1 -1
  419. package/dist/es-legacy/components/internal/Timeline/Timeline.js +2 -0
  420. package/dist/es-legacy/components/internal/Timeline/Timeline.js.map +1 -0
  421. package/dist/es-legacy/components/internal/Timeline/TimelineWrapper.js +2 -0
  422. package/dist/es-legacy/components/internal/Timeline/TimelineWrapper.js.map +1 -0
  423. package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
  424. package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
  425. package/dist/es-legacy/components/internal/Voucher/Voucher.js +1 -1
  426. package/dist/es-legacy/components/internal/Voucher/Voucher.js.map +1 -1
  427. package/dist/es-legacy/components/internal/Voucher/utils.js +2 -0
  428. package/dist/es-legacy/components/internal/Voucher/utils.js.map +1 -0
  429. package/dist/es-legacy/core/Errors/CancelError.js +2 -0
  430. package/dist/es-legacy/core/Errors/CancelError.js.map +1 -0
  431. package/dist/es-legacy/core/Errors/SRPanel.js +1 -1
  432. package/dist/es-legacy/core/Errors/SRPanel.js.map +1 -1
  433. package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js +1 -1
  434. package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
  435. package/dist/es-legacy/core/Services/analytics/collect-id.js +1 -1
  436. package/dist/es-legacy/core/core.js +1 -1
  437. package/dist/es-legacy/utils/constants/currency-decimals.js +1 -1
  438. package/dist/es-legacy/utils/constants/currency-decimals.js.map +1 -1
  439. package/dist/es-legacy/utils/constants/currency-minor-units.js.map +1 -1
  440. package/dist/es-legacy/utils/get-process-message-handler.js +1 -1
  441. package/dist/es-legacy/utils/get-process-message-handler.js.map +1 -1
  442. package/dist/es-legacy/utils/useForm/reducer.js +1 -1
  443. package/dist/es-legacy/utils/useForm/reducer.js.map +1 -1
  444. package/dist/es-legacy/utils/useForm/useForm.js +1 -1
  445. package/dist/es-legacy/utils/useForm/useForm.js.map +1 -1
  446. package/dist/es-legacy/utils/useIsMobile.js +2 -0
  447. package/dist/es-legacy/utils/useIsMobile.js.map +1 -0
  448. package/package.json +10 -8
  449. package/styles/adyen.css +9 -5
  450. package/dist/es/components/PayMe/Instructions.js +0 -2
  451. package/dist/es/components/PayMe/Instructions.js.map +0 -1
  452. package/dist/es-legacy/components/PayMe/Instructions.js +0 -2
  453. package/dist/es-legacy/components/PayMe/Instructions.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{Component as e,createElement as t}from"../../../../external/preact/dist/preact.js";import o from"./DoFingerprint3DS2.js";import{prepareFingerPrintData as s,isErrorObject as r,createOldFingerprintResolveData as i,createFingerprintResolveData as n}from"../utils.js";import{isValidHttpUrl as a}from"../../../../utils/isValidURL.js";import{MISSING_TOKEN_IN_ACTION_MSG as p,THREEDS2_FINGERPRINT_ERROR as d,THREEDS2_FULL as m,TIMEOUT as c,THREEDS2_ERROR as l,THREEDS2_NUM as h,THREEDS2_FINGERPRINT as S}from"../../constants.js";import{Analytics3DS2Events as D,Analytics3DS2Errors as u,ANALYTICS_NETWORK_ERROR as g,ANALYTICS_API_ERROR as f}from"../../../../core/Analytics/constants.js";class C extends e{static type="scheme";static defaultProps={onComplete:()=>{},onError:()=>{},paymentData:"",showSpinner:!0,onActionHandled:()=>{},isMDFlow:!1};constructor(e){super(e);const{token:t,notificationURL:o}=this.props;if(t){const e=s({token:t,notificationURL:o});this.state={status:"init",fingerPrintData:e}}else this.state={fingerPrintData:{success:!1,error:p}},console.debug(`${d}: ${p}`)}onActionHandled=e=>{this.props.onSubmitAnalytics({type:m,message:e.actionDescription,subtype:D.FINGERPRINT_IFRAME_LOADED}),this.props.onActionHandled(e)};onFormSubmit=e=>{this.props.onSubmitAnalytics({type:m,message:e,subtype:D.FINGERPRINT_DATA_SENT})};componentDidMount(){if(!r(this.state.fingerPrintData)){const e="test"===this.props.environment&&this.props._environmentUrls?.api?.includes("http://localhost:8080"),{threeDSMethodURL:t,threeDSMethodNotificationURL:o,postMessageDomain:s,threeDSServerTransID:r}=this.state.fingerPrintData;if(!a(t,e))return this.setStatusComplete({threeDSCompInd:"U"},{errorCode:u.TOKEN_IS_MISSING_THREEDSMETHODURL,message:`${d}: Decoded token is missing a valid threeDSMethodURL property`}),void console.debug("### PrepareFingerprint3DS2::exiting:: no valid threeDSMethodURL");const i=a(o,e),n=a(s,e),p=r?.length;if(!i||!n||!p)return this.setStatusComplete({threeDSCompInd:"N"},{errorCode:u.TOKEN_IS_MISSING_OTHER_PROPS,message:`${d}: Decoded token is missing one or more of the following properties (threeDSMethodNotificationURL | postMessageDomain | threeDSServerTransID)`}),void console.debug("### PrepareFingerprint3DS2::exiting:: Decoded token is missing one or more of the following properties (threeDSMethodNotificationURL | postMessageDomain | threeDSServerTransID)");this.setState({status:"retrievingFingerPrint"})}else{const e=this.state.fingerPrintData.error,t=e.indexOf(p)>-1?u.ACTION_IS_MISSING_TOKEN:u.TOKEN_DECODE_OR_PARSING_FAILED;this.setStatusComplete({threeDSCompInd:"N"},{errorCode:t,message:`${d}: ${e}`}),console.debug("### PrepareFingerprint3DS2:: token does not exist or could not be base64 decoded &/or JSON.parsed")}}setStatusComplete(e,t=null){this.setState({status:"complete"},(()=>{const o=(this.props.isMDFlow?i:n)(this.props.dataKey,e,this.props.paymentData);let s;const r=t||e;if(r.errorCode){const e={code:r.errorCode===c?u.THREEDS2_TIMEOUT:r.errorCode,errorType:r.errorCode===c?g:f};s={type:l,message:r.message,...e},this.props.onSubmitAnalytics(s)}let a;switch(e?.threeDSCompInd){case"Y":a="success";break;case"N":a=t?t.errorCode===c?c:"failedInternal":"failed";break;case"U":a="noThreeDSMethodURL"}s={type:m,message:`${h} fingerprinting has completed`,subtype:D.FINGERPRINT_COMPLETED,result:a},this.props.onSubmitAnalytics(s),this.props.onComplete(o)}))}render({showSpinner:e},{status:s,fingerPrintData:r}){return"retrievingFingerPrint"===s?t(o,{onCompleteFingerprint:e=>{this.setStatusComplete(e.result)},onErrorFingerprint:e=>{const t={errorCode:e.errorCode,message:`${S}: ${e.errorCode}`};this.setStatusComplete(e.result,t)},showSpinner:e,...r,onActionHandled:this.onActionHandled,onFormSubmit:this.onFormSubmit}):null}}export{C as default};
1
+ import{Component as e,createElement as t}from"../../../../external/preact/dist/preact.js";import r from"./DoFingerprint3DS2.js";import{isErrorObject as o,createOldFingerprintResolveData as s,createFingerprintResolveData as i,prepareFingerPrintData as n}from"../utils.js";import{isValidHttpUrl as a}from"../../../../utils/isValidURL.js";import{THREEDS2_FINGERPRINT_ERROR as p,MISSING_TOKEN_IN_ACTION_MSG as d,TIMEOUT as l,THREEDS2_ERROR as m,THREEDS2_FULL as h,THREEDS2_NUM as c,THREEDS2_FINGERPRINT as S}from"../../constants.js";import{Analytics3DS2Errors as D,ANALYTICS_NETWORK_ERROR as u,ANALYTICS_API_ERROR as g,Analytics3DS2Events as f}from"../../../../core/Analytics/constants.js";function C(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class I extends e{componentDidMount(){if(!o(this.state.fingerPrintData)){const e="test"===this.props.environment&&this.props._environmentUrls?.api?.includes("http://localhost:8080"),{threeDSMethodURL:t,threeDSMethodNotificationURL:r,postMessageDomain:o,threeDSServerTransID:s}=this.state.fingerPrintData;if(!a(t,e))return this.setStatusComplete({threeDSCompInd:"U"},{errorCode:D.TOKEN_IS_MISSING_THREEDSMETHODURL,message:`${p}: Decoded token is missing a valid threeDSMethodURL property`}),void console.debug("### PrepareFingerprint3DS2::exiting:: no valid threeDSMethodURL");const i=a(r,e),n=a(o,e),d=s?.length;if(!i||!n||!d)return this.setStatusComplete({threeDSCompInd:"N"},{errorCode:D.TOKEN_IS_MISSING_OTHER_PROPS,message:`${p}: Decoded token is missing one or more of the following properties (threeDSMethodNotificationURL | postMessageDomain | threeDSServerTransID)`}),void console.debug("### PrepareFingerprint3DS2::exiting:: Decoded token is missing one or more of the following properties (threeDSMethodNotificationURL | postMessageDomain | threeDSServerTransID)");this.setState({status:"retrievingFingerPrint"})}else{const e=this.state.fingerPrintData.error,t=e.indexOf(d)>-1?D.ACTION_IS_MISSING_TOKEN:D.TOKEN_DECODE_OR_PARSING_FAILED;this.setStatusComplete({threeDSCompInd:"N"},{errorCode:t,message:`${p}: ${e}`}),console.debug("### PrepareFingerprint3DS2:: token does not exist or could not be base64 decoded &/or JSON.parsed")}}setStatusComplete(e,t=null){this.setState({status:"complete"},(()=>{const r=(this.props.isMDFlow?s:i)(this.props.dataKey,e,this.props.paymentData);let o;const n=t||e;if(n.errorCode){const e={code:n.errorCode===l?D.THREEDS2_TIMEOUT:n.errorCode,errorType:n.errorCode===l?u:g};o={type:m,message:n.message,...e},this.props.onSubmitAnalytics(o)}let a;switch(e?.threeDSCompInd){case"Y":a="success";break;case"N":a=t?t.errorCode===l?l:"failedInternal":"failed";break;case"U":a="noThreeDSMethodURL"}o={type:h,message:`${c} fingerprinting has completed`,subtype:f.FINGERPRINT_COMPLETED,result:a},this.props.onSubmitAnalytics(o),this.props.onComplete(r)}))}render({showSpinner:e},{status:o,fingerPrintData:s}){return"retrievingFingerPrint"===o?t(r,{onCompleteFingerprint:e=>{this.setStatusComplete(e.result)},onErrorFingerprint:e=>{const t={errorCode:e.errorCode,message:`${S}: ${e.errorCode}`};this.setStatusComplete(e.result,t)},showSpinner:e,...s,onActionHandled:this.props.onActionHandled,onFormSubmit:this.onFormSubmit}):null}constructor(e){super(e),C(this,"onFormSubmit",(e=>{this.props.onSubmitAnalytics({type:h,message:e,subtype:f.FINGERPRINT_DATA_SENT})}));const{token:t,notificationURL:r}=this.props;if(t){const e=n({token:t,notificationURL:r});this.state={status:"init",fingerPrintData:e}}else this.state={fingerPrintData:{success:!1,error:d}},console.debug(`${p}: ${d}`)}}C(I,"type","scheme"),C(I,"defaultProps",{onComplete:()=>{},onError:()=>{},paymentData:"",showSpinner:!0,isMDFlow:!1});export{I as default};
2
2
  //# sourceMappingURL=PrepareFingerprint3DS2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PrepareFingerprint3DS2.js","sources":["../../../../../../src/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport DoFingerprint3DS2 from './DoFingerprint3DS2';\nimport { createFingerprintResolveData, createOldFingerprintResolveData, isErrorObject, prepareFingerPrintData } from '../utils';\nimport { PrepareFingerprint3DS2Props, PrepareFingerprint3DS2State } from './types';\nimport { FingerPrintData, ResultObject, ErrorCodeObject } from '../../types';\nimport { ErrorObject } from '../../../../core/Errors/types';\nimport { ActionHandledReturnObject } from '../../../../types/global-types';\nimport { SendAnalyticsObject } from '../../../../core/Analytics/types';\nimport { isValidHttpUrl } from '../../../../utils/isValidURL';\nimport {\n THREEDS2_FULL,\n THREEDS2_FINGERPRINT,\n THREEDS2_FINGERPRINT_ERROR,\n THREEDS2_NUM,\n MISSING_TOKEN_IN_ACTION_MSG,\n THREEDS2_ERROR,\n TIMEOUT\n} from '../../constants';\nimport { ANALYTICS_API_ERROR, ANALYTICS_NETWORK_ERROR, Analytics3DS2Errors, Analytics3DS2Events } from '../../../../core/Analytics/constants';\n\nclass PrepareFingerprint3DS2 extends Component<PrepareFingerprint3DS2Props, PrepareFingerprint3DS2State> {\n public static type = 'scheme';\n\n public static defaultProps = {\n onComplete: () => {},\n onError: () => {},\n paymentData: '',\n showSpinner: true,\n onActionHandled: () => {},\n isMDFlow: false\n };\n\n constructor(props) {\n super(props);\n\n const { token, notificationURL } = this.props; // See comments on prepareFingerPrintData regarding notificationURL\n\n if (token) {\n const fingerPrintData: FingerPrintData | ErrorObject = prepareFingerPrintData({ token, notificationURL });\n\n this.state = {\n status: 'init',\n fingerPrintData: fingerPrintData as FingerPrintData\n };\n } else {\n // Will be picked up in componentDidMount\n this.state = { fingerPrintData: { success: false, error: MISSING_TOKEN_IN_ACTION_MSG } };\n\n console.debug(`${THREEDS2_FINGERPRINT_ERROR}: ${MISSING_TOKEN_IN_ACTION_MSG}`);\n }\n }\n\n public onActionHandled = (rtnObj: ActionHandledReturnObject) => {\n this.props.onSubmitAnalytics({\n type: THREEDS2_FULL,\n message: rtnObj.actionDescription,\n subtype: Analytics3DS2Events.FINGERPRINT_IFRAME_LOADED\n });\n this.props.onActionHandled(rtnObj);\n };\n\n public onFormSubmit = (msg: string) => {\n this.props.onSubmitAnalytics({\n type: THREEDS2_FULL,\n message: msg,\n subtype: Analytics3DS2Events.FINGERPRINT_DATA_SENT\n });\n };\n\n componentDidMount() {\n const hasFingerPrintData = !isErrorObject(this.state.fingerPrintData);\n\n if (hasFingerPrintData) {\n const shouldAllowHttpDomains =\n /** Allow http urls if in development and testing against localhost:8080 */\n (process.env.NODE_ENV === 'development' && process.env.__CLIENT_ENV__?.indexOf('localhost:8080') > -1) ||\n /**\n * Allows the checkoutshopper demo on localhost:8080 to work -\n * requires a configuration in localhost of environment: 'test', _environmentUrls: {api: 'http://localhost:8080/'}\n */\n (this.props.environment === 'test' && this.props._environmentUrls?.api?.includes('http://localhost:8080'));\n\n /**\n * Check the structure of the created fingerPrintData\n */\n const { threeDSMethodURL, threeDSMethodNotificationURL, postMessageDomain, threeDSServerTransID } = this.state\n .fingerPrintData as FingerPrintData;\n\n const hasValid3DSMethodURL = isValidHttpUrl(threeDSMethodURL, shouldAllowHttpDomains);\n\n // Only render component if we have a threeDSMethodURL. Otherwise, exit with threeDSCompInd: 'U'\n if (!hasValid3DSMethodURL) {\n this.setStatusComplete(\n { threeDSCompInd: 'U' },\n {\n errorCode: Analytics3DS2Errors.TOKEN_IS_MISSING_THREEDSMETHODURL,\n message: `${THREEDS2_FINGERPRINT_ERROR}: Decoded token is missing a valid threeDSMethodURL property`\n }\n );\n\n /**\n * NOTE: we can now use this.props.isMDFlow to decide if we want to send any of these errors to the onError handler\n * - this is problematic in the regular flow since merchants tend to treat any calls to their onError handler as 'fatal',\n * but in the MDFlow we control what the onError handler does.\n */\n // if (this.props.isMDFlow) {}\n\n console.debug('### PrepareFingerprint3DS2::exiting:: no valid threeDSMethodURL');\n return;\n }\n\n const hasValid3DSMethodNotificationURL = isValidHttpUrl(threeDSMethodNotificationURL, shouldAllowHttpDomains);\n const hasValidPostMessageDomain = isValidHttpUrl(postMessageDomain, shouldAllowHttpDomains);\n const hasTransServerID = threeDSServerTransID?.length;\n\n if (!hasValid3DSMethodNotificationURL || !hasValidPostMessageDomain || !hasTransServerID) {\n /**\n * NOTE: EMVCo_3DS_CoreSpec_v2.3.1_20220831.pdf states that we should return: threeDSCompInd: 'N'\n * when the fingerprinting process \"Did not run or did not successfully complete\"\n */\n this.setStatusComplete(\n { threeDSCompInd: 'N' },\n {\n errorCode: Analytics3DS2Errors.TOKEN_IS_MISSING_OTHER_PROPS,\n message: `${THREEDS2_FINGERPRINT_ERROR}: Decoded token is missing one or more of the following properties (threeDSMethodNotificationURL | postMessageDomain | threeDSServerTransID)`\n }\n );\n\n console.debug(\n '### PrepareFingerprint3DS2::exiting:: Decoded token is missing one or more of the following properties (threeDSMethodNotificationURL | postMessageDomain | threeDSServerTransID)'\n );\n\n return;\n }\n\n // Proceed to allow component to render\n this.setState({ status: 'retrievingFingerPrint' });\n //\n } else {\n // Only render component if we have fingerPrintData. Otherwise, complete with threeDSCompInd: 'N'\n\n const errorMsg: string = (this.state.fingerPrintData as ErrorObject).error;\n\n const errorCode =\n errorMsg.indexOf(MISSING_TOKEN_IN_ACTION_MSG) > -1\n ? Analytics3DS2Errors.ACTION_IS_MISSING_TOKEN\n : Analytics3DS2Errors.TOKEN_DECODE_OR_PARSING_FAILED;\n\n this.setStatusComplete(\n { threeDSCompInd: 'N' },\n {\n errorCode,\n message: `${THREEDS2_FINGERPRINT_ERROR}: ${errorMsg}` // can be: 'Missing \"token\" property from threeDS2 action', 'not base64', 'malformed URI sequence' or 'Could not JSON parse token'\n }\n );\n\n console.debug('### PrepareFingerprint3DS2:: token does not exist or could not be base64 decoded &/or JSON.parsed');\n }\n }\n\n setStatusComplete(resultObj: ResultObject, errorCodeObject: ErrorCodeObject = null) {\n this.setState({ status: 'complete' }, () => {\n /**\n * Create the data in the way that the /details endpoint expects.\n * This is different for the flow triggered by the threeds2InMDFlow process than for the new, v67, 'threeDS2' action\n */\n const resolveDataFunction = this.props.isMDFlow ? createOldFingerprintResolveData : createFingerprintResolveData;\n const data = resolveDataFunction(this.props.dataKey, resultObj, this.props.paymentData);\n\n let analyticsObject: SendAnalyticsObject;\n\n /** Are we in an error scenario? If so, submit analytics about it */\n const finalResObject = errorCodeObject ? errorCodeObject : resultObj;\n if (finalResObject.errorCode) {\n const errorTypeAndCode = {\n code: finalResObject.errorCode === TIMEOUT ? Analytics3DS2Errors.THREEDS2_TIMEOUT : finalResObject.errorCode,\n errorType: finalResObject.errorCode === TIMEOUT ? ANALYTICS_NETWORK_ERROR : ANALYTICS_API_ERROR\n };\n\n /**\n * Timeout or data parsing problems:\n *\n * (threeDSCompInd:\"U\"):\n * - Decoded token is missing a valid threeDSMethodURL property,\n * or, (threeDSCompInd:\"N\"):\n * - Fingerprint process has timed out,\n * also, (threeDSCompInd:\"N\"):\n * - Missing \"token\" property from threeDS2 action\n * - or, decoded token is missing one or more of the following properties (threeDSMethodNotificationURL | postMessageDomain | threeDSServerTransID)\n * - or, token could not be base64 decoded &/or JSON.parsed\n */\n analyticsObject = {\n type: THREEDS2_ERROR,\n message: (finalResObject as ErrorCodeObject).message,\n ...errorTypeAndCode\n };\n\n // Send error to analytics endpoint\n this.props.onSubmitAnalytics(analyticsObject);\n }\n\n /** Calculate \"result\" for analytics */\n let result: string;\n\n switch (resultObj?.threeDSCompInd) {\n case 'Y':\n result = 'success';\n break;\n case 'N': {\n if (!errorCodeObject) {\n result = 'failed'; // 'failed' is the result returned from the threeDSMethodURL\n } else {\n result = errorCodeObject.errorCode === TIMEOUT ? TIMEOUT : 'failedInternal'; // timed-out; or, 'failed' as a result of internal checks\n }\n break;\n }\n case 'U':\n result = 'noThreeDSMethodURL';\n break;\n default:\n }\n\n /**\n * The fingerprint process is completed, one way or another.\n * The resultObj will be {threeDSCompInd:\"Y\"} in the case of success,\n * else {threeDSCompInd:\"U\"} or {threeDSCompInd:\"N\"} - if we've had some kind of timeout or data parsing problem (as described above)\n */\n analyticsObject = {\n type: THREEDS2_FULL,\n message: `${THREEDS2_NUM} fingerprinting has completed`,\n subtype: Analytics3DS2Events.FINGERPRINT_COMPLETED,\n result\n };\n\n // Send log to analytics endpoint\n this.props.onSubmitAnalytics(analyticsObject);\n\n /**\n * Equals call to callSubmit3DS2Fingerprint (except for in 3DS2InMDFlow)\n */\n this.props.onComplete(data);\n });\n }\n\n render({ showSpinner }, { status, fingerPrintData }) {\n if (status === 'retrievingFingerPrint') {\n return (\n <DoFingerprint3DS2\n onCompleteFingerprint={fingerprint => {\n this.setStatusComplete(fingerprint.result);\n }}\n onErrorFingerprint={fingerprint => {\n /**\n * Called when fingerprint times-out (which is still a valid scenario)...\n */\n const timeoutObject: ErrorCodeObject = {\n errorCode: fingerprint.errorCode, // 'timeout'\n message: `${THREEDS2_FINGERPRINT}: ${fingerprint.errorCode}`\n };\n\n this.setStatusComplete(fingerprint.result, timeoutObject); // fingerprint.result = threeDSCompInd: 'N'\n }}\n showSpinner={showSpinner}\n {...fingerPrintData}\n onActionHandled={this.onActionHandled}\n onFormSubmit={this.onFormSubmit}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default PrepareFingerprint3DS2;\n"],"names":["PrepareFingerprint3DS2","Component","static","onComplete","onError","paymentData","showSpinner","onActionHandled","isMDFlow","constructor","props","super","token","notificationURL","this","fingerPrintData","prepareFingerPrintData","state","status","success","error","MISSING_TOKEN_IN_ACTION_MSG","console","debug","THREEDS2_FINGERPRINT_ERROR","rtnObj","onSubmitAnalytics","type","THREEDS2_FULL","message","actionDescription","subtype","Analytics3DS2Events","FINGERPRINT_IFRAME_LOADED","onFormSubmit","msg","FINGERPRINT_DATA_SENT","componentDidMount","isErrorObject","shouldAllowHttpDomains","environment","_environmentUrls","api","includes","threeDSMethodURL","threeDSMethodNotificationURL","postMessageDomain","threeDSServerTransID","isValidHttpUrl","setStatusComplete","threeDSCompInd","errorCode","Analytics3DS2Errors","TOKEN_IS_MISSING_THREEDSMETHODURL","hasValid3DSMethodNotificationURL","hasValidPostMessageDomain","hasTransServerID","length","TOKEN_IS_MISSING_OTHER_PROPS","setState","errorMsg","indexOf","ACTION_IS_MISSING_TOKEN","TOKEN_DECODE_OR_PARSING_FAILED","resultObj","errorCodeObject","data","createOldFingerprintResolveData","createFingerprintResolveData","dataKey","analyticsObject","finalResObject","errorTypeAndCode","code","TIMEOUT","THREEDS2_TIMEOUT","errorType","ANALYTICS_NETWORK_ERROR","ANALYTICS_API_ERROR","THREEDS2_ERROR","result","THREEDS2_NUM","FINGERPRINT_COMPLETED","render","h","DoFingerprint3DS2","onCompleteFingerprint","fingerprint","onErrorFingerprint","timeoutObject","THREEDS2_FINGERPRINT"],"mappings":"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"}
1
+ {"version":3,"file":"PrepareFingerprint3DS2.js","sources":["../../../../../../src/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport DoFingerprint3DS2 from './DoFingerprint3DS2';\nimport { createFingerprintResolveData, createOldFingerprintResolveData, isErrorObject, prepareFingerPrintData } from '../utils';\nimport { PrepareFingerprint3DS2Props, PrepareFingerprint3DS2State } from './types';\nimport { FingerPrintData, ResultObject, ErrorCodeObject } from '../../types';\nimport { ErrorObject } from '../../../../core/Errors/types';\nimport { SendAnalyticsObject } from '../../../../core/Analytics/types';\nimport { isValidHttpUrl } from '../../../../utils/isValidURL';\nimport {\n THREEDS2_FULL,\n THREEDS2_FINGERPRINT,\n THREEDS2_FINGERPRINT_ERROR,\n THREEDS2_NUM,\n MISSING_TOKEN_IN_ACTION_MSG,\n THREEDS2_ERROR,\n TIMEOUT\n} from '../../constants';\nimport { ANALYTICS_API_ERROR, ANALYTICS_NETWORK_ERROR, Analytics3DS2Errors, Analytics3DS2Events } from '../../../../core/Analytics/constants';\n\nclass PrepareFingerprint3DS2 extends Component<PrepareFingerprint3DS2Props, PrepareFingerprint3DS2State> {\n public static type = 'scheme';\n\n public static defaultProps = {\n onComplete: () => {},\n onError: () => {},\n paymentData: '',\n showSpinner: true,\n isMDFlow: false\n };\n\n constructor(props) {\n super(props);\n\n const { token, notificationURL } = this.props; // See comments on prepareFingerPrintData regarding notificationURL\n\n if (token) {\n const fingerPrintData: FingerPrintData | ErrorObject = prepareFingerPrintData({ token, notificationURL });\n\n this.state = {\n status: 'init',\n fingerPrintData: fingerPrintData as FingerPrintData\n };\n } else {\n // Will be picked up in componentDidMount\n this.state = { fingerPrintData: { success: false, error: MISSING_TOKEN_IN_ACTION_MSG } };\n\n console.debug(`${THREEDS2_FINGERPRINT_ERROR}: ${MISSING_TOKEN_IN_ACTION_MSG}`);\n }\n }\n\n public onFormSubmit = (msg: string) => {\n this.props.onSubmitAnalytics({\n type: THREEDS2_FULL,\n message: msg,\n subtype: Analytics3DS2Events.FINGERPRINT_DATA_SENT\n });\n };\n\n componentDidMount() {\n const hasFingerPrintData = !isErrorObject(this.state.fingerPrintData);\n\n if (hasFingerPrintData) {\n const shouldAllowHttpDomains =\n /** Allow http urls if in development and testing against localhost:8080 */\n (process.env.NODE_ENV === 'development' && process.env.__CLIENT_ENV__?.indexOf('localhost:8080') > -1) ||\n /**\n * Allows the checkoutshopper demo on localhost:8080 to work -\n * requires a configuration in localhost of environment: 'test', _environmentUrls: {api: 'http://localhost:8080/'}\n */\n (this.props.environment === 'test' && this.props._environmentUrls?.api?.includes('http://localhost:8080'));\n\n /**\n * Check the structure of the created fingerPrintData\n */\n const { threeDSMethodURL, threeDSMethodNotificationURL, postMessageDomain, threeDSServerTransID } = this.state\n .fingerPrintData as FingerPrintData;\n\n const hasValid3DSMethodURL = isValidHttpUrl(threeDSMethodURL, shouldAllowHttpDomains);\n\n // Only render component if we have a threeDSMethodURL. Otherwise, exit with threeDSCompInd: 'U'\n if (!hasValid3DSMethodURL) {\n this.setStatusComplete(\n { threeDSCompInd: 'U' },\n {\n errorCode: Analytics3DS2Errors.TOKEN_IS_MISSING_THREEDSMETHODURL,\n message: `${THREEDS2_FINGERPRINT_ERROR}: Decoded token is missing a valid threeDSMethodURL property`\n }\n );\n\n /**\n * NOTE: we can now use this.props.isMDFlow to decide if we want to send any of these errors to the onError handler\n * - this is problematic in the regular flow since merchants tend to treat any calls to their onError handler as 'fatal',\n * but in the MDFlow we control what the onError handler does.\n */\n // if (this.props.isMDFlow) {}\n\n console.debug('### PrepareFingerprint3DS2::exiting:: no valid threeDSMethodURL');\n return;\n }\n\n const hasValid3DSMethodNotificationURL = isValidHttpUrl(threeDSMethodNotificationURL, shouldAllowHttpDomains);\n const hasValidPostMessageDomain = isValidHttpUrl(postMessageDomain, shouldAllowHttpDomains);\n const hasTransServerID = threeDSServerTransID?.length;\n\n if (!hasValid3DSMethodNotificationURL || !hasValidPostMessageDomain || !hasTransServerID) {\n /**\n * NOTE: EMVCo_3DS_CoreSpec_v2.3.1_20220831.pdf states that we should return: threeDSCompInd: 'N'\n * when the fingerprinting process \"Did not run or did not successfully complete\"\n */\n this.setStatusComplete(\n { threeDSCompInd: 'N' },\n {\n errorCode: Analytics3DS2Errors.TOKEN_IS_MISSING_OTHER_PROPS,\n message: `${THREEDS2_FINGERPRINT_ERROR}: Decoded token is missing one or more of the following properties (threeDSMethodNotificationURL | postMessageDomain | threeDSServerTransID)`\n }\n );\n\n console.debug(\n '### PrepareFingerprint3DS2::exiting:: Decoded token is missing one or more of the following properties (threeDSMethodNotificationURL | postMessageDomain | threeDSServerTransID)'\n );\n\n return;\n }\n\n // Proceed to allow component to render\n this.setState({ status: 'retrievingFingerPrint' });\n //\n } else {\n // Only render component if we have fingerPrintData. Otherwise, complete with threeDSCompInd: 'N'\n\n const errorMsg: string = (this.state.fingerPrintData as ErrorObject).error;\n\n const errorCode =\n errorMsg.indexOf(MISSING_TOKEN_IN_ACTION_MSG) > -1\n ? Analytics3DS2Errors.ACTION_IS_MISSING_TOKEN\n : Analytics3DS2Errors.TOKEN_DECODE_OR_PARSING_FAILED;\n\n this.setStatusComplete(\n { threeDSCompInd: 'N' },\n {\n errorCode,\n message: `${THREEDS2_FINGERPRINT_ERROR}: ${errorMsg}` // can be: 'Missing \"token\" property from threeDS2 action', 'not base64', 'malformed URI sequence' or 'Could not JSON parse token'\n }\n );\n\n console.debug('### PrepareFingerprint3DS2:: token does not exist or could not be base64 decoded &/or JSON.parsed');\n }\n }\n\n setStatusComplete(resultObj: ResultObject, errorCodeObject: ErrorCodeObject = null) {\n this.setState({ status: 'complete' }, () => {\n /**\n * Create the data in the way that the /details endpoint expects.\n * This is different for the flow triggered by the threeds2InMDFlow process than for the new, v67, 'threeDS2' action\n */\n const resolveDataFunction = this.props.isMDFlow ? createOldFingerprintResolveData : createFingerprintResolveData;\n const data = resolveDataFunction(this.props.dataKey, resultObj, this.props.paymentData);\n\n let analyticsObject: SendAnalyticsObject;\n\n /** Are we in an error scenario? If so, submit analytics about it */\n const finalResObject = errorCodeObject ? errorCodeObject : resultObj;\n if (finalResObject.errorCode) {\n const errorTypeAndCode = {\n code: finalResObject.errorCode === TIMEOUT ? Analytics3DS2Errors.THREEDS2_TIMEOUT : finalResObject.errorCode,\n errorType: finalResObject.errorCode === TIMEOUT ? ANALYTICS_NETWORK_ERROR : ANALYTICS_API_ERROR\n };\n\n /**\n * Timeout or data parsing problems:\n *\n * (threeDSCompInd:\"U\"):\n * - Decoded token is missing a valid threeDSMethodURL property,\n * or, (threeDSCompInd:\"N\"):\n * - Fingerprint process has timed out,\n * also, (threeDSCompInd:\"N\"):\n * - Missing \"token\" property from threeDS2 action\n * - or, decoded token is missing one or more of the following properties (threeDSMethodNotificationURL | postMessageDomain | threeDSServerTransID)\n * - or, token could not be base64 decoded &/or JSON.parsed\n */\n analyticsObject = {\n type: THREEDS2_ERROR,\n message: (finalResObject as ErrorCodeObject).message,\n ...errorTypeAndCode\n };\n\n // Send error to analytics endpoint\n this.props.onSubmitAnalytics(analyticsObject);\n }\n\n /** Calculate \"result\" for analytics */\n let result: string;\n\n switch (resultObj?.threeDSCompInd) {\n case 'Y':\n result = 'success';\n break;\n case 'N': {\n if (!errorCodeObject) {\n result = 'failed'; // 'failed' is the result returned from the threeDSMethodURL\n } else {\n result = errorCodeObject.errorCode === TIMEOUT ? TIMEOUT : 'failedInternal'; // timed-out; or, 'failed' as a result of internal checks\n }\n break;\n }\n case 'U':\n result = 'noThreeDSMethodURL';\n break;\n default:\n }\n\n /**\n * The fingerprint process is completed, one way or another.\n * The resultObj will be {threeDSCompInd:\"Y\"} in the case of success,\n * else {threeDSCompInd:\"U\"} or {threeDSCompInd:\"N\"} - if we've had some kind of timeout or data parsing problem (as described above)\n */\n analyticsObject = {\n type: THREEDS2_FULL,\n message: `${THREEDS2_NUM} fingerprinting has completed`,\n subtype: Analytics3DS2Events.FINGERPRINT_COMPLETED,\n result\n };\n\n // Send log to analytics endpoint\n this.props.onSubmitAnalytics(analyticsObject);\n\n /**\n * Equals call to callSubmit3DS2Fingerprint (except for in 3DS2InMDFlow)\n */\n this.props.onComplete(data);\n });\n }\n\n render({ showSpinner }, { status, fingerPrintData }) {\n if (status === 'retrievingFingerPrint') {\n return (\n <DoFingerprint3DS2\n onCompleteFingerprint={fingerprint => {\n this.setStatusComplete(fingerprint.result);\n }}\n onErrorFingerprint={fingerprint => {\n /**\n * Called when fingerprint times-out (which is still a valid scenario)...\n */\n const timeoutObject: ErrorCodeObject = {\n errorCode: fingerprint.errorCode, // 'timeout'\n message: `${THREEDS2_FINGERPRINT}: ${fingerprint.errorCode}`\n };\n\n this.setStatusComplete(fingerprint.result, timeoutObject); // fingerprint.result = threeDSCompInd: 'N'\n }}\n showSpinner={showSpinner}\n {...fingerPrintData}\n onActionHandled={this.props.onActionHandled}\n onFormSubmit={this.onFormSubmit}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default PrepareFingerprint3DS2;\n"],"names":["PrepareFingerprint3DS2","Component","componentDidMount","isErrorObject","this","state","fingerPrintData","shouldAllowHttpDomains","props","environment","_environmentUrls","api","includes","threeDSMethodURL","threeDSMethodNotificationURL","postMessageDomain","threeDSServerTransID","isValidHttpUrl","setStatusComplete","threeDSCompInd","errorCode","Analytics3DS2Errors","TOKEN_IS_MISSING_THREEDSMETHODURL","message","THREEDS2_FINGERPRINT_ERROR","console","debug","hasValid3DSMethodNotificationURL","hasValidPostMessageDomain","hasTransServerID","length","TOKEN_IS_MISSING_OTHER_PROPS","setState","status","errorMsg","error","indexOf","MISSING_TOKEN_IN_ACTION_MSG","ACTION_IS_MISSING_TOKEN","TOKEN_DECODE_OR_PARSING_FAILED","resultObj","errorCodeObject","data","isMDFlow","createOldFingerprintResolveData","createFingerprintResolveData","dataKey","paymentData","analyticsObject","finalResObject","errorTypeAndCode","code","TIMEOUT","THREEDS2_TIMEOUT","errorType","ANALYTICS_NETWORK_ERROR","ANALYTICS_API_ERROR","type","THREEDS2_ERROR","onSubmitAnalytics","result","THREEDS2_FULL","THREEDS2_NUM","subtype","Analytics3DS2Events","FINGERPRINT_COMPLETED","onComplete","render","showSpinner","h","DoFingerprint3DS2","onCompleteFingerprint","fingerprint","onErrorFingerprint","timeoutObject","THREEDS2_FINGERPRINT","onActionHandled","onFormSubmit","constructor","super","_define_property","msg","FINGERPRINT_DATA_SENT","token","notificationURL","prepareFingerPrintData","success","defaultProps","onError"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{Component as e,createElement as t}from"../../../../external/preact/dist/preact.js";import a from"../../../../external/classnames/index.js";class n extends e{formEl;componentDidMount(){this.formEl.submit(),this.props.onFormSubmit(`${this.props.inputName} sent`)}render({name:e,action:n,target:r,inputName:o,inputValue:s}){return t("form",{ref:e=>{this.formEl=e},method:"POST",className:a(["adyen-checkout__threeds2__form",`adyen-checkout__threeds2__form--${e}`]),name:e,action:n,target:r,style:{display:"none"}},t("input",{name:o,value:s}))}}export{n as default};
1
+ import{Component as e,createElement as t}from"../../../../external/preact/dist/preact.js";import r from"../../../../external/classnames/index.js";class a extends e{componentDidMount(){this.formEl.submit(),this.props.onFormSubmit(`${this.props.inputName} sent`)}render({name:e,action:a,target:n,inputName:o,inputValue:s}){return t("form",{ref:e=>{this.formEl=e},method:"POST",className:r(["adyen-checkout__threeds2__form",`adyen-checkout__threeds2__form--${e}`]),name:e,action:a,target:n,style:{display:"none"}},t("input",{name:o,value:s}))}constructor(...e){var t,r,a;super(...e),a=void 0,(r="formEl")in(t=this)?Object.defineProperty(t,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[r]=a}}export{a as default};
2
2
  //# sourceMappingURL=ThreeDS2Form.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThreeDS2Form.js","sources":["../../../../../../src/components/ThreeDS2/components/Form/ThreeDS2Form.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport classNames from 'classnames';\n\ninterface ThreeDS2FormProps {\n name: string;\n action: string;\n target: string;\n inputName: string;\n inputValue: string;\n onFormSubmit: (msg: string) => void;\n}\n\nexport default class ThreeDS2Form extends Component<ThreeDS2FormProps> {\n protected formEl;\n\n componentDidMount() {\n this.formEl.submit();\n this.props.onFormSubmit(`${this.props.inputName} sent`);\n }\n\n render({ name, action, target, inputName, inputValue }) {\n return (\n <form\n ref={ref => {\n this.formEl = ref;\n }}\n method=\"POST\"\n className={classNames(['adyen-checkout__threeds2__form', `adyen-checkout__threeds2__form--${name}`])}\n name={name}\n action={action}\n target={target}\n style={{ display: 'none' }}\n >\n <input name={inputName} value={inputValue} />\n </form>\n );\n }\n}\n"],"names":["ThreeDS2Form","Component","formEl","componentDidMount","this","submit","props","onFormSubmit","inputName","render","name","action","target","inputValue","h","form","ref","method","className","classNames","style","display","input","value"],"mappings":"kJAYe,MAAMA,UAAqBC,EAC5BC,OAEVC,iBAAAA,GACIC,KAAKF,OAAOG,SACZD,KAAKE,MAAMC,aAAa,GAAGH,KAAKE,MAAME,iBAC1C,CAEAC,MAAAA,EAAOC,KAAEA,EAAIC,OAAEA,EAAMC,OAAEA,EAAMJ,UAAEA,EAASK,WAAEA,IACtC,OACIC,EAACC,OAAAA,CACGC,IAAKA,IACDZ,KAAKF,OAASc,CAAAA,EAElBC,OAAO,OACPC,UAAWC,EAAW,CAAC,iCAAkC,mCAAmCT,MAC5FA,KAAMA,EACNC,OAAQA,EACRC,OAAQA,EACRQ,MAAO,CAAEC,QAAS,SAElBP,EAACQ,QAAAA,CAAMZ,KAAMF,EAAWe,MAAOV,IAG3C"}
1
+ {"version":3,"file":"ThreeDS2Form.js","sources":["../../../../../../src/components/ThreeDS2/components/Form/ThreeDS2Form.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport classNames from 'classnames';\n\ninterface ThreeDS2FormProps {\n name: string;\n action: string;\n target: string;\n inputName: string;\n inputValue: string;\n onFormSubmit: (msg: string) => void;\n}\n\nexport default class ThreeDS2Form extends Component<ThreeDS2FormProps> {\n protected formEl;\n\n componentDidMount() {\n this.formEl.submit();\n this.props.onFormSubmit(`${this.props.inputName} sent`);\n }\n\n render({ name, action, target, inputName, inputValue }) {\n return (\n <form\n ref={ref => {\n this.formEl = ref;\n }}\n method=\"POST\"\n className={classNames(['adyen-checkout__threeds2__form', `adyen-checkout__threeds2__form--${name}`])}\n name={name}\n action={action}\n target={target}\n style={{ display: 'none' }}\n >\n <input name={inputName} value={inputValue} />\n </form>\n );\n }\n}\n"],"names":["ThreeDS2Form","Component","componentDidMount","this","formEl","submit","props","onFormSubmit","inputName","render","name","action","target","inputValue","h","form","ref","method","className","classNames","style","display","input","value"],"mappings":"kJAYe,MAAMA,UAAqBC,EAGtCC,iBAAAA,GACIC,KAAKC,OAAOC,SACZF,KAAKG,MAAMC,aAAa,GAAGJ,KAAKG,MAAME,iBAC1C,CAEAC,MAAAA,EAAOC,KAAEA,EAAIC,OAAEA,EAAMC,OAAEA,EAAMJ,UAAEA,EAASK,WAAEA,IACtC,OACIC,EAACC,OAAAA,CACGC,IAAKA,IACDb,KAAKC,OAASY,CAAAA,EAElBC,OAAO,OACPC,UAAWC,EAAW,CAAC,iCAAkC,mCAAmCT,MAC5FA,KAAMA,EACNC,OAAQA,EACRC,OAAQA,EACRQ,MAAO,CAAEC,QAAS,SAElBP,EAACQ,QAAAA,CAAMZ,KAAMF,EAAWe,MAAOV,IAG3C,gDAvBA,KAAUT,cAAVD"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{CoreProvider as s}from"../../core/Context/CoreProvider.js";import e from"../Redirect/Redirect.js";import r from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as o}from"../tx-variants.js";class i extends e{static type=o.trustly;get displayName(){return this.props.name||this.constructor.type}render(){return t(s,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t("div",{className:"adyen-checkout-trustly"},t("p",{className:"adyen-checkout-trustly__descriptor"},this.props.i18n.get("trustly.descriptor")),t("ul",{className:"adyen-checkout-trustly__description-list"},t("li",null,this.props.i18n.get("trustly.description1")),t("li",null,this.props.i18n.get("trustly.description2")))),this.props.showPayButton&&t(r,{...this.props,showPayButton:this.props.showPayButton,name:this.displayName,onSubmit:this.submit,payButton:this.payButton,ref:t=>{this.componentRef=t}}))}}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 s from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as i}from"../tx-variants.js";class o extends r{get displayName(){return this.props.name||this.constructor.type}render(){return t(e,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t("div",{className:"adyen-checkout-trustly"},t("p",{className:"adyen-checkout-trustly__descriptor"},this.props.i18n.get("trustly.descriptor")),t("ul",{className:"adyen-checkout-trustly__description-list"},t("li",null,this.props.i18n.get("trustly.description1")),t("li",null,this.props.i18n.get("trustly.description2")))),this.props.showPayButton&&t(s,{...this.props,showPayButton:this.props.showPayButton,name:this.displayName,onSubmit:this.submit,payButton:this.payButton,ref:t=>{this.componentRef=t}}))}}var n,p,a;n=o,p="type",a=i.trustly,p in n?Object.defineProperty(n,p,{value:a,enumerable:!0,configurable:!0,writable:!0}):n[p]=a;export{o as default};
2
2
  //# sourceMappingURL=Trustly.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Trustly.js","sources":["../../../../src/components/Trustly/Trustly.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';\nimport './Trustly.scss';\n\nclass TrustlyElement extends RedirectElement {\n public static type = TxVariants.trustly;\n\n get displayName() {\n return this.props.name || this.constructor['type'];\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <div className=\"adyen-checkout-trustly\">\n <p className=\"adyen-checkout-trustly__descriptor\">{this.props.i18n.get('trustly.descriptor')}</p>\n <ul className=\"adyen-checkout-trustly__description-list\">\n <li>{this.props.i18n.get('trustly.description1')}</li>\n <li>{this.props.i18n.get('trustly.description2')}</li>\n </ul>\n </div>\n\n {this.props.showPayButton && (\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 )}\n </CoreProvider>\n );\n }\n}\n\nexport default TrustlyElement;\n"],"names":["TrustlyElement","RedirectElement","static","TxVariants","trustly","displayName","this","props","name","constructor","render","h","CoreProvider","i18n","loadingContext","resources","div","className","p","get","ul","li","showPayButton","RedirectButton","onSubmit","submit","payButton","ref","componentRef"],"mappings":"yRAOA,MAAMA,UAAuBC,EACzBC,YAAqBC,EAAWC,QAEhC,eAAIC,GACA,OAAOC,KAAKC,MAAMC,MAAQF,KAAKG,YAAmB,IACtD,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMP,KAAKC,MAAMM,KAAMC,eAAgBR,KAAKC,MAAMO,eAAgBC,UAAWT,KAAKS,WAC5FJ,EAACK,MAAAA,CAAIC,UAAU,0BACXN,EAACO,IAAAA,CAAED,UAAU,sCAAsCX,KAAKC,MAAMM,KAAKM,IAAI,uBACvER,EAACS,KAAAA,CAAGH,UAAU,4CACVN,EAACU,KAAAA,KAAIf,KAAKC,MAAMM,KAAKM,IAAI,yBACzBR,EAACU,KAAI,KAAAf,KAAKC,MAAMM,KAAKM,IAAI,2BAIhCb,KAAKC,MAAMe,eACRX,EAACY,EAAAA,IACOjB,KAAKC,MACTe,cAAehB,KAAKC,MAAMe,cAC1Bd,KAAMF,KAAKD,YACXmB,SAAUlB,KAAKmB,OACfC,UAAWpB,KAAKoB,UAChBC,IAAKA,IACDrB,KAAKsB,aAAeD,CAAAA,IAM5C"}
1
+ {"version":3,"file":"Trustly.js","sources":["../../../../src/components/Trustly/Trustly.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';\nimport './Trustly.scss';\n\nclass TrustlyElement extends RedirectElement {\n public static type = TxVariants.trustly;\n\n get displayName() {\n return this.props.name || this.constructor['type'];\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <div className=\"adyen-checkout-trustly\">\n <p className=\"adyen-checkout-trustly__descriptor\">{this.props.i18n.get('trustly.descriptor')}</p>\n <ul className=\"adyen-checkout-trustly__description-list\">\n <li>{this.props.i18n.get('trustly.description1')}</li>\n <li>{this.props.i18n.get('trustly.description2')}</li>\n </ul>\n </div>\n\n {this.props.showPayButton && (\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 )}\n </CoreProvider>\n );\n }\n}\n\nexport default TrustlyElement;\n"],"names":["TrustlyElement","RedirectElement","displayName","this","props","name","constructor","render","h","CoreProvider","i18n","loadingContext","resources","div","className","p","get","ul","li","showPayButton","RedirectButton","onSubmit","submit","payButton","ref","componentRef","type","TxVariants","trustly"],"mappings":"yRAOA,MAAMA,UAAuBC,EAGzB,eAAIC,GACA,OAAOC,KAAKC,MAAMC,MAAQF,KAAKG,YAAmB,IACtD,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMP,KAAKC,MAAMM,KAAMC,eAAgBR,KAAKC,MAAMO,eAAgBC,UAAWT,KAAKS,WAC5FJ,EAACK,MAAAA,CAAIC,UAAU,0BACXN,EAACO,IAAAA,CAAED,UAAU,sCAAsCX,KAAKC,MAAMM,KAAKM,IAAI,uBACvER,EAACS,KAAAA,CAAGH,UAAU,4CACVN,EAACU,KAAAA,KAAIf,KAAKC,MAAMM,KAAKM,IAAI,yBACzBR,EAACU,KAAI,KAAAf,KAAKC,MAAMM,KAAKM,IAAI,2BAIhCb,KAAKC,MAAMe,eACRX,EAACY,EAAAA,IACOjB,KAAKC,MACTe,cAAehB,KAAKC,MAAMe,cAC1Bd,KAAMF,KAAKD,YACXmB,SAAUlB,KAAKmB,OACfC,UAAWpB,KAAKoB,UAChBC,IAAKA,IACDrB,KAAKsB,aAAeD,CAAAA,IAM5C,cAhCExB,IACY0B,SAAOC,EAAWC"}
@@ -1,2 +1,2 @@
1
- import t from"../Redirect/Redirect.js";import e from"../internal/PayButton/PayButton.js";import{createElement as a}from"../../external/preact/dist/preact.js";import{TxVariants as n}from"../tx-variants.js";import{payAmountLabel as o}from"../internal/PayButton/utils.js";class r extends t{static type=n.twint;static defaultProps={type:r.type,name:"Twint"};get displayName(){const{i18n:t,name:e,isStoredPaymentMethod:a}=this.props;return a?`${e} ${t.get("twint.saved")}`:e||this.constructor.type}payButtonLabel(){const{i18n:t,amount:e,isStoredPaymentMethod:a,name:n}=this.props;return a?o(t,e):`${t.get("continueTo")} ${n}`}payButton=t=>a(e,{...t,label:this.payButtonLabel(),onClick:this.submit})}export{r as default};
1
+ import t from"../Redirect/Redirect.js";import e from"../internal/PayButton/PayButton.js";import{createElement as n}from"../../external/preact/dist/preact.js";import{TxVariants as r}from"../tx-variants.js";import{payAmountLabel as o}from"../internal/PayButton/utils.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 i extends t{get displayName(){const{i18n:t,name:e,isStoredPaymentMethod:n}=this.props;return n?`${e} ${t.get("twint.saved")}`:e||this.constructor.type}payButtonLabel(){const{i18n:t,amount:e,isStoredPaymentMethod:n,name:r}=this.props;return n?o(t,e):`${t.get("continueTo")} ${r}`}constructor(...t){super(...t),a(this,"payButton",(t=>n(e,{...t,label:this.payButtonLabel(),onClick:this.submit})))}}a(i,"type",r.twint),a(i,"defaultProps",{type:i.type,name:"Twint"});export{i as default};
2
2
  //# sourceMappingURL=Twint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Twint.js","sources":["../../../../src/components/Twint/Twint.tsx"],"sourcesContent":["import RedirectElement from '../Redirect';\nimport PayButton, { payAmountLabel } from '../internal/PayButton';\nimport { h } from 'preact';\nimport { TxVariants } from '../tx-variants';\n\nclass TwintElement extends RedirectElement {\n public static type = TxVariants.twint;\n\n public static defaultProps = {\n type: TwintElement.type,\n name: 'Twint'\n };\n /**\n * Get the element displayable name\n */\n get displayName(): string {\n const { i18n, name, isStoredPaymentMethod } = this.props;\n return isStoredPaymentMethod ? `${name} ${i18n.get('twint.saved')}` : name || this.constructor['type'];\n }\n\n public payButtonLabel() {\n const { i18n, amount, isStoredPaymentMethod, name } = this.props;\n if (isStoredPaymentMethod) return payAmountLabel(i18n, amount);\n return `${i18n.get('continueTo')} ${name}`;\n }\n\n /**\n * Overrides RedirectElement default payButton behaviour to use label\n * @param props - props\n */\n public payButton = props => {\n return <PayButton {...props} label={this.payButtonLabel()} onClick={this.submit} />;\n };\n}\n\nexport default TwintElement;\n"],"names":["TwintElement","RedirectElement","static","TxVariants","twint","type","name","displayName","i18n","isStoredPaymentMethod","this","props","get","constructor","payButtonLabel","amount","payAmountLabel","payButton","h","PayButton","label","onClick","submit"],"mappings":"6QAKA,MAAMA,UAAqBC,EACvBC,YAAqBC,EAAWC,MAEhCF,oBAA6B,CACzBG,KAAML,EAAaK,KACnBC,KAAM,SAKV,eAAIC,GACA,MAAMC,KAAEA,EAAIF,KAAEA,EAAIG,sBAAEA,GAA0BC,KAAKC,MACnD,OAAOF,EAAwB,GAAGH,KAAQE,EAAKI,IAAI,iBAAmBN,GAAQI,KAAKG,YAAmB,IAC1G,CAEOC,cAAAA,GACH,MAAMN,KAAEA,EAAIO,OAAEA,EAAMN,sBAAEA,EAAqBH,KAAEA,GAASI,KAAKC,MAC3D,OAAIF,EAA8BO,EAAeR,EAAMO,GAChD,GAAGP,EAAKI,IAAI,iBAAiBN,GACxC,CAMOW,UAAYN,GACRO,EAACC,EAAAA,IAAcR,EAAOS,MAAOV,KAAKI,iBAAkBO,QAASX,KAAKY"}
1
+ {"version":3,"file":"Twint.js","sources":["../../../../src/components/Twint/Twint.tsx"],"sourcesContent":["import RedirectElement from '../Redirect';\nimport PayButton, { payAmountLabel } from '../internal/PayButton';\nimport { h } from 'preact';\nimport { TxVariants } from '../tx-variants';\n\nclass TwintElement extends RedirectElement {\n public static type = TxVariants.twint;\n\n public static defaultProps = {\n type: TwintElement.type,\n name: 'Twint'\n };\n /**\n * Get the element displayable name\n */\n get displayName(): string {\n const { i18n, name, isStoredPaymentMethod } = this.props;\n return isStoredPaymentMethod ? `${name} ${i18n.get('twint.saved')}` : name || this.constructor['type'];\n }\n\n public payButtonLabel() {\n const { i18n, amount, isStoredPaymentMethod, name } = this.props;\n if (isStoredPaymentMethod) return payAmountLabel(i18n, amount);\n return `${i18n.get('continueTo')} ${name}`;\n }\n\n /**\n * Overrides RedirectElement default payButton behaviour to use label\n * @param props - props\n */\n public payButton = props => {\n return <PayButton {...props} label={this.payButtonLabel()} onClick={this.submit} />;\n };\n}\n\nexport default TwintElement;\n"],"names":["TwintElement","RedirectElement","displayName","i18n","name","isStoredPaymentMethod","this","props","get","constructor","payButtonLabel","amount","payAmountLabel","_define_property","payButton","h","PayButton","label","onClick","submit","type","TxVariants","twint","defaultProps"],"mappings":"qYAKA,MAAMA,UAAqBC,EAUvB,eAAIC,GACA,MAAMC,KAAEA,EAAIC,KAAEA,EAAIC,sBAAEA,GAA0BC,KAAKC,MACnD,OAAOF,EAAwB,GAAGD,KAAQD,EAAKK,IAAI,iBAAmBJ,GAAQE,KAAKG,YAAmB,IAC1G,CAEOC,cAAAA,GACH,MAAMP,KAAEA,EAAIQ,OAAEA,EAAMN,sBAAEA,EAAqBD,KAAEA,GAASE,KAAKC,MAC3D,OAAIF,EAA8BO,EAAeT,EAAMQ,GAChD,GAAGR,EAAKK,IAAI,iBAAiBJ,GACxC,+BAMAS,EAAAP,KAAOQ,aAAYP,GACRQ,EAACC,EAAAA,IAAcT,EAAOU,MAAOX,KAAKI,iBAAkBQ,QAASZ,KAAKa,YAzB7EN,EADEb,EACYoB,OAAOC,EAAWC,OAEhCT,EAHEb,EAGYuB,eAAe,CACzBH,KAAMpB,EAAaoB,KACnBhB,KAAM"}
@@ -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/UPIComponent/UPIComponent.js";import{CoreProvider as s}from"../../core/Context/CoreProvider.js";import r from"../internal/Await/Await.js";import p from"../internal/QRLoader/QRLoader.js";import n from"../../core/Errors/SRPanelProvider.js";import{TxVariants as i}from"../tx-variants.js";import a from"../../utils/isMobile.js";class d extends e{static type=i.upi;static txVariants=[i.upi,i.upi_qr,i.upi_collect,i.upi_intent];selectedMode;constructor(t,e){super(t,e),this.selectedMode=this.props.defaultMode}formatProps(t){if(!a())return{...super.formatProps(t),defaultMode:t?.defaultMode??"qrCode",apps:[]};const e=t.apps?.length>0,o=e?"intent":"vpa",s=[o,"qrCode"],r={id:"vpa",name:t.i18n.get("upi.collect.dropdown.label"),type:i.upi_collect},p=e?[...t.apps.map((t=>({...t,type:i.upi_intent}))),r]:[];return{...super.formatProps(t),defaultMode:s.includes(t?.defaultMode)?t.defaultMode:o,apps:p}}get isValid(){return this.state.isValid}formatData(){const{virtualPaymentAddress:t,app:e}=this.state.data||{};return{paymentMethod:{...this.paymentType&&{type:this.paymentType},...this.paymentType===i.upi_collect&&t&&{virtualPaymentAddress:t},...this.paymentType===i.upi_intent&&e?.id&&{appId:e.id}}}}get paymentType(){return"qrCode"===this.selectedMode?i.upi_qr:"vpa"===this.selectedMode?i.upi_collect:this.state.data?.app?.type}onUpdateMode=t=>{this.selectedMode=t};renderContent(e,s,n){switch(e){case"qrCode":return t(p,{ref:t=>{this.componentRef=t},...this.props,qrCodeData:this.props.qrCodeData?encodeURIComponent(this.props.qrCodeData):null,type:i.upi_qr,brandLogo:this.props.brandLogo||this.icon,onComplete:this.onComplete,introduction:this.props.i18n.get("upi.qrCodeWaitingMessage"),countdownTime:5,onActionHandled:this.props.onActionHandled});case"await":return t(r,{ref:t=>{this.componentRef=t},url:s,type:n,showCountdownTimer:!0,shouldRedirectAutomatically:!0,countdownTime:5,clientKey:this.props.clientKey,paymentData:this.props.paymentData,onActionHandled:this.props.onActionHandled,onError:this.props.onError,messageText:this.props.i18n.get("upi.vpaWaitingMessage"),awaitText:this.props.i18n.get("await.waitForConfirmation"),onComplete:this.onComplete,brandLogo:this.icon});default:return t(o,{ref:t=>{this.componentRef=t},payButton:this.payButton,onChange:this.setState,onUpdateMode:this.onUpdateMode,apps:this.props.apps,defaultMode:this.props.defaultMode,showPayButton:this.props.showPayButton})}}render(){const{type:e,url:o,paymentMethodType:r}=this.props;return t(s,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(n,{srPanel:this.props.modules.srPanel},this.renderContent(e,o,r)))}}export{d 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/UPIComponent/UPIComponent.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import n from"../internal/Await/Await.js";import i from"../internal/QRLoader/QRLoader.js";import s from"../../core/Errors/SRPanelProvider.js";import{TxVariants as p}from"../tx-variants.js";import a from"../../utils/isMobile.js";function d(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}class l extends e{formatProps(t){if(!a())return{...super.formatProps(t),defaultMode:t?.defaultMode??"qrCode",apps:[]};const e=t.apps?.length>0,o=e?"intent":"vpa",r=[o,"qrCode"],n={id:"vpa",name:t.i18n.get("upi.collect.dropdown.label"),type:p.upi_collect},i=e?[...t.apps.map((t=>({...t,type:p.upi_intent}))),n]:[];return{...super.formatProps(t),defaultMode:r.includes(t?.defaultMode)?t.defaultMode:o,apps:i}}get isValid(){return this.state.isValid}formatData(){const{virtualPaymentAddress:t,app:e}=this.state.data||{};return{paymentMethod:{...this.paymentType&&{type:this.paymentType},...this.paymentType===p.upi_collect&&t&&{virtualPaymentAddress:t},...this.paymentType===p.upi_intent&&e?.id&&{appId:e.id}}}}get paymentType(){return"qrCode"===this.selectedMode?p.upi_qr:"vpa"===this.selectedMode?p.upi_collect:this.state.data?.app?.type}renderContent(e,r,s){switch(e){case"qrCode":return t(i,{ref:t=>{this.componentRef=t},...this.props,qrCodeData:this.props.qrCodeData?encodeURIComponent(this.props.qrCodeData):null,type:p.upi_qr,brandLogo:this.props.brandLogo||this.icon,onComplete:this.onComplete,introduction:this.props.i18n.get("upi.qrCodeWaitingMessage"),countdownTime:5,onActionHandled:this.onActionHandled});case"await":return t(n,{ref:t=>{this.componentRef=t},url:r,type:s,showCountdownTimer:!0,shouldRedirectAutomatically:!0,countdownTime:5,clientKey:this.props.clientKey,paymentData:this.props.paymentData,onActionHandled:this.onActionHandled,onError:this.props.onError,messageText:this.props.i18n.get("upi.vpaWaitingMessage"),awaitText:this.props.i18n.get("await.waitForConfirmation"),onComplete:this.onComplete,brandLogo:this.icon});default:return t(o,{ref:t=>{this.componentRef=t},payButton:this.payButton,onChange:this.setState,onUpdateMode:this.onUpdateMode,apps:this.props.apps,defaultMode:this.props.defaultMode,showPayButton:this.props.showPayButton})}}render(){const{type:e,url:o,paymentMethodType:n}=this.props;return t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(s,{srPanel:this.props.modules.srPanel},this.renderContent(e,o,n)))}constructor(t,e){super(t,e),d(this,"selectedMode",void 0),d(this,"onUpdateMode",(t=>{this.selectedMode=t})),this.selectedMode=this.props.defaultMode}}d(l,"type",p.upi),d(l,"txVariants",[p.upi,p.upi_qr,p.upi_collect,p.upi_intent]);export{l as default};
2
2
  //# sourceMappingURL=UPI.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UPI.js","sources":["../../../../src/components/UPI/UPI.tsx"],"sourcesContent":["import { h, RefObject } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport UPIComponent from './components/UPIComponent';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport Await from '../internal/Await';\nimport QRLoader from '../internal/QRLoader';\nimport { App, UPIConfiguration, UpiMode, UpiPaymentData, UpiType } from './types';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport { TxVariants } from '../tx-variants';\nimport isMobile from '../../utils/isMobile';\nimport type { ICore } from '../../core/types';\n\n/**\n * For mobile:\n * We should show upi_collect or upi_intent depending on if `apps` are returned in /paymentMethods response\n * The upi_qr should always be on the second tab\n *\n * For non-mobile:\n * We should never show the upi_intent (ignore `apps` in /paymentMethods response)\n * The upi_qr should be on the first tab and the upi_collect should be on second tab\n */\n\nclass UPI extends UIElement<UPIConfiguration> {\n public static type = TxVariants.upi;\n public static txVariants = [TxVariants.upi, TxVariants.upi_qr, TxVariants.upi_collect, TxVariants.upi_intent];\n\n private selectedMode: UpiMode;\n\n constructor(checkout: ICore, props: UPIConfiguration) {\n super(checkout, props);\n this.selectedMode = this.props.defaultMode;\n }\n\n formatProps(props: UPIConfiguration) {\n if (!isMobile()) {\n return {\n ...super.formatProps(props),\n defaultMode: props?.defaultMode ?? 'qrCode',\n // For large screen, ignore the apps\n apps: []\n };\n }\n\n const hasIntentApps = props.apps?.length > 0;\n const fallbackDefaultMode = hasIntentApps ? 'intent' : 'vpa';\n const allowedModes = [fallbackDefaultMode, 'qrCode'];\n const upiCollectApp: App = {\n id: 'vpa',\n name: props.i18n.get('upi.collect.dropdown.label'),\n type: TxVariants.upi_collect as UpiType\n };\n const apps = hasIntentApps ? [...props.apps.map(app => ({ ...app, type: TxVariants.upi_intent as UpiType })), upiCollectApp] : [];\n return {\n ...super.formatProps(props),\n defaultMode: allowedModes.includes(props?.defaultMode) ? props.defaultMode : fallbackDefaultMode,\n apps\n };\n }\n\n public get isValid(): boolean {\n return this.state.isValid;\n }\n\n public formatData(): UpiPaymentData {\n const { virtualPaymentAddress, app } = this.state.data || {};\n\n return {\n paymentMethod: {\n ...(this.paymentType && { type: this.paymentType }),\n ...(this.paymentType === TxVariants.upi_collect && virtualPaymentAddress && { virtualPaymentAddress }),\n ...(this.paymentType === TxVariants.upi_intent && app?.id && { appId: app.id })\n }\n };\n }\n\n get paymentType(): UpiType {\n if (this.selectedMode === 'qrCode') {\n return TxVariants.upi_qr;\n }\n if (this.selectedMode === 'vpa') {\n return TxVariants.upi_collect;\n }\n return this.state.data?.app?.type;\n }\n\n private onUpdateMode = (mode: UpiMode): void => {\n this.selectedMode = mode;\n };\n\n private renderContent(type: string, url: string, paymentMethodType: string): h.JSX.Element {\n switch (type) {\n case 'qrCode':\n return (\n <QRLoader\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n qrCodeData={this.props.qrCodeData ? encodeURIComponent(this.props.qrCodeData) : null}\n type={TxVariants.upi_qr}\n brandLogo={this.props.brandLogo || this.icon}\n onComplete={this.onComplete}\n introduction={this.props.i18n.get('upi.qrCodeWaitingMessage')}\n countdownTime={5}\n onActionHandled={this.props.onActionHandled}\n />\n );\n case 'await':\n return (\n <Await\n ref={ref => {\n this.componentRef = ref;\n }}\n url={url}\n type={paymentMethodType}\n showCountdownTimer\n shouldRedirectAutomatically\n countdownTime={5}\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onActionHandled={this.props.onActionHandled}\n onError={this.props.onError}\n messageText={this.props.i18n.get('upi.vpaWaitingMessage')}\n awaitText={this.props.i18n.get('await.waitForConfirmation')}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n />\n );\n default:\n return (\n <UPIComponent\n ref={(ref: RefObject<typeof UPIComponent>) => {\n this.componentRef = ref;\n }}\n payButton={this.payButton}\n onChange={this.setState}\n onUpdateMode={this.onUpdateMode}\n apps={this.props.apps}\n defaultMode={this.props.defaultMode}\n showPayButton={this.props.showPayButton}\n />\n );\n }\n }\n\n public render(): h.JSX.Element {\n const { type, url, paymentMethodType } = this.props;\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>{this.renderContent(type, url, paymentMethodType)}</SRPanelProvider>\n </CoreProvider>\n );\n }\n}\n\nexport default UPI;\n"],"names":["UPI","UIElement","static","TxVariants","upi","upi_qr","upi_collect","upi_intent","selectedMode","constructor","checkout","props","super","this","defaultMode","formatProps","isMobile","apps","hasIntentApps","length","fallbackDefaultMode","allowedModes","upiCollectApp","id","name","i18n","get","type","map","app","includes","isValid","state","formatData","virtualPaymentAddress","data","paymentMethod","paymentType","appId","onUpdateMode","mode","renderContent","url","paymentMethodType","h","QRLoader","ref","componentRef","qrCodeData","encodeURIComponent","brandLogo","icon","onComplete","introduction","countdownTime","onActionHandled","Await","showCountdownTimer","shouldRedirectAutomatically","clientKey","paymentData","onError","messageText","awaitText","UPIComponent","payButton","onChange","setState","showPayButton","render","CoreProvider","loadingContext","resources","SRPanelProvider","srPanel","modules"],"mappings":"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"}
1
+ {"version":3,"file":"UPI.js","sources":["../../../../src/components/UPI/UPI.tsx"],"sourcesContent":["import { h, RefObject } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport UPIComponent from './components/UPIComponent';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport Await from '../internal/Await';\nimport QRLoader from '../internal/QRLoader';\nimport { App, UPIConfiguration, UpiMode, UpiPaymentData, UpiType } from './types';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport { TxVariants } from '../tx-variants';\nimport isMobile from '../../utils/isMobile';\nimport type { ICore } from '../../core/types';\n\n/**\n * For mobile:\n * We should show upi_collect or upi_intent depending on if `apps` are returned in /paymentMethods response\n * The upi_qr should always be on the second tab\n *\n * For non-mobile:\n * We should never show the upi_intent (ignore `apps` in /paymentMethods response)\n * The upi_qr should be on the first tab and the upi_collect should be on second tab\n */\n\nclass UPI extends UIElement<UPIConfiguration> {\n public static type = TxVariants.upi;\n public static txVariants = [TxVariants.upi, TxVariants.upi_qr, TxVariants.upi_collect, TxVariants.upi_intent];\n\n private selectedMode: UpiMode;\n\n constructor(checkout: ICore, props: UPIConfiguration) {\n super(checkout, props);\n this.selectedMode = this.props.defaultMode;\n }\n\n formatProps(props: UPIConfiguration) {\n if (!isMobile()) {\n return {\n ...super.formatProps(props),\n defaultMode: props?.defaultMode ?? 'qrCode',\n // For large screen, ignore the apps\n apps: []\n };\n }\n\n const hasIntentApps = props.apps?.length > 0;\n const fallbackDefaultMode = hasIntentApps ? 'intent' : 'vpa';\n const allowedModes = [fallbackDefaultMode, 'qrCode'];\n const upiCollectApp: App = {\n id: 'vpa',\n name: props.i18n.get('upi.collect.dropdown.label'),\n type: TxVariants.upi_collect as UpiType\n };\n const apps = hasIntentApps ? [...props.apps.map(app => ({ ...app, type: TxVariants.upi_intent as UpiType })), upiCollectApp] : [];\n return {\n ...super.formatProps(props),\n defaultMode: allowedModes.includes(props?.defaultMode) ? props.defaultMode : fallbackDefaultMode,\n apps\n };\n }\n\n public get isValid(): boolean {\n return this.state.isValid;\n }\n\n public formatData(): UpiPaymentData {\n const { virtualPaymentAddress, app } = this.state.data || {};\n\n return {\n paymentMethod: {\n ...(this.paymentType && { type: this.paymentType }),\n ...(this.paymentType === TxVariants.upi_collect && virtualPaymentAddress && { virtualPaymentAddress }),\n ...(this.paymentType === TxVariants.upi_intent && app?.id && { appId: app.id })\n }\n };\n }\n\n get paymentType(): UpiType {\n if (this.selectedMode === 'qrCode') {\n return TxVariants.upi_qr;\n }\n if (this.selectedMode === 'vpa') {\n return TxVariants.upi_collect;\n }\n return this.state.data?.app?.type;\n }\n\n private onUpdateMode = (mode: UpiMode): void => {\n this.selectedMode = mode;\n };\n\n private renderContent(type: string, url: string, paymentMethodType: string): h.JSX.Element {\n switch (type) {\n case 'qrCode':\n return (\n <QRLoader\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n qrCodeData={this.props.qrCodeData ? encodeURIComponent(this.props.qrCodeData) : null}\n type={TxVariants.upi_qr}\n brandLogo={this.props.brandLogo || this.icon}\n onComplete={this.onComplete}\n introduction={this.props.i18n.get('upi.qrCodeWaitingMessage')}\n countdownTime={5}\n onActionHandled={this.onActionHandled}\n />\n );\n case 'await':\n return (\n <Await\n ref={ref => {\n this.componentRef = ref;\n }}\n url={url}\n type={paymentMethodType}\n showCountdownTimer\n shouldRedirectAutomatically\n countdownTime={5}\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onActionHandled={this.onActionHandled}\n onError={this.props.onError}\n messageText={this.props.i18n.get('upi.vpaWaitingMessage')}\n awaitText={this.props.i18n.get('await.waitForConfirmation')}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n />\n );\n default:\n return (\n <UPIComponent\n ref={(ref: RefObject<typeof UPIComponent>) => {\n this.componentRef = ref;\n }}\n payButton={this.payButton}\n onChange={this.setState}\n onUpdateMode={this.onUpdateMode}\n apps={this.props.apps}\n defaultMode={this.props.defaultMode}\n showPayButton={this.props.showPayButton}\n />\n );\n }\n }\n\n public render(): h.JSX.Element {\n const { type, url, paymentMethodType } = this.props;\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>{this.renderContent(type, url, paymentMethodType)}</SRPanelProvider>\n </CoreProvider>\n );\n }\n}\n\nexport default UPI;\n"],"names":["UPI","UIElement","formatProps","props","isMobile","super","defaultMode","apps","hasIntentApps","length","fallbackDefaultMode","allowedModes","upiCollectApp","id","name","i18n","get","type","TxVariants","upi_collect","map","app","upi_intent","includes","isValid","this","state","formatData","virtualPaymentAddress","data","paymentMethod","paymentType","appId","selectedMode","upi_qr","renderContent","url","paymentMethodType","h","QRLoader","ref","componentRef","qrCodeData","encodeURIComponent","brandLogo","icon","onComplete","introduction","countdownTime","onActionHandled","Await","showCountdownTimer","shouldRedirectAutomatically","clientKey","paymentData","onError","messageText","awaitText","UPIComponent","payButton","onChange","setState","onUpdateMode","showPayButton","render","CoreProvider","loadingContext","resources","SRPanelProvider","srPanel","modules","constructor","checkout","_define_property","mode","upi","txVariants"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{createElement as e,Fragment as t}from"../../../../external/preact/dist/preact.js";import{useState as a,useCallback as o,useEffect as n}from"../../../../external/preact/hooks/dist/hooks.js";import r from"../VpaInput/VpaInput.js";import i from"../../../../core/Context/useImage.js";import s from"./useUpiSegmentedControlOptions.js";import{A11Y as l}from"./constants.js";import d from"../../../internal/SegmentedControl/SegmentedControl.js";import p from"../../../internal/ContentSeparator/ContentSeparator.js";import u from"../UPIIntentAppList/UPIIntentAppList.js";import{useCoreContext as m}from"../../../../core/Context/CoreProvider.js";function c({defaultMode:c,onChange:g,onUpdateMode:I,payButton:b,showPayButton:f,apps:C=[]}){const{i18n:h}=m(),y=i(),[v,A]=a("ready"),[S,j]=a(!0),[V,N]=a(c),[P,k]=a(""),[x,B]=a(null),[q,E]=a(null),[T,U]=a(null),[M,Q]=a(null),R=s(C,V);this.setStatus=e=>{A(e)},this.showValidation=()=>{x?.validateInput()};const w=o((e=>{B(e)}),[]),F=o((e=>{N(e),I(e)}),[I]),H=o((e=>{e?.id!==q?.id&&(E(e),j(!0))}),[q]),L=o((({data:{virtualPaymentAddress:e},errors:t,valid:a,isValid:o})=>{k(e),Q(t),U(a),j(o)}),[]);return n((()=>{g("qrCode"!==V?{data:{...P&&{virtualPaymentAddress:P},...q&&{app:q}},errors:M,valid:T,isValid:S}:{data:{},valid:{},errors:{},isValid:!0})}),[P,q,M,T,S,V]),e(t,null,e("p",{className:"adyen-checkout_upi-mode-selection-text"},h.get("upi.modeSelection")),e(d,{onChange:F,selectedValue:V,disabled:"loading"===v,classNameModifiers:["upi-margin-bottom"],options:R}),e(p,{label:h.get("upi.completePayment")}),"intent"===V&&e("div",{id:l.AreaId.INTENT,"aria-labelledby":l.ButtonId.INTENT,className:"adyen-checkout-upi-area-intent",role:"region"},e(u,{disabled:"loading"===v,apps:C,selectedAppId:q?.id,onAppSelect:H,onVpaInputChange:L,onSetInputHandlers:w}),f&&b({label:h.get("continue"),status:v,disabled:null==q})),"vpa"===V&&e("div",{id:l.AreaId.VPA,"aria-labelledby":l.ButtonId.VPA,className:"adyen-checkout-upi-area-vpa",role:"region"},e(r,{disabled:"loading"===v,onChange:g,onSetInputHandlers:w}),f&&b({label:h.get("continue"),status:v})),"qrCode"===V&&e("div",{id:l.AreaId.QR,"aria-labelledby":l.ButtonId.QR,className:"adyen-checkout-upi-area-qr-code",role:"region"},f&&b({label:h.get("generateQRCode"),icon:y({imageFolder:"components/"})("qr"),status:v})))}export{c as default};
1
+ import{createElement as e,Fragment as t}from"../../../../external/preact/dist/preact.js";import{useState as a,useCallback as o,useEffect as n}from"../../../../external/preact/hooks/dist/hooks.js";import r from"../VpaInput/VpaInput.js";import i from"../../../../core/Context/useImage.js";import s from"./useUpiSegmentedControlOptions.js";import{A11Y as l}from"./constants.js";import d from"../../../internal/SegmentedControl/SegmentedControl.js";import p from"../../../internal/ContentSeparator/ContentSeparator.js";import u from"../UPIIntentAppList/UPIIntentAppList.js";import{useCoreContext as m}from"../../../../core/Context/CoreProvider.js";function c({defaultMode:c,onChange:g,onUpdateMode:I,payButton:C,showPayButton:b,apps:f=[]}){const{i18n:h}=m(),y=i(),[v,A]=a("ready"),[S,j]=a("qrCode"===c),[V,N]=a(c),[P,k]=a(""),[x,q]=a(null),[B,E]=a(null),[T,U]=a(null),[M,Q]=a(null),R=s(f,V);this.setStatus=e=>{A(e)},this.showValidation=()=>{x?.validateInput()};const w=o((e=>{q(e)}),[]),F=o((e=>{N(e),I(e)}),[I]),H=o((e=>{e?.id!==B?.id&&(E(e),j(!0))}),[B]),L=o((({data:{virtualPaymentAddress:e},errors:t,valid:a,isValid:o})=>{k(e),Q(t),U(a),j(o)}),[]);return n((()=>{g("qrCode"!==V?{data:{...P&&{virtualPaymentAddress:P},...B&&{app:B}},errors:M,valid:T,isValid:S}:{data:{},valid:{},errors:{},isValid:!0})}),[P,B,M,T,S,V]),e(t,null,e("p",{className:"adyen-checkout_upi-mode-selection-text"},h.get("upi.modeSelection")),e(d,{onChange:F,selectedValue:V,disabled:"loading"===v,classNameModifiers:["upi-margin-bottom"],options:R}),e(p,{label:h.get("upi.completePayment")}),"intent"===V&&e("div",{id:l.AreaId.INTENT,"aria-labelledby":l.ButtonId.INTENT,className:"adyen-checkout-upi-area-intent",role:"region"},e(u,{disabled:"loading"===v,apps:f,selectedAppId:B?.id,onAppSelect:H,onVpaInputChange:L,onSetInputHandlers:w}),b&&C({label:h.get("continue"),status:v,disabled:null==B})),"vpa"===V&&e("div",{id:l.AreaId.VPA,"aria-labelledby":l.ButtonId.VPA,className:"adyen-checkout-upi-area-vpa",role:"region"},e(r,{disabled:"loading"===v,onChange:g,onSetInputHandlers:w}),b&&C({label:h.get("continue"),status:v})),"qrCode"===V&&e("div",{id:l.AreaId.QR,"aria-labelledby":l.ButtonId.QR,className:"adyen-checkout-upi-area-qr-code",role:"region"},b&&C({label:h.get("generateQRCode"),icon:y({imageFolder:"components/"})("qr"),status:v})))}export{c as default};
2
2
  //# sourceMappingURL=UPIComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UPIComponent.js","sources":["../../../../../../src/components/UPI/components/UPIComponent/UPIComponent.tsx"],"sourcesContent":["import { Fragment, h, RefObject } from 'preact';\nimport { useCallback, useEffect, useState } from 'preact/hooks';\nimport { PayButtonFunctionProps, UIElementStatus } from '../../../types';\nimport VpaInput, { VpaInputHandlers } from '../VpaInput/VpaInput';\nimport { App, UpiMode } from '../../types';\nimport useImage from '../../../../core/Context/useImage';\nimport useUpiSegmentedControlOptions from './useUpiSegmentedControlOptions';\nimport { A11Y } from './constants';\nimport './UPIComponent.scss';\nimport SegmentedControl from '../../../internal/SegmentedControl';\nimport ContentSeparator from '../../../internal/ContentSeparator';\nimport UPIIntentAppList from '../UPIIntentAppList';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\n\ntype UpiData = { app?: App; virtualPaymentAddress?: string };\n\ntype OnChangeProps = { data: UpiData; valid; errors; isValid: boolean };\n\ninterface UPIComponentProps {\n defaultMode: UpiMode;\n showPayButton: boolean;\n apps?: Array<App>;\n\n ref?(ref: RefObject<typeof UPIComponent>): void;\n\n payButton?(props: PayButtonFunctionProps): h.JSX.Element;\n\n onChange({ data, valid, errors, isValid }: OnChangeProps): void;\n\n onUpdateMode?(mode: UpiMode): void;\n}\n\nexport default function UPIComponent({ defaultMode, onChange, onUpdateMode, payButton, showPayButton, apps = [] }: UPIComponentProps): h.JSX.Element {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n const [status, setStatus] = useState<UIElementStatus>('ready');\n const [isValid, setIsValid] = useState<boolean>(true);\n const [mode, setMode] = useState<UpiMode>(defaultMode);\n const [vpa, setVpa] = useState<string>('');\n const [vpaInputHandlers, setVpaInputHandlers] = useState<VpaInputHandlers>(null);\n const [selectedApp, setSelectedApp] = useState<App>(null);\n const [valid, setValid] = useState(null);\n const [errors, setErrors] = useState(null);\n const segmentedControlOptions = useUpiSegmentedControlOptions(apps, mode);\n\n this.setStatus = (status: UIElementStatus) => {\n setStatus(status);\n };\n\n this.showValidation = () => {\n vpaInputHandlers?.validateInput();\n };\n\n const onSetVpaInputHandlers = useCallback((handlers: VpaInputHandlers) => {\n setVpaInputHandlers(handlers);\n }, []);\n\n const onChangeUpiMode = useCallback(\n (newMode: UpiMode) => {\n setMode(newMode);\n onUpdateMode(newMode);\n },\n [onUpdateMode]\n );\n\n const handleAppSelect = useCallback(\n (app: App) => {\n if (app?.id === selectedApp?.id) return;\n\n setSelectedApp(app);\n setIsValid(true);\n },\n [selectedApp]\n );\n\n const handleVpaInputChange = useCallback(({ data: { virtualPaymentAddress }, errors, valid, isValid }: OnChangeProps) => {\n setVpa(virtualPaymentAddress);\n setErrors(errors);\n setValid(valid);\n setIsValid(isValid);\n }, []);\n\n useEffect(() => {\n if (mode !== 'qrCode') {\n onChange({\n data: { ...(vpa && { virtualPaymentAddress: vpa }), ...(selectedApp && { app: selectedApp }) },\n errors,\n valid,\n isValid\n });\n } else {\n /**\n * When selecting QR code mode, we need to clear the state data and trigger the 'onChange'.\n */\n onChange({ data: {}, valid: {}, errors: {}, isValid: true });\n }\n }, [vpa, selectedApp, errors, valid, isValid, mode]);\n\n return (\n <Fragment>\n <p className=\"adyen-checkout_upi-mode-selection-text\">{i18n.get('upi.modeSelection')}</p>\n <SegmentedControl\n onChange={onChangeUpiMode}\n selectedValue={mode}\n disabled={status === 'loading'}\n classNameModifiers={['upi-margin-bottom']}\n options={segmentedControlOptions}\n />\n <ContentSeparator label={i18n.get('upi.completePayment')} />\n {mode === 'intent' && (\n <div id={A11Y.AreaId.INTENT} aria-labelledby={A11Y.ButtonId.INTENT} className=\"adyen-checkout-upi-area-intent\" role=\"region\">\n <UPIIntentAppList\n disabled={status === 'loading'}\n apps={apps}\n selectedAppId={selectedApp?.id}\n onAppSelect={handleAppSelect}\n onVpaInputChange={handleVpaInputChange}\n onSetInputHandlers={onSetVpaInputHandlers}\n />\n\n {showPayButton &&\n payButton({\n label: i18n.get('continue'),\n status,\n disabled: selectedApp == null\n })}\n </div>\n )}\n {mode === 'vpa' && (\n <div id={A11Y.AreaId.VPA} aria-labelledby={A11Y.ButtonId.VPA} className=\"adyen-checkout-upi-area-vpa\" role=\"region\">\n <VpaInput disabled={status === 'loading'} onChange={onChange} onSetInputHandlers={onSetVpaInputHandlers} />\n\n {showPayButton &&\n payButton({\n label: i18n.get('continue'),\n status\n })}\n </div>\n )}\n {mode === 'qrCode' && (\n <div id={A11Y.AreaId.QR} aria-labelledby={A11Y.ButtonId.QR} className=\"adyen-checkout-upi-area-qr-code\" role=\"region\">\n {showPayButton &&\n payButton({\n label: i18n.get('generateQRCode'),\n icon: getImage({ imageFolder: 'components/' })('qr'),\n status\n })}\n </div>\n )}\n </Fragment>\n );\n}\n"],"names":["UPIComponent","defaultMode","onChange","onUpdateMode","payButton","showPayButton","apps","i18n","useCoreContext","getImage","useImage","status","setStatus","useState","isValid","setIsValid","mode","setMode","vpa","setVpa","vpaInputHandlers","setVpaInputHandlers","selectedApp","setSelectedApp","valid","setValid","errors","setErrors","segmentedControlOptions","useUpiSegmentedControlOptions","this","showValidation","validateInput","onSetVpaInputHandlers","useCallback","handlers","onChangeUpiMode","newMode","handleAppSelect","app","id","handleVpaInputChange","data","virtualPaymentAddress","useEffect","h","Fragment","p","className","get","SegmentedControl","selectedValue","disabled","classNameModifiers","options","ContentSeparator","label","div","A11Y","AreaId","INTENT","aria-labelledby","ButtonId","role","UPIIntentAppList","selectedAppId","onAppSelect","onVpaInputChange","onSetInputHandlers","VPA","VpaInput","QR","icon","imageFolder"],"mappings":"ooBAgCe,SAASA,GAAaC,YAAEA,EAAWC,SAAEA,EAAQC,aAAEA,EAAYC,UAAEA,EAASC,cAAEA,EAAaC,KAAEA,EAAO,KACzG,MAAMC,KAAEA,GAASC,IACXC,EAAWC,KACVC,EAAQC,GAAaC,EAA0B,UAC/CC,EAASC,GAAcF,GAAkB,IACzCG,EAAMC,GAAWJ,EAAkBZ,IACnCiB,EAAKC,GAAUN,EAAiB,KAChCO,EAAkBC,GAAuBR,EAA2B,OACpES,EAAaC,GAAkBV,EAAc,OAC7CW,EAAOC,GAAYZ,EAAS,OAC5Ba,EAAQC,GAAad,EAAS,MAC/Be,EAA0BC,EAA8BvB,EAAMU,GAEpEc,KAAKlB,UAAaD,IACdC,EAAUD,EAAAA,EAGdmB,KAAKC,eAAiB,KAClBX,GAAkBY,eAAAA,EAGtB,MAAMC,EAAwBC,GAAaC,IACvCd,EAAoBc,EAAAA,GACrB,IAEGC,EAAkBF,GACnBG,IACGpB,EAAQoB,GACRlC,EAAakC,EAAAA,GAEjB,CAAClC,IAGCmC,EAAkBJ,GACnBK,IACOA,GAAKC,KAAOlB,GAAakB,KAE7BjB,EAAegB,GACfxB,GAAW,GAAA,GAEf,CAACO,IAGCmB,EAAuBP,GAAY,EAAGQ,MAAQC,yBAAyBjB,SAAQF,QAAOV,cACxFK,EAAOwB,GACPhB,EAAUD,GACVD,EAASD,GACTT,EAAWD,EAAAA,GACZ,IAkBH,OAhBA8B,GAAU,KAEF1C,EADS,WAATc,EACS,CACL0B,KAAM,IAAMxB,GAAO,CAAEyB,sBAAuBzB,MAAYI,GAAe,CAAEiB,IAAKjB,IAC9EI,SACAF,QACAV,WAMK,CAAE4B,KAAM,CAAC,EAAGlB,MAAO,CAAC,EAAGE,OAAQ,CAAC,EAAGZ,SAAS,GACzD,GACD,CAACI,EAAKI,EAAaI,EAAQF,EAAOV,EAASE,IAG1C6B,EAACC,OACGD,EAACE,IAAAA,CAAEC,UAAU,0CAA0CzC,EAAK0C,IAAI,sBAChEJ,EAACK,EAAAA,CACGhD,SAAUkC,EACVe,cAAenC,EACfoC,SAAqB,YAAXzC,EACV0C,mBAAoB,CAAC,qBACrBC,QAAS1B,IAEbiB,EAACU,EAAAA,CAAiBC,MAAOjD,EAAK0C,IAAI,yBACxB,WAATjC,GACG6B,EAACY,MAAAA,CAAIjB,GAAIkB,EAAKC,OAAOC,OAAQC,kBAAiBH,EAAKI,SAASF,OAAQZ,UAAU,iCAAiCe,KAAK,UAChHlB,EAACmB,EAAAA,CACGZ,SAAqB,YAAXzC,EACVL,KAAMA,EACN2D,cAAe3C,GAAakB,GAC5B0B,YAAa5B,EACb6B,iBAAkB1B,EAClB2B,mBAAoBnC,IAGvB5B,GACGD,EAAU,CACNoD,MAAOjD,EAAK0C,IAAI,YAChBtC,SACAyC,SAAyB,MAAf9B,KAIhB,QAATN,GACG6B,EAACY,MAAAA,CAAIjB,GAAIkB,EAAKC,OAAOU,IAAKR,kBAAiBH,EAAKI,SAASO,IAAKrB,UAAU,8BAA8Be,KAAK,UACvGlB,EAACyB,EAAAA,CAASlB,SAAqB,YAAXzC,EAAsBT,SAAUA,EAAUkE,mBAAoBnC,IAEjF5B,GACGD,EAAU,CACNoD,MAAOjD,EAAK0C,IAAI,YAChBtC,YAIN,WAATK,GACG6B,EAACY,MAAAA,CAAIjB,GAAIkB,EAAKC,OAAOY,GAAIV,kBAAiBH,EAAKI,SAASS,GAAIvB,UAAU,kCAAkCe,KAAK,UACxG1D,GACGD,EAAU,CACNoD,MAAOjD,EAAK0C,IAAI,kBAChBuB,KAAM/D,EAAS,CAAEgE,YAAa,eAAxBhE,CAAyC,MAC/CE,YAM5B"}
1
+ {"version":3,"file":"UPIComponent.js","sources":["../../../../../../src/components/UPI/components/UPIComponent/UPIComponent.tsx"],"sourcesContent":["import { Fragment, h, RefObject } from 'preact';\nimport { useCallback, useEffect, useState } from 'preact/hooks';\nimport { PayButtonFunctionProps, UIElementStatus } from '../../../types';\nimport VpaInput, { VpaInputHandlers } from '../VpaInput/VpaInput';\nimport { App, UpiMode } from '../../types';\nimport useImage from '../../../../core/Context/useImage';\nimport useUpiSegmentedControlOptions from './useUpiSegmentedControlOptions';\nimport { A11Y } from './constants';\nimport './UPIComponent.scss';\nimport SegmentedControl from '../../../internal/SegmentedControl';\nimport ContentSeparator from '../../../internal/ContentSeparator';\nimport UPIIntentAppList from '../UPIIntentAppList';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\n\ntype UpiData = { app?: App; virtualPaymentAddress?: string };\n\ntype OnChangeProps = { data: UpiData; valid; errors; isValid: boolean };\n\ninterface UPIComponentProps {\n defaultMode: UpiMode;\n showPayButton: boolean;\n apps?: Array<App>;\n\n ref?(ref: RefObject<typeof UPIComponent>): void;\n\n payButton?(props: PayButtonFunctionProps): h.JSX.Element;\n\n onChange({ data, valid, errors, isValid }: OnChangeProps): void;\n\n onUpdateMode?(mode: UpiMode): void;\n}\n\nexport default function UPIComponent({ defaultMode, onChange, onUpdateMode, payButton, showPayButton, apps = [] }: UPIComponentProps): h.JSX.Element {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n const [status, setStatus] = useState<UIElementStatus>('ready');\n const [isValid, setIsValid] = useState<boolean>(defaultMode === 'qrCode');\n const [mode, setMode] = useState<UpiMode>(defaultMode);\n const [vpa, setVpa] = useState<string>('');\n const [vpaInputHandlers, setVpaInputHandlers] = useState<VpaInputHandlers>(null);\n const [selectedApp, setSelectedApp] = useState<App>(null);\n const [valid, setValid] = useState(null);\n const [errors, setErrors] = useState(null);\n const segmentedControlOptions = useUpiSegmentedControlOptions(apps, mode);\n\n this.setStatus = (status: UIElementStatus) => {\n setStatus(status);\n };\n\n this.showValidation = () => {\n vpaInputHandlers?.validateInput();\n };\n\n const onSetVpaInputHandlers = useCallback((handlers: VpaInputHandlers) => {\n setVpaInputHandlers(handlers);\n }, []);\n\n const onChangeUpiMode = useCallback(\n (newMode: UpiMode) => {\n setMode(newMode);\n onUpdateMode(newMode);\n },\n [onUpdateMode]\n );\n\n const handleAppSelect = useCallback(\n (app: App) => {\n if (app?.id === selectedApp?.id) return;\n\n setSelectedApp(app);\n setIsValid(true);\n },\n [selectedApp]\n );\n\n const handleVpaInputChange = useCallback(({ data: { virtualPaymentAddress }, errors, valid, isValid }: OnChangeProps) => {\n setVpa(virtualPaymentAddress);\n setErrors(errors);\n setValid(valid);\n setIsValid(isValid);\n }, []);\n\n useEffect(() => {\n if (mode !== 'qrCode') {\n onChange({\n data: { ...(vpa && { virtualPaymentAddress: vpa }), ...(selectedApp && { app: selectedApp }) },\n errors,\n valid,\n isValid\n });\n } else {\n /**\n * When selecting QR code mode, we need to clear the state data and trigger the 'onChange'.\n */\n onChange({ data: {}, valid: {}, errors: {}, isValid: true });\n }\n }, [vpa, selectedApp, errors, valid, isValid, mode]);\n\n return (\n <Fragment>\n <p className=\"adyen-checkout_upi-mode-selection-text\">{i18n.get('upi.modeSelection')}</p>\n <SegmentedControl\n onChange={onChangeUpiMode}\n selectedValue={mode}\n disabled={status === 'loading'}\n classNameModifiers={['upi-margin-bottom']}\n options={segmentedControlOptions}\n />\n <ContentSeparator label={i18n.get('upi.completePayment')} />\n {mode === 'intent' && (\n <div id={A11Y.AreaId.INTENT} aria-labelledby={A11Y.ButtonId.INTENT} className=\"adyen-checkout-upi-area-intent\" role=\"region\">\n <UPIIntentAppList\n disabled={status === 'loading'}\n apps={apps}\n selectedAppId={selectedApp?.id}\n onAppSelect={handleAppSelect}\n onVpaInputChange={handleVpaInputChange}\n onSetInputHandlers={onSetVpaInputHandlers}\n />\n\n {showPayButton &&\n payButton({\n label: i18n.get('continue'),\n status,\n disabled: selectedApp == null\n })}\n </div>\n )}\n {mode === 'vpa' && (\n <div id={A11Y.AreaId.VPA} aria-labelledby={A11Y.ButtonId.VPA} className=\"adyen-checkout-upi-area-vpa\" role=\"region\">\n <VpaInput disabled={status === 'loading'} onChange={onChange} onSetInputHandlers={onSetVpaInputHandlers} />\n\n {showPayButton &&\n payButton({\n label: i18n.get('continue'),\n status\n })}\n </div>\n )}\n {mode === 'qrCode' && (\n <div id={A11Y.AreaId.QR} aria-labelledby={A11Y.ButtonId.QR} className=\"adyen-checkout-upi-area-qr-code\" role=\"region\">\n {showPayButton &&\n payButton({\n label: i18n.get('generateQRCode'),\n icon: getImage({ imageFolder: 'components/' })('qr'),\n status\n })}\n </div>\n )}\n </Fragment>\n );\n}\n"],"names":["UPIComponent","defaultMode","onChange","onUpdateMode","payButton","showPayButton","apps","i18n","useCoreContext","getImage","useImage","status","setStatus","useState","isValid","setIsValid","mode","setMode","vpa","setVpa","vpaInputHandlers","setVpaInputHandlers","selectedApp","setSelectedApp","valid","setValid","errors","setErrors","segmentedControlOptions","useUpiSegmentedControlOptions","this","showValidation","validateInput","onSetVpaInputHandlers","useCallback","handlers","onChangeUpiMode","newMode","handleAppSelect","app","id","handleVpaInputChange","data","virtualPaymentAddress","useEffect","h","Fragment","p","className","get","SegmentedControl","selectedValue","disabled","classNameModifiers","options","ContentSeparator","label","div","A11Y","AreaId","INTENT","aria-labelledby","ButtonId","role","UPIIntentAppList","selectedAppId","onAppSelect","onVpaInputChange","onSetInputHandlers","VPA","VpaInput","QR","icon","imageFolder"],"mappings":"ooBAgCe,SAASA,GAAaC,YAAEA,EAAWC,SAAEA,EAAQC,aAAEA,EAAYC,UAAEA,EAASC,cAAEA,EAAaC,KAAEA,EAAO,KACzG,MAAMC,KAAEA,GAASC,IACXC,EAAWC,KACVC,EAAQC,GAAaC,EAA0B,UAC/CC,EAASC,GAAcF,EAAkC,WAAhBZ,IACzCe,EAAMC,GAAWJ,EAAkBZ,IACnCiB,EAAKC,GAAUN,EAAiB,KAChCO,EAAkBC,GAAuBR,EAA2B,OACpES,EAAaC,GAAkBV,EAAc,OAC7CW,EAAOC,GAAYZ,EAAS,OAC5Ba,EAAQC,GAAad,EAAS,MAC/Be,EAA0BC,EAA8BvB,EAAMU,GAEpEc,KAAKlB,UAAaD,IACdC,EAAUD,EAAAA,EAGdmB,KAAKC,eAAiB,KAClBX,GAAkBY,eAAAA,EAGtB,MAAMC,EAAwBC,GAAaC,IACvCd,EAAoBc,EAAAA,GACrB,IAEGC,EAAkBF,GACnBG,IACGpB,EAAQoB,GACRlC,EAAakC,EAAAA,GAEjB,CAAClC,IAGCmC,EAAkBJ,GACnBK,IACOA,GAAKC,KAAOlB,GAAakB,KAE7BjB,EAAegB,GACfxB,GAAW,GAAA,GAEf,CAACO,IAGCmB,EAAuBP,GAAY,EAAGQ,MAAQC,yBAAyBjB,SAAQF,QAAOV,cACxFK,EAAOwB,GACPhB,EAAUD,GACVD,EAASD,GACTT,EAAWD,EAAAA,GACZ,IAkBH,OAhBA8B,GAAU,KAEF1C,EADS,WAATc,EACS,CACL0B,KAAM,IAAMxB,GAAO,CAAEyB,sBAAuBzB,MAAYI,GAAe,CAAEiB,IAAKjB,IAC9EI,SACAF,QACAV,WAMK,CAAE4B,KAAM,CAAC,EAAGlB,MAAO,CAAC,EAAGE,OAAQ,CAAC,EAAGZ,SAAS,GACzD,GACD,CAACI,EAAKI,EAAaI,EAAQF,EAAOV,EAASE,IAG1C6B,EAACC,OACGD,EAACE,IAAAA,CAAEC,UAAU,0CAA0CzC,EAAK0C,IAAI,sBAChEJ,EAACK,EAAAA,CACGhD,SAAUkC,EACVe,cAAenC,EACfoC,SAAqB,YAAXzC,EACV0C,mBAAoB,CAAC,qBACrBC,QAAS1B,IAEbiB,EAACU,EAAAA,CAAiBC,MAAOjD,EAAK0C,IAAI,yBACxB,WAATjC,GACG6B,EAACY,MAAAA,CAAIjB,GAAIkB,EAAKC,OAAOC,OAAQC,kBAAiBH,EAAKI,SAASF,OAAQZ,UAAU,iCAAiCe,KAAK,UAChHlB,EAACmB,EAAAA,CACGZ,SAAqB,YAAXzC,EACVL,KAAMA,EACN2D,cAAe3C,GAAakB,GAC5B0B,YAAa5B,EACb6B,iBAAkB1B,EAClB2B,mBAAoBnC,IAGvB5B,GACGD,EAAU,CACNoD,MAAOjD,EAAK0C,IAAI,YAChBtC,SACAyC,SAAyB,MAAf9B,KAIhB,QAATN,GACG6B,EAACY,MAAAA,CAAIjB,GAAIkB,EAAKC,OAAOU,IAAKR,kBAAiBH,EAAKI,SAASO,IAAKrB,UAAU,8BAA8Be,KAAK,UACvGlB,EAACyB,EAAAA,CAASlB,SAAqB,YAAXzC,EAAsBT,SAAUA,EAAUkE,mBAAoBnC,IAEjF5B,GACGD,EAAU,CACNoD,MAAOjD,EAAK0C,IAAI,YAChBtC,YAIN,WAATK,GACG6B,EAACY,MAAAA,CAAIjB,GAAIkB,EAAKC,OAAOY,GAAIV,kBAAiBH,EAAKI,SAASS,GAAIvB,UAAU,kCAAkCe,KAAK,UACxG1D,GACGD,EAAU,CACNoD,MAAOjD,EAAK0C,IAAI,kBAChBuB,KAAM/D,EAAS,CAAEgE,YAAa,eAAxBhE,CAAyC,MAC/CE,YAM5B"}
@@ -1,2 +1,2 @@
1
- import t from"../Redirect/Redirect.js";import{TxVariants as e}from"../tx-variants.js";class s extends t{static type=e.vipps;static defaultProps={type:s.type,name:"Vipps"}}export{s as default};
1
+ import e from"../Redirect/Redirect.js";import{TxVariants as t}from"../tx-variants.js";function r(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class i extends e{}r(i,"type",t.vipps),r(i,"defaultProps",{type:i.type,name:"Vipps"});export{i as default};
2
2
  //# sourceMappingURL=Vipps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Vipps.js","sources":["../../../../src/components/Vipps/Vipps.ts"],"sourcesContent":["import RedirectElement from '../Redirect';\nimport { TxVariants } from '../tx-variants';\n\nclass VippsElement extends RedirectElement {\n public static type = TxVariants.vipps;\n\n public static defaultProps = {\n type: VippsElement.type,\n name: 'Vipps'\n };\n}\n\nexport default VippsElement;\n"],"names":["VippsElement","RedirectElement","static","TxVariants","vipps","type","name"],"mappings":"sFAGA,MAAMA,UAAqBC,EACvBC,YAAqBC,EAAWC,MAEhCF,oBAA6B,CACzBG,KAAML,EAAaK,KACnBC,KAAM"}
1
+ {"version":3,"file":"Vipps.js","sources":["../../../../src/components/Vipps/Vipps.ts"],"sourcesContent":["import RedirectElement from '../Redirect';\nimport { TxVariants } from '../tx-variants';\n\nclass VippsElement extends RedirectElement {\n public static type = TxVariants.vipps;\n\n public static defaultProps = {\n type: VippsElement.type,\n name: 'Vipps'\n };\n}\n\nexport default VippsElement;\n"],"names":["VippsElement","RedirectElement","_define_property","type","TxVariants","vipps","defaultProps","name"],"mappings":"8MAGA,MAAMA,UAAqBC,GACvBC,EADEF,EACYG,OAAOC,EAAWC,OAEhCH,EAHEF,EAGYM,eAAe,CACzBH,KAAMH,EAAaG,KACnBI,KAAM"}
@@ -1,2 +1,2 @@
1
- import r from"../helpers/IssuerListContainer/IssuerListContainer.js";import t from"../../utils/browserInfo.js";import{TxVariants as s}from"../tx-variants.js";class o extends r{static type=s.wallet_IN;formatProps(r){return{...super.formatProps(r),showImage:!1}}formatData(){return{...super.formatData(),browserInfo:this.browserInfo}}get browserInfo(){return t()}}export{o as default};
1
+ import r from"../helpers/IssuerListContainer/IssuerListContainer.js";import e from"../../utils/browserInfo.js";import{TxVariants as t}from"../tx-variants.js";class o extends r{formatProps(r){return{...super.formatProps(r),showImage:!1}}formatData(){return{...super.formatData(),browserInfo:this.browserInfo}}get browserInfo(){return e()}}var s,a,n;s=o,a="type",n=t.wallet_IN,a in s?Object.defineProperty(s,a,{value:n,enumerable:!0,configurable:!0,writable:!0}):s[a]=n;export{o as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/WalletIN/index.ts"],"sourcesContent":["import IssuerListContainer from '../helpers/IssuerListContainer/IssuerListContainer';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport { TxVariants } from '../tx-variants';\n\nclass WalletINElement extends IssuerListContainer {\n public static type = TxVariants.wallet_IN;\n\n formatProps(props) {\n return {\n ...super.formatProps(props),\n showImage: false\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n ...super.formatData(),\n browserInfo: this.browserInfo\n };\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n}\n\nexport default WalletINElement;\n"],"names":["WalletINElement","IssuerListContainer","static","TxVariants","wallet_IN","formatProps","props","super","showImage","formatData","browserInfo","this","collectBrowserInfo"],"mappings":"8JAIA,MAAMA,UAAwBC,EAC1BC,YAAqBC,EAAWC,UAEhCC,WAAAA,CAAYC,GACR,MAAO,IACAC,MAAMF,YAAYC,GACrBE,WAAW,EAEnB,CAKAC,UAAAA,GACI,MAAO,IACAF,MAAME,aACTC,YAAaC,KAAKD,YAE1B,CAEA,eAAIA,GACA,OAAOE,GACX"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/WalletIN/index.ts"],"sourcesContent":["import IssuerListContainer from '../helpers/IssuerListContainer/IssuerListContainer';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport { TxVariants } from '../tx-variants';\n\nclass WalletINElement extends IssuerListContainer {\n public static type = TxVariants.wallet_IN;\n\n formatProps(props) {\n return {\n ...super.formatProps(props),\n showImage: false\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n ...super.formatData(),\n browserInfo: this.browserInfo\n };\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n}\n\nexport default WalletINElement;\n"],"names":["WalletINElement","IssuerListContainer","formatProps","props","super","showImage","formatData","browserInfo","this","collectBrowserInfo","type","TxVariants","wallet_IN"],"mappings":"8JAIA,MAAMA,UAAwBC,EAG1BC,WAAAA,CAAYC,GACR,MAAO,IACAC,MAAMF,YAAYC,GACrBE,WAAW,EAEnB,CAKAC,UAAAA,GACI,MAAO,IACAF,MAAME,aACTC,YAAaC,KAAKD,YAE1B,CAEA,eAAIA,GACA,OAAOE,GACX,cAtBET,IACYU,SAAOC,EAAWC"}
@@ -1,2 +1,2 @@
1
- import t from"../helpers/QRLoaderContainer/QRLoaderContainer.js";import{delay as a,countdownTime as r}from"./config.js";import{TxVariants as e}from"../tx-variants.js";class o extends t{static type=e.wechatpayQR;static txVariants=[e.wechatpay];static analyticsType="wechatpayQR";formatProps(t){return{delay:a,countdownTime:r,...super.formatProps(t)}}}export{o as default};
1
+ import e from"../helpers/QRLoaderContainer/QRLoaderContainer.js";import{delay as r,countdownTime as a}from"./config.js";import{TxVariants as t}from"../tx-variants.js";function o(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class n extends e{formatProps(e){return{delay:r,countdownTime:a,...super.formatProps(e)}}}o(n,"type",t.wechatpayQR),o(n,"txVariants",[t.wechatpay]),o(n,"analyticsType","wechatpayQR");export{n as default};
2
2
  //# sourceMappingURL=WeChat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WeChat.js","sources":["../../../../src/components/WeChat/WeChat.ts"],"sourcesContent":["import QRLoaderContainer from '../helpers/QRLoaderContainer/QRLoaderContainer';\nimport { delay, countdownTime } from './config';\nimport { TxVariants } from '../tx-variants';\n\nclass WeChatPayElement extends QRLoaderContainer {\n public static type = TxVariants.wechatpayQR;\n public static txVariants = [TxVariants.wechatpay];\n public static analyticsType = 'wechatpayQR'; // Needed for use-case where merchant makes a payment themselves and then calls checkout.createFromAction(action)\n\n formatProps(props) {\n return {\n delay,\n countdownTime,\n ...super.formatProps(props)\n };\n }\n}\n\nexport default WeChatPayElement;\n"],"names":["WeChatPayElement","QRLoaderContainer","static","TxVariants","wechatpayQR","wechatpay","formatProps","props","delay","countdownTime","super"],"mappings":"uKAIA,MAAMA,UAAyBC,EAC3BC,YAAqBC,EAAWC,YAChCF,kBAA2B,CAACC,EAAWE,WACvCH,qBAA8B,cAE9BI,WAAAA,CAAYC,GACR,MAAO,CACHC,QACAC,mBACGC,MAAMJ,YAAYC,GAE7B"}
1
+ {"version":3,"file":"WeChat.js","sources":["../../../../src/components/WeChat/WeChat.ts"],"sourcesContent":["import QRLoaderContainer from '../helpers/QRLoaderContainer/QRLoaderContainer';\nimport { delay, countdownTime } from './config';\nimport { TxVariants } from '../tx-variants';\n\nclass WeChatPayElement extends QRLoaderContainer {\n public static type = TxVariants.wechatpayQR;\n public static txVariants = [TxVariants.wechatpay];\n public static analyticsType = 'wechatpayQR'; // Needed for use-case where merchant makes a payment themselves and then calls checkout.createFromAction(action)\n\n formatProps(props) {\n return {\n delay,\n countdownTime,\n ...super.formatProps(props)\n };\n }\n}\n\nexport default WeChatPayElement;\n"],"names":["WeChatPayElement","QRLoaderContainer","formatProps","props","delay","countdownTime","super","_define_property","type","TxVariants","wechatpayQR","txVariants","wechatpay","analyticsType"],"mappings":"+RAIA,MAAMA,UAAyBC,EAK3BC,WAAAA,CAAYC,GACR,MAAO,CACHC,QACAC,mBACGC,MAAMJ,YAAYC,GAE7B,EAVAI,EADEP,EACYQ,OAAOC,EAAWC,aAChCH,EAFEP,EAEYW,aAAa,CAACF,EAAWG,YACvCL,EAHEP,EAGYa,gBAAgB"}
@@ -1,2 +1,2 @@
1
- import{createElement as s}from"../../../external/preact/dist/preact.js";import{UIElement as t}from"../../internal/UIElement/UIElement.js";import e from"../../internal/IssuerList/IssuerList.js";import i from"../../../utils/get-issuer-image.js";import{FALLBACK_CONTEXT as r}from"../../../core/config.js";import{CoreProvider as o}from"../../../core/Context/CoreProvider.js";import n from"../../internal/RedirectButton/RedirectButton.js";import p from"../../../core/Errors/SRPanelProvider.js";class a extends t{static defaultProps={showImage:!0,issuers:[],highlightedIssuers:[],loadingContext:r,showPaymentMethodItemImages:!1};constructor(s,t){super(s,t);const e=s=>this.resources.getImage(s);if(this.props.showImage){const s=i({loadingContext:this.props.loadingContext},this.constructor.type,e);this.props.issuers=this.props.issuers.map((t=>({...t,icon:s(t.id)})))}}formatProps(s){const t=s.details&&s.details.length&&(s.details.find((s=>"issuer"===s.key))||{}).items||s.issuers||[];return{...s,issuers:t}}formatData(){return{paymentMethod:{type:this.type,issuer:this.state?.data?.issuer}}}get isValid(){return 0===this.props.issuers.length||!!this.state?.isValid}get brands(){return this.props.showPaymentMethodItemImages?this.props.issuers.map((s=>({icon:s.icon,name:s.id}))):[]}render(){return s(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.issuers.length>0?s(p,{srPanel:this.props.modules.srPanel},s(e,{ref:s=>{this.componentRef=s},items:this.props.issuers,highlightedIds:this.props.highlightedIssuers,...this.props,...this.state,showImage:this.props.showImage,type:this.constructor.type,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton,contextualText:this.props.i18n.get("issuerList.selectField.contextualText"),onSubmitAnalytics:this.submitAnalytics})):s(n,{showPayButton:this.props.showPayButton,name:this.props.name,...this.props,onSubmit:this.submit,payButton:this.payButton,ref:s=>{this.componentRef=s}}))}}export{a as default};
1
+ import{createElement as t}from"../../../external/preact/dist/preact.js";import{UIElement as s}from"../../internal/UIElement/UIElement.js";import e from"../../internal/IssuerList/IssuerList.js";import i from"../../../utils/get-issuer-image.js";import{FALLBACK_CONTEXT as r}from"../../../core/config.js";import{CoreProvider as o}from"../../../core/Context/CoreProvider.js";import n from"../../internal/RedirectButton/RedirectButton.js";import a from"../../../core/Errors/SRPanelProvider.js";class p extends s{formatProps(t){const s=t.details&&t.details.length&&(t.details.find((t=>"issuer"===t.key))||{}).items||t.issuers||[];return{...t,issuers:s}}formatData(){return{paymentMethod:{type:this.type,issuer:this.state?.data?.issuer}}}get isValid(){return 0===this.props.issuers.length||!!this.state?.isValid}get brands(){return this.props.showPaymentMethodItemImages?this.props.issuers.map((t=>({icon:t.icon,name:t.id}))):[]}render(){return t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.issuers.length>0?t(a,{srPanel:this.props.modules.srPanel},t(e,{ref:t=>{this.componentRef=t},items:this.props.issuers,highlightedIds:this.props.highlightedIssuers,...this.props,...this.state,showImage:this.props.showImage,type:this.constructor.type,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton,contextualText:this.props.i18n.get("issuerList.selectField.contextualText"),onSubmitAnalytics:this.submitAnalytics})):t(n,{showPayButton:this.props.showPayButton,name:this.props.name,...this.props,onSubmit:this.submit,payButton:this.payButton,ref:t=>{this.componentRef=t}}))}constructor(t,s){super(t,s);const e=t=>this.resources.getImage(t);if(this.props.showImage){const t=i({loadingContext:this.props.loadingContext},this.constructor.type,e);this.props.issuers=this.props.issuers.map((s=>({...s,icon:t(s.id)})))}}}var h,u,m;m={showImage:!0,issuers:[],highlightedIssuers:[],loadingContext:r,showPaymentMethodItemImages:!1},(u="defaultProps")in(h=p)?Object.defineProperty(h,u,{value:m,enumerable:!0,configurable:!0,writable:!0}):h[u]=m;export{p as default};
2
2
  //# sourceMappingURL=IssuerListContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IssuerListContainer.js","sources":["../../../../../src/components/helpers/IssuerListContainer/IssuerListContainer.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../../internal/UIElement/UIElement';\nimport IssuerList from '../../internal/IssuerList';\nimport getIssuerImageUrl from '../../../utils/get-issuer-image';\nimport { FALLBACK_CONTEXT } from '../../../core/config';\nimport { CoreProvider } from '../../../core/Context/CoreProvider';\nimport RedirectButton from '../../internal/RedirectButton';\nimport SRPanelProvider from '../../../core/Errors/SRPanelProvider';\nimport { IssuerListConfiguration, IssuerListData } from './types';\nimport type { ICore } from '../../../core/types';\n\nclass IssuerListContainer extends UIElement<IssuerListConfiguration> {\n protected static defaultProps = {\n showImage: true,\n issuers: [],\n highlightedIssuers: [],\n loadingContext: FALLBACK_CONTEXT,\n showPaymentMethodItemImages: false\n };\n\n constructor(checkout: ICore, props?: IssuerListConfiguration) {\n super(checkout, props);\n\n const getImage = props => this.resources.getImage(props);\n\n if (this.props.showImage) {\n const getIssuerIcon = getIssuerImageUrl({ loadingContext: this.props.loadingContext }, this.constructor['type'], getImage);\n\n this.props.issuers = this.props.issuers.map(item => ({\n ...item,\n icon: getIssuerIcon(item.id)\n }));\n }\n }\n\n formatProps(props) {\n const issuers = (props.details && props.details.length && (props.details.find(d => d.key === 'issuer') || {}).items) || props.issuers || [];\n return { ...props, issuers };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): IssuerListData {\n return {\n paymentMethod: {\n type: this.type,\n issuer: this.state?.data?.issuer\n }\n };\n }\n\n /**\n * Returns whether the component state is valid or not\n */\n get isValid() {\n if (this.props.issuers.length === 0) {\n return true;\n }\n return !!this.state?.isValid;\n }\n\n /**\n * Returns brands array (similar to card) depending on showPaymentMethodItemImages\n * This is used to show the brands in the PaymentMethodItem\n * Requires brands icons to be loaded in the payment method\n */\n get brands(): { icon: any; name: string }[] {\n if (this.props.showPaymentMethodItemImages) {\n return this.props.issuers.map(brand => {\n const brandIcon = brand.icon;\n return { icon: brandIcon, name: brand.id };\n });\n }\n\n return [];\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.issuers.length > 0 ? (\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <IssuerList\n ref={ref => {\n this.componentRef = ref;\n }}\n items={this.props.issuers}\n highlightedIds={this.props.highlightedIssuers}\n {...this.props}\n {...this.state}\n showImage={this.props.showImage}\n type={this.constructor['type']}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n contextualText={this.props.i18n.get('issuerList.selectField.contextualText')}\n onSubmitAnalytics={this.submitAnalytics}\n />\n </SRPanelProvider>\n ) : (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.props.name}\n {...this.props}\n onSubmit={this.submit}\n payButton={this.payButton}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default IssuerListContainer;\n"],"names":["IssuerListContainer","UIElement","static","showImage","issuers","highlightedIssuers","loadingContext","FALLBACK_CONTEXT","showPaymentMethodItemImages","constructor","checkout","props","super","getImage","this","resources","getIssuerIcon","getIssuerImageUrl","map","item","icon","id","formatProps","details","length","find","d","key","items","formatData","paymentMethod","type","issuer","state","data","isValid","brands","brand","name","render","h","CoreProvider","i18n","SRPanelProvider","srPanel","modules","IssuerList","ref","componentRef","highlightedIds","onChange","setState","onSubmit","submit","payButton","contextualText","get","onSubmitAnalytics","submitAnalytics","RedirectButton","showPayButton"],"mappings":"yeAWA,MAAMA,UAA4BC,EAC9BC,oBAAgC,CAC5BC,WAAW,EACXC,QAAS,GACTC,mBAAoB,GACpBC,eAAgBC,EAChBC,6BAA6B,GAGjCC,WAAAA,CAAYC,EAAiBC,GACzBC,MAAMF,EAAUC,GAEhB,MAAME,EAAWF,GAASG,KAAKC,UAAUF,SAASF,GAElD,GAAIG,KAAKH,MAAMR,UAAW,CACtB,MAAMa,EAAgBC,EAAkB,CAAEX,eAAgBQ,KAAKH,MAAML,gBAAkBQ,KAAKL,iBAAqBI,GAEjHC,KAAKH,MAAMP,QAAUU,KAAKH,MAAMP,QAAQc,KAAIC,IAAS,IAC9CA,EACHC,KAAMJ,EAAcG,EAAKE,OAEjC,CACJ,CAEAC,WAAAA,CAAYX,GACR,MAAMP,EAAWO,EAAMY,SAAWZ,EAAMY,QAAQC,SAAWb,EAAMY,QAAQE,MAAKC,GAAe,WAAVA,EAAEC,OAAqB,CAAC,GAAGC,OAAUjB,EAAMP,SAAW,GACzI,MAAO,IAAKO,EAAOP,UACvB,CAKAyB,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMjB,KAAKiB,KACXC,OAAQlB,KAAKmB,OAAOC,MAAMF,QAGtC,CAKA,WAAIG,GACA,OAAkC,IAA9BrB,KAAKH,MAAMP,QAAQoB,UAGdV,KAAKmB,OAAOE,OACzB,CAOA,UAAIC,GACA,OAAItB,KAAKH,MAAMH,4BACJM,KAAKH,MAAMP,QAAQc,KAAImB,IAEnB,CAAEjB,KADSiB,EAAMjB,KACEkB,KAAMD,EAAMhB,OAIvC,EACX,CAEAkB,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAM5B,KAAKH,MAAM+B,KAAMpC,eAAgBQ,KAAKH,MAAML,eAAgBS,UAAWD,KAAKC,WAC3FD,KAAKH,MAAMP,QAAQoB,OAAS,EACzBgB,EAACG,EAAAA,CAAgBC,QAAS9B,KAAKH,MAAMkC,QAAQD,SACzCJ,EAACM,EAAAA,CACGC,IAAKA,IACDjC,KAAKkC,aAAeD,CAAAA,EAExBnB,MAAOd,KAAKH,MAAMP,QAClB6C,eAAgBnC,KAAKH,MAAMN,sBACvBS,KAAKH,SACLG,KAAKmB,MACT9B,UAAWW,KAAKH,MAAMR,UACtB4B,KAAMjB,KAAKL,YAAmB,KAC9ByC,SAAUpC,KAAKqC,SACfC,SAAUtC,KAAKuC,OACfC,UAAWxC,KAAKwC,UAChBC,eAAgBzC,KAAKH,MAAM+B,KAAKc,IAAI,yCACpCC,kBAAmB3C,KAAK4C,mBAIhClB,EAACmB,EAAAA,CACGC,cAAe9C,KAAKH,MAAMiD,cAC1BtB,KAAMxB,KAAKH,MAAM2B,QACbxB,KAAKH,MACTyC,SAAUtC,KAAKuC,OACfC,UAAWxC,KAAKwC,UAChBP,IAAKA,IACDjC,KAAKkC,aAAeD,CAAAA,IAM5C"}
1
+ {"version":3,"file":"IssuerListContainer.js","sources":["../../../../../src/components/helpers/IssuerListContainer/IssuerListContainer.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../../internal/UIElement/UIElement';\nimport IssuerList from '../../internal/IssuerList';\nimport getIssuerImageUrl from '../../../utils/get-issuer-image';\nimport { FALLBACK_CONTEXT } from '../../../core/config';\nimport { CoreProvider } from '../../../core/Context/CoreProvider';\nimport RedirectButton from '../../internal/RedirectButton';\nimport SRPanelProvider from '../../../core/Errors/SRPanelProvider';\nimport { IssuerListConfiguration, IssuerListData } from './types';\nimport type { ICore } from '../../../core/types';\n\nclass IssuerListContainer extends UIElement<IssuerListConfiguration> {\n protected static defaultProps = {\n showImage: true,\n issuers: [],\n highlightedIssuers: [],\n loadingContext: FALLBACK_CONTEXT,\n showPaymentMethodItemImages: false\n };\n\n constructor(checkout: ICore, props?: IssuerListConfiguration) {\n super(checkout, props);\n\n const getImage = props => this.resources.getImage(props);\n\n if (this.props.showImage) {\n const getIssuerIcon = getIssuerImageUrl({ loadingContext: this.props.loadingContext }, this.constructor['type'], getImage);\n\n this.props.issuers = this.props.issuers.map(item => ({\n ...item,\n icon: getIssuerIcon(item.id)\n }));\n }\n }\n\n formatProps(props) {\n const issuers = (props.details && props.details.length && (props.details.find(d => d.key === 'issuer') || {}).items) || props.issuers || [];\n return { ...props, issuers };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): IssuerListData {\n return {\n paymentMethod: {\n type: this.type,\n issuer: this.state?.data?.issuer\n }\n };\n }\n\n /**\n * Returns whether the component state is valid or not\n */\n get isValid() {\n if (this.props.issuers.length === 0) {\n return true;\n }\n return !!this.state?.isValid;\n }\n\n /**\n * Returns brands array (similar to card) depending on showPaymentMethodItemImages\n * This is used to show the brands in the PaymentMethodItem\n * Requires brands icons to be loaded in the payment method\n */\n get brands(): { icon: any; name: string }[] {\n if (this.props.showPaymentMethodItemImages) {\n return this.props.issuers.map(brand => {\n const brandIcon = brand.icon;\n return { icon: brandIcon, name: brand.id };\n });\n }\n\n return [];\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.issuers.length > 0 ? (\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <IssuerList\n ref={ref => {\n this.componentRef = ref;\n }}\n items={this.props.issuers}\n highlightedIds={this.props.highlightedIssuers}\n {...this.props}\n {...this.state}\n showImage={this.props.showImage}\n type={this.constructor['type']}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n contextualText={this.props.i18n.get('issuerList.selectField.contextualText')}\n onSubmitAnalytics={this.submitAnalytics}\n />\n </SRPanelProvider>\n ) : (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.props.name}\n {...this.props}\n onSubmit={this.submit}\n payButton={this.payButton}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default IssuerListContainer;\n"],"names":["IssuerListContainer","UIElement","formatProps","props","issuers","details","length","find","d","key","items","formatData","paymentMethod","type","this","issuer","state","data","isValid","brands","showPaymentMethodItemImages","map","brand","icon","name","id","render","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","IssuerList","ref","componentRef","highlightedIds","highlightedIssuers","showImage","constructor","onChange","setState","onSubmit","submit","payButton","contextualText","get","onSubmitAnalytics","submitAnalytics","RedirectButton","showPayButton","checkout","super","getImage","getIssuerIcon","getIssuerImageUrl","item","FALLBACK_CONTEXT","defaultProps"],"mappings":"yeAWA,MAAMA,UAA4BC,EAwB9BC,WAAAA,CAAYC,GACR,MAAMC,EAAWD,EAAME,SAAWF,EAAME,QAAQC,SAAWH,EAAME,QAAQE,MAAKC,GAAe,WAAVA,EAAEC,OAAqB,CAAC,GAAGC,OAAUP,EAAMC,SAAW,GACzI,MAAO,IAAKD,EAAOC,UACvB,CAKAO,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKD,KACXE,OAAQD,KAAKE,OAAOC,MAAMF,QAGtC,CAKA,WAAIG,GACA,OAAkC,IAA9BJ,KAAKX,MAAMC,QAAQE,UAGdQ,KAAKE,OAAOE,OACzB,CAOA,UAAIC,GACA,OAAIL,KAAKX,MAAMiB,4BACJN,KAAKX,MAAMC,QAAQiB,KAAIC,IAEnB,CAAEC,KADSD,EAAMC,KACEC,KAAMF,EAAMG,OAIvC,EACX,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMf,KAAKX,MAAM0B,KAAMC,eAAgBhB,KAAKX,MAAM2B,eAAgBC,UAAWjB,KAAKiB,WAC3FjB,KAAKX,MAAMC,QAAQE,OAAS,EACzBqB,EAACK,EAAAA,CAAgBC,QAASnB,KAAKX,MAAM+B,QAAQD,SACzCN,EAACQ,EAAAA,CACGC,IAAKA,IACDtB,KAAKuB,aAAeD,CAAAA,EAExB1B,MAAOI,KAAKX,MAAMC,QAClBkC,eAAgBxB,KAAKX,MAAMoC,sBACvBzB,KAAKX,SACLW,KAAKE,MACTwB,UAAW1B,KAAKX,MAAMqC,UACtB3B,KAAMC,KAAK2B,YAAmB,KAC9BC,SAAU5B,KAAK6B,SACfC,SAAU9B,KAAK+B,OACfC,UAAWhC,KAAKgC,UAChBC,eAAgBjC,KAAKX,MAAM0B,KAAKmB,IAAI,yCACpCC,kBAAmBnC,KAAKoC,mBAIhCvB,EAACwB,EAAAA,CACGC,cAAetC,KAAKX,MAAMiD,cAC1B5B,KAAMV,KAAKX,MAAMqB,QACbV,KAAKX,MACTyC,SAAU9B,KAAK+B,OACfC,UAAWhC,KAAKgC,UAChBV,IAAKA,IACDtB,KAAKuB,aAAeD,CAAAA,IAM5C,CA9FAK,WAAAA,CAAYY,EAAiBlD,GACzBmD,MAAMD,EAAUlD,GAEhB,MAAMoD,EAAWpD,GAASW,KAAKiB,UAAUwB,SAASpD,GAElD,GAAIW,KAAKX,MAAMqC,UAAW,CACtB,MAAMgB,EAAgBC,EAAkB,CAAE3B,eAAgBhB,KAAKX,MAAM2B,gBAAkBhB,KAAK2B,iBAAqBc,GAEjHzC,KAAKX,MAAMC,QAAUU,KAAKX,MAAMC,QAAQiB,KAAIqC,IAAS,IAC9CA,EACHnC,KAAMiC,EAAcE,EAAKjC,OAEjC,CACJ,cArBgC,CAC5Be,WAAW,EACXpC,QAAS,GACTmC,mBAAoB,GACpBT,eAAgB6B,EAChBvC,6BAA6B,MALhBwC,oBADf5D"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../external/preact/dist/preact.js";import{UIElement as t}from"../../internal/UIElement/UIElement.js";import s from"../../internal/OpenInvoice/OpenInvoice.js";import{CoreProvider as i}from"../../../core/Context/CoreProvider.js";import r from"../../../core/Errors/SRPanelProvider.js";class n extends t{static defaultProps={onChange:()=>{},data:{companyDetails:{},personalDetails:{},billingAddress:{},deliveryAddress:{},bankAccount:{}},visibility:{companyDetails:"hidden",personalDetails:"editable",billingAddress:"editable",deliveryAddress:"editable",bankAccount:"hidden"}};get isValid(){return!!this.state.isValid}formatProps(e){const t=e.countryCode||e.data?.billingAddress?.countryCode;return{...e,allowedCountries:[t],visibility:{...n.defaultProps.visibility,...e.visibility},data:{...e.data,billingAddress:{...e.data.billingAddress,country:t},deliveryAddress:{...e.data.deliveryAddress,country:t}}}}formatData(){const{data:e={}}=this.state,{companyDetails:t={},personalDetails:s={},billingAddress:i,deliveryAddress:r,bankAccount:n}=e;return{paymentMethod:{type:this.constructor.type},...s,...t,...n&&{bankAccount:{iban:n.ibanNumber,ownerName:n.ownerName,countryCode:n.countryCode}},...i&&{billingAddress:i},...(r||i)&&{deliveryAddress:r||i}}}render(){return e(i,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},e(r,{srPanel:this.props.modules.srPanel},e(s,{setComponentRef:this.setComponentRef,...this.props,...this.state,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton})))}}export{n as default};
1
+ import{createElement as e}from"../../../external/preact/dist/preact.js";import{UIElement as t}from"../../internal/UIElement/UIElement.js";import r from"../../internal/OpenInvoice/OpenInvoice.js";import{CoreProvider as s}from"../../../core/Context/CoreProvider.js";import i from"../../../core/Errors/SRPanelProvider.js";class n extends t{get isValid(){return!!this.state.isValid}formatProps(e){const t=e.countryCode||e.data?.billingAddress?.countryCode;return{...e,allowedCountries:[t],visibility:{...n.defaultProps.visibility,...e.visibility},data:{...e.data,billingAddress:{...e.data.billingAddress,country:t},deliveryAddress:{...e.data.deliveryAddress,country:t}}}}formatData(){const{data:e={}}=this.state,{companyDetails:t={},personalDetails:r={},billingAddress:s,deliveryAddress:i,bankAccount:n}=e;return{paymentMethod:{type:this.constructor.type},...r,...t,...n&&{bankAccount:{iban:n.ibanNumber,ownerName:n.ownerName,countryCode:n.countryCode}},...s&&{billingAddress:s},...(i||s)&&{deliveryAddress:i||s}}}render(){return e(s,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},e(i,{srPanel:this.props.modules.srPanel},e(r,{setComponentRef:this.setComponentRef,...this.props,...this.state,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton})))}}var o,a,d;d={onChange:()=>{},data:{companyDetails:{},personalDetails:{},billingAddress:{},deliveryAddress:{},bankAccount:{}},visibility:{companyDetails:"hidden",personalDetails:"editable",billingAddress:"editable",deliveryAddress:"editable",bankAccount:"hidden"}},(a="defaultProps")in(o=n)?Object.defineProperty(o,a,{value:d,enumerable:!0,configurable:!0,writable:!0}):o[a]=d;export{n as default};
2
2
  //# sourceMappingURL=OpenInvoiceContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpenInvoiceContainer.js","sources":["../../../../../src/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../../internal/UIElement/UIElement';\nimport OpenInvoice from '../../internal/OpenInvoice';\nimport { CoreProvider } from '../../../core/Context/CoreProvider';\nimport SRPanelProvider from '../../../core/Errors/SRPanelProvider';\nimport { OpenInvoiceConfiguration } from './types';\n\nexport default class OpenInvoiceContainer extends UIElement<OpenInvoiceConfiguration> {\n protected static defaultProps: Partial<OpenInvoiceConfiguration> = {\n onChange: () => {},\n data: { companyDetails: {}, personalDetails: {}, billingAddress: {}, deliveryAddress: {}, bankAccount: {} },\n visibility: {\n companyDetails: 'hidden',\n personalDetails: 'editable',\n billingAddress: 'editable',\n deliveryAddress: 'editable',\n bankAccount: 'hidden'\n }\n };\n\n /**\n * Returns whether the component state is valid or not\n */\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats props on construction time\n */\n formatProps(props) {\n const country = props.countryCode || props.data?.billingAddress?.countryCode;\n\n return {\n ...props,\n allowedCountries: [country],\n visibility: {\n ...OpenInvoiceContainer.defaultProps.visibility,\n ...props.visibility\n },\n data: {\n ...props.data,\n billingAddress: {\n ...props.data.billingAddress,\n country\n },\n deliveryAddress: {\n ...props.data.deliveryAddress,\n country\n }\n }\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const { data = {} } = this.state;\n const { companyDetails = {}, personalDetails = {}, billingAddress, deliveryAddress, bankAccount } = data;\n\n return {\n paymentMethod: {\n type: this.constructor['type']\n },\n ...personalDetails,\n ...companyDetails,\n ...(bankAccount && {\n bankAccount: {\n iban: bankAccount.ibanNumber,\n ownerName: bankAccount.ownerName,\n countryCode: bankAccount.countryCode\n }\n }),\n ...(billingAddress && { billingAddress }),\n ...((deliveryAddress || billingAddress) && { deliveryAddress: deliveryAddress || billingAddress })\n };\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <OpenInvoice\n setComponentRef={this.setComponentRef}\n {...this.props}\n {...this.state}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n}\n"],"names":["OpenInvoiceContainer","UIElement","static","onChange","data","companyDetails","personalDetails","billingAddress","deliveryAddress","bankAccount","visibility","isValid","this","state","formatProps","props","country","countryCode","allowedCountries","defaultProps","formatData","paymentMethod","type","constructor","iban","ibanNumber","ownerName","render","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","OpenInvoice","setComponentRef","setState","onSubmit","submit","payButton"],"mappings":"+TAOe,MAAMA,UAA6BC,EAC9CC,oBAAmE,CAC/DC,SAAU,OACVC,KAAM,CAAEC,eAAgB,CAAC,EAAGC,gBAAiB,CAAC,EAAGC,eAAgB,CAAC,EAAGC,gBAAiB,CAAC,EAAGC,YAAa,CAAC,GACxGC,WAAY,CACRL,eAAgB,SAChBC,gBAAiB,WACjBC,eAAgB,WAChBC,gBAAiB,WACjBC,YAAa,WAOrB,WAAIE,GACA,QAASC,KAAKC,MAAMF,OACxB,CAKAG,WAAAA,CAAYC,GACR,MAAMC,EAAUD,EAAME,aAAeF,EAAMX,MAAMG,gBAAgBU,YAEjE,MAAO,IACAF,EACHG,iBAAkB,CAACF,GACnBN,WAAY,IACLV,EAAqBmB,aAAaT,cAClCK,EAAML,YAEbN,KAAM,IACCW,EAAMX,KACTG,eAAgB,IACTQ,EAAMX,KAAKG,eACdS,WAEJR,gBAAiB,IACVO,EAAMX,KAAKI,gBACdQ,YAIhB,CAKAI,UAAAA,GACI,MAAMhB,KAAEA,EAAO,CAAA,GAAOQ,KAAKC,OACrBR,eAAEA,EAAiB,CAAE,EAAAC,gBAAEA,EAAkB,CAAA,EAAEC,eAAEA,EAAcC,gBAAEA,EAAeC,YAAEA,GAAgBL,EAEpG,MAAO,CACHiB,cAAe,CACXC,KAAMV,KAAKW,YAAmB,SAE/BjB,KACAD,KACCI,GAAe,CACfA,YAAa,CACTe,KAAMf,EAAYgB,WAClBC,UAAWjB,EAAYiB,UACvBT,YAAaR,EAAYQ,iBAG7BV,GAAkB,CAAEA,sBACnBC,GAAmBD,IAAmB,CAAEC,gBAAiBA,GAAmBD,GAEzF,CAEAoB,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMlB,KAAKG,MAAMe,KAAMC,eAAgBnB,KAAKG,MAAMgB,eAAgBC,UAAWpB,KAAKoB,WAC5FJ,EAACK,EAAAA,CAAgBC,QAAStB,KAAKG,MAAMoB,QAAQD,SACzCN,EAACQ,EAAAA,CACGC,gBAAiBzB,KAAKyB,mBAClBzB,KAAKG,SACLH,KAAKC,MACTV,SAAUS,KAAK0B,SACfC,SAAU3B,KAAK4B,OACfC,UAAW7B,KAAK6B,aAKpC"}
1
+ {"version":3,"file":"OpenInvoiceContainer.js","sources":["../../../../../src/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../../internal/UIElement/UIElement';\nimport OpenInvoice from '../../internal/OpenInvoice';\nimport { CoreProvider } from '../../../core/Context/CoreProvider';\nimport SRPanelProvider from '../../../core/Errors/SRPanelProvider';\nimport { OpenInvoiceConfiguration } from './types';\n\nexport default class OpenInvoiceContainer extends UIElement<OpenInvoiceConfiguration> {\n protected static defaultProps: Partial<OpenInvoiceConfiguration> = {\n onChange: () => {},\n data: { companyDetails: {}, personalDetails: {}, billingAddress: {}, deliveryAddress: {}, bankAccount: {} },\n visibility: {\n companyDetails: 'hidden',\n personalDetails: 'editable',\n billingAddress: 'editable',\n deliveryAddress: 'editable',\n bankAccount: 'hidden'\n }\n };\n\n /**\n * Returns whether the component state is valid or not\n */\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats props on construction time\n */\n formatProps(props) {\n const country = props.countryCode || props.data?.billingAddress?.countryCode;\n\n return {\n ...props,\n allowedCountries: [country],\n visibility: {\n ...OpenInvoiceContainer.defaultProps.visibility,\n ...props.visibility\n },\n data: {\n ...props.data,\n billingAddress: {\n ...props.data.billingAddress,\n country\n },\n deliveryAddress: {\n ...props.data.deliveryAddress,\n country\n }\n }\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const { data = {} } = this.state;\n const { companyDetails = {}, personalDetails = {}, billingAddress, deliveryAddress, bankAccount } = data;\n\n return {\n paymentMethod: {\n type: this.constructor['type']\n },\n ...personalDetails,\n ...companyDetails,\n ...(bankAccount && {\n bankAccount: {\n iban: bankAccount.ibanNumber,\n ownerName: bankAccount.ownerName,\n countryCode: bankAccount.countryCode\n }\n }),\n ...(billingAddress && { billingAddress }),\n ...((deliveryAddress || billingAddress) && { deliveryAddress: deliveryAddress || billingAddress })\n };\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <OpenInvoice\n setComponentRef={this.setComponentRef}\n {...this.props}\n {...this.state}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n}\n"],"names":["OpenInvoiceContainer","UIElement","isValid","this","state","formatProps","props","country","countryCode","data","billingAddress","allowedCountries","visibility","defaultProps","deliveryAddress","formatData","companyDetails","personalDetails","bankAccount","paymentMethod","type","constructor","iban","ibanNumber","ownerName","render","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","OpenInvoice","setComponentRef","onChange","setState","onSubmit","submit","payButton"],"mappings":"+TAOe,MAAMA,UAA6BC,EAgB9C,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAKAG,WAAAA,CAAYC,GACR,MAAMC,EAAUD,EAAME,aAAeF,EAAMG,MAAMC,gBAAgBF,YAEjE,MAAO,IACAF,EACHK,iBAAkB,CAACJ,GACnBK,WAAY,IACLZ,EAAqBa,aAAaD,cAClCN,EAAMM,YAEbH,KAAM,IACCH,EAAMG,KACTC,eAAgB,IACTJ,EAAMG,KAAKC,eACdH,WAEJO,gBAAiB,IACVR,EAAMG,KAAKK,gBACdP,YAIhB,CAKAQ,UAAAA,GACI,MAAMN,KAAEA,EAAO,CAAA,GAAON,KAAKC,OACrBY,eAAEA,EAAiB,CAAE,EAAAC,gBAAEA,EAAkB,CAAA,EAAEP,eAAEA,EAAcI,gBAAEA,EAAeI,YAAEA,GAAgBT,EAEpG,MAAO,CACHU,cAAe,CACXC,KAAMjB,KAAKkB,YAAmB,SAE/BJ,KACAD,KACCE,GAAe,CACfA,YAAa,CACTI,KAAMJ,EAAYK,WAClBC,UAAWN,EAAYM,UACvBhB,YAAaU,EAAYV,iBAG7BE,GAAkB,CAAEA,sBACnBI,GAAmBJ,IAAmB,CAAEI,gBAAiBA,GAAmBJ,GAEzF,CAEAe,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMzB,KAAKG,MAAMsB,KAAMC,eAAgB1B,KAAKG,MAAMuB,eAAgBC,UAAW3B,KAAK2B,WAC5FJ,EAACK,EAAAA,CAAgBC,QAAS7B,KAAKG,MAAM2B,QAAQD,SACzCN,EAACQ,EAAAA,CACGC,gBAAiBhC,KAAKgC,mBAClBhC,KAAKG,SACLH,KAAKC,MACTgC,SAAUjC,KAAKkC,SACfC,SAAUnC,KAAKoC,OACfC,UAAWrC,KAAKqC,aAKpC,cAtFmE,CAC/DJ,SAAU,OACV3B,KAAM,CAAEO,eAAgB,CAAC,EAAGC,gBAAiB,CAAC,EAAGP,eAAgB,CAAC,EAAGI,gBAAiB,CAAC,EAAGI,YAAa,CAAC,GACxGN,WAAY,CACRI,eAAgB,SAChBC,gBAAiB,WACjBP,eAAgB,WAChBI,gBAAiB,WACjBI,YAAa,cARJL,oBADAb"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../../external/preact/dist/preact.js";import{UIElement as o}from"../../internal/UIElement/UIElement.js";import e from"../../internal/QRLoader/QRLoader.js";import{CoreProvider as r}from"../../../core/Context/CoreProvider.js";import s from"../../internal/RedirectButton/RedirectButton.js";import n from"../../../core/Errors/SRPanelProvider.js";class i extends o{static defaultProps={qrCodeImage:"",amount:null,paymentData:null,onError:()=>{},onComplete:()=>{},onActionHandled:()=>{}};formatData(){return{paymentMethod:{type:this.type,...this.state.data}}}get isValid(){return!0}renderQRCode(){return t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(n,{srPanel:this.props.modules.srPanel},t(e,{ref:t=>{this.componentRef=t},...this.props,type:this.constructor.type,brandLogo:this.props.brandLogo||this.icon,delay:this.props.delay,onComplete:this.onComplete,countdownTime:this.props.countdownTime,instructions:this.props.instructions,onActionHandled:this.props.onActionHandled,brandName:this.displayName,onSubmitAnalytics:this.submitAnalytics})))}render(){return this.props.paymentData?this.renderQRCode():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,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{UIElement as e}from"../../internal/UIElement/UIElement.js";import o from"../../internal/QRLoader/QRLoader.js";import{CoreProvider as r}from"../../../core/Context/CoreProvider.js";import n from"../../internal/RedirectButton/RedirectButton.js";import s from"../../../core/Errors/SRPanelProvider.js";class i extends e{formatData(){return{paymentMethod:{type:this.type,...this.state.data}}}get isValid(){return!0}renderQRCode(){return t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(s,{srPanel:this.props.modules.srPanel},t(o,{ref:t=>{this.componentRef=t},...this.props,type:this.constructor.type,brandLogo:this.props.brandLogo||this.icon,delay:this.props.delay,onComplete:this.onComplete,countdownTime:this.props.countdownTime,instructions:this.props.instructions,onActionHandled:this.onActionHandled,brandName:this.displayName,onSubmitAnalytics:this.submitAnalytics})))}render(){return this.props.paymentData?this.renderQRCode():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,onSubmit:this.submit,payButton:this.payButton,ref:t=>{this.componentRef=t}})):null}}var a,p,l;l={qrCodeImage:"",amount:null,paymentData:null,onError:()=>{},onComplete:()=>{}},(p="defaultProps")in(a=i)?Object.defineProperty(a,p,{value:l,enumerable:!0,configurable:!0,writable:!0}):a[p]=l;export{i as default};
2
2
  //# sourceMappingURL=QRLoaderContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QRLoaderContainer.js","sources":["../../../../../src/components/helpers/QRLoaderContainer/QRLoaderContainer.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../../internal/UIElement/UIElement';\nimport QRLoader from '../../internal/QRLoader';\nimport { CoreProvider } from '../../../core/Context/CoreProvider';\nimport RedirectButton from '../../internal/RedirectButton';\nimport SRPanelProvider from '../../../core/Errors/SRPanelProvider';\nimport { QRLoaderConfiguration } from './types';\n\nclass QRLoaderContainer<T extends QRLoaderConfiguration = QRLoaderConfiguration> extends UIElement<T> {\n // Using the generic here allow to fully extend the QRLoaderContainer (including it's props)\n protected static defaultProps = {\n qrCodeImage: '',\n amount: null,\n paymentData: null,\n onError: () => {},\n onComplete: () => {},\n onActionHandled: () => {}\n };\n\n formatData() {\n return {\n paymentMethod: {\n type: this.type,\n ...this.state.data\n }\n };\n }\n\n get isValid() {\n return true;\n }\n\n // Makes possible to extend the final QR code step\n public renderQRCode() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <QRLoader\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n type={this.constructor['type']}\n brandLogo={this.props.brandLogo || this.icon}\n delay={this.props.delay}\n onComplete={this.onComplete}\n countdownTime={this.props.countdownTime}\n instructions={this.props.instructions}\n onActionHandled={this.props.onActionHandled}\n brandName={this.displayName}\n onSubmitAnalytics={this.submitAnalytics}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n\n render() {\n if (this.props.paymentData) {\n return this.renderQRCode();\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 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 QRLoaderContainer;\n"],"names":["QRLoaderContainer","UIElement","static","qrCodeImage","amount","paymentData","onError","onComplete","onActionHandled","formatData","paymentMethod","type","this","state","data","isValid","renderQRCode","h","CoreProvider","i18n","props","loadingContext","resources","SRPanelProvider","srPanel","modules","QRLoader","ref","componentRef","constructor","brandLogo","icon","delay","countdownTime","instructions","brandName","displayName","onSubmitAnalytics","submitAnalytics","render","showPayButton","RedirectButton","name","onSubmit","submit","payButton"],"mappings":"wXAQA,MAAMA,UAAmFC,EAErFC,oBAAgC,CAC5BC,YAAa,GACbC,OAAQ,KACRC,YAAa,KACbC,QAAS,OACTC,WAAY,OACZC,gBAAiB,QAGrBC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKD,QACRC,KAAKC,MAAMC,MAG1B,CAEA,WAAIC,GACA,OAAO,CACX,CAGOC,YAAAA,GACH,OACIC,EAACC,EAAAA,CAAaC,KAAMP,KAAKQ,MAAMD,KAAME,eAAgBT,KAAKQ,MAAMC,eAAgBC,UAAWV,KAAKU,WAC5FL,EAACM,EAAAA,CAAgBC,QAASZ,KAAKQ,MAAMK,QAAQD,SACzCP,EAACS,EAAAA,CACGC,IAAKA,IACDf,KAAKgB,aAAeD,CAAAA,KAEpBf,KAAKQ,MACTT,KAAMC,KAAKiB,YAAmB,KAC9BC,UAAWlB,KAAKQ,MAAMU,WAAalB,KAAKmB,KACxCC,MAAOpB,KAAKQ,MAAMY,MAClBzB,WAAYK,KAAKL,WACjB0B,cAAerB,KAAKQ,MAAMa,cAC1BC,aAActB,KAAKQ,MAAMc,aACzB1B,gBAAiBI,KAAKQ,MAAMZ,gBAC5B2B,UAAWvB,KAAKwB,YAChBC,kBAAmBzB,KAAK0B,mBAK5C,CAEAC,MAAAA,GACI,OAAI3B,KAAKQ,MAAMf,YACJO,KAAKI,eAGZJ,KAAKQ,MAAMoB,cAEPvB,EAACC,EAAAA,CAAaC,KAAMP,KAAKQ,MAAMD,KAAME,eAAgBT,KAAKQ,MAAMC,eAAgBC,UAAWV,KAAKU,WAC5FL,EAACwB,EAAAA,CACGD,cAAe5B,KAAKQ,MAAMoB,cAC1BE,KAAM9B,KAAKwB,YACXO,SAAU/B,KAAKgC,OACfC,UAAWjC,KAAKiC,UAChBlB,IAAKA,IACDf,KAAKgB,aAAeD,CAAAA,KAOjC,IACX"}
1
+ {"version":3,"file":"QRLoaderContainer.js","sources":["../../../../../src/components/helpers/QRLoaderContainer/QRLoaderContainer.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../../internal/UIElement/UIElement';\nimport QRLoader from '../../internal/QRLoader';\nimport { CoreProvider } from '../../../core/Context/CoreProvider';\nimport RedirectButton from '../../internal/RedirectButton';\nimport SRPanelProvider from '../../../core/Errors/SRPanelProvider';\nimport { QRLoaderConfiguration } from './types';\n\nclass QRLoaderContainer<T extends QRLoaderConfiguration = QRLoaderConfiguration> extends UIElement<T> {\n // Using the generic here allow to fully extend the QRLoaderContainer (including it's props)\n protected static defaultProps = {\n qrCodeImage: '',\n amount: null,\n paymentData: null,\n onError: () => {},\n onComplete: () => {}\n };\n\n formatData() {\n return {\n paymentMethod: {\n type: this.type,\n ...this.state.data\n }\n };\n }\n\n get isValid() {\n return true;\n }\n\n // Makes possible to extend the final QR code step\n public renderQRCode() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <QRLoader\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n type={this.constructor['type']}\n brandLogo={this.props.brandLogo || this.icon}\n delay={this.props.delay}\n onComplete={this.onComplete}\n countdownTime={this.props.countdownTime}\n instructions={this.props.instructions}\n onActionHandled={this.onActionHandled}\n brandName={this.displayName}\n onSubmitAnalytics={this.submitAnalytics}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n\n render() {\n if (this.props.paymentData) {\n return this.renderQRCode();\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 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 QRLoaderContainer;\n"],"names":["QRLoaderContainer","UIElement","formatData","paymentMethod","type","this","state","data","isValid","renderQRCode","h","CoreProvider","i18n","props","loadingContext","resources","SRPanelProvider","srPanel","modules","QRLoader","ref","componentRef","constructor","brandLogo","icon","delay","onComplete","countdownTime","instructions","onActionHandled","brandName","displayName","onSubmitAnalytics","submitAnalytics","render","paymentData","showPayButton","RedirectButton","name","onSubmit","submit","payButton","qrCodeImage","amount","onError","defaultProps"],"mappings":"wXAQA,MAAMA,UAAmFC,EAUrFC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKD,QACRC,KAAKC,MAAMC,MAG1B,CAEA,WAAIC,GACA,OAAO,CACX,CAGOC,YAAAA,GACH,OACIC,EAACC,EAAAA,CAAaC,KAAMP,KAAKQ,MAAMD,KAAME,eAAgBT,KAAKQ,MAAMC,eAAgBC,UAAWV,KAAKU,WAC5FL,EAACM,EAAAA,CAAgBC,QAASZ,KAAKQ,MAAMK,QAAQD,SACzCP,EAACS,EAAAA,CACGC,IAAKA,IACDf,KAAKgB,aAAeD,CAAAA,KAEpBf,KAAKQ,MACTT,KAAMC,KAAKiB,YAAmB,KAC9BC,UAAWlB,KAAKQ,MAAMU,WAAalB,KAAKmB,KACxCC,MAAOpB,KAAKQ,MAAMY,MAClBC,WAAYrB,KAAKqB,WACjBC,cAAetB,KAAKQ,MAAMc,cAC1BC,aAAcvB,KAAKQ,MAAMe,aACzBC,gBAAiBxB,KAAKwB,gBACtBC,UAAWzB,KAAK0B,YAChBC,kBAAmB3B,KAAK4B,mBAK5C,CAEAC,MAAAA,GACI,OAAI7B,KAAKQ,MAAMsB,YACJ9B,KAAKI,eAGZJ,KAAKQ,MAAMuB,cAEP1B,EAACC,EAAAA,CAAaC,KAAMP,KAAKQ,MAAMD,KAAME,eAAgBT,KAAKQ,MAAMC,eAAgBC,UAAWV,KAAKU,WAC5FL,EAAC2B,EAAAA,CACGD,cAAe/B,KAAKQ,MAAMuB,cAC1BE,KAAMjC,KAAK0B,YACXQ,SAAUlC,KAAKmC,OACfC,UAAWpC,KAAKoC,UAChBrB,IAAKA,IACDf,KAAKgB,aAAeD,CAAAA,KAOjC,IACX,cApEgC,CAC5BsB,YAAa,GACbC,OAAQ,KACRR,YAAa,KACbS,QAAS,OACTlB,WAAY,WALCmB,oBAFf7C"}