@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":"Card.js","sources":["../../../../src/components/Card/Card.tsx"],"sourcesContent":["import { h } from 'preact';\nimport CardInput from './components/CardInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport { BinLookupResponse, CardElementData, CardConfiguration } from './types';\nimport triggerBinLookUp from '../internal/SecuredFields/binLookup/triggerBinLookUp';\nimport { CbObjOnBinLookup, CbObjOnConfigSuccess, CbObjOnFocus } from '../internal/SecuredFields/lib/types';\nimport { fieldTypeToSnakeCase } from '../internal/SecuredFields/utils';\nimport { reject } from '../../utils/commonUtils';\nimport { hasValidInstallmentsObject } from './components/CardInput/utils';\nimport createClickToPayService from '../internal/ClickToPay/services/create-clicktopay-service';\nimport { ClickToPayCheckoutPayload, IClickToPayService } from '../internal/ClickToPay/services/types';\nimport ClickToPayWrapper from './components/ClickToPayWrapper';\nimport { ComponentFocusObject } from '../../types/global-types';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport { TxVariants } from '../tx-variants';\nimport type { PayButtonFunctionProps, UIElementStatus } from '../internal/UIElement/types';\nimport UIElement from '../internal/UIElement';\nimport PayButton from '../internal/PayButton';\nimport type { ICore } from '../../core/types';\nimport {\n ANALYTICS_FOCUS_STR,\n ANALYTICS_CONFIGURED_STR,\n ANALYTICS_UNFOCUS_STR,\n ANALYTICS_VALIDATION_ERROR_STR,\n ANALYTICS_RENDERED_STR\n} from '../../core/Analytics/constants';\nimport { ALL_SECURED_FIELDS } from '../internal/SecuredFields/lib/constants';\nimport { FieldErrorAnalyticsObject, SendAnalyticsObject } from '../../core/Analytics/types';\nimport { hasOwnProperty } from '../../utils/hasOwnProperty';\nimport AdyenCheckoutError, { IMPLEMENTATION_ERROR } from '../../core/Errors/AdyenCheckoutError';\nimport { getErrorMessageFromCode } from '../../core/Errors/utils';\nimport { SF_ErrorCodes } from '../../core/Errors/constants';\nimport CardInputDefaultProps from './components/CardInput/defaultProps';\n\nexport class CardElement extends UIElement<CardConfiguration> {\n public static type = TxVariants.scheme;\n\n private readonly clickToPayService: IClickToPayService | null;\n\n /**\n * Reference to the 'ClickToPayComponent'\n */\n private clickToPayRef = null;\n\n constructor(checkout: ICore, props?: CardConfiguration) {\n super(checkout, props);\n\n if (props && !props._disableClickToPay) {\n this.clickToPayService = createClickToPayService(this.props.configuration, this.props.clickToPayConfiguration, this.props.environment);\n void this.clickToPayService?.initialize();\n }\n }\n\n protected static defaultProps = {\n showFormInstruction: true,\n _disableClickToPay: false,\n doBinLookup: true,\n // Merge most of CardInput's defaultProps\n ...reject(['type', 'setComponentRef']).from(CardInputDefaultProps)\n };\n\n public setStatus(status: UIElementStatus, props?): this {\n if (this.componentRef?.setStatus) {\n this.componentRef.setStatus(status, props);\n }\n if (this.clickToPayRef?.setStatus) {\n this.clickToPayRef.setStatus(status, props);\n }\n return this;\n }\n\n private setClickToPayRef = ref => {\n this.clickToPayRef = ref;\n };\n\n formatProps(props: CardConfiguration): CardConfiguration {\n // The value from a session should be used, before falling back to the merchant configuration\n const enableStoreDetails = props.session?.configuration?.enableStoreDetails ?? props.enableStoreDetails;\n\n const isZeroAuth = props.amount?.value === 0;\n const showStoreDetailsCheckbox = isZeroAuth ? false : enableStoreDetails;\n\n const storedCardID = props.storedPaymentMethodId || props.id; // check if we've been passed a (checkout) processed storedCard or one that merchant has pulled from the PMs response\n const isEcommerceStoredCard = storedCardID && props?.supportedShopperInteractions?.includes('Ecommerce'); // If we have a storedCard does it support Ecommerce (it might not if the merchant has pulled it from the PMs response)\n\n // If we have a storedPM but it doesn't support Ecommerce - we can't make a storedCard component from it\n if (storedCardID && !isEcommerceStoredCard) {\n // TODO - Decide if an error is too severe? Would a console.warning suffice?\n throw new AdyenCheckoutError(\n IMPLEMENTATION_ERROR,\n 'You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions'\n );\n }\n\n return {\n ...props,\n // Mismatch between hasHolderName & holderNameRequired which can mean card can never be valid\n holderNameRequired: !props.hasHolderName ? false : props.holderNameRequired,\n // False for *stored* BCMC cards & if merchant explicitly wants to hide the CVC field\n hasCVC: !((props.brand && props.brand === 'bcmc') || props.hideCVC),\n // billingAddressRequired only available for non-stored cards\n billingAddressRequired: props.storedPaymentMethodId ? false : props.billingAddressRequired,\n // edge case where merchant has defined both an onAddressLookup callback AND set billingAddressMode: 'partial' - which leads to some strange behaviour in the address UI\n billingAddressMode: props.onAddressLookup ? CardInputDefaultProps.billingAddressMode : props.billingAddressMode,\n /** props.brand will be specified in the case of a StoredCard or a Bancontact component, for a regular Card we default it to 'card' */\n brand: props.brand ?? TxVariants.card,\n countryCode: props.countryCode ? props.countryCode.toLowerCase() : null,\n // Required for transition period (until configuration object becomes the norm)\n // - if merchant has defined value directly in props, use this instead\n configuration: {\n ...props.configuration,\n socialSecurityNumberMode: props.configuration?.socialSecurityNumberMode ?? 'auto'\n },\n brandsConfiguration: props.brandsConfiguration || props.configuration?.brandsConfiguration || {},\n icon: props.icon || props.configuration?.icon,\n // installmentOptions of a session should be used before falling back to the merchant configuration\n installmentOptions: props.session?.configuration?.installmentOptions || props.installmentOptions,\n enableStoreDetails,\n showStoreDetailsCheckbox,\n /**\n * Click to Pay configuration\n * - If email is set explicitly in the configuration, then it can override the one used in the session creation\n */\n clickToPayConfiguration: {\n ...props.clickToPayConfiguration,\n disableOtpAutoFocus: props.clickToPayConfiguration?.disableOtpAutoFocus || false,\n shopperEmail: props.clickToPayConfiguration?.shopperEmail || this.core.options?.session?.shopperEmail,\n telephoneNumber: props.clickToPayConfiguration?.telephoneNumber || this.core.options?.session?.telephoneNumber,\n locale: props.clickToPayConfiguration?.locale || props.i18n?.locale?.replace('-', '_')\n },\n ...(storedCardID && { storedPaymentMethodId: storedCardID })\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): CardElementData {\n /**\n * this.state.selectedBrandValue will be set when:\n * - /binLookup detects a single brand,\n * - when /binLookup detects a dual-branded card and the shopper makes a brand selection\n * - or, in the case of a storedCard\n */\n const cardBrand = this.state.selectedBrandValue;\n\n return {\n paymentMethod: {\n type: CardElement.type,\n ...this.state.data,\n ...(this.props.storedPaymentMethodId && {\n storedPaymentMethodId: this.props.storedPaymentMethodId,\n holderName: this.props.holderName ?? ''\n }),\n ...(cardBrand && { brand: cardBrand }),\n ...(this.props.fundingSource && { fundingSource: this.props.fundingSource })\n },\n ...(this.state.billingAddress && { billingAddress: this.state.billingAddress }),\n ...(this.state.socialSecurityNumber && { socialSecurityNumber: this.state.socialSecurityNumber }),\n ...this.storePaymentMethodPayload,\n ...(hasValidInstallmentsObject(this.state.installments) && { installments: this.state.installments }),\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin\n };\n }\n\n updateStyles(stylesObj) {\n if (this.componentRef?.updateStyles) this.componentRef.updateStyles(stylesObj);\n return this;\n }\n\n setFocusOn(fieldName) {\n if (this.componentRef?.setFocusOn) this.componentRef.setFocusOn(fieldName);\n return this;\n }\n\n public onBrand = event => {\n this.props.onBrand?.(event);\n };\n\n processBinLookupResponse(binLookupResponse: BinLookupResponse, isReset = false) {\n if (this.componentRef?.processBinLookupResponse) this.componentRef.processBinLookupResponse(binLookupResponse, isReset);\n return this;\n }\n\n handleUnsupportedCard(errObj) {\n if (this.componentRef?.handleUnsupportedCard) this.componentRef.handleUnsupportedCard(errObj);\n return this;\n }\n\n private handleClickToPaySubmit = (payload: ClickToPayCheckoutPayload) => {\n this.setState({ data: { ...payload }, valid: {}, errors: {}, isValid: true });\n this.submit();\n };\n\n onBinLookup(obj: CbObjOnBinLookup) {\n // Handler for regular card comp doesn't need this 'raw' data or to know about 'resets'\n if (!obj.isReset) {\n const nuObj = reject('supportedBrandsRaw').from(obj);\n this.props.onBinLookup?.(nuObj);\n }\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n const { type } = analyticsObj;\n\n if (type === ANALYTICS_RENDERED_STR || type === ANALYTICS_CONFIGURED_STR) {\n // Check if it's a storedCard\n if (this.constructor['type'] === 'scheme') {\n if (hasOwnProperty(this.props, 'supportedShopperInteractions')) {\n analyticsObj.isStoredPaymentMethod = true;\n analyticsObj.brand = this.props.brand;\n }\n }\n }\n\n super.submitAnalytics(analyticsObj, this.props);\n }\n\n private onConfigSuccess = (obj: CbObjOnConfigSuccess) => {\n this.submitAnalytics({\n type: ANALYTICS_CONFIGURED_STR\n });\n\n this.props.onConfigSuccess?.(obj);\n };\n\n private onFocus = (obj: ComponentFocusObject) => {\n this.submitAnalytics({\n type: ANALYTICS_FOCUS_STR,\n target: fieldTypeToSnakeCase(obj.fieldType)\n });\n\n // Call merchant defined callback\n if (ALL_SECURED_FIELDS.includes(obj.fieldType)) {\n this.props.onFocus?.(obj.event as CbObjOnFocus);\n } else {\n this.props.onFocus?.(obj);\n }\n };\n\n private onBlur = (obj: ComponentFocusObject) => {\n this.submitAnalytics({\n type: ANALYTICS_UNFOCUS_STR,\n target: fieldTypeToSnakeCase(obj.fieldType)\n });\n\n // Call merchant defined callback\n if (ALL_SECURED_FIELDS.includes(obj.fieldType)) {\n this.props.onBlur?.(obj.event as CbObjOnFocus);\n } else {\n this.props.onBlur?.(obj);\n }\n };\n\n private onValidationErrorAnalytics = (obj: FieldErrorAnalyticsObject) => {\n this.submitAnalytics({\n type: ANALYTICS_VALIDATION_ERROR_STR,\n target: fieldTypeToSnakeCase(obj.fieldType),\n validationErrorCode: obj.errorCode,\n validationErrorMessage: getErrorMessageFromCode(obj.errorCode, SF_ErrorCodes)\n });\n };\n\n public onBinValue = triggerBinLookUp(this);\n\n get storePaymentMethodPayload() {\n const isStoredCard = this.props.storedPaymentMethodId?.length > 0;\n if (isStoredCard) {\n return {};\n }\n\n /**\n * For regular card, zero auth payments, we store the payment method, *if* the configuration says we should:\n * - For sessions, this means if the session has been created with storePaymentMethodMode: 'askForConsent'\n * - For the advanced flow, this means if the merchant has still set enableStoreDetails: true\n *\n * What we are doing is.. if for a normal payment we would show the \"Save for my next payment\" checkbox,\n * for a zero-auth payment we effectively click the checkbox on behalf of the shopper.\n */\n const isZeroAuth = this.props.amount?.value === 0;\n if (isZeroAuth) {\n return this.props.enableStoreDetails ? { storePaymentMethod: true } : {};\n }\n\n // For regular card, non-zero auth payments, we store the payment method based on the checkbox value.\n // const includeStorePaymentMethod = this.props.enableStoreDetails && typeof this.state.storePaymentMethod !== 'undefined';\n const includeStorePaymentMethod = this.props.showStoreDetailsCheckbox && typeof this.state.storePaymentMethod !== 'undefined';\n return includeStorePaymentMethod ? { storePaymentMethod: Boolean(this.state.storePaymentMethod) } : {};\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get icon() {\n return this.props.icon ?? this.resources.getImage()(this.props.brand);\n }\n\n get brands(): { icon: any; name: string }[] {\n const { brands, brandsConfiguration } = this.props;\n if (brands) {\n return brands.map(brand => {\n const brandIcon = brandsConfiguration[brand]?.icon ?? this.props.modules.resources.getImage()(brand);\n return { icon: brandIcon, name: brand };\n });\n }\n\n return [];\n }\n\n get displayName(): string {\n if (this.props.storedPaymentMethodId) {\n return `•••• ${this.props.lastFour}`;\n }\n\n return this.props.name || CardElement.type;\n }\n\n get accessibleName(): string {\n // Use display name, unless it's a stored payment method, there inform user\n return (\n (this.props.name || CardElement.type) +\n (this.props.storedPaymentMethodId\n ? ' ' + this.props.i18n.get('creditCard.storedCard.description.ariaLabel').replace('%@', this.props.lastFour)\n : '')\n );\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n protected override payButton = (props: PayButtonFunctionProps) => {\n const isZeroAuth = this.props.amount?.value === 0;\n const isStoredCard = this.props.storedPaymentMethodId?.length > 0;\n return (\n <PayButton\n {...props}\n amount={this.props.amount}\n secondaryAmount={this.props.secondaryAmount}\n label={isZeroAuth && !isStoredCard ? this.props.i18n.get('payButton.saveDetails') : ''}\n onClick={this.submit}\n />\n );\n };\n\n private renderCardInput(isCardPrimaryInput = true): h.JSX.Element {\n return (\n <CardInput\n setComponentRef={this.setComponentRef}\n {...this.props}\n {...this.state}\n onChange={this.setState}\n onSubmit={this.submit}\n handleKeyPress={this.handleKeyPress}\n payButton={this.payButton}\n onBrand={this.onBrand}\n onBinValue={this.onBinValue}\n brand={this.props.brand}\n brandsIcons={this.brands}\n isPayButtonPrimaryVariant={isCardPrimaryInput}\n resources={this.resources}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onValidationErrorAnalytics={this.onValidationErrorAnalytics}\n onConfigSuccess={this.onConfigSuccess}\n />\n );\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <ClickToPayWrapper\n amount={this.props.amount}\n configuration={this.props.clickToPayConfiguration}\n clickToPayService={this.clickToPayService}\n isStandaloneComponent={false}\n setClickToPayRef={this.setClickToPayRef}\n onSetStatus={this.setElementStatus}\n onSubmit={this.handleClickToPaySubmit}\n onError={this.handleError}\n >\n {isCardPrimaryInput => this.renderCardInput(isCardPrimaryInput)}\n </ClickToPayWrapper>\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n}\n\nexport default CardElement;\n"],"names":["CardElement","UIElement","static","TxVariants","scheme","clickToPayService","clickToPayRef","constructor","checkout","props","super","_disableClickToPay","this","createClickToPayService","configuration","clickToPayConfiguration","environment","initialize","showFormInstruction","doBinLookup","reject","from","CardInputDefaultProps","setStatus","status","componentRef","setClickToPayRef","ref","formatProps","enableStoreDetails","session","showStoreDetailsCheckbox","amount","value","storedCardID","storedPaymentMethodId","id","isEcommerceStoredCard","supportedShopperInteractions","includes","AdyenCheckoutError","IMPLEMENTATION_ERROR","holderNameRequired","hasHolderName","hasCVC","brand","hideCVC","billingAddressRequired","billingAddressMode","onAddressLookup","card","countryCode","toLowerCase","socialSecurityNumberMode","brandsConfiguration","icon","installmentOptions","disableOtpAutoFocus","shopperEmail","core","options","telephoneNumber","locale","i18n","replace","formatData","cardBrand","state","selectedBrandValue","paymentMethod","type","data","holderName","fundingSource","billingAddress","socialSecurityNumber","storePaymentMethodPayload","hasValidInstallmentsObject","installments","browserInfo","origin","window","location","updateStyles","stylesObj","setFocusOn","fieldName","onBrand","event","processBinLookupResponse","binLookupResponse","isReset","handleUnsupportedCard","errObj","handleClickToPaySubmit","payload","setState","valid","errors","isValid","submit","onBinLookup","obj","nuObj","submitAnalytics","analyticsObj","ANALYTICS_RENDERED_STR","ANALYTICS_CONFIGURED_STR","hasOwnProperty","isStoredPaymentMethod","onConfigSuccess","onFocus","ANALYTICS_FOCUS_STR","target","fieldTypeToSnakeCase","fieldType","ALL_SECURED_FIELDS","onBlur","ANALYTICS_UNFOCUS_STR","onValidationErrorAnalytics","ANALYTICS_VALIDATION_ERROR_STR","validationErrorCode","errorCode","validationErrorMessage","getErrorMessageFromCode","SF_ErrorCodes","onBinValue","triggerBinLookUp","length","storePaymentMethod","Boolean","resources","getImage","brands","map","modules","name","displayName","lastFour","accessibleName","get","collectBrowserInfo","payButton","isZeroAuth","isStoredCard","h","PayButton","secondaryAmount","label","onClick","renderCardInput","isCardPrimaryInput","CardInput","setComponentRef","onChange","onSubmit","handleKeyPress","brandsIcons","isPayButtonPrimaryVariant","render","CoreProvider","loadingContext","SRPanelProvider","srPanel","ClickToPayWrapper","isStandaloneComponent","onSetStatus","setElementStatus","onError","handleError"],"mappings":"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"}
1
+ {"version":3,"file":"Card.js","sources":["../../../../src/components/Card/Card.tsx"],"sourcesContent":["import { h } from 'preact';\nimport CardInput from './components/CardInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport { BinLookupResponse, CardElementData, CardConfiguration } from './types';\nimport triggerBinLookUp from '../internal/SecuredFields/binLookup/triggerBinLookUp';\nimport { CbObjOnBinLookup, CbObjOnConfigSuccess, CbObjOnFocus } from '../internal/SecuredFields/lib/types';\nimport { fieldTypeToSnakeCase } from '../internal/SecuredFields/utils';\nimport { reject } from '../../utils/commonUtils';\nimport { hasValidInstallmentsObject } from './components/CardInput/utils';\nimport createClickToPayService from '../internal/ClickToPay/services/create-clicktopay-service';\nimport { ClickToPayCheckoutPayload, IClickToPayService } from '../internal/ClickToPay/services/types';\nimport ClickToPayWrapper from './components/ClickToPayWrapper';\nimport { ComponentFocusObject } from '../../types/global-types';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport { TxVariants } from '../tx-variants';\nimport type { PayButtonFunctionProps, UIElementStatus } from '../internal/UIElement/types';\nimport UIElement from '../internal/UIElement';\nimport PayButton from '../internal/PayButton';\nimport type { ICore } from '../../core/types';\nimport {\n ANALYTICS_FOCUS_STR,\n ANALYTICS_CONFIGURED_STR,\n ANALYTICS_UNFOCUS_STR,\n ANALYTICS_VALIDATION_ERROR_STR,\n ANALYTICS_RENDERED_STR\n} from '../../core/Analytics/constants';\nimport { ALL_SECURED_FIELDS } from '../internal/SecuredFields/lib/constants';\nimport { FieldErrorAnalyticsObject, SendAnalyticsObject } from '../../core/Analytics/types';\nimport { hasOwnProperty } from '../../utils/hasOwnProperty';\nimport AdyenCheckoutError, { IMPLEMENTATION_ERROR } from '../../core/Errors/AdyenCheckoutError';\nimport { getErrorMessageFromCode } from '../../core/Errors/utils';\nimport { SF_ErrorCodes } from '../../core/Errors/constants';\nimport CardInputDefaultProps from './components/CardInput/defaultProps';\n\nexport class CardElement extends UIElement<CardConfiguration> {\n public static type = TxVariants.scheme;\n\n private readonly clickToPayService: IClickToPayService | null;\n\n /**\n * Reference to the 'ClickToPayComponent'\n */\n private clickToPayRef = null;\n\n constructor(checkout: ICore, props?: CardConfiguration) {\n super(checkout, props);\n\n if (props && !props._disableClickToPay) {\n this.clickToPayService = createClickToPayService(this.props.configuration, this.props.clickToPayConfiguration, this.props.environment);\n void this.clickToPayService?.initialize();\n }\n }\n\n protected static defaultProps = {\n showFormInstruction: true,\n _disableClickToPay: false,\n doBinLookup: true,\n // Merge most of CardInput's defaultProps\n ...reject(['type', 'setComponentRef']).from(CardInputDefaultProps)\n };\n\n public setStatus(status: UIElementStatus, props?): this {\n if (this.componentRef?.setStatus) {\n this.componentRef.setStatus(status, props);\n }\n if (this.clickToPayRef?.setStatus) {\n this.clickToPayRef.setStatus(status, props);\n }\n return this;\n }\n\n private setClickToPayRef = ref => {\n this.clickToPayRef = ref;\n };\n\n formatProps(props: CardConfiguration): CardConfiguration {\n // The value from a session should be used, before falling back to the merchant configuration\n const enableStoreDetails = props.session?.configuration?.enableStoreDetails ?? props.enableStoreDetails;\n\n const isZeroAuth = props.amount?.value === 0;\n const showStoreDetailsCheckbox = isZeroAuth ? false : enableStoreDetails;\n\n const storedCardID = props.storedPaymentMethodId || props.id; // check if we've been passed a (checkout) processed storedCard or one that merchant has pulled from the PMs response\n const isEcommerceStoredCard = storedCardID && props?.supportedShopperInteractions?.includes('Ecommerce'); // If we have a storedCard does it support Ecommerce (it might not if the merchant has pulled it from the PMs response)\n\n // If we have a storedPM but it doesn't support Ecommerce - we can't make a storedCard component from it\n if (storedCardID && !isEcommerceStoredCard) {\n // TODO - Decide if an error is too severe? Would a console.warning suffice?\n throw new AdyenCheckoutError(\n IMPLEMENTATION_ERROR,\n 'You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions'\n );\n }\n\n return {\n ...props,\n // Mismatch between hasHolderName & holderNameRequired which can mean card can never be valid\n holderNameRequired: !props.hasHolderName ? false : props.holderNameRequired,\n // False for *stored* BCMC cards & if merchant explicitly wants to hide the CVC field\n hasCVC: !((props.brand && props.brand === 'bcmc') || props.hideCVC),\n // billingAddressRequired only available for non-stored cards\n billingAddressRequired: props.storedPaymentMethodId ? false : props.billingAddressRequired,\n // edge case where merchant has defined both an onAddressLookup callback AND set billingAddressMode: 'partial' - which leads to some strange behaviour in the address UI\n billingAddressMode: props.onAddressLookup ? CardInputDefaultProps.billingAddressMode : props.billingAddressMode,\n /** props.brand will be specified in the case of a StoredCard or a Bancontact component, for a regular Card we default it to 'card' */\n brand: props.brand ?? TxVariants.card,\n countryCode: props.countryCode ? props.countryCode.toLowerCase() : null,\n // Required for transition period (until configuration object becomes the norm)\n // - if merchant has defined value directly in props, use this instead\n configuration: {\n ...props.configuration,\n socialSecurityNumberMode: props.configuration?.socialSecurityNumberMode ?? 'auto'\n },\n brandsConfiguration: props.brandsConfiguration || props.configuration?.brandsConfiguration || {},\n icon: props.icon || props.configuration?.icon,\n // installmentOptions of a session should be used before falling back to the merchant configuration\n installmentOptions: props.session?.configuration?.installmentOptions || props.installmentOptions,\n enableStoreDetails,\n showStoreDetailsCheckbox,\n /**\n * Click to Pay configuration\n * - If email is set explicitly in the configuration, then it can override the one used in the session creation\n */\n clickToPayConfiguration: {\n ...props.clickToPayConfiguration,\n disableOtpAutoFocus: props.clickToPayConfiguration?.disableOtpAutoFocus || false,\n shopperEmail: props.clickToPayConfiguration?.shopperEmail || this.core.options?.session?.shopperEmail,\n telephoneNumber: props.clickToPayConfiguration?.telephoneNumber || this.core.options?.session?.telephoneNumber,\n locale: props.clickToPayConfiguration?.locale || props.i18n?.locale?.replace('-', '_')\n },\n ...(storedCardID && { storedPaymentMethodId: storedCardID })\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): CardElementData {\n /**\n * this.state.selectedBrandValue will be set when:\n * - /binLookup detects a single brand,\n * - when /binLookup detects a dual-branded card and the shopper makes a brand selection\n * - or, in the case of a storedCard\n */\n const cardBrand = this.state.selectedBrandValue;\n\n return {\n paymentMethod: {\n type: CardElement.type,\n ...this.state.data,\n ...(this.props.storedPaymentMethodId && {\n storedPaymentMethodId: this.props.storedPaymentMethodId,\n holderName: this.props.holderName ?? ''\n }),\n ...(cardBrand && { brand: cardBrand }),\n ...(this.props.fundingSource && { fundingSource: this.props.fundingSource })\n },\n ...(this.state.billingAddress && { billingAddress: this.state.billingAddress }),\n ...(this.state.socialSecurityNumber && { socialSecurityNumber: this.state.socialSecurityNumber }),\n ...this.storePaymentMethodPayload,\n ...(hasValidInstallmentsObject(this.state.installments) && { installments: this.state.installments }),\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin\n };\n }\n\n updateStyles(stylesObj) {\n if (this.componentRef?.updateStyles) this.componentRef.updateStyles(stylesObj);\n return this;\n }\n\n setFocusOn(fieldName) {\n if (this.componentRef?.setFocusOn) this.componentRef.setFocusOn(fieldName);\n return this;\n }\n\n public onBrand = event => {\n this.props.onBrand?.(event);\n };\n\n processBinLookupResponse(binLookupResponse: BinLookupResponse, isReset = false) {\n if (this.componentRef?.processBinLookupResponse) this.componentRef.processBinLookupResponse(binLookupResponse, isReset);\n return this;\n }\n\n handleUnsupportedCard(errObj) {\n if (this.componentRef?.handleUnsupportedCard) this.componentRef.handleUnsupportedCard(errObj);\n return this;\n }\n\n private handleClickToPaySubmit = (payload: ClickToPayCheckoutPayload) => {\n this.setState({ data: { ...payload }, valid: {}, errors: {}, isValid: true });\n this.submit();\n };\n\n onBinLookup(obj: CbObjOnBinLookup) {\n // Handler for regular card comp doesn't need this 'raw' data or to know about 'resets'\n if (!obj.isReset) {\n const nuObj = reject('supportedBrandsRaw').from(obj);\n this.props.onBinLookup?.(nuObj);\n }\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n const { type } = analyticsObj;\n\n if (type === ANALYTICS_RENDERED_STR || type === ANALYTICS_CONFIGURED_STR) {\n // Check if it's a storedCard\n if (this.constructor['type'] === 'scheme') {\n if (hasOwnProperty(this.props, 'supportedShopperInteractions')) {\n analyticsObj.isStoredPaymentMethod = true;\n analyticsObj.brand = this.props.brand;\n }\n }\n }\n\n super.submitAnalytics(analyticsObj, this.props);\n }\n\n private onConfigSuccess = (obj: CbObjOnConfigSuccess) => {\n this.submitAnalytics({\n type: ANALYTICS_CONFIGURED_STR\n });\n\n this.props.onConfigSuccess?.(obj);\n };\n\n private onFocus = (obj: ComponentFocusObject) => {\n this.submitAnalytics({\n type: ANALYTICS_FOCUS_STR,\n target: fieldTypeToSnakeCase(obj.fieldType)\n });\n\n // Call merchant defined callback\n if (ALL_SECURED_FIELDS.includes(obj.fieldType)) {\n this.props.onFocus?.(obj.event as CbObjOnFocus);\n } else {\n this.props.onFocus?.(obj);\n }\n };\n\n private onBlur = (obj: ComponentFocusObject) => {\n this.submitAnalytics({\n type: ANALYTICS_UNFOCUS_STR,\n target: fieldTypeToSnakeCase(obj.fieldType)\n });\n\n // Call merchant defined callback\n if (ALL_SECURED_FIELDS.includes(obj.fieldType)) {\n this.props.onBlur?.(obj.event as CbObjOnFocus);\n } else {\n this.props.onBlur?.(obj);\n }\n };\n\n private onValidationErrorAnalytics = (obj: FieldErrorAnalyticsObject) => {\n this.submitAnalytics({\n type: ANALYTICS_VALIDATION_ERROR_STR,\n target: fieldTypeToSnakeCase(obj.fieldType),\n validationErrorCode: obj.errorCode,\n validationErrorMessage: getErrorMessageFromCode(obj.errorCode, SF_ErrorCodes)\n });\n };\n\n public onBinValue = triggerBinLookUp(this);\n\n get storePaymentMethodPayload() {\n const isStoredCard = this.props.storedPaymentMethodId?.length > 0;\n if (isStoredCard) {\n return {};\n }\n\n /**\n * For regular card, zero auth payments, we store the payment method, *if* the configuration says we should:\n * - For sessions, this means if the session has been created with storePaymentMethodMode: 'askForConsent'\n * - For the advanced flow, this means if the merchant has still set enableStoreDetails: true\n *\n * What we are doing is.. if for a normal payment we would show the \"Save for my next payment\" checkbox,\n * for a zero-auth payment we effectively click the checkbox on behalf of the shopper.\n */\n const isZeroAuth = this.props.amount?.value === 0;\n if (isZeroAuth) {\n return this.props.enableStoreDetails ? { storePaymentMethod: true } : {};\n }\n\n // For regular card, non-zero auth payments, we store the payment method based on the checkbox value.\n const includeStorePaymentMethod = this.props.showStoreDetailsCheckbox && typeof this.state.storePaymentMethod !== 'undefined';\n return includeStorePaymentMethod ? { storePaymentMethod: Boolean(this.state.storePaymentMethod) } : {};\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get icon() {\n return this.props.icon ?? this.resources.getImage()(this.props.brand);\n }\n\n get brands(): { icon: any; name: string }[] {\n const { brands, brandsConfiguration } = this.props;\n if (brands) {\n return brands.map(brand => {\n const brandIcon = brandsConfiguration[brand]?.icon ?? this.props.modules.resources.getImage()(brand);\n return { icon: brandIcon, name: brand };\n });\n }\n\n return [];\n }\n\n get displayName(): string {\n if (this.props.storedPaymentMethodId) {\n return `•••• ${this.props.lastFour}`;\n }\n\n return this.props.name || CardElement.type;\n }\n\n get accessibleName(): string {\n // Use display name, unless it's a stored payment method, there inform user\n return (\n (this.props.name || CardElement.type) +\n (this.props.storedPaymentMethodId\n ? ' ' + this.props.i18n.get('creditCard.storedCard.description.ariaLabel').replace('%@', this.props.lastFour)\n : '')\n );\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n protected override payButton = (props: PayButtonFunctionProps) => {\n const isZeroAuth = this.props.amount?.value === 0;\n const isStoredCard = this.props.storedPaymentMethodId?.length > 0;\n return (\n <PayButton\n {...props}\n amount={this.props.amount}\n secondaryAmount={this.props.secondaryAmount}\n label={isZeroAuth && !isStoredCard ? this.props.i18n.get('payButton.saveDetails') : ''}\n onClick={this.submit}\n />\n );\n };\n\n private renderCardInput(isCardPrimaryInput = true): h.JSX.Element {\n return (\n <CardInput\n setComponentRef={this.setComponentRef}\n {...this.props}\n {...this.state}\n onChange={this.setState}\n onSubmit={this.submit}\n handleKeyPress={this.handleKeyPress}\n payButton={this.payButton}\n onBrand={this.onBrand}\n onBinValue={this.onBinValue}\n brand={this.props.brand}\n brandsIcons={this.brands}\n isPayButtonPrimaryVariant={isCardPrimaryInput}\n resources={this.resources}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onValidationErrorAnalytics={this.onValidationErrorAnalytics}\n onConfigSuccess={this.onConfigSuccess}\n />\n );\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <ClickToPayWrapper\n amount={this.props.amount}\n configuration={this.props.clickToPayConfiguration}\n clickToPayService={this.clickToPayService}\n isStandaloneComponent={false}\n setClickToPayRef={this.setClickToPayRef}\n onSetStatus={this.setElementStatus}\n onSubmit={this.handleClickToPaySubmit}\n onError={this.handleError}\n >\n {isCardPrimaryInput => this.renderCardInput(isCardPrimaryInput)}\n </ClickToPayWrapper>\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n}\n\nexport default CardElement;\n"],"names":["CardElement","UIElement","static","TxVariants","scheme","clickToPayService","clickToPayRef","constructor","checkout","props","super","_disableClickToPay","this","createClickToPayService","configuration","clickToPayConfiguration","environment","initialize","showFormInstruction","doBinLookup","reject","from","CardInputDefaultProps","setStatus","status","componentRef","setClickToPayRef","ref","formatProps","enableStoreDetails","session","showStoreDetailsCheckbox","amount","value","storedCardID","storedPaymentMethodId","id","isEcommerceStoredCard","supportedShopperInteractions","includes","AdyenCheckoutError","IMPLEMENTATION_ERROR","holderNameRequired","hasHolderName","hasCVC","brand","hideCVC","billingAddressRequired","billingAddressMode","onAddressLookup","card","countryCode","toLowerCase","socialSecurityNumberMode","brandsConfiguration","icon","installmentOptions","disableOtpAutoFocus","shopperEmail","core","options","telephoneNumber","locale","i18n","replace","formatData","cardBrand","state","selectedBrandValue","paymentMethod","type","data","holderName","fundingSource","billingAddress","socialSecurityNumber","storePaymentMethodPayload","hasValidInstallmentsObject","installments","browserInfo","origin","window","location","updateStyles","stylesObj","setFocusOn","fieldName","onBrand","event","processBinLookupResponse","binLookupResponse","isReset","handleUnsupportedCard","errObj","handleClickToPaySubmit","payload","setState","valid","errors","isValid","submit","onBinLookup","obj","nuObj","submitAnalytics","analyticsObj","ANALYTICS_RENDERED_STR","ANALYTICS_CONFIGURED_STR","hasOwnProperty","isStoredPaymentMethod","onConfigSuccess","onFocus","ANALYTICS_FOCUS_STR","target","fieldTypeToSnakeCase","fieldType","ALL_SECURED_FIELDS","onBlur","ANALYTICS_UNFOCUS_STR","onValidationErrorAnalytics","ANALYTICS_VALIDATION_ERROR_STR","validationErrorCode","errorCode","validationErrorMessage","getErrorMessageFromCode","SF_ErrorCodes","onBinValue","triggerBinLookUp","length","storePaymentMethod","Boolean","resources","getImage","brands","map","modules","name","displayName","lastFour","accessibleName","get","collectBrowserInfo","payButton","isZeroAuth","isStoredCard","h","PayButton","secondaryAmount","label","onClick","renderCardInput","isCardPrimaryInput","CardInput","setComponentRef","onChange","onSubmit","handleKeyPress","brandsIcons","isPayButtonPrimaryVariant","render","CoreProvider","loadingContext","SRPanelProvider","srPanel","ClickToPayWrapper","isStandaloneComponent","onSetStatus","setElementStatus","onError","handleError"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{createElement as t,Fragment as e}from"../../../external/preact/dist/preact.js";import{useState as a,useEffect as o,useCallback as r}from"../../../external/preact/hooks/dist/hooks.js";import n from"../../internal/ClickToPay/context/useClickToPayContext.js";import{CtpState as i}from"../../internal/ClickToPay/services/ClickToPayService.js";import l from"../../internal/ClickToPay/ClickToPayComponent.js";import s from"../../internal/ContentSeparator/ContentSeparator.js";import c from"../../internal/Button/Button.js";import{useCoreContext as p}from"../../../core/Context/CoreProvider.js";const m=({children:m})=>{const{i18n:d}=p(),[C,u]=a(null),{ctpState:f,isCtpPrimaryPaymentMethod:y,setIsCtpPrimaryPaymentMethod:k,status:P}=n(),h=null===C&&null===y;o((()=>{if(h){if(f===i.ShopperIdentified||f===i.Ready)return u(!1),void k(!0);f===i.NotAvailable&&(u(!0),k(!1))}}),[f,h]);const j=r((()=>{u(!0),k(!1)}),[]);return f===i.NotAvailable?m():f===i.Loading||f===i.ShopperIdentified?t(l,null):t(e,null,t(l,{onDisplayCardComponent:j}),t(s,{classNames:["adyen-checkout-ctp__separator"],label:d.get("ctp.separatorText")}),C?m(!y):t(c,{variant:"secondary",disabled:"loading"===P,label:d.get("ctp.manualCardEntry"),onClick:j}))};export{m as default};
1
+ import{createElement as t,Fragment as e}from"../../../external/preact/dist/preact.js";import{useState as a,useEffect as o,useCallback as r}from"../../../external/preact/hooks/dist/hooks.js";import n from"../../internal/ClickToPay/context/useClickToPayContext.js";import{CtpState as i}from"../../internal/ClickToPay/services/ClickToPayService.js";import l from"../../internal/ClickToPay/ClickToPayComponent.js";import s from"../../internal/ContentSeparator/ContentSeparator.js";import c from"../../internal/Button/Button.js";import{useCoreContext as p}from"../../../core/Context/CoreProvider.js";const m=({children:m})=>{const{i18n:d}=p(),[C,u]=a(null),{ctpState:y,isCtpPrimaryPaymentMethod:f,setIsCtpPrimaryPaymentMethod:k,status:P}=n(),h=null===C&&null===f;o((()=>{if(h){if(y===i.ShopperIdentified||y===i.Ready)return u(!1),void k(!0);y===i.NotAvailable&&(u(!0),k(!1))}}),[y,h]);const j=r((()=>{u(!0),k(!1)}),[]),v=r((t=>{"Enter"===t.key&&j()}),[j]);return y===i.NotAvailable?m():y===i.Loading||y===i.ShopperIdentified?t(l,null):t(e,null,t(l,{onDisplayCardComponent:j}),t(s,{classNames:["adyen-checkout-ctp__separator"],label:d.get("ctp.separatorText")}),C?m(!f):t(c,{variant:"secondary",disabled:"loading"===P,label:d.get("ctp.manualCardEntry"),onClick:j,onKeyDown:v}))};export{m as default};
2
2
  //# sourceMappingURL=ClickToPayHolder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClickToPayHolder.js","sources":["../../../../../src/components/Card/components/ClickToPayHolder.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport { useCallback, useEffect, useState } from 'preact/hooks';\nimport useClickToPayContext from '../../internal/ClickToPay/context/useClickToPayContext';\nimport { CtpState } from '../../internal/ClickToPay/services/ClickToPayService';\nimport ClickToPayComponent from '../../internal/ClickToPay';\nimport ContentSeparator from '../../internal/ContentSeparator';\nimport Button from '../../internal/Button';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\n\ntype ClickToPayWrapperProps = {\n children(isCardPrimaryInput?: boolean): h.JSX.Element;\n};\n\nconst ClickToPayHolder = ({ children }: ClickToPayWrapperProps) => {\n const { i18n } = useCoreContext();\n const [isCardInputVisible, setIsCardInputVisible] = useState<boolean>(null);\n const { ctpState, isCtpPrimaryPaymentMethod, setIsCtpPrimaryPaymentMethod, status } = useClickToPayContext();\n\n const areFieldsNotSet = isCardInputVisible === null && isCtpPrimaryPaymentMethod === null;\n\n useEffect(() => {\n if (areFieldsNotSet) {\n if (ctpState === CtpState.ShopperIdentified || ctpState === CtpState.Ready) {\n setIsCardInputVisible(false);\n setIsCtpPrimaryPaymentMethod(true);\n return;\n }\n if (ctpState === CtpState.NotAvailable) {\n setIsCardInputVisible(true);\n setIsCtpPrimaryPaymentMethod(false);\n }\n }\n }, [ctpState, areFieldsNotSet]);\n\n const handleOnShowCardButtonClick = useCallback(() => {\n setIsCardInputVisible(true);\n setIsCtpPrimaryPaymentMethod(false);\n }, []);\n\n if (ctpState === CtpState.NotAvailable) {\n return children();\n }\n\n if (ctpState === CtpState.Loading || ctpState === CtpState.ShopperIdentified) {\n return <ClickToPayComponent />;\n }\n\n return (\n <Fragment>\n <ClickToPayComponent onDisplayCardComponent={handleOnShowCardButtonClick} />\n\n <ContentSeparator classNames={['adyen-checkout-ctp__separator']} label={i18n.get('ctp.separatorText')} />\n\n {isCardInputVisible ? (\n children(!isCtpPrimaryPaymentMethod)\n ) : (\n <Button\n variant=\"secondary\"\n disabled={status === 'loading'}\n label={i18n.get('ctp.manualCardEntry')}\n onClick={handleOnShowCardButtonClick}\n />\n )}\n </Fragment>\n );\n};\n\nexport default ClickToPayHolder;\n"],"names":["ClickToPayHolder","children","i18n","useCoreContext","isCardInputVisible","setIsCardInputVisible","useState","ctpState","isCtpPrimaryPaymentMethod","setIsCtpPrimaryPaymentMethod","status","useClickToPayContext","areFieldsNotSet","useEffect","CtpState","ShopperIdentified","Ready","NotAvailable","handleOnShowCardButtonClick","useCallback","Loading","h","ClickToPayComponent","Fragment","onDisplayCardComponent","ContentSeparator","classNames","label","get","Button","variant","disabled","onClick"],"mappings":"mlBAaA,MAAMA,EAAmB,EAAGC,eACxB,MAAMC,KAAEA,GAASC,KACVC,EAAoBC,GAAyBC,EAAkB,OAChEC,SAAEA,EAAQC,0BAAEA,EAAyBC,6BAAEA,EAA4BC,OAAEA,GAAWC,IAEhFC,EAAyC,OAAvBR,GAA6D,OAA9BI,EAEvDK,GAAU,KACN,GAAID,EAAiB,CACjB,GAAIL,IAAaO,EAASC,mBAAqBR,IAAaO,EAASE,MAGjE,OAFAX,GAAsB,QACtBI,GAA6B,GAG7BF,IAAaO,EAASG,eACtBZ,GAAsB,GACtBI,GAA6B,GAErC,IACD,CAACF,EAAUK,IAEd,MAAMM,EAA8BC,GAAY,KAC5Cd,GAAsB,GACtBI,GAA6B,EAAA,GAC9B,IAEH,OAAIF,IAAaO,EAASG,aACfhB,IAGPM,IAAaO,EAASM,SAAWb,IAAaO,EAASC,kBAChDM,EAACC,EAAAA,MAIRD,EAACE,OACGF,EAACC,EAAAA,CAAoBE,uBAAwBN,IAE7CG,EAACI,EAAAA,CAAiBC,WAAY,CAAC,iCAAkCC,MAAOzB,EAAK0B,IAAI,uBAEhFxB,EACGH,GAAUO,GAEVa,EAACQ,EAAAA,CACGC,QAAQ,YACRC,SAAqB,YAAXrB,EACViB,MAAOzB,EAAK0B,IAAI,uBAChBI,QAASd"}
1
+ {"version":3,"file":"ClickToPayHolder.js","sources":["../../../../../src/components/Card/components/ClickToPayHolder.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport { useCallback, useEffect, useState } from 'preact/hooks';\nimport useClickToPayContext from '../../internal/ClickToPay/context/useClickToPayContext';\nimport { CtpState } from '../../internal/ClickToPay/services/ClickToPayService';\nimport ClickToPayComponent from '../../internal/ClickToPay';\nimport ContentSeparator from '../../internal/ContentSeparator';\nimport Button from '../../internal/Button';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\n\ntype ClickToPayWrapperProps = {\n children(isCardPrimaryInput?: boolean): h.JSX.Element;\n};\n\nconst ClickToPayHolder = ({ children }: ClickToPayWrapperProps) => {\n const { i18n } = useCoreContext();\n const [isCardInputVisible, setIsCardInputVisible] = useState<boolean>(null);\n const { ctpState, isCtpPrimaryPaymentMethod, setIsCtpPrimaryPaymentMethod, status } = useClickToPayContext();\n\n const areFieldsNotSet = isCardInputVisible === null && isCtpPrimaryPaymentMethod === null;\n\n useEffect(() => {\n if (areFieldsNotSet) {\n if (ctpState === CtpState.ShopperIdentified || ctpState === CtpState.Ready) {\n setIsCardInputVisible(false);\n setIsCtpPrimaryPaymentMethod(true);\n return;\n }\n if (ctpState === CtpState.NotAvailable) {\n setIsCardInputVisible(true);\n setIsCtpPrimaryPaymentMethod(false);\n }\n }\n }, [ctpState, areFieldsNotSet]);\n\n const handleOnShowCardButtonClick = useCallback(() => {\n setIsCardInputVisible(true);\n setIsCtpPrimaryPaymentMethod(false);\n }, []);\n\n const handleButtonKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'Enter') {\n void handleOnShowCardButtonClick();\n }\n },\n [handleOnShowCardButtonClick]\n );\n\n if (ctpState === CtpState.NotAvailable) {\n return children();\n }\n\n if (ctpState === CtpState.Loading || ctpState === CtpState.ShopperIdentified) {\n return <ClickToPayComponent />;\n }\n\n return (\n <Fragment>\n <ClickToPayComponent onDisplayCardComponent={handleOnShowCardButtonClick} />\n\n <ContentSeparator classNames={['adyen-checkout-ctp__separator']} label={i18n.get('ctp.separatorText')} />\n\n {isCardInputVisible ? (\n children(!isCtpPrimaryPaymentMethod)\n ) : (\n <Button\n variant=\"secondary\"\n disabled={status === 'loading'}\n label={i18n.get('ctp.manualCardEntry')}\n onClick={handleOnShowCardButtonClick}\n onKeyDown={handleButtonKeyDown}\n />\n )}\n </Fragment>\n );\n};\n\nexport default ClickToPayHolder;\n"],"names":["ClickToPayHolder","children","i18n","useCoreContext","isCardInputVisible","setIsCardInputVisible","useState","ctpState","isCtpPrimaryPaymentMethod","setIsCtpPrimaryPaymentMethod","status","useClickToPayContext","areFieldsNotSet","useEffect","CtpState","ShopperIdentified","Ready","NotAvailable","handleOnShowCardButtonClick","useCallback","handleButtonKeyDown","event","key","Loading","h","ClickToPayComponent","Fragment","onDisplayCardComponent","ContentSeparator","classNames","label","get","Button","variant","disabled","onClick","onKeyDown"],"mappings":"mlBAaA,MAAMA,EAAmB,EAAGC,eACxB,MAAMC,KAAEA,GAASC,KACVC,EAAoBC,GAAyBC,EAAkB,OAChEC,SAAEA,EAAQC,0BAAEA,EAAyBC,6BAAEA,EAA4BC,OAAEA,GAAWC,IAEhFC,EAAyC,OAAvBR,GAA6D,OAA9BI,EAEvDK,GAAU,KACN,GAAID,EAAiB,CACjB,GAAIL,IAAaO,EAASC,mBAAqBR,IAAaO,EAASE,MAGjE,OAFAX,GAAsB,QACtBI,GAA6B,GAG7BF,IAAaO,EAASG,eACtBZ,GAAsB,GACtBI,GAA6B,GAErC,IACD,CAACF,EAAUK,IAEd,MAAMM,EAA8BC,GAAY,KAC5Cd,GAAsB,GACtBI,GAA6B,EAAA,GAC9B,IAEGW,EAAsBD,GACvBE,IACqB,UAAdA,EAAMC,KACDJ,GACT,GAEJ,CAACA,IAGL,OAAIX,IAAaO,EAASG,aACfhB,IAGPM,IAAaO,EAASS,SAAWhB,IAAaO,EAASC,kBAChDS,EAACC,EAAAA,MAIRD,EAACE,OACGF,EAACC,EAAAA,CAAoBE,uBAAwBT,IAE7CM,EAACI,EAAAA,CAAiBC,WAAY,CAAC,iCAAkCC,MAAO5B,EAAK6B,IAAI,uBAEhF3B,EACGH,GAAUO,GAEVgB,EAACQ,EAAAA,CACGC,QAAQ,YACRC,SAAqB,YAAXxB,EACVoB,MAAO5B,EAAK6B,IAAI,uBAChBI,QAASjB,EACTkB,UAAWhB"}
@@ -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/DokuInput/DokuInput.js";import a from"./components/DokuVoucherResult/DokuVoucherResult.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import{TxVariants as s}from"../tx-variants.js";class i extends e{static type=s.doku;static txVariants=[s.doku,s.doku_alfamart,s.doku_permata_lite_atm,s.doku_indomaret,s.doku_atm_mandiri_va,s.doku_sinarmas_va,s.doku_mandiri_va,s.doku_cimb_va,s.doku_danamon_va,s.doku_bri_va,s.doku_bni_va,s.doku_bca_va,s.doku_wallet];get isValid(){return!!this.state.isValid}formatData(){return{...this.state.data,paymentMethod:{type:this.type}}}render(){return t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.reference?t(a,{ref:t=>{this.componentRef=t},...this.props}):t(o,{setComponentRef:this.setComponentRef,...this.props,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton}))}}export{i as DokuElement,i as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as o}from"../internal/UIElement/UIElement.js";import e from"./components/DokuInput/DokuInput.js";import a from"./components/DokuVoucherResult/DokuVoucherResult.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import{TxVariants as s}from"../tx-variants.js";class n extends o{static type=s.doku;static txVariants=[s.doku,s.doku_alfamart,s.doku_permata_lite_atm,s.doku_indomaret,s.doku_atm_mandiri_va,s.doku_sinarmas_va,s.doku_mandiri_va,s.doku_cimb_va,s.doku_danamon_va,s.doku_bri_va,s.doku_bni_va,s.doku_bca_va,s.doku_wallet];get isValid(){return!!this.state.isValid}formatData(){return{...this.state.data,paymentMethod:{type:this.type}}}render(){return t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.reference?t(a,{ref:t=>{this.componentRef=t},...this.props,onActionHandled:this.onActionHandled}):t(e,{setComponentRef:this.setComponentRef,...this.props,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton}))}}export{n as DokuElement,n as default};
2
2
  //# sourceMappingURL=Doku.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Doku.js","sources":["../../../../src/components/Doku/Doku.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport DokuInput from './components/DokuInput';\nimport DokuVoucherResult from './components/DokuVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class DokuElement extends UIElement<VoucherConfiguration> {\n public static type = TxVariants.doku;\n public static txVariants = [\n TxVariants.doku,\n TxVariants.doku_alfamart,\n TxVariants.doku_permata_lite_atm,\n TxVariants.doku_indomaret,\n TxVariants.doku_atm_mandiri_va,\n TxVariants.doku_sinarmas_va,\n TxVariants.doku_mandiri_va,\n TxVariants.doku_cimb_va,\n TxVariants.doku_danamon_va,\n TxVariants.doku_bri_va,\n TxVariants.doku_bni_va,\n TxVariants.doku_bca_va,\n TxVariants.doku_wallet\n ];\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n ...this.state.data,\n paymentMethod: {\n type: this.type\n }\n };\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.reference ? (\n <DokuVoucherResult\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n />\n ) : (\n <DokuInput\n setComponentRef={this.setComponentRef}\n {...this.props}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default DokuElement;\n"],"names":["DokuElement","UIElement","static","TxVariants","doku","doku_alfamart","doku_permata_lite_atm","doku_indomaret","doku_atm_mandiri_va","doku_sinarmas_va","doku_mandiri_va","doku_cimb_va","doku_danamon_va","doku_bri_va","doku_bni_va","doku_bca_va","doku_wallet","isValid","this","state","formatData","data","paymentMethod","type","render","h","CoreProvider","i18n","props","loadingContext","resources","reference","DokuVoucherResult","ref","componentRef","DokuInput","setComponentRef","onChange","setState","onSubmit","submit","payButton"],"mappings":"2WAQO,MAAMA,UAAoBC,EAC7BC,YAAqBC,EAAWC,KAChCF,kBAA2B,CACvBC,EAAWC,KACXD,EAAWE,cACXF,EAAWG,sBACXH,EAAWI,eACXJ,EAAWK,oBACXL,EAAWM,iBACXN,EAAWO,gBACXP,EAAWQ,aACXR,EAAWS,gBACXT,EAAWU,YACXV,EAAWW,YACXX,EAAWY,YACXZ,EAAWa,aAGf,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAKAG,UAAAA,GACI,MAAO,IACAF,KAAKC,MAAME,KACdC,cAAe,CACXC,KAAML,KAAKK,MAGvB,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMT,KAAKU,MAAMD,KAAME,eAAgBX,KAAKU,MAAMC,eAAgBC,UAAWZ,KAAKY,WAC3FZ,KAAKU,MAAMG,UACRN,EAACO,EAAAA,CACGC,IAAKA,IACDf,KAAKgB,aAAeD,CAAAA,KAEpBf,KAAKU,QAGbH,EAACU,EAAAA,CACGC,gBAAiBlB,KAAKkB,mBAClBlB,KAAKU,MACTS,SAAUnB,KAAKoB,SACfC,SAAUrB,KAAKsB,OACfC,UAAWvB,KAAKuB,YAKpC"}
1
+ {"version":3,"file":"Doku.js","sources":["../../../../src/components/Doku/Doku.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport DokuInput from './components/DokuInput';\nimport DokuVoucherResult from './components/DokuVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class DokuElement extends UIElement<VoucherConfiguration> {\n public static type = TxVariants.doku;\n public static txVariants = [\n TxVariants.doku,\n TxVariants.doku_alfamart,\n TxVariants.doku_permata_lite_atm,\n TxVariants.doku_indomaret,\n TxVariants.doku_atm_mandiri_va,\n TxVariants.doku_sinarmas_va,\n TxVariants.doku_mandiri_va,\n TxVariants.doku_cimb_va,\n TxVariants.doku_danamon_va,\n TxVariants.doku_bri_va,\n TxVariants.doku_bni_va,\n TxVariants.doku_bca_va,\n TxVariants.doku_wallet\n ];\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n ...this.state.data,\n paymentMethod: {\n type: this.type\n }\n };\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.reference ? (\n <DokuVoucherResult\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onActionHandled={this.onActionHandled}\n />\n ) : (\n <DokuInput\n setComponentRef={this.setComponentRef}\n {...this.props}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default DokuElement;\n"],"names":["DokuElement","UIElement","static","TxVariants","doku","doku_alfamart","doku_permata_lite_atm","doku_indomaret","doku_atm_mandiri_va","doku_sinarmas_va","doku_mandiri_va","doku_cimb_va","doku_danamon_va","doku_bri_va","doku_bni_va","doku_bca_va","doku_wallet","isValid","this","state","formatData","data","paymentMethod","type","render","h","CoreProvider","i18n","props","loadingContext","resources","reference","DokuVoucherResult","ref","componentRef","onActionHandled","DokuInput","setComponentRef","onChange","setState","onSubmit","submit","payButton"],"mappings":"2WAQO,MAAMA,UAAoBC,EAC7BC,YAAqBC,EAAWC,KAChCF,kBAA2B,CACvBC,EAAWC,KACXD,EAAWE,cACXF,EAAWG,sBACXH,EAAWI,eACXJ,EAAWK,oBACXL,EAAWM,iBACXN,EAAWO,gBACXP,EAAWQ,aACXR,EAAWS,gBACXT,EAAWU,YACXV,EAAWW,YACXX,EAAWY,YACXZ,EAAWa,aAGf,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAKAG,UAAAA,GACI,MAAO,IACAF,KAAKC,MAAME,KACdC,cAAe,CACXC,KAAML,KAAKK,MAGvB,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMT,KAAKU,MAAMD,KAAME,eAAgBX,KAAKU,MAAMC,eAAgBC,UAAWZ,KAAKY,WAC3FZ,KAAKU,MAAMG,UACRN,EAACO,EAAAA,CACGC,IAAKA,IACDf,KAAKgB,aAAeD,CAAAA,KAEpBf,KAAKU,MACTO,gBAAiBjB,KAAKiB,kBAG1BV,EAACW,EAAAA,CACGC,gBAAiBnB,KAAKmB,mBAClBnB,KAAKU,MACTU,SAAUpB,KAAKqB,SACfC,SAAUtB,KAAKuB,OACfC,UAAWxB,KAAKwB,YAKpC"}
@@ -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 a=a=>{const{reference:n,expiresAt:c,instructionsUrl:u,shopperName:m,merchantName:i,totalAmount:l,paymentMethodType:p}=a,{i18n:s}=r(),h=o();return e(t,{paymentMethodType:p,reference:n,introduction:s.get("voucher.introduction.doku"),imageUrl:h()(p),instructionsUrl:u,amount:l&&s.amount(l.value,l.currency),voucherDetails:[{label:s.get("voucher.expirationDate"),value:s.date(c)},{label:s.get("voucher.shopperName"),value:m},{label:s.get("voucher.merchantName"),value:i}],copyBtn:!0})};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{expiresAt:i,instructionsUrl:c,shopperName:s,merchantName:m}=n,{i18n:u}=t(),l=o();return e(r,{...a({props:n,i18n:u,introKey:"voucher.introduction.doku",getImage:l()}),instructionsUrl:c,voucherDetails:[{label:u.get("voucher.expirationDate"),value:u.date(i)},{label:u.get("voucher.shopperName"),value:s},{label:u.get("voucher.merchantName"),value:m}],copyBtn:!0})};export{n as default};
2
2
  //# sourceMappingURL=DokuVoucherResult.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DokuVoucherResult.js","sources":["../../../../../../src/components/Doku/components/DokuVoucherResult/DokuVoucherResult.tsx"],"sourcesContent":["import { h } from 'preact';\nimport Voucher from '../../../internal/Voucher';\n\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { DokuVoucherResultProps } from '../../types';\nimport useImage from '../../../../core/Context/useImage';\n\nconst DokuVoucherResult = (props: DokuVoucherResultProps) => {\n const { reference, expiresAt, instructionsUrl, shopperName, merchantName, totalAmount, paymentMethodType } = props;\n const { i18n } = useCoreContext();\n const getImage = useImage();\n\n return (\n <Voucher\n paymentMethodType={paymentMethodType}\n reference={reference}\n introduction={i18n.get('voucher.introduction.doku')}\n imageUrl={getImage()(paymentMethodType)}\n instructionsUrl={instructionsUrl}\n amount={totalAmount && i18n.amount(totalAmount.value, totalAmount.currency)}\n voucherDetails={[\n { label: i18n.get('voucher.expirationDate'), value: i18n.date(expiresAt) },\n { label: i18n.get('voucher.shopperName'), value: shopperName },\n { label: i18n.get('voucher.merchantName'), value: merchantName }\n ]}\n copyBtn\n />\n );\n};\n\nexport default DokuVoucherResult;\n"],"names":["DokuVoucherResult","props","reference","expiresAt","instructionsUrl","shopperName","merchantName","totalAmount","paymentMethodType","i18n","useCoreContext","getImage","useImage","h","Voucher","introduction","get","imageUrl","amount","value","currency","voucherDetails","label","date","copyBtn"],"mappings":"6PAOA,MAAMA,EAAqBC,IACvB,MAAMC,UAAEA,EAASC,UAAEA,EAASC,gBAAEA,EAAeC,YAAEA,EAAWC,aAAEA,EAAYC,YAAEA,EAAWC,kBAAEA,GAAsBP,GACvGQ,KAAEA,GAASC,IACXC,EAAWC,IAEjB,OACIC,EAACC,EAAAA,CACGN,kBAAmBA,EACnBN,UAAWA,EACXa,aAAcN,EAAKO,IAAI,6BACvBC,SAAUN,IAAWH,GACrBJ,gBAAiBA,EACjBc,OAAQX,GAAeE,EAAKS,OAAOX,EAAYY,MAAOZ,EAAYa,UAClEC,eAAgB,CACZ,CAAEC,MAAOb,EAAKO,IAAI,0BAA2BG,MAAOV,EAAKc,KAAKpB,IAC9D,CAAEmB,MAAOb,EAAKO,IAAI,uBAAwBG,MAAOd,GACjD,CAAEiB,MAAOb,EAAKO,IAAI,wBAAyBG,MAAOb,IAEtDkB,SAAAA"}
1
+ {"version":3,"file":"DokuVoucherResult.js","sources":["../../../../../../src/components/Doku/components/DokuVoucherResult/DokuVoucherResult.tsx"],"sourcesContent":["import { h } from 'preact';\nimport Voucher from '../../../internal/Voucher';\n\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { DokuVoucherResultProps } from '../../types';\nimport useImage from '../../../../core/Context/useImage';\nimport { extractCommonPropsForVoucher } from '../../../internal/Voucher/utils';\n\nconst DokuVoucherResult = (props: DokuVoucherResultProps) => {\n const { expiresAt, instructionsUrl, shopperName, merchantName } = props;\n const { i18n } = useCoreContext();\n const getImage = useImage();\n\n return (\n <Voucher\n {...extractCommonPropsForVoucher({ props, i18n, introKey: 'voucher.introduction.doku', getImage: getImage() })}\n instructionsUrl={instructionsUrl}\n voucherDetails={[\n { label: i18n.get('voucher.expirationDate'), value: i18n.date(expiresAt) },\n { label: i18n.get('voucher.shopperName'), value: shopperName },\n { label: i18n.get('voucher.merchantName'), value: merchantName }\n ]}\n copyBtn\n />\n );\n};\n\nexport default DokuVoucherResult;\n"],"names":["DokuVoucherResult","props","expiresAt","instructionsUrl","shopperName","merchantName","i18n","useCoreContext","getImage","useImage","h","Voucher","extractCommonPropsForVoucher","introKey","voucherDetails","label","get","value","date","copyBtn"],"mappings":"+UAQA,MAAMA,EAAqBC,IACvB,MAAMC,UAAEA,EAASC,gBAAEA,EAAeC,YAAEA,EAAWC,aAAEA,GAAiBJ,GAC5DK,KAAEA,GAASC,IACXC,EAAWC,IAEjB,OACIC,EAACC,EAAAA,IACOC,EAA6B,CAAEX,QAAOK,OAAMO,SAAU,4BAA6BL,SAAUA,MACjGL,gBAAiBA,EACjBW,eAAgB,CACZ,CAAEC,MAAOT,EAAKU,IAAI,0BAA2BC,MAAOX,EAAKY,KAAKhB,IAC9D,CAAEa,MAAOT,EAAKU,IAAI,uBAAwBC,MAAOb,GACjD,CAAEW,MAAOT,EAAKU,IAAI,wBAAyBC,MAAOZ,IAEtDc,SAAAA"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as s}from"../internal/UIElement/UIElement.js";import e from"./components/DragonpayInput/DragonpayInput.js";import r from"./components/DragonpayVoucherResult/DragonpayVoucherResult.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import{TxVariants as n}from"../tx-variants.js";class a extends s{static type=n.dragonpay;static txVariants=[n.dragonpay,n.dragonpay_ebanking,n.dragonpay_otc_banking,n.dragonpay_otc_non_banking,n.dragonpay_otc_philippines];get isValid(){return!!this.state.isValid}formatData(){const{issuer:t,shopperEmail:s}=this.state.data;return{...s&&{shopperEmail:s},paymentMethod:{...t&&{issuer:t},type:this.type}}}formatProps(t){return{...t,issuers:t.details?.find((t=>"issuer"===t.key))?.items??t.issuers}}render(){return t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.reference?t(r,{ref:t=>{this.componentRef=t},icon:this.icon,...this.props}):t(e,{ref:t=>{this.componentRef=t},items:this.props.issuers,...this.props,showPayButton:this.props.showPayButton,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton}))}}export{a as DragonpayElement,a as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as s}from"../internal/UIElement/UIElement.js";import e from"./components/DragonpayInput/DragonpayInput.js";import o from"./components/DragonpayVoucherResult/DragonpayVoucherResult.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import{TxVariants as n}from"../tx-variants.js";class i extends s{static type=n.dragonpay;static txVariants=[n.dragonpay,n.dragonpay_ebanking,n.dragonpay_otc_banking,n.dragonpay_otc_non_banking,n.dragonpay_otc_philippines];get isValid(){return!!this.state.isValid}formatData(){const{issuer:t,shopperEmail:s}=this.state.data;return{...s&&{shopperEmail:s},paymentMethod:{...t&&{issuer:t},type:this.type}}}formatProps(t){return{...t,issuers:t.details?.find((t=>"issuer"===t.key))?.items??t.issuers}}render(){return t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.reference?t(o,{ref:t=>{this.componentRef=t},icon:this.icon,...this.props,onActionHandled:this.onActionHandled}):t(e,{ref:t=>{this.componentRef=t},items:this.props.issuers,...this.props,showPayButton:this.props.showPayButton,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton}))}}export{i as DragonpayElement,i as default};
2
2
  //# sourceMappingURL=Dragonpay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dragonpay.js","sources":["../../../../src/components/Dragonpay/Dragonpay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport DragonpayInput from './components/DragonpayInput';\nimport DragonpayVoucherResult from './components/DragonpayVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { DragonpayConfiguraton } from './types';\nimport { TxVariants } from '../tx-variants';\n\nexport class DragonpayElement extends UIElement<DragonpayConfiguraton> {\n public static type = TxVariants.dragonpay;\n\n public static txVariants = [\n TxVariants.dragonpay,\n TxVariants.dragonpay_ebanking,\n TxVariants.dragonpay_otc_banking,\n TxVariants.dragonpay_otc_non_banking,\n TxVariants.dragonpay_otc_philippines\n ];\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const { issuer, shopperEmail } = this.state.data;\n\n return {\n ...(shopperEmail && { shopperEmail }),\n paymentMethod: {\n ...(issuer && { issuer }),\n type: this.type\n }\n };\n }\n\n protected formatProps(props: DragonpayConfiguraton) {\n return {\n ...props,\n issuers: props.details?.find(detail => detail.key === 'issuer')?.items ?? props.issuers\n };\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.reference ? (\n <DragonpayVoucherResult\n ref={ref => {\n this.componentRef = ref;\n }}\n icon={this.icon}\n {...this.props}\n />\n ) : (\n <DragonpayInput\n ref={ref => {\n this.componentRef = ref;\n }}\n items={this.props.issuers}\n {...this.props}\n showPayButton={this.props.showPayButton}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default DragonpayElement;\n"],"names":["DragonpayElement","UIElement","static","TxVariants","dragonpay","dragonpay_ebanking","dragonpay_otc_banking","dragonpay_otc_non_banking","dragonpay_otc_philippines","isValid","this","state","formatData","issuer","shopperEmail","data","paymentMethod","type","formatProps","props","issuers","details","find","detail","key","items","render","h","CoreProvider","i18n","loadingContext","resources","reference","DragonpayVoucherResult","ref","componentRef","icon","DragonpayInput","showPayButton","onChange","setState","onSubmit","submit","payButton"],"mappings":"+XAQO,MAAMA,UAAyBC,EAClCC,YAAqBC,EAAWC,UAEhCF,kBAA2B,CACvBC,EAAWC,UACXD,EAAWE,mBACXF,EAAWG,sBACXH,EAAWI,0BACXJ,EAAWK,2BAGf,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAKAG,UAAAA,GACI,MAAMC,OAAEA,EAAMC,aAAEA,GAAiBJ,KAAKC,MAAMI,KAE5C,MAAO,IACCD,GAAgB,CAAEA,gBACtBE,cAAe,IACPH,GAAU,CAAEA,UAChBI,KAAMP,KAAKO,MAGvB,CAEUC,WAAAA,CAAYC,GAClB,MAAO,IACAA,EACHC,QAASD,EAAME,SAASC,MAAKC,GAAyB,WAAfA,EAAOC,OAAmBC,OAASN,EAAMC,QAExF,CAEAM,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMnB,KAAKS,MAAMU,KAAMC,eAAgBpB,KAAKS,MAAMW,eAAgBC,UAAWrB,KAAKqB,WAC3FrB,KAAKS,MAAMa,UACRL,EAACM,EAAAA,CACGC,IAAKA,IACDxB,KAAKyB,aAAeD,CAAAA,EAExBE,KAAM1B,KAAK0B,QACP1B,KAAKS,QAGbQ,EAACU,EAAAA,CACGH,IAAKA,IACDxB,KAAKyB,aAAeD,CAAAA,EAExBT,MAAOf,KAAKS,MAAMC,WACdV,KAAKS,MACTmB,cAAe5B,KAAKS,MAAMmB,cAC1BC,SAAU7B,KAAK8B,SACfC,SAAU/B,KAAKgC,OACfC,UAAWjC,KAAKiC,YAKpC"}
1
+ {"version":3,"file":"Dragonpay.js","sources":["../../../../src/components/Dragonpay/Dragonpay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport DragonpayInput from './components/DragonpayInput';\nimport DragonpayVoucherResult from './components/DragonpayVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { DragonpayConfiguraton } from './types';\nimport { TxVariants } from '../tx-variants';\n\nexport class DragonpayElement extends UIElement<DragonpayConfiguraton> {\n public static type = TxVariants.dragonpay;\n\n public static txVariants = [\n TxVariants.dragonpay,\n TxVariants.dragonpay_ebanking,\n TxVariants.dragonpay_otc_banking,\n TxVariants.dragonpay_otc_non_banking,\n TxVariants.dragonpay_otc_philippines\n ];\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const { issuer, shopperEmail } = this.state.data;\n\n return {\n ...(shopperEmail && { shopperEmail }),\n paymentMethod: {\n ...(issuer && { issuer }),\n type: this.type\n }\n };\n }\n\n protected formatProps(props: DragonpayConfiguraton) {\n return {\n ...props,\n issuers: props.details?.find(detail => detail.key === 'issuer')?.items ?? props.issuers\n };\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.reference ? (\n <DragonpayVoucherResult\n ref={ref => {\n this.componentRef = ref;\n }}\n icon={this.icon}\n {...this.props}\n onActionHandled={this.onActionHandled}\n />\n ) : (\n <DragonpayInput\n ref={ref => {\n this.componentRef = ref;\n }}\n items={this.props.issuers}\n {...this.props}\n showPayButton={this.props.showPayButton}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default DragonpayElement;\n"],"names":["DragonpayElement","UIElement","static","TxVariants","dragonpay","dragonpay_ebanking","dragonpay_otc_banking","dragonpay_otc_non_banking","dragonpay_otc_philippines","isValid","this","state","formatData","issuer","shopperEmail","data","paymentMethod","type","formatProps","props","issuers","details","find","detail","key","items","render","h","CoreProvider","i18n","loadingContext","resources","reference","DragonpayVoucherResult","ref","componentRef","icon","onActionHandled","DragonpayInput","showPayButton","onChange","setState","onSubmit","submit","payButton"],"mappings":"+XAQO,MAAMA,UAAyBC,EAClCC,YAAqBC,EAAWC,UAEhCF,kBAA2B,CACvBC,EAAWC,UACXD,EAAWE,mBACXF,EAAWG,sBACXH,EAAWI,0BACXJ,EAAWK,2BAGf,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAKAG,UAAAA,GACI,MAAMC,OAAEA,EAAMC,aAAEA,GAAiBJ,KAAKC,MAAMI,KAE5C,MAAO,IACCD,GAAgB,CAAEA,gBACtBE,cAAe,IACPH,GAAU,CAAEA,UAChBI,KAAMP,KAAKO,MAGvB,CAEUC,WAAAA,CAAYC,GAClB,MAAO,IACAA,EACHC,QAASD,EAAME,SAASC,MAAKC,GAAyB,WAAfA,EAAOC,OAAmBC,OAASN,EAAMC,QAExF,CAEAM,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMnB,KAAKS,MAAMU,KAAMC,eAAgBpB,KAAKS,MAAMW,eAAgBC,UAAWrB,KAAKqB,WAC3FrB,KAAKS,MAAMa,UACRL,EAACM,EAAAA,CACGC,IAAKA,IACDxB,KAAKyB,aAAeD,CAAAA,EAExBE,KAAM1B,KAAK0B,QACP1B,KAAKS,MACTkB,gBAAiB3B,KAAK2B,kBAG1BV,EAACW,EAAAA,CACGJ,IAAKA,IACDxB,KAAKyB,aAAeD,CAAAA,EAExBT,MAAOf,KAAKS,MAAMC,WACdV,KAAKS,MACToB,cAAe7B,KAAKS,MAAMoB,cAC1BC,SAAU9B,KAAK+B,SACfC,SAAUhC,KAAKiC,OACfC,UAAWlC,KAAKkC,YAKpC"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../../external/preact/dist/preact.js";import r from"../../../internal/Voucher/Voucher.js";import t from"../../../../utils/get-issuer-image.js";import{useCoreContext as o}from"../../../../core/Context/CoreProvider.js";import n from"../../../../core/Context/useImage.js";function a(a){const{reference:i,totalAmount:u,surcharge:c,expiresAt:s,alternativeReference:l,instructionsUrl:m,icon:p,issuer:f,paymentMethodType:g}=a,{i18n:h}=o(),v=n(),d="dragonpay_otc_philippines"!==g?t({},g,v)(f.toLowerCase()):null;return e(r,{reference:i,paymentMethodType:g,introduction:h.get("voucher.introduction"),imageUrl:p,issuerImageUrl:d,instructionsUrl:m,amount:u&&h.amount(u.value,u.currency),surcharge:c&&h.amount(c.value,c.currency),voucherDetails:[{label:h.get("voucher.expirationDate"),value:h.dateTime(s)},{label:h.get("voucher.alternativeReference"),value:l}],copyBtn:!0})}export{a as default};
1
+ import{createElement as e}from"../../../../external/preact/dist/preact.js";import r from"../../../internal/Voucher/Voucher.js";import t from"../../../../utils/get-issuer-image.js";import{useCoreContext as o}from"../../../../core/Context/CoreProvider.js";import i from"../../../../core/Context/useImage.js";import{extractCommonPropsForVoucher as a}from"../../../internal/Voucher/utils.js";function n(n){const{surcharge:s,expiresAt:u,alternativeReference:c,instructionsUrl:l,icon:m,issuer:p,paymentMethodType:g}=n,{i18n:h}=o(),f=i(),v="dragonpay_otc_philippines"!==g?t({},g,f)(p.toLowerCase()):null;return e(r,{...a({props:n,i18n:h,introKey:"voucher.introduction",getImage:f()}),imageUrl:m,issuerImageUrl:v,instructionsUrl:l,surcharge:s&&h.amount(s.value,s.currency),voucherDetails:[{label:h.get("voucher.expirationDate"),value:h.dateTime(u)},{label:h.get("voucher.alternativeReference"),value:c}],copyBtn:!0})}export{n as default};
2
2
  //# sourceMappingURL=DragonpayVoucherResult.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DragonpayVoucherResult.js","sources":["../../../../../../src/components/Dragonpay/components/DragonpayVoucherResult/DragonpayVoucherResult.tsx"],"sourcesContent":["import { h } from 'preact';\nimport Voucher from '../../../internal/Voucher';\nimport getIssuerImageUrl from '../../../../utils/get-issuer-image';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { DragonpayVoucherResultProps } from '../../types';\nimport { VoucherDetail } from '../../../internal/Voucher/types';\nimport useImage from '../../../../core/Context/useImage';\n\nexport default function DragonpayVoucherResult(props: DragonpayVoucherResultProps) {\n const { reference, totalAmount, surcharge, expiresAt, alternativeReference, instructionsUrl, icon, issuer, paymentMethodType } = props;\n const { i18n } = useCoreContext();\n const getImage = useImage();\n const issuerImageUrl =\n paymentMethodType !== 'dragonpay_otc_philippines' ? getIssuerImageUrl({}, paymentMethodType, getImage)(issuer.toLowerCase()) : null;\n\n return (\n <Voucher\n reference={reference}\n paymentMethodType={paymentMethodType}\n introduction={i18n.get('voucher.introduction')}\n imageUrl={icon}\n issuerImageUrl={issuerImageUrl}\n instructionsUrl={instructionsUrl}\n amount={totalAmount && i18n.amount(totalAmount.value, totalAmount.currency)}\n surcharge={surcharge && i18n.amount(surcharge.value, surcharge.currency)}\n voucherDetails={\n [\n { label: i18n.get('voucher.expirationDate'), value: i18n.dateTime(expiresAt) },\n { label: i18n.get('voucher.alternativeReference'), value: alternativeReference }\n ] as VoucherDetail[]\n }\n copyBtn\n />\n );\n}\n"],"names":["DragonpayVoucherResult","props","reference","totalAmount","surcharge","expiresAt","alternativeReference","instructionsUrl","icon","issuer","paymentMethodType","i18n","useCoreContext","getImage","useImage","issuerImageUrl","getIssuerImageUrl","toLowerCase","h","Voucher","introduction","get","imageUrl","amount","value","currency","voucherDetails","label","dateTime","copyBtn"],"mappings":"kTAQe,SAASA,EAAuBC,GAC3C,MAAMC,UAAEA,EAASC,YAAEA,EAAWC,UAAEA,EAASC,UAAEA,EAASC,qBAAEA,EAAoBC,gBAAEA,EAAeC,KAAEA,EAAIC,OAAEA,EAAMC,kBAAEA,GAAsBT,GAC3HU,KAAEA,GAASC,IACXC,EAAWC,IACXC,EACoB,8BAAtBL,EAAoDM,EAAkB,GAAIN,EAAmBG,EAAzCG,CAAmDP,EAAOQ,eAAiB,KAEnI,OACIC,EAACC,EAAAA,CACGjB,UAAWA,EACXQ,kBAAmBA,EACnBU,aAAcT,EAAKU,IAAI,wBACvBC,SAAUd,EACVO,eAAgBA,EAChBR,gBAAiBA,EACjBgB,OAAQpB,GAAeQ,EAAKY,OAAOpB,EAAYqB,MAAOrB,EAAYsB,UAClErB,UAAWA,GAAaO,EAAKY,OAAOnB,EAAUoB,MAAOpB,EAAUqB,UAC/DC,eACI,CACI,CAAEC,MAAOhB,EAAKU,IAAI,0BAA2BG,MAAOb,EAAKiB,SAASvB,IAClE,CAAEsB,MAAOhB,EAAKU,IAAI,gCAAiCG,MAAOlB,IAGlEuB,SAAAA,GAGZ"}
1
+ {"version":3,"file":"DragonpayVoucherResult.js","sources":["../../../../../../src/components/Dragonpay/components/DragonpayVoucherResult/DragonpayVoucherResult.tsx"],"sourcesContent":["import { h } from 'preact';\nimport Voucher from '../../../internal/Voucher';\nimport getIssuerImageUrl from '../../../../utils/get-issuer-image';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { DragonpayVoucherResultProps } from '../../types';\nimport { VoucherDetail } from '../../../internal/Voucher/types';\nimport useImage from '../../../../core/Context/useImage';\nimport { extractCommonPropsForVoucher } from '../../../internal/Voucher/utils';\n\nexport default function DragonpayVoucherResult(props: DragonpayVoucherResultProps) {\n const { surcharge, expiresAt, alternativeReference, instructionsUrl, icon, issuer, paymentMethodType } = props;\n const { i18n } = useCoreContext();\n const getImage = useImage();\n const issuerImageUrl =\n paymentMethodType !== 'dragonpay_otc_philippines' ? getIssuerImageUrl({}, paymentMethodType, getImage)(issuer.toLowerCase()) : null;\n\n return (\n <Voucher\n {...extractCommonPropsForVoucher({ props, i18n, introKey: 'voucher.introduction', getImage: getImage() })}\n imageUrl={icon} // Can this url be different to the one generated by using the paymentMethodType?\n issuerImageUrl={issuerImageUrl}\n instructionsUrl={instructionsUrl}\n surcharge={surcharge && i18n.amount(surcharge.value, surcharge.currency)}\n voucherDetails={\n [\n { label: i18n.get('voucher.expirationDate'), value: i18n.dateTime(expiresAt) },\n { label: i18n.get('voucher.alternativeReference'), value: alternativeReference }\n ] as VoucherDetail[]\n }\n copyBtn\n />\n );\n}\n"],"names":["DragonpayVoucherResult","props","surcharge","expiresAt","alternativeReference","instructionsUrl","icon","issuer","paymentMethodType","i18n","useCoreContext","getImage","useImage","issuerImageUrl","getIssuerImageUrl","toLowerCase","h","Voucher","extractCommonPropsForVoucher","introKey","imageUrl","amount","value","currency","voucherDetails","label","get","dateTime","copyBtn"],"mappings":"oYASe,SAASA,EAAuBC,GAC3C,MAAMC,UAAEA,EAASC,UAAEA,EAASC,qBAAEA,EAAoBC,gBAAEA,EAAeC,KAAEA,EAAIC,OAAEA,EAAMC,kBAAEA,GAAsBP,GACnGQ,KAAEA,GAASC,IACXC,EAAWC,IACXC,EACoB,8BAAtBL,EAAoDM,EAAkB,GAAIN,EAAmBG,EAAzCG,CAAmDP,EAAOQ,eAAiB,KAEnI,OACIC,EAACC,EAAAA,IACOC,EAA6B,CAAEjB,QAAOQ,OAAMU,SAAU,uBAAwBR,SAAUA,MAC5FS,SAAUd,EACVO,eAAgBA,EAChBR,gBAAiBA,EACjBH,UAAWA,GAAaO,EAAKY,OAAOnB,EAAUoB,MAAOpB,EAAUqB,UAC/DC,eACI,CACI,CAAEC,MAAOhB,EAAKiB,IAAI,0BAA2BJ,MAAOb,EAAKkB,SAASxB,IAClE,CAAEsB,MAAOhB,EAAKiB,IAAI,gCAAiCJ,MAAOlB,IAGlEwB,SAAAA,GAGZ"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../../../external/preact/dist/preact.js";import n from"../PaymentMethodIcon.js";import{getFullBrandName as t}from"../../../../Card/components/CardInput/utils.js";const a=({brands:a,excludedUIBrands:r=[],isPaymentMethodSelected:s})=>{if(s)return null;const m=a.filter((e=>!r?.includes(e.name))),{visibleBrands:o,leftBrandsAmount:d}=(e=>{const n=e.length<=4?e:e.slice(0,3);return{visibleBrands:n,leftBrandsAmount:e.length-n.length}})(m);return e("span",{className:"adyen-checkout__payment-method__brands"},o.map((a=>e(n,{key:a.name,altDescription:t(a.name),type:a.name,src:a.icon}))),0!==d&&e("span",{className:"adyen-checkout__payment-method__brand-number"},"+",d))};export{a as default};
1
+ import{createElement as e}from"../../../../../external/preact/dist/preact.js";import t from"../PaymentMethodIcon.js";import{getFullBrandName as n}from"../../../../Card/components/CardInput/utils.js";import{useCoreContext as a}from"../../../../../core/Context/CoreProvider.js";const r=({brands:r,excludedUIBrands:s=[],isPaymentMethodSelected:o,keepBrandsVisible:m=!1,showOtherInsteafOfNumber:d=!1})=>{const{i18n:c}=a();if(o&&!m)return null;const l=r.filter((e=>!s?.includes(e.name))),{visibleBrands:i,leftBrandsAmount:p}=(e=>{const t=e.length<=4?e:e.slice(0,3);return{visibleBrands:t,leftBrandsAmount:e.length-t.length}})(l);return e("span",{className:"adyen-checkout__payment-method__brands"},i.map((a=>e(t,{key:a.name,altDescription:n(a.name),type:a.name,src:a.icon}))),d?e("span",{className:"adyen-checkout__payment-method__brand-number"},"+ ",c.get("paymentMethodBrand.other")):0!==p&&e("span",{className:"adyen-checkout__payment-method__brand-number"},"+",p))};export{r as default};
2
2
  //# sourceMappingURL=PaymentMethodBrands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentMethodBrands.js","sources":["../../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodBrands/PaymentMethodBrands.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { BrandConfiguration } from '../../../../Card/types';\nimport PaymentMethodIcon from '../PaymentMethodIcon';\nimport { getFullBrandName } from '../../../../Card/components/CardInput/utils';\n\nconst prepareVisibleBrands = (allowedBrands: Array<BrandConfiguration>) => {\n const visibleBrands = allowedBrands.length <= 4 ? allowedBrands : allowedBrands.slice(0, 3);\n return {\n visibleBrands,\n leftBrandsAmount: allowedBrands.length - visibleBrands.length\n };\n};\n\ninterface PaymentMethodBrandsProps {\n brands: Array<BrandConfiguration>;\n excludedUIBrands?: Array<string>;\n isPaymentMethodSelected: boolean;\n}\n\nconst PaymentMethodBrands = ({ brands, excludedUIBrands = [], isPaymentMethodSelected }: PaymentMethodBrandsProps) => {\n if (isPaymentMethodSelected) {\n return null;\n }\n\n const allowedBrands = brands.filter(brand => !excludedUIBrands?.includes(brand.name));\n const { visibleBrands, leftBrandsAmount } = prepareVisibleBrands(allowedBrands);\n\n return (\n <span className=\"adyen-checkout__payment-method__brands\">\n {visibleBrands.map(brand => (\n <PaymentMethodIcon key={brand.name} altDescription={getFullBrandName(brand.name)} type={brand.name} src={brand.icon} />\n ))}\n {leftBrandsAmount !== 0 && <span className=\"adyen-checkout__payment-method__brand-number\">+{leftBrandsAmount}</span>}\n </span>\n );\n};\n\nexport default PaymentMethodBrands;\n"],"names":["PaymentMethodBrands","brands","excludedUIBrands","isPaymentMethodSelected","allowedBrands","filter","brand","includes","name","visibleBrands","leftBrandsAmount","length","slice","prepareVisibleBrands","h","span","className","map","PaymentMethodIcon","key","altDescription","getFullBrandName","type","src","icon"],"mappings":"uMAKA,MAcMA,EAAsB,EAAGC,SAAQC,mBAAmB,GAAIC,8BAC1D,GAAIA,EACA,OAAO,KAGX,MAAMC,EAAgBH,EAAOI,QAAOC,IAAUJ,GAAkBK,SAASD,EAAME,SACzEC,cAAEA,EAAaC,iBAAEA,GApBE,CAACN,IAC1B,MAAMK,EAAgBL,EAAcO,QAAU,EAAIP,EAAgBA,EAAcQ,MAAM,EAAG,GACzF,MAAO,CACHH,gBACAC,iBAAkBN,EAAcO,OAASF,EAAcE,OAC3D,EAe4CE,CAAqBT,GAEjE,OACIU,EAACC,OAAAA,CAAKC,UAAU,0CACXP,EAAcQ,KAAIX,GACfQ,EAACI,EAAAA,CAAkBC,IAAKb,EAAME,KAAMY,eAAgBC,EAAiBf,EAAME,MAAOc,KAAMhB,EAAME,KAAMe,IAAKjB,EAAMkB,SAE7F,IAArBd,GAA0BI,EAACC,OAAAA,CAAKC,UAAU,gDAA+C,IAAEN,GAAAA"}
1
+ {"version":3,"file":"PaymentMethodBrands.js","sources":["../../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodBrands/PaymentMethodBrands.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { BrandConfiguration } from '../../../../Card/types';\nimport PaymentMethodIcon from '../PaymentMethodIcon';\nimport { getFullBrandName } from '../../../../Card/components/CardInput/utils';\nimport { useCoreContext } from '../../../../../core/Context/CoreProvider';\n\nconst prepareVisibleBrands = (allowedBrands: Array<BrandConfiguration>) => {\n const visibleBrands = allowedBrands.length <= 4 ? allowedBrands : allowedBrands.slice(0, 3);\n return {\n visibleBrands,\n leftBrandsAmount: allowedBrands.length - visibleBrands.length\n };\n};\n\ninterface PaymentMethodBrandsProps {\n brands: Array<BrandConfiguration>;\n excludedUIBrands?: Array<string>;\n isPaymentMethodSelected: boolean;\n keepBrandsVisible?: boolean;\n showOtherInsteafOfNumber?: boolean;\n}\n\nconst PaymentMethodBrands = ({\n brands,\n excludedUIBrands = [],\n isPaymentMethodSelected,\n keepBrandsVisible = false,\n showOtherInsteafOfNumber = false\n}: PaymentMethodBrandsProps) => {\n const { i18n } = useCoreContext();\n\n if (isPaymentMethodSelected && !keepBrandsVisible) {\n return null;\n }\n\n const allowedBrands = brands.filter(brand => !excludedUIBrands?.includes(brand.name));\n const { visibleBrands, leftBrandsAmount } = prepareVisibleBrands(allowedBrands);\n\n return (\n <span className=\"adyen-checkout__payment-method__brands\">\n {visibleBrands.map(brand => (\n <PaymentMethodIcon key={brand.name} altDescription={getFullBrandName(brand.name)} type={brand.name} src={brand.icon} />\n ))}\n {showOtherInsteafOfNumber ? (\n <span className=\"adyen-checkout__payment-method__brand-number\">+ {i18n.get('paymentMethodBrand.other')}</span>\n ) : (\n leftBrandsAmount !== 0 && <span className=\"adyen-checkout__payment-method__brand-number\">+{leftBrandsAmount}</span>\n )}\n </span>\n );\n};\n\nexport default PaymentMethodBrands;\n"],"names":["PaymentMethodBrands","brands","excludedUIBrands","isPaymentMethodSelected","keepBrandsVisible","showOtherInsteafOfNumber","i18n","useCoreContext","allowedBrands","filter","brand","includes","name","visibleBrands","leftBrandsAmount","length","slice","prepareVisibleBrands","h","span","className","map","PaymentMethodIcon","key","altDescription","getFullBrandName","type","src","icon","get"],"mappings":"oRAMA,MAgBMA,EAAsB,EACxBC,SACAC,mBAAmB,GACnBC,0BACAC,qBAAoB,EACpBC,4BAA2B,MAE3B,MAAMC,KAAEA,GAASC,IAEjB,GAAIJ,IAA4BC,EAC5B,OAAO,KAGX,MAAMI,EAAgBP,EAAOQ,QAAOC,IAAUR,GAAkBS,SAASD,EAAME,SACzEC,cAAEA,EAAaC,iBAAEA,GA9BE,CAACN,IAC1B,MAAMK,EAAgBL,EAAcO,QAAU,EAAIP,EAAgBA,EAAcQ,MAAM,EAAG,GACzF,MAAO,CACHH,gBACAC,iBAAkBN,EAAcO,OAASF,EAAcE,OAC3D,EAyB4CE,CAAqBT,GAEjE,OACIU,EAACC,OAAAA,CAAKC,UAAU,0CACXP,EAAcQ,KAAIX,GACfQ,EAACI,EAAAA,CAAkBC,IAAKb,EAAME,KAAMY,eAAgBC,EAAiBf,EAAME,MAAOc,KAAMhB,EAAME,KAAMe,IAAKjB,EAAMkB,SAElHvB,EACGa,EAACC,OAAAA,CAAKC,UAAU,gDAA+C,KAAGd,EAAKuB,IAAI,6BAEtD,IAArBf,GAA0BI,EAACC,OAAAA,CAAKC,UAAU,gDAA+C,IAAEN,GAAAA"}
@@ -1,2 +1,2 @@
1
- import{Component as e,createElement as t}from"../../../../../external/preact/dist/preact.js";import o from"../../../../../external/classnames/index.js";import n from"../PaymentMethodDetails.js";import a from"../PaymentMethodIcon.js";import i from"../DisableOneClickConfirmation.js";import s from"../PaymentMethodBrands/PaymentMethodBrands.js";import{BRAND_ICON_UI_EXCLUSION_LIST as d}from"../../../../internal/SecuredFields/lib/constants.js";import r from"../PaymentMethodName.js";import{useCoreContext as m}from"../../../../../core/Context/CoreProvider.js";import h from"../../../../internal/ExpandButton/ExpandButton.js";class l extends e{static defaultProps={paymentMethod:null,isSelected:!1,isLoaded:!1,isLoading:!1,showDisableStoredPaymentMethodConfirmation:!1,showRadioButton:!1};state={showDisableStoredPaymentMethodConfirmation:!1};toggleDisableConfirmation=()=>{this.setState({showDisableStoredPaymentMethodConfirmation:!this.state.showDisableStoredPaymentMethodConfirmation})};onDisableStoredPaymentMethod=()=>{this.props.onDisableStoredPaymentMethod(this.props.paymentMethod),this.toggleDisableConfirmation()};handleOnListItemClick=()=>{const{onSelect:e,paymentMethod:t}=this.props;e(t)};render({paymentMethod:e,isSelected:l,isDisablingPaymentMethod:c,isLoaded:p,isLoading:y,standalone:u,showRadioButton:_}){const{i18n:b}=m();if(!e)return null;const f="card"===e.props.type||"scheme"===e.props.type,C=o({"adyen-checkout__payment-method":!0,[`adyen-checkout__payment-method--${e.props.type}`]:!0,...f&&{[`adyen-checkout__payment-method--${e.props.fundingSource??"credit"}`]:!0},"adyen-checkout__payment-method--selected":l,"adyen-checkout__payment-method--loading":y,"adyen-checkout__payment-method--disabling":c,"adyen-checkout__payment-method--confirming":this.state.showDisableStoredPaymentMethodConfirmation,"adyen-checkout__payment-method--standalone":u,[e._id]:!0,[this.props.className]:!0}),k=this.props.showRemovePaymentMethodButton&&e.props.oneClick&&l,M=`remove-${e._id}`,P=`container-${e._id}`,D=`button-${e._id}`,S=!e.props.oneClick&&e.brands&&e.brands.length>0;return t("div",{key:e._id,className:C,onClick:this.handleOnListItemClick},t("div",{className:"adyen-checkout__payment-method__header"},t(h,{buttonId:D,showRadioButton:_,isSelected:l,expandContentId:P},t(a,{...e.props.oneClick&&{altDescription:e.props.name},type:e.type,src:e.icon}),t(r,{displayName:e.displayName,isSelected:l,additionalInfo:e.additionalInfo})),k&&t("button",{type:"button",className:"adyen-checkout__button adyen-checkout__button--inline adyen-checkout__button--link",onClick:this.toggleDisableConfirmation,"aria-expanded":this.state.showDisableStoredPaymentMethodConfirmation,"aria-controls":M},b.get("storedPaymentMethod.disable.button")),S&&t(s,{brands:e.brands,excludedUIBrands:d,isPaymentMethodSelected:l})),t("div",{className:"adyen-checkout-pm-details-wrapper","aria-hidden":!l},t("div",{className:"adyen-checkout__payment-method__details",id:P},k&&t(i,{id:M,open:this.state.showDisableStoredPaymentMethodConfirmation,onDisable:this.onDisableStoredPaymentMethod,onCancel:this.toggleDisableConfirmation}),t(n,{paymentMethodComponent:e.render(),isLoaded:p}))))}}export{l as default};
1
+ import{Component as e,createElement as t}from"../../../../../external/preact/dist/preact.js";import o from"../../../../../external/classnames/index.js";import n from"../PaymentMethodDetails.js";import a from"../PaymentMethodIcon.js";import s from"../DisableOneClickConfirmation.js";import i from"../PaymentMethodBrands/PaymentMethodBrands.js";import{BRAND_ICON_UI_EXCLUSION_LIST as d}from"../../../../internal/SecuredFields/lib/constants.js";import r from"../PaymentMethodName.js";import{useCoreContext as m}from"../../../../../core/Context/CoreProvider.js";import h from"../../../../internal/ExpandButton/ExpandButton.js";class l extends e{static defaultProps={paymentMethod:null,isSelected:!1,isLoaded:!1,isLoading:!1,showDisableStoredPaymentMethodConfirmation:!1,showRadioButton:!1};state={showDisableStoredPaymentMethodConfirmation:!1};toggleDisableConfirmation=()=>{this.setState({showDisableStoredPaymentMethodConfirmation:!this.state.showDisableStoredPaymentMethodConfirmation})};onDisableStoredPaymentMethod=()=>{this.props.onDisableStoredPaymentMethod(this.props.paymentMethod),this.toggleDisableConfirmation()};handleOnListItemClick=()=>{const{onSelect:e,paymentMethod:t}=this.props;e(t)};render({paymentMethod:e,isSelected:l,isDisablingPaymentMethod:p,isLoaded:c,isLoading:y,standalone:u,showRadioButton:b}){const{i18n:_}=m();if(!e)return null;const f="card"===e.props.type||"scheme"===e.props.type,k=o({"adyen-checkout__payment-method":!0,[`adyen-checkout__payment-method--${e.props.type}`]:!0,...f&&{[`adyen-checkout__payment-method--${e.props.fundingSource??"credit"}`]:!0},"adyen-checkout__payment-method--selected":l,"adyen-checkout__payment-method--loading":y,"adyen-checkout__payment-method--disabling":p,"adyen-checkout__payment-method--confirming":this.state.showDisableStoredPaymentMethodConfirmation,"adyen-checkout__payment-method--standalone":u,[e._id]:!0,[this.props.className]:!0}),C=this.props.showRemovePaymentMethodButton&&e.props.oneClick&&l,M=`remove-${e._id}`,P=`container-${e._id}`,D=`button-${e._id}`,S=!e.props.oneClick&&e.brands&&e.brands.length>0;return t("div",{key:e._id,className:k,onClick:this.handleOnListItemClick},t("div",{className:"adyen-checkout__payment-method__header"},t(h,{buttonId:D,showRadioButton:b,isSelected:l,expandContentId:P},t(a,{...e.props.oneClick&&{altDescription:e.props.name},type:e.type,src:e.icon}),t(r,{displayName:e.displayName,isSelected:l,additionalInfo:e.additionalInfo})),C&&t("button",{type:"button",className:"adyen-checkout__button adyen-checkout__button--inline adyen-checkout__button--link",onClick:this.toggleDisableConfirmation,"aria-expanded":this.state.showDisableStoredPaymentMethodConfirmation,"aria-controls":M},_.get("storedPaymentMethod.disable.button")),S&&t(i,{showOtherInsteafOfNumber:e.props.showOtherInsteafOfNumber,keepBrandsVisible:e.props.keepBrandsVisible,brands:e.brands,excludedUIBrands:d,isPaymentMethodSelected:l})),t("div",{className:"adyen-checkout-pm-details-wrapper","aria-hidden":!l},t("div",{className:"adyen-checkout__payment-method__details",id:P},C&&t(s,{id:M,open:this.state.showDisableStoredPaymentMethodConfirmation,onDisable:this.onDisableStoredPaymentMethod,onCancel:this.toggleDisableConfirmation}),t(n,{paymentMethodComponent:e.render(),isLoaded:c}))))}}export{l as default};
2
2
  //# sourceMappingURL=PaymentMethodItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentMethodItem.js","sources":["../../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport classNames from 'classnames';\nimport PaymentMethodDetails from '../PaymentMethodDetails';\nimport PaymentMethodIcon from '../PaymentMethodIcon';\nimport DisableOneClickConfirmation from '../DisableOneClickConfirmation';\nimport './PaymentMethodItem.scss';\nimport UIElement from '../../../../internal/UIElement/UIElement';\nimport PaymentMethodBrands from '../PaymentMethodBrands/PaymentMethodBrands';\nimport { BRAND_ICON_UI_EXCLUSION_LIST } from '../../../../internal/SecuredFields/lib/constants';\nimport PaymentMethodName from '../PaymentMethodName';\nimport { useCoreContext } from '../../../../../core/Context/CoreProvider';\nimport ExpandButton from '../../../../internal/ExpandButton';\n\nexport interface PaymentMethodItemProps {\n paymentMethod: UIElement;\n isSelected?: boolean;\n isLoaded?: boolean;\n isLoading?: boolean;\n isDisablingPaymentMethod: boolean;\n showRemovePaymentMethodButton: boolean;\n onDisableStoredPaymentMethod: (paymentMethod) => void;\n onSelect: (paymentMethod: UIElement) => void;\n standalone: boolean;\n className?: string;\n showRadioButton?: boolean;\n}\n\nclass PaymentMethodItem extends Component<PaymentMethodItemProps> {\n public static defaultProps = {\n paymentMethod: null,\n isSelected: false,\n isLoaded: false,\n isLoading: false,\n showDisableStoredPaymentMethodConfirmation: false,\n showRadioButton: false\n };\n\n public state = {\n showDisableStoredPaymentMethodConfirmation: false\n };\n\n public toggleDisableConfirmation = () => {\n this.setState({ showDisableStoredPaymentMethodConfirmation: !this.state.showDisableStoredPaymentMethodConfirmation });\n };\n\n public onDisableStoredPaymentMethod = () => {\n this.props.onDisableStoredPaymentMethod(this.props.paymentMethod);\n this.toggleDisableConfirmation();\n };\n\n private handleOnListItemClick = (): void => {\n const { onSelect, paymentMethod } = this.props;\n onSelect(paymentMethod);\n };\n\n // @ts-ignore need to refine the type for paymentMethod\n render({ paymentMethod, isSelected, isDisablingPaymentMethod, isLoaded, isLoading, standalone, showRadioButton }) {\n const { i18n } = useCoreContext();\n\n if (!paymentMethod) {\n return null;\n }\n\n const isCard = paymentMethod.props.type === 'card' || paymentMethod.props.type === 'scheme';\n\n const paymentMethodClassnames = classNames({\n 'adyen-checkout__payment-method': true,\n [`adyen-checkout__payment-method--${paymentMethod.props.type}`]: true,\n ...(isCard && { [`adyen-checkout__payment-method--${paymentMethod.props.fundingSource ?? 'credit'}`]: true }),\n 'adyen-checkout__payment-method--selected': isSelected,\n 'adyen-checkout__payment-method--loading': isLoading,\n 'adyen-checkout__payment-method--disabling': isDisablingPaymentMethod,\n 'adyen-checkout__payment-method--confirming': this.state.showDisableStoredPaymentMethodConfirmation,\n 'adyen-checkout__payment-method--standalone': standalone,\n [paymentMethod._id]: true,\n [this.props.className]: true\n });\n\n const showRemovePaymentMethodButton = this.props.showRemovePaymentMethodButton && paymentMethod.props.oneClick && isSelected;\n const disableConfirmationId = `remove-${paymentMethod._id}`;\n const containerId = `container-${paymentMethod._id}`;\n const buttonId = `button-${paymentMethod._id}`;\n\n const showBrands = !paymentMethod.props.oneClick && paymentMethod.brands && paymentMethod.brands.length > 0;\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions\n <div key={paymentMethod._id} className={paymentMethodClassnames} onClick={this.handleOnListItemClick}>\n <div className=\"adyen-checkout__payment-method__header\">\n <ExpandButton buttonId={buttonId} showRadioButton={showRadioButton} isSelected={isSelected} expandContentId={containerId}>\n <PaymentMethodIcon\n // Only add alt attribute to storedPaymentMethods (to avoid SR reading the PM name twice)\n {...(paymentMethod.props.oneClick && { altDescription: paymentMethod.props.name })}\n type={paymentMethod.type}\n src={paymentMethod.icon}\n />\n\n <PaymentMethodName\n displayName={paymentMethod.displayName}\n isSelected={isSelected}\n additionalInfo={paymentMethod.additionalInfo}\n />\n </ExpandButton>\n\n {showRemovePaymentMethodButton && (\n <button\n type=\"button\"\n className=\"adyen-checkout__button adyen-checkout__button--inline adyen-checkout__button--link\"\n onClick={this.toggleDisableConfirmation}\n aria-expanded={this.state.showDisableStoredPaymentMethodConfirmation}\n aria-controls={disableConfirmationId}\n >\n {i18n.get('storedPaymentMethod.disable.button')}\n </button>\n )}\n\n {showBrands && (\n <PaymentMethodBrands\n brands={paymentMethod.brands}\n excludedUIBrands={BRAND_ICON_UI_EXCLUSION_LIST}\n isPaymentMethodSelected={isSelected}\n />\n )}\n </div>\n\n <div className=\"adyen-checkout-pm-details-wrapper\" aria-hidden={!isSelected}>\n <div className=\"adyen-checkout__payment-method__details\" id={containerId}>\n {showRemovePaymentMethodButton && (\n <DisableOneClickConfirmation\n id={disableConfirmationId}\n open={this.state.showDisableStoredPaymentMethodConfirmation}\n onDisable={this.onDisableStoredPaymentMethod}\n onCancel={this.toggleDisableConfirmation}\n />\n )}\n\n <PaymentMethodDetails paymentMethodComponent={paymentMethod.render()} isLoaded={isLoaded} />\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default PaymentMethodItem;\n"],"names":["PaymentMethodItem","Component","static","paymentMethod","isSelected","isLoaded","isLoading","showDisableStoredPaymentMethodConfirmation","showRadioButton","state","toggleDisableConfirmation","this","setState","onDisableStoredPaymentMethod","props","handleOnListItemClick","onSelect","render","isDisablingPaymentMethod","standalone","i18n","useCoreContext","isCard","type","paymentMethodClassnames","classNames","fundingSource","_id","className","showRemovePaymentMethodButton","oneClick","disableConfirmationId","containerId","buttonId","showBrands","brands","length","h","div","key","onClick","ExpandButton","expandContentId","PaymentMethodIcon","altDescription","name","src","icon","PaymentMethodName","displayName","additionalInfo","button","aria-expanded","aria-controls","get","PaymentMethodBrands","excludedUIBrands","BRAND_ICON_UI_EXCLUSION_LIST","isPaymentMethodSelected","aria-hidden","id","DisableOneClickConfirmation","open","onDisable","onCancel","PaymentMethodDetails","paymentMethodComponent"],"mappings":"+mBA2BA,MAAMA,UAA0BC,EAC5BC,oBAA6B,CACzBC,cAAe,KACfC,YAAY,EACZC,UAAU,EACVC,WAAW,EACXC,4CAA4C,EAC5CC,iBAAiB,GAGdC,MAAQ,CACXF,4CAA4C,GAGzCG,0BAA4B,KAC/BC,KAAKC,SAAS,CAAEL,4CAA6CI,KAAKF,MAAMF,4CAA2C,EAGhHM,6BAA+B,KAClCF,KAAKG,MAAMD,6BAA6BF,KAAKG,MAAMX,eACnDQ,KAAKD,2BAAyB,EAG1BK,sBAAwB,KAC5B,MAAMC,SAAEA,EAAQb,cAAEA,GAAkBQ,KAAKG,MACzCE,EAASb,EAAAA,EAIbc,MAAAA,EAAOd,cAAEA,EAAaC,WAAEA,EAAUc,yBAAEA,EAAwBb,SAAEA,EAAQC,UAAEA,EAASa,WAAEA,EAAUX,gBAAEA,IAC3F,MAAMY,KAAEA,GAASC,IAEjB,IAAKlB,EACD,OAAO,KAGX,MAAMmB,EAAsC,SAA7BnB,EAAcW,MAAMS,MAAgD,WAA7BpB,EAAcW,MAAMS,KAEpEC,EAA0BC,EAAW,CACvC,kCAAkC,EAClC,CAAC,mCAAmCtB,EAAcW,MAAMS,SAAS,KAC7DD,GAAU,CAAE,CAAC,mCAAmCnB,EAAcW,MAAMY,eAAiB,aAAa,GACtG,2CAA4CtB,EAC5C,0CAA2CE,EAC3C,4CAA6CY,EAC7C,6CAA8CP,KAAKF,MAAMF,2CACzD,6CAA8CY,EAC9C,CAAChB,EAAcwB,MAAM,EACrB,CAAChB,KAAKG,MAAMc,YAAY,IAGtBC,EAAgClB,KAAKG,MAAMe,+BAAiC1B,EAAcW,MAAMgB,UAAY1B,EAC5G2B,EAAwB,UAAU5B,EAAcwB,MAChDK,EAAc,aAAa7B,EAAcwB,MACzCM,EAAW,UAAU9B,EAAcwB,MAEnCO,GAAc/B,EAAcW,MAAMgB,UAAY3B,EAAcgC,QAAUhC,EAAcgC,OAAOC,OAAS,EAE1G,OAEIC,EAACC,MAAAA,CAAIC,IAAKpC,EAAcwB,IAAKC,UAAWJ,EAAyBgB,QAAS7B,KAAKI,uBAC3EsB,EAACC,MAAAA,CAAIV,UAAU,0CACXS,EAACI,EAAAA,CAAaR,SAAUA,EAAUzB,gBAAiBA,EAAiBJ,WAAYA,EAAYsC,gBAAiBV,GACzGK,EAACM,EAAAA,IAEQxC,EAAcW,MAAMgB,UAAY,CAAEc,eAAgBzC,EAAcW,MAAM+B,MAC3EtB,KAAMpB,EAAcoB,KACpBuB,IAAK3C,EAAc4C,OAGvBV,EAACW,EAAAA,CACGC,YAAa9C,EAAc8C,YAC3B7C,WAAYA,EACZ8C,eAAgB/C,EAAc+C,kBAIrCrB,GACGQ,EAACc,SAAAA,CACG5B,KAAK,SACLK,UAAU,qFACVY,QAAS7B,KAAKD,0BACd0C,gBAAezC,KAAKF,MAAMF,2CAC1B8C,gBAAetB,GAEdX,EAAKkC,IAAI,uCAIjBpB,GACGG,EAACkB,EAAAA,CACGpB,OAAQhC,EAAcgC,OACtBqB,iBAAkBC,EAClBC,wBAAyBtD,KAKrCiC,EAACC,MAAAA,CAAIV,UAAU,oCAAoC+B,eAAcvD,GAC7DiC,EAACC,MAAAA,CAAIV,UAAU,0CAA0CgC,GAAI5B,GACxDH,GACGQ,EAACwB,EAAAA,CACGD,GAAI7B,EACJ+B,KAAMnD,KAAKF,MAAMF,2CACjBwD,UAAWpD,KAAKE,6BAChBmD,SAAUrD,KAAKD,4BAIvB2B,EAAC4B,EAAAA,CAAqBC,uBAAwB/D,EAAcc,SAAUZ,SAAUA,MAKpG"}
1
+ {"version":3,"file":"PaymentMethodItem.js","sources":["../../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport classNames from 'classnames';\nimport PaymentMethodDetails from '../PaymentMethodDetails';\nimport PaymentMethodIcon from '../PaymentMethodIcon';\nimport DisableOneClickConfirmation from '../DisableOneClickConfirmation';\nimport './PaymentMethodItem.scss';\nimport UIElement from '../../../../internal/UIElement/UIElement';\nimport PaymentMethodBrands from '../PaymentMethodBrands/PaymentMethodBrands';\nimport { BRAND_ICON_UI_EXCLUSION_LIST } from '../../../../internal/SecuredFields/lib/constants';\nimport PaymentMethodName from '../PaymentMethodName';\nimport { useCoreContext } from '../../../../../core/Context/CoreProvider';\nimport ExpandButton from '../../../../internal/ExpandButton';\n\nexport interface PaymentMethodItemProps {\n paymentMethod: UIElement;\n isSelected?: boolean;\n isLoaded?: boolean;\n isLoading?: boolean;\n isDisablingPaymentMethod: boolean;\n showRemovePaymentMethodButton: boolean;\n onDisableStoredPaymentMethod: (paymentMethod) => void;\n onSelect: (paymentMethod: UIElement) => void;\n standalone: boolean;\n className?: string;\n showRadioButton?: boolean;\n}\n\nclass PaymentMethodItem extends Component<PaymentMethodItemProps> {\n public static defaultProps = {\n paymentMethod: null,\n isSelected: false,\n isLoaded: false,\n isLoading: false,\n showDisableStoredPaymentMethodConfirmation: false,\n showRadioButton: false\n };\n\n public state = {\n showDisableStoredPaymentMethodConfirmation: false\n };\n\n public toggleDisableConfirmation = () => {\n this.setState({ showDisableStoredPaymentMethodConfirmation: !this.state.showDisableStoredPaymentMethodConfirmation });\n };\n\n public onDisableStoredPaymentMethod = () => {\n this.props.onDisableStoredPaymentMethod(this.props.paymentMethod);\n this.toggleDisableConfirmation();\n };\n\n private handleOnListItemClick = (): void => {\n const { onSelect, paymentMethod } = this.props;\n onSelect(paymentMethod);\n };\n\n // @ts-ignore need to refine the type for paymentMethod\n render({ paymentMethod, isSelected, isDisablingPaymentMethod, isLoaded, isLoading, standalone, showRadioButton }) {\n const { i18n } = useCoreContext();\n\n if (!paymentMethod) {\n return null;\n }\n\n const isCard = paymentMethod.props.type === 'card' || paymentMethod.props.type === 'scheme';\n\n const paymentMethodClassnames = classNames({\n 'adyen-checkout__payment-method': true,\n [`adyen-checkout__payment-method--${paymentMethod.props.type}`]: true,\n ...(isCard && { [`adyen-checkout__payment-method--${paymentMethod.props.fundingSource ?? 'credit'}`]: true }),\n 'adyen-checkout__payment-method--selected': isSelected,\n 'adyen-checkout__payment-method--loading': isLoading,\n 'adyen-checkout__payment-method--disabling': isDisablingPaymentMethod,\n 'adyen-checkout__payment-method--confirming': this.state.showDisableStoredPaymentMethodConfirmation,\n 'adyen-checkout__payment-method--standalone': standalone,\n [paymentMethod._id]: true,\n [this.props.className]: true\n });\n\n const showRemovePaymentMethodButton = this.props.showRemovePaymentMethodButton && paymentMethod.props.oneClick && isSelected;\n const disableConfirmationId = `remove-${paymentMethod._id}`;\n const containerId = `container-${paymentMethod._id}`;\n const buttonId = `button-${paymentMethod._id}`;\n\n const showBrands = !paymentMethod.props.oneClick && paymentMethod.brands && paymentMethod.brands.length > 0;\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions\n <div key={paymentMethod._id} className={paymentMethodClassnames} onClick={this.handleOnListItemClick}>\n <div className=\"adyen-checkout__payment-method__header\">\n <ExpandButton buttonId={buttonId} showRadioButton={showRadioButton} isSelected={isSelected} expandContentId={containerId}>\n <PaymentMethodIcon\n // Only add alt attribute to storedPaymentMethods (to avoid SR reading the PM name twice)\n {...(paymentMethod.props.oneClick && { altDescription: paymentMethod.props.name })}\n type={paymentMethod.type}\n src={paymentMethod.icon}\n />\n\n <PaymentMethodName\n displayName={paymentMethod.displayName}\n isSelected={isSelected}\n additionalInfo={paymentMethod.additionalInfo}\n />\n </ExpandButton>\n\n {showRemovePaymentMethodButton && (\n <button\n type=\"button\"\n className=\"adyen-checkout__button adyen-checkout__button--inline adyen-checkout__button--link\"\n onClick={this.toggleDisableConfirmation}\n aria-expanded={this.state.showDisableStoredPaymentMethodConfirmation}\n aria-controls={disableConfirmationId}\n >\n {i18n.get('storedPaymentMethod.disable.button')}\n </button>\n )}\n\n {showBrands && (\n <PaymentMethodBrands\n showOtherInsteafOfNumber={paymentMethod.props.showOtherInsteafOfNumber}\n keepBrandsVisible={paymentMethod.props.keepBrandsVisible}\n brands={paymentMethod.brands}\n excludedUIBrands={BRAND_ICON_UI_EXCLUSION_LIST}\n isPaymentMethodSelected={isSelected}\n />\n )}\n </div>\n\n <div className=\"adyen-checkout-pm-details-wrapper\" aria-hidden={!isSelected}>\n <div className=\"adyen-checkout__payment-method__details\" id={containerId}>\n {showRemovePaymentMethodButton && (\n <DisableOneClickConfirmation\n id={disableConfirmationId}\n open={this.state.showDisableStoredPaymentMethodConfirmation}\n onDisable={this.onDisableStoredPaymentMethod}\n onCancel={this.toggleDisableConfirmation}\n />\n )}\n\n <PaymentMethodDetails paymentMethodComponent={paymentMethod.render()} isLoaded={isLoaded} />\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default PaymentMethodItem;\n"],"names":["PaymentMethodItem","Component","static","paymentMethod","isSelected","isLoaded","isLoading","showDisableStoredPaymentMethodConfirmation","showRadioButton","state","toggleDisableConfirmation","this","setState","onDisableStoredPaymentMethod","props","handleOnListItemClick","onSelect","render","isDisablingPaymentMethod","standalone","i18n","useCoreContext","isCard","type","paymentMethodClassnames","classNames","fundingSource","_id","className","showRemovePaymentMethodButton","oneClick","disableConfirmationId","containerId","buttonId","showBrands","brands","length","h","div","key","onClick","ExpandButton","expandContentId","PaymentMethodIcon","altDescription","name","src","icon","PaymentMethodName","displayName","additionalInfo","button","aria-expanded","aria-controls","get","PaymentMethodBrands","showOtherInsteafOfNumber","keepBrandsVisible","excludedUIBrands","BRAND_ICON_UI_EXCLUSION_LIST","isPaymentMethodSelected","aria-hidden","id","DisableOneClickConfirmation","open","onDisable","onCancel","PaymentMethodDetails","paymentMethodComponent"],"mappings":"+mBA2BA,MAAMA,UAA0BC,EAC5BC,oBAA6B,CACzBC,cAAe,KACfC,YAAY,EACZC,UAAU,EACVC,WAAW,EACXC,4CAA4C,EAC5CC,iBAAiB,GAGdC,MAAQ,CACXF,4CAA4C,GAGzCG,0BAA4B,KAC/BC,KAAKC,SAAS,CAAEL,4CAA6CI,KAAKF,MAAMF,4CAA2C,EAGhHM,6BAA+B,KAClCF,KAAKG,MAAMD,6BAA6BF,KAAKG,MAAMX,eACnDQ,KAAKD,2BAAyB,EAG1BK,sBAAwB,KAC5B,MAAMC,SAAEA,EAAQb,cAAEA,GAAkBQ,KAAKG,MACzCE,EAASb,EAAAA,EAIbc,MAAAA,EAAOd,cAAEA,EAAaC,WAAEA,EAAUc,yBAAEA,EAAwBb,SAAEA,EAAQC,UAAEA,EAASa,WAAEA,EAAUX,gBAAEA,IAC3F,MAAMY,KAAEA,GAASC,IAEjB,IAAKlB,EACD,OAAO,KAGX,MAAMmB,EAAsC,SAA7BnB,EAAcW,MAAMS,MAAgD,WAA7BpB,EAAcW,MAAMS,KAEpEC,EAA0BC,EAAW,CACvC,kCAAkC,EAClC,CAAC,mCAAmCtB,EAAcW,MAAMS,SAAS,KAC7DD,GAAU,CAAE,CAAC,mCAAmCnB,EAAcW,MAAMY,eAAiB,aAAa,GACtG,2CAA4CtB,EAC5C,0CAA2CE,EAC3C,4CAA6CY,EAC7C,6CAA8CP,KAAKF,MAAMF,2CACzD,6CAA8CY,EAC9C,CAAChB,EAAcwB,MAAM,EACrB,CAAChB,KAAKG,MAAMc,YAAY,IAGtBC,EAAgClB,KAAKG,MAAMe,+BAAiC1B,EAAcW,MAAMgB,UAAY1B,EAC5G2B,EAAwB,UAAU5B,EAAcwB,MAChDK,EAAc,aAAa7B,EAAcwB,MACzCM,EAAW,UAAU9B,EAAcwB,MAEnCO,GAAc/B,EAAcW,MAAMgB,UAAY3B,EAAcgC,QAAUhC,EAAcgC,OAAOC,OAAS,EAE1G,OAEIC,EAACC,MAAAA,CAAIC,IAAKpC,EAAcwB,IAAKC,UAAWJ,EAAyBgB,QAAS7B,KAAKI,uBAC3EsB,EAACC,MAAAA,CAAIV,UAAU,0CACXS,EAACI,EAAAA,CAAaR,SAAUA,EAAUzB,gBAAiBA,EAAiBJ,WAAYA,EAAYsC,gBAAiBV,GACzGK,EAACM,EAAAA,IAEQxC,EAAcW,MAAMgB,UAAY,CAAEc,eAAgBzC,EAAcW,MAAM+B,MAC3EtB,KAAMpB,EAAcoB,KACpBuB,IAAK3C,EAAc4C,OAGvBV,EAACW,EAAAA,CACGC,YAAa9C,EAAc8C,YAC3B7C,WAAYA,EACZ8C,eAAgB/C,EAAc+C,kBAIrCrB,GACGQ,EAACc,SAAAA,CACG5B,KAAK,SACLK,UAAU,qFACVY,QAAS7B,KAAKD,0BACd0C,gBAAezC,KAAKF,MAAMF,2CAC1B8C,gBAAetB,GAEdX,EAAKkC,IAAI,uCAIjBpB,GACGG,EAACkB,EAAAA,CACGC,yBAA0BrD,EAAcW,MAAM0C,yBAC9CC,kBAAmBtD,EAAcW,MAAM2C,kBACvCtB,OAAQhC,EAAcgC,OACtBuB,iBAAkBC,EAClBC,wBAAyBxD,KAKrCiC,EAACC,MAAAA,CAAIV,UAAU,oCAAoCiC,eAAczD,GAC7DiC,EAACC,MAAAA,CAAIV,UAAU,0CAA0CkC,GAAI9B,GACxDH,GACGQ,EAAC0B,EAAAA,CACGD,GAAI/B,EACJiC,KAAMrD,KAAKF,MAAMF,2CACjB0D,UAAWtD,KAAKE,6BAChBqD,SAAUvD,KAAKD,4BAIvB2B,EAAC8B,EAAAA,CAAqBC,uBAAwBjE,EAAcc,SAAUZ,SAAUA,MAKpG"}
@@ -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/EcontextInput/EcontextInput.js";import s from"./components/EcontextVoucherResult/EcontextVoucherResult.js";import{CoreProvider as n}from"../../core/Context/CoreProvider.js";import{TxVariants as r}from"../tx-variants.js";class i extends e{static type=r.econtext;static txVariants=[r.econtext,r.econtext_atm,r.econtext_online,r.econtext_seven_eleven,r.econtext_stores];static defaultProps={personalDetailsRequired:!0};get isValid(){return!this.props.personalDetailsRequired||!!this.state.isValid}formatData(){return{...this.state.data,paymentMethod:{type:this.type}}}render(){return t(n,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.reference?t(s,{ref:t=>{this.componentRef=t},...this.props}):t(o,{setComponentRef:this.setComponentRef,...this.props,showPayButton:this.props.showPayButton,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton}))}}export{i as EcontextElement,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/EcontextInput/EcontextInput.js";import s from"./components/EcontextVoucherResult/EcontextVoucherResult.js";import{CoreProvider as n}from"../../core/Context/CoreProvider.js";import{TxVariants as r}from"../tx-variants.js";class i extends e{static type=r.econtext;static txVariants=[r.econtext,r.econtext_atm,r.econtext_online,r.econtext_seven_eleven,r.econtext_stores];static defaultProps={personalDetailsRequired:!0};get isValid(){return!this.props.personalDetailsRequired||!!this.state.isValid}formatData(){return{...this.state.data,paymentMethod:{type:this.type}}}render(){return t(n,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.reference?t(s,{ref:t=>{this.componentRef=t},...this.props,onActionHandled:this.onActionHandled}):t(o,{setComponentRef:this.setComponentRef,...this.props,showPayButton:this.props.showPayButton,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton}))}}export{i as EcontextElement,i as default};
2
2
  //# sourceMappingURL=Econtext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Econtext.js","sources":["../../../../src/components/Econtext/Econtext.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport EcontextInput from './components/EcontextInput';\nimport EcontextVoucherResult from './components/EcontextVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { TxVariants } from '../tx-variants';\nimport { EcontextConfiguration } from './types';\n\nexport class EcontextElement extends UIElement<EcontextConfiguration> {\n public static type = TxVariants.econtext;\n public static txVariants = [\n TxVariants.econtext,\n TxVariants.econtext_atm,\n TxVariants.econtext_online,\n TxVariants.econtext_seven_eleven,\n TxVariants.econtext_stores\n ];\n\n protected static defaultProps = {\n personalDetailsRequired: true\n };\n\n get isValid() {\n if (!this.props.personalDetailsRequired) {\n return true;\n }\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n ...this.state.data,\n paymentMethod: {\n type: this.type\n }\n };\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.reference ? (\n <EcontextVoucherResult\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n />\n ) : (\n <EcontextInput\n setComponentRef={this.setComponentRef}\n {...this.props}\n showPayButton={this.props.showPayButton}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default EcontextElement;\n"],"names":["EcontextElement","UIElement","static","TxVariants","econtext","econtext_atm","econtext_online","econtext_seven_eleven","econtext_stores","personalDetailsRequired","isValid","this","props","state","formatData","data","paymentMethod","type","render","h","CoreProvider","i18n","loadingContext","resources","reference","EcontextVoucherResult","ref","componentRef","EcontextInput","setComponentRef","showPayButton","onChange","setState","onSubmit","submit","payButton"],"mappings":"2XAQO,MAAMA,UAAwBC,EACjCC,YAAqBC,EAAWC,SAChCF,kBAA2B,CACvBC,EAAWC,SACXD,EAAWE,aACXF,EAAWG,gBACXH,EAAWI,sBACXJ,EAAWK,iBAGfN,oBAAgC,CAC5BO,yBAAyB,GAG7B,WAAIC,GACA,OAAKC,KAAKC,MAAMH,2BAGPE,KAAKE,MAAMH,OACxB,CAKAI,UAAAA,GACI,MAAO,IACAH,KAAKE,MAAME,KACdC,cAAe,CACXC,KAAMN,KAAKM,MAGvB,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMV,KAAKC,MAAMS,KAAMC,eAAgBX,KAAKC,MAAMU,eAAgBC,UAAWZ,KAAKY,WAC3FZ,KAAKC,MAAMY,UACRL,EAACM,EAAAA,CACGC,IAAKA,IACDf,KAAKgB,aAAeD,CAAAA,KAEpBf,KAAKC,QAGbO,EAACS,EAAAA,CACGC,gBAAiBlB,KAAKkB,mBAClBlB,KAAKC,MACTkB,cAAenB,KAAKC,MAAMkB,cAC1BC,SAAUpB,KAAKqB,SACfC,SAAUtB,KAAKuB,OACfC,UAAWxB,KAAKwB,YAKpC"}
1
+ {"version":3,"file":"Econtext.js","sources":["../../../../src/components/Econtext/Econtext.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport EcontextInput from './components/EcontextInput';\nimport EcontextVoucherResult from './components/EcontextVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { TxVariants } from '../tx-variants';\nimport { EcontextConfiguration } from './types';\n\nexport class EcontextElement extends UIElement<EcontextConfiguration> {\n public static type = TxVariants.econtext;\n public static txVariants = [\n TxVariants.econtext,\n TxVariants.econtext_atm,\n TxVariants.econtext_online,\n TxVariants.econtext_seven_eleven,\n TxVariants.econtext_stores\n ];\n\n protected static defaultProps = {\n personalDetailsRequired: true\n };\n\n get isValid() {\n if (!this.props.personalDetailsRequired) {\n return true;\n }\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n ...this.state.data,\n paymentMethod: {\n type: this.type\n }\n };\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.reference ? (\n <EcontextVoucherResult\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onActionHandled={this.onActionHandled}\n />\n ) : (\n <EcontextInput\n setComponentRef={this.setComponentRef}\n {...this.props}\n showPayButton={this.props.showPayButton}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default EcontextElement;\n"],"names":["EcontextElement","UIElement","static","TxVariants","econtext","econtext_atm","econtext_online","econtext_seven_eleven","econtext_stores","personalDetailsRequired","isValid","this","props","state","formatData","data","paymentMethod","type","render","h","CoreProvider","i18n","loadingContext","resources","reference","EcontextVoucherResult","ref","componentRef","onActionHandled","EcontextInput","setComponentRef","showPayButton","onChange","setState","onSubmit","submit","payButton"],"mappings":"2XAQO,MAAMA,UAAwBC,EACjCC,YAAqBC,EAAWC,SAChCF,kBAA2B,CACvBC,EAAWC,SACXD,EAAWE,aACXF,EAAWG,gBACXH,EAAWI,sBACXJ,EAAWK,iBAGfN,oBAAgC,CAC5BO,yBAAyB,GAG7B,WAAIC,GACA,OAAKC,KAAKC,MAAMH,2BAGPE,KAAKE,MAAMH,OACxB,CAKAI,UAAAA,GACI,MAAO,IACAH,KAAKE,MAAME,KACdC,cAAe,CACXC,KAAMN,KAAKM,MAGvB,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMV,KAAKC,MAAMS,KAAMC,eAAgBX,KAAKC,MAAMU,eAAgBC,UAAWZ,KAAKY,WAC3FZ,KAAKC,MAAMY,UACRL,EAACM,EAAAA,CACGC,IAAKA,IACDf,KAAKgB,aAAeD,CAAAA,KAEpBf,KAAKC,MACTgB,gBAAiBjB,KAAKiB,kBAG1BT,EAACU,EAAAA,CACGC,gBAAiBnB,KAAKmB,mBAClBnB,KAAKC,MACTmB,cAAepB,KAAKC,MAAMmB,cAC1BC,SAAUrB,KAAKsB,SACfC,SAAUvB,KAAKwB,OACfC,UAAWzB,KAAKyB,YAKpC"}
@@ -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 o}from"../../../../core/Context/CoreProvider.js";import r from"../../../../core/Context/useImage.js";const n=n=>{const{reference:c,totalAmount:i,expiresAt:u,paymentMethodType:a,maskedTelephoneNumber:l,instructionsUrl:m,collectionInstitutionNumber:s}=n,{i18n:p}=o(),h=r();return e(t,{paymentMethodType:a,reference:c,introduction:p.get("voucher.introduction.econtext"),imageUrl:h()(a),instructionsUrl:m,amount:i&&p.amount(i.value,i.currency),voucherDetails:[{label:p.get("voucher.collectionInstitutionNumber"),value:s},{label:p.get("voucher.expirationDate"),value:p.dateTime(u)},{label:p.get("voucher.telephoneNumber"),value:l}],copyBtn:!0})};export{n as default};
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";import{extractCommonPropsForVoucher as n}from"../../../internal/Voucher/utils.js";const i=i=>{const{expiresAt:c,maskedTelephoneNumber:l,instructionsUrl:u,collectionInstitutionNumber:a}=i,{i18n:s}=r(),m=o();return e(t,{...n({props:i,i18n:s,introKey:"voucher.introduction.econtext",getImage:m()}),instructionsUrl:u,voucherDetails:[{label:s.get("voucher.collectionInstitutionNumber"),value:a},{label:s.get("voucher.expirationDate"),value:s.dateTime(c)},{label:s.get("voucher.telephoneNumber"),value:l}],copyBtn:!0})};export{i as default};
2
2
  //# sourceMappingURL=EcontextVoucherResult.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EcontextVoucherResult.js","sources":["../../../../../../src/components/Econtext/components/EcontextVoucherResult/EcontextVoucherResult.tsx"],"sourcesContent":["import { h } from 'preact';\nimport Voucher from '../../../internal/Voucher';\n\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { EcontextVoucherResultProps } from '../../types';\nimport useImage from '../../../../core/Context/useImage';\n\nconst EcontextVoucherResult = (props: EcontextVoucherResultProps) => {\n const { reference, totalAmount, expiresAt, paymentMethodType, maskedTelephoneNumber, instructionsUrl, collectionInstitutionNumber } = props;\n const { i18n } = useCoreContext();\n const getImage = useImage();\n\n return (\n <Voucher\n paymentMethodType={paymentMethodType}\n reference={reference}\n introduction={i18n.get('voucher.introduction.econtext')}\n imageUrl={getImage()(paymentMethodType)}\n instructionsUrl={instructionsUrl}\n amount={totalAmount && i18n.amount(totalAmount.value, totalAmount.currency)}\n voucherDetails={[\n { label: i18n.get('voucher.collectionInstitutionNumber'), value: collectionInstitutionNumber },\n { label: i18n.get('voucher.expirationDate'), value: i18n.dateTime(expiresAt) },\n { label: i18n.get('voucher.telephoneNumber'), value: maskedTelephoneNumber }\n ]}\n copyBtn\n />\n );\n};\n\nexport default EcontextVoucherResult;\n"],"names":["EcontextVoucherResult","props","reference","totalAmount","expiresAt","paymentMethodType","maskedTelephoneNumber","instructionsUrl","collectionInstitutionNumber","i18n","useCoreContext","getImage","useImage","h","Voucher","introduction","get","imageUrl","amount","value","currency","voucherDetails","label","dateTime","copyBtn"],"mappings":"6PAOA,MAAMA,EAAyBC,IAC3B,MAAMC,UAAEA,EAASC,YAAEA,EAAWC,UAAEA,EAASC,kBAAEA,EAAiBC,sBAAEA,EAAqBC,gBAAEA,EAAeC,4BAAEA,GAAgCP,GAChIQ,KAAEA,GAASC,IACXC,EAAWC,IAEjB,OACIC,EAACC,EAAAA,CACGT,kBAAmBA,EACnBH,UAAWA,EACXa,aAAcN,EAAKO,IAAI,iCACvBC,SAAUN,IAAWN,GACrBE,gBAAiBA,EACjBW,OAAQf,GAAeM,EAAKS,OAAOf,EAAYgB,MAAOhB,EAAYiB,UAClEC,eAAgB,CACZ,CAAEC,MAAOb,EAAKO,IAAI,uCAAwCG,MAAOX,GACjE,CAAEc,MAAOb,EAAKO,IAAI,0BAA2BG,MAAOV,EAAKc,SAASnB,IAClE,CAAEkB,MAAOb,EAAKO,IAAI,2BAA4BG,MAAOb,IAEzDkB,SAAAA"}
1
+ {"version":3,"file":"EcontextVoucherResult.js","sources":["../../../../../../src/components/Econtext/components/EcontextVoucherResult/EcontextVoucherResult.tsx"],"sourcesContent":["import { h } from 'preact';\nimport Voucher from '../../../internal/Voucher';\n\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { EcontextVoucherResultProps } from '../../types';\nimport useImage from '../../../../core/Context/useImage';\nimport { extractCommonPropsForVoucher } from '../../../internal/Voucher/utils';\n\nconst EcontextVoucherResult = (props: EcontextVoucherResultProps) => {\n const { expiresAt, maskedTelephoneNumber, instructionsUrl, collectionInstitutionNumber } = props;\n const { i18n } = useCoreContext();\n const getImage = useImage();\n\n return (\n <Voucher\n {...extractCommonPropsForVoucher({ props, i18n, introKey: 'voucher.introduction.econtext', getImage: getImage() })}\n instructionsUrl={instructionsUrl}\n voucherDetails={[\n { label: i18n.get('voucher.collectionInstitutionNumber'), value: collectionInstitutionNumber },\n { label: i18n.get('voucher.expirationDate'), value: i18n.dateTime(expiresAt) },\n { label: i18n.get('voucher.telephoneNumber'), value: maskedTelephoneNumber }\n ]}\n copyBtn\n />\n );\n};\n\nexport default EcontextVoucherResult;\n"],"names":["EcontextVoucherResult","props","expiresAt","maskedTelephoneNumber","instructionsUrl","collectionInstitutionNumber","i18n","useCoreContext","getImage","useImage","h","Voucher","extractCommonPropsForVoucher","introKey","voucherDetails","label","get","value","dateTime","copyBtn"],"mappings":"+UAQA,MAAMA,EAAyBC,IAC3B,MAAMC,UAAEA,EAASC,sBAAEA,EAAqBC,gBAAEA,EAAeC,4BAAEA,GAAgCJ,GACrFK,KAAEA,GAASC,IACXC,EAAWC,IAEjB,OACIC,EAACC,EAAAA,IACOC,EAA6B,CAAEX,QAAOK,OAAMO,SAAU,gCAAiCL,SAAUA,MACrGJ,gBAAiBA,EACjBU,eAAgB,CACZ,CAAEC,MAAOT,EAAKU,IAAI,uCAAwCC,MAAOZ,GACjE,CAAEU,MAAOT,EAAKU,IAAI,0BAA2BC,MAAOX,EAAKY,SAAShB,IAClE,CAAEa,MAAOT,EAAKU,IAAI,2BAA4BC,MAAOd,IAEzDgB,SAAAA"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import n from"../internal/PayButton/PayButton.js";import{KlarnaContainer as i}from"./components/KlarnaContainer/KlarnaContainer.js";import{TxVariants as s}from"../tx-variants.js";class a extends e{static type=s.klarna;static txVariants=[s.klarna,s.klarna_account,s.klarna_paynow,s.klarna_b2b];static defaultProps={useKlarnaWidget:!1};constructor(t,e){super(t,e),this.onComplete=this.onComplete.bind(this),this.updateWithAction=this.updateWithAction.bind(this),this.submit=this.submit.bind(this),this.onLoaded=this.onLoaded.bind(this)}get isValid(){return!0}formatData(){return{paymentMethod:{type:this.type,...this.props.useKlarnaWidget?{subtype:"sdk"}:{}}}}payButton=e=>t(n,{amount:this.props.amount,onClick:this.submit,...e});updateWithAction(t){if(t.paymentMethodType!==this.type)throw new Error("Invalid Action");this.componentRef.setAction(t)}onLoaded(){this.setElementStatus("ready")}render(){return t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(i,{...this.props,ref:t=>{this.componentRef=t},displayName:this.displayName,onComplete:t=>this.handleAdditionalDetails(t),onError:this.props.onError,payButton:this.payButton,onLoaded:this.onLoaded}))}}export{a as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as o}from"../internal/UIElement/UIElement.js";import{CoreProvider as e}from"../../core/Context/CoreProvider.js";import n from"../internal/PayButton/PayButton.js";import{KlarnaContainer as i}from"./components/KlarnaContainer/KlarnaContainer.js";import{TxVariants as a}from"../tx-variants.js";class s extends o{static type=a.klarna;static txVariants=[a.klarna,a.klarna_account,a.klarna_paynow,a.klarna_b2b];static defaultProps={useKlarnaWidget:!1};constructor(t,o){super(t,o),this.onComplete=this.onComplete.bind(this),this.updateWithAction=this.updateWithAction.bind(this),this.submit=this.submit.bind(this),this.onLoaded=this.onLoaded.bind(this)}get isValid(){return!0}formatData(){return{paymentMethod:{type:this.type,...this.props.useKlarnaWidget?{subtype:"sdk"}:{}}}}payButton=o=>t(n,{amount:this.props.amount,onClick:this.submit,...o});updateWithAction(t){if(t.paymentMethodType!==this.type)throw new Error("Invalid Action");this.componentRef.setAction(t)}onLoaded(){this.setElementStatus("ready")}render(){return t(e,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(i,{...this.props,ref:t=>{this.componentRef=t},displayName:this.displayName,onComplete:t=>this.handleAdditionalDetails(t),onError:this.props.onError,payButton:this.payButton,onLoaded:this.onLoaded,onActionHandled:this.onActionHandled}))}}export{s as default};
2
2
  //# sourceMappingURL=KlarnaPayments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KlarnaPayments.js","sources":["../../../../src/components/Klarna/KlarnaPayments.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { KlarnConfiguration } from './types';\nimport PayButton from '../internal/PayButton';\nimport { KlarnaContainer } from './components/KlarnaContainer/KlarnaContainer';\nimport { PaymentAction } from '../../types/global-types';\nimport { TxVariants } from '../tx-variants';\nimport type { ICore } from '../../core/types';\n\nclass KlarnaPayments extends UIElement<KlarnConfiguration> {\n public static type = TxVariants.klarna;\n public static txVariants = [TxVariants.klarna, TxVariants.klarna_account, TxVariants.klarna_paynow, TxVariants.klarna_b2b];\n\n protected static defaultProps = {\n useKlarnaWidget: false\n };\n\n constructor(checkout: ICore, props?: KlarnConfiguration) {\n super(checkout, props);\n\n this.onComplete = this.onComplete.bind(this);\n this.updateWithAction = this.updateWithAction.bind(this);\n this.submit = this.submit.bind(this);\n this.onLoaded = this.onLoaded.bind(this);\n }\n get isValid() {\n return true;\n }\n\n protected formatData() {\n return {\n paymentMethod: {\n type: this.type,\n ...(this.props.useKlarnaWidget ? { subtype: 'sdk' } : {})\n }\n };\n }\n\n public payButton = props => {\n return <PayButton amount={this.props.amount} onClick={this.submit} {...props} />;\n };\n\n updateWithAction(action: PaymentAction): void {\n if (action.paymentMethodType !== this.type) throw new Error('Invalid Action');\n this.componentRef.setAction(action);\n }\n\n onLoaded() {\n // When action/widget is loaded, set the 'drop-in' back to ready\n this.setElementStatus('ready');\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <KlarnaContainer\n {...this.props}\n ref={ref => {\n this.componentRef = ref;\n }}\n displayName={this.displayName}\n onComplete={state => this.handleAdditionalDetails(state)}\n onError={this.props.onError}\n payButton={this.payButton}\n onLoaded={this.onLoaded}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default KlarnaPayments;\n"],"names":["KlarnaPayments","UIElement","static","TxVariants","klarna","klarna_account","klarna_paynow","klarna_b2b","useKlarnaWidget","constructor","checkout","props","super","this","onComplete","bind","updateWithAction","submit","onLoaded","isValid","formatData","paymentMethod","type","subtype","payButton","h","PayButton","amount","onClick","action","paymentMethodType","Error","componentRef","setAction","setElementStatus","render","CoreProvider","i18n","loadingContext","resources","KlarnaContainer","ref","displayName","state","handleAdditionalDetails","onError"],"mappings":"yXAUA,MAAMA,UAAuBC,EACzBC,YAAqBC,EAAWC,OAChCF,kBAA2B,CAACC,EAAWC,OAAQD,EAAWE,eAAgBF,EAAWG,cAAeH,EAAWI,YAE/GL,oBAAgC,CAC5BM,iBAAiB,GAGrBC,WAAAA,CAAYC,EAAiBC,GACzBC,MAAMF,EAAUC,GAEhBE,KAAKC,WAAaD,KAAKC,WAAWC,KAAKF,MACvCA,KAAKG,iBAAmBH,KAAKG,iBAAiBD,KAAKF,MACnDA,KAAKI,OAASJ,KAAKI,OAAOF,KAAKF,MAC/BA,KAAKK,SAAWL,KAAKK,SAASH,KAAKF,KACvC,CACA,WAAIM,GACA,OAAO,CACX,CAEUC,UAAAA,GACN,MAAO,CACHC,cAAe,CACXC,KAAMT,KAAKS,QACPT,KAAKF,MAAMH,gBAAkB,CAAEe,QAAS,OAAU,CAAE,GAGpE,CAEOC,UAAYb,GACRc,EAACC,EAAAA,CAAUC,OAAQd,KAAKF,MAAMgB,OAAQC,QAASf,KAAKI,UAAYN,IAG3EK,gBAAAA,CAAiBa,GACb,GAAIA,EAAOC,oBAAsBjB,KAAKS,KAAM,MAAM,IAAIS,MAAM,kBAC5DlB,KAAKmB,aAAaC,UAAUJ,EAChC,CAEAX,QAAAA,GAEIL,KAAKqB,iBAAiB,QAC1B,CAEAC,MAAAA,GACI,OACIV,EAACW,EAAAA,CAAaC,KAAMxB,KAAKF,MAAM0B,KAAMC,eAAgBzB,KAAKF,MAAM2B,eAAgBC,UAAW1B,KAAK0B,WAC5Fd,EAACe,EAAAA,IACO3B,KAAKF,MACT8B,IAAKA,IACD5B,KAAKmB,aAAeS,CAAAA,EAExBC,YAAa7B,KAAK6B,YAClB5B,WAAY6B,GAAS9B,KAAK+B,wBAAwBD,GAClDE,QAAShC,KAAKF,MAAMkC,QACpBrB,UAAWX,KAAKW,UAChBN,SAAUL,KAAKK,WAI/B"}
1
+ {"version":3,"file":"KlarnaPayments.js","sources":["../../../../src/components/Klarna/KlarnaPayments.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { KlarnConfiguration } from './types';\nimport PayButton from '../internal/PayButton';\nimport { KlarnaContainer } from './components/KlarnaContainer/KlarnaContainer';\nimport { PaymentAction } from '../../types/global-types';\nimport { TxVariants } from '../tx-variants';\nimport type { ICore } from '../../core/types';\n\nclass KlarnaPayments extends UIElement<KlarnConfiguration> {\n public static type = TxVariants.klarna;\n public static txVariants = [TxVariants.klarna, TxVariants.klarna_account, TxVariants.klarna_paynow, TxVariants.klarna_b2b];\n\n protected static defaultProps = {\n useKlarnaWidget: false\n };\n\n constructor(checkout: ICore, props?: KlarnConfiguration) {\n super(checkout, props);\n\n this.onComplete = this.onComplete.bind(this);\n this.updateWithAction = this.updateWithAction.bind(this);\n this.submit = this.submit.bind(this);\n this.onLoaded = this.onLoaded.bind(this);\n }\n get isValid() {\n return true;\n }\n\n protected formatData() {\n return {\n paymentMethod: {\n type: this.type,\n ...(this.props.useKlarnaWidget ? { subtype: 'sdk' } : {})\n }\n };\n }\n\n public payButton = props => {\n return <PayButton amount={this.props.amount} onClick={this.submit} {...props} />;\n };\n\n updateWithAction(action: PaymentAction): void {\n if (action.paymentMethodType !== this.type) throw new Error('Invalid Action');\n this.componentRef.setAction(action);\n }\n\n onLoaded() {\n // When action/widget is loaded, set the 'drop-in' back to ready\n this.setElementStatus('ready');\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <KlarnaContainer\n {...this.props}\n ref={ref => {\n this.componentRef = ref;\n }}\n displayName={this.displayName}\n onComplete={state => this.handleAdditionalDetails(state)}\n onError={this.props.onError}\n payButton={this.payButton}\n onLoaded={this.onLoaded}\n onActionHandled={this.onActionHandled}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default KlarnaPayments;\n"],"names":["KlarnaPayments","UIElement","static","TxVariants","klarna","klarna_account","klarna_paynow","klarna_b2b","useKlarnaWidget","constructor","checkout","props","super","this","onComplete","bind","updateWithAction","submit","onLoaded","isValid","formatData","paymentMethod","type","subtype","payButton","h","PayButton","amount","onClick","action","paymentMethodType","Error","componentRef","setAction","setElementStatus","render","CoreProvider","i18n","loadingContext","resources","KlarnaContainer","ref","displayName","state","handleAdditionalDetails","onError","onActionHandled"],"mappings":"yXAUA,MAAMA,UAAuBC,EACzBC,YAAqBC,EAAWC,OAChCF,kBAA2B,CAACC,EAAWC,OAAQD,EAAWE,eAAgBF,EAAWG,cAAeH,EAAWI,YAE/GL,oBAAgC,CAC5BM,iBAAiB,GAGrBC,WAAAA,CAAYC,EAAiBC,GACzBC,MAAMF,EAAUC,GAEhBE,KAAKC,WAAaD,KAAKC,WAAWC,KAAKF,MACvCA,KAAKG,iBAAmBH,KAAKG,iBAAiBD,KAAKF,MACnDA,KAAKI,OAASJ,KAAKI,OAAOF,KAAKF,MAC/BA,KAAKK,SAAWL,KAAKK,SAASH,KAAKF,KACvC,CACA,WAAIM,GACA,OAAO,CACX,CAEUC,UAAAA,GACN,MAAO,CACHC,cAAe,CACXC,KAAMT,KAAKS,QACPT,KAAKF,MAAMH,gBAAkB,CAAEe,QAAS,OAAU,CAAE,GAGpE,CAEOC,UAAYb,GACRc,EAACC,EAAAA,CAAUC,OAAQd,KAAKF,MAAMgB,OAAQC,QAASf,KAAKI,UAAYN,IAG3EK,gBAAAA,CAAiBa,GACb,GAAIA,EAAOC,oBAAsBjB,KAAKS,KAAM,MAAM,IAAIS,MAAM,kBAC5DlB,KAAKmB,aAAaC,UAAUJ,EAChC,CAEAX,QAAAA,GAEIL,KAAKqB,iBAAiB,QAC1B,CAEAC,MAAAA,GACI,OACIV,EAACW,EAAAA,CAAaC,KAAMxB,KAAKF,MAAM0B,KAAMC,eAAgBzB,KAAKF,MAAM2B,eAAgBC,UAAW1B,KAAK0B,WAC5Fd,EAACe,EAAAA,IACO3B,KAAKF,MACT8B,IAAKA,IACD5B,KAAKmB,aAAeS,CAAAA,EAExBC,YAAa7B,KAAK6B,YAClB5B,WAAY6B,GAAS9B,KAAK+B,wBAAwBD,GAClDE,QAAShC,KAAKF,MAAMkC,QACpBrB,UAAWX,KAAKW,UAChBN,SAAUL,KAAKK,SACf4B,gBAAiBjC,KAAKiC,kBAItC"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../../../external/preact/dist/preact.js";import{KlarnaWidget as a}from"../KlarnaWidget/KlarnaWidget.js";import{useState as e}from"../../../../external/preact/hooks/dist/hooks.js";function o(o){const[n,s]=e({sdkData:o.sdkData,paymentMethodType:o.paymentMethodType,paymentData:o.paymentData}),[p,r]=e("ready");return this.setAction=s,this.setStatus=r,n.sdkData?t(a,{sdkData:n.sdkData,paymentMethodType:n.paymentMethodType,paymentData:n.paymentData,payButton:o.payButton,onComplete:o.onComplete,onError:o.onError,onLoaded:o.onLoaded}):o.showPayButton?o.payButton({...o,status:p,disabled:"loading"===p,classNameModifiers:["standalone"],label:`${this.props.i18n.get("continueTo")} ${o.displayName}`}):null}export{o as KlarnaContainer};
1
+ import{createElement as t}from"../../../../external/preact/dist/preact.js";import{KlarnaWidget as a}from"../KlarnaWidget/KlarnaWidget.js";import{useState as e}from"../../../../external/preact/hooks/dist/hooks.js";function o(o){const[n,s]=e({sdkData:o.sdkData,paymentMethodType:o.paymentMethodType,paymentData:o.paymentData}),[p,d]=e("ready");return this.setAction=s,this.setStatus=d,n.sdkData?t(a,{sdkData:n.sdkData,paymentMethodType:n.paymentMethodType,paymentData:n.paymentData,payButton:o.payButton,onComplete:o.onComplete,onError:o.onError,onLoaded:()=>{o.onActionHandled?.({componentType:o.type,actionDescription:"sdk-loaded",originalAction:n}),o.onLoaded()}}):o.showPayButton?o.payButton({...o,status:p,disabled:"loading"===p,classNameModifiers:["standalone"],label:`${this.props.i18n.get("continueTo")} ${o.displayName}`}):null}export{o as KlarnaContainer};
2
2
  //# sourceMappingURL=KlarnaContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KlarnaContainer.js","sources":["../../../../../../src/components/Klarna/components/KlarnaContainer/KlarnaContainer.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { KlarnaWidget } from '../KlarnaWidget/KlarnaWidget';\nimport { useState } from 'preact/hooks';\n\nexport function KlarnaContainer(props) {\n const [action, setAction] = useState({\n sdkData: props.sdkData,\n paymentMethodType: props.paymentMethodType,\n paymentData: props.paymentData\n });\n const [status, setStatus] = useState('ready');\n\n this.setAction = setAction;\n this.setStatus = setStatus;\n\n if (action.sdkData) {\n return (\n <KlarnaWidget\n sdkData={action.sdkData}\n paymentMethodType={action.paymentMethodType}\n paymentData={action.paymentData}\n payButton={props.payButton}\n onComplete={props.onComplete}\n onError={props.onError}\n onLoaded={props.onLoaded}\n />\n );\n }\n\n if (props.showPayButton) {\n return props.payButton({\n ...props,\n status,\n disabled: status === 'loading',\n classNameModifiers: ['standalone'],\n label: `${this.props.i18n.get('continueTo')} ${props.displayName}`\n });\n }\n\n return null;\n}\n"],"names":["KlarnaContainer","props","action","setAction","useState","sdkData","paymentMethodType","paymentData","status","setStatus","this","h","KlarnaWidget","payButton","onComplete","onError","onLoaded","showPayButton","disabled","classNameModifiers","label","i18n","get","displayName"],"mappings":"qNAIO,SAASA,EAAgBC,GAC5B,MAAOC,EAAQC,GAAaC,EAAS,CACjCC,QAASJ,EAAMI,QACfC,kBAAmBL,EAAMK,kBACzBC,YAAaN,EAAMM,eAEhBC,EAAQC,GAAaL,EAAS,SAKrC,OAHAM,KAAKP,UAAYA,EACjBO,KAAKD,UAAYA,EAEbP,EAAOG,QAEHM,EAACC,EAAAA,CACGP,QAASH,EAAOG,QAChBC,kBAAmBJ,EAAOI,kBAC1BC,YAAaL,EAAOK,YACpBM,UAAWZ,EAAMY,UACjBC,WAAYb,EAAMa,WAClBC,QAASd,EAAMc,QACfC,SAAUf,EAAMe,WAKxBf,EAAMgB,cACChB,EAAMY,UAAU,IAChBZ,EACHO,SACAU,SAAqB,YAAXV,EACVW,mBAAoB,CAAC,cACrBC,MAAO,GAAGV,KAAKT,MAAMoB,KAAKC,IAAI,iBAAiBrB,EAAMsB,gBAItD,IACX"}
1
+ {"version":3,"file":"KlarnaContainer.js","sources":["../../../../../../src/components/Klarna/components/KlarnaContainer/KlarnaContainer.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { KlarnaWidget } from '../KlarnaWidget/KlarnaWidget';\nimport { useState } from 'preact/hooks';\n\nexport function KlarnaContainer(props) {\n const [action, setAction] = useState({\n sdkData: props.sdkData,\n paymentMethodType: props.paymentMethodType,\n paymentData: props.paymentData\n });\n const [status, setStatus] = useState('ready');\n\n this.setAction = setAction;\n this.setStatus = setStatus;\n\n if (action.sdkData) {\n return (\n <KlarnaWidget\n sdkData={action.sdkData}\n paymentMethodType={action.paymentMethodType}\n paymentData={action.paymentData}\n payButton={props.payButton}\n onComplete={props.onComplete}\n onError={props.onError}\n onLoaded={() => {\n props.onActionHandled?.({ componentType: props.type, actionDescription: 'sdk-loaded', originalAction: action });\n props.onLoaded();\n }}\n />\n );\n }\n\n if (props.showPayButton) {\n return props.payButton({\n ...props,\n status,\n disabled: status === 'loading',\n classNameModifiers: ['standalone'],\n label: `${this.props.i18n.get('continueTo')} ${props.displayName}`\n });\n }\n\n return null;\n}\n"],"names":["KlarnaContainer","props","action","setAction","useState","sdkData","paymentMethodType","paymentData","status","setStatus","this","h","KlarnaWidget","payButton","onComplete","onError","onLoaded","onActionHandled","componentType","type","actionDescription","originalAction","showPayButton","disabled","classNameModifiers","label","i18n","get","displayName"],"mappings":"qNAIO,SAASA,EAAgBC,GAC5B,MAAOC,EAAQC,GAAaC,EAAS,CACjCC,QAASJ,EAAMI,QACfC,kBAAmBL,EAAMK,kBACzBC,YAAaN,EAAMM,eAEhBC,EAAQC,GAAaL,EAAS,SAKrC,OAHAM,KAAKP,UAAYA,EACjBO,KAAKD,UAAYA,EAEbP,EAAOG,QAEHM,EAACC,EAAAA,CACGP,QAASH,EAAOG,QAChBC,kBAAmBJ,EAAOI,kBAC1BC,YAAaL,EAAOK,YACpBM,UAAWZ,EAAMY,UACjBC,WAAYb,EAAMa,WAClBC,QAASd,EAAMc,QACfC,SAAU,KACNf,EAAMgB,kBAAkB,CAAEC,cAAejB,EAAMkB,KAAMC,kBAAmB,aAAcC,eAAgBnB,IACtGD,EAAMe,UAAQ,IAM1Bf,EAAMqB,cACCrB,EAAMY,UAAU,IAChBZ,EACHO,SACAe,SAAqB,YAAXf,EACVgB,mBAAoB,CAAC,cACrBC,MAAO,GAAGf,KAAKT,MAAMyB,KAAKC,IAAI,iBAAiB1B,EAAM2B,gBAItD,IACX"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./components/MBWayInput/MBWayInput.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import s from"./components/MBWayAwait/config.js";import n from"../internal/Await/Await.js";import a from"../../core/Errors/SRPanelProvider.js";import{TxVariants as i}from"../tx-variants.js";class p extends e{static type=i.mbway;formatProps(t){const{data:e={},placeholders:o={}}=t;return{...t,data:{phoneNumber:e.telephoneNumber||e.phoneNumber,phonePrefix:e.phonePrefix||"+351"},placeholders:{phoneNumber:o.telephoneNumber||o.phoneNumber}}}formatData(){return{paymentMethod:{type:p.type,...this.state.data?.phoneNumber&&{telephoneNumber:this.state.data.phonePrefix+this.state.data.phoneNumber}}}}get isValid(){return!!this.state.isValid}get displayName(){return this.props.name}render(){return this.props.paymentData?t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(a,{srPanel:this.props.modules.srPanel},t(n,{ref:t=>{this.componentRef=t},clientKey:this.props.clientKey,paymentData:this.props.paymentData,onError:this.props.onError,onComplete:this.onComplete,brandLogo:this.icon,type:s.type,messageText:this.props.i18n.get(s.messageTextId),awaitText:this.props.i18n.get(s.awaitTextId),showCountdownTimer:s.showCountdownTimer,delay:s.STATUS_INTERVAL,countdownTime:s.COUNTDOWN_MINUTES,throttleTime:s.THROTTLE_TIME,throttleInterval:s.THROTTLE_INTERVAL,onActionHandled:this.props.onActionHandled}))):t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(o,{ref:t=>{this.componentRef=t},...this.props,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton}))}}export{p as MBWayElement,p as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./components/MBWayInput/MBWayInput.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import n from"./components/MBWayAwait/config.js";import s from"../internal/Await/Await.js";import a from"../../core/Errors/SRPanelProvider.js";import{TxVariants as i}from"../tx-variants.js";class p extends e{static type=i.mbway;formatProps(t){const{data:e={},placeholders:o={}}=t;return{...t,data:{phoneNumber:e.telephoneNumber||e.phoneNumber,phonePrefix:e.phonePrefix||"+351"},placeholders:{phoneNumber:o.telephoneNumber||o.phoneNumber}}}formatData(){return{paymentMethod:{type:p.type,...this.state.data?.phoneNumber&&{telephoneNumber:this.state.data.phonePrefix+this.state.data.phoneNumber}}}}get isValid(){return!!this.state.isValid}get displayName(){return this.props.name}render(){return this.props.paymentData?t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(a,{srPanel:this.props.modules.srPanel},t(s,{ref:t=>{this.componentRef=t},clientKey:this.props.clientKey,paymentData:this.props.paymentData,onError:this.props.onError,onComplete:this.onComplete,brandLogo:this.icon,type:n.type,messageText:this.props.i18n.get(n.messageTextId),awaitText:this.props.i18n.get(n.awaitTextId),showCountdownTimer:n.showCountdownTimer,delay:n.STATUS_INTERVAL,countdownTime:n.COUNTDOWN_MINUTES,throttleTime:n.THROTTLE_TIME,throttleInterval:n.THROTTLE_INTERVAL,onActionHandled:this.onActionHandled}))):t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(o,{ref:t=>{this.componentRef=t},...this.props,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton}))}}export{p as MBWayElement,p as default};
2
2
  //# sourceMappingURL=MBWay.js.map