@adyen/adyen-web 6.2.0 → 6.4.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 (282) hide show
  1. package/dist/cjs/adyen.css +3 -2
  2. package/dist/cjs/adyen.css.map +1 -1
  3. package/dist/cjs/index.cjs +2 -2
  4. package/dist/cjs/index.cjs.map +1 -1
  5. package/dist/cjs/index.d.cts +83 -12
  6. package/dist/es/adyen.css +3 -2
  7. package/dist/es/adyen.css.map +1 -1
  8. package/dist/es/components/ANCV/ANCV.js +1 -1
  9. package/dist/es/components/ANCV/ANCV.js.map +1 -1
  10. package/dist/es/components/Ach/Ach.js +1 -1
  11. package/dist/es/components/Ach/Ach.js.map +1 -1
  12. package/dist/es/components/Ach/components/AchInput/AchInput.js +1 -1
  13. package/dist/es/components/Ach/components/AchInput/AchInput.js.map +1 -1
  14. package/dist/es/components/BacsDD/BacsDD.js +1 -1
  15. package/dist/es/components/BacsDD/BacsDD.js.map +1 -1
  16. package/dist/es/components/BacsDD/components/BacsResult.js +1 -1
  17. package/dist/es/components/BacsDD/components/BacsResult.js.map +1 -1
  18. package/dist/es/components/BankTransfer/BankTransfer.js +1 -1
  19. package/dist/es/components/BankTransfer/BankTransfer.js.map +1 -1
  20. package/dist/es/components/BankTransfer/components/BankTransferResult/BankTransferResult.js +1 -1
  21. package/dist/es/components/BankTransfer/components/BankTransferResult/BankTransferResult.js.map +1 -1
  22. package/dist/es/components/Blik/Blik.js +1 -1
  23. package/dist/es/components/Blik/Blik.js.map +1 -1
  24. package/dist/es/components/Boleto/Boleto.js +1 -1
  25. package/dist/es/components/Boleto/Boleto.js.map +1 -1
  26. package/dist/es/components/Boleto/components/BoletoVoucherResult/BoletoVoucherResult.js +1 -1
  27. package/dist/es/components/Boleto/components/BoletoVoucherResult/BoletoVoucherResult.js.map +1 -1
  28. package/dist/es/components/Card/Card.js.map +1 -1
  29. package/dist/es/components/Card/components/ClickToPayHolder.js +1 -1
  30. package/dist/es/components/Card/components/ClickToPayHolder.js.map +1 -1
  31. package/dist/es/components/Doku/Doku.js +1 -1
  32. package/dist/es/components/Doku/Doku.js.map +1 -1
  33. package/dist/es/components/Doku/components/DokuVoucherResult/DokuVoucherResult.js +1 -1
  34. package/dist/es/components/Doku/components/DokuVoucherResult/DokuVoucherResult.js.map +1 -1
  35. package/dist/es/components/Dragonpay/Dragonpay.js +1 -1
  36. package/dist/es/components/Dragonpay/Dragonpay.js.map +1 -1
  37. package/dist/es/components/Dragonpay/components/DragonpayVoucherResult/DragonpayVoucherResult.js +1 -1
  38. package/dist/es/components/Dragonpay/components/DragonpayVoucherResult/DragonpayVoucherResult.js.map +1 -1
  39. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodBrands/PaymentMethodBrands.js +1 -1
  40. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodBrands/PaymentMethodBrands.js.map +1 -1
  41. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
  42. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
  43. package/dist/es/components/Econtext/Econtext.js +1 -1
  44. package/dist/es/components/Econtext/Econtext.js.map +1 -1
  45. package/dist/es/components/Econtext/components/EcontextVoucherResult/EcontextVoucherResult.js +1 -1
  46. package/dist/es/components/Econtext/components/EcontextVoucherResult/EcontextVoucherResult.js.map +1 -1
  47. package/dist/es/components/Klarna/KlarnaPayments.js +1 -1
  48. package/dist/es/components/Klarna/KlarnaPayments.js.map +1 -1
  49. package/dist/es/components/Klarna/components/KlarnaContainer/KlarnaContainer.js +1 -1
  50. package/dist/es/components/Klarna/components/KlarnaContainer/KlarnaContainer.js.map +1 -1
  51. package/dist/es/components/MBWay/MBWay.js +1 -1
  52. package/dist/es/components/MBWay/MBWay.js.map +1 -1
  53. package/dist/es/components/Multibanco/Multibanco.js +1 -1
  54. package/dist/es/components/Multibanco/Multibanco.js.map +1 -1
  55. package/dist/es/components/Multibanco/components/MultibancoVoucherResult/MultibancoVoucherResult.js +1 -1
  56. package/dist/es/components/Multibanco/components/MultibancoVoucherResult/MultibancoVoucherResult.js.map +1 -1
  57. package/dist/es/components/Oxxo/Oxxo.js +1 -1
  58. package/dist/es/components/Oxxo/Oxxo.js.map +1 -1
  59. package/dist/es/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.js +1 -1
  60. package/dist/es/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.js.map +1 -1
  61. package/dist/es/components/PayByBankUS/PayByBankUS.js +2 -0
  62. package/dist/es/components/PayByBankUS/PayByBankUS.js.map +1 -0
  63. package/dist/es/components/PayPal/Paypal.js +1 -1
  64. package/dist/es/components/PayPal/Paypal.js.map +1 -1
  65. package/dist/es/components/Redirect/Redirect.js +1 -1
  66. package/dist/es/components/Redirect/Redirect.js.map +1 -1
  67. package/dist/es/components/Redirect/components/RedirectShopper/RedirectShopper.js +1 -1
  68. package/dist/es/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
  69. package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js +1 -1
  70. package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
  71. package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js +1 -1
  72. package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  73. package/dist/es/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js +1 -1
  74. package/dist/es/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js.map +1 -1
  75. package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
  76. package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
  77. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js +1 -1
  78. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js.map +1 -1
  79. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
  80. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
  81. package/dist/es/components/UPI/UPI.js +1 -1
  82. package/dist/es/components/UPI/UPI.js.map +1 -1
  83. package/dist/es/components/components-name-map.js +1 -1
  84. package/dist/es/components/components-name-map.js.map +1 -1
  85. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  86. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  87. package/dist/es/components/index.js +1 -1
  88. package/dist/es/components/internal/Await/Await.js +1 -1
  89. package/dist/es/components/internal/Await/Await.js.map +1 -1
  90. package/dist/es/components/internal/BaseElement/BaseElement.js +1 -1
  91. package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
  92. package/dist/es/components/internal/Button/Button.js +1 -1
  93. package/dist/es/components/internal/Button/Button.js.map +1 -1
  94. package/dist/es/components/internal/ClickToPay/ClickToPayComponent.js +1 -1
  95. package/dist/es/components/internal/ClickToPay/ClickToPayComponent.js.map +1 -1
  96. package/dist/es/components/internal/ClickToPay/components/CtPCards/CtPCards.js +1 -1
  97. package/dist/es/components/internal/ClickToPay/components/CtPCards/CtPCards.js.map +1 -1
  98. package/dist/es/components/internal/ClickToPay/components/CtPLogin/CtPLogin.js +1 -1
  99. package/dist/es/components/internal/ClickToPay/components/CtPLogin/CtPLogin.js.map +1 -1
  100. package/dist/es/components/internal/ClickToPay/components/CtPLogin/CtPLoginInput.js +1 -1
  101. package/dist/es/components/internal/ClickToPay/components/CtPLogin/CtPLoginInput.js.map +1 -1
  102. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePassword.js +1 -1
  103. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePassword.js.map +1 -1
  104. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js +1 -1
  105. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js.map +1 -1
  106. package/dist/es/components/internal/ClickToPay/components/CtPSection/CtPSection.js +1 -1
  107. package/dist/es/components/internal/ClickToPay/components/CtPSection/CtPSection.js.map +1 -1
  108. package/dist/es/components/internal/ClickToPay/errors/TimeoutError.js +1 -1
  109. package/dist/es/components/internal/ClickToPay/errors/TimeoutError.js.map +1 -1
  110. package/dist/es/components/internal/ClickToPay/services/ClickToPayService.js +1 -1
  111. package/dist/es/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
  112. package/dist/es/components/internal/ClickToPay/services/execute-with-timeout.js +2 -0
  113. package/dist/es/components/internal/ClickToPay/services/execute-with-timeout.js.map +1 -0
  114. package/dist/es/components/internal/FormFields/InputBase.js.map +1 -1
  115. package/dist/es/components/internal/FormFields/RadioGroup/RadioGroup.js +1 -1
  116. package/dist/es/components/internal/FormFields/RadioGroup/RadioGroup.js.map +1 -1
  117. package/dist/es/components/internal/QRLoader/QRLoader.js.map +1 -1
  118. package/dist/es/components/internal/UIElement/UIElement.js +1 -1
  119. package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
  120. package/dist/es/components/internal/Voucher/Voucher.js +1 -1
  121. package/dist/es/components/internal/Voucher/Voucher.js.map +1 -1
  122. package/dist/es/components/internal/Voucher/utils.js +2 -0
  123. package/dist/es/components/internal/Voucher/utils.js.map +1 -0
  124. package/dist/es/components/tx-variants.js +1 -1
  125. package/dist/es/components/tx-variants.js.map +1 -1
  126. package/dist/es/core/Context/CoreProvider.js +1 -1
  127. package/dist/es/core/Context/CoreProvider.js.map +1 -1
  128. package/dist/es/core/Errors/CancelError.js +2 -0
  129. package/dist/es/core/Errors/CancelError.js.map +1 -0
  130. package/dist/es/core/Errors/SRPanel.js +1 -1
  131. package/dist/es/core/Errors/SRPanel.js.map +1 -1
  132. package/dist/es/core/ProcessResponse/PaymentAction/actionTypes.js +1 -1
  133. package/dist/es/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
  134. package/dist/es/core/ProcessResponse/PaymentMethods/filters.js +1 -1
  135. package/dist/es/core/ProcessResponse/PaymentMethods/filters.js.map +1 -1
  136. package/dist/es/core/Services/analytics/collect-id.js +1 -1
  137. package/dist/es/core/core.js +1 -1
  138. package/dist/es/index.d.ts +83 -12
  139. package/dist/es/index.js +1 -1
  140. package/dist/es/utils/get-process-message-handler.js +1 -1
  141. package/dist/es/utils/get-process-message-handler.js.map +1 -1
  142. package/dist/es/utils/listenerUtils.js +1 -1
  143. package/dist/es/utils/listenerUtils.js.map +1 -1
  144. package/dist/es-legacy/adyen.css +3 -2
  145. package/dist/es-legacy/adyen.css.map +1 -1
  146. package/dist/es-legacy/components/ANCV/ANCV.js +1 -1
  147. package/dist/es-legacy/components/ANCV/ANCV.js.map +1 -1
  148. package/dist/es-legacy/components/Ach/Ach.js +1 -1
  149. package/dist/es-legacy/components/Ach/Ach.js.map +1 -1
  150. package/dist/es-legacy/components/Ach/components/AchInput/AchInput.js +1 -1
  151. package/dist/es-legacy/components/Ach/components/AchInput/AchInput.js.map +1 -1
  152. package/dist/es-legacy/components/BacsDD/BacsDD.js +1 -1
  153. package/dist/es-legacy/components/BacsDD/BacsDD.js.map +1 -1
  154. package/dist/es-legacy/components/BacsDD/components/BacsResult.js +1 -1
  155. package/dist/es-legacy/components/BacsDD/components/BacsResult.js.map +1 -1
  156. package/dist/es-legacy/components/BankTransfer/BankTransfer.js +1 -1
  157. package/dist/es-legacy/components/BankTransfer/BankTransfer.js.map +1 -1
  158. package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferResult.js +1 -1
  159. package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferResult.js.map +1 -1
  160. package/dist/es-legacy/components/Blik/Blik.js +1 -1
  161. package/dist/es-legacy/components/Blik/Blik.js.map +1 -1
  162. package/dist/es-legacy/components/Boleto/Boleto.js +1 -1
  163. package/dist/es-legacy/components/Boleto/Boleto.js.map +1 -1
  164. package/dist/es-legacy/components/Boleto/components/BoletoVoucherResult/BoletoVoucherResult.js +1 -1
  165. package/dist/es-legacy/components/Boleto/components/BoletoVoucherResult/BoletoVoucherResult.js.map +1 -1
  166. package/dist/es-legacy/components/Card/Card.js.map +1 -1
  167. package/dist/es-legacy/components/Card/components/ClickToPayHolder.js +1 -1
  168. package/dist/es-legacy/components/Card/components/ClickToPayHolder.js.map +1 -1
  169. package/dist/es-legacy/components/Doku/Doku.js +1 -1
  170. package/dist/es-legacy/components/Doku/Doku.js.map +1 -1
  171. package/dist/es-legacy/components/Doku/components/DokuVoucherResult/DokuVoucherResult.js +1 -1
  172. package/dist/es-legacy/components/Doku/components/DokuVoucherResult/DokuVoucherResult.js.map +1 -1
  173. package/dist/es-legacy/components/Dragonpay/Dragonpay.js +1 -1
  174. package/dist/es-legacy/components/Dragonpay/Dragonpay.js.map +1 -1
  175. package/dist/es-legacy/components/Dragonpay/components/DragonpayVoucherResult/DragonpayVoucherResult.js +1 -1
  176. package/dist/es-legacy/components/Dragonpay/components/DragonpayVoucherResult/DragonpayVoucherResult.js.map +1 -1
  177. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodBrands/PaymentMethodBrands.js +1 -1
  178. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodBrands/PaymentMethodBrands.js.map +1 -1
  179. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
  180. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
  181. package/dist/es-legacy/components/Econtext/Econtext.js +1 -1
  182. package/dist/es-legacy/components/Econtext/Econtext.js.map +1 -1
  183. package/dist/es-legacy/components/Econtext/components/EcontextVoucherResult/EcontextVoucherResult.js +1 -1
  184. package/dist/es-legacy/components/Econtext/components/EcontextVoucherResult/EcontextVoucherResult.js.map +1 -1
  185. package/dist/es-legacy/components/Klarna/KlarnaPayments.js +1 -1
  186. package/dist/es-legacy/components/Klarna/KlarnaPayments.js.map +1 -1
  187. package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js +1 -1
  188. package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js.map +1 -1
  189. package/dist/es-legacy/components/MBWay/MBWay.js +1 -1
  190. package/dist/es-legacy/components/MBWay/MBWay.js.map +1 -1
  191. package/dist/es-legacy/components/Multibanco/Multibanco.js +1 -1
  192. package/dist/es-legacy/components/Multibanco/Multibanco.js.map +1 -1
  193. package/dist/es-legacy/components/Multibanco/components/MultibancoVoucherResult/MultibancoVoucherResult.js +1 -1
  194. package/dist/es-legacy/components/Multibanco/components/MultibancoVoucherResult/MultibancoVoucherResult.js.map +1 -1
  195. package/dist/es-legacy/components/Oxxo/Oxxo.js +1 -1
  196. package/dist/es-legacy/components/Oxxo/Oxxo.js.map +1 -1
  197. package/dist/es-legacy/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.js +1 -1
  198. package/dist/es-legacy/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.js.map +1 -1
  199. package/dist/es-legacy/components/PayByBankUS/PayByBankUS.js +2 -0
  200. package/dist/es-legacy/components/PayByBankUS/PayByBankUS.js.map +1 -0
  201. package/dist/es-legacy/components/PayPal/Paypal.js +1 -1
  202. package/dist/es-legacy/components/PayPal/Paypal.js.map +1 -1
  203. package/dist/es-legacy/components/Redirect/Redirect.js +1 -1
  204. package/dist/es-legacy/components/Redirect/Redirect.js.map +1 -1
  205. package/dist/es-legacy/components/Redirect/components/RedirectShopper/RedirectShopper.js +1 -1
  206. package/dist/es-legacy/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
  207. package/dist/es-legacy/components/ThreeDS2/ThreeDS2Challenge.js +1 -1
  208. package/dist/es-legacy/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
  209. package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js +1 -1
  210. package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  211. package/dist/es-legacy/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js +1 -1
  212. package/dist/es-legacy/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js.map +1 -1
  213. package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
  214. package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
  215. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js +1 -1
  216. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js.map +1 -1
  217. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
  218. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
  219. package/dist/es-legacy/components/UPI/UPI.js +1 -1
  220. package/dist/es-legacy/components/UPI/UPI.js.map +1 -1
  221. package/dist/es-legacy/components/components-name-map.js +1 -1
  222. package/dist/es-legacy/components/components-name-map.js.map +1 -1
  223. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  224. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  225. package/dist/es-legacy/components/index.js +1 -1
  226. package/dist/es-legacy/components/internal/Await/Await.js +1 -1
  227. package/dist/es-legacy/components/internal/Await/Await.js.map +1 -1
  228. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js +1 -1
  229. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
  230. package/dist/es-legacy/components/internal/Button/Button.js +1 -1
  231. package/dist/es-legacy/components/internal/Button/Button.js.map +1 -1
  232. package/dist/es-legacy/components/internal/ClickToPay/ClickToPayComponent.js +1 -1
  233. package/dist/es-legacy/components/internal/ClickToPay/ClickToPayComponent.js.map +1 -1
  234. package/dist/es-legacy/components/internal/ClickToPay/components/CtPCards/CtPCards.js +1 -1
  235. package/dist/es-legacy/components/internal/ClickToPay/components/CtPCards/CtPCards.js.map +1 -1
  236. package/dist/es-legacy/components/internal/ClickToPay/components/CtPLogin/CtPLogin.js +1 -1
  237. package/dist/es-legacy/components/internal/ClickToPay/components/CtPLogin/CtPLogin.js.map +1 -1
  238. package/dist/es-legacy/components/internal/ClickToPay/components/CtPLogin/CtPLoginInput.js +1 -1
  239. package/dist/es-legacy/components/internal/ClickToPay/components/CtPLogin/CtPLoginInput.js.map +1 -1
  240. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePassword.js +1 -1
  241. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePassword.js.map +1 -1
  242. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js +1 -1
  243. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js.map +1 -1
  244. package/dist/es-legacy/components/internal/ClickToPay/components/CtPSection/CtPSection.js +1 -1
  245. package/dist/es-legacy/components/internal/ClickToPay/components/CtPSection/CtPSection.js.map +1 -1
  246. package/dist/es-legacy/components/internal/ClickToPay/errors/TimeoutError.js +1 -1
  247. package/dist/es-legacy/components/internal/ClickToPay/errors/TimeoutError.js.map +1 -1
  248. package/dist/es-legacy/components/internal/ClickToPay/services/ClickToPayService.js +1 -1
  249. package/dist/es-legacy/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
  250. package/dist/es-legacy/components/internal/ClickToPay/services/execute-with-timeout.js +2 -0
  251. package/dist/es-legacy/components/internal/ClickToPay/services/execute-with-timeout.js.map +1 -0
  252. package/dist/es-legacy/components/internal/FormFields/InputBase.js.map +1 -1
  253. package/dist/es-legacy/components/internal/FormFields/RadioGroup/RadioGroup.js +1 -1
  254. package/dist/es-legacy/components/internal/FormFields/RadioGroup/RadioGroup.js.map +1 -1
  255. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js.map +1 -1
  256. package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
  257. package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
  258. package/dist/es-legacy/components/internal/Voucher/Voucher.js +1 -1
  259. package/dist/es-legacy/components/internal/Voucher/Voucher.js.map +1 -1
  260. package/dist/es-legacy/components/internal/Voucher/utils.js +2 -0
  261. package/dist/es-legacy/components/internal/Voucher/utils.js.map +1 -0
  262. package/dist/es-legacy/components/tx-variants.js +1 -1
  263. package/dist/es-legacy/components/tx-variants.js.map +1 -1
  264. package/dist/es-legacy/core/Context/CoreProvider.js +1 -1
  265. package/dist/es-legacy/core/Context/CoreProvider.js.map +1 -1
  266. package/dist/es-legacy/core/Errors/CancelError.js +2 -0
  267. package/dist/es-legacy/core/Errors/CancelError.js.map +1 -0
  268. package/dist/es-legacy/core/Errors/SRPanel.js +1 -1
  269. package/dist/es-legacy/core/Errors/SRPanel.js.map +1 -1
  270. package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js +1 -1
  271. package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
  272. package/dist/es-legacy/core/ProcessResponse/PaymentMethods/filters.js +1 -1
  273. package/dist/es-legacy/core/ProcessResponse/PaymentMethods/filters.js.map +1 -1
  274. package/dist/es-legacy/core/Services/analytics/collect-id.js +1 -1
  275. package/dist/es-legacy/core/core.js +1 -1
  276. package/dist/es-legacy/index.js +1 -1
  277. package/dist/es-legacy/utils/get-process-message-handler.js +1 -1
  278. package/dist/es-legacy/utils/get-process-message-handler.js.map +1 -1
  279. package/dist/es-legacy/utils/listenerUtils.js +1 -1
  280. package/dist/es-legacy/utils/listenerUtils.js.map +1 -1
  281. package/package.json +9 -9
  282. package/styles/adyen.css +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"MBWay.js","sources":["../../../../src/components/MBWay/MBWay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MBWayInput from './components/MBWayInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport config from './components/MBWayAwait/config';\nimport Await from '../../components/internal/Await';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport { TxVariants } from '../tx-variants';\nimport { AwaitConfiguration } from '../internal/Await/types';\n\nexport class MBWayElement extends UIElement<AwaitConfiguration> {\n public static type = TxVariants.mbway;\n\n formatProps(props) {\n const { data = {}, placeholders = {} } = props;\n\n return {\n ...props,\n data: {\n phoneNumber: data.telephoneNumber || data.phoneNumber,\n phonePrefix: data.phonePrefix || '+351' // if not specified default to Portuguese country code\n },\n placeholders: {\n phoneNumber: placeholders.telephoneNumber || placeholders.phoneNumber\n }\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): object {\n return {\n paymentMethod: {\n type: MBWayElement.type,\n ...(this.state.data?.phoneNumber && { telephoneNumber: this.state.data.phonePrefix + this.state.data.phoneNumber })\n }\n };\n }\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n get displayName(): string {\n return this.props.name;\n }\n\n render() {\n if (this.props.paymentData) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <Await\n ref={ref => {\n this.componentRef = ref;\n }}\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.props.onError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n type={config.type}\n messageText={this.props.i18n.get(config.messageTextId)}\n awaitText={this.props.i18n.get(config.awaitTextId)}\n showCountdownTimer={config.showCountdownTimer}\n delay={config.STATUS_INTERVAL}\n countdownTime={config.COUNTDOWN_MINUTES}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.props.onActionHandled}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <MBWayInput\n /* @ts-ignore ref handled internally by Component */\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default MBWayElement;\n"],"names":["MBWayElement","UIElement","static","TxVariants","mbway","formatProps","props","data","placeholders","phoneNumber","telephoneNumber","phonePrefix","formatData","paymentMethod","type","this","state","isValid","displayName","name","render","paymentData","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","Await","ref","componentRef","clientKey","onError","onComplete","brandLogo","icon","config","messageText","get","messageTextId","awaitText","awaitTextId","showCountdownTimer","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","MBWayInput","onChange","setState","onSubmit","submit","payButton"],"mappings":"ybAUO,MAAMA,UAAqBC,EAC9BC,YAAqBC,EAAWC,MAEhCC,WAAAA,CAAYC,GACR,MAAMC,KAAEA,EAAO,CAAE,EAAAC,aAAEA,EAAe,CAAE,GAAKF,EAEzC,MAAO,IACAA,EACHC,KAAM,CACFE,YAAaF,EAAKG,iBAAmBH,EAAKE,YAC1CE,YAAaJ,EAAKI,aAAe,QAErCH,aAAc,CACVC,YAAaD,EAAaE,iBAAmBF,EAAaC,aAGtE,CAKAG,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMd,EAAac,QACfC,KAAKC,MAAMT,MAAME,aAAe,CAAEC,gBAAiBK,KAAKC,MAAMT,KAAKI,YAAcI,KAAKC,MAAMT,KAAKE,cAGjH,CAEA,WAAIQ,GACA,QAASF,KAAKC,MAAMC,OACxB,CAEA,eAAIC,GACA,OAAOH,KAAKT,MAAMa,IACtB,CAEAC,MAAAA,GACI,OAAIL,KAAKT,MAAMe,YAEPC,EAACC,EAAAA,CAAaC,KAAMT,KAAKT,MAAMkB,KAAMC,eAAgBV,KAAKT,MAAMmB,eAAgBC,UAAWX,KAAKW,WAC5FJ,EAACK,EAAAA,CAAgBC,QAASb,KAAKT,MAAMuB,QAAQD,SACzCN,EAACQ,EAAAA,CACGC,IAAKA,IACDhB,KAAKiB,aAAeD,CAAAA,EAExBE,UAAWlB,KAAKT,MAAM2B,UACtBZ,YAAaN,KAAKT,MAAMe,YACxBa,QAASnB,KAAKT,MAAM4B,QACpBC,WAAYpB,KAAKoB,WACjBC,UAAWrB,KAAKsB,KAChBvB,KAAMwB,EAAOxB,KACbyB,YAAaxB,KAAKT,MAAMkB,KAAKgB,IAAIF,EAAOG,eACxCC,UAAW3B,KAAKT,MAAMkB,KAAKgB,IAAIF,EAAOK,aACtCC,mBAAoBN,EAAOM,mBAC3BC,MAAOP,EAAOQ,gBACdC,cAAeT,EAAOU,kBACtBC,aAAcX,EAAOY,cACrBC,iBAAkBb,EAAOc,kBACzBC,gBAAiBtC,KAAKT,MAAM+C,oBAQ5C/B,EAACC,EAAAA,CAAaC,KAAMT,KAAKT,MAAMkB,KAAMC,eAAgBV,KAAKT,MAAMmB,eAAgBC,UAAWX,KAAKW,WAC5FJ,EAACgC,EAAAA,CAEGvB,IAAKA,IACDhB,KAAKiB,aAAeD,CAAAA,KAEpBhB,KAAKT,MACTiD,SAAUxC,KAAKyC,SACfC,SAAU1C,KAAK2C,OACfC,UAAW5C,KAAK4C,YAIhC"}
1
+ {"version":3,"file":"MBWay.js","sources":["../../../../src/components/MBWay/MBWay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MBWayInput from './components/MBWayInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport config from './components/MBWayAwait/config';\nimport Await from '../../components/internal/Await';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport { TxVariants } from '../tx-variants';\nimport { AwaitConfiguration } from '../internal/Await/types';\n\nexport class MBWayElement extends UIElement<AwaitConfiguration> {\n public static type = TxVariants.mbway;\n\n formatProps(props) {\n const { data = {}, placeholders = {} } = props;\n\n return {\n ...props,\n data: {\n phoneNumber: data.telephoneNumber || data.phoneNumber,\n phonePrefix: data.phonePrefix || '+351' // if not specified default to Portuguese country code\n },\n placeholders: {\n phoneNumber: placeholders.telephoneNumber || placeholders.phoneNumber\n }\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): object {\n return {\n paymentMethod: {\n type: MBWayElement.type,\n ...(this.state.data?.phoneNumber && { telephoneNumber: this.state.data.phonePrefix + this.state.data.phoneNumber })\n }\n };\n }\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n get displayName(): string {\n return this.props.name;\n }\n\n render() {\n if (this.props.paymentData) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <Await\n ref={ref => {\n this.componentRef = ref;\n }}\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.props.onError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n type={config.type}\n messageText={this.props.i18n.get(config.messageTextId)}\n awaitText={this.props.i18n.get(config.awaitTextId)}\n showCountdownTimer={config.showCountdownTimer}\n delay={config.STATUS_INTERVAL}\n countdownTime={config.COUNTDOWN_MINUTES}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <MBWayInput\n /* @ts-ignore ref handled internally by Component */\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default MBWayElement;\n"],"names":["MBWayElement","UIElement","static","TxVariants","mbway","formatProps","props","data","placeholders","phoneNumber","telephoneNumber","phonePrefix","formatData","paymentMethod","type","this","state","isValid","displayName","name","render","paymentData","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","Await","ref","componentRef","clientKey","onError","onComplete","brandLogo","icon","config","messageText","get","messageTextId","awaitText","awaitTextId","showCountdownTimer","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","MBWayInput","onChange","setState","onSubmit","submit","payButton"],"mappings":"ybAUO,MAAMA,UAAqBC,EAC9BC,YAAqBC,EAAWC,MAEhCC,WAAAA,CAAYC,GACR,MAAMC,KAAEA,EAAO,CAAE,EAAAC,aAAEA,EAAe,CAAE,GAAKF,EAEzC,MAAO,IACAA,EACHC,KAAM,CACFE,YAAaF,EAAKG,iBAAmBH,EAAKE,YAC1CE,YAAaJ,EAAKI,aAAe,QAErCH,aAAc,CACVC,YAAaD,EAAaE,iBAAmBF,EAAaC,aAGtE,CAKAG,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMd,EAAac,QACfC,KAAKC,MAAMT,MAAME,aAAe,CAAEC,gBAAiBK,KAAKC,MAAMT,KAAKI,YAAcI,KAAKC,MAAMT,KAAKE,cAGjH,CAEA,WAAIQ,GACA,QAASF,KAAKC,MAAMC,OACxB,CAEA,eAAIC,GACA,OAAOH,KAAKT,MAAMa,IACtB,CAEAC,MAAAA,GACI,OAAIL,KAAKT,MAAMe,YAEPC,EAACC,EAAAA,CAAaC,KAAMT,KAAKT,MAAMkB,KAAMC,eAAgBV,KAAKT,MAAMmB,eAAgBC,UAAWX,KAAKW,WAC5FJ,EAACK,EAAAA,CAAgBC,QAASb,KAAKT,MAAMuB,QAAQD,SACzCN,EAACQ,EAAAA,CACGC,IAAKA,IACDhB,KAAKiB,aAAeD,CAAAA,EAExBE,UAAWlB,KAAKT,MAAM2B,UACtBZ,YAAaN,KAAKT,MAAMe,YACxBa,QAASnB,KAAKT,MAAM4B,QACpBC,WAAYpB,KAAKoB,WACjBC,UAAWrB,KAAKsB,KAChBvB,KAAMwB,EAAOxB,KACbyB,YAAaxB,KAAKT,MAAMkB,KAAKgB,IAAIF,EAAOG,eACxCC,UAAW3B,KAAKT,MAAMkB,KAAKgB,IAAIF,EAAOK,aACtCC,mBAAoBN,EAAOM,mBAC3BC,MAAOP,EAAOQ,gBACdC,cAAeT,EAAOU,kBACtBC,aAAcX,EAAOY,cACrBC,iBAAkBb,EAAOc,kBACzBC,gBAAiBtC,KAAKsC,oBAQtC/B,EAACC,EAAAA,CAAaC,KAAMT,KAAKT,MAAMkB,KAAMC,eAAgBV,KAAKT,MAAMmB,eAAgBC,UAAWX,KAAKW,WAC5FJ,EAACgC,EAAAA,CAEGvB,IAAKA,IACDhB,KAAKiB,aAAeD,CAAAA,KAEpBhB,KAAKT,MACTiD,SAAUxC,KAAKyC,SACfC,SAAU1C,KAAK2C,OACfC,UAAW5C,KAAK4C,YAIhC"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./components/MultibancoVoucherResult/MultibancoVoucherResult.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import s from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as n}from"../tx-variants.js";class i extends e{static type=n.multibanco;get isValid(){return!0}formatProps(t){return{...t,name:t.name||"Multibanco"}}formatData(){return{paymentMethod:{type:this.props.type||i.type}}}handleRef=t=>{this.componentRef=t};render(){return this.props.reference?t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(o,{ref:this.handleRef,...this.props})):this.props.showPayButton?t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(s,{showPayButton:this.props.showPayButton,name:this.displayName,amount:this.props.amount,payButton:this.payButton,onSubmit:this.submit,ref:t=>{this.componentRef=t}})):null}}export{i as MultibancoElement,i as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./components/MultibancoVoucherResult/MultibancoVoucherResult.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import n from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as s}from"../tx-variants.js";class i extends e{static type=s.multibanco;get isValid(){return!0}formatProps(t){return{...t,name:t.name||"Multibanco"}}formatData(){return{paymentMethod:{type:this.props.type||i.type}}}handleRef=t=>{this.componentRef=t};render(){return this.props.reference?t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(o,{ref:this.handleRef,...this.props,onActionHandled:this.onActionHandled})):this.props.showPayButton?t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(n,{showPayButton:this.props.showPayButton,name:this.displayName,amount:this.props.amount,payButton:this.payButton,onSubmit:this.submit,ref:t=>{this.componentRef=t}})):null}}export{i as MultibancoElement,i as default};
2
2
  //# sourceMappingURL=Multibanco.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Multibanco.js","sources":["../../../../src/components/Multibanco/Multibanco.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MultibancoVoucherResult from './components/MultibancoVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class MultibancoElement extends UIElement<VoucherConfiguration> {\n public static type = TxVariants.multibanco;\n\n get isValid() {\n return true;\n }\n\n formatProps(props) {\n return {\n ...props,\n name: props.name || 'Multibanco'\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n paymentMethod: {\n type: this.props.type || MultibancoElement.type\n }\n };\n }\n\n private handleRef = ref => {\n this.componentRef = ref;\n };\n\n render() {\n if (this.props.reference) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <MultibancoVoucherResult ref={this.handleRef} {...this.props} />\n </CoreProvider>\n );\n }\n\n if (this.props.showPayButton) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n amount={this.props.amount}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n </CoreProvider>\n );\n }\n\n return null;\n }\n}\n\nexport default MultibancoElement;\n"],"names":["MultibancoElement","UIElement","static","TxVariants","multibanco","isValid","formatProps","props","name","formatData","paymentMethod","type","this","handleRef","ref","componentRef","render","reference","h","CoreProvider","i18n","loadingContext","resources","MultibancoVoucherResult","showPayButton","RedirectButton","displayName","amount","payButton","onSubmit","submit"],"mappings":"gYAQO,MAAMA,UAA0BC,EACnCC,YAAqBC,EAAWC,WAEhC,WAAIC,GACA,OAAO,CACX,CAEAC,WAAAA,CAAYC,GACR,MAAO,IACAA,EACHC,KAAMD,EAAMC,MAAQ,aAE5B,CAKAC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKL,MAAMI,MAAQX,EAAkBW,MAGvD,CAEQE,UAAYC,IAChBF,KAAKG,aAAeD,CAAAA,EAGxBE,MAAAA,GACI,OAAIJ,KAAKL,MAAMU,UAEPC,EAACC,EAAAA,CAAaC,KAAMR,KAAKL,MAAMa,KAAMC,eAAgBT,KAAKL,MAAMc,eAAgBC,UAAWV,KAAKU,WAC5FJ,EAACK,EAAAA,CAAwBT,IAAKF,KAAKC,aAAeD,KAAKL,SAK/DK,KAAKL,MAAMiB,cAEPN,EAACC,EAAAA,CAAaC,KAAMR,KAAKL,MAAMa,KAAMC,eAAgBT,KAAKL,MAAMc,eAAgBC,UAAWV,KAAKU,WAC5FJ,EAACO,EAAAA,CACGD,cAAeZ,KAAKL,MAAMiB,cAC1BhB,KAAMI,KAAKc,YACXC,OAAQf,KAAKL,MAAMoB,OACnBC,UAAWhB,KAAKgB,UAChBC,SAAUjB,KAAKkB,OACfhB,IAAKA,IACDF,KAAKG,aAAeD,CAAAA,KAOjC,IACX"}
1
+ {"version":3,"file":"Multibanco.js","sources":["../../../../src/components/Multibanco/Multibanco.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MultibancoVoucherResult from './components/MultibancoVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class MultibancoElement extends UIElement<VoucherConfiguration> {\n public static type = TxVariants.multibanco;\n\n get isValid() {\n return true;\n }\n\n formatProps(props) {\n return {\n ...props,\n name: props.name || 'Multibanco'\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n paymentMethod: {\n type: this.props.type || MultibancoElement.type\n }\n };\n }\n\n private handleRef = ref => {\n this.componentRef = ref;\n };\n\n render() {\n if (this.props.reference) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <MultibancoVoucherResult ref={this.handleRef} {...this.props} onActionHandled={this.onActionHandled} />\n </CoreProvider>\n );\n }\n\n if (this.props.showPayButton) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n amount={this.props.amount}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n </CoreProvider>\n );\n }\n\n return null;\n }\n}\n\nexport default MultibancoElement;\n"],"names":["MultibancoElement","UIElement","static","TxVariants","multibanco","isValid","formatProps","props","name","formatData","paymentMethod","type","this","handleRef","ref","componentRef","render","reference","h","CoreProvider","i18n","loadingContext","resources","MultibancoVoucherResult","onActionHandled","showPayButton","RedirectButton","displayName","amount","payButton","onSubmit","submit"],"mappings":"gYAQO,MAAMA,UAA0BC,EACnCC,YAAqBC,EAAWC,WAEhC,WAAIC,GACA,OAAO,CACX,CAEAC,WAAAA,CAAYC,GACR,MAAO,IACAA,EACHC,KAAMD,EAAMC,MAAQ,aAE5B,CAKAC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKL,MAAMI,MAAQX,EAAkBW,MAGvD,CAEQE,UAAYC,IAChBF,KAAKG,aAAeD,CAAAA,EAGxBE,MAAAA,GACI,OAAIJ,KAAKL,MAAMU,UAEPC,EAACC,EAAAA,CAAaC,KAAMR,KAAKL,MAAMa,KAAMC,eAAgBT,KAAKL,MAAMc,eAAgBC,UAAWV,KAAKU,WAC5FJ,EAACK,EAAAA,CAAwBT,IAAKF,KAAKC,aAAeD,KAAKL,MAAOiB,gBAAiBZ,KAAKY,mBAK5FZ,KAAKL,MAAMkB,cAEPP,EAACC,EAAAA,CAAaC,KAAMR,KAAKL,MAAMa,KAAMC,eAAgBT,KAAKL,MAAMc,eAAgBC,UAAWV,KAAKU,WAC5FJ,EAACQ,EAAAA,CACGD,cAAeb,KAAKL,MAAMkB,cAC1BjB,KAAMI,KAAKe,YACXC,OAAQhB,KAAKL,MAAMqB,OACnBC,UAAWjB,KAAKiB,UAChBC,SAAUlB,KAAKmB,OACfjB,IAAKA,IACDF,KAAKG,aAAeD,CAAAA,KAOjC,IACX"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../../external/preact/dist/preact.js";import t from"../../../internal/Voucher/Voucher.js";import{useCoreContext as r}from"../../../../core/Context/CoreProvider.js";import o from"../../../../core/Context/useImage.js";const n=n=>{const{i18n:a}=r(),c=o(),{entity:l,reference:u,expiresAt:i,merchantReference:m,totalAmount:p,paymentMethodType:d,downloadUrl:s}=n,h=[...l?[{label:a.get("voucher.entity"),value:l}]:[],...i?[{label:a.get("voucher.expirationDate"),value:a.date(i)}]:[],...m?[{label:a.get("voucher.shopperReference"),value:m}]:[]];return e(t,{amount:p&&a.amount(p.value,p.currency),barcode:null,copyBtn:!0,downloadUrl:s,imageUrl:c()(d),introduction:a.get("voucher.introduction"),paymentMethodType:"multibanco",reference:u,voucherDetails:h})};export{n as default};
1
+ import{createElement as e}from"../../../../external/preact/dist/preact.js";import r from"../../../internal/Voucher/Voucher.js";import{useCoreContext as t}from"../../../../core/Context/CoreProvider.js";import o from"../../../../core/Context/useImage.js";import{extractCommonPropsForVoucher as n}from"../../../internal/Voucher/utils.js";const a=a=>{const{i18n:l}=t(),c=o(),{entity:i,expiresAt:u,merchantReference:s,downloadUrl:p}=a,m=[...i?[{label:l.get("voucher.entity"),value:i}]:[],...u?[{label:l.get("voucher.expirationDate"),value:l.date(u)}]:[],...s?[{label:l.get("voucher.shopperReference"),value:s}]:[]];return e(r,{...n({props:a,i18n:l,introKey:"voucher.introduction",getImage:c()}),barcode:null,copyBtn:!0,downloadUrl:p,voucherDetails:m})};export{a as default};
2
2
  //# sourceMappingURL=MultibancoVoucherResult.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultibancoVoucherResult.js","sources":["../../../../../../src/components/Multibanco/components/MultibancoVoucherResult/MultibancoVoucherResult.tsx"],"sourcesContent":["import { h } from 'preact';\nimport Voucher from '../../../internal/Voucher';\n\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { MultibancoVoucherResultProps } from '../../types';\nimport { VoucherDetail } from '../../../internal/Voucher/types';\nimport useImage from '../../../../core/Context/useImage';\n\nconst MultibancoVoucherResult = (props: MultibancoVoucherResultProps) => {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n const { entity, reference, expiresAt, merchantReference, totalAmount, paymentMethodType, downloadUrl } = props;\n\n const voucherDetails: VoucherDetail[] = [\n ...(entity ? [{ label: i18n.get('voucher.entity'), value: entity }] : []),\n ...(expiresAt ? [{ label: i18n.get('voucher.expirationDate'), value: i18n.date(expiresAt) }] : []),\n ...(merchantReference ? [{ label: i18n.get('voucher.shopperReference'), value: merchantReference }] : [])\n ];\n\n return (\n <Voucher\n amount={totalAmount && i18n.amount(totalAmount.value, totalAmount.currency)}\n barcode={null}\n copyBtn\n downloadUrl={downloadUrl}\n imageUrl={getImage()(paymentMethodType)}\n introduction={i18n.get('voucher.introduction')}\n paymentMethodType={'multibanco'}\n reference={reference}\n voucherDetails={voucherDetails}\n />\n );\n};\n\nexport default MultibancoVoucherResult;\n"],"names":["MultibancoVoucherResult","props","i18n","useCoreContext","getImage","useImage","entity","reference","expiresAt","merchantReference","totalAmount","paymentMethodType","downloadUrl","voucherDetails","label","get","value","date","h","Voucher","amount","currency","barcode","copyBtn","imageUrl","introduction"],"mappings":"6PAQA,MAAMA,EAA2BC,IAC7B,MAAMC,KAAEA,GAASC,IACXC,EAAWC,KACXC,OAAEA,EAAMC,UAAEA,EAASC,UAAEA,EAASC,kBAAEA,EAAiBC,YAAEA,EAAWC,kBAAEA,EAAiBC,YAAEA,GAAgBX,EAEnGY,EAAkC,IAChCP,EAAS,CAAC,CAAEQ,MAAOZ,EAAKa,IAAI,kBAAmBC,MAAOV,IAAY,MAClEE,EAAY,CAAC,CAAEM,MAAOZ,EAAKa,IAAI,0BAA2BC,MAAOd,EAAKe,KAAKT,KAAgB,MAC3FC,EAAoB,CAAC,CAAEK,MAAOZ,EAAKa,IAAI,4BAA6BC,MAAOP,IAAuB,IAG1G,OACIS,EAACC,EAAAA,CACGC,OAAQV,GAAeR,EAAKkB,OAAOV,EAAYM,MAAON,EAAYW,UAClEC,QAAS,KACTC,SAAAA,EACAX,YAAaA,EACbY,SAAUpB,IAAWO,GACrBc,aAAcvB,EAAKa,IAAI,wBACvBJ,kBAAmB,aACnBJ,UAAWA,EACXM,eAAgBA"}
1
+ {"version":3,"file":"MultibancoVoucherResult.js","sources":["../../../../../../src/components/Multibanco/components/MultibancoVoucherResult/MultibancoVoucherResult.tsx"],"sourcesContent":["import { h } from 'preact';\nimport Voucher from '../../../internal/Voucher';\n\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { MultibancoVoucherResultProps } from '../../types';\nimport { VoucherDetail } from '../../../internal/Voucher/types';\nimport useImage from '../../../../core/Context/useImage';\nimport { extractCommonPropsForVoucher } from '../../../internal/Voucher/utils';\n\nconst MultibancoVoucherResult = (props: MultibancoVoucherResultProps) => {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n const { entity, expiresAt, merchantReference, downloadUrl } = props;\n\n const voucherDetails: VoucherDetail[] = [\n ...(entity ? [{ label: i18n.get('voucher.entity'), value: entity }] : []),\n ...(expiresAt ? [{ label: i18n.get('voucher.expirationDate'), value: i18n.date(expiresAt) }] : []),\n ...(merchantReference ? [{ label: i18n.get('voucher.shopperReference'), value: merchantReference }] : [])\n ];\n\n return (\n <Voucher\n {...extractCommonPropsForVoucher({ props, i18n, introKey: 'voucher.introduction', getImage: getImage() })}\n barcode={null}\n copyBtn\n downloadUrl={downloadUrl}\n voucherDetails={voucherDetails}\n />\n );\n};\n\nexport default MultibancoVoucherResult;\n"],"names":["MultibancoVoucherResult","props","i18n","useCoreContext","getImage","useImage","entity","expiresAt","merchantReference","downloadUrl","voucherDetails","label","get","value","date","h","Voucher","extractCommonPropsForVoucher","introKey","barcode","copyBtn"],"mappings":"+UASA,MAAMA,EAA2BC,IAC7B,MAAMC,KAAEA,GAASC,IACXC,EAAWC,KACXC,OAAEA,EAAMC,UAAEA,EAASC,kBAAEA,EAAiBC,YAAEA,GAAgBR,EAExDS,EAAkC,IAChCJ,EAAS,CAAC,CAAEK,MAAOT,EAAKU,IAAI,kBAAmBC,MAAOP,IAAY,MAClEC,EAAY,CAAC,CAAEI,MAAOT,EAAKU,IAAI,0BAA2BC,MAAOX,EAAKY,KAAKP,KAAgB,MAC3FC,EAAoB,CAAC,CAAEG,MAAOT,EAAKU,IAAI,4BAA6BC,MAAOL,IAAuB,IAG1G,OACIO,EAACC,EAAAA,IACOC,EAA6B,CAAEhB,QAAOC,OAAMgB,SAAU,uBAAwBd,SAAUA,MAC5Fe,QAAS,KACTC,SAAAA,EACAX,YAAaA,EACbC,eAAgBA"}
@@ -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/OxxoVoucherResult/OxxoVoucherResult.js";import{CoreProvider as s}from"../../core/Context/CoreProvider.js";import{TxVariants as r}from"../tx-variants.js";class i extends e{static type=r.oxxo;static defaultProps={name:"Oxxo"};get isValid(){return!0}formatData(){return{paymentMethod:{type:this.props.type||i.type}}}handleRef=t=>{this.componentRef=t};render(){return t(s,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.reference?t(o,{ref:this.handleRef,...this.props}):this.props.showPayButton&&this.payButton({...this.props,classNameModifiers:["standalone"],label:`${this.props.i18n.get("continueTo")} ${this.props.name}`,onClick:this.submit}))}}export{i as OxxoElement,i as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./components/OxxoVoucherResult/OxxoVoucherResult.js";import{CoreProvider as s}from"../../core/Context/CoreProvider.js";import{TxVariants as r}from"../tx-variants.js";class n extends e{static type=r.oxxo;static defaultProps={name:"Oxxo"};get isValid(){return!0}formatData(){return{paymentMethod:{type:this.props.type||n.type}}}handleRef=t=>{this.componentRef=t};render(){return t(s,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.reference?t(o,{ref:this.handleRef,...this.props,onActionHandled:this.onActionHandled}):this.props.showPayButton&&this.payButton({...this.props,classNameModifiers:["standalone"],label:`${this.props.i18n.get("continueTo")} ${this.props.name}`,onClick:this.submit}))}}export{n as OxxoElement,n as default};
2
2
  //# sourceMappingURL=Oxxo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Oxxo.js","sources":["../../../../src/components/Oxxo/Oxxo.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport OxxoVoucherResult from './components/OxxoVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class OxxoElement extends UIElement<VoucherConfiguration> {\n public static type = TxVariants.oxxo;\n\n protected static defaultProps = {\n name: 'Oxxo'\n };\n\n get isValid(): boolean {\n return true;\n }\n\n formatData() {\n return {\n paymentMethod: {\n type: this.props.type || OxxoElement.type\n }\n };\n }\n\n private handleRef = ref => {\n this.componentRef = ref;\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.reference ? (\n <OxxoVoucherResult ref={this.handleRef} {...this.props} />\n ) : (\n this.props.showPayButton &&\n this.payButton({\n ...this.props,\n classNameModifiers: ['standalone'],\n label: `${this.props.i18n.get('continueTo')} ${this.props.name}`,\n onClick: this.submit\n })\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default OxxoElement;\n"],"names":["OxxoElement","UIElement","static","TxVariants","oxxo","name","isValid","formatData","paymentMethod","type","this","props","handleRef","ref","componentRef","render","h","CoreProvider","i18n","loadingContext","resources","reference","OxxoVoucherResult","showPayButton","payButton","classNameModifiers","label","get","onClick","submit"],"mappings":"wTAOO,MAAMA,UAAoBC,EAC7BC,YAAqBC,EAAWC,KAEhCF,oBAAgC,CAC5BG,KAAM,QAGV,WAAIC,GACA,OAAO,CACX,CAEAC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKC,MAAMF,MAAQT,EAAYS,MAGjD,CAEQG,UAAYC,IAChBH,KAAKI,aAAeD,CAAAA,EAGxBE,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMR,KAAKC,MAAMO,KAAMC,eAAgBT,KAAKC,MAAMQ,eAAgBC,UAAWV,KAAKU,WAC3FV,KAAKC,MAAMU,UACRL,EAACM,EAAAA,CAAkBT,IAAKH,KAAKE,aAAeF,KAAKC,QAEjDD,KAAKC,MAAMY,eACXb,KAAKc,UAAU,IACRd,KAAKC,MACRc,mBAAoB,CAAC,cACrBC,MAAO,GAAGhB,KAAKC,MAAMO,KAAKS,IAAI,iBAAiBjB,KAAKC,MAAMN,OAC1DuB,QAASlB,KAAKmB,SAKlC"}
1
+ {"version":3,"file":"Oxxo.js","sources":["../../../../src/components/Oxxo/Oxxo.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport OxxoVoucherResult from './components/OxxoVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class OxxoElement extends UIElement<VoucherConfiguration> {\n public static type = TxVariants.oxxo;\n\n protected static defaultProps = {\n name: 'Oxxo'\n };\n\n get isValid(): boolean {\n return true;\n }\n\n formatData() {\n return {\n paymentMethod: {\n type: this.props.type || OxxoElement.type\n }\n };\n }\n\n private handleRef = ref => {\n this.componentRef = ref;\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.reference ? (\n <OxxoVoucherResult ref={this.handleRef} {...this.props} onActionHandled={this.onActionHandled} />\n ) : (\n this.props.showPayButton &&\n this.payButton({\n ...this.props,\n classNameModifiers: ['standalone'],\n label: `${this.props.i18n.get('continueTo')} ${this.props.name}`,\n onClick: this.submit\n })\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default OxxoElement;\n"],"names":["OxxoElement","UIElement","static","TxVariants","oxxo","name","isValid","formatData","paymentMethod","type","this","props","handleRef","ref","componentRef","render","h","CoreProvider","i18n","loadingContext","resources","reference","OxxoVoucherResult","onActionHandled","showPayButton","payButton","classNameModifiers","label","get","onClick","submit"],"mappings":"wTAOO,MAAMA,UAAoBC,EAC7BC,YAAqBC,EAAWC,KAEhCF,oBAAgC,CAC5BG,KAAM,QAGV,WAAIC,GACA,OAAO,CACX,CAEAC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKC,MAAMF,MAAQT,EAAYS,MAGjD,CAEQG,UAAYC,IAChBH,KAAKI,aAAeD,CAAAA,EAGxBE,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMR,KAAKC,MAAMO,KAAMC,eAAgBT,KAAKC,MAAMQ,eAAgBC,UAAWV,KAAKU,WAC3FV,KAAKC,MAAMU,UACRL,EAACM,EAAAA,CAAkBT,IAAKH,KAAKE,aAAeF,KAAKC,MAAOY,gBAAiBb,KAAKa,kBAE9Eb,KAAKC,MAAMa,eACXd,KAAKe,UAAU,IACRf,KAAKC,MACRe,mBAAoB,CAAC,cACrBC,MAAO,GAAGjB,KAAKC,MAAMO,KAAKU,IAAI,iBAAiBlB,KAAKC,MAAMN,OAC1DwB,QAASnB,KAAKoB,SAKlC"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../../external/preact/dist/preact.js";import r from"../../../internal/Voucher/Voucher.js";import{useCoreContext as t}from"../../../../core/Context/CoreProvider.js";import o from"../../../../core/Context/useImage.js";const a=a=>{const{i18n:n,loadingContext:c}=t(),l=o(),{alternativeReference:i,reference:u,expiresAt:p,merchantReference:d,totalAmount:m,paymentMethodType:s,downloadUrl:f}=a,h=`${c}barcode.shtml?data=${u}&barcodeType=BT_Code128C&fileType=png`,v=[...p?[{label:n.get("voucher.expirationDate"),value:n.date(p)}]:[],...d?[{label:n.get("voucher.shopperReference"),value:d}]:[],...i?[{label:n.get("voucher.alternativeReference"),value:i}]:[]];return e(r,{amount:m&&n.amount(m.value,m.currency),barcode:h,copyBtn:!0,downloadUrl:f,imageUrl:l()(s),introduction:n.get("voucher.introduction"),paymentMethodType:"oxxo",reference:u,voucherDetails:v})};export{a as default};
1
+ import{createElement as e}from"../../../../external/preact/dist/preact.js";import r from"../../../internal/Voucher/Voucher.js";import{useCoreContext as t}from"../../../../core/Context/CoreProvider.js";import o from"../../../../core/Context/useImage.js";import{extractCommonPropsForVoucher as a}from"../../../internal/Voucher/utils.js";const n=n=>{const{i18n:c,loadingContext:l}=t(),i=o(),{alternativeReference:p,reference:s,expiresAt:u,merchantReference:d,downloadUrl:m}=n,f=`${l}barcode.shtml?data=${s}&barcodeType=BT_Code128C&fileType=png`,h=[...u?[{label:c.get("voucher.expirationDate"),value:c.date(u)}]:[],...d?[{label:c.get("voucher.shopperReference"),value:d}]:[],...p?[{label:c.get("voucher.alternativeReference"),value:p}]:[]];return e(r,{...a({props:n,i18n:c,introKey:"voucher.introduction",getImage:i()}),barcode:f,copyBtn:!0,downloadUrl:m,voucherDetails:h})};export{n as default};
2
2
  //# sourceMappingURL=OxxoVoucherResult.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OxxoVoucherResult.js","sources":["../../../../../../src/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.tsx"],"sourcesContent":["import { h } from 'preact';\nimport Voucher from '../../../../components/internal/Voucher';\nimport { VoucherDetail } from '../../../internal/Voucher/types';\n\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { OxxoVoucherResultProps } from '../../types';\nimport './OxxoVoucherResult.scss';\nimport useImage from '../../../../core/Context/useImage';\n\nconst OxxoVoucherResult = (props: OxxoVoucherResultProps) => {\n const { i18n, loadingContext } = useCoreContext();\n const getImage = useImage();\n const { alternativeReference, reference, expiresAt, merchantReference, totalAmount, paymentMethodType, downloadUrl } = props;\n\n const barcodeUrl = `${loadingContext}barcode.shtml?data=${reference}&barcodeType=BT_Code128C&fileType=png`;\n const voucherDetails: VoucherDetail[] = [\n ...(expiresAt\n ? [\n {\n label: i18n.get('voucher.expirationDate'),\n value: i18n.date(expiresAt)\n }\n ]\n : []),\n ...(merchantReference\n ? [\n {\n label: i18n.get('voucher.shopperReference'),\n value: merchantReference\n }\n ]\n : []),\n ...(alternativeReference\n ? [\n {\n label: i18n.get('voucher.alternativeReference'),\n value: alternativeReference\n }\n ]\n : [])\n ];\n\n return (\n <Voucher\n amount={totalAmount && i18n.amount(totalAmount.value, totalAmount.currency)}\n barcode={barcodeUrl}\n copyBtn\n downloadUrl={downloadUrl}\n imageUrl={getImage()(paymentMethodType)}\n introduction={i18n.get('voucher.introduction')}\n paymentMethodType={'oxxo'}\n reference={reference}\n voucherDetails={voucherDetails}\n />\n );\n};\n\nexport default OxxoVoucherResult;\n"],"names":["OxxoVoucherResult","props","i18n","loadingContext","useCoreContext","getImage","useImage","alternativeReference","reference","expiresAt","merchantReference","totalAmount","paymentMethodType","downloadUrl","barcodeUrl","voucherDetails","label","get","value","date","h","Voucher","amount","currency","barcode","copyBtn","imageUrl","introduction"],"mappings":"6PASA,MAAMA,EAAqBC,IACvB,MAAMC,KAAEA,EAAIC,eAAEA,GAAmBC,IAC3BC,EAAWC,KACXC,qBAAEA,EAAoBC,UAAEA,EAASC,UAAEA,EAASC,kBAAEA,EAAiBC,YAAEA,EAAWC,kBAAEA,EAAiBC,YAAEA,GAAgBZ,EAEjHa,EAAa,GAAGX,uBAAoCK,yCACpDO,EAAkC,IAChCN,EACE,CACI,CACIO,MAAOd,EAAKe,IAAI,0BAChBC,MAAOhB,EAAKiB,KAAKV,KAGzB,MACFC,EACE,CACI,CACIM,MAAOd,EAAKe,IAAI,4BAChBC,MAAOR,IAGf,MACFH,EACE,CACI,CACIS,MAAOd,EAAKe,IAAI,gCAChBC,MAAOX,IAGf,IAGV,OACIa,EAACC,EAAAA,CACGC,OAAQX,GAAeT,EAAKoB,OAAOX,EAAYO,MAAOP,EAAYY,UAClEC,QAASV,EACTW,SAAAA,EACAZ,YAAaA,EACba,SAAUrB,IAAWO,GACrBe,aAAczB,EAAKe,IAAI,wBACvBL,kBAAmB,OACnBJ,UAAWA,EACXO,eAAgBA"}
1
+ {"version":3,"file":"OxxoVoucherResult.js","sources":["../../../../../../src/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.tsx"],"sourcesContent":["import { h } from 'preact';\nimport Voucher from '../../../../components/internal/Voucher';\nimport { VoucherDetail } from '../../../internal/Voucher/types';\n\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { OxxoVoucherResultProps } from '../../types';\nimport './OxxoVoucherResult.scss';\nimport useImage from '../../../../core/Context/useImage';\nimport { extractCommonPropsForVoucher } from '../../../internal/Voucher/utils';\n\nconst OxxoVoucherResult = (props: OxxoVoucherResultProps) => {\n const { i18n, loadingContext } = useCoreContext();\n const getImage = useImage();\n const { alternativeReference, reference, expiresAt, merchantReference, downloadUrl } = props;\n\n const barcodeUrl = `${loadingContext}barcode.shtml?data=${reference}&barcodeType=BT_Code128C&fileType=png`;\n const voucherDetails: VoucherDetail[] = [\n ...(expiresAt\n ? [\n {\n label: i18n.get('voucher.expirationDate'),\n value: i18n.date(expiresAt)\n }\n ]\n : []),\n ...(merchantReference\n ? [\n {\n label: i18n.get('voucher.shopperReference'),\n value: merchantReference\n }\n ]\n : []),\n ...(alternativeReference\n ? [\n {\n label: i18n.get('voucher.alternativeReference'),\n value: alternativeReference\n }\n ]\n : [])\n ];\n\n return (\n <Voucher\n {...extractCommonPropsForVoucher({ props, i18n, introKey: 'voucher.introduction', getImage: getImage() })}\n barcode={barcodeUrl}\n copyBtn\n downloadUrl={downloadUrl}\n voucherDetails={voucherDetails}\n />\n );\n};\n\nexport default OxxoVoucherResult;\n"],"names":["OxxoVoucherResult","props","i18n","loadingContext","useCoreContext","getImage","useImage","alternativeReference","reference","expiresAt","merchantReference","downloadUrl","barcodeUrl","voucherDetails","label","get","value","date","h","Voucher","extractCommonPropsForVoucher","introKey","barcode","copyBtn"],"mappings":"+UAUA,MAAMA,EAAqBC,IACvB,MAAMC,KAAEA,EAAIC,eAAEA,GAAmBC,IAC3BC,EAAWC,KACXC,qBAAEA,EAAoBC,UAAEA,EAASC,UAAEA,EAASC,kBAAEA,EAAiBC,YAAEA,GAAgBV,EAEjFW,EAAa,GAAGT,uBAAoCK,yCACpDK,EAAkC,IAChCJ,EACE,CACI,CACIK,MAAOZ,EAAKa,IAAI,0BAChBC,MAAOd,EAAKe,KAAKR,KAGzB,MACFC,EACE,CACI,CACII,MAAOZ,EAAKa,IAAI,4BAChBC,MAAON,IAGf,MACFH,EACE,CACI,CACIO,MAAOZ,EAAKa,IAAI,gCAChBC,MAAOT,IAGf,IAGV,OACIW,EAACC,EAAAA,IACOC,EAA6B,CAAEnB,QAAOC,OAAMmB,SAAU,uBAAwBhB,SAAUA,MAC5FiB,QAASV,EACTW,SAAAA,EACAZ,YAAaA,EACbE,eAAgBA"}
@@ -0,0 +1,2 @@
1
+ import{createElement as t,Fragment as e}from"../../external/preact/dist/preact.js";import{CoreProvider as s}from"../../core/Context/CoreProvider.js";import o from"../Redirect/Redirect.js";import r from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as a}from"../tx-variants.js";import i from"../../utils/get-issuer-image.js";import n from"../internal/PayButton/PayButton.js";import{payAmountLabel as p}from"../internal/PayButton/utils.js";class m extends o{static type=a.paybybank_AIS_DD;formatProps(t){return{keepBrandsVisible:!0,showOtherInsteafOfNumber:!0,...t}}formatData(){return{paymentMethod:{type:this.type,...this.props.storedPaymentMethodId&&{storedPaymentMethodId:this.props.storedPaymentMethodId}},browserInfo:this.browserInfo}}get displayName(){return this.props.storedPaymentMethodId&&this.props.label?this.props.label:this.props.name}get additionalInfo(){return this.props.storedPaymentMethodId?this.props.name:""}get brands(){const t=i({},"paybybank",(t=>this.resources.getImage(t)));return[{icon:t("US-1"),name:"Wells Fargo"},{icon:t("US-2"),name:"Bank of America"},{icon:t("US-3"),name:"Chase"},{icon:t("US-4"),name:"Citi"}]}render(){return t(s,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.storedPaymentMethodId?this.props.showPayButton&&t(n,{...this.props,classNameModifiers:["standalone"],amount:this.props.amount,label:p(this.props.i18n,this.props.amount),onClick:this.submit}):t(e,null,t("div",{className:"adyen-checkout-paybybank_AIS_DD"},t("p",{className:"adyen-checkout-paybybank_AIS_DD__description-header"},this.props.i18n.get("payByBankAISDD.disclaimer.header")),t("p",{className:"adyen-checkout-paybybank_AIS_DD__description-body"},this.props.i18n.get("payByBankAISDD.disclaimer.body"))),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{m as default};
2
+ //# sourceMappingURL=PayByBankUS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PayByBankUS.js","sources":["../../../../src/components/PayByBankUS/PayByBankUS.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectElement from '../Redirect';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport './PayByBankUS.scss';\nimport getIssuerImageUrl from '../../utils/get-issuer-image';\nimport PayButton, { payAmountLabel } from '../internal/PayButton';\n\nexport default class PayByBankUS extends RedirectElement {\n public static type = TxVariants.paybybank_AIS_DD;\n\n protected formatProps(props) {\n return {\n // paymentMethodBrands configuration\n keepBrandsVisible: true,\n showOtherInsteafOfNumber: true,\n ...props\n };\n }\n\n public formatData() {\n return {\n paymentMethod: {\n type: this.type,\n ...(this.props.storedPaymentMethodId && {\n storedPaymentMethodId: this.props.storedPaymentMethodId\n })\n },\n browserInfo: this.browserInfo\n };\n }\n\n get displayName() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.label;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n return this.props.storedPaymentMethodId ? this.props.name : '';\n }\n\n /*\n Hardcode US brands \n */\n get brands(): { icon: string; name: string }[] {\n const getImage = props => this.resources.getImage(props);\n // paybybank_AIS_DD / tx_variant not used here since images are kept in paybybank subfolder\n const getIssuerIcon = getIssuerImageUrl({}, 'paybybank', getImage);\n\n // hardcoding\n return [\n { icon: getIssuerIcon('US-1'), name: 'Wells Fargo' },\n { icon: getIssuerIcon('US-2'), name: 'Bank of America' },\n { icon: getIssuerIcon('US-3'), name: 'Chase' },\n { icon: getIssuerIcon('US-4'), name: 'Citi' }\n ];\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.storedPaymentMethodId ? (\n this.props.showPayButton && (\n <PayButton\n {...this.props}\n classNameModifiers={['standalone']}\n amount={this.props.amount}\n label={payAmountLabel(this.props.i18n, this.props.amount)}\n onClick={this.submit}\n />\n )\n ) : (\n <Fragment>\n <div className=\"adyen-checkout-paybybank_AIS_DD\">\n <p className=\"adyen-checkout-paybybank_AIS_DD__description-header\">\n {this.props.i18n.get('payByBankAISDD.disclaimer.header')}\n </p>\n <p className=\"adyen-checkout-paybybank_AIS_DD__description-body\">\n {this.props.i18n.get('payByBankAISDD.disclaimer.body')}\n </p>\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 </Fragment>\n )}\n </CoreProvider>\n );\n }\n}\n"],"names":["PayByBankUS","RedirectElement","static","TxVariants","paybybank_AIS_DD","formatProps","props","keepBrandsVisible","showOtherInsteafOfNumber","formatData","paymentMethod","type","this","storedPaymentMethodId","browserInfo","displayName","label","name","additionalInfo","brands","getIssuerIcon","getIssuerImageUrl","resources","getImage","icon","render","h","CoreProvider","i18n","loadingContext","showPayButton","PayButton","classNameModifiers","amount","payAmountLabel","onClick","submit","Fragment","div","className","p","get","RedirectButton","onSubmit","payButton","ref","componentRef"],"mappings":"wcASe,MAAMA,UAAoBC,EACrCC,YAAqBC,EAAWC,iBAEtBC,WAAAA,CAAYC,GAClB,MAAO,CAEHC,mBAAmB,EACnBC,0BAA0B,KACvBF,EAEX,CAEOG,UAAAA,GACH,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKD,QACPC,KAAKN,MAAMO,uBAAyB,CACpCA,sBAAuBD,KAAKN,MAAMO,wBAG1CC,YAAaF,KAAKE,YAE1B,CAEA,eAAIC,GACA,OAAIH,KAAKN,MAAMO,uBAAyBD,KAAKN,MAAMU,MACxCJ,KAAKN,MAAMU,MAEfJ,KAAKN,MAAMW,IACtB,CAEA,kBAAIC,GACA,OAAON,KAAKN,MAAMO,sBAAwBD,KAAKN,MAAMW,KAAO,EAChE,CAKA,UAAIE,GACA,MAEMC,EAAgBC,EAAkB,CAAC,EAAG,aAF3Bf,GAASM,KAAKU,UAAUC,SAASjB,KAKlD,MAAO,CACH,CAAEkB,KAAMJ,EAAc,QAASH,KAAM,eACrC,CAAEO,KAAMJ,EAAc,QAASH,KAAM,mBACrC,CAAEO,KAAMJ,EAAc,QAASH,KAAM,SACrC,CAAEO,KAAMJ,EAAc,QAASH,KAAM,QAE7C,CAEAQ,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMhB,KAAKN,MAAMsB,KAAMC,eAAgBjB,KAAKN,MAAMuB,eAAgBP,UAAWV,KAAKU,WAC3FV,KAAKN,MAAMO,sBACRD,KAAKN,MAAMwB,eACPJ,EAACK,EAAAA,IACOnB,KAAKN,MACT0B,mBAAoB,CAAC,cACrBC,OAAQrB,KAAKN,MAAM2B,OACnBjB,MAAOkB,EAAetB,KAAKN,MAAMsB,KAAMhB,KAAKN,MAAM2B,QAClDE,QAASvB,KAAKwB,SAItBV,EAACW,OACGX,EAACY,MAAAA,CAAIC,UAAU,mCACXb,EAACc,IAAAA,CAAED,UAAU,uDACR3B,KAAKN,MAAMsB,KAAKa,IAAI,qCAEzBf,EAACc,IAAAA,CAAED,UAAU,qDACR3B,KAAKN,MAAMsB,KAAKa,IAAI,oCAI5B7B,KAAKN,MAAMwB,eACRJ,EAACgB,EAAAA,IACO9B,KAAKN,MACTwB,cAAelB,KAAKN,MAAMwB,cAC1Bb,KAAML,KAAKG,YACX4B,SAAU/B,KAAKwB,OACfQ,UAAWhC,KAAKgC,UAChBC,IAAKA,IACDjC,KAAKkC,aAAeD,CAAAA,KAQpD"}
@@ -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 n from"./components/PaypalComponent.js";import i from"./defaultProps.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import s from"../../core/Errors/AdyenCheckoutError.js";import{ERRORS as a}from"./constants.js";import{TxVariants as o}from"../tx-variants.js";import{formatPaypalOrderContactToAdyenFormat as h}from"./utils/format-paypal-order-contact-to-adyen-format.js";class p extends e{static type=o.paypal;static subtype="sdk";paymentData=null;resolve=null;reject=null;static defaultProps=i;constructor(t,e){super(t,e),this.handleSubmit=this.handleSubmit.bind(this),this.handleOnShippingAddressChange=this.handleOnShippingAddressChange.bind(this),this.handleOnShippingOptionsChange=this.handleOnShippingOptionsChange.bind(this)}formatProps(t){const e=t.configuration?.merchantId,n=t.configuration?.intent,i=0===t.amount?.value?"tokenize":t.intent||n,r="tokenize"===i||t.vault,s="continue"===t.userAction;return{...t,commit:!s&&t.commit,vault:r,configuration:{intent:i,merchantId:e}}}submitAnalytics(t){super.submitAnalytics({...t},this.props)}submit=()=>{this.handleError(new s("IMPLEMENTATION_ERROR",a.SUBMIT_NOT_SUPPORTED))};updatePaymentData(t){t||console.warn("PayPal - Updating payment data with an invalid value"),this.paymentData=t}formatData(){const{isExpress:t,userAction:e}=this.props;return{paymentMethod:{type:p.type,userAction:e,subtype:t?"express":p.subtype}}}handleAction=t=>this.updateWithAction(t);updateWithAction=t=>{if(t.paymentMethodType!==this.type)throw new Error("Invalid Action");return t.paymentData&&(this.paymentData=t.paymentData),t.sdkData&&t.sdkData.token?this.handleResolve(t.sdkData.token):this.handleReject(a.NO_TOKEN_PROVIDED),null};get isValid(){return!0}handleOnApprove=(t,e)=>{const{onAuthorized:n}=this.props,i={data:{details:t,paymentData:this.paymentData}};if(n)return e.order.get().then((t=>{const e=h(t?.payer),i=h(t?.purchase_units?.[0].shipping,!0);return this.setState({authorizedEvent:t,...e&&{billingAddress:e},...i&&{deliveryAddress:i}}),new Promise(((r,s)=>n({authorizedEvent:t,...e&&{billingAddress:e},...i&&{deliveryAddress:i}},{resolve:r,reject:s})))})).then((()=>this.handleAdditionalDetails(i))).catch((t=>this.handleError(new s("ERROR","Something went wrong while parsing PayPal Order",{cause:t}))));this.handleAdditionalDetails(i)};handleResolve(t){if(!this.resolve)return this.handleError(new s("ERROR",a.WRONG_INSTANCE));this.resolve(t)}handleReject(t){if(!this.reject)return this.handleError(new s("ERROR",a.WRONG_INSTANCE));this.reject(new Error(t))}handleSubmit(){return super.submit(),new Promise(((t,e)=>{this.resolve=t,this.reject=e}))}handleOnShippingAddressChange(t,e){return this.props.onShippingAddressChange(t,e,this)}handleOnShippingOptionsChange(t,e){return this.props.onShippingOptionsChange(t,e,this)}render(){if(!this.props.showPayButton)return null;const{onShippingAddressChange:e,onShippingOptionsChange:i,...a}=this.props;return t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(n,{ref:t=>{this.componentRef=t},...a,...e&&{onShippingAddressChange:this.handleOnShippingAddressChange},...i&&{onShippingOptionsChange:this.handleOnShippingOptionsChange},onCancel:()=>this.handleError(new s("CANCEL")),onChange:this.setState,onApprove:this.handleOnApprove,onError:t=>{this.handleError(new s("ERROR",t.toString(),{cause:t}))},onScriptLoadFailure:t=>this.handleError(t),onSubmit:this.handleSubmit}))}}export{p as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import n from"./components/PaypalComponent.js";import i from"./defaultProps.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import s from"../../core/Errors/AdyenCheckoutError.js";import{ERRORS as a}from"./constants.js";import{TxVariants as o}from"../tx-variants.js";import{formatPaypalOrderContactToAdyenFormat as h}from"./utils/format-paypal-order-contact-to-adyen-format.js";class p extends e{static type=o.paypal;static subtype="sdk";paymentData=null;resolve=null;reject=null;static defaultProps=i;constructor(t,e){super(t,e),this.handleSubmit=this.handleSubmit.bind(this),this.handleOnShippingAddressChange=this.handleOnShippingAddressChange.bind(this),this.handleOnShippingOptionsChange=this.handleOnShippingOptionsChange.bind(this)}formatProps(t){const e=t.configuration?.merchantId,n=t.configuration?.intent,i=0===t.amount?.value?"tokenize":t.intent||n,r="tokenize"===i||t.vault,s="continue"===t.userAction;return{...t,commit:!s&&t.commit,vault:r,configuration:{intent:i,merchantId:e}}}submitAnalytics(t){super.submitAnalytics({...t},this.props)}submit=()=>{this.handleError(new s("IMPLEMENTATION_ERROR",a.SUBMIT_NOT_SUPPORTED))};updatePaymentData(t){t||console.warn("PayPal - Updating payment data with an invalid value"),this.paymentData=t}formatData(){const{isExpress:t,userAction:e}=this.props;return{paymentMethod:{type:p.type,userAction:e,subtype:t?"express":p.subtype}}}handleAction=t=>this.updateWithAction(t);updateWithAction=t=>{if(t.paymentMethodType!==this.type)throw new Error("Invalid Action");return t.paymentData&&(this.paymentData=t.paymentData),t.sdkData&&t.sdkData.token?(this.onActionHandled({componentType:this.type,actionDescription:"sdk-loaded",originalAction:t}),this.handleResolve(t.sdkData.token)):this.handleReject(a.NO_TOKEN_PROVIDED),null};get isValid(){return!0}handleOnApprove=(t,e)=>{const{onAuthorized:n}=this.props,i={data:{details:t,paymentData:this.paymentData}};if(n)return e.order.get().then((t=>{const e=h(t?.payer),i=h(t?.purchase_units?.[0].shipping,!0);return this.setState({authorizedEvent:t,...e&&{billingAddress:e},...i&&{deliveryAddress:i}}),new Promise(((r,s)=>n({authorizedEvent:t,...e&&{billingAddress:e},...i&&{deliveryAddress:i}},{resolve:r,reject:s})))})).then((()=>this.handleAdditionalDetails(i))).catch((t=>this.handleError(new s("ERROR","Something went wrong while parsing PayPal Order",{cause:t}))));this.handleAdditionalDetails(i)};handleResolve(t){if(!this.resolve)return this.handleError(new s("ERROR",a.WRONG_INSTANCE));this.resolve(t)}handleReject(t){if(!this.reject)return this.handleError(new s("ERROR",a.WRONG_INSTANCE));this.reject(new Error(t))}handleSubmit(){return super.submit(),new Promise(((t,e)=>{this.resolve=t,this.reject=e}))}handleOnShippingAddressChange(t,e){return this.props.onShippingAddressChange(t,e,this)}handleOnShippingOptionsChange(t,e){return this.props.onShippingOptionsChange(t,e,this)}render(){if(!this.props.showPayButton)return null;const{onShippingAddressChange:e,onShippingOptionsChange:i,...a}=this.props;return t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(n,{ref:t=>{this.componentRef=t},...a,...e&&{onShippingAddressChange:this.handleOnShippingAddressChange},...i&&{onShippingOptionsChange:this.handleOnShippingOptionsChange},onCancel:()=>this.handleError(new s("CANCEL")),onChange:this.setState,onApprove:this.handleOnApprove,onError:t=>{this.handleError(new s("ERROR",t.toString(),{cause:t}))},onScriptLoadFailure:t=>this.handleError(t),onSubmit:this.handleSubmit}))}}export{p as default};
2
2
  //# sourceMappingURL=Paypal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Paypal.js","sources":["../../../../src/components/PayPal/Paypal.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport PaypalComponent from './components/PaypalComponent';\nimport defaultProps from './defaultProps';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { ERRORS } from './constants';\nimport { TxVariants } from '../tx-variants';\nimport { formatPaypalOrderContactToAdyenFormat } from './utils/format-paypal-order-contact-to-adyen-format';\n\nimport type { ICore } from '../../core/types';\nimport type { PaymentAction } from '../../types/global-types';\nimport type { Intent, PayPalConfiguration } from './types';\n\nimport './Paypal.scss';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\n\nclass PaypalElement extends UIElement<PayPalConfiguration> {\n public static type = TxVariants.paypal;\n public static subtype = 'sdk';\n\n public paymentData: string = null;\n\n private resolve = null;\n private reject = null;\n\n protected static defaultProps = defaultProps;\n\n constructor(checkout: ICore, props?: PayPalConfiguration) {\n super(checkout, props);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.handleOnShippingAddressChange = this.handleOnShippingAddressChange.bind(this);\n this.handleOnShippingOptionsChange = this.handleOnShippingOptionsChange.bind(this);\n }\n\n formatProps(props: PayPalConfiguration): PayPalConfiguration {\n const merchantId = props.configuration?.merchantId;\n const intentFromConfig = props.configuration?.intent;\n const isZeroAuth = props.amount?.value === 0;\n const intent: Intent = isZeroAuth ? 'tokenize' : props.intent || intentFromConfig;\n const vault = intent === 'tokenize' || props.vault;\n\n const displayContinueToReviewPageButton = props.userAction === 'continue';\n\n return {\n ...props,\n commit: displayContinueToReviewPageButton ? false : props.commit,\n vault,\n configuration: {\n intent,\n merchantId\n }\n };\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n super.submitAnalytics({ ...analyticsObj }, this.props);\n }\n\n public submit = () => {\n this.handleError(new AdyenCheckoutError('IMPLEMENTATION_ERROR', ERRORS.SUBMIT_NOT_SUPPORTED));\n };\n\n /**\n * Updates the paymentData value. It must be used in the PayPal Express flow, when patching the amount\n * @param paymentData - Payment data value\n */\n public updatePaymentData(paymentData: string): void {\n if (!paymentData) console.warn('PayPal - Updating payment data with an invalid value');\n this.paymentData = paymentData;\n }\n\n /**\n * Formats the component data output\n */\n protected formatData() {\n const { isExpress, userAction } = this.props;\n\n return {\n paymentMethod: {\n type: PaypalElement.type,\n userAction,\n subtype: isExpress ? 'express' : PaypalElement.subtype\n }\n };\n }\n\n public handleAction = (action: PaymentAction) => {\n return this.updateWithAction(action);\n };\n\n public updateWithAction = (action: PaymentAction) => {\n if (action.paymentMethodType !== this.type) throw new Error('Invalid Action');\n\n if (action.paymentData) {\n this.paymentData = action.paymentData;\n }\n\n if (action.sdkData && action.sdkData.token) {\n this.handleResolve(action.sdkData.token);\n } else {\n this.handleReject(ERRORS.NO_TOKEN_PROVIDED);\n }\n\n return null;\n };\n\n /**\n * Dropin Validation\n *\n * @remarks\n * Paypal does not require any specific Dropin validation\n */\n get isValid() {\n return true;\n }\n\n private handleOnApprove = (data: any, actions: any): Promise<void> | void => {\n const { onAuthorized } = this.props;\n const state = { data: { details: data, paymentData: this.paymentData } };\n\n if (!onAuthorized) {\n this.handleAdditionalDetails(state);\n return;\n }\n\n return actions.order\n .get()\n .then((paypalOrder: any) => {\n const billingAddress = formatPaypalOrderContactToAdyenFormat(paypalOrder?.payer);\n const deliveryAddress = formatPaypalOrderContactToAdyenFormat(paypalOrder?.purchase_units?.[0].shipping, true);\n\n this.setState({\n authorizedEvent: paypalOrder,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n return new Promise<void>((resolve, reject) =>\n onAuthorized(\n {\n authorizedEvent: paypalOrder,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n )\n );\n })\n .then(() => this.handleAdditionalDetails(state))\n .catch(error => this.handleError(new AdyenCheckoutError('ERROR', 'Something went wrong while parsing PayPal Order', { cause: error })));\n };\n\n handleResolve(token: string) {\n if (!this.resolve) return this.handleError(new AdyenCheckoutError('ERROR', ERRORS.WRONG_INSTANCE));\n this.resolve(token);\n }\n\n handleReject(errorMessage: string) {\n if (!this.reject) return this.handleError(new AdyenCheckoutError('ERROR', ERRORS.WRONG_INSTANCE));\n this.reject(new Error(errorMessage));\n }\n\n private handleSubmit(): Promise<void> {\n super.submit();\n\n return new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n\n /**\n * If the merchant provides the 'onShippingAddressChange' callback, then this method is used as a wrapper to it, in order\n * to expose to the merchant the 'component' instance. The merchant needs the 'component' in order to manipulate the\n * paymentData\n *\n * @param data - PayPal data\n * @param actions - PayPal actions.\n */\n private handleOnShippingAddressChange(data: any, actions: any): Promise<void> {\n return this.props.onShippingAddressChange(data, actions, this);\n }\n\n /**\n * If the merchant provides the 'onShippingOptionsChange' callback, then this method is used as a wrapper to it, in order\n * to expose to the merchant the 'component' instance. The merchant needs the 'component' in order to manipulate the\n * paymentData\n *\n * @param data - PayPal data\n * @param actions - PayPal actions.\n */\n private handleOnShippingOptionsChange(data: any, actions: any): Promise<void> {\n return this.props.onShippingOptionsChange(data, actions, this);\n }\n\n render() {\n if (!this.props.showPayButton) return null;\n\n const { onShippingAddressChange, onShippingOptionsChange, ...rest } = this.props;\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <PaypalComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n {...rest}\n {...(onShippingAddressChange && { onShippingAddressChange: this.handleOnShippingAddressChange })}\n {...(onShippingOptionsChange && { onShippingOptionsChange: this.handleOnShippingOptionsChange })}\n onCancel={() => this.handleError(new AdyenCheckoutError('CANCEL'))}\n onChange={this.setState}\n onApprove={this.handleOnApprove}\n onError={error => {\n this.handleError(new AdyenCheckoutError('ERROR', error.toString(), { cause: error }));\n }}\n onScriptLoadFailure={error => this.handleError(error)}\n onSubmit={this.handleSubmit}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default PaypalElement;\n"],"names":["PaypalElement","UIElement","static","TxVariants","paypal","paymentData","resolve","reject","defaultProps","constructor","checkout","props","super","this","handleSubmit","bind","handleOnShippingAddressChange","handleOnShippingOptionsChange","formatProps","merchantId","configuration","intentFromConfig","intent","amount","value","vault","displayContinueToReviewPageButton","userAction","commit","submitAnalytics","analyticsObj","submit","handleError","AdyenCheckoutError","ERRORS","SUBMIT_NOT_SUPPORTED","updatePaymentData","console","warn","formatData","isExpress","paymentMethod","type","subtype","handleAction","action","updateWithAction","paymentMethodType","Error","sdkData","token","handleResolve","handleReject","NO_TOKEN_PROVIDED","isValid","handleOnApprove","data","actions","onAuthorized","state","details","order","get","then","paypalOrder","billingAddress","formatPaypalOrderContactToAdyenFormat","payer","deliveryAddress","purchase_units","shipping","setState","authorizedEvent","Promise","handleAdditionalDetails","catch","error","cause","WRONG_INSTANCE","errorMessage","onShippingAddressChange","onShippingOptionsChange","render","showPayButton","rest","h","CoreProvider","i18n","loadingContext","resources","PaypalComponent","ref","componentRef","onCancel","onChange","onApprove","onError","toString","onScriptLoadFailure","onSubmit"],"mappings":"mhBAiBA,MAAMA,UAAsBC,EACxBC,YAAqBC,EAAWC,OAChCF,eAAwB,MAEjBG,YAAsB,KAErBC,QAAU,KACVC,OAAS,KAEjBL,oBAAgCM,EAEhCC,WAAAA,CAAYC,EAAiBC,GACzBC,MAAMF,EAAUC,GAChBE,KAAKC,aAAeD,KAAKC,aAAaC,KAAKF,MAC3CA,KAAKG,8BAAgCH,KAAKG,8BAA8BD,KAAKF,MAC7EA,KAAKI,8BAAgCJ,KAAKI,8BAA8BF,KAAKF,KACjF,CAEAK,WAAAA,CAAYP,GACR,MAAMQ,EAAaR,EAAMS,eAAeD,WAClCE,EAAmBV,EAAMS,eAAeE,OAExCA,EADqC,IAAxBX,EAAMY,QAAQC,MACG,WAAab,EAAMW,QAAUD,EAC3DI,EAAmB,aAAXH,GAAyBX,EAAMc,MAEvCC,EAAyD,aAArBf,EAAMgB,WAEhD,MAAO,IACAhB,EACHiB,QAAQF,GAA4Cf,EAAMiB,OAC1DH,QACAL,cAAe,CACXE,SACAH,cAGZ,CAEUU,eAAAA,CAAgBC,GAEtBlB,MAAMiB,gBAAgB,IAAKC,GAAgBjB,KAAKF,MACpD,CAEOoB,OAAS,KACZlB,KAAKmB,YAAY,IAAIC,EAAmB,uBAAwBC,EAAOC,sBAAoB,EAOxFC,iBAAAA,CAAkB/B,GAChBA,GAAagC,QAAQC,KAAK,wDAC/BzB,KAAKR,YAAcA,CACvB,CAKA,UAAAkC,GACI,MAAMC,UAAEA,EAASb,WAAEA,GAAed,KAAKF,MAEvC,MAAO,CACH8B,cAAe,CACXC,KAAM1C,EAAc0C,KACpBf,aACAgB,QAASH,EAAY,UAAYxC,EAAc2C,SAG3D,CAEOC,aAAgBC,GACZhC,KAAKiC,iBAAiBD,GAG1BC,iBAAoBD,IACvB,GAAIA,EAAOE,oBAAsBlC,KAAK6B,KAAM,MAAM,IAAIM,MAAM,kBAY5D,OAVIH,EAAOxC,cACPQ,KAAKR,YAAcwC,EAAOxC,aAG1BwC,EAAOI,SAAWJ,EAAOI,QAAQC,MACjCrC,KAAKsC,cAAcN,EAAOI,QAAQC,OAElCrC,KAAKuC,aAAalB,EAAOmB,mBAGtB,IAAA,EASX,WAAIC,GACA,OAAO,CACX,CAEQC,gBAAkB,CAACC,EAAWC,KAClC,MAAMC,aAAEA,GAAiB7C,KAAKF,MACxBgD,EAAQ,CAAEH,KAAM,CAAEI,QAASJ,EAAMnD,YAAaQ,KAAKR,cAEzD,GAAKqD,EAKL,OAAOD,EAAQI,MACVC,MACAC,MAAMC,IACH,MAAMC,EAAiBC,EAAsCF,GAAaG,OACpEC,EAAkBF,EAAsCF,GAAaK,iBAAiB,GAAGC,UAAU,GAQzG,OANAzD,KAAK0D,SAAS,CACVC,gBAAiBR,KACbC,GAAkB,CAAEA,qBACpBG,GAAmB,CAAEA,qBAGtB,IAAIK,SAAc,CAACnE,EAASC,IAC/BmD,EACI,CACIc,gBAAiBR,KACbC,GAAkB,CAAEA,qBACpBG,GAAmB,CAAEA,oBAE7B,CAAE9D,UAASC,YAAO,IAI7BwD,MAAK,IAAMlD,KAAK6D,wBAAwBf,KACxCgB,OAAMC,GAAS/D,KAAKmB,YAAY,IAAIC,EAAmB,QAAS,kDAAmD,CAAE4C,MAAOD,OA5B7H/D,KAAK6D,wBAAwBf,EA4BsG,EAG3IR,aAAAA,CAAcD,GACV,IAAKrC,KAAKP,QAAS,OAAOO,KAAKmB,YAAY,IAAIC,EAAmB,QAASC,EAAO4C,iBAClFjE,KAAKP,QAAQ4C,EACjB,CAEAE,YAAAA,CAAa2B,GACT,IAAKlE,KAAKN,OAAQ,OAAOM,KAAKmB,YAAY,IAAIC,EAAmB,QAASC,EAAO4C,iBACjFjE,KAAKN,OAAO,IAAIyC,MAAM+B,GAC1B,CAEQjE,YAAAA,GAGJ,OAFAF,MAAMmB,SAEC,IAAI0C,SAAQ,CAACnE,EAASC,KACzBM,KAAKP,QAAUA,EACfO,KAAKN,OAASA,CAAAA,GAEtB,CAUA,6BAAAS,CAAsCwC,EAAWC,GAC7C,OAAO5C,KAAKF,MAAMqE,wBAAwBxB,EAAMC,EAAS5C,KAC7D,CAUA,6BAAAI,CAAsCuC,EAAWC,GAC7C,OAAO5C,KAAKF,MAAMsE,wBAAwBzB,EAAMC,EAAS5C,KAC7D,CAEAqE,MAAAA,GACI,IAAKrE,KAAKF,MAAMwE,cAAe,OAAO,KAEtC,MAAMH,wBAAEA,EAAuBC,wBAAEA,KAA4BG,GAASvE,KAAKF,MAE3E,OACI0E,EAACC,EAAAA,CAAaC,KAAM1E,KAAKF,MAAM4E,KAAMC,eAAgB3E,KAAKF,MAAM6E,eAAgBC,UAAW5E,KAAK4E,WAC5FJ,EAACK,EAAAA,CACGC,IAAKA,IACD9E,KAAK+E,aAAeD,CAAAA,KAEpBP,KACCJ,GAA2B,CAAEA,wBAAyBnE,KAAKG,kCAC3DiE,GAA2B,CAAEA,wBAAyBpE,KAAKI,+BAChE4E,SAAU,IAAMhF,KAAKmB,YAAY,IAAIC,EAAmB,WACxD6D,SAAUjF,KAAK0D,SACfwB,UAAWlF,KAAK0C,gBAChByC,QAASpB,IACL/D,KAAKmB,YAAY,IAAIC,EAAmB,QAAS2C,EAAMqB,WAAY,CAAEpB,MAAOD,IAAM,EAEtFsB,oBAAqBtB,GAAS/D,KAAKmB,YAAY4C,GAC/CuB,SAAUtF,KAAKC,eAI/B"}
1
+ {"version":3,"file":"Paypal.js","sources":["../../../../src/components/PayPal/Paypal.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport PaypalComponent from './components/PaypalComponent';\nimport defaultProps from './defaultProps';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { ERRORS } from './constants';\nimport { TxVariants } from '../tx-variants';\nimport { formatPaypalOrderContactToAdyenFormat } from './utils/format-paypal-order-contact-to-adyen-format';\n\nimport type { ICore } from '../../core/types';\nimport type { PaymentAction } from '../../types/global-types';\nimport type { Intent, PayPalConfiguration } from './types';\n\nimport './Paypal.scss';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\n\nclass PaypalElement extends UIElement<PayPalConfiguration> {\n public static type = TxVariants.paypal;\n public static subtype = 'sdk';\n\n public paymentData: string = null;\n\n private resolve = null;\n private reject = null;\n\n protected static defaultProps = defaultProps;\n\n constructor(checkout: ICore, props?: PayPalConfiguration) {\n super(checkout, props);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.handleOnShippingAddressChange = this.handleOnShippingAddressChange.bind(this);\n this.handleOnShippingOptionsChange = this.handleOnShippingOptionsChange.bind(this);\n }\n\n formatProps(props: PayPalConfiguration): PayPalConfiguration {\n const merchantId = props.configuration?.merchantId;\n const intentFromConfig = props.configuration?.intent;\n const isZeroAuth = props.amount?.value === 0;\n const intent: Intent = isZeroAuth ? 'tokenize' : props.intent || intentFromConfig;\n const vault = intent === 'tokenize' || props.vault;\n\n const displayContinueToReviewPageButton = props.userAction === 'continue';\n\n return {\n ...props,\n commit: displayContinueToReviewPageButton ? false : props.commit,\n vault,\n configuration: {\n intent,\n merchantId\n }\n };\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n super.submitAnalytics({ ...analyticsObj }, this.props);\n }\n\n public submit = () => {\n this.handleError(new AdyenCheckoutError('IMPLEMENTATION_ERROR', ERRORS.SUBMIT_NOT_SUPPORTED));\n };\n\n /**\n * Updates the paymentData value. It must be used in the PayPal Express flow, when patching the amount\n * @param paymentData - Payment data value\n */\n public updatePaymentData(paymentData: string): void {\n if (!paymentData) console.warn('PayPal - Updating payment data with an invalid value');\n this.paymentData = paymentData;\n }\n\n /**\n * Formats the component data output\n */\n protected formatData() {\n const { isExpress, userAction } = this.props;\n\n return {\n paymentMethod: {\n type: PaypalElement.type,\n userAction,\n subtype: isExpress ? 'express' : PaypalElement.subtype\n }\n };\n }\n\n public handleAction = (action: PaymentAction) => {\n return this.updateWithAction(action);\n };\n\n public updateWithAction = (action: PaymentAction) => {\n if (action.paymentMethodType !== this.type) throw new Error('Invalid Action');\n\n if (action.paymentData) {\n this.paymentData = action.paymentData;\n }\n\n if (action.sdkData && action.sdkData.token) {\n this.onActionHandled({ componentType: this.type, actionDescription: 'sdk-loaded', originalAction: action });\n this.handleResolve(action.sdkData.token);\n } else {\n this.handleReject(ERRORS.NO_TOKEN_PROVIDED);\n }\n\n return null;\n };\n\n /**\n * Dropin Validation\n *\n * @remarks\n * Paypal does not require any specific Dropin validation\n */\n get isValid() {\n return true;\n }\n\n private handleOnApprove = (data: any, actions: any): Promise<void> | void => {\n const { onAuthorized } = this.props;\n const state = { data: { details: data, paymentData: this.paymentData } };\n\n if (!onAuthorized) {\n this.handleAdditionalDetails(state);\n return;\n }\n\n return actions.order\n .get()\n .then((paypalOrder: any) => {\n const billingAddress = formatPaypalOrderContactToAdyenFormat(paypalOrder?.payer);\n const deliveryAddress = formatPaypalOrderContactToAdyenFormat(paypalOrder?.purchase_units?.[0].shipping, true);\n\n this.setState({\n authorizedEvent: paypalOrder,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n return new Promise<void>((resolve, reject) =>\n onAuthorized(\n {\n authorizedEvent: paypalOrder,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n )\n );\n })\n .then(() => this.handleAdditionalDetails(state))\n .catch(error => this.handleError(new AdyenCheckoutError('ERROR', 'Something went wrong while parsing PayPal Order', { cause: error })));\n };\n\n handleResolve(token: string) {\n if (!this.resolve) return this.handleError(new AdyenCheckoutError('ERROR', ERRORS.WRONG_INSTANCE));\n this.resolve(token);\n }\n\n handleReject(errorMessage: string) {\n if (!this.reject) return this.handleError(new AdyenCheckoutError('ERROR', ERRORS.WRONG_INSTANCE));\n this.reject(new Error(errorMessage));\n }\n\n private handleSubmit(): Promise<void> {\n super.submit();\n\n return new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n\n /**\n * If the merchant provides the 'onShippingAddressChange' callback, then this method is used as a wrapper to it, in order\n * to expose to the merchant the 'component' instance. The merchant needs the 'component' in order to manipulate the\n * paymentData\n *\n * @param data - PayPal data\n * @param actions - PayPal actions.\n */\n private handleOnShippingAddressChange(data: any, actions: any): Promise<void> {\n return this.props.onShippingAddressChange(data, actions, this);\n }\n\n /**\n * If the merchant provides the 'onShippingOptionsChange' callback, then this method is used as a wrapper to it, in order\n * to expose to the merchant the 'component' instance. The merchant needs the 'component' in order to manipulate the\n * paymentData\n *\n * @param data - PayPal data\n * @param actions - PayPal actions.\n */\n private handleOnShippingOptionsChange(data: any, actions: any): Promise<void> {\n return this.props.onShippingOptionsChange(data, actions, this);\n }\n\n render() {\n if (!this.props.showPayButton) return null;\n\n const { onShippingAddressChange, onShippingOptionsChange, ...rest } = this.props;\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <PaypalComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n {...rest}\n {...(onShippingAddressChange && { onShippingAddressChange: this.handleOnShippingAddressChange })}\n {...(onShippingOptionsChange && { onShippingOptionsChange: this.handleOnShippingOptionsChange })}\n onCancel={() => this.handleError(new AdyenCheckoutError('CANCEL'))}\n onChange={this.setState}\n onApprove={this.handleOnApprove}\n onError={error => {\n this.handleError(new AdyenCheckoutError('ERROR', error.toString(), { cause: error }));\n }}\n onScriptLoadFailure={error => this.handleError(error)}\n onSubmit={this.handleSubmit}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default PaypalElement;\n"],"names":["PaypalElement","UIElement","static","TxVariants","paypal","paymentData","resolve","reject","defaultProps","constructor","checkout","props","super","this","handleSubmit","bind","handleOnShippingAddressChange","handleOnShippingOptionsChange","formatProps","merchantId","configuration","intentFromConfig","intent","amount","value","vault","displayContinueToReviewPageButton","userAction","commit","submitAnalytics","analyticsObj","submit","handleError","AdyenCheckoutError","ERRORS","SUBMIT_NOT_SUPPORTED","updatePaymentData","console","warn","formatData","isExpress","paymentMethod","type","subtype","handleAction","action","updateWithAction","paymentMethodType","Error","sdkData","token","onActionHandled","componentType","actionDescription","originalAction","handleResolve","handleReject","NO_TOKEN_PROVIDED","isValid","handleOnApprove","data","actions","onAuthorized","state","details","order","get","then","paypalOrder","billingAddress","formatPaypalOrderContactToAdyenFormat","payer","deliveryAddress","purchase_units","shipping","setState","authorizedEvent","Promise","handleAdditionalDetails","catch","error","cause","WRONG_INSTANCE","errorMessage","onShippingAddressChange","onShippingOptionsChange","render","showPayButton","rest","h","CoreProvider","i18n","loadingContext","resources","PaypalComponent","ref","componentRef","onCancel","onChange","onApprove","onError","toString","onScriptLoadFailure","onSubmit"],"mappings":"mhBAiBA,MAAMA,UAAsBC,EACxBC,YAAqBC,EAAWC,OAChCF,eAAwB,MAEjBG,YAAsB,KAErBC,QAAU,KACVC,OAAS,KAEjBL,oBAAgCM,EAEhCC,WAAAA,CAAYC,EAAiBC,GACzBC,MAAMF,EAAUC,GAChBE,KAAKC,aAAeD,KAAKC,aAAaC,KAAKF,MAC3CA,KAAKG,8BAAgCH,KAAKG,8BAA8BD,KAAKF,MAC7EA,KAAKI,8BAAgCJ,KAAKI,8BAA8BF,KAAKF,KACjF,CAEAK,WAAAA,CAAYP,GACR,MAAMQ,EAAaR,EAAMS,eAAeD,WAClCE,EAAmBV,EAAMS,eAAeE,OAExCA,EADqC,IAAxBX,EAAMY,QAAQC,MACG,WAAab,EAAMW,QAAUD,EAC3DI,EAAmB,aAAXH,GAAyBX,EAAMc,MAEvCC,EAAyD,aAArBf,EAAMgB,WAEhD,MAAO,IACAhB,EACHiB,QAAQF,GAA4Cf,EAAMiB,OAC1DH,QACAL,cAAe,CACXE,SACAH,cAGZ,CAEUU,eAAAA,CAAgBC,GAEtBlB,MAAMiB,gBAAgB,IAAKC,GAAgBjB,KAAKF,MACpD,CAEOoB,OAAS,KACZlB,KAAKmB,YAAY,IAAIC,EAAmB,uBAAwBC,EAAOC,sBAAoB,EAOxFC,iBAAAA,CAAkB/B,GAChBA,GAAagC,QAAQC,KAAK,wDAC/BzB,KAAKR,YAAcA,CACvB,CAKA,UAAAkC,GACI,MAAMC,UAAEA,EAASb,WAAEA,GAAed,KAAKF,MAEvC,MAAO,CACH8B,cAAe,CACXC,KAAM1C,EAAc0C,KACpBf,aACAgB,QAASH,EAAY,UAAYxC,EAAc2C,SAG3D,CAEOC,aAAgBC,GACZhC,KAAKiC,iBAAiBD,GAG1BC,iBAAoBD,IACvB,GAAIA,EAAOE,oBAAsBlC,KAAK6B,KAAM,MAAM,IAAIM,MAAM,kBAa5D,OAXIH,EAAOxC,cACPQ,KAAKR,YAAcwC,EAAOxC,aAG1BwC,EAAOI,SAAWJ,EAAOI,QAAQC,OACjCrC,KAAKsC,gBAAgB,CAAEC,cAAevC,KAAK6B,KAAMW,kBAAmB,aAAcC,eAAgBT,IAClGhC,KAAK0C,cAAcV,EAAOI,QAAQC,QAElCrC,KAAK2C,aAAatB,EAAOuB,mBAGtB,IAAA,EASX,WAAIC,GACA,OAAO,CACX,CAEQC,gBAAkB,CAACC,EAAWC,KAClC,MAAMC,aAAEA,GAAiBjD,KAAKF,MACxBoD,EAAQ,CAAEH,KAAM,CAAEI,QAASJ,EAAMvD,YAAaQ,KAAKR,cAEzD,GAAKyD,EAKL,OAAOD,EAAQI,MACVC,MACAC,MAAMC,IACH,MAAMC,EAAiBC,EAAsCF,GAAaG,OACpEC,EAAkBF,EAAsCF,GAAaK,iBAAiB,GAAGC,UAAU,GAQzG,OANA7D,KAAK8D,SAAS,CACVC,gBAAiBR,KACbC,GAAkB,CAAEA,qBACpBG,GAAmB,CAAEA,qBAGtB,IAAIK,SAAc,CAACvE,EAASC,IAC/BuD,EACI,CACIc,gBAAiBR,KACbC,GAAkB,CAAEA,qBACpBG,GAAmB,CAAEA,oBAE7B,CAAElE,UAASC,YAAO,IAI7B4D,MAAK,IAAMtD,KAAKiE,wBAAwBf,KACxCgB,OAAMC,GAASnE,KAAKmB,YAAY,IAAIC,EAAmB,QAAS,kDAAmD,CAAEgD,MAAOD,OA5B7HnE,KAAKiE,wBAAwBf,EA4BsG,EAG3IR,aAAAA,CAAcL,GACV,IAAKrC,KAAKP,QAAS,OAAOO,KAAKmB,YAAY,IAAIC,EAAmB,QAASC,EAAOgD,iBAClFrE,KAAKP,QAAQ4C,EACjB,CAEAM,YAAAA,CAAa2B,GACT,IAAKtE,KAAKN,OAAQ,OAAOM,KAAKmB,YAAY,IAAIC,EAAmB,QAASC,EAAOgD,iBACjFrE,KAAKN,OAAO,IAAIyC,MAAMmC,GAC1B,CAEQrE,YAAAA,GAGJ,OAFAF,MAAMmB,SAEC,IAAI8C,SAAQ,CAACvE,EAASC,KACzBM,KAAKP,QAAUA,EACfO,KAAKN,OAASA,CAAAA,GAEtB,CAUA,6BAAAS,CAAsC4C,EAAWC,GAC7C,OAAOhD,KAAKF,MAAMyE,wBAAwBxB,EAAMC,EAAShD,KAC7D,CAUA,6BAAAI,CAAsC2C,EAAWC,GAC7C,OAAOhD,KAAKF,MAAM0E,wBAAwBzB,EAAMC,EAAShD,KAC7D,CAEAyE,MAAAA,GACI,IAAKzE,KAAKF,MAAM4E,cAAe,OAAO,KAEtC,MAAMH,wBAAEA,EAAuBC,wBAAEA,KAA4BG,GAAS3E,KAAKF,MAE3E,OACI8E,EAACC,EAAAA,CAAaC,KAAM9E,KAAKF,MAAMgF,KAAMC,eAAgB/E,KAAKF,MAAMiF,eAAgBC,UAAWhF,KAAKgF,WAC5FJ,EAACK,EAAAA,CACGC,IAAKA,IACDlF,KAAKmF,aAAeD,CAAAA,KAEpBP,KACCJ,GAA2B,CAAEA,wBAAyBvE,KAAKG,kCAC3DqE,GAA2B,CAAEA,wBAAyBxE,KAAKI,+BAChEgF,SAAU,IAAMpF,KAAKmB,YAAY,IAAIC,EAAmB,WACxDiE,SAAUrF,KAAK8D,SACfwB,UAAWtF,KAAK8C,gBAChByC,QAASpB,IACLnE,KAAKmB,YAAY,IAAIC,EAAmB,QAAS+C,EAAMqB,WAAY,CAAEpB,MAAOD,IAAM,EAEtFsB,oBAAqBtB,GAASnE,KAAKmB,YAAYgD,GAC/CuB,SAAU1F,KAAKC,eAI/B"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as r}from"../internal/UIElement/UIElement.js";import{CoreProvider as e}from"../../core/Context/CoreProvider.js";import o from"./components/RedirectShopper/RedirectShopper.js";import s from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as i}from"../tx-variants.js";import p from"../../utils/browserInfo.js";class n extends r{static type=i.redirect;static defaultProps={type:n.type};formatData(){return{paymentMethod:{type:this.type},browserInfo:this.browserInfo}}get isValid(){return!0}get browserInfo(){return p()}render(){return this.props.url&&this.props.method?t(o,{url:this.props.url,...this.props}):this.props.showPayButton?t(e,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(s,{...this.props,showPayButton:this.props.showPayButton,name:this.displayName,onSubmit:this.submit,payButton:this.payButton,ref:t=>{this.componentRef=t}})):null}}export{n as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as r}from"../internal/UIElement/UIElement.js";import{CoreProvider as e}from"../../core/Context/CoreProvider.js";import o from"./components/RedirectShopper/RedirectShopper.js";import s from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as i}from"../tx-variants.js";import n from"../../utils/browserInfo.js";class p extends r{static type=i.redirect;static defaultProps={type:p.type};formatData(){return{paymentMethod:{type:this.type},browserInfo:this.browserInfo}}get isValid(){return!0}get browserInfo(){return n()}render(){return this.props.url&&this.props.method?t(o,{url:this.props.url,...this.props,onActionHandled:this.onActionHandled}):this.props.showPayButton?t(e,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(s,{...this.props,showPayButton:this.props.showPayButton,name:this.displayName,onSubmit:this.submit,payButton:this.payButton,ref:t=>{this.componentRef=t}})):null}}export{p as default};
2
2
  //# sourceMappingURL=Redirect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Redirect.js","sources":["../../../../src/components/Redirect/Redirect.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectShopper from './components/RedirectShopper';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport { RedirectConfiguration } from './types';\nimport collectBrowserInfo from '../../utils/browserInfo';\n\nclass RedirectElement extends UIElement<RedirectConfiguration> {\n public static type = TxVariants.redirect;\n\n public static defaultProps = {\n type: RedirectElement.type\n };\n\n formatData() {\n return {\n paymentMethod: {\n type: this.type\n },\n browserInfo: this.browserInfo\n };\n }\n\n get isValid() {\n return true;\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n render() {\n if (this.props.url && this.props.method) {\n return <RedirectShopper url={this.props.url} {...this.props} />;\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 {...this.props}\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n </CoreProvider>\n );\n }\n\n return null;\n }\n}\n\nexport default RedirectElement;\n"],"names":["RedirectElement","UIElement","static","TxVariants","redirect","type","formatData","paymentMethod","this","browserInfo","isValid","collectBrowserInfo","render","props","url","method","h","RedirectShopper","showPayButton","CoreProvider","i18n","loadingContext","resources","RedirectButton","name","displayName","onSubmit","submit","payButton","ref","componentRef"],"mappings":"0ZASA,MAAMA,UAAwBC,EAC1BC,YAAqBC,EAAWC,SAEhCF,oBAA6B,CACzBG,KAAML,EAAgBK,MAG1BC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXF,KAAMG,KAAKH,MAEfI,YAAaD,KAAKC,YAE1B,CAEA,WAAIC,GACA,OAAO,CACX,CAEA,eAAID,GACA,OAAOE,GACX,CAEAC,MAAAA,GACI,OAAIJ,KAAKK,MAAMC,KAAON,KAAKK,MAAME,OACtBC,EAACC,EAAAA,CAAgBH,IAAKN,KAAKK,MAAMC,OAASN,KAAKK,QAGtDL,KAAKK,MAAMK,cAEPF,EAACG,EAAAA,CAAaC,KAAMZ,KAAKK,MAAMO,KAAMC,eAAgBb,KAAKK,MAAMQ,eAAgBC,UAAWd,KAAKc,WAC5FN,EAACO,EAAAA,IACOf,KAAKK,MACTK,cAAeV,KAAKK,MAAMK,cAC1BM,KAAMhB,KAAKiB,YACXC,SAAUlB,KAAKmB,OACfC,UAAWpB,KAAKoB,UAChBC,IAAKA,IACDrB,KAAKsB,aAAeD,CAAAA,KAOjC,IACX"}
1
+ {"version":3,"file":"Redirect.js","sources":["../../../../src/components/Redirect/Redirect.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectShopper from './components/RedirectShopper';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport { RedirectConfiguration } from './types';\nimport collectBrowserInfo from '../../utils/browserInfo';\n\nclass RedirectElement extends UIElement<RedirectConfiguration> {\n public static type = TxVariants.redirect;\n\n public static defaultProps = {\n type: RedirectElement.type\n };\n\n formatData() {\n return {\n paymentMethod: {\n type: this.type\n },\n browserInfo: this.browserInfo\n };\n }\n\n get isValid() {\n return true;\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n render() {\n if (this.props.url && this.props.method) {\n return <RedirectShopper url={this.props.url} {...this.props} onActionHandled={this.onActionHandled} />;\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 {...this.props}\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n </CoreProvider>\n );\n }\n\n return null;\n }\n}\n\nexport default RedirectElement;\n"],"names":["RedirectElement","UIElement","static","TxVariants","redirect","type","formatData","paymentMethod","this","browserInfo","isValid","collectBrowserInfo","render","props","url","method","h","RedirectShopper","onActionHandled","showPayButton","CoreProvider","i18n","loadingContext","resources","RedirectButton","name","displayName","onSubmit","submit","payButton","ref","componentRef"],"mappings":"0ZASA,MAAMA,UAAwBC,EAC1BC,YAAqBC,EAAWC,SAEhCF,oBAA6B,CACzBG,KAAML,EAAgBK,MAG1BC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXF,KAAMG,KAAKH,MAEfI,YAAaD,KAAKC,YAE1B,CAEA,WAAIC,GACA,OAAO,CACX,CAEA,eAAID,GACA,OAAOE,GACX,CAEAC,MAAAA,GACI,OAAIJ,KAAKK,MAAMC,KAAON,KAAKK,MAAME,OACtBC,EAACC,EAAAA,CAAgBH,IAAKN,KAAKK,MAAMC,OAASN,KAAKK,MAAOK,gBAAiBV,KAAKU,kBAGnFV,KAAKK,MAAMM,cAEPH,EAACI,EAAAA,CAAaC,KAAMb,KAAKK,MAAMQ,KAAMC,eAAgBd,KAAKK,MAAMS,eAAgBC,UAAWf,KAAKe,WAC5FP,EAACQ,EAAAA,IACOhB,KAAKK,MACTM,cAAeX,KAAKK,MAAMM,cAC1BM,KAAMjB,KAAKkB,YACXC,SAAUnB,KAAKoB,OACfC,UAAWrB,KAAKqB,UAChBC,IAAKA,IACDtB,KAAKuB,aAAeD,CAAAA,KAOjC,IACX"}
@@ -1,2 +1,2 @@
1
- import{Component as t,createElement as e}from"../../../../external/preact/dist/preact.js";import o from"../../../../utils/detectInIframeInSameOrigin.js";class r extends t{postForm;static defaultProps={beforeRedirect:t=>t(),method:"GET"};componentDidMount(){new Promise(((t,e)=>{this.props.beforeRedirect(t,e,{url:this.props.url,method:this.props.method,...this.props.data?{data:this.props.data}:{}})})).then((()=>{this.postForm?this.postForm.submit():this.props.redirectFromTopWhenInIframe&&o()?window.top.location.assign?.(this.props.url):window.location.assign(this.props.url)})).catch((()=>{}))}render({url:t,method:r,data:s={}}){return"POST"===r?e("form",{method:"post",action:t,style:{display:"none"},ref:t=>{this.postForm=t},...this.props.redirectFromTopWhenInIframe&&o()&&{target:"_top"}},Object.keys(s).map((t=>e("input",{type:"hidden",name:t,key:t,value:s[t]})))):null}}export{r as default};
1
+ import{Component as t,createElement as e}from"../../../../external/preact/dist/preact.js";import o from"../../../../utils/detectInIframeInSameOrigin.js";class r extends t{postForm;static defaultProps={beforeRedirect:t=>t(),method:"GET"};componentDidMount(){new Promise(((t,e)=>{this.props.beforeRedirect(t,e,{url:this.props.url,method:this.props.method,...this.props.data?{data:this.props.data}:{}})})).then((()=>{this.props.onActionHandled?.({componentType:this.props.paymentMethodType,actionDescription:"performing-redirect"}),this.postForm?this.postForm.submit():this.props.redirectFromTopWhenInIframe&&o()?window.top.location.assign?.(this.props.url):window.location.assign(this.props.url)})).catch((()=>{}))}render({url:t,method:r,data:s={}}){return"POST"===r?e("form",{method:"post",action:t,style:{display:"none"},ref:t=>{this.postForm=t},...this.props.redirectFromTopWhenInIframe&&o()&&{target:"_top"}},Object.keys(s).map((t=>e("input",{type:"hidden",name:t,key:t,value:s[t]})))):null}}export{r as default};
2
2
  //# sourceMappingURL=RedirectShopper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RedirectShopper.js","sources":["../../../../../../src/components/Redirect/components/RedirectShopper/RedirectShopper.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport detectInIframeInSameOrigin from '../../../../utils/detectInIframeInSameOrigin';\n\ninterface RedirectShopperProps {\n beforeRedirect: (resolve, reject, url) => Promise<void>;\n url: string;\n method: 'GET' | 'POST';\n data?: any;\n redirectFromTopWhenInIframe?: boolean;\n}\n\nclass RedirectShopper extends Component<RedirectShopperProps> {\n private postForm;\n public static defaultProps = {\n beforeRedirect: resolve => resolve(),\n method: 'GET'\n };\n\n componentDidMount() {\n const doRedirect = () => {\n if (this.postForm) {\n this.postForm.submit();\n } else {\n if (this.props.redirectFromTopWhenInIframe && detectInIframeInSameOrigin()) {\n // if in an iframe and the config prop allows it - try to redirect from the top level window\n window.top.location.assign?.(this.props.url);\n } else {\n window.location.assign(this.props.url);\n }\n }\n };\n\n const dispatchEvent = new Promise(\n (resolve, reject) =>\n void this.props.beforeRedirect(resolve, reject, {\n url: this.props.url,\n method: this.props.method,\n ...(this.props.data ? { data: this.props.data } : {})\n })\n );\n\n dispatchEvent.then(doRedirect).catch(() => {});\n }\n\n render({ url, method, data = {} }) {\n if (method === 'POST') {\n return (\n <form\n method=\"post\"\n action={url}\n style={{ display: 'none' }}\n ref={ref => {\n this.postForm = ref;\n }}\n {...(this.props.redirectFromTopWhenInIframe && detectInIframeInSameOrigin() && { target: '_top' })}\n >\n {Object.keys(data).map(key => (\n <input type=\"hidden\" name={key} key={key} value={data[key]} />\n ))}\n </form>\n );\n }\n\n return null;\n }\n}\n\nexport default RedirectShopper;\n"],"names":["RedirectShopper","Component","postForm","static","beforeRedirect","resolve","method","componentDidMount","Promise","reject","this","props","url","data","then","submit","redirectFromTopWhenInIframe","detectInIframeInSameOrigin","window","top","location","assign","catch","render","h","form","action","style","display","ref","target","Object","keys","map","key","input","type","name","value"],"mappings":"yJAWA,MAAMA,UAAwBC,EAClBC,SACRC,oBAA6B,CACzBC,eAAgBC,GAAWA,IAC3BC,OAAQ,OAGZC,iBAAAA,GAc0B,IAAIC,SACtB,CAACH,EAASI,KACDC,KAAKC,MAAMP,eAAeC,EAASI,EAAQ,CAC5CG,IAAKF,KAAKC,MAAMC,IAChBN,OAAQI,KAAKC,MAAML,UACfI,KAAKC,MAAME,KAAO,CAAEA,KAAMH,KAAKC,MAAME,MAAS,CAAE,GACxD,IAGMC,MAtBK,KACXJ,KAAKR,SACLQ,KAAKR,SAASa,SAEVL,KAAKC,MAAMK,6BAA+BC,IAE1CC,OAAOC,IAAIC,SAASC,SAASX,KAAKC,MAAMC,KAExCM,OAAOE,SAASC,OAAOX,KAAKC,MAAMC,IAE1C,IAY2BU,OAAM,QACzC,CAEAC,MAAAA,EAAOX,IAAEA,EAAGN,OAAEA,EAAMO,KAAEA,EAAO,CAAE,IAC3B,MAAe,SAAXP,EAEIkB,EAACC,OAAAA,CACGnB,OAAO,OACPoB,OAAQd,EACRe,MAAO,CAAEC,QAAS,QAClBC,IAAKA,IACDnB,KAAKR,SAAW2B,CAAAA,KAEfnB,KAAKC,MAAMK,6BAA+BC,KAAgC,CAAEa,OAAQ,SAExFC,OAAOC,KAAKnB,GAAMoB,KAAIC,GACnBV,EAACW,QAAAA,CAAMC,KAAK,SAASC,KAAMH,EAAKA,IAAKA,EAAKI,MAAOzB,EAAKqB,QAM/D,IACX"}
1
+ {"version":3,"file":"RedirectShopper.js","sources":["../../../../../../src/components/Redirect/components/RedirectShopper/RedirectShopper.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport detectInIframeInSameOrigin from '../../../../utils/detectInIframeInSameOrigin';\nimport { ActionHandledReturnObject } from '../../../../types/global-types';\n\ninterface RedirectShopperProps {\n beforeRedirect: (resolve, reject, url) => Promise<void>;\n url: string;\n method: 'GET' | 'POST';\n data?: any;\n redirectFromTopWhenInIframe?: boolean;\n paymentMethodType?: string;\n onActionHandled?: (rtnObj: ActionHandledReturnObject) => void;\n}\n\nclass RedirectShopper extends Component<RedirectShopperProps> {\n private postForm;\n public static defaultProps = {\n beforeRedirect: resolve => resolve(),\n method: 'GET'\n };\n\n componentDidMount() {\n const doRedirect = () => {\n // call callback\n this.props.onActionHandled?.({\n componentType: this.props.paymentMethodType,\n actionDescription: 'performing-redirect'\n });\n\n // perform redirect\n if (this.postForm) {\n this.postForm.submit();\n } else {\n if (this.props.redirectFromTopWhenInIframe && detectInIframeInSameOrigin()) {\n // if in an iframe and the config prop allows it - try to redirect from the top level window\n window.top.location.assign?.(this.props.url);\n } else {\n window.location.assign(this.props.url);\n }\n }\n };\n\n const dispatchEvent = new Promise(\n (resolve, reject) =>\n void this.props.beforeRedirect(resolve, reject, {\n url: this.props.url,\n method: this.props.method,\n ...(this.props.data ? { data: this.props.data } : {})\n })\n );\n\n dispatchEvent.then(doRedirect).catch(() => {});\n }\n\n render({ url, method, data = {} }) {\n if (method === 'POST') {\n return (\n <form\n method=\"post\"\n action={url}\n style={{ display: 'none' }}\n ref={ref => {\n this.postForm = ref;\n }}\n {...(this.props.redirectFromTopWhenInIframe && detectInIframeInSameOrigin() && { target: '_top' })}\n >\n {Object.keys(data).map(key => (\n <input type=\"hidden\" name={key} key={key} value={data[key]} />\n ))}\n </form>\n );\n }\n\n return null;\n }\n}\n\nexport default RedirectShopper;\n"],"names":["RedirectShopper","Component","postForm","static","beforeRedirect","resolve","method","componentDidMount","Promise","reject","this","props","url","data","then","onActionHandled","componentType","paymentMethodType","actionDescription","submit","redirectFromTopWhenInIframe","detectInIframeInSameOrigin","window","top","location","assign","catch","render","h","form","action","style","display","ref","target","Object","keys","map","key","input","type","name","value"],"mappings":"yJAcA,MAAMA,UAAwBC,EAClBC,SACRC,oBAA6B,CACzBC,eAAgBC,GAAWA,IAC3BC,OAAQ,OAGZC,iBAAAA,GAqB0B,IAAIC,SACtB,CAACH,EAASI,KACDC,KAAKC,MAAMP,eAAeC,EAASI,EAAQ,CAC5CG,IAAKF,KAAKC,MAAMC,IAChBN,OAAQI,KAAKC,MAAML,UACfI,KAAKC,MAAME,KAAO,CAAEA,KAAMH,KAAKC,MAAME,MAAS,CAAE,GACxD,IAGMC,MA7BK,KAEfJ,KAAKC,MAAMI,kBAAkB,CACzBC,cAAeN,KAAKC,MAAMM,kBAC1BC,kBAAmB,wBAInBR,KAAKR,SACLQ,KAAKR,SAASiB,SAEVT,KAAKC,MAAMS,6BAA+BC,IAE1CC,OAAOC,IAAIC,SAASC,SAASf,KAAKC,MAAMC,KAExCU,OAAOE,SAASC,OAAOf,KAAKC,MAAMC,IAE1C,IAY2Bc,OAAM,QACzC,CAEAC,MAAAA,EAAOf,IAAEA,EAAGN,OAAEA,EAAMO,KAAEA,EAAO,CAAE,IAC3B,MAAe,SAAXP,EAEIsB,EAACC,OAAAA,CACGvB,OAAO,OACPwB,OAAQlB,EACRmB,MAAO,CAAEC,QAAS,QAClBC,IAAKA,IACDvB,KAAKR,SAAW+B,CAAAA,KAEfvB,KAAKC,MAAMS,6BAA+BC,KAAgC,CAAEa,OAAQ,SAExFC,OAAOC,KAAKvB,GAAMwB,KAAIC,GACnBV,EAACW,QAAAA,CAAMC,KAAK,SAASC,KAAMH,EAAKA,IAAKA,EAAKI,MAAO7B,EAAKyB,QAM/D,IACX"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/Challenge/PrepareChallenge3DS2.js";import{DEFAULT_CHALLENGE_WINDOW_SIZE as o,THREEDS2_CHALLENGE as s,THREEDS2_ERROR as n,THREEDS2_CHALLENGE_ERROR as i}from"./constants.js";import{existy as a}from"../../utils/commonUtils.js";import{hasOwnProperty as p}from"../../utils/hasOwnProperty.js";import{TxVariants as m}from"../tx-variants.js";import l,{API_ERROR as c}from"../../core/Errors/AdyenCheckoutError.js";import{ANALYTICS_RENDERED_STR as h,Analytics3DS2Errors as u,ANALYTICS_API_ERROR as y}from"../../core/Analytics/constants.js";import{CoreProvider as f}from"../../core/Context/CoreProvider.js";class C extends e{static type=m.threeDS2Challenge;static defaultProps={dataKey:"threeDSResult",size:o,type:s};submitAnalytics=t=>{t.type!==h&&super.submitAnalytics(t)};onComplete(t){t&&super.onComplete(t),this.unmount()}render(){if(!a(this.props.paymentData)){const t=p(this.props,"isMDFlow")?"paymentData":"authorisationToken";return this.props.onError(new l(c,`No ${t} received. 3DS2 Challenge cannot proceed`)),this.submitAnalytics({type:n,code:u.ACTION_IS_MISSING_PAYMENT_DATA,errorType:y,message:`${i}: Missing 'paymentData' property from threeDS2 action`}),null}return t(f,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(r,{...this.props,onComplete:this.onComplete,onSubmitAnalytics:this.submitAnalytics,isMDFlow:this.props.paymentData.length<15}))}}export{C 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/Challenge/PrepareChallenge3DS2.js";import{DEFAULT_CHALLENGE_WINDOW_SIZE as s,THREEDS2_CHALLENGE as r,THREEDS2_FULL as n,THREEDS2_ERROR as i,THREEDS2_CHALLENGE_ERROR as a}from"./constants.js";import{existy as p}from"../../utils/commonUtils.js";import{hasOwnProperty as m}from"../../utils/hasOwnProperty.js";import{TxVariants as l}from"../tx-variants.js";import c,{API_ERROR as h}from"../../core/Errors/AdyenCheckoutError.js";import{ANALYTICS_RENDERED_STR as u,Analytics3DS2Events as y,Analytics3DS2Errors as d,ANALYTICS_API_ERROR as A}from"../../core/Analytics/constants.js";import{CoreProvider as C}from"../../core/Context/CoreProvider.js";class D extends e{static type=l.threeDS2Challenge;static defaultProps={dataKey:"threeDSResult",size:s,type:r};submitAnalytics=t=>{t.type!==u&&super.submitAnalytics(t)};onActionHandled=t=>{this.submitAnalytics({type:n,message:t.actionDescription,subtype:y.CHALLENGE_IFRAME_LOADED}),super.onActionHandled(t)};onComplete(t){t&&super.onComplete(t),this.unmount()}render(){if(!p(this.props.paymentData)){const t=m(this.props,"isMDFlow")?"paymentData":"authorisationToken";return this.props.onError(new c(h,`No ${t} received. 3DS2 Challenge cannot proceed`)),this.submitAnalytics({type:i,code:d.ACTION_IS_MISSING_PAYMENT_DATA,errorType:A,message:`${a}: Missing 'paymentData' property from threeDS2 action`}),null}return t(C,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(o,{...this.props,onComplete:this.onComplete,onSubmitAnalytics:this.submitAnalytics,isMDFlow:this.props.paymentData.length<15,onActionHandled:this.onActionHandled}))}}export{D as default};
2
2
  //# sourceMappingURL=ThreeDS2Challenge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThreeDS2Challenge.js","sources":["../../../../src/components/ThreeDS2/ThreeDS2Challenge.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport PrepareChallenge from './components/Challenge';\nimport { DEFAULT_CHALLENGE_WINDOW_SIZE, THREEDS2_CHALLENGE, THREEDS2_CHALLENGE_ERROR, THREEDS2_ERROR } from './constants';\nimport { existy } from '../../utils/commonUtils';\nimport { hasOwnProperty } from '../../utils/hasOwnProperty';\nimport { TxVariants } from '../tx-variants';\nimport { ThreeDS2ChallengeConfiguration } from './types';\nimport AdyenCheckoutError, { API_ERROR } from '../../core/Errors/AdyenCheckoutError';\nimport { ANALYTICS_API_ERROR, Analytics3DS2Errors, ANALYTICS_RENDERED_STR } from '../../core/Analytics/constants';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\n\nclass ThreeDS2Challenge extends UIElement<ThreeDS2ChallengeConfiguration> {\n public static type = TxVariants.threeDS2Challenge;\n\n public static defaultProps = {\n dataKey: 'threeDSResult',\n size: DEFAULT_CHALLENGE_WINDOW_SIZE,\n type: THREEDS2_CHALLENGE\n };\n\n protected submitAnalytics = (aObj: SendAnalyticsObject) => {\n if (aObj.type === ANALYTICS_RENDERED_STR) return; // suppress the rendered event (it will have the same timestamp as the \"creq sent\" event)\n\n super.submitAnalytics(aObj);\n };\n\n onComplete(state) {\n /**\n * Equals a call to onAdditionalDetails (as set in actionTypes.ts) for the regular, \"native\" flow.\n * However, if the action to create this component came from the 3DS2InMDFlow process it will instead equal a call to the onComplete callback\n * (as defined in the 3DS2InMDFlow and passed in as a config prop).\n */\n if (state) super.onComplete(state);\n this.unmount(); // re. fixing issue around back to back challenge calls\n }\n\n render() {\n // existy used because threeds2InMDFlow will send empty string for paymentData and we should be allowed to proceed with this\n if (!existy(this.props.paymentData)) {\n /**\n * The presence of props.isMDFlow indicates the action to create this component came from the threeds2InMDFlow process which passes (an empty) paymentsData.\n * The regular, \"native\" flow uses the authorisationToken from the 3DS2 action, which actionTypes.ts assigns to a property called paymentData\n */\n const dataTypeForError = hasOwnProperty(this.props, 'isMDFlow') ? 'paymentData' : 'authorisationToken';\n\n this.props.onError(new AdyenCheckoutError(API_ERROR, `No ${dataTypeForError} received. 3DS2 Challenge cannot proceed`));\n\n this.submitAnalytics({\n type: THREEDS2_ERROR,\n code: Analytics3DS2Errors.ACTION_IS_MISSING_PAYMENT_DATA,\n errorType: ANALYTICS_API_ERROR,\n message: `${THREEDS2_CHALLENGE_ERROR}: Missing 'paymentData' property from threeDS2 action`\n });\n\n return null;\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <PrepareChallenge\n {...this.props}\n onComplete={this.onComplete}\n onSubmitAnalytics={this.submitAnalytics}\n isMDFlow={this.props.paymentData.length < 15}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default ThreeDS2Challenge;\n"],"names":["ThreeDS2Challenge","UIElement","static","TxVariants","threeDS2Challenge","dataKey","size","DEFAULT_CHALLENGE_WINDOW_SIZE","type","THREEDS2_CHALLENGE","submitAnalytics","aObj","ANALYTICS_RENDERED_STR","super","onComplete","state","this","unmount","render","existy","props","paymentData","dataTypeForError","hasOwnProperty","onError","AdyenCheckoutError","API_ERROR","THREEDS2_ERROR","code","Analytics3DS2Errors","ACTION_IS_MISSING_PAYMENT_DATA","errorType","ANALYTICS_API_ERROR","message","THREEDS2_CHALLENGE_ERROR","h","CoreProvider","i18n","loadingContext","resources","PrepareChallenge","onSubmitAnalytics","isMDFlow","length"],"mappings":"mvBAaA,MAAMA,UAA0BC,EAC5BC,YAAqBC,EAAWC,kBAEhCF,oBAA6B,CACzBG,QAAS,gBACTC,KAAMC,EACNC,KAAMC,GAGAC,gBAAmBC,IACrBA,EAAKH,OAASI,GAElBC,MAAMH,gBAAgBC,EAAAA,EAG1BG,UAAAA,CAAWC,GAMHA,GAAOF,MAAMC,WAAWC,GAC5BC,KAAKC,SACT,CAEAC,MAAAA,GAEI,IAAKC,EAAOH,KAAKI,MAAMC,aAAc,CAKjC,MAAMC,EAAmBC,EAAeP,KAAKI,MAAO,YAAc,cAAgB,qBAWlF,OATAJ,KAAKI,MAAMI,QAAQ,IAAIC,EAAmBC,EAAW,MAAMJ,8CAE3DN,KAAKN,gBAAgB,CACjBF,KAAMmB,EACNC,KAAMC,EAAoBC,+BAC1BC,UAAWC,EACXC,QAAS,GAAGC,2DAGT,IACX,CAEA,OACIC,EAACC,EAAAA,CAAaC,KAAMrB,KAAKI,MAAMiB,KAAMC,eAAgBtB,KAAKI,MAAMkB,eAAgBC,UAAWvB,KAAKuB,WAC5FJ,EAACK,EAAAA,IACOxB,KAAKI,MACTN,WAAYE,KAAKF,WACjB2B,kBAAmBzB,KAAKN,gBACxBgC,SAAU1B,KAAKI,MAAMC,YAAYsB,OAAS,KAI1D"}
1
+ {"version":3,"file":"ThreeDS2Challenge.js","sources":["../../../../src/components/ThreeDS2/ThreeDS2Challenge.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport PrepareChallenge from './components/Challenge';\nimport { DEFAULT_CHALLENGE_WINDOW_SIZE, THREEDS2_CHALLENGE, THREEDS2_CHALLENGE_ERROR, THREEDS2_ERROR, THREEDS2_FULL } from './constants';\nimport { existy } from '../../utils/commonUtils';\nimport { hasOwnProperty } from '../../utils/hasOwnProperty';\nimport { TxVariants } from '../tx-variants';\nimport { ThreeDS2ChallengeConfiguration } from './types';\nimport AdyenCheckoutError, { API_ERROR } from '../../core/Errors/AdyenCheckoutError';\nimport { ANALYTICS_API_ERROR, Analytics3DS2Errors, ANALYTICS_RENDERED_STR, Analytics3DS2Events } from '../../core/Analytics/constants';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { ActionHandledReturnObject } from '../../types/global-types';\n\nclass ThreeDS2Challenge extends UIElement<ThreeDS2ChallengeConfiguration> {\n public static type = TxVariants.threeDS2Challenge;\n\n public static defaultProps = {\n dataKey: 'threeDSResult',\n size: DEFAULT_CHALLENGE_WINDOW_SIZE,\n type: THREEDS2_CHALLENGE\n };\n\n protected submitAnalytics = (aObj: SendAnalyticsObject) => {\n if (aObj.type === ANALYTICS_RENDERED_STR) return; // suppress the rendered event (it will have the same timestamp as the \"creq sent\" event)\n\n super.submitAnalytics(aObj);\n };\n\n protected onActionHandled = (rtnObj: ActionHandledReturnObject) => {\n this.submitAnalytics({\n type: THREEDS2_FULL,\n message: rtnObj.actionDescription,\n subtype: Analytics3DS2Events.CHALLENGE_IFRAME_LOADED\n });\n\n super.onActionHandled(rtnObj);\n };\n\n onComplete(state) {\n /**\n * Equals a call to onAdditionalDetails (as set in actionTypes.ts) for the regular, \"native\" flow.\n * However, if the action to create this component came from the 3DS2InMDFlow process it will instead equal a call to the onComplete callback\n * (as defined in the 3DS2InMDFlow and passed in as a config prop).\n */\n if (state) super.onComplete(state);\n this.unmount(); // re. fixing issue around back to back challenge calls\n }\n\n render() {\n // existy used because threeds2InMDFlow will send empty string for paymentData and we should be allowed to proceed with this\n if (!existy(this.props.paymentData)) {\n /**\n * The presence of props.isMDFlow indicates the action to create this component came from the threeds2InMDFlow process which passes (an empty) paymentsData.\n * The regular, \"native\" flow uses the authorisationToken from the 3DS2 action, which actionTypes.ts assigns to a property called paymentData\n */\n const dataTypeForError = hasOwnProperty(this.props, 'isMDFlow') ? 'paymentData' : 'authorisationToken';\n\n this.props.onError(new AdyenCheckoutError(API_ERROR, `No ${dataTypeForError} received. 3DS2 Challenge cannot proceed`));\n\n this.submitAnalytics({\n type: THREEDS2_ERROR,\n code: Analytics3DS2Errors.ACTION_IS_MISSING_PAYMENT_DATA,\n errorType: ANALYTICS_API_ERROR,\n message: `${THREEDS2_CHALLENGE_ERROR}: Missing 'paymentData' property from threeDS2 action`\n });\n\n return null;\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <PrepareChallenge\n {...this.props}\n onComplete={this.onComplete}\n onSubmitAnalytics={this.submitAnalytics}\n isMDFlow={this.props.paymentData.length < 15}\n onActionHandled={this.onActionHandled}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default ThreeDS2Challenge;\n"],"names":["ThreeDS2Challenge","UIElement","static","TxVariants","threeDS2Challenge","dataKey","size","DEFAULT_CHALLENGE_WINDOW_SIZE","type","THREEDS2_CHALLENGE","submitAnalytics","aObj","ANALYTICS_RENDERED_STR","super","onActionHandled","rtnObj","this","THREEDS2_FULL","message","actionDescription","subtype","Analytics3DS2Events","CHALLENGE_IFRAME_LOADED","onComplete","state","unmount","render","existy","props","paymentData","dataTypeForError","hasOwnProperty","onError","AdyenCheckoutError","API_ERROR","THREEDS2_ERROR","code","Analytics3DS2Errors","ACTION_IS_MISSING_PAYMENT_DATA","errorType","ANALYTICS_API_ERROR","THREEDS2_CHALLENGE_ERROR","h","CoreProvider","i18n","loadingContext","resources","PrepareChallenge","onSubmitAnalytics","isMDFlow","length"],"mappings":"+xBAcA,MAAMA,UAA0BC,EAC5BC,YAAqBC,EAAWC,kBAEhCF,oBAA6B,CACzBG,QAAS,gBACTC,KAAMC,EACNC,KAAMC,GAGAC,gBAAmBC,IACrBA,EAAKH,OAASI,GAElBC,MAAMH,gBAAgBC,EAAAA,EAGhBG,gBAAmBC,IACzBC,KAAKN,gBAAgB,CACjBF,KAAMS,EACNC,QAASH,EAAOI,kBAChBC,QAASC,EAAoBC,0BAGjCT,MAAMC,gBAAgBC,EAAAA,EAG1BQ,UAAAA,CAAWC,GAMHA,GAAOX,MAAMU,WAAWC,GAC5BR,KAAKS,SACT,CAEAC,MAAAA,GAEI,IAAKC,EAAOX,KAAKY,MAAMC,aAAc,CAKjC,MAAMC,EAAmBC,EAAef,KAAKY,MAAO,YAAc,cAAgB,qBAWlF,OATAZ,KAAKY,MAAMI,QAAQ,IAAIC,EAAmBC,EAAW,MAAMJ,8CAE3Dd,KAAKN,gBAAgB,CACjBF,KAAM2B,EACNC,KAAMC,EAAoBC,+BAC1BC,UAAWC,EACXtB,QAAS,GAAGuB,2DAGT,IACX,CAEA,OACIC,EAACC,EAAAA,CAAaC,KAAM5B,KAAKY,MAAMgB,KAAMC,eAAgB7B,KAAKY,MAAMiB,eAAgBC,UAAW9B,KAAK8B,WAC5FJ,EAACK,EAAAA,IACO/B,KAAKY,MACTL,WAAYP,KAAKO,WACjByB,kBAAmBhC,KAAKN,gBACxBuC,SAAUjC,KAAKY,MAAMC,YAAYqB,OAAS,GAC1CpC,gBAAiBE,KAAKF,kBAItC"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as r}from"../internal/UIElement/UIElement.js";import e from"./components/DeviceFingerprint/PrepareFingerprint3DS2.js";import i from"./callSubmit3DS2Fingerprint.js";import{existy as s}from"../../utils/commonUtils.js";import{TxVariants as n}from"../tx-variants.js";import o,{API_ERROR as p}from"../../core/Errors/AdyenCheckoutError.js";import{ANALYTICS_RENDERED_STR as a,Analytics3DS2Errors as m,ANALYTICS_API_ERROR as l}from"../../core/Analytics/constants.js";import{THREEDS2_FINGERPRINT as c,THREEDS2_ERROR as u,THREEDS2_FINGERPRINT_ERROR as y}from"./constants.js";class h extends r{static type=n.threeDS2Fingerprint;static defaultProps={dataKey:"fingerprintResult",type:c};callSubmit3DS2Fingerprint=i.bind(this);submitAnalytics=t=>{t.type!==a&&super.submitAnalytics(t)};onComplete(t){super.onComplete(t),this.unmount()}render(){return s(this.props.paymentData)?t(e,{...this.props,onComplete:this.props.isMDFlow?this.onComplete:this.callSubmit3DS2Fingerprint,onSubmitAnalytics:this.submitAnalytics,isMDFlow:this.props.paymentData.length<15}):(this.props.onError(new o(p,"No paymentData received. 3DS2 Fingerprint cannot proceed")),this.submitAnalytics({type:u,code:m.ACTION_IS_MISSING_PAYMENT_DATA,errorType:l,message:`${y}: Missing 'paymentData' property from threeDS2 action`}),null)}}export{h as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/DeviceFingerprint/PrepareFingerprint3DS2.js";import i from"./callSubmit3DS2Fingerprint.js";import{existy as n}from"../../utils/commonUtils.js";import{TxVariants as s}from"../tx-variants.js";import o,{API_ERROR as p}from"../../core/Errors/AdyenCheckoutError.js";import{ANALYTICS_RENDERED_STR as a,Analytics3DS2Events as m,Analytics3DS2Errors as l,ANALYTICS_API_ERROR as c}from"../../core/Analytics/constants.js";import{THREEDS2_FINGERPRINT as u,THREEDS2_FULL as y,THREEDS2_ERROR as d,THREEDS2_FINGERPRINT_ERROR as A}from"./constants.js";class D extends e{static type=s.threeDS2Fingerprint;static defaultProps={dataKey:"fingerprintResult",type:u};callSubmit3DS2Fingerprint=i.bind(this);submitAnalytics=t=>{t.type!==a&&super.submitAnalytics(t)};onActionHandled=t=>{this.submitAnalytics({type:y,message:t.actionDescription,subtype:m.FINGERPRINT_IFRAME_LOADED}),super.onActionHandled(t)};onComplete(t){super.onComplete(t),this.unmount()}render(){return n(this.props.paymentData)?t(r,{...this.props,onComplete:this.props.isMDFlow?this.onComplete:this.callSubmit3DS2Fingerprint,onSubmitAnalytics:this.submitAnalytics,isMDFlow:this.props.paymentData.length<15,onActionHandled:this.onActionHandled}):(this.props.onError(new o(p,"No paymentData received. 3DS2 Fingerprint cannot proceed")),this.submitAnalytics({type:d,code:l.ACTION_IS_MISSING_PAYMENT_DATA,errorType:c,message:`${A}: Missing 'paymentData' property from threeDS2 action`}),null)}}export{D as default};
2
2
  //# sourceMappingURL=ThreeDS2DeviceFingerprint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThreeDS2DeviceFingerprint.js","sources":["../../../../src/components/ThreeDS2/ThreeDS2DeviceFingerprint.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport PrepareFingerprint from './components/DeviceFingerprint';\nimport callSubmit3DS2Fingerprint from './callSubmit3DS2Fingerprint';\nimport { existy } from '../../utils/commonUtils';\nimport { TxVariants } from '../tx-variants';\nimport { ThreeDS2DeviceFingerprintConfiguration } from './types';\nimport AdyenCheckoutError, { API_ERROR } from '../../core/Errors/AdyenCheckoutError';\nimport { ANALYTICS_API_ERROR, Analytics3DS2Errors, ANALYTICS_RENDERED_STR } from '../../core/Analytics/constants';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\nimport { THREEDS2_ERROR, THREEDS2_FINGERPRINT, THREEDS2_FINGERPRINT_ERROR } from './constants';\n\nclass ThreeDS2DeviceFingerprint extends UIElement<ThreeDS2DeviceFingerprintConfiguration> {\n public static type = TxVariants.threeDS2Fingerprint;\n\n public static defaultProps = {\n dataKey: 'fingerprintResult',\n type: THREEDS2_FINGERPRINT\n };\n\n private callSubmit3DS2Fingerprint = callSubmit3DS2Fingerprint.bind(this); // New 3DS2 flow\n\n protected submitAnalytics = (aObj: SendAnalyticsObject) => {\n if (aObj.type === ANALYTICS_RENDERED_STR) return; // suppress the rendered event (it will have the same timestamp as the \"threeDSMethodData sent\" event)\n\n super.submitAnalytics(aObj);\n };\n\n onComplete(state) {\n super.onComplete(state);\n this.unmount(); // re. fixing issue around back to back fingerprinting calls\n }\n\n render() {\n /**\n * In the regular components (aka \"native\") flow we can't proceed because something has gone wrong with the payment if paymentData is missing from the threeDS2 action.\n * In the MDFlow the paymentData is always present (albeit an empty string, which is why we use 'existy' since we should be allowed to proceed with this)\n */\n if (!existy(this.props.paymentData)) {\n this.props.onError(new AdyenCheckoutError(API_ERROR, `No paymentData received. 3DS2 Fingerprint cannot proceed`));\n\n // TODO - check logs to see if this *ever* happens\n this.submitAnalytics({\n type: THREEDS2_ERROR,\n code: Analytics3DS2Errors.ACTION_IS_MISSING_PAYMENT_DATA,\n errorType: ANALYTICS_API_ERROR,\n message: `${THREEDS2_FINGERPRINT_ERROR}: Missing 'paymentData' property from threeDS2 action`\n });\n\n return null;\n }\n\n /**\n * this.props.isMDFlow indicates the action to create this component came from the 3DS2InMDFlow process and upon completion should call the\n * passed onComplete callback (as defined in the 3DS2InMDFlow) instead of the /submitThreeDS2Fingerprint endpoint for the regular, \"native\" flow\n */\n return (\n <PrepareFingerprint\n {...this.props}\n onComplete={this.props.isMDFlow ? this.onComplete : this.callSubmit3DS2Fingerprint}\n onSubmitAnalytics={this.submitAnalytics}\n isMDFlow={this.props.paymentData.length < 15}\n />\n );\n }\n}\n\nexport default ThreeDS2DeviceFingerprint;\n"],"names":["ThreeDS2DeviceFingerprint","UIElement","static","TxVariants","threeDS2Fingerprint","dataKey","type","THREEDS2_FINGERPRINT","callSubmit3DS2Fingerprint","bind","this","submitAnalytics","aObj","ANALYTICS_RENDERED_STR","super","onComplete","state","unmount","render","existy","props","paymentData","h","PrepareFingerprint","isMDFlow","onSubmitAnalytics","length","onError","AdyenCheckoutError","API_ERROR","THREEDS2_ERROR","code","Analytics3DS2Errors","ACTION_IS_MISSING_PAYMENT_DATA","errorType","ANALYTICS_API_ERROR","message","THREEDS2_FINGERPRINT_ERROR"],"mappings":"2oBAYA,MAAMA,UAAkCC,EACpCC,YAAqBC,EAAWC,oBAEhCF,oBAA6B,CACzBG,QAAS,oBACTC,KAAMC,GAGFC,0BAA4BA,EAA0BC,KAAKC,MAEzDC,gBAAmBC,IACrBA,EAAKN,OAASO,GAElBC,MAAMH,gBAAgBC,EAAAA,EAG1BG,UAAAA,CAAWC,GACPF,MAAMC,WAAWC,GACjBN,KAAKO,SACT,CAEAC,MAAAA,GAKI,OAAKC,EAAOT,KAAKU,MAAMC,aAmBnBC,EAACC,EAAAA,IACOb,KAAKU,MACTL,WAAYL,KAAKU,MAAMI,SAAWd,KAAKK,WAAaL,KAAKF,0BACzDiB,kBAAmBf,KAAKC,gBACxBa,SAAUd,KAAKU,MAAMC,YAAYK,OAAS,MAtB9ChB,KAAKU,MAAMO,QAAQ,IAAIC,EAAmBC,EAAW,6DAGrDnB,KAAKC,gBAAgB,CACjBL,KAAMwB,EACNC,KAAMC,EAAoBC,+BAC1BC,UAAWC,EACXC,QAAS,GAAGC,2DAGT,KAef"}
1
+ {"version":3,"file":"ThreeDS2DeviceFingerprint.js","sources":["../../../../src/components/ThreeDS2/ThreeDS2DeviceFingerprint.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport PrepareFingerprint from './components/DeviceFingerprint';\nimport callSubmit3DS2Fingerprint from './callSubmit3DS2Fingerprint';\nimport { existy } from '../../utils/commonUtils';\nimport { TxVariants } from '../tx-variants';\nimport { ThreeDS2DeviceFingerprintConfiguration } from './types';\nimport AdyenCheckoutError, { API_ERROR } from '../../core/Errors/AdyenCheckoutError';\nimport { ANALYTICS_API_ERROR, Analytics3DS2Errors, ANALYTICS_RENDERED_STR, Analytics3DS2Events } from '../../core/Analytics/constants';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\nimport { THREEDS2_ERROR, THREEDS2_FINGERPRINT, THREEDS2_FINGERPRINT_ERROR, THREEDS2_FULL } from './constants';\nimport { ActionHandledReturnObject } from '../../types/global-types';\n\nclass ThreeDS2DeviceFingerprint extends UIElement<ThreeDS2DeviceFingerprintConfiguration> {\n public static type = TxVariants.threeDS2Fingerprint;\n\n public static defaultProps = {\n dataKey: 'fingerprintResult',\n type: THREEDS2_FINGERPRINT\n };\n\n private callSubmit3DS2Fingerprint = callSubmit3DS2Fingerprint.bind(this); // New 3DS2 flow\n\n protected submitAnalytics = (aObj: SendAnalyticsObject) => {\n if (aObj.type === ANALYTICS_RENDERED_STR) return; // suppress the rendered event (it will have the same timestamp as the \"threeDSMethodData sent\" event)\n\n super.submitAnalytics(aObj);\n };\n\n protected onActionHandled = (rtnObj: ActionHandledReturnObject) => {\n this.submitAnalytics({\n type: THREEDS2_FULL,\n message: rtnObj.actionDescription,\n subtype: Analytics3DS2Events.FINGERPRINT_IFRAME_LOADED\n });\n super.onActionHandled(rtnObj);\n };\n\n onComplete(state) {\n super.onComplete(state);\n this.unmount(); // re. fixing issue around back to back fingerprinting calls\n }\n\n render() {\n /**\n * In the regular components (aka \"native\") flow we can't proceed because something has gone wrong with the payment if paymentData is missing from the threeDS2 action.\n * In the MDFlow the paymentData is always present (albeit an empty string, which is why we use 'existy' since we should be allowed to proceed with this)\n */\n if (!existy(this.props.paymentData)) {\n this.props.onError(new AdyenCheckoutError(API_ERROR, `No paymentData received. 3DS2 Fingerprint cannot proceed`));\n\n // TODO - check logs to see if this *ever* happens\n this.submitAnalytics({\n type: THREEDS2_ERROR,\n code: Analytics3DS2Errors.ACTION_IS_MISSING_PAYMENT_DATA,\n errorType: ANALYTICS_API_ERROR,\n message: `${THREEDS2_FINGERPRINT_ERROR}: Missing 'paymentData' property from threeDS2 action`\n });\n\n return null;\n }\n\n /**\n * this.props.isMDFlow indicates the action to create this component came from the 3DS2InMDFlow process and upon completion should call the\n * passed onComplete callback (as defined in the 3DS2InMDFlow) instead of the /submitThreeDS2Fingerprint endpoint for the regular, \"native\" flow\n */\n return (\n <PrepareFingerprint\n {...this.props}\n onComplete={this.props.isMDFlow ? this.onComplete : this.callSubmit3DS2Fingerprint}\n onSubmitAnalytics={this.submitAnalytics}\n isMDFlow={this.props.paymentData.length < 15}\n onActionHandled={this.onActionHandled}\n />\n );\n }\n}\n\nexport default ThreeDS2DeviceFingerprint;\n"],"names":["ThreeDS2DeviceFingerprint","UIElement","static","TxVariants","threeDS2Fingerprint","dataKey","type","THREEDS2_FINGERPRINT","callSubmit3DS2Fingerprint","bind","this","submitAnalytics","aObj","ANALYTICS_RENDERED_STR","super","onActionHandled","rtnObj","THREEDS2_FULL","message","actionDescription","subtype","Analytics3DS2Events","FINGERPRINT_IFRAME_LOADED","onComplete","state","unmount","render","existy","props","paymentData","h","PrepareFingerprint","isMDFlow","onSubmitAnalytics","length","onError","AdyenCheckoutError","API_ERROR","THREEDS2_ERROR","code","Analytics3DS2Errors","ACTION_IS_MISSING_PAYMENT_DATA","errorType","ANALYTICS_API_ERROR","THREEDS2_FINGERPRINT_ERROR"],"mappings":"urBAaA,MAAMA,UAAkCC,EACpCC,YAAqBC,EAAWC,oBAEhCF,oBAA6B,CACzBG,QAAS,oBACTC,KAAMC,GAGFC,0BAA4BA,EAA0BC,KAAKC,MAEzDC,gBAAmBC,IACrBA,EAAKN,OAASO,GAElBC,MAAMH,gBAAgBC,EAAAA,EAGhBG,gBAAmBC,IACzBN,KAAKC,gBAAgB,CACjBL,KAAMW,EACNC,QAASF,EAAOG,kBAChBC,QAASC,EAAoBC,4BAEjCR,MAAMC,gBAAgBC,EAAAA,EAG1BO,UAAAA,CAAWC,GACPV,MAAMS,WAAWC,GACjBd,KAAKe,SACT,CAEAC,MAAAA,GAKI,OAAKC,EAAOjB,KAAKkB,MAAMC,aAmBnBC,EAACC,EAAAA,IACOrB,KAAKkB,MACTL,WAAYb,KAAKkB,MAAMI,SAAWtB,KAAKa,WAAab,KAAKF,0BACzDyB,kBAAmBvB,KAAKC,gBACxBqB,SAAUtB,KAAKkB,MAAMC,YAAYK,OAAS,GAC1CnB,gBAAiBL,KAAKK,mBAvB1BL,KAAKkB,MAAMO,QAAQ,IAAIC,EAAmBC,EAAW,6DAGrD3B,KAAKC,gBAAgB,CACjBL,KAAMgC,EACNC,KAAMC,EAAoBC,+BAC1BC,UAAWC,EACXzB,QAAS,GAAG0B,2DAGT,KAgBf"}
@@ -1,2 +1,2 @@
1
- import{Component as e,createElement as s}from"../../../../external/preact/dist/preact.js";import t from"../../../../external/classnames/index.js";import a from"../../../internal/IFrame/Iframe.js";import r from"../../../internal/Spinner/Spinner.js";import n from"../Form/ThreeDS2Form.js";import o from"../../../../utils/get-process-message-handler.js";import{encodeBase64URL as i}from"../utils.js";import m from"../../../../utils/promiseTimeout.js";import{THREEDS2_NUM as l,CHALLENGE_TIMEOUT as c,CHALLENGE_TIMEOUT_REJECT_OBJECT as h}from"../../constants.js";const p="threeDSIframe";class d extends e{processMessageHandler;challengePromise;constructor(e){super(e);const s=JSON.stringify(this.props.cReqData),t=i(s);this.state={base64URLencodedData:t,status:"init"}}iframeCallback=()=>{this.setState({status:"iframeLoaded"}),"init"===this.state.status&&this.props.onActionHandled({componentType:"3DS2Challenge",actionDescription:`${l} challenge iframe loaded`})};get3DS2ChallengePromise(){return new Promise(((e,s)=>{this.processMessageHandler=o(this.props.postMessageDomain,e,s,"challengeResult"),window.addEventListener("message",this.processMessageHandler)}))}componentDidMount(){this.challengePromise=m(c,this.get3DS2ChallengePromise(),h),this.challengePromise.promise.then((e=>{window.removeEventListener("message",this.processMessageHandler),this.props.onCompleteChallenge(e)})).catch((e=>{window.removeEventListener("message",this.processMessageHandler),this.props.onErrorChallenge(e)}))}componentWillUnmount(){this.challengePromise&&this.challengePromise.cancel(),window.removeEventListener("message",this.processMessageHandler)}render({acsURL:e,cReqData:o,iframeSizeArr:i,onFormSubmit:m},{base64URLencodedData:l,status:c}){const[h,d]=i;return s("div",{className:t(["adyen-checkout__threeds2__challenge",`adyen-checkout__threeds2__challenge--${o.challengeWindowSize}`])},"iframeLoaded"!==c&&s(r,null),s(a,{name:p,width:h,height:d,callback:this.iframeCallback}),s(n,{name:"cReqForm",action:e,target:p,inputName:"creq",inputValue:l,onFormSubmit:m}))}}export{d as default};
1
+ import{Component as e,createElement as s}from"../../../../external/preact/dist/preact.js";import t from"../../../../external/classnames/index.js";import a from"../../../internal/IFrame/Iframe.js";import r from"../../../internal/Spinner/Spinner.js";import n from"../Form/ThreeDS2Form.js";import o from"../../../../utils/get-process-message-handler.js";import{encodeBase64URL as i}from"../utils.js";import m from"../../../../utils/promiseTimeout.js";import{THREEDS2_NUM as l,CHALLENGE_TIMEOUT as c,CHALLENGE_TIMEOUT_REJECT_OBJECT as h}from"../../constants.js";const p="threeDSIframe";class d extends e{processMessageHandler;challengePromise;constructor(e){super(e);const s=JSON.stringify(this.props.cReqData),t=i(s);this.state={base64URLencodedData:t,status:"init"}}iframeCallback=()=>{this.setState({status:"iframeLoaded"}),"init"===this.state.status&&this.props.onActionHandled?.({componentType:"3DS2Challenge",actionDescription:`${l} challenge iframe loaded`})};get3DS2ChallengePromise(){return new Promise(((e,s)=>{this.processMessageHandler=o(this.props.postMessageDomain,e,s,"challengeResult"),window.addEventListener("message",this.processMessageHandler)}))}componentDidMount(){this.challengePromise=m(c,this.get3DS2ChallengePromise(),h),this.challengePromise.promise.then((e=>{window.removeEventListener("message",this.processMessageHandler),this.props.onCompleteChallenge(e)})).catch((e=>{window.removeEventListener("message",this.processMessageHandler),this.props.onErrorChallenge(e)}))}componentWillUnmount(){this.challengePromise&&this.challengePromise.cancel(),window.removeEventListener("message",this.processMessageHandler)}render({acsURL:e,cReqData:o,iframeSizeArr:i,onFormSubmit:m},{base64URLencodedData:l,status:c}){const[h,d]=i;return s("div",{className:t(["adyen-checkout__threeds2__challenge",`adyen-checkout__threeds2__challenge--${o.challengeWindowSize}`])},"iframeLoaded"!==c&&s(r,null),s(a,{name:p,width:h,height:d,callback:this.iframeCallback}),s(n,{name:"cReqForm",action:e,target:p,inputName:"creq",inputValue:l,onFormSubmit:m}))}}export{d as default};
2
2
  //# sourceMappingURL=DoChallenge3DS2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DoChallenge3DS2.js","sources":["../../../../../../src/components/ThreeDS2/components/Challenge/DoChallenge3DS2.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport classNames from 'classnames';\nimport Iframe from '../../../internal/IFrame';\nimport Spinner from '../../../internal/Spinner';\nimport ThreeDS2Form from '../Form';\nimport getProcessMessageHandler from '../../../../utils/get-process-message-handler';\nimport { encodeBase64URL } from '../utils';\nimport promiseTimeout from '../../../../utils/promiseTimeout';\nimport { CHALLENGE_TIMEOUT, CHALLENGE_TIMEOUT_REJECT_OBJECT, THREEDS2_NUM } from '../../constants';\nimport { DoChallenge3DS2Props, DoChallenge3DS2State } from './types';\nimport { ThreeDS2FlowObject } from '../../types';\n\nconst iframeName = 'threeDSIframe';\n\nclass DoChallenge3DS2 extends Component<DoChallenge3DS2Props, DoChallenge3DS2State> {\n private processMessageHandler;\n private challengePromise: { cancel: () => void; promise: Promise<any> };\n\n constructor(props) {\n super(props);\n\n /**\n * Create and Base64Url encode a JSON object containing the serverTransactionID & threeDSMethodNotificationURL\n */\n const jsonStr = JSON.stringify(this.props.cReqData);\n const base64URLencodedData = encodeBase64URL(jsonStr);\n this.state = { base64URLencodedData, status: 'init' };\n }\n\n private iframeCallback = () => {\n this.setState({ status: 'iframeLoaded' });\n // On Test - actually calls-back 3 times: once for challenge screen, once again as challenge.html reloads after the challenge is submitted, and once for redirect to threeDSNotificationURL.\n // But for the purposes of calling the merchant defined onActionHandled callback - we only want to do it once\n if (this.state.status === 'init') {\n this.props.onActionHandled({ componentType: '3DS2Challenge', actionDescription: `${THREEDS2_NUM} challenge iframe loaded` });\n }\n };\n\n private get3DS2ChallengePromise(): Promise<any> {\n return new Promise((resolve, reject) => {\n /**\n * Listen for postMessage responses from the notification url\n */\n this.processMessageHandler = getProcessMessageHandler(this.props.postMessageDomain, resolve, reject, 'challengeResult');\n\n \n window.addEventListener('message', this.processMessageHandler);\n });\n }\n\n componentDidMount() {\n // Render challenge\n this.challengePromise = promiseTimeout(CHALLENGE_TIMEOUT, this.get3DS2ChallengePromise(), CHALLENGE_TIMEOUT_REJECT_OBJECT);\n this.challengePromise.promise\n .then((resolveObject: ThreeDS2FlowObject) => {\n window.removeEventListener('message', this.processMessageHandler);\n this.props.onCompleteChallenge(resolveObject);\n })\n /** Catch, for when Challenge times-out */\n .catch((rejectObject: ThreeDS2FlowObject) => {\n window.removeEventListener('message', this.processMessageHandler);\n this.props.onErrorChallenge(rejectObject);\n });\n }\n\n componentWillUnmount() {\n if (this.challengePromise) this.challengePromise.cancel();\n window.removeEventListener('message', this.processMessageHandler);\n }\n\n render({ acsURL, cReqData, iframeSizeArr, onFormSubmit }, { base64URLencodedData, status }) {\n const [width, height] = iframeSizeArr;\n\n return (\n <div\n className={classNames([\n 'adyen-checkout__threeds2__challenge',\n `adyen-checkout__threeds2__challenge--${cReqData.challengeWindowSize}`\n ])}\n >\n {status !== 'iframeLoaded' && <Spinner />}\n\n <Iframe name={iframeName} width={width} height={height} callback={this.iframeCallback} />\n <ThreeDS2Form\n name={'cReqForm'}\n action={acsURL}\n target={iframeName}\n inputName={'creq'}\n inputValue={base64URLencodedData}\n onFormSubmit={onFormSubmit}\n />\n </div>\n );\n }\n}\n\nexport default DoChallenge3DS2;\n"],"names":["iframeName","DoChallenge3DS2","Component","processMessageHandler","challengePromise","constructor","props","super","jsonStr","JSON","stringify","this","cReqData","base64URLencodedData","encodeBase64URL","state","status","iframeCallback","setState","onActionHandled","componentType","actionDescription","THREEDS2_NUM","get3DS2ChallengePromise","Promise","resolve","reject","getProcessMessageHandler","postMessageDomain","window","addEventListener","componentDidMount","promiseTimeout","CHALLENGE_TIMEOUT","CHALLENGE_TIMEOUT_REJECT_OBJECT","promise","then","resolveObject","removeEventListener","onCompleteChallenge","catch","rejectObject","onErrorChallenge","componentWillUnmount","cancel","render","acsURL","iframeSizeArr","onFormSubmit","width","height","h","div","className","classNames","challengeWindowSize","Spinner","Iframe","name","callback","ThreeDS2Form","action","target","inputName","inputValue"],"mappings":"8iBAYA,MAAMA,EAAa,gBAEnB,MAAMC,UAAwBC,EAClBC,sBACAC,iBAERC,WAAAA,CAAYC,GACRC,MAAMD,GAKN,MAAME,EAAUC,KAAKC,UAAUC,KAAKL,MAAMM,UACpCC,EAAuBC,EAAgBN,GAC7CG,KAAKI,MAAQ,CAAEF,uBAAsBG,OAAQ,OACjD,CAEQC,eAAiB,KACrBN,KAAKO,SAAS,CAAEF,OAAQ,iBAGE,SAAtBL,KAAKI,MAAMC,QACXL,KAAKL,MAAMa,gBAAgB,CAAEC,cAAe,gBAAiBC,kBAAmB,GAAGC,6BACvF,EAGIC,uBAAAA,GACJ,OAAO,IAAIC,SAAQ,CAACC,EAASC,KAIzBf,KAAKR,sBAAwBwB,EAAyBhB,KAAKL,MAAMsB,kBAAmBH,EAASC,EAAQ,mBAGrGG,OAAOC,iBAAiB,UAAWnB,KAAKR,sBAAqB,GAErE,CAEA4B,iBAAAA,GAEIpB,KAAKP,iBAAmB4B,EAAeC,EAAmBtB,KAAKY,0BAA2BW,GAC1FvB,KAAKP,iBAAiB+B,QACjBC,MAAMC,IACHR,OAAOS,oBAAoB,UAAW3B,KAAKR,uBAC3CQ,KAAKL,MAAMiC,oBAAoBF,EAAAA,IAGlCG,OAAOC,IACJZ,OAAOS,oBAAoB,UAAW3B,KAAKR,uBAC3CQ,KAAKL,MAAMoC,iBAAiBD,EAAAA,GAExC,CAEAE,oBAAAA,GACQhC,KAAKP,kBAAkBO,KAAKP,iBAAiBwC,SACjDf,OAAOS,oBAAoB,UAAW3B,KAAKR,sBAC/C,CAEA0C,MAAAA,EAAOC,OAAEA,EAAMlC,SAAEA,EAAQmC,cAAEA,EAAaC,aAAEA,IAAgBnC,qBAAEA,EAAoBG,OAAEA,IAC9E,MAAOiC,EAAOC,GAAUH,EAExB,OACII,EAACC,MAAAA,CACGC,UAAWC,EAAW,CAClB,sCACA,wCAAwC1C,EAAS2C,yBAGzC,iBAAXvC,GAA6BmC,EAACK,EAAAA,MAE/BL,EAACM,EAAAA,CAAOC,KAAM1D,EAAYiD,MAAOA,EAAOC,OAAQA,EAAQS,SAAUhD,KAAKM,iBACvEkC,EAACS,EAAAA,CACGF,KAAM,WACNG,OAAQf,EACRgB,OAAQ9D,EACR+D,UAAW,OACXC,WAAYnD,EACZmC,aAAcA,IAI9B"}
1
+ {"version":3,"file":"DoChallenge3DS2.js","sources":["../../../../../../src/components/ThreeDS2/components/Challenge/DoChallenge3DS2.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport classNames from 'classnames';\nimport Iframe from '../../../internal/IFrame';\nimport Spinner from '../../../internal/Spinner';\nimport ThreeDS2Form from '../Form';\nimport getProcessMessageHandler from '../../../../utils/get-process-message-handler';\nimport { encodeBase64URL } from '../utils';\nimport promiseTimeout from '../../../../utils/promiseTimeout';\nimport { CHALLENGE_TIMEOUT, CHALLENGE_TIMEOUT_REJECT_OBJECT, THREEDS2_NUM } from '../../constants';\nimport { DoChallenge3DS2Props, DoChallenge3DS2State } from './types';\nimport { ThreeDS2FlowObject } from '../../types';\n\nconst iframeName = 'threeDSIframe';\n\nclass DoChallenge3DS2 extends Component<DoChallenge3DS2Props, DoChallenge3DS2State> {\n private processMessageHandler;\n private challengePromise: { cancel: () => void; promise: Promise<any> };\n\n constructor(props) {\n super(props);\n\n /**\n * Create and Base64Url encode a JSON object containing the serverTransactionID & threeDSMethodNotificationURL\n */\n const jsonStr = JSON.stringify(this.props.cReqData);\n const base64URLencodedData = encodeBase64URL(jsonStr);\n this.state = { base64URLencodedData, status: 'init' };\n }\n\n private iframeCallback = () => {\n this.setState({ status: 'iframeLoaded' });\n // On Test - actually calls-back 3 times: once for challenge screen, once again as challenge.html reloads after the challenge is submitted, and once for redirect to threeDSNotificationURL.\n // But for the purposes of calling the merchant defined onActionHandled callback - we only want to do it once\n if (this.state.status === 'init') {\n this.props.onActionHandled?.({ componentType: '3DS2Challenge', actionDescription: `${THREEDS2_NUM} challenge iframe loaded` });\n }\n };\n\n private get3DS2ChallengePromise(): Promise<any> {\n return new Promise((resolve, reject) => {\n /**\n * Listen for postMessage responses from the notification url\n */\n this.processMessageHandler = getProcessMessageHandler(this.props.postMessageDomain, resolve, reject, 'challengeResult');\n\n window.addEventListener('message', this.processMessageHandler);\n });\n }\n\n componentDidMount() {\n // Render challenge\n this.challengePromise = promiseTimeout(CHALLENGE_TIMEOUT, this.get3DS2ChallengePromise(), CHALLENGE_TIMEOUT_REJECT_OBJECT);\n this.challengePromise.promise\n .then((resolveObject: ThreeDS2FlowObject) => {\n window.removeEventListener('message', this.processMessageHandler);\n this.props.onCompleteChallenge(resolveObject);\n })\n /** Catch, for when Challenge times-out */\n .catch((rejectObject: ThreeDS2FlowObject) => {\n window.removeEventListener('message', this.processMessageHandler);\n this.props.onErrorChallenge(rejectObject);\n });\n }\n\n componentWillUnmount() {\n if (this.challengePromise) this.challengePromise.cancel();\n window.removeEventListener('message', this.processMessageHandler);\n }\n\n render({ acsURL, cReqData, iframeSizeArr, onFormSubmit }, { base64URLencodedData, status }) {\n const [width, height] = iframeSizeArr;\n\n return (\n <div\n className={classNames([\n 'adyen-checkout__threeds2__challenge',\n `adyen-checkout__threeds2__challenge--${cReqData.challengeWindowSize}`\n ])}\n >\n {status !== 'iframeLoaded' && <Spinner />}\n\n <Iframe name={iframeName} width={width} height={height} callback={this.iframeCallback} />\n <ThreeDS2Form\n name={'cReqForm'}\n action={acsURL}\n target={iframeName}\n inputName={'creq'}\n inputValue={base64URLencodedData}\n onFormSubmit={onFormSubmit}\n />\n </div>\n );\n }\n}\n\nexport default DoChallenge3DS2;\n"],"names":["iframeName","DoChallenge3DS2","Component","processMessageHandler","challengePromise","constructor","props","super","jsonStr","JSON","stringify","this","cReqData","base64URLencodedData","encodeBase64URL","state","status","iframeCallback","setState","onActionHandled","componentType","actionDescription","THREEDS2_NUM","get3DS2ChallengePromise","Promise","resolve","reject","getProcessMessageHandler","postMessageDomain","window","addEventListener","componentDidMount","promiseTimeout","CHALLENGE_TIMEOUT","CHALLENGE_TIMEOUT_REJECT_OBJECT","promise","then","resolveObject","removeEventListener","onCompleteChallenge","catch","rejectObject","onErrorChallenge","componentWillUnmount","cancel","render","acsURL","iframeSizeArr","onFormSubmit","width","height","h","div","className","classNames","challengeWindowSize","Spinner","Iframe","name","callback","ThreeDS2Form","action","target","inputName","inputValue"],"mappings":"8iBAYA,MAAMA,EAAa,gBAEnB,MAAMC,UAAwBC,EAClBC,sBACAC,iBAERC,WAAAA,CAAYC,GACRC,MAAMD,GAKN,MAAME,EAAUC,KAAKC,UAAUC,KAAKL,MAAMM,UACpCC,EAAuBC,EAAgBN,GAC7CG,KAAKI,MAAQ,CAAEF,uBAAsBG,OAAQ,OACjD,CAEQC,eAAiB,KACrBN,KAAKO,SAAS,CAAEF,OAAQ,iBAGE,SAAtBL,KAAKI,MAAMC,QACXL,KAAKL,MAAMa,kBAAkB,CAAEC,cAAe,gBAAiBC,kBAAmB,GAAGC,6BACzF,EAGIC,uBAAAA,GACJ,OAAO,IAAIC,SAAQ,CAACC,EAASC,KAIzBf,KAAKR,sBAAwBwB,EAAyBhB,KAAKL,MAAMsB,kBAAmBH,EAASC,EAAQ,mBAErGG,OAAOC,iBAAiB,UAAWnB,KAAKR,sBAAqB,GAErE,CAEA4B,iBAAAA,GAEIpB,KAAKP,iBAAmB4B,EAAeC,EAAmBtB,KAAKY,0BAA2BW,GAC1FvB,KAAKP,iBAAiB+B,QACjBC,MAAMC,IACHR,OAAOS,oBAAoB,UAAW3B,KAAKR,uBAC3CQ,KAAKL,MAAMiC,oBAAoBF,EAAAA,IAGlCG,OAAOC,IACJZ,OAAOS,oBAAoB,UAAW3B,KAAKR,uBAC3CQ,KAAKL,MAAMoC,iBAAiBD,EAAAA,GAExC,CAEAE,oBAAAA,GACQhC,KAAKP,kBAAkBO,KAAKP,iBAAiBwC,SACjDf,OAAOS,oBAAoB,UAAW3B,KAAKR,sBAC/C,CAEA0C,MAAAA,EAAOC,OAAEA,EAAMlC,SAAEA,EAAQmC,cAAEA,EAAaC,aAAEA,IAAgBnC,qBAAEA,EAAoBG,OAAEA,IAC9E,MAAOiC,EAAOC,GAAUH,EAExB,OACII,EAACC,MAAAA,CACGC,UAAWC,EAAW,CAClB,sCACA,wCAAwC1C,EAAS2C,yBAGzC,iBAAXvC,GAA6BmC,EAACK,EAAAA,MAE/BL,EAACM,EAAAA,CAAOC,KAAM1D,EAAYiD,MAAOA,EAAOC,OAAQA,EAAQS,SAAUhD,KAAKM,iBACvEkC,EAACS,EAAAA,CACGF,KAAM,WACNG,OAAQf,EACRgB,OAAQ9D,EACR+D,UAAW,OACXC,WAAYnD,EACZmC,aAAcA,IAI9B"}
@@ -1,2 +1,2 @@
1
- import{Component as e,createElement as r}from"../../../../external/preact/dist/preact.js";import t from"./DoChallenge3DS2.js";import{prepareChallengeData as s,isErrorObject as o,createOldChallengeResolveData as n,createChallengeResolveData as i}from"../utils.js";import a from"../../../internal/Img/Img.js";import{hasOwnProperty as l}from"../../../../utils/hasOwnProperty.js";import p from"../../../../core/Context/useImage.js";import c,{ERROR as h}from"../../../../core/Errors/AdyenCheckoutError.js";import{MISSING_TOKEN_IN_ACTION_MSG as u,THREEDS2_CHALLENGE_ERROR as m,THREEDS2_FULL as d,THREEDS2_ERROR as g,THREEDS2_NUM as S,THREEDS2_CHALLENGE as _}from"../../constants.js";import{isValidHttpUrl as D}from"../../../../utils/isValidURL.js";import{Analytics3DS2Events as E,Analytics3DS2Errors as C,ANALYTICS_API_ERROR as I,ANALYTICS_NETWORK_ERROR as f}from"../../../../core/Analytics/constants.js";class T extends e{static defaultProps={onComplete:()=>{},onError:()=>{},onActionHandled:()=>{},isMDFlow:!1};constructor(e){if(super(e),this.props.token){const e=s({token:this.props.token,size:this.props.challengeWindowSize||this.props.size});this.state={status:"init",challengeData:e}}else this.state={challengeData:{success:!1,error:u}},console.debug(`${m}: ${u}`)}onActionHandled=e=>{this.props.onSubmitAnalytics({type:d,message:e.actionDescription,subtype:E.CHALLENGE_IFRAME_LOADED}),this.props.onActionHandled(e)};onFormSubmit=e=>{this.props.onSubmitAnalytics({type:d,message:e,subtype:E.CHALLENGE_DATA_SENT})};componentDidMount(){if(!o(this.state.challengeData)){const e="test"===this.props.environment&&this.props._environmentUrls?.api?.includes("http://localhost:8080"),{acsURL:r}=this.state.challengeData;if(!D(r,e)){this.setError({errorInfo:`${C.TOKEN_IS_MISSING_ACSURL}: ${this.props.i18n.get("err.gen.9102")}`},!0);const e={type:g,code:C.TOKEN_IS_MISSING_ACSURL,errorType:I,message:`${m}: Decoded token is missing a valid acsURL property`};return this.props.onSubmitAnalytics(e),void console.debug("### PrepareChallenge3DS2::exiting:: no valid acsURL")}const{acsTransID:t,messageVersion:s,threeDSServerTransID:o}=this.state.challengeData.cReqData;if(!t||!s||!o)return this.setError({errorInfo:`${C.TOKEN_IS_MISSING_OTHER_PROPS}: ${this.props.i18n.get("err.gen.9102")}`},!0),this.props.onSubmitAnalytics({type:g,code:C.TOKEN_IS_MISSING_OTHER_PROPS,errorType:I,message:`${m}: Decoded token is missing one or more of the following properties (acsTransID | messageVersion | threeDSServerTransID)`}),void console.debug("### PrepareChallenge3DS2::exiting:: missing one or more of the following properties (acsTransID | messageVersion | threeDSServerTransID)");this.setState({status:"performingChallenge"})}else{const e=this.state.challengeData.error,r=e.indexOf(u)>-1?C.ACTION_IS_MISSING_TOKEN:C.TOKEN_DECODE_OR_PARSING_FAILED;this.setError({errorInfo:e.indexOf(u)>-1?`${C.ACTION_IS_MISSING_TOKEN}: ${this.props.i18n.get("err.gen.9102")}`:`${C.TOKEN_DECODE_OR_PARSING_FAILED}: ${this.props.i18n.get("err.gen.9102")}`},!0),this.props.onSubmitAnalytics({type:g,code:r,errorType:I,message:`${m}: ${e}`}),console.debug("### PrepareChallenge3DS2::exiting:: no challengeData")}}setStatusComplete(e,r=null){this.setState({status:"complete"},(()=>{const t=(this.props.isMDFlow?n:i)(this.props.dataKey,e.transStatus,this.props.paymentData);let s;r&&console.debug("### PrepareChallenge3DS2::errorCodeObject::",r);const o=r||e;if(o.errorCode){const e={code:"timeout"===o.errorCode?C.THREEDS2_TIMEOUT:C.NO_TRANSSTATUS,errorType:"timeout"===o.errorCode?f:I};s={type:g,message:o.message,...e},this.props.onSubmitAnalytics(s)}let a;switch(e?.transStatus){case"Y":a="success";break;case"N":a="failed";break;case"U":a=r?"timeout":"cancelled"}e?.errorCode&&(a="noTransStatus"),s={type:d,message:`${S} challenge has completed`,subtype:E.CHALLENGE_COMPLETED,result:a},this.props.onSubmitAnalytics(s),this.props.onComplete(t)}))}setError(e,r){this.setState({status:"error",errorInfo:e.errorInfo}),r&&this.props.onError(new c(h,e.errorInfo,{cause:e.errorObj}))}render(e,{challengeData:s}){const o=p();return"performingChallenge"===this.state.status?r(t,{onCompleteChallenge:e=>{let r=null;if(l(e.result,"errorCode")&&e.result.errorCode.length&&(r={errorCode:e.result.errorCode,message:`${m}: ${e.result.errorDescription?e.result.errorDescription:"no transStatus could be retrieved"}`},this.props.isMDFlow&&this.props.onError(new c(h,`${m}: ${e.result.errorDescription?e.result.errorDescription:"no transStatus could be retrieved"}`,{cause:e.result.errorCode}))),!e.result)return this.setError({errorInfo:`${m}: ${this.props.i18n.get("3ds.chal.805",{values:{result:'"result"'}})}`,errorObj:e},!0),this.props.onSubmitAnalytics({type:g,code:C.CHALLENGE_RESOLVED_WITHOUT_RESULT_PROP,errorType:I,message:`${m}: challenge resolved without a "result" object`}),void console.debug('### PrepareChallenge3DS2::exiting:: challenge resolved without a "result" object');this.setStatusComplete(e.result,r)},onErrorChallenge:e=>{if(l(e,"errorCode")){const r={errorCode:e.errorCode,message:`${_}: ${e.errorCode}`};return this.props.isMDFlow&&this.props.onError(new c(h,`${m}: '3DS2 challenge timed out'`,{cause:e.errorCode})),void this.setStatusComplete(e.result,r)}},...s,onActionHandled:this.onActionHandled,onFormSubmit:this.onFormSubmit}):"error"===this.state.status?r("div",{className:"adyen-checkout__threeds2-challenge-error"},r(a,{className:"adyen-checkout__status__icon adyen-checkout__status__icon--error",src:o({imageFolder:"components/"})("error"),alt:""}),r("div",{className:"adyen-checkout__status__text"},this.state.errorInfo?this.state.errorInfo:this.props.i18n.get("error.message.unknown"))):null}}export{T as default};
1
+ import{Component as e,createElement as r}from"../../../../external/preact/dist/preact.js";import t from"./DoChallenge3DS2.js";import{prepareChallengeData as s,isErrorObject as o,createOldChallengeResolveData as n,createChallengeResolveData as a}from"../utils.js";import i from"../../../internal/Img/Img.js";import{hasOwnProperty as l}from"../../../../utils/hasOwnProperty.js";import p from"../../../../core/Context/useImage.js";import c,{ERROR as h}from"../../../../core/Errors/AdyenCheckoutError.js";import{MISSING_TOKEN_IN_ACTION_MSG as u,THREEDS2_CHALLENGE_ERROR as m,THREEDS2_FULL as d,THREEDS2_ERROR as g,THREEDS2_NUM as S,THREEDS2_CHALLENGE as _}from"../../constants.js";import{isValidHttpUrl as D}from"../../../../utils/isValidURL.js";import{Analytics3DS2Events as C,Analytics3DS2Errors as E,ANALYTICS_API_ERROR as I,ANALYTICS_NETWORK_ERROR as f}from"../../../../core/Analytics/constants.js";class T extends e{static defaultProps={onComplete:()=>{},onError:()=>{},isMDFlow:!1};constructor(e){if(super(e),this.props.token){const e=s({token:this.props.token,size:this.props.challengeWindowSize||this.props.size});this.state={status:"init",challengeData:e}}else this.state={challengeData:{success:!1,error:u}},console.debug(`${m}: ${u}`)}onFormSubmit=e=>{this.props.onSubmitAnalytics({type:d,message:e,subtype:C.CHALLENGE_DATA_SENT})};componentDidMount(){if(!o(this.state.challengeData)){const e="test"===this.props.environment&&this.props._environmentUrls?.api?.includes("http://localhost:8080"),{acsURL:r}=this.state.challengeData;if(!D(r,e)){this.setError({errorInfo:`${E.TOKEN_IS_MISSING_ACSURL}: ${this.props.i18n.get("err.gen.9102")}`},!0);const e={type:g,code:E.TOKEN_IS_MISSING_ACSURL,errorType:I,message:`${m}: Decoded token is missing a valid acsURL property`};return this.props.onSubmitAnalytics(e),void console.debug("### PrepareChallenge3DS2::exiting:: no valid acsURL")}const{acsTransID:t,messageVersion:s,threeDSServerTransID:o}=this.state.challengeData.cReqData;if(!t||!s||!o)return this.setError({errorInfo:`${E.TOKEN_IS_MISSING_OTHER_PROPS}: ${this.props.i18n.get("err.gen.9102")}`},!0),this.props.onSubmitAnalytics({type:g,code:E.TOKEN_IS_MISSING_OTHER_PROPS,errorType:I,message:`${m}: Decoded token is missing one or more of the following properties (acsTransID | messageVersion | threeDSServerTransID)`}),void console.debug("### PrepareChallenge3DS2::exiting:: missing one or more of the following properties (acsTransID | messageVersion | threeDSServerTransID)");this.setState({status:"performingChallenge"})}else{const e=this.state.challengeData.error,r=e.indexOf(u)>-1?E.ACTION_IS_MISSING_TOKEN:E.TOKEN_DECODE_OR_PARSING_FAILED;this.setError({errorInfo:e.indexOf(u)>-1?`${E.ACTION_IS_MISSING_TOKEN}: ${this.props.i18n.get("err.gen.9102")}`:`${E.TOKEN_DECODE_OR_PARSING_FAILED}: ${this.props.i18n.get("err.gen.9102")}`},!0),this.props.onSubmitAnalytics({type:g,code:r,errorType:I,message:`${m}: ${e}`}),console.debug("### PrepareChallenge3DS2::exiting:: no challengeData")}}setStatusComplete(e,r=null){this.setState({status:"complete"},(()=>{const t=(this.props.isMDFlow?n:a)(this.props.dataKey,e.transStatus,this.props.paymentData);let s;r&&console.debug("### PrepareChallenge3DS2::errorCodeObject::",r);const o=r||e;if(o.errorCode){const e={code:"timeout"===o.errorCode?E.THREEDS2_TIMEOUT:E.NO_TRANSSTATUS,errorType:"timeout"===o.errorCode?f:I};s={type:g,message:o.message,...e},this.props.onSubmitAnalytics(s)}let i;switch(e?.transStatus){case"Y":i="success";break;case"N":i="failed";break;case"U":i=r?"timeout":"cancelled"}e?.errorCode&&(i="noTransStatus"),s={type:d,message:`${S} challenge has completed`,subtype:C.CHALLENGE_COMPLETED,result:i},this.props.onSubmitAnalytics(s),this.props.onComplete(t)}))}setError(e,r){this.setState({status:"error",errorInfo:e.errorInfo}),r&&this.props.onError(new c(h,e.errorInfo,{cause:e.errorObj}))}render(e,{challengeData:s}){const o=p();return"performingChallenge"===this.state.status?r(t,{onCompleteChallenge:e=>{let r=null;if(l(e.result,"errorCode")&&e.result.errorCode.length&&(r={errorCode:e.result.errorCode,message:`${m}: ${e.result.errorDescription?e.result.errorDescription:"no transStatus could be retrieved"}`},this.props.isMDFlow&&this.props.onError(new c(h,`${m}: ${e.result.errorDescription?e.result.errorDescription:"no transStatus could be retrieved"}`,{cause:e.result.errorCode}))),!e.result)return this.setError({errorInfo:`${m}: ${this.props.i18n.get("3ds.chal.805",{values:{result:'"result"'}})}`,errorObj:e},!0),this.props.onSubmitAnalytics({type:g,code:E.CHALLENGE_RESOLVED_WITHOUT_RESULT_PROP,errorType:I,message:`${m}: challenge resolved without a "result" object`}),void console.debug('### PrepareChallenge3DS2::exiting:: challenge resolved without a "result" object');this.setStatusComplete(e.result,r)},onErrorChallenge:e=>{if(l(e,"errorCode")){const r={errorCode:e.errorCode,message:`${_}: ${e.errorCode}`};return this.props.isMDFlow&&this.props.onError(new c(h,`${m}: '3DS2 challenge timed out'`,{cause:e.errorCode})),void this.setStatusComplete(e.result,r)}},...s,onActionHandled:this.props.onActionHandled,onFormSubmit:this.onFormSubmit}):"error"===this.state.status?r("div",{className:"adyen-checkout__threeds2-challenge-error"},r(i,{className:"adyen-checkout__status__icon adyen-checkout__status__icon--error",src:o({imageFolder:"components/"})("error"),alt:""}),r("div",{className:"adyen-checkout__status__text"},this.state.errorInfo?this.state.errorInfo:this.props.i18n.get("error.message.unknown"))):null}}export{T as default};
2
2
  //# sourceMappingURL=PrepareChallenge3DS2.js.map