@adyen/adyen-web 6.45.2 → 6.46.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 (410) hide show
  1. package/dist/cjs/adyen.css +7 -7
  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 +2027 -1918
  6. package/dist/es/adyen.css +7 -7
  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/ANCV/components/ANCVInput.js +1 -1
  11. package/dist/es/components/ANCV/components/ANCVInput.js.map +1 -1
  12. package/dist/es/components/Ach/Ach.js +1 -1
  13. package/dist/es/components/Ach/Ach.js.map +1 -1
  14. package/dist/es/components/Ach/components/AchComponent.js +1 -1
  15. package/dist/es/components/Ach/components/AchComponent.js.map +1 -1
  16. package/dist/es/components/Ach/components/useSRPanelForACHErrors.js.map +1 -1
  17. package/dist/es/components/AmazonPay/AmazonPay.js +1 -1
  18. package/dist/es/components/AmazonPay/AmazonPay.js.map +1 -1
  19. package/dist/es/components/ApplePay/ApplePay.js.map +1 -1
  20. package/dist/es/components/BacsDD/BacsDD.js +1 -1
  21. package/dist/es/components/BacsDD/BacsDD.js.map +1 -1
  22. package/dist/es/components/BacsDD/components/BacsInput.js +1 -1
  23. package/dist/es/components/BacsDD/components/BacsInput.js.map +1 -1
  24. package/dist/es/components/BankTransfer/BankTransfer.js +1 -1
  25. package/dist/es/components/BankTransfer/BankTransfer.js.map +1 -1
  26. package/dist/es/components/BankTransfer/components/BankTransferInput/BankTransferInput.js +1 -1
  27. package/dist/es/components/BankTransfer/components/BankTransferInput/BankTransferInput.js.map +1 -1
  28. package/dist/es/components/Blik/Blik.js +1 -1
  29. package/dist/es/components/Blik/Blik.js.map +1 -1
  30. package/dist/es/components/Blik/components/BlikInput.js +1 -1
  31. package/dist/es/components/Blik/components/BlikInput.js.map +1 -1
  32. package/dist/es/components/Boleto/components/BoletoInput/BoletoInput.js +1 -1
  33. package/dist/es/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
  34. package/dist/es/components/Card/Card.js +1 -1
  35. package/dist/es/components/Card/Card.js.map +1 -1
  36. package/dist/es/components/Card/components/CardInput/CardInput.js +1 -1
  37. package/dist/es/components/Card/components/CardInput/CardInput.js.map +1 -1
  38. package/dist/es/components/Card/components/CardInput/components/CardFieldsWrapper.js +1 -1
  39. package/dist/es/components/Card/components/CardInput/components/CardFieldsWrapper.js.map +1 -1
  40. package/dist/es/components/Card/components/CardInput/components/StoredCardFieldsWrapper.js +1 -1
  41. package/dist/es/components/Card/components/CardInput/components/StoredCardFieldsWrapper.js.map +1 -1
  42. package/dist/es/components/Card/components/CardInput/types.js.map +1 -1
  43. package/dist/es/components/Card/components/CardInput/utils.js +1 -1
  44. package/dist/es/components/Card/components/CardInput/utils.js.map +1 -1
  45. package/dist/es/components/CashAppPay/CashAppPay.js +1 -1
  46. package/dist/es/components/CashAppPay/CashAppPay.js.map +1 -1
  47. package/dist/es/components/CustomCard/CustomCard.js.map +1 -1
  48. package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
  49. package/dist/es/components/Doku/components/DokuInput/DokuInput.js +1 -1
  50. package/dist/es/components/Doku/components/DokuInput/DokuInput.js.map +1 -1
  51. package/dist/es/components/Donation/Donation.js +1 -1
  52. package/dist/es/components/Donation/Donation.js.map +1 -1
  53. package/dist/es/components/Donation/components/DonationComponent.js +1 -1
  54. package/dist/es/components/Donation/components/DonationComponent.js.map +1 -1
  55. package/dist/es/components/Dragonpay/Dragonpay.js +1 -1
  56. package/dist/es/components/Dragonpay/Dragonpay.js.map +1 -1
  57. package/dist/es/components/Dragonpay/components/DragonpayInput/DragonpayInput.js +1 -1
  58. package/dist/es/components/Dragonpay/components/DragonpayInput/DragonpayInput.js.map +1 -1
  59. package/dist/es/components/Dropin/Dropin.js +1 -1
  60. package/dist/es/components/Dropin/Dropin.js.map +1 -1
  61. package/dist/es/components/Dropin/components/DropinComponent.js.map +1 -1
  62. package/dist/es/components/Econtext/Econtext.js +1 -1
  63. package/dist/es/components/Econtext/Econtext.js.map +1 -1
  64. package/dist/es/components/Econtext/components/EcontextInput/EcontextInput.js +1 -1
  65. package/dist/es/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
  66. package/dist/es/components/Giftcard/Giftcard.js +1 -1
  67. package/dist/es/components/Giftcard/Giftcard.js.map +1 -1
  68. package/dist/es/components/Giftcard/components/GiftcardComponent.js +1 -1
  69. package/dist/es/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  70. package/dist/es/components/Giftcard/components/GiftcardResult.js +1 -1
  71. package/dist/es/components/Giftcard/components/GiftcardResult.js.map +1 -1
  72. package/dist/es/components/Giropay/Giropay.js +1 -1
  73. package/dist/es/components/Giropay/Giropay.js.map +1 -1
  74. package/dist/es/components/Iris/Iris.js +1 -1
  75. package/dist/es/components/Iris/Iris.js.map +1 -1
  76. package/dist/es/components/Iris/components/IrisComponent.js +1 -1
  77. package/dist/es/components/Iris/components/IrisComponent.js.map +1 -1
  78. package/dist/es/components/Iris/components/IrisGenerateQRCode.js +1 -1
  79. package/dist/es/components/Iris/components/IrisGenerateQRCode.js.map +1 -1
  80. package/dist/es/components/Klarna/KlarnaPayments.js +1 -1
  81. package/dist/es/components/Klarna/KlarnaPayments.js.map +1 -1
  82. package/dist/es/components/Klarna/components/KlarnaContainer/KlarnaContainer.js +1 -1
  83. package/dist/es/components/Klarna/components/KlarnaContainer/KlarnaContainer.js.map +1 -1
  84. package/dist/es/components/MBWay/MBWay.js +1 -1
  85. package/dist/es/components/MBWay/MBWay.js.map +1 -1
  86. package/dist/es/components/MBWay/components/MBWayInput/MBWayInput.js +1 -1
  87. package/dist/es/components/MBWay/components/MBWayInput/MBWayInput.js.map +1 -1
  88. package/dist/es/components/Multibanco/Multibanco.js +1 -1
  89. package/dist/es/components/Multibanco/Multibanco.js.map +1 -1
  90. package/dist/es/components/Oxxo/Oxxo.js +1 -1
  91. package/dist/es/components/Oxxo/Oxxo.js.map +1 -1
  92. package/dist/es/components/PayByBankPix/PayByBankPix.js +1 -1
  93. package/dist/es/components/PayByBankPix/PayByBankPix.js.map +1 -1
  94. package/dist/es/components/PayByBankPix/components/Enrollment/Enrollment.js +1 -1
  95. package/dist/es/components/PayByBankPix/components/Enrollment/Enrollment.js.map +1 -1
  96. package/dist/es/components/PayByBankUS/PayByBankUS.js +1 -1
  97. package/dist/es/components/PayByBankUS/PayByBankUS.js.map +1 -1
  98. package/dist/es/components/PayPal/Paypal.js +1 -1
  99. package/dist/es/components/PayPal/Paypal.js.map +1 -1
  100. package/dist/es/components/PayPalFastlane/Fastlane.js +1 -1
  101. package/dist/es/components/PayPalFastlane/Fastlane.js.map +1 -1
  102. package/dist/es/components/PayPalFastlane/components/FastlaneComponent.js +1 -1
  103. package/dist/es/components/PayPalFastlane/components/FastlaneComponent.js.map +1 -1
  104. package/dist/es/components/PayTo/PayTo.js +1 -1
  105. package/dist/es/components/PayTo/PayTo.js.map +1 -1
  106. package/dist/es/components/PayTo/components/BSBInput.js +1 -1
  107. package/dist/es/components/PayTo/components/BSBInput.js.map +1 -1
  108. package/dist/es/components/PayTo/components/PayToComponent.js +1 -1
  109. package/dist/es/components/PayTo/components/PayToComponent.js.map +1 -1
  110. package/dist/es/components/PayTo/components/PayToNameFields.js +1 -1
  111. package/dist/es/components/PayTo/components/PayToNameFields.js.map +1 -1
  112. package/dist/es/components/PayTo/components/PayToPhone.js +1 -1
  113. package/dist/es/components/PayTo/components/PayToPhone.js.map +1 -1
  114. package/dist/es/components/Pix/Pix.js +1 -1
  115. package/dist/es/components/Pix/Pix.js.map +1 -1
  116. package/dist/es/components/Pix/components/PixInput/PixInput.js +1 -1
  117. package/dist/es/components/Pix/components/PixInput/PixInput.js.map +1 -1
  118. package/dist/es/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js +1 -1
  119. package/dist/es/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js.map +1 -1
  120. package/dist/es/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js +1 -1
  121. package/dist/es/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js.map +1 -1
  122. package/dist/es/components/Redirect/Redirect.js +1 -1
  123. package/dist/es/components/Redirect/Redirect.js.map +1 -1
  124. package/dist/es/components/Sepa/Sepa.js.map +1 -1
  125. package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  126. package/dist/es/components/Trustly/Trustly.js +1 -1
  127. package/dist/es/components/Trustly/Trustly.js.map +1 -1
  128. package/dist/es/components/UPI/UPI.js +1 -1
  129. package/dist/es/components/UPI/UPI.js.map +1 -1
  130. package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
  131. package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
  132. package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js +1 -1
  133. package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  134. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  135. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  136. package/dist/es/components/internal/Address/components/CountryField.js.map +1 -1
  137. package/dist/es/components/internal/Address/components/FieldContainer.js +1 -1
  138. package/dist/es/components/internal/Address/components/FieldContainer.js.map +1 -1
  139. package/dist/es/components/internal/Address/components/StateField.js.map +1 -1
  140. package/dist/es/components/internal/Address/constants.js +1 -1
  141. package/dist/es/components/internal/Address/constants.js.map +1 -1
  142. package/dist/es/components/internal/Address/validate.formats.js +1 -1
  143. package/dist/es/components/internal/Address/validate.formats.js.map +1 -1
  144. package/dist/es/components/internal/Address/validate.js +1 -1
  145. package/dist/es/components/internal/Address/validate.js.map +1 -1
  146. package/dist/es/components/internal/BaseElement/BaseElement.js +1 -1
  147. package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
  148. package/dist/es/components/internal/ClickToPay/components/CtPLogin/CtPLoginInput.js +1 -1
  149. package/dist/es/components/internal/ClickToPay/components/CtPLogin/CtPLoginInput.js.map +1 -1
  150. package/dist/es/components/internal/DisclaimerMessage/DisclaimerMessage.js +1 -1
  151. package/dist/es/components/internal/DisclaimerMessage/DisclaimerMessage.js.map +1 -1
  152. package/dist/es/components/internal/DisclaimerMessage/utils.js +2 -0
  153. package/dist/es/components/internal/DisclaimerMessage/utils.js.map +1 -0
  154. package/dist/es/components/internal/FormFields/utils.js +1 -1
  155. package/dist/es/components/internal/FormFields/utils.js.map +1 -1
  156. package/dist/es/components/internal/IbanInput/IbanInput.js +1 -1
  157. package/dist/es/components/internal/IbanInput/IbanInput.js.map +1 -1
  158. package/dist/es/components/internal/IbanInput/validate.js +1 -1
  159. package/dist/es/components/internal/IbanInput/validate.js.map +1 -1
  160. package/dist/es/components/internal/IssuerList/IssuerList.js +1 -1
  161. package/dist/es/components/internal/IssuerList/IssuerList.js.map +1 -1
  162. package/dist/es/components/internal/OpenInvoice/OpenInvoice.js +1 -1
  163. package/dist/es/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
  164. package/dist/es/components/internal/OpenInvoice/useSRPanelForOpenInvoiceErrors.js +1 -1
  165. package/dist/es/components/internal/OpenInvoice/useSRPanelForOpenInvoiceErrors.js.map +1 -1
  166. package/dist/es/components/internal/PayButton/PayButton.js +1 -1
  167. package/dist/es/components/internal/PayButton/PayButton.js.map +1 -1
  168. package/dist/es/components/internal/PhoneInput/PhoneInputForm.js +1 -1
  169. package/dist/es/components/internal/PhoneInput/PhoneInputForm.js.map +1 -1
  170. package/dist/es/components/internal/PhoneInput/usePhonePrefixes.js.map +1 -1
  171. package/dist/es/components/internal/RedirectButton/RedirectButton.js +1 -1
  172. package/dist/es/components/internal/RedirectButton/RedirectButton.js.map +1 -1
  173. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
  174. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  175. package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
  176. package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
  177. package/dist/es/components/internal/UIElement/UIElement.js +1 -1
  178. package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
  179. package/dist/es/components/internal/UIElement/utils.js +1 -1
  180. package/dist/es/components/internal/UIElement/utils.js.map +1 -1
  181. package/dist/es/core/Analytics/events/AnalyticsInfoEvent.js +1 -1
  182. package/dist/es/core/Analytics/events/AnalyticsInfoEvent.js.map +1 -1
  183. package/dist/es/core/Errors/AdyenCheckoutError.js.map +1 -1
  184. package/dist/es/core/Errors/SRPanelProvider.js.map +1 -1
  185. package/dist/es/core/RiskModule/RiskModule.js +1 -1
  186. package/dist/es/core/RiskModule/RiskModule.js.map +1 -1
  187. package/dist/es/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.js.map +1 -1
  188. package/dist/es/core/Services/get-dataset.js.map +1 -1
  189. package/dist/es/core/Services/http.js +1 -1
  190. package/dist/es/core/Services/http.js.map +1 -1
  191. package/dist/es/core/config.js +1 -1
  192. package/dist/es/core/config.js.map +1 -1
  193. package/dist/es/core/core.js.map +1 -1
  194. package/dist/es/core/core.registry.js +1 -1
  195. package/dist/es/core/core.registry.js.map +1 -1
  196. package/dist/es/core/utils.js +1 -1
  197. package/dist/es/core/utils.js.map +1 -1
  198. package/dist/es/index.d.ts +2027 -1918
  199. package/dist/es/packages/server/translations/en-US.json.js +1 -1
  200. package/dist/es/utils/Validator/Validator.js +1 -1
  201. package/dist/es/utils/Validator/Validator.js.map +1 -1
  202. package/dist/es/utils/useForm/reducer.js +1 -1
  203. package/dist/es/utils/useForm/reducer.js.map +1 -1
  204. package/dist/es/utils/useForm/useForm.js +1 -1
  205. package/dist/es/utils/useForm/useForm.js.map +1 -1
  206. package/dist/es/utils/useForm/useFormWithA11y.js +1 -1
  207. package/dist/es/utils/useForm/useFormWithA11y.js.map +1 -1
  208. package/dist/es-legacy/adyen.css +7 -7
  209. package/dist/es-legacy/adyen.css.map +1 -1
  210. package/dist/es-legacy/components/ANCV/ANCV.js +1 -1
  211. package/dist/es-legacy/components/ANCV/ANCV.js.map +1 -1
  212. package/dist/es-legacy/components/ANCV/components/ANCVInput.js +1 -1
  213. package/dist/es-legacy/components/ANCV/components/ANCVInput.js.map +1 -1
  214. package/dist/es-legacy/components/Ach/Ach.js +1 -1
  215. package/dist/es-legacy/components/Ach/Ach.js.map +1 -1
  216. package/dist/es-legacy/components/Ach/components/AchComponent.js +1 -1
  217. package/dist/es-legacy/components/Ach/components/AchComponent.js.map +1 -1
  218. package/dist/es-legacy/components/Ach/components/useSRPanelForACHErrors.js.map +1 -1
  219. package/dist/es-legacy/components/AmazonPay/AmazonPay.js +1 -1
  220. package/dist/es-legacy/components/AmazonPay/AmazonPay.js.map +1 -1
  221. package/dist/es-legacy/components/ApplePay/ApplePay.js.map +1 -1
  222. package/dist/es-legacy/components/BacsDD/BacsDD.js +1 -1
  223. package/dist/es-legacy/components/BacsDD/BacsDD.js.map +1 -1
  224. package/dist/es-legacy/components/BacsDD/components/BacsInput.js +1 -1
  225. package/dist/es-legacy/components/BacsDD/components/BacsInput.js.map +1 -1
  226. package/dist/es-legacy/components/BankTransfer/BankTransfer.js +1 -1
  227. package/dist/es-legacy/components/BankTransfer/BankTransfer.js.map +1 -1
  228. package/dist/es-legacy/components/BankTransfer/components/BankTransferInput/BankTransferInput.js +1 -1
  229. package/dist/es-legacy/components/BankTransfer/components/BankTransferInput/BankTransferInput.js.map +1 -1
  230. package/dist/es-legacy/components/Blik/Blik.js +1 -1
  231. package/dist/es-legacy/components/Blik/Blik.js.map +1 -1
  232. package/dist/es-legacy/components/Blik/components/BlikInput.js +1 -1
  233. package/dist/es-legacy/components/Blik/components/BlikInput.js.map +1 -1
  234. package/dist/es-legacy/components/Boleto/components/BoletoInput/BoletoInput.js +1 -1
  235. package/dist/es-legacy/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
  236. package/dist/es-legacy/components/Card/Card.js +1 -1
  237. package/dist/es-legacy/components/Card/Card.js.map +1 -1
  238. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js +1 -1
  239. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js.map +1 -1
  240. package/dist/es-legacy/components/Card/components/CardInput/components/CardFieldsWrapper.js +1 -1
  241. package/dist/es-legacy/components/Card/components/CardInput/components/CardFieldsWrapper.js.map +1 -1
  242. package/dist/es-legacy/components/Card/components/CardInput/components/StoredCardFieldsWrapper.js +1 -1
  243. package/dist/es-legacy/components/Card/components/CardInput/components/StoredCardFieldsWrapper.js.map +1 -1
  244. package/dist/es-legacy/components/Card/components/CardInput/types.js.map +1 -1
  245. package/dist/es-legacy/components/Card/components/CardInput/utils.js +1 -1
  246. package/dist/es-legacy/components/Card/components/CardInput/utils.js.map +1 -1
  247. package/dist/es-legacy/components/CashAppPay/CashAppPay.js +1 -1
  248. package/dist/es-legacy/components/CashAppPay/CashAppPay.js.map +1 -1
  249. package/dist/es-legacy/components/CustomCard/CustomCard.js.map +1 -1
  250. package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
  251. package/dist/es-legacy/components/Doku/components/DokuInput/DokuInput.js +1 -1
  252. package/dist/es-legacy/components/Doku/components/DokuInput/DokuInput.js.map +1 -1
  253. package/dist/es-legacy/components/Donation/Donation.js +1 -1
  254. package/dist/es-legacy/components/Donation/Donation.js.map +1 -1
  255. package/dist/es-legacy/components/Donation/components/DonationComponent.js +1 -1
  256. package/dist/es-legacy/components/Donation/components/DonationComponent.js.map +1 -1
  257. package/dist/es-legacy/components/Dragonpay/Dragonpay.js +1 -1
  258. package/dist/es-legacy/components/Dragonpay/Dragonpay.js.map +1 -1
  259. package/dist/es-legacy/components/Dragonpay/components/DragonpayInput/DragonpayInput.js +1 -1
  260. package/dist/es-legacy/components/Dragonpay/components/DragonpayInput/DragonpayInput.js.map +1 -1
  261. package/dist/es-legacy/components/Dropin/Dropin.js +1 -1
  262. package/dist/es-legacy/components/Dropin/Dropin.js.map +1 -1
  263. package/dist/es-legacy/components/Dropin/components/DropinComponent.js.map +1 -1
  264. package/dist/es-legacy/components/Econtext/Econtext.js +1 -1
  265. package/dist/es-legacy/components/Econtext/Econtext.js.map +1 -1
  266. package/dist/es-legacy/components/Econtext/components/EcontextInput/EcontextInput.js +1 -1
  267. package/dist/es-legacy/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
  268. package/dist/es-legacy/components/Giftcard/Giftcard.js +1 -1
  269. package/dist/es-legacy/components/Giftcard/Giftcard.js.map +1 -1
  270. package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js +1 -1
  271. package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  272. package/dist/es-legacy/components/Giftcard/components/GiftcardResult.js +1 -1
  273. package/dist/es-legacy/components/Giftcard/components/GiftcardResult.js.map +1 -1
  274. package/dist/es-legacy/components/Giropay/Giropay.js +1 -1
  275. package/dist/es-legacy/components/Giropay/Giropay.js.map +1 -1
  276. package/dist/es-legacy/components/Iris/Iris.js +1 -1
  277. package/dist/es-legacy/components/Iris/Iris.js.map +1 -1
  278. package/dist/es-legacy/components/Iris/components/IrisComponent.js +1 -1
  279. package/dist/es-legacy/components/Iris/components/IrisComponent.js.map +1 -1
  280. package/dist/es-legacy/components/Iris/components/IrisGenerateQRCode.js +1 -1
  281. package/dist/es-legacy/components/Iris/components/IrisGenerateQRCode.js.map +1 -1
  282. package/dist/es-legacy/components/Klarna/KlarnaPayments.js +1 -1
  283. package/dist/es-legacy/components/Klarna/KlarnaPayments.js.map +1 -1
  284. package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js +1 -1
  285. package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js.map +1 -1
  286. package/dist/es-legacy/components/MBWay/MBWay.js +1 -1
  287. package/dist/es-legacy/components/MBWay/MBWay.js.map +1 -1
  288. package/dist/es-legacy/components/MBWay/components/MBWayInput/MBWayInput.js +1 -1
  289. package/dist/es-legacy/components/MBWay/components/MBWayInput/MBWayInput.js.map +1 -1
  290. package/dist/es-legacy/components/Multibanco/Multibanco.js +1 -1
  291. package/dist/es-legacy/components/Multibanco/Multibanco.js.map +1 -1
  292. package/dist/es-legacy/components/Oxxo/Oxxo.js +1 -1
  293. package/dist/es-legacy/components/Oxxo/Oxxo.js.map +1 -1
  294. package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js +1 -1
  295. package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js.map +1 -1
  296. package/dist/es-legacy/components/PayByBankPix/components/Enrollment/Enrollment.js +1 -1
  297. package/dist/es-legacy/components/PayByBankPix/components/Enrollment/Enrollment.js.map +1 -1
  298. package/dist/es-legacy/components/PayByBankUS/PayByBankUS.js +1 -1
  299. package/dist/es-legacy/components/PayByBankUS/PayByBankUS.js.map +1 -1
  300. package/dist/es-legacy/components/PayPal/Paypal.js +1 -1
  301. package/dist/es-legacy/components/PayPal/Paypal.js.map +1 -1
  302. package/dist/es-legacy/components/PayPalFastlane/Fastlane.js +1 -1
  303. package/dist/es-legacy/components/PayPalFastlane/Fastlane.js.map +1 -1
  304. package/dist/es-legacy/components/PayPalFastlane/components/FastlaneComponent.js +1 -1
  305. package/dist/es-legacy/components/PayPalFastlane/components/FastlaneComponent.js.map +1 -1
  306. package/dist/es-legacy/components/PayTo/PayTo.js +1 -1
  307. package/dist/es-legacy/components/PayTo/PayTo.js.map +1 -1
  308. package/dist/es-legacy/components/PayTo/components/BSBInput.js +1 -1
  309. package/dist/es-legacy/components/PayTo/components/BSBInput.js.map +1 -1
  310. package/dist/es-legacy/components/PayTo/components/PayToComponent.js +1 -1
  311. package/dist/es-legacy/components/PayTo/components/PayToComponent.js.map +1 -1
  312. package/dist/es-legacy/components/PayTo/components/PayToNameFields.js +1 -1
  313. package/dist/es-legacy/components/PayTo/components/PayToNameFields.js.map +1 -1
  314. package/dist/es-legacy/components/PayTo/components/PayToPhone.js +1 -1
  315. package/dist/es-legacy/components/PayTo/components/PayToPhone.js.map +1 -1
  316. package/dist/es-legacy/components/Pix/Pix.js +1 -1
  317. package/dist/es-legacy/components/Pix/Pix.js.map +1 -1
  318. package/dist/es-legacy/components/Pix/components/PixInput/PixInput.js +1 -1
  319. package/dist/es-legacy/components/Pix/components/PixInput/PixInput.js.map +1 -1
  320. package/dist/es-legacy/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js +1 -1
  321. package/dist/es-legacy/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js.map +1 -1
  322. package/dist/es-legacy/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js +1 -1
  323. package/dist/es-legacy/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js.map +1 -1
  324. package/dist/es-legacy/components/Redirect/Redirect.js +1 -1
  325. package/dist/es-legacy/components/Redirect/Redirect.js.map +1 -1
  326. package/dist/es-legacy/components/Sepa/Sepa.js.map +1 -1
  327. package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  328. package/dist/es-legacy/components/Trustly/Trustly.js +1 -1
  329. package/dist/es-legacy/components/Trustly/Trustly.js.map +1 -1
  330. package/dist/es-legacy/components/UPI/UPI.js +1 -1
  331. package/dist/es-legacy/components/UPI/UPI.js.map +1 -1
  332. package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
  333. package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
  334. package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js +1 -1
  335. package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  336. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  337. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  338. package/dist/es-legacy/components/internal/Address/components/CountryField.js.map +1 -1
  339. package/dist/es-legacy/components/internal/Address/components/FieldContainer.js +1 -1
  340. package/dist/es-legacy/components/internal/Address/components/FieldContainer.js.map +1 -1
  341. package/dist/es-legacy/components/internal/Address/components/StateField.js.map +1 -1
  342. package/dist/es-legacy/components/internal/Address/constants.js +1 -1
  343. package/dist/es-legacy/components/internal/Address/constants.js.map +1 -1
  344. package/dist/es-legacy/components/internal/Address/validate.formats.js +1 -1
  345. package/dist/es-legacy/components/internal/Address/validate.formats.js.map +1 -1
  346. package/dist/es-legacy/components/internal/Address/validate.js +1 -1
  347. package/dist/es-legacy/components/internal/Address/validate.js.map +1 -1
  348. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js +1 -1
  349. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
  350. package/dist/es-legacy/components/internal/ClickToPay/components/CtPLogin/CtPLoginInput.js +1 -1
  351. package/dist/es-legacy/components/internal/ClickToPay/components/CtPLogin/CtPLoginInput.js.map +1 -1
  352. package/dist/es-legacy/components/internal/DisclaimerMessage/DisclaimerMessage.js +1 -1
  353. package/dist/es-legacy/components/internal/DisclaimerMessage/DisclaimerMessage.js.map +1 -1
  354. package/dist/es-legacy/components/internal/DisclaimerMessage/utils.js +2 -0
  355. package/dist/es-legacy/components/internal/DisclaimerMessage/utils.js.map +1 -0
  356. package/dist/es-legacy/components/internal/FormFields/utils.js +1 -1
  357. package/dist/es-legacy/components/internal/FormFields/utils.js.map +1 -1
  358. package/dist/es-legacy/components/internal/IbanInput/IbanInput.js +1 -1
  359. package/dist/es-legacy/components/internal/IbanInput/IbanInput.js.map +1 -1
  360. package/dist/es-legacy/components/internal/IbanInput/validate.js +1 -1
  361. package/dist/es-legacy/components/internal/IbanInput/validate.js.map +1 -1
  362. package/dist/es-legacy/components/internal/IssuerList/IssuerList.js +1 -1
  363. package/dist/es-legacy/components/internal/IssuerList/IssuerList.js.map +1 -1
  364. package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js +1 -1
  365. package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
  366. package/dist/es-legacy/components/internal/OpenInvoice/useSRPanelForOpenInvoiceErrors.js +1 -1
  367. package/dist/es-legacy/components/internal/OpenInvoice/useSRPanelForOpenInvoiceErrors.js.map +1 -1
  368. package/dist/es-legacy/components/internal/PayButton/PayButton.js +1 -1
  369. package/dist/es-legacy/components/internal/PayButton/PayButton.js.map +1 -1
  370. package/dist/es-legacy/components/internal/PhoneInput/PhoneInputForm.js +1 -1
  371. package/dist/es-legacy/components/internal/PhoneInput/PhoneInputForm.js.map +1 -1
  372. package/dist/es-legacy/components/internal/PhoneInput/usePhonePrefixes.js.map +1 -1
  373. package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js +1 -1
  374. package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js.map +1 -1
  375. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
  376. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  377. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
  378. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
  379. package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
  380. package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
  381. package/dist/es-legacy/components/internal/UIElement/utils.js +1 -1
  382. package/dist/es-legacy/components/internal/UIElement/utils.js.map +1 -1
  383. package/dist/es-legacy/core/Analytics/events/AnalyticsInfoEvent.js +1 -1
  384. package/dist/es-legacy/core/Analytics/events/AnalyticsInfoEvent.js.map +1 -1
  385. package/dist/es-legacy/core/Errors/AdyenCheckoutError.js.map +1 -1
  386. package/dist/es-legacy/core/Errors/SRPanelProvider.js.map +1 -1
  387. package/dist/es-legacy/core/RiskModule/RiskModule.js +1 -1
  388. package/dist/es-legacy/core/RiskModule/RiskModule.js.map +1 -1
  389. package/dist/es-legacy/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.js.map +1 -1
  390. package/dist/es-legacy/core/Services/get-dataset.js.map +1 -1
  391. package/dist/es-legacy/core/Services/http.js +1 -1
  392. package/dist/es-legacy/core/Services/http.js.map +1 -1
  393. package/dist/es-legacy/core/config.js +1 -1
  394. package/dist/es-legacy/core/config.js.map +1 -1
  395. package/dist/es-legacy/core/core.js.map +1 -1
  396. package/dist/es-legacy/core/core.registry.js +1 -1
  397. package/dist/es-legacy/core/core.registry.js.map +1 -1
  398. package/dist/es-legacy/core/utils.js +1 -1
  399. package/dist/es-legacy/core/utils.js.map +1 -1
  400. package/dist/es-legacy/packages/server/translations/en-US.json.js +1 -1
  401. package/dist/es-legacy/utils/Validator/Validator.js +1 -1
  402. package/dist/es-legacy/utils/Validator/Validator.js.map +1 -1
  403. package/dist/es-legacy/utils/useForm/reducer.js +1 -1
  404. package/dist/es-legacy/utils/useForm/reducer.js.map +1 -1
  405. package/dist/es-legacy/utils/useForm/useForm.js +1 -1
  406. package/dist/es-legacy/utils/useForm/useForm.js.map +1 -1
  407. package/dist/es-legacy/utils/useForm/useFormWithA11y.js +1 -1
  408. package/dist/es-legacy/utils/useForm/useFormWithA11y.js.map +1 -1
  409. package/package.json +12 -12
  410. package/styles/adyen.css +7 -7
@@ -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 PayButton from '../internal/PayButton';\nimport { KlarnaContainer } from './components/KlarnaContainer/KlarnaContainer';\nimport { TxVariants } from '../tx-variants';\nimport type { KlarnaAction, KlarnaAdditionalDetailsData, KlarnaComponentRef, KlarnaConfiguration } from './types';\nimport type { ICore } from '../../core/types';\nimport { PayButtonProps } from '../internal/PayButton/PayButton';\n\nclass KlarnaPayments extends UIElement<KlarnaConfiguration> {\n public static readonly type = TxVariants.klarna;\n public static readonly txVariants = [TxVariants.klarna, TxVariants.klarna_account, TxVariants.klarna_paynow, TxVariants.klarna_b2b];\n\n public componentRef: KlarnaComponentRef;\n\n protected static readonly defaultProps = {\n useKlarnaWidget: false\n };\n\n constructor(checkout: ICore, props?: KlarnaConfiguration) {\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 override submit(): void {\n if (this.props.useKlarnaWidget) {\n this.executePaymentsCall();\n return;\n }\n super.submit();\n }\n\n public payButton = (props: PayButtonProps) => {\n return <PayButton onClick={this.submit} {...props} showReview={this.props.useKlarnaWidget ? false : !!this.props.onReview} />;\n };\n\n public override handleAction(action: KlarnaAction, props = {}): UIElement | null {\n if (action.type === 'sdk') {\n this.updateWithAction(action);\n return;\n }\n return super.handleAction(action, props);\n }\n\n updateWithAction(action: KlarnaAction): void {\n if (action.paymentMethodType !== this.type) throw new Error('Invalid Action');\n this.componentRef.setAction(action);\n }\n\n private onLoaded() {\n // When action/widget is loaded, set the 'drop-in' back to ready\n this.setElementStatus('ready');\n }\n\n public override activate() {\n this.componentRef.reinitializeWidget();\n }\n\n protected onComplete(details: KlarnaAdditionalDetailsData): void {\n this.handleAdditionalDetails(details);\n }\n\n protected override componentToRender(): h.JSX.Element {\n return (\n <KlarnaContainer\n {...this.props}\n setComponentRef={this.setComponentRef}\n displayName={this.displayName}\n onComplete={this.onComplete}\n onError={this.props.onError}\n payButton={this.payButton}\n onLoaded={this.onLoaded}\n showPayButton={this.props.showPayButton}\n onActionHandled={this.onActionHandled}\n type={this.props.type}\n />\n );\n }\n}\n\nexport default KlarnaPayments;\n"],"names":["KlarnaPayments","UIElement","isValid","formatData","paymentMethod","type","this","props","useKlarnaWidget","subtype","submit","executePaymentsCall","super","handleAction","action","updateWithAction","paymentMethodType","Error","componentRef","setAction","onLoaded","setElementStatus","activate","reinitializeWidget","onComplete","details","handleAdditionalDetails","componentToRender","h","KlarnaContainer","setComponentRef","displayName","onError","payButton","showPayButton","onActionHandled","constructor","checkout","_define_property","PayButton","onClick","showReview","onReview","bind","TxVariants","klarna","txVariants","klarna_account","klarna_paynow","klarna_b2b","defaultProps"],"mappings":"+aASA,MAAMA,UAAuBC,EAkBzB,WAAIC,GACA,OAAO,CACX,CAEUC,UAAAA,GACN,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKD,QACPC,KAAKC,MAAMC,gBAAkB,CAAEC,QAAS,OAAU,CAAA,GAGlE,CAEgBC,MAAAA,GACRJ,KAAKC,MAAMC,gBACXF,KAAKK,sBAGTC,MAAMF,QACV,CAMgBG,YAAAA,CAAaC,EAAsBP,EAAQ,IACvD,GAAoB,QAAhBO,EAAOT,KAIX,OAAOO,MAAMC,aAAaC,EAAQP,GAH9BD,KAAKS,iBAAiBD,EAI9B,CAEAC,gBAAAA,CAAiBD,GACb,GAAIA,EAAOE,oBAAsBV,KAAKD,KAAM,MAAM,IAAIY,MAAM,kBAC5DX,KAAKY,aAAaC,UAAUL,EAChC,CAEQM,QAAAA,GAEJd,KAAKe,iBAAiB,QAC1B,CAEgBC,QAAAA,GACZhB,KAAKY,aAAaK,oBACtB,CAEUC,UAAAA,CAAWC,GACjBnB,KAAKoB,wBAAwBD,EACjC,CAEmBE,iBAAAA,GACf,OACIC,EAACC,EAAAA,IACOvB,KAAKC,MACTuB,gBAAiBxB,KAAKwB,gBACtBC,YAAazB,KAAKyB,YAClBP,WAAYlB,KAAKkB,WACjBQ,QAAS1B,KAAKC,MAAMyB,QACpBC,UAAW3B,KAAK2B,UAChBb,SAAUd,KAAKc,SACfc,cAAe5B,KAAKC,MAAM2B,cAC1BC,gBAAiB7B,KAAK6B,gBACtB9B,KAAMC,KAAKC,MAAMF,MAG7B,CA1EA,WAAA+B,CAAYC,EAAiB9B,GACzBK,MAAMyB,EAAU9B,GAPpB+B,EAAAhC,KAAOY,oBAAP,GAmCAoB,EAAAhC,KAAO2B,YAAa1B,GACTqB,EAACW,EAAAA,CAAUC,QAASlC,KAAKI,UAAYH,EAAOkC,YAAYnC,KAAKC,MAAMC,mBAA4BF,KAAKC,MAAMmC,YA3BjHpC,KAAKkB,WAAalB,KAAKkB,WAAWmB,KAAKrC,MACvCA,KAAKS,iBAAmBT,KAAKS,iBAAiB4B,KAAKrC,MACnDA,KAAKI,OAASJ,KAAKI,OAAOiC,KAAKrC,MAC/BA,KAAKc,SAAWd,KAAKc,SAASuB,KAAKrC,KACvC,EAhBAgC,EADEtC,EACqBK,OAAOuC,EAAWC,QACzCP,EAFEtC,EAEqB8C,aAAa,CAACF,EAAWC,OAAQD,EAAWG,eAAgBH,EAAWI,cAAeJ,EAAWK,aAIxHX,EANEtC,EAMwBkD,eAAe,CACrC1C,iBAAiB"}
1
+ {"version":3,"file":"KlarnaPayments.js","sources":["../../../../src/components/Klarna/KlarnaPayments.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport PayButton from '../internal/PayButton';\nimport { KlarnaContainer } from './components/KlarnaContainer/KlarnaContainer';\nimport { TxVariants } from '../tx-variants';\nimport type { KlarnaAction, KlarnaAdditionalDetailsData, KlarnaComponentRef, KlarnaConfiguration } from './types';\nimport type { ICore } from '../../core/types';\nimport { PayButtonProps } from '../internal/PayButton/PayButton';\n\nclass KlarnaPayments extends UIElement<KlarnaConfiguration> {\n public static readonly type = TxVariants.klarna;\n public static readonly txVariants = [TxVariants.klarna, TxVariants.klarna_account, TxVariants.klarna_paynow, TxVariants.klarna_b2b];\n\n declare public componentRef: KlarnaComponentRef;\n\n protected static readonly defaultProps = {\n useKlarnaWidget: false\n };\n\n constructor(checkout: ICore, props?: KlarnaConfiguration) {\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 override submit(): void {\n if (this.props.useKlarnaWidget) {\n this.executePaymentsCall();\n return;\n }\n super.submit();\n }\n\n public payButton = (props: PayButtonProps) => {\n return <PayButton onClick={this.submit} {...props} showReview={this.props.useKlarnaWidget ? false : !!this.props.onReview} />;\n };\n\n public override handleAction(action: KlarnaAction, props = {}): UIElement | null {\n if (action.type === 'sdk') {\n this.updateWithAction(action);\n return;\n }\n return super.handleAction(action, props);\n }\n\n updateWithAction(action: KlarnaAction): void {\n if (action.paymentMethodType !== this.type) throw new Error('Invalid Action');\n this.componentRef.setAction(action);\n }\n\n private onLoaded() {\n // When action/widget is loaded, set the 'drop-in' back to ready\n this.setElementStatus('ready');\n }\n\n public override activate() {\n this.componentRef.reinitializeWidget();\n }\n\n protected onComplete(details: KlarnaAdditionalDetailsData): void {\n this.handleAdditionalDetails(details);\n }\n\n protected override componentToRender(): h.JSX.Element {\n return (\n <KlarnaContainer\n {...this.props}\n setComponentRef={this.setComponentRef}\n displayName={this.displayName}\n onComplete={this.onComplete}\n onError={this.props.onError}\n payButton={this.payButton}\n onLoaded={this.onLoaded}\n showPayButton={this.props.showPayButton}\n onActionHandled={this.onActionHandled}\n type={this.props.type}\n />\n );\n }\n}\n\nexport default KlarnaPayments;\n"],"names":["KlarnaPayments","UIElement","isValid","formatData","paymentMethod","type","this","props","useKlarnaWidget","subtype","submit","executePaymentsCall","super","handleAction","action","updateWithAction","paymentMethodType","Error","componentRef","setAction","onLoaded","setElementStatus","activate","reinitializeWidget","onComplete","details","handleAdditionalDetails","componentToRender","h","KlarnaContainer","setComponentRef","displayName","onError","payButton","showPayButton","onActionHandled","constructor","checkout","_define_property","PayButton","onClick","showReview","onReview","bind","TxVariants","klarna","txVariants","klarna_account","klarna_paynow","klarna_b2b","defaultProps"],"mappings":"+aASA,MAAMA,UAAuBC,EAkBzB,WAAIC,GACA,OAAO,CACX,CAEUC,UAAAA,GACN,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKD,QACPC,KAAKC,MAAMC,gBAAkB,CAAEC,QAAS,OAAU,CAAA,GAGlE,CAEgBC,MAAAA,GACRJ,KAAKC,MAAMC,gBACXF,KAAKK,sBAGTC,MAAMF,QACV,CAMgBG,YAAAA,CAAaC,EAAsBP,EAAQ,IACvD,GAAoB,QAAhBO,EAAOT,KAIX,OAAOO,MAAMC,aAAaC,EAAQP,GAH9BD,KAAKS,iBAAiBD,EAI9B,CAEAC,gBAAAA,CAAiBD,GACb,GAAIA,EAAOE,oBAAsBV,KAAKD,KAAM,MAAM,IAAIY,MAAM,kBAC5DX,KAAKY,aAAaC,UAAUL,EAChC,CAEQM,QAAAA,GAEJd,KAAKe,iBAAiB,QAC1B,CAEgBC,QAAAA,GACZhB,KAAKY,aAAaK,oBACtB,CAEUC,UAAAA,CAAWC,GACjBnB,KAAKoB,wBAAwBD,EACjC,CAEmBE,iBAAAA,GACf,OACIC,EAACC,EAAAA,IACOvB,KAAKC,MACTuB,gBAAiBxB,KAAKwB,gBACtBC,YAAazB,KAAKyB,YAClBP,WAAYlB,KAAKkB,WACjBQ,QAAS1B,KAAKC,MAAMyB,QACpBC,UAAW3B,KAAK2B,UAChBb,SAAUd,KAAKc,SACfc,cAAe5B,KAAKC,MAAM2B,cAC1BC,gBAAiB7B,KAAK6B,gBACtB9B,KAAMC,KAAKC,MAAMF,MAG7B,CA1EA,WAAA+B,CAAYC,EAAiB9B,GACzBK,MAAMyB,EAAU9B,GA4BpB+B,EAAAhC,KAAO2B,YAAa1B,GACTqB,EAACW,EAAAA,CAAUC,QAASlC,KAAKI,UAAYH,EAAOkC,YAAYnC,KAAKC,MAAMC,mBAA4BF,KAAKC,MAAMmC,YA3BjHpC,KAAKkB,WAAalB,KAAKkB,WAAWmB,KAAKrC,MACvCA,KAAKS,iBAAmBT,KAAKS,iBAAiB4B,KAAKrC,MACnDA,KAAKI,OAASJ,KAAKI,OAAOiC,KAAKrC,MAC/BA,KAAKc,SAAWd,KAAKc,SAASuB,KAAKrC,KACvC,EAhBAgC,EADEtC,EACqBK,OAAOuC,EAAWC,QACzCP,EAFEtC,EAEqB8C,aAAa,CAACF,EAAWC,OAAQD,EAAWG,eAAgBH,EAAWI,cAAeJ,EAAWK,aAIxHX,EANEtC,EAMwBkD,eAAe,CACrC1C,iBAAiB"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../../../external/preact/dist/preact.js";import{useState as e,useRef as a,useEffect as o}from"../../../../external/preact/hooks/dist/hooks.js";import{KlarnaWidget as n}from"../KlarnaWidget/KlarnaWidget.js";function i({setComponentRef:i,...s}){const[r,d]=e(null),[p,l]=e(),[m,c]=e("ready"),u=a({setAction:t=>{l(t),d((new Date).getTime())},setStatus:t=>c(t),reinitializeWidget:()=>{d((new Date).getTime())}});return o(()=>{i(u.current)},[i]),p?.sdkData?t(n,{widgetInitializationTime:r,sdkData:p.sdkData,paymentMethodType:p.paymentMethodType,paymentData:p.paymentData,payButton:s.payButton,onComplete:s.onComplete,onError:s.onError,onLoaded:()=>{s.onActionHandled?.({componentType:s.type,actionDescription:"sdk-loaded",originalAction:p}),s.onLoaded()}}):s.showPayButton?s.payButton({...s,status:m,disabled:"loading"===m,classNameModifiers:["standalone"],label:`${this.props.i18n.get("continueTo")} ${s.displayName}`}):null}export{i as KlarnaContainer};
1
+ import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useState as t,useRef as a,useEffect as o}from"../../../../external/preact/hooks/dist/hooks.js";import{KlarnaWidget as n}from"../KlarnaWidget/KlarnaWidget.js";function i({setComponentRef:i,...s}){const[r,d]=t(null),[p,l]=t(),[m,c]=t("ready"),u=a({setAction:e=>{l(e),d((new Date).getTime())},setStatus:e=>c(e),reinitializeWidget:()=>{d((new Date).getTime())}});return o(()=>{i(u.current)},[i]),p?.sdkData?e(n,{widgetInitializationTime:r,sdkData:p.sdkData,paymentMethodType:p.paymentMethodType,paymentData:p.paymentData,payButton:s.payButton,onComplete:s.onComplete,onError:s.onError,onLoaded:()=>{s.onActionHandled?.({componentType:s.type,actionDescription:"sdk-loaded",originalAction:p}),s.onLoaded()}}):s.payButton({...s,status:m,disabled:"loading"===m,classNameModifiers:["standalone"],label:`${this.props.i18n.get("continueTo")} ${s.displayName}`})}export{i 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 { useEffect, useRef, useState } from 'preact/hooks';\nimport { KlarnaWidget } from '../KlarnaWidget/KlarnaWidget';\nimport type { ComponentMethodsRef, UIElementStatus } from '../../../internal/UIElement/types';\nimport type { ActionHandledReturnObject } from '../../../../types/global-types';\nimport type { AdyenCheckoutError, KlarnaAction, KlarnaAdditionalDetailsData, KlarnaComponentRef } from '../../../../types';\nimport { PayButtonProps } from '../../../internal/PayButton/PayButton';\n\ninterface KlarnaContainerProps {\n setComponentRef: (ref: ComponentMethodsRef) => void;\n displayName: string;\n showPayButton: boolean;\n type: string;\n onComplete(state: KlarnaAdditionalDetailsData): void;\n onError(error: AdyenCheckoutError): void;\n payButton(props: PayButtonProps): h.JSX.Element;\n onLoaded(): void;\n onActionHandled(actionHandled: ActionHandledReturnObject): void;\n}\n\nexport function KlarnaContainer({ setComponentRef, ...props }: Readonly<KlarnaContainerProps>) {\n const [widgetInitializationTime, setWidgetInitializationTime] = useState<number>(null);\n const [action, setAction] = useState<KlarnaAction>();\n const [status, setStatus] = useState('ready');\n const klarnaRef = useRef<KlarnaComponentRef>({\n setAction: (action: KlarnaAction) => {\n setAction(action);\n setWidgetInitializationTime(new Date().getTime());\n },\n setStatus: (status: UIElementStatus) => setStatus(status),\n reinitializeWidget: () => {\n setWidgetInitializationTime(new Date().getTime());\n }\n });\n\n useEffect(() => {\n setComponentRef(klarnaRef.current);\n }, [setComponentRef]);\n\n if (action?.sdkData) {\n return (\n <KlarnaWidget\n widgetInitializationTime={widgetInitializationTime}\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","setComponentRef","props","widgetInitializationTime","setWidgetInitializationTime","useState","action","setAction","status","setStatus","klarnaRef","useRef","Date","getTime","reinitializeWidget","useEffect","current","sdkData","h","KlarnaWidget","paymentMethodType","paymentData","payButton","onComplete","onError","onLoaded","onActionHandled","componentType","type","actionDescription","originalAction","showPayButton","disabled","classNameModifiers","label","this","i18n","get","displayName"],"mappings":"gPAoBO,SAASA,GAAgBC,gBAAEA,KAAoBC,IAClD,MAAOC,EAA0BC,GAA+BC,EAAiB,OAC1EC,EAAQC,GAAaF,KACrBG,EAAQC,GAAaJ,EAAS,SAC/BK,EAAYC,EAA2B,CACzCJ,UAAYD,IACRC,EAAUD,GACVF,GAA4B,IAAIQ,MAAOC,YAE3CJ,UAAYD,GAA4BC,EAAUD,GAClDM,mBAAoB,KAChBV,GAA4B,IAAIQ,MAAOC,cAQ/C,OAJAE,EAAU,KACNd,EAAgBS,EAAUM,UAC3B,CAACf,IAEAK,GAAQW,QAEJC,EAACC,EAAAA,CACGhB,yBAA0BA,EAC1Bc,QAASX,EAAOW,QAChBG,kBAAmBd,EAAOc,kBAC1BC,YAAaf,EAAOe,YACpBC,UAAWpB,EAAMoB,UACjBC,WAAYrB,EAAMqB,WAClBC,QAAStB,EAAMsB,QACfC,SAAU,KACNvB,EAAMwB,kBAAkB,CAAEC,cAAezB,EAAM0B,KAAMC,kBAAmB,aAAcC,eAAgBxB,IACtGJ,EAAMuB,cAMlBvB,EAAM6B,cACC7B,EAAMoB,UAAU,IAChBpB,EACHM,SACAwB,SAAqB,YAAXxB,EACVyB,mBAAoB,CAAC,cACrBC,MAAO,GAAGC,KAAKjC,MAAMkC,KAAKC,IAAI,iBAAiBnC,EAAMoC,gBAItD,IACX"}
1
+ {"version":3,"file":"KlarnaContainer.js","sources":["../../../../../../src/components/Klarna/components/KlarnaContainer/KlarnaContainer.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useRef, useState } from 'preact/hooks';\nimport { KlarnaWidget } from '../KlarnaWidget/KlarnaWidget';\nimport type { ComponentMethodsRef, UIElementStatus } from '../../../internal/UIElement/types';\nimport type { ActionHandledReturnObject } from '../../../../types/global-types';\nimport type { AdyenCheckoutError, KlarnaAction, KlarnaAdditionalDetailsData, KlarnaComponentRef } from '../../../../types';\nimport { PayButtonProps } from '../../../internal/PayButton/PayButton';\n\ninterface KlarnaContainerProps {\n setComponentRef: (ref: ComponentMethodsRef) => void;\n displayName: string;\n showPayButton: boolean;\n type: string;\n onComplete(state: KlarnaAdditionalDetailsData): void;\n onError(error: AdyenCheckoutError): void;\n payButton(props: PayButtonProps): h.JSX.Element;\n onLoaded(): void;\n onActionHandled(actionHandled: ActionHandledReturnObject): void;\n}\n\nexport function KlarnaContainer({ setComponentRef, ...props }: Readonly<KlarnaContainerProps>) {\n const [widgetInitializationTime, setWidgetInitializationTime] = useState<number>(null);\n const [action, setAction] = useState<KlarnaAction>();\n const [status, setStatus] = useState('ready');\n const klarnaRef = useRef<KlarnaComponentRef>({\n setAction: (action: KlarnaAction) => {\n setAction(action);\n setWidgetInitializationTime(new Date().getTime());\n },\n setStatus: (status: UIElementStatus) => setStatus(status),\n reinitializeWidget: () => {\n setWidgetInitializationTime(new Date().getTime());\n }\n });\n\n useEffect(() => {\n setComponentRef(klarnaRef.current);\n }, [setComponentRef]);\n\n if (action?.sdkData) {\n return (\n <KlarnaWidget\n widgetInitializationTime={widgetInitializationTime}\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 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"],"names":["KlarnaContainer","setComponentRef","props","widgetInitializationTime","setWidgetInitializationTime","useState","action","setAction","status","setStatus","klarnaRef","useRef","Date","getTime","reinitializeWidget","useEffect","current","sdkData","h","KlarnaWidget","paymentMethodType","paymentData","payButton","onComplete","onError","onLoaded","onActionHandled","componentType","type","actionDescription","originalAction","disabled","classNameModifiers","label","this","i18n","get","displayName"],"mappings":"gPAoBO,SAASA,GAAgBC,gBAAEA,KAAoBC,IAClD,MAAOC,EAA0BC,GAA+BC,EAAiB,OAC1EC,EAAQC,GAAaF,KACrBG,EAAQC,GAAaJ,EAAS,SAC/BK,EAAYC,EAA2B,CACzCJ,UAAYD,IACRC,EAAUD,GACVF,GAA4B,IAAIQ,MAAOC,YAE3CJ,UAAYD,GAA4BC,EAAUD,GAClDM,mBAAoB,KAChBV,GAA4B,IAAIQ,MAAOC,cAQ/C,OAJAE,EAAU,KACNd,EAAgBS,EAAUM,UAC3B,CAACf,IAEAK,GAAQW,QAEJC,EAACC,EAAAA,CACGhB,yBAA0BA,EAC1Bc,QAASX,EAAOW,QAChBG,kBAAmBd,EAAOc,kBAC1BC,YAAaf,EAAOe,YACpBC,UAAWpB,EAAMoB,UACjBC,WAAYrB,EAAMqB,WAClBC,QAAStB,EAAMsB,QACfC,SAAU,KACNvB,EAAMwB,kBAAkB,CAAEC,cAAezB,EAAM0B,KAAMC,kBAAmB,aAAcC,eAAgBxB,IACtGJ,EAAMuB,cAMfvB,EAAMoB,UAAU,IAChBpB,EACHM,SACAuB,SAAqB,YAAXvB,EACVwB,mBAAoB,CAAC,cACrBC,MAAO,GAAGC,KAAKhC,MAAMiC,KAAKC,IAAI,iBAAiBlC,EAAMmC,eAE7D"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import o from"./components/MBWayInput/MBWayInput.js";import n from"./components/MBWayAwait/config.js";import{Await as a}from"../internal/Await/Await.js";import{TxVariants as r}from"../tx-variants.js";class s extends t{formatProps(e){const{data:t={},placeholders:o={}}=e;return{...e,data:{phoneNumber:t.telephoneNumber||t.phoneNumber,phonePrefix:t.phonePrefix||"+351"},placeholders:{phoneNumber:o.telephoneNumber||o.phoneNumber}}}formatData(){return{paymentMethod:{type:s.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}componentToRender(){return this.props.paymentData?e(a,{clientKey:this.props.clientKey,paymentData:this.props.paymentData,onError:this.props.onError,onComplete:this.onComplete,brandLogo:this.icon,brandName:this.displayName,type:n.type,messageText:this.props.i18n.get(n.messageTextId),awaitText:this.props.i18n.get(n.awaitTextId),showCountdownTimer:n.showCountdownTimer,delay:n.STATUS_INTERVAL,countdownTime:n.COUNTDOWN_MINUTES,throttleTime:n.THROTTLE_TIME,throttleInterval:n.THROTTLE_INTERVAL,onActionHandled:this.onActionHandled}):e(o,{ref:e=>{this.componentRef=e},...this.props,setComponentRef:this.setComponentRef,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton})}}var p,i,m;p=s,i="type",m=r.mbway,i in p?Object.defineProperty(p,i,{value:m,enumerable:!0,configurable:!0,writable:!0}):p[i]=m;export{s as MBWayElement,s as default};
1
+ import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import o from"./components/MBWayInput/MBWayInput.js";import n from"./components/MBWayAwait/config.js";import{Await as a}from"../internal/Await/Await.js";import{TxVariants as r}from"../tx-variants.js";class s extends t{formatProps(e){const{data:t={},placeholders:o={}}=e;return{...e,data:{phoneNumber:t.telephoneNumber||t.phoneNumber,phonePrefix:t.phonePrefix||"+351"},placeholders:{phoneNumber:o.telephoneNumber||o.phoneNumber}}}formatData(){return{paymentMethod:{type:s.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}componentToRender(){return this.props.paymentData?e(a,{clientKey:this.props.clientKey,paymentData:this.props.paymentData,onError:this.props.onError,onComplete:this.onComplete,brandLogo:this.icon,brandName:this.displayName,type:n.type,messageText:this.props.i18n.get(n.messageTextId),awaitText:this.props.i18n.get(n.awaitTextId),showCountdownTimer:n.showCountdownTimer,delay:n.STATUS_INTERVAL,countdownTime:n.COUNTDOWN_MINUTES,throttleTime:n.THROTTLE_TIME,throttleInterval:n.THROTTLE_INTERVAL,onActionHandled:this.onActionHandled}):e(o,{...this.props,setComponentRef:this.setComponentRef,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton})}}var p,i,m;p=s,i="type",m=r.mbway,i in p?Object.defineProperty(p,i,{value:m,enumerable:!0,configurable:!0,writable:!0}):p[i]=m;export{s as MBWayElement,s as default};
2
2
  //# sourceMappingURL=MBWay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MBWay.js","sources":["../../../../src/components/MBWay/MBWay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MBWayInput from './components/MBWayInput';\nimport config from './components/MBWayAwait/config';\nimport { Await } from '../../components/internal/Await';\nimport { TxVariants } from '../tx-variants';\nimport { AwaitConfiguration } from '../internal/Await/types';\n\nexport class MBWayElement extends UIElement<AwaitConfiguration> {\n public static readonly type = TxVariants.mbway;\n\n formatProps(props) {\n const { data = {}, placeholders = {} } = props;\n\n return {\n ...props,\n data: {\n phoneNumber: data.telephoneNumber || data.phoneNumber,\n phonePrefix: data.phonePrefix || '+351' // if not specified default to Portuguese country code\n },\n placeholders: {\n phoneNumber: placeholders.telephoneNumber || placeholders.phoneNumber\n }\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): object {\n return {\n paymentMethod: {\n type: MBWayElement.type,\n ...(this.state.data?.phoneNumber && { telephoneNumber: this.state.data.phonePrefix + this.state.data.phoneNumber })\n }\n };\n }\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n get displayName(): string {\n return this.props.name;\n }\n\n protected override componentToRender(): h.JSX.Element {\n if (this.props.paymentData) {\n return (\n <Await\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.props.onError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n brandName={this.displayName}\n type={config.type}\n messageText={this.props.i18n.get(config.messageTextId)}\n awaitText={this.props.i18n.get(config.awaitTextId)}\n showCountdownTimer={config.showCountdownTimer}\n delay={config.STATUS_INTERVAL}\n countdownTime={config.COUNTDOWN_MINUTES}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n />\n );\n }\n\n return (\n <MBWayInput\n /* @ts-ignore ref handled internally by Component */\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n setComponentRef={this.setComponentRef}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n );\n }\n}\n\nexport default MBWayElement;\n"],"names":["MBWayElement","UIElement","formatProps","props","data","placeholders","phoneNumber","telephoneNumber","phonePrefix","formatData","paymentMethod","type","this","state","isValid","displayName","name","componentToRender","paymentData","h","Await","clientKey","onError","onComplete","brandLogo","icon","brandName","config","messageText","i18n","get","messageTextId","awaitText","awaitTextId","showCountdownTimer","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","MBWayInput","ref","componentRef","setComponentRef","onChange","setState","onSubmit","submit","payButton","TxVariants","mbway"],"mappings":"4UAQO,MAAMA,UAAqBC,EAG9BC,WAAAA,CAAYC,GACR,MAAMC,KAAEA,EAAO,CAAA,EAAEC,aAAEA,EAAe,CAAA,GAAOF,EAEzC,MAAO,IACAA,EACHC,KAAM,CACFE,YAAaF,EAAKG,iBAAmBH,EAAKE,YAC1CE,YAAaJ,EAAKI,aAAe,QAErCH,aAAc,CACVC,YAAaD,EAAaE,iBAAmBF,EAAaC,aAGtE,CAKAG,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMX,EAAaW,QACfC,KAAKC,MAAMT,MAAME,aAAe,CAAEC,gBAAiBK,KAAKC,MAAMT,KAAKI,YAAcI,KAAKC,MAAMT,KAAKE,cAGjH,CAEA,WAAIQ,GACA,QAASF,KAAKC,MAAMC,OACxB,CAEA,eAAIC,GACA,OAAOH,KAAKT,MAAMa,IACtB,CAEmBC,iBAAAA,GACf,OAAIL,KAAKT,MAAMe,YAEPC,EAACC,EAAAA,CACGC,UAAWT,KAAKT,MAAMkB,UACtBH,YAAaN,KAAKT,MAAMe,YACxBI,QAASV,KAAKT,MAAMmB,QACpBC,WAAYX,KAAKW,WACjBC,UAAWZ,KAAKa,KAChBC,UAAWd,KAAKG,YAChBJ,KAAMgB,EAAOhB,KACbiB,YAAahB,KAAKT,MAAM0B,KAAKC,IAAIH,EAAOI,eACxCC,UAAWpB,KAAKT,MAAM0B,KAAKC,IAAIH,EAAOM,aACtCC,mBAAoBP,EAAOO,mBAC3BC,MAAOR,EAAOS,gBACdC,cAAeV,EAAOW,kBACtBC,aAAcZ,EAAOa,cACrBC,iBAAkBd,EAAOe,kBACzBC,gBAAiB/B,KAAK+B,kBAM9BxB,EAACyB,EAAAA,CAEGC,IAAKA,IACDjC,KAAKkC,aAAeD,MAEpBjC,KAAKT,MACT4C,gBAAiBnC,KAAKmC,gBACtBC,SAAUpC,KAAKqC,SACfC,SAAUtC,KAAKuC,OACfC,UAAWxC,KAAKwC,WAG5B,cA1ESpD,IACcW,SAAO0C,EAAWC"}
1
+ {"version":3,"file":"MBWay.js","sources":["../../../../src/components/MBWay/MBWay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MBWayInput from './components/MBWayInput';\nimport config from './components/MBWayAwait/config';\nimport { Await } from '../../components/internal/Await';\nimport { TxVariants } from '../tx-variants';\nimport { AwaitConfiguration } from '../internal/Await/types';\nimport { PaymentData } from '../../types';\n\nexport class MBWayElement extends UIElement<AwaitConfiguration> {\n public static readonly type = TxVariants.mbway;\n\n formatProps(props) {\n const { data = {}, placeholders = {} } = props;\n\n return {\n ...props,\n data: {\n phoneNumber: data.telephoneNumber || data.phoneNumber,\n phonePrefix: data.phonePrefix || '+351' // if not specified default to Portuguese country code\n },\n placeholders: {\n phoneNumber: placeholders.telephoneNumber || placeholders.phoneNumber\n }\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): PaymentData {\n return {\n paymentMethod: {\n type: MBWayElement.type,\n ...(this.state.data?.phoneNumber && { telephoneNumber: this.state.data.phonePrefix + this.state.data.phoneNumber })\n }\n };\n }\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n get displayName(): string {\n return this.props.name;\n }\n\n protected override componentToRender(): h.JSX.Element {\n if (this.props.paymentData) {\n return (\n <Await\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.props.onError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n brandName={this.displayName}\n type={config.type}\n messageText={this.props.i18n.get(config.messageTextId)}\n awaitText={this.props.i18n.get(config.awaitTextId)}\n showCountdownTimer={config.showCountdownTimer}\n delay={config.STATUS_INTERVAL}\n countdownTime={config.COUNTDOWN_MINUTES}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n />\n );\n }\n\n return (\n <MBWayInput\n {...this.props}\n setComponentRef={this.setComponentRef}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n );\n }\n}\n\nexport default MBWayElement;\n"],"names":["MBWayElement","UIElement","formatProps","props","data","placeholders","phoneNumber","telephoneNumber","phonePrefix","formatData","paymentMethod","type","this","state","isValid","displayName","name","componentToRender","paymentData","h","Await","clientKey","onError","onComplete","brandLogo","icon","brandName","config","messageText","i18n","get","messageTextId","awaitText","awaitTextId","showCountdownTimer","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","MBWayInput","setComponentRef","onChange","setState","onSubmit","submit","payButton","TxVariants","mbway"],"mappings":"4UASO,MAAMA,UAAqBC,EAG9BC,WAAAA,CAAYC,GACR,MAAMC,KAAEA,EAAO,CAAA,EAAEC,aAAEA,EAAe,CAAA,GAAOF,EAEzC,MAAO,IACAA,EACHC,KAAM,CACFE,YAAaF,EAAKG,iBAAmBH,EAAKE,YAC1CE,YAAaJ,EAAKI,aAAe,QAErCH,aAAc,CACVC,YAAaD,EAAaE,iBAAmBF,EAAaC,aAGtE,CAKAG,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMX,EAAaW,QACfC,KAAKC,MAAMT,MAAME,aAAe,CAAEC,gBAAiBK,KAAKC,MAAMT,KAAKI,YAAcI,KAAKC,MAAMT,KAAKE,cAGjH,CAEA,WAAIQ,GACA,QAASF,KAAKC,MAAMC,OACxB,CAEA,eAAIC,GACA,OAAOH,KAAKT,MAAMa,IACtB,CAEmBC,iBAAAA,GACf,OAAIL,KAAKT,MAAMe,YAEPC,EAACC,EAAAA,CACGC,UAAWT,KAAKT,MAAMkB,UACtBH,YAAaN,KAAKT,MAAMe,YACxBI,QAASV,KAAKT,MAAMmB,QACpBC,WAAYX,KAAKW,WACjBC,UAAWZ,KAAKa,KAChBC,UAAWd,KAAKG,YAChBJ,KAAMgB,EAAOhB,KACbiB,YAAahB,KAAKT,MAAM0B,KAAKC,IAAIH,EAAOI,eACxCC,UAAWpB,KAAKT,MAAM0B,KAAKC,IAAIH,EAAOM,aACtCC,mBAAoBP,EAAOO,mBAC3BC,MAAOR,EAAOS,gBACdC,cAAeV,EAAOW,kBACtBC,aAAcZ,EAAOa,cACrBC,iBAAkBd,EAAOe,kBACzBC,gBAAiB/B,KAAK+B,kBAM9BxB,EAACyB,EAAAA,IACOhC,KAAKT,MACT0C,gBAAiBjC,KAAKiC,gBACtBC,SAAUlC,KAAKmC,SACfC,SAAUpC,KAAKqC,OACfC,UAAWtC,KAAKsC,WAG5B,cAtESlD,IACcW,SAAOwC,EAAWC"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useState as o}from"../../../../external/preact/hooks/dist/hooks.js";import{useCoreContext as t}from"../../../../core/Context/CoreProvider.js";import r from"../../../internal/PhoneInput/PhoneInputForm.js";import a from"../../../internal/LoadingWrapper/LoadingWrapper.js";import n from"../../../internal/PhoneInput/usePhonePrefixes.js";function s(s){const{i18n:i,loadingContext:l}=t(),{allowedCountries:m=[]}=s,[d,p]=o("ready");this.setStatus=p;const{loadingStatus:u,phonePrefixes:h}=n({allowedCountries:m,loadingContext:l,handleError:s.onError});return e(a,{status:u},e("div",{className:"adyen-checkout__mb-way"},e(r,{setComponentRef:s.setComponentRef,...s,items:h,onChange:({data:e,valid:o,errors:t,isValid:r})=>{s.onChange({data:e,valid:o,errors:t,isValid:r})},data:s.data}),s.showPayButton&&s.payButton({status:d,label:i.get("confirmPurchase")})))}s.defaultProps={onChange:()=>{},phoneNumberKey:"mobileNumber",phoneNumberErrorKey:"mobileNumber.invalid"};export{s as default};
1
+ import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useState as o,useRef as t,useCallback as r}from"../../../../external/preact/hooks/dist/hooks.js";import{useCoreContext as a}from"../../../../core/Context/CoreProvider.js";import n from"../../../internal/PhoneInput/PhoneInputForm.js";import s from"../../../internal/LoadingWrapper/LoadingWrapper.js";import i from"../../../internal/PhoneInput/usePhonePrefixes.js";function l(l){const{i18n:d,loadingContext:m}=a(),{allowedCountries:u=[]}=l,[p,h]=o("ready"),{loadingStatus:f,phonePrefixes:c}=i({allowedCountries:u,loadingContext:m,handleError:l.onError}),C=t({setStatus:h,showValidation:()=>{}}),b=r(e=>{C.current.showValidation=e.showValidation,l.setComponentRef(C.current)},[l.setComponentRef]);return e(s,{status:f},e("div",{className:"adyen-checkout__mb-way"},e(n,{...l,setComponentRef:b,items:c,onChange:({data:e,valid:o,errors:t,isValid:r})=>{l.onChange({data:e,valid:o,errors:t,isValid:r})},data:l.data}),l.payButton({status:p,label:d.get("confirmPurchase")})))}l.defaultProps={onChange:()=>{},phoneNumberKey:"mobileNumber",phoneNumberErrorKey:"mobileNumber.invalid"};export{l as default};
2
2
  //# sourceMappingURL=MBWayInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MBWayInput.js","sources":["../../../../../../src/components/MBWay/components/MBWayInput/MBWayInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState } from 'preact/hooks';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { MBWayInputProps } from './types';\nimport './MBWayInput.scss';\nimport PhoneInputForm from '../../../internal/PhoneInput';\nimport LoadingWrapper from '../../../internal/LoadingWrapper';\nimport usePhonePrefixes from '../../../internal/PhoneInput/usePhonePrefixes';\n\nfunction MBWayInput(props: Readonly<MBWayInputProps>) {\n const { i18n, loadingContext } = useCoreContext();\n\n const { allowedCountries = [] } = props;\n\n const [status, setStatus] = useState<string>('ready');\n\n this.setStatus = setStatus;\n\n const { loadingStatus: prefixLoadingStatus, phonePrefixes } = usePhonePrefixes({ allowedCountries, loadingContext, handleError: props.onError });\n\n const onChange = ({ data, valid, errors, isValid }) => {\n props.onChange({ data, valid, errors, isValid });\n };\n\n return (\n <LoadingWrapper status={prefixLoadingStatus}>\n <div className=\"adyen-checkout__mb-way\">\n <PhoneInputForm setComponentRef={props.setComponentRef} {...props} items={phonePrefixes} onChange={onChange} data={props.data} />\n\n {props.showPayButton && props.payButton({ status, label: i18n.get('confirmPurchase') })}\n </div>\n </LoadingWrapper>\n );\n}\n\nMBWayInput.defaultProps = {\n onChange: () => {},\n phoneNumberKey: 'mobileNumber',\n phoneNumberErrorKey: 'mobileNumber.invalid'\n};\n\nexport default MBWayInput;\n"],"names":["MBWayInput","props","i18n","loadingContext","useCoreContext","allowedCountries","status","setStatus","useState","this","loadingStatus","prefixLoadingStatus","phonePrefixes","usePhonePrefixes","handleError","onError","h","LoadingWrapper","div","className","PhoneInputForm","setComponentRef","items","onChange","data","valid","errors","isValid","showPayButton","payButton","label","get","defaultProps","phoneNumberKey","phoneNumberErrorKey"],"mappings":"gaASA,SAASA,EAAWC,GAChB,MAAMC,KAAEA,EAAIC,eAAEA,GAAmBC,KAE3BC,iBAAEA,EAAmB,IAAOJ,GAE3BK,EAAQC,GAAaC,EAAiB,SAE7CC,KAAKF,UAAYA,EAEjB,MAAQG,cAAeC,EAAmBC,cAAEA,GAAkBC,EAAiB,CAAER,mBAAkBF,iBAAgBW,YAAab,EAAMc,UAMtI,OACIC,EAACC,EAAAA,CAAeX,OAAQK,GACpBK,EAACE,MAAAA,CAAIC,UAAU,0BACXH,EAACI,EAAAA,CAAeC,gBAAiBpB,EAAMoB,mBAAqBpB,EAAOqB,MAAOV,EAAeW,SAPpF,EAAGC,OAAMC,QAAOC,SAAQC,cACrC1B,EAAMsB,SAAS,CAAEC,OAAMC,QAAOC,SAAQC,aAM+EH,KAAMvB,EAAMuB,OAExHvB,EAAM2B,eAAiB3B,EAAM4B,UAAU,CAAEvB,SAAQwB,MAAO5B,EAAK6B,IAAI,sBAIlF,CAEA/B,EAAWgC,aAAe,CACtBT,SAAU,OACVU,eAAgB,eAChBC,oBAAqB"}
1
+ {"version":3,"file":"MBWayInput.js","sources":["../../../../../../src/components/MBWay/components/MBWayInput/MBWayInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useCallback, useRef, useState } from 'preact/hooks';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { MBWayInputProps } from './types';\nimport './MBWayInput.scss';\nimport PhoneInputForm from '../../../internal/PhoneInput';\nimport LoadingWrapper from '../../../internal/LoadingWrapper';\nimport usePhonePrefixes from '../../../internal/PhoneInput/usePhonePrefixes';\nimport type { ComponentMethodsRef } from '../../../internal/UIElement/types';\n\nfunction MBWayInput(props: Readonly<MBWayInputProps>) {\n const { i18n, loadingContext } = useCoreContext();\n\n const { allowedCountries = [] } = props;\n\n const [status, setStatus] = useState<string>('ready');\n\n const { loadingStatus: prefixLoadingStatus, phonePrefixes } = usePhonePrefixes({ allowedCountries, loadingContext, handleError: props.onError });\n\n const mbwayRef = useRef<ComponentMethodsRef>({\n setStatus,\n showValidation: () => {}\n });\n\n const onChange = ({ data, valid, errors, isValid }) => {\n props.onChange({ data, valid, errors, isValid });\n };\n\n const setPhoneInputRef = useCallback(\n (ref: ComponentMethodsRef) => {\n mbwayRef.current.showValidation = ref.showValidation;\n props.setComponentRef(mbwayRef.current);\n },\n [props.setComponentRef]\n );\n\n return (\n <LoadingWrapper status={prefixLoadingStatus}>\n <div className=\"adyen-checkout__mb-way\">\n <PhoneInputForm {...props} setComponentRef={setPhoneInputRef} items={phonePrefixes} onChange={onChange} data={props.data} />\n\n {props.payButton({ status, label: i18n.get('confirmPurchase') })}\n </div>\n </LoadingWrapper>\n );\n}\n\nMBWayInput.defaultProps = {\n onChange: () => {},\n phoneNumberKey: 'mobileNumber',\n phoneNumberErrorKey: 'mobileNumber.invalid'\n};\n\nexport default MBWayInput;\n"],"names":["MBWayInput","props","i18n","loadingContext","useCoreContext","allowedCountries","status","setStatus","useState","loadingStatus","prefixLoadingStatus","phonePrefixes","usePhonePrefixes","handleError","onError","mbwayRef","useRef","showValidation","setPhoneInputRef","useCallback","ref","current","setComponentRef","h","LoadingWrapper","div","className","PhoneInputForm","items","onChange","data","valid","errors","isValid","payButton","label","get","defaultProps","phoneNumberKey","phoneNumberErrorKey"],"mappings":"6bAUA,SAASA,EAAWC,GAChB,MAAMC,KAAEA,EAAIC,eAAEA,GAAmBC,KAE3BC,iBAAEA,EAAmB,IAAOJ,GAE3BK,EAAQC,GAAaC,EAAiB,UAErCC,cAAeC,EAAmBC,cAAEA,GAAkBC,EAAiB,CAAEP,mBAAkBF,iBAAgBU,YAAaZ,EAAMa,UAEhIC,EAAWC,EAA4B,CACzCT,YACAU,eAAgB,SAOdC,EAAmBC,EACpBC,IACGL,EAASM,QAAQJ,eAAiBG,EAAIH,eACtChB,EAAMqB,gBAAgBP,EAASM,UAEnC,CAACpB,EAAMqB,kBAGX,OACIC,EAACC,EAAAA,CAAelB,OAAQI,GACpBa,EAACE,MAAAA,CAAIC,UAAU,0BACXH,EAACI,EAAAA,IAAmB1B,EAAOqB,gBAAiBJ,EAAkBU,MAAOjB,EAAekB,SAf/E,EAAGC,OAAMC,QAAOC,SAAQC,cACrChC,EAAM4B,SAAS,CAAEC,OAAMC,QAAOC,SAAQC,aAc0EH,KAAM7B,EAAM6B,OAEnH7B,EAAMiC,UAAU,CAAE5B,SAAQ6B,MAAOjC,EAAKkC,IAAI,sBAI3D,CAEApC,EAAWqC,aAAe,CACtBR,SAAU,OACVS,eAAgB,eAChBC,oBAAqB"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./components/MultibancoVoucherResult/MultibancoVoucherResult.js";import n from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as r}from"../tx-variants.js";class a extends e{get isValid(){return!0}formatProps(t){return{...t,name:t.name||"Multibanco"}}formatData(){return{paymentMethod:{type:this.props.type||a.type}}}componentToRender(){return this.props.reference?t(o,{...this.props,onActionHandled:this.onActionHandled}):this.props.showPayButton?t(n,{showPayButton:this.props.showPayButton,name:this.displayName,payButton:this.payButton,onSubmit:this.submit,ref:t=>{this.componentRef=t}}):null}}var s,i,p;s=a,i="type",p=r.multibanco,i in s?Object.defineProperty(s,i,{value:p,enumerable:!0,configurable:!0,writable:!0}):s[i]=p;export{a as MultibancoElement,a as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import n from"./components/MultibancoVoucherResult/MultibancoVoucherResult.js";import r from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as o}from"../tx-variants.js";class a extends e{get isValid(){return!0}formatProps(t){return{...t,name:t.name||"Multibanco"}}formatData(){return{paymentMethod:{type:this.props.type||a.type}}}componentToRender(){return this.props.reference?t(n,{...this.props,onActionHandled:this.onActionHandled}):t(r,{name:this.displayName,payButton:this.payButton,onSubmit:this.submit,setComponentRef:this.setComponentRef})}}var i,s,m;i=a,s="type",m=o.multibanco,s in i?Object.defineProperty(i,s,{value:m,enumerable:!0,configurable:!0,writable:!0}):i[s]=m;export{a as MultibancoElement,a as default};
2
2
  //# sourceMappingURL=Multibanco.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Multibanco.js","sources":["../../../../src/components/Multibanco/Multibanco.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MultibancoVoucherResult from './components/MultibancoVoucherResult';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class MultibancoElement extends UIElement<VoucherConfiguration> {\n public static readonly type = TxVariants.multibanco;\n\n get isValid() {\n return true;\n }\n\n formatProps(props) {\n return {\n ...props,\n name: props.name || 'Multibanco'\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n paymentMethod: {\n type: this.props.type || MultibancoElement.type\n }\n };\n }\n\n protected override componentToRender(): h.JSX.Element {\n if (this.props.reference) {\n return <MultibancoVoucherResult {...this.props} onActionHandled={this.onActionHandled} />;\n }\n\n if (this.props.showPayButton) {\n return (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default MultibancoElement;\n"],"names":["MultibancoElement","UIElement","isValid","formatProps","props","name","formatData","paymentMethod","type","this","componentToRender","reference","h","MultibancoVoucherResult","onActionHandled","showPayButton","RedirectButton","displayName","payButton","onSubmit","submit","ref","componentRef","TxVariants","multibanco"],"mappings":"8TAOO,MAAMA,UAA0BC,EAGnC,WAAIC,GACA,OAAO,CACX,CAEAC,WAAAA,CAAYC,GACR,MAAO,IACAA,EACHC,KAAMD,EAAMC,MAAQ,aAE5B,CAKAC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKL,MAAMI,MAAQR,EAAkBQ,MAGvD,CAEmBE,iBAAAA,GACf,OAAID,KAAKL,MAAMO,UACJC,EAACC,EAAAA,IAA4BJ,KAAKL,MAAOU,gBAAiBL,KAAKK,kBAGtEL,KAAKL,MAAMW,cAEPH,EAACI,EAAAA,CACGD,cAAeN,KAAKL,MAAMW,cAC1BV,KAAMI,KAAKQ,YACXC,UAAWT,KAAKS,UAChBC,SAAUV,KAAKW,OACfC,IAAKA,IACDZ,KAAKa,aAAeD,KAM7B,IACX,cA7CSrB,IACcQ,SAAOe,EAAWC"}
1
+ {"version":3,"file":"Multibanco.js","sources":["../../../../src/components/Multibanco/Multibanco.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MultibancoVoucherResult from './components/MultibancoVoucherResult';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class MultibancoElement extends UIElement<VoucherConfiguration> {\n public static readonly type = TxVariants.multibanco;\n\n get isValid() {\n return true;\n }\n\n formatProps(props) {\n return {\n ...props,\n name: props.name || 'Multibanco'\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n paymentMethod: {\n type: this.props.type || MultibancoElement.type\n }\n };\n }\n\n protected override componentToRender(): h.JSX.Element {\n if (this.props.reference) {\n return <MultibancoVoucherResult {...this.props} onActionHandled={this.onActionHandled} />;\n }\n\n return (\n <RedirectButton\n name={this.displayName}\n payButton={this.payButton}\n onSubmit={this.submit}\n setComponentRef={this.setComponentRef}\n />\n );\n }\n}\n\nexport default MultibancoElement;\n"],"names":["MultibancoElement","UIElement","isValid","formatProps","props","name","formatData","paymentMethod","type","this","componentToRender","reference","h","MultibancoVoucherResult","onActionHandled","RedirectButton","displayName","payButton","onSubmit","submit","setComponentRef","TxVariants","multibanco"],"mappings":"8TAOO,MAAMA,UAA0BC,EAGnC,WAAIC,GACA,OAAO,CACX,CAEAC,WAAAA,CAAYC,GACR,MAAO,IACAA,EACHC,KAAMD,EAAMC,MAAQ,aAE5B,CAKAC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKL,MAAMI,MAAQR,EAAkBQ,MAGvD,CAEmBE,iBAAAA,GACf,OAAID,KAAKL,MAAMO,UACJC,EAACC,EAAAA,IAA4BJ,KAAKL,MAAOU,gBAAiBL,KAAKK,kBAItEF,EAACG,EAAAA,CACGV,KAAMI,KAAKO,YACXC,UAAWR,KAAKQ,UAChBC,SAAUT,KAAKU,OACfC,gBAAiBX,KAAKW,iBAGlC,cAtCSpB,IACcQ,SAAOa,EAAWC"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import o from"./components/OxxoVoucherResult/OxxoVoucherResult.js";import{TxVariants as r}from"../tx-variants.js";function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}class s extends t{get isValid(){return!0}formatData(){return{paymentMethod:{type:this.props.type||s.type}}}componentToRender(){return this.props.reference?e(o,{...this.props,onActionHandled:this.onActionHandled}):this.props.showPayButton&&this.payButton({...this.props,classNameModifiers:["standalone"],label:`${this.props.i18n.get("continueTo")} ${this.props.name}`,onClick:this.submit})}}n(s,"type",r.oxxo),n(s,"defaultProps",{name:"Oxxo"});export{s as OxxoElement,s as default};
1
+ import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import o from"./components/OxxoVoucherResult/OxxoVoucherResult.js";import{TxVariants as r}from"../tx-variants.js";function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}class s extends t{get isValid(){return!0}formatData(){return{paymentMethod:{type:this.props.type||s.type}}}componentToRender(){return this.props.reference?e(o,{...this.props,onActionHandled:this.onActionHandled}):this.payButton({...this.props,classNameModifiers:["standalone"],label:`${this.props.i18n.get("continueTo")} ${this.props.name}`,onClick:this.submit})}}n(s,"type",r.oxxo),n(s,"defaultProps",{name:"Oxxo"});export{s as OxxoElement,s as default};
2
2
  //# sourceMappingURL=Oxxo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Oxxo.js","sources":["../../../../src/components/Oxxo/Oxxo.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport OxxoVoucherResult from './components/OxxoVoucherResult';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class OxxoElement extends UIElement<VoucherConfiguration> {\n public static readonly type = TxVariants.oxxo;\n\n protected static readonly defaultProps = {\n name: 'Oxxo'\n };\n\n get isValid(): boolean {\n return true;\n }\n\n formatData() {\n return {\n paymentMethod: {\n type: this.props.type || OxxoElement.type\n }\n };\n }\n\n protected override componentToRender(): h.JSX.Element {\n return this.props.reference ? (\n <OxxoVoucherResult {...this.props} onActionHandled={this.onActionHandled} />\n ) : (\n this.props.showPayButton &&\n this.payButton({\n ...this.props,\n classNameModifiers: ['standalone'],\n label: `${this.props.i18n.get('continueTo')} ${this.props.name}`,\n onClick: this.submit\n })\n );\n }\n}\n\nexport default OxxoElement;\n"],"names":["OxxoElement","UIElement","isValid","formatData","paymentMethod","type","this","props","componentToRender","reference","h","OxxoVoucherResult","onActionHandled","showPayButton","payButton","classNameModifiers","label","i18n","get","name","onClick","submit","_define_property","TxVariants","oxxo","defaultProps"],"mappings":"8WAMO,MAAMA,UAAoBC,EAO7B,WAAIC,GACA,OAAO,CACX,CAEAC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKC,MAAMF,MAAQL,EAAYK,MAGjD,CAEmBG,iBAAAA,GACf,OAAOF,KAAKC,MAAME,UACdC,EAACC,EAAAA,IAAsBL,KAAKC,MAAOK,gBAAiBN,KAAKM,kBAEzDN,KAAKC,MAAMM,eACPP,KAAKQ,UAAU,IACRR,KAAKC,MACRQ,mBAAoB,CAAC,cACrBC,MAAO,GAAGV,KAAKC,MAAMU,KAAKC,IAAI,iBAAiBZ,KAAKC,MAAMY,OAC1DC,QAASd,KAAKe,QAG9B,EA9BAC,EADStB,EACcK,OAAOkB,EAAWC,MAEzCF,EAHStB,EAGiByB,eAAe,CACrCN,KAAM"}
1
+ {"version":3,"file":"Oxxo.js","sources":["../../../../src/components/Oxxo/Oxxo.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport OxxoVoucherResult from './components/OxxoVoucherResult';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class OxxoElement extends UIElement<VoucherConfiguration> {\n public static readonly type = TxVariants.oxxo;\n\n protected static readonly defaultProps = {\n name: 'Oxxo'\n };\n\n get isValid(): boolean {\n return true;\n }\n\n formatData() {\n return {\n paymentMethod: {\n type: this.props.type || OxxoElement.type\n }\n };\n }\n\n protected override componentToRender(): h.JSX.Element {\n return this.props.reference ? (\n <OxxoVoucherResult {...this.props} onActionHandled={this.onActionHandled} />\n ) : (\n this.payButton({\n ...this.props,\n classNameModifiers: ['standalone'],\n label: `${this.props.i18n.get('continueTo')} ${this.props.name}`,\n onClick: this.submit\n })\n );\n }\n}\n\nexport default OxxoElement;\n"],"names":["OxxoElement","UIElement","isValid","formatData","paymentMethod","type","this","props","componentToRender","reference","h","OxxoVoucherResult","onActionHandled","payButton","classNameModifiers","label","i18n","get","name","onClick","submit","_define_property","TxVariants","oxxo","defaultProps"],"mappings":"8WAMO,MAAMA,UAAoBC,EAO7B,WAAIC,GACA,OAAO,CACX,CAEAC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKC,MAAMF,MAAQL,EAAYK,MAGjD,CAEmBG,iBAAAA,GACf,OAAOF,KAAKC,MAAME,UACdC,EAACC,EAAAA,IAAsBL,KAAKC,MAAOK,gBAAiBN,KAAKM,kBAEzDN,KAAKO,UAAU,IACRP,KAAKC,MACRO,mBAAoB,CAAC,cACrBC,MAAO,GAAGT,KAAKC,MAAMS,KAAKC,IAAI,iBAAiBX,KAAKC,MAAMW,OAC1DC,QAASb,KAAKc,QAG1B,EA7BAC,EADSrB,EACcK,OAAOiB,EAAWC,MAEzCF,EAHSrB,EAGiBwB,eAAe,CACrCN,KAAM"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{TxVariants as e}from"../tx-variants.js";import{UIElement as s}from"../internal/UIElement/UIElement.js";import n from"../internal/RedirectButton/RedirectButton.js";import i,{ERROR as r}from"../../core/Errors/AdyenCheckoutError.js";import{PasskeyService as o}from"./services/PasskeyService.js";import{authorizeEnrollment as a}from"./services/authorizeEnrollment.js";import{authorizePayment as p}from"./services/authorizePayment.js";import d from"./components/StoredPayment/StoredPayment.js";import h from"./components/Enrollment/Enrollment.js";function l(t,e,s){return e in t?Object.defineProperty(t,e,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[e]=s,t}class c extends s{get isValid(){return!(this.props._isAdyenHosted&&!this.props.storedPaymentMethodId)||!!this.state?.isValid}get additionalInfo(){return this.props.storedPaymentMethodId?this.props.i18n.get("paybybankpix.storedPayment.additionalLabel",{values:{receiver:this.props?.payByBankPixDetails?.receiver}}):""}get icon(){return this.props.storedPaymentMethodId?this.resources.getImage({parentFolder:`${c.type}/`})(this.props?.payByBankPixDetails?.ispb):super.icon}async isAvailable(){const t=await this.passkeyService.getWebAuthnUnsupportedReason();if(t)return Promise.reject(new i(r,t));if(!this.props._isAdyenHosted)return Promise.resolve();try{if(await this.passkeyService.initialize(),this.props.storedPaymentMethodId){return await this.passkeyService.canUseStoredCredential()?Promise.resolve():Promise.reject(new i("ERROR","The stored payment method is not available on this device"))}return Promise.resolve()}catch(t){return Promise.reject(t instanceof Error?t?.message:"Unknown error")}}handleAction(t,e={}){const s=this.core.createFromAction(t,{...this.elementRef.props,...e,onAdditionalDetails:this.handleAdditionalDetails});return s?(this.unmount(),s.isAvailable().then(()=>{s.mount(this._node)}),s):null}formatData(){if(!this.props._isAdyenHosted)return{paymentMethod:{type:e.paybybank_pix}};const t=null==this.props.storedPaymentMethodId;return{paymentMethod:{type:e.paybybank_pix,...this.state.data},...t?{storePaymentMethod:!0}:{}}}componentToRender(){return this.props._isAdyenHosted?null!=this.props.storedPaymentMethodId?t(d,{txVariant:c.type,type:this.props.type,clientKey:this.props.clientKey,enrollmentId:this.props.paymentMethodData?.enrollmentId,initiationId:this.props.paymentMethodData?.initiationId,setComponentRef:this.setComponentRef,onPay:this.payWithStoredPayment,onAuthorize:this.authorizePayment}):t(h,{onError:this.handleError,txVariant:c.type,type:this.props.type,clientKey:this.props.clientKey,enrollmentId:this.props.paymentMethodData?.enrollmentId,countdownTime:this.props.countdownTime,onEnroll:this.authorizeEnrollment,issuers:this.props.issuers,payButton:this.payButton,onChange:this.onIssuerSelected,onSubmitAnalytics:this.submitAnalytics,setComponentRef:this.setComponentRef}):t(n,{showPayButton:this.props.showPayButton,name:this.displayName,label:this.props.i18n.get("paybybankpix.redirectBtn.label"),payButton:this.payButton,onSubmit:this.submit,ref:t=>{this.componentRef=t}})}constructor(t,e){super(t,e),l(this,"passkeyService",void 0),l(this,"onIssuerSelected",async t=>{try{const{data:e={}}=t;if(!e.issuer)return;const{deviceId:s,...n}=await this.passkeyService.captureRiskSignalsEnrollment();this.setState({...t,data:{...e,riskSignals:n,deviceId:s}})}catch(t){const e=t instanceof Error?t.message:"Unknown error in the onIssuerSelected";this.handleError(t instanceof i?t:new i(r,e))}}),l(this,"authorizeEnrollment",async t=>{try{const e=await this.passkeyService.createCredentialForEnrollment(t),s={enrollmentId:this.props.paymentMethodData?.enrollmentId,fidoAssertion:e},{redirectResult:n}=await a({enrollment:s,clientKey:this.props.clientKey,loadingContext:this.props.loadingContext});this.handleAdditionalDetails({data:{details:{redirectResult:n}}})}catch(t){const e=t instanceof Error?t.message:"Unknown error in the authorizeEnrollment";this.handleError(t instanceof i?t:new i(r,e))}}),l(this,"payWithStoredPayment",async()=>{try{const{deviceId:t,...e}=await this.passkeyService.captureRiskSignalsAuthentication();this.state={...this.state,data:{storedPaymentMethodId:this.props.storedPaymentMethodId,riskSignals:e,deviceId:t}},this.executePaymentsCall()}catch(t){const e=t instanceof Error?t.message:"Unknown error in the payWithStoredPayment";this.handleError(t instanceof i?t:new i(r,e))}}),l(this,"authorizePayment",async t=>{try{const e=await this.passkeyService.authenticateWithCredential(t),s={enrollmentId:this.props.paymentMethodData?.enrollmentId,initiationId:this.props.paymentMethodData?.initiationId,fidoAssertion:e},{redirectResult:n}=await p({payment:s,clientKey:this.props.clientKey,loadingContext:this.props.loadingContext});this.handleAdditionalDetails({data:{details:{redirectResult:n}}})}catch(t){const e=t instanceof Error?t.message:"Unknown error in the authorizePayment";this.handleError(t instanceof i?t:new i(r,e))}});const s=this.props.storedPaymentMethodId?this.props?.payByBankPixDetails?.deviceId:this.props.deviceId;this.passkeyService=new o({environment:this.props.environment,deviceId:s},this.analytics),this.props._isAdyenHosted&&this.passkeyService.initialize()}}l(c,"type",e.paybybank_pix),l(c,"TIMEOUT_MINUTES",1),l(c,"defaultProps",{showPayButton:!0,_isAdyenHosted:(()=>{try{return new URL(window.location.href).hostname.endsWith(".adyen.com")}catch(t){return!1}})(),countdownTime:c.TIMEOUT_MINUTES});export{c as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{TxVariants as e}from"../tx-variants.js";import{UIElement as s}from"../internal/UIElement/UIElement.js";import n from"../internal/RedirectButton/RedirectButton.js";import i from"../internal/PayButton/PayButton.js";import r,{ERROR as o}from"../../core/Errors/AdyenCheckoutError.js";import{PasskeyService as a}from"./services/PasskeyService.js";import{authorizeEnrollment as p}from"./services/authorizeEnrollment.js";import{authorizePayment as d}from"./services/authorizePayment.js";import h from"./components/StoredPayment/StoredPayment.js";import l from"./components/Enrollment/Enrollment.js";function c(t,e,s){return e in t?Object.defineProperty(t,e,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[e]=s,t}class m extends s{get isValid(){return!(this.props._isAdyenHosted&&!this.props.storedPaymentMethodId)||!!this.state?.isValid}get additionalInfo(){return this.props.storedPaymentMethodId?this.props.i18n.get("paybybankpix.storedPayment.additionalLabel",{values:{receiver:this.props?.payByBankPixDetails?.receiver}}):""}get icon(){return this.props.storedPaymentMethodId?this.resources.getImage({parentFolder:`${m.type}/`})(this.props?.payByBankPixDetails?.ispb):super.icon}async isAvailable(){const t=await this.passkeyService.getWebAuthnUnsupportedReason();if(t)return Promise.reject(new r(o,t));if(!this.props._isAdyenHosted)return Promise.resolve();try{if(await this.passkeyService.initialize(),this.props.storedPaymentMethodId){return await this.passkeyService.canUseStoredCredential()?Promise.resolve():Promise.reject(new r("ERROR","The stored payment method is not available on this device"))}return Promise.resolve()}catch(t){return Promise.reject(t instanceof Error?t?.message:"Unknown error")}}handleAction(t,e={}){const s=this.core.createFromAction(t,{...this.elementRef.props,...e,onAdditionalDetails:this.handleAdditionalDetails});return s?(this.unmount(),s.isAvailable().then(()=>{s.mount(this._node)}),s):null}formatData(){if(!this.props._isAdyenHosted)return{paymentMethod:{type:e.paybybank_pix}};const t=null==this.props.storedPaymentMethodId;return{paymentMethod:{type:e.paybybank_pix,...this.state.data},...t?{storePaymentMethod:!0}:{}}}componentToRender(){return this.props._isAdyenHosted?null!=this.props.storedPaymentMethodId?t(h,{txVariant:m.type,type:this.props.type,clientKey:this.props.clientKey,enrollmentId:this.props.paymentMethodData?.enrollmentId,initiationId:this.props.paymentMethodData?.initiationId,setComponentRef:this.setComponentRef,onPay:this.payWithStoredPayment,onAuthorize:this.authorizePayment}):t(l,{onError:this.handleError,txVariant:m.type,type:this.props.type,clientKey:this.props.clientKey,enrollmentId:this.props.paymentMethodData?.enrollmentId,countdownTime:this.props.countdownTime,onEnroll:this.authorizeEnrollment,issuers:this.props.issuers,payButton:this.enrollmentPayButton,onChange:this.onIssuerSelected,onSubmitAnalytics:this.submitAnalytics,setComponentRef:this.setComponentRef}):t(n,{name:this.displayName,label:this.props.i18n.get("paybybankpix.redirectBtn.label"),payButton:this.payButton,onSubmit:this.submit,setComponentRef:this.setComponentRef})}constructor(e,s){super(e,s),c(this,"passkeyService",void 0),c(this,"onIssuerSelected",async t=>{try{const{data:e={}}=t;if(!e.issuer)return;const{deviceId:s,...n}=await this.passkeyService.captureRiskSignalsEnrollment();this.setState({...t,data:{...e,riskSignals:n,deviceId:s}})}catch(t){const e=t instanceof Error?t.message:"Unknown error in the onIssuerSelected";this.handleError(t instanceof r?t:new r(o,e))}}),c(this,"authorizeEnrollment",async t=>{try{const e=await this.passkeyService.createCredentialForEnrollment(t),s={enrollmentId:this.props.paymentMethodData?.enrollmentId,fidoAssertion:e},{redirectResult:n}=await p({enrollment:s,clientKey:this.props.clientKey,loadingContext:this.props.loadingContext});this.handleAdditionalDetails({data:{details:{redirectResult:n}}})}catch(t){const e=t instanceof Error?t.message:"Unknown error in the authorizeEnrollment";this.handleError(t instanceof r?t:new r(o,e))}}),c(this,"payWithStoredPayment",async()=>{try{const{deviceId:t,...e}=await this.passkeyService.captureRiskSignalsAuthentication();this.state={...this.state,data:{storedPaymentMethodId:this.props.storedPaymentMethodId,riskSignals:e,deviceId:t}},this.executePaymentsCall()}catch(t){const e=t instanceof Error?t.message:"Unknown error in the payWithStoredPayment";this.handleError(t instanceof r?t:new r(o,e))}}),c(this,"authorizePayment",async t=>{try{const e=await this.passkeyService.authenticateWithCredential(t),s={enrollmentId:this.props.paymentMethodData?.enrollmentId,initiationId:this.props.paymentMethodData?.initiationId,fidoAssertion:e},{redirectResult:n}=await d({payment:s,clientKey:this.props.clientKey,loadingContext:this.props.loadingContext});this.handleAdditionalDetails({data:{details:{redirectResult:n}}})}catch(t){const e=t instanceof Error?t.message:"Unknown error in the authorizePayment";this.handleError(t instanceof r?t:new r(o,e))}}),c(this,"enrollmentPayButton",e=>t(i,{...e,showPayButton:!0,disclaimerMessage:this.props.disclaimerMessage,onClick:this.submit}));const n=this.props.storedPaymentMethodId?this.props?.payByBankPixDetails?.deviceId:this.props.deviceId;this.passkeyService=new a({environment:this.props.environment,deviceId:n},this.analytics),this.props._isAdyenHosted&&this.passkeyService.initialize()}}c(m,"type",e.paybybank_pix),c(m,"TIMEOUT_MINUTES",1),c(m,"defaultProps",{showPayButton:!0,_isAdyenHosted:(()=>{try{return new URL(window.location.href).hostname.endsWith(".adyen.com")}catch(t){return!1}})(),countdownTime:m.TIMEOUT_MINUTES});export{m as default};
2
2
  //# sourceMappingURL=PayByBankPix.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayByBankPix.js","sources":["../../../../src/components/PayByBankPix/PayByBankPix.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { PayByBankPixData, PayByBankPixConfiguration } from './types';\nimport { TxVariants } from '../tx-variants';\nimport UIElement from '../internal/UIElement';\nimport RedirectButton from '../internal/RedirectButton';\nimport AdyenCheckoutError, { ERROR } from '../../core/Errors/AdyenCheckoutError';\nimport { PasskeyService } from './services/PasskeyService';\nimport { authorizeEnrollment } from './services/authorizeEnrollment';\nimport { authorizePayment } from './services/authorizePayment';\nimport StoredPayment from './components/StoredPayment';\nimport Enrollment from './components/Enrollment';\nimport { PaymentAction } from '../../types/global-types';\nimport type { ICore } from '../../core/types';\n\nconst isAdyenHosted = () => {\n try {\n const currentUrl = new URL(window.location.href);\n return currentUrl.hostname.endsWith('.adyen.com');\n } catch (e) {\n // SSR, or it fails to parse the full url\n return false;\n }\n};\nclass PayByBankPixElement extends UIElement<PayByBankPixConfiguration> {\n public static readonly type = TxVariants.paybybank_pix;\n private static readonly TIMEOUT_MINUTES = 1;\n private readonly passkeyService: PasskeyService;\n\n public static readonly defaultProps: PayByBankPixConfiguration = {\n showPayButton: true,\n _isAdyenHosted: isAdyenHosted(),\n countdownTime: PayByBankPixElement.TIMEOUT_MINUTES\n };\n\n constructor(checkout: ICore, props?: PayByBankPixConfiguration) {\n super(checkout, props);\n const deviceId = this.props.storedPaymentMethodId ? this.props?.payByBankPixDetails?.deviceId : this.props.deviceId;\n\n this.passkeyService = new PasskeyService(\n {\n environment: this.props.environment,\n deviceId\n },\n this.analytics\n );\n\n if (this.props._isAdyenHosted) {\n void this.passkeyService.initialize();\n }\n }\n\n get isValid(): boolean {\n // Always true for non-hosted page or stored payment\n if (!this.props._isAdyenHosted || this.props.storedPaymentMethodId) {\n return true;\n }\n return !!this.state?.isValid;\n }\n\n /**\n * Display in the drop-in\n */\n get additionalInfo() {\n return this.props.storedPaymentMethodId\n ? this.props.i18n.get('paybybankpix.storedPayment.additionalLabel', { values: { receiver: this.props?.payByBankPixDetails?.receiver } })\n : '';\n }\n\n /**\n * Display in the drop-in\n */\n public override get icon() {\n return this.props.storedPaymentMethodId\n ? this.resources.getImage({ parentFolder: `${PayByBankPixElement.type}/` })(this.props?.payByBankPixDetails?.ispb)\n : super.icon;\n }\n\n /**\n * Method used to let the merchant know if the shopper's device supports WebAuthn APIs: https://featuredetect.passkeys.dev/\n */\n public override async isAvailable(): Promise<void> {\n const unsupportedReason = await this.passkeyService.getWebAuthnUnsupportedReason();\n if (unsupportedReason) {\n return Promise.reject(new AdyenCheckoutError(ERROR, unsupportedReason));\n }\n if (!this.props._isAdyenHosted) {\n return Promise.resolve();\n }\n\n // Load passkey sdk on the hosted page\n try {\n await this.passkeyService.initialize();\n\n if (this.props.storedPaymentMethodId) {\n // If the provided deviceId from the server does not match the localstorage deviceId, do not render the stored payment component.\n const shouldShowStoredPaymentMethod = await this.passkeyService.canUseStoredCredential();\n return shouldShowStoredPaymentMethod\n ? Promise.resolve()\n : Promise.reject(new AdyenCheckoutError('ERROR', 'The stored payment method is not available on this device'));\n }\n\n return Promise.resolve();\n } catch (error) {\n return Promise.reject(error instanceof Error ? error?.message : 'Unknown error');\n }\n }\n\n /**\n * Make sure the await action UIElement is available before mounting\n */\n public override handleAction(action: PaymentAction, props: {} = {}): UIElement | null {\n const paymentAction = this.core.createFromAction(action, {\n ...this.elementRef.props,\n ...props,\n onAdditionalDetails: this.handleAdditionalDetails\n });\n if (paymentAction) {\n this.unmount();\n void paymentAction.isAvailable().then(() => {\n paymentAction.mount(this._node);\n });\n return paymentAction;\n }\n\n return null;\n }\n\n formatData(): PayByBankPixData {\n if (!this.props._isAdyenHosted) {\n return {\n paymentMethod: { type: TxVariants.paybybank_pix }\n };\n }\n\n const isEnrollment = this.props.storedPaymentMethodId == null;\n return {\n paymentMethod: { type: TxVariants.paybybank_pix, ...this.state.data },\n // Always store the payment method for the enrollment flow.\n ...(isEnrollment ? { storePaymentMethod: true } : {})\n };\n }\n\n /**\n * There are 3 endpoints (stages) we need to call for the enrollment flow.\n * The first one is the regular payments call on issuer selection - we indicate to store the payment token for the selected issuer.\n * The second one is to poll the enrollment eligibility - we poll the server to get the enrollment challenge in the `getEnrollmentStatus` function.\n * The third one is in the `authorizeEnrollment` function - we create passkeys and authorize the enrollment with shopper's passkey.\n */\n private readonly onIssuerSelected = async payload => {\n try {\n const { data = {} } = payload;\n if (!data.issuer) {\n return;\n }\n\n const { deviceId, ...riskSignals } = await this.passkeyService.captureRiskSignalsEnrollment();\n this.setState({ ...payload, data: { ...data, riskSignals, deviceId } });\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Unknown error in the onIssuerSelected';\n this.handleError(error instanceof AdyenCheckoutError ? error : new AdyenCheckoutError(ERROR, errorMsg));\n }\n };\n\n private readonly authorizeEnrollment = async (registrationOptions: string): Promise<void> => {\n try {\n const fidoAssertion = await this.passkeyService.createCredentialForEnrollment(registrationOptions); // Create passkey and trigger biometrics\n const enrollment = { enrollmentId: this.props.paymentMethodData?.enrollmentId, fidoAssertion };\n const { redirectResult } = await authorizeEnrollment({\n enrollment,\n clientKey: this.props.clientKey,\n loadingContext: this.props.loadingContext\n });\n // Make paymentDetails call to finalize the enrollment.\n this.handleAdditionalDetails({ data: { details: { redirectResult } } });\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Unknown error in the authorizeEnrollment';\n this.handleError(error instanceof AdyenCheckoutError ? error : new AdyenCheckoutError(ERROR, errorMsg));\n }\n };\n\n /**\n * There are 3 endpoints (stages) we need to call for the payment flow.\n * The first one `payWithStoredPayment` is the regular payments call - we attempt to pay with the stored payment token.\n * The second one is to poll the authorization options - we poll the server to get the challenge in the `getAuthorizationStatus` function.\n * The third one is in the `authorizePayment` function - we authorize the payment with shopper's passkey.\n */\n private readonly payWithStoredPayment = async () => {\n try {\n const { deviceId, ...riskSignals } = await this.passkeyService.captureRiskSignalsAuthentication();\n this.state = { ...this.state, ...{ data: { storedPaymentMethodId: this.props.storedPaymentMethodId, riskSignals, deviceId } } };\n this.executePaymentsCall();\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Unknown error in the payWithStoredPayment';\n this.handleError(error instanceof AdyenCheckoutError ? error : new AdyenCheckoutError(ERROR, errorMsg));\n }\n };\n\n private readonly authorizePayment = async (authenticationOptions: string): Promise<void> => {\n try {\n const fidoAssertion = await this.passkeyService.authenticateWithCredential(authenticationOptions);\n const payment = {\n enrollmentId: this.props.paymentMethodData?.enrollmentId,\n initiationId: this.props.paymentMethodData?.initiationId,\n fidoAssertion\n };\n const { redirectResult } = await authorizePayment({\n payment,\n clientKey: this.props.clientKey,\n loadingContext: this.props.loadingContext\n });\n this.handleAdditionalDetails({ data: { details: { redirectResult } } });\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Unknown error in the authorizePayment';\n this.handleError(error instanceof AdyenCheckoutError ? error : new AdyenCheckoutError(ERROR, errorMsg));\n }\n };\n\n protected override componentToRender(): h.JSX.Element {\n // Always render the redirect button on the merchant's page\n if (!this.props._isAdyenHosted) {\n return (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n label={this.props.i18n.get('paybybankpix.redirectBtn.label')}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n );\n }\n\n return this.props.storedPaymentMethodId != null ? (\n <StoredPayment\n txVariant={PayByBankPixElement.type}\n type={this.props.type}\n clientKey={this.props.clientKey}\n enrollmentId={this.props.paymentMethodData?.enrollmentId}\n initiationId={this.props.paymentMethodData?.initiationId}\n setComponentRef={this.setComponentRef}\n onPay={this.payWithStoredPayment}\n onAuthorize={this.authorizePayment}\n />\n ) : (\n <Enrollment\n onError={this.handleError}\n txVariant={PayByBankPixElement.type}\n // Await\n type={this.props.type}\n clientKey={this.props.clientKey}\n enrollmentId={this.props.paymentMethodData?.enrollmentId}\n countdownTime={this.props.countdownTime}\n onEnroll={this.authorizeEnrollment}\n // Issuer List\n issuers={this.props.issuers}\n payButton={this.payButton}\n onChange={this.onIssuerSelected}\n onSubmitAnalytics={this.submitAnalytics}\n setComponentRef={this.setComponentRef}\n />\n );\n }\n}\n//\nexport default PayByBankPixElement;\n"],"names":["PayByBankPixElement","UIElement","isValid","this","props","_isAdyenHosted","storedPaymentMethodId","state","additionalInfo","i18n","get","values","receiver","payByBankPixDetails","icon","resources","getImage","parentFolder","type","ispb","super","isAvailable","unsupportedReason","passkeyService","getWebAuthnUnsupportedReason","Promise","reject","AdyenCheckoutError","ERROR","resolve","initialize","canUseStoredCredential","error","Error","message","handleAction","action","paymentAction","core","createFromAction","elementRef","onAdditionalDetails","handleAdditionalDetails","unmount","then","mount","_node","formatData","paymentMethod","TxVariants","paybybank_pix","isEnrollment","data","storePaymentMethod","componentToRender","h","StoredPayment","txVariant","clientKey","enrollmentId","paymentMethodData","initiationId","setComponentRef","onPay","payWithStoredPayment","onAuthorize","authorizePayment","Enrollment","onError","handleError","countdownTime","onEnroll","authorizeEnrollment","issuers","payButton","onChange","onIssuerSelected","onSubmitAnalytics","submitAnalytics","RedirectButton","showPayButton","name","displayName","label","onSubmit","submit","ref","componentRef","constructor","checkout","_define_property","async","payload","issuer","deviceId","riskSignals","captureRiskSignalsEnrollment","setState","errorMsg","registrationOptions","fidoAssertion","createCredentialForEnrollment","enrollment","redirectResult","loadingContext","details","captureRiskSignalsAuthentication","executePaymentsCall","authenticationOptions","authenticateWithCredential","payment","PasskeyService","environment","analytics","TIMEOUT_MINUTES","defaultProps","URL","window","location","href","hostname","endsWith","e","isAdyenHosted"],"mappings":"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"}
1
+ {"version":3,"file":"PayByBankPix.js","sources":["../../../../src/components/PayByBankPix/PayByBankPix.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { PayByBankPixData, PayByBankPixConfiguration } from './types';\nimport { TxVariants } from '../tx-variants';\nimport UIElement from '../internal/UIElement';\nimport RedirectButton from '../internal/RedirectButton';\nimport PayButton, { PayButtonProps } from '../internal/PayButton/PayButton';\nimport AdyenCheckoutError, { ERROR } from '../../core/Errors/AdyenCheckoutError';\nimport { PasskeyService } from './services/PasskeyService';\nimport { authorizeEnrollment } from './services/authorizeEnrollment';\nimport { authorizePayment } from './services/authorizePayment';\nimport StoredPayment from './components/StoredPayment';\nimport Enrollment from './components/Enrollment';\nimport { PaymentAction } from '../../types/global-types';\nimport type { ICore } from '../../core/types';\n\nconst isAdyenHosted = () => {\n try {\n const currentUrl = new URL(window.location.href);\n return currentUrl.hostname.endsWith('.adyen.com');\n } catch (e) {\n // SSR, or it fails to parse the full url\n return false;\n }\n};\nclass PayByBankPixElement extends UIElement<PayByBankPixConfiguration> {\n public static readonly type = TxVariants.paybybank_pix;\n private static readonly TIMEOUT_MINUTES = 1;\n private readonly passkeyService: PasskeyService;\n\n public static readonly defaultProps: PayByBankPixConfiguration = {\n showPayButton: true,\n _isAdyenHosted: isAdyenHosted(),\n countdownTime: PayByBankPixElement.TIMEOUT_MINUTES\n };\n\n constructor(checkout: ICore, props?: PayByBankPixConfiguration) {\n super(checkout, props);\n const deviceId = this.props.storedPaymentMethodId ? this.props?.payByBankPixDetails?.deviceId : this.props.deviceId;\n\n this.passkeyService = new PasskeyService(\n {\n environment: this.props.environment,\n deviceId\n },\n this.analytics\n );\n\n if (this.props._isAdyenHosted) {\n void this.passkeyService.initialize();\n }\n }\n\n get isValid(): boolean {\n // Always true for non-hosted page or stored payment\n if (!this.props._isAdyenHosted || this.props.storedPaymentMethodId) {\n return true;\n }\n return !!this.state?.isValid;\n }\n\n /**\n * Display in the drop-in\n */\n get additionalInfo() {\n return this.props.storedPaymentMethodId\n ? this.props.i18n.get('paybybankpix.storedPayment.additionalLabel', { values: { receiver: this.props?.payByBankPixDetails?.receiver } })\n : '';\n }\n\n /**\n * Display in the drop-in\n */\n public override get icon() {\n return this.props.storedPaymentMethodId\n ? this.resources.getImage({ parentFolder: `${PayByBankPixElement.type}/` })(this.props?.payByBankPixDetails?.ispb)\n : super.icon;\n }\n\n /**\n * Method used to let the merchant know if the shopper's device supports WebAuthn APIs: https://featuredetect.passkeys.dev/\n */\n public override async isAvailable(): Promise<void> {\n const unsupportedReason = await this.passkeyService.getWebAuthnUnsupportedReason();\n if (unsupportedReason) {\n return Promise.reject(new AdyenCheckoutError(ERROR, unsupportedReason));\n }\n if (!this.props._isAdyenHosted) {\n return Promise.resolve();\n }\n\n // Load passkey sdk on the hosted page\n try {\n await this.passkeyService.initialize();\n\n if (this.props.storedPaymentMethodId) {\n // If the provided deviceId from the server does not match the localstorage deviceId, do not render the stored payment component.\n const shouldShowStoredPaymentMethod = await this.passkeyService.canUseStoredCredential();\n return shouldShowStoredPaymentMethod\n ? Promise.resolve()\n : Promise.reject(new AdyenCheckoutError('ERROR', 'The stored payment method is not available on this device'));\n }\n\n return Promise.resolve();\n } catch (error) {\n return Promise.reject(error instanceof Error ? error?.message : 'Unknown error');\n }\n }\n\n /**\n * Make sure the await action UIElement is available before mounting\n */\n public override handleAction(action: PaymentAction, props: {} = {}): UIElement | null {\n const paymentAction = this.core.createFromAction(action, {\n ...this.elementRef.props,\n ...props,\n onAdditionalDetails: this.handleAdditionalDetails\n });\n if (paymentAction) {\n this.unmount();\n void paymentAction.isAvailable().then(() => {\n paymentAction.mount(this._node);\n });\n return paymentAction;\n }\n\n return null;\n }\n\n formatData(): PayByBankPixData {\n if (!this.props._isAdyenHosted) {\n return {\n paymentMethod: { type: TxVariants.paybybank_pix }\n };\n }\n\n const isEnrollment = this.props.storedPaymentMethodId == null;\n return {\n paymentMethod: { type: TxVariants.paybybank_pix, ...this.state.data },\n // Always store the payment method for the enrollment flow.\n ...(isEnrollment ? { storePaymentMethod: true } : {})\n };\n }\n\n /**\n * There are 3 endpoints (stages) we need to call for the enrollment flow.\n * The first one is the regular payments call on issuer selection - we indicate to store the payment token for the selected issuer.\n * The second one is to poll the enrollment eligibility - we poll the server to get the enrollment challenge in the `getEnrollmentStatus` function.\n * The third one is in the `authorizeEnrollment` function - we create passkeys and authorize the enrollment with shopper's passkey.\n */\n private readonly onIssuerSelected = async payload => {\n try {\n const { data = {} } = payload;\n if (!data.issuer) {\n return;\n }\n\n const { deviceId, ...riskSignals } = await this.passkeyService.captureRiskSignalsEnrollment();\n this.setState({ ...payload, data: { ...data, riskSignals, deviceId } });\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Unknown error in the onIssuerSelected';\n this.handleError(error instanceof AdyenCheckoutError ? error : new AdyenCheckoutError(ERROR, errorMsg));\n }\n };\n\n private readonly authorizeEnrollment = async (registrationOptions: string): Promise<void> => {\n try {\n const fidoAssertion = await this.passkeyService.createCredentialForEnrollment(registrationOptions); // Create passkey and trigger biometrics\n const enrollment = { enrollmentId: this.props.paymentMethodData?.enrollmentId, fidoAssertion };\n const { redirectResult } = await authorizeEnrollment({\n enrollment,\n clientKey: this.props.clientKey,\n loadingContext: this.props.loadingContext\n });\n // Make paymentDetails call to finalize the enrollment.\n this.handleAdditionalDetails({ data: { details: { redirectResult } } });\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Unknown error in the authorizeEnrollment';\n this.handleError(error instanceof AdyenCheckoutError ? error : new AdyenCheckoutError(ERROR, errorMsg));\n }\n };\n\n /**\n * There are 3 endpoints (stages) we need to call for the payment flow.\n * The first one `payWithStoredPayment` is the regular payments call - we attempt to pay with the stored payment token.\n * The second one is to poll the authorization options - we poll the server to get the challenge in the `getAuthorizationStatus` function.\n * The third one is in the `authorizePayment` function - we authorize the payment with shopper's passkey.\n */\n private readonly payWithStoredPayment = async () => {\n try {\n const { deviceId, ...riskSignals } = await this.passkeyService.captureRiskSignalsAuthentication();\n this.state = { ...this.state, ...{ data: { storedPaymentMethodId: this.props.storedPaymentMethodId, riskSignals, deviceId } } };\n this.executePaymentsCall();\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Unknown error in the payWithStoredPayment';\n this.handleError(error instanceof AdyenCheckoutError ? error : new AdyenCheckoutError(ERROR, errorMsg));\n }\n };\n\n private readonly authorizePayment = async (authenticationOptions: string): Promise<void> => {\n try {\n const fidoAssertion = await this.passkeyService.authenticateWithCredential(authenticationOptions);\n const payment = {\n enrollmentId: this.props.paymentMethodData?.enrollmentId,\n initiationId: this.props.paymentMethodData?.initiationId,\n fidoAssertion\n };\n const { redirectResult } = await authorizePayment({\n payment,\n clientKey: this.props.clientKey,\n loadingContext: this.props.loadingContext\n });\n this.handleAdditionalDetails({ data: { details: { redirectResult } } });\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Unknown error in the authorizePayment';\n this.handleError(error instanceof AdyenCheckoutError ? error : new AdyenCheckoutError(ERROR, errorMsg));\n }\n };\n\n /**\n * The enrollment flow is only rendered on the Adyen hosted page and it is always shown, regardless of the showPayButton configuration.\n */\n private readonly enrollmentPayButton = (props: PayButtonProps): h.JSX.Element => {\n return <PayButton {...props} showPayButton={true} disclaimerMessage={this.props.disclaimerMessage} onClick={this.submit} />;\n };\n\n protected override componentToRender(): h.JSX.Element {\n // Always render the redirect button on the merchant's page\n if (!this.props._isAdyenHosted) {\n return (\n <RedirectButton\n name={this.displayName}\n label={this.props.i18n.get('paybybankpix.redirectBtn.label')}\n payButton={this.payButton}\n onSubmit={this.submit}\n setComponentRef={this.setComponentRef}\n />\n );\n }\n\n return this.props.storedPaymentMethodId != null ? (\n <StoredPayment\n txVariant={PayByBankPixElement.type}\n type={this.props.type}\n clientKey={this.props.clientKey}\n enrollmentId={this.props.paymentMethodData?.enrollmentId}\n initiationId={this.props.paymentMethodData?.initiationId}\n setComponentRef={this.setComponentRef}\n onPay={this.payWithStoredPayment}\n onAuthorize={this.authorizePayment}\n />\n ) : (\n <Enrollment\n onError={this.handleError}\n txVariant={PayByBankPixElement.type}\n // Await\n type={this.props.type}\n clientKey={this.props.clientKey}\n enrollmentId={this.props.paymentMethodData?.enrollmentId}\n countdownTime={this.props.countdownTime}\n onEnroll={this.authorizeEnrollment}\n // Issuer List\n issuers={this.props.issuers}\n payButton={this.enrollmentPayButton}\n onChange={this.onIssuerSelected}\n onSubmitAnalytics={this.submitAnalytics}\n setComponentRef={this.setComponentRef}\n />\n );\n }\n}\n//\nexport default PayByBankPixElement;\n"],"names":["PayByBankPixElement","UIElement","isValid","this","props","_isAdyenHosted","storedPaymentMethodId","state","additionalInfo","i18n","get","values","receiver","payByBankPixDetails","icon","resources","getImage","parentFolder","type","ispb","super","isAvailable","unsupportedReason","passkeyService","getWebAuthnUnsupportedReason","Promise","reject","AdyenCheckoutError","ERROR","resolve","initialize","canUseStoredCredential","error","Error","message","handleAction","action","paymentAction","core","createFromAction","elementRef","onAdditionalDetails","handleAdditionalDetails","unmount","then","mount","_node","formatData","paymentMethod","TxVariants","paybybank_pix","isEnrollment","data","storePaymentMethod","componentToRender","h","StoredPayment","txVariant","clientKey","enrollmentId","paymentMethodData","initiationId","setComponentRef","onPay","payWithStoredPayment","onAuthorize","authorizePayment","Enrollment","onError","handleError","countdownTime","onEnroll","authorizeEnrollment","issuers","payButton","enrollmentPayButton","onChange","onIssuerSelected","onSubmitAnalytics","submitAnalytics","RedirectButton","name","displayName","label","onSubmit","submit","constructor","checkout","_define_property","async","payload","issuer","deviceId","riskSignals","captureRiskSignalsEnrollment","setState","errorMsg","registrationOptions","fidoAssertion","createCredentialForEnrollment","enrollment","redirectResult","loadingContext","details","captureRiskSignalsAuthentication","executePaymentsCall","authenticationOptions","authenticateWithCredential","payment","PayButton","showPayButton","disclaimerMessage","onClick","PasskeyService","environment","analytics","TIMEOUT_MINUTES","defaultProps","URL","window","location","href","hostname","endsWith","e","isAdyenHosted"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../../../external/preact/dist/preact.js";import{useRef as e,useState as n,useEffect as a}from"../../../../external/preact/hooks/dist/hooks.js";import{useCoreContext as o}from"../../../../core/Context/CoreProvider.js";import i from"../../../internal/IssuerList/IssuerList.js";import{useIssuerWithLogo as s}from"./useIssuerWithLogo.js";import r from"./getEnrollmentStatus.js";import l from"./components/IssuerListIntroduction.js";import m from"./components/PayByBankPixAwait.js";import p from"../../../../core/Context/useImage.js";import{LabelOnlyDisclaimerMessage as c}from"../../../internal/DisclaimerMessage/DisclaimerMessage.js";import{TxVariants as u}from"../../../tx-variants.js";function y(y){const{i18n:d,loadingContext:b}=o(),g=p(),w=e(null),[x,f]=n(null),k=[{name:"open-finance",alt:d.get("paybybankpix.await.logoAlt.openFinance"),src:`${g({parentFolder:y.txVariant})("open-finance")}`},{name:"arrow-down",alt:d.get("paybybankpix.await.logoAlt.arrowDown"),src:`${g({imageFolder:"components/"})("arrow_down")}`},{name:"bank",alt:d.get("paybybankpix.await.logoAlt.bank"),src:`${g({imageFolder:"components/"})("bank")}`}],h=e({showValidation:()=>{w?.current?.showValidation()},setStatus:t=>{w?.current?.setStatus(t)}});return a(()=>{y.setComponentRef(h.current)},[y.setComponentRef]),a(()=>{x&&y.onEnroll(x)},[x]),t("div",{className:"adyen-checkout-pix-enrollment"},(t=>"await"===t.type)(y)?t(m,{logos:k,type:y.txVariant,countdownTime:y.countdownTime,clientKey:y.clientKey,onError:y.onError,awaitText:d.get("paybybankpix.await.waitForConfirmation"),instructions:d.get("paybybankpix.await.timeToPay",{values:{numberOfMin:y.countdownTime}}),pollStatus:async()=>{if(x)return;const{enrollmentId:t,clientKey:e}=y,n=await r({enrollmentId:t,clientKey:e,loadingContext:b});return n.registrationOptions&&f(n.registrationOptions),n},endSlot:()=>t("span",null,d.get("paybybankpix.await.withOpenFinance"))}):t("div",{className:"adyen-checkout-pix-enrollment-issuer-list"},t(l,{txVariant:y.txVariant}),t(i,{items:s({issuers:y.issuers,txVariant:y.txVariant}),selectFieldLabel:d.get("paybybankpix.issuerList.selectField.label"),onSubmitAnalytics:y.onSubmitAnalytics,onChange:y.onChange,payButton:y.payButton,showPayButton:!0,setComponentRef:t=>{w.current=t},type:u.paybybank_pix}),t("span",{className:"adyen-checkout-disclaimer__label"},t(c,{message:d.get("paybybankpix.issuerList.disclaimer"),urls:["https://www.adyen.com/pt_BR/legal/termo-de-consentimento-br"]}))))}export{y as default};
1
+ import{createElement as t}from"../../../../external/preact/dist/preact.js";import{useRef as e,useState as n,useEffect as a}from"../../../../external/preact/hooks/dist/hooks.js";import{useCoreContext as o}from"../../../../core/Context/CoreProvider.js";import i from"../../../internal/IssuerList/IssuerList.js";import{useIssuerWithLogo as r}from"./useIssuerWithLogo.js";import s from"./getEnrollmentStatus.js";import l from"./components/IssuerListIntroduction.js";import m from"./components/PayByBankPixAwait.js";import p from"../../../../core/Context/useImage.js";import{LabelOnlyDisclaimerMessage as c}from"../../../internal/DisclaimerMessage/DisclaimerMessage.js";import{TxVariants as u}from"../../../tx-variants.js";function y(y){const{i18n:d,loadingContext:b}=o(),g=p(),x=e(null),[w,f]=n(null),k=[{name:"open-finance",alt:d.get("paybybankpix.await.logoAlt.openFinance"),src:`${g({parentFolder:y.txVariant})("open-finance")}`},{name:"arrow-down",alt:d.get("paybybankpix.await.logoAlt.arrowDown"),src:`${g({imageFolder:"components/"})("arrow_down")}`},{name:"bank",alt:d.get("paybybankpix.await.logoAlt.bank"),src:`${g({imageFolder:"components/"})("bank")}`}],h=e({showValidation:()=>{x?.current?.showValidation()},setStatus:t=>{x?.current?.setStatus(t)}});return a(()=>{y.setComponentRef(h.current)},[y.setComponentRef]),a(()=>{w&&y.onEnroll(w)},[w]),t("div",{className:"adyen-checkout-pix-enrollment"},(t=>"await"===t.type)(y)?t(m,{logos:k,type:y.txVariant,countdownTime:y.countdownTime,clientKey:y.clientKey,onError:y.onError,awaitText:d.get("paybybankpix.await.waitForConfirmation"),instructions:d.get("paybybankpix.await.timeToPay",{values:{numberOfMin:y.countdownTime}}),pollStatus:async()=>{if(w)return;const{enrollmentId:t,clientKey:e}=y,n=await s({enrollmentId:t,clientKey:e,loadingContext:b});return n.registrationOptions&&f(n.registrationOptions),n},endSlot:()=>t("span",null,d.get("paybybankpix.await.withOpenFinance"))}):t("div",{className:"adyen-checkout-pix-enrollment-issuer-list"},t(l,{txVariant:y.txVariant}),t(i,{items:r({issuers:y.issuers,txVariant:y.txVariant}),selectFieldLabel:d.get("paybybankpix.issuerList.selectField.label"),onSubmitAnalytics:y.onSubmitAnalytics,onChange:y.onChange,payButton:y.payButton,setComponentRef:t=>{x.current=t},type:u.paybybank_pix}),t("span",{className:"adyen-checkout-disclaimer__label"},t(c,{message:d.get("paybybankpix.issuerList.disclaimer"),urls:["https://www.adyen.com/pt_BR/legal/termo-de-consentimento-br"]}))))}export{y as default};
2
2
  //# sourceMappingURL=Enrollment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Enrollment.js","sources":["../../../../../../src/components/PayByBankPix/components/Enrollment/Enrollment.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useRef, useState, useEffect } from 'preact/hooks';\nimport { AwaitProps, EnrollmentProps } from './types';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport IssuerList from '../../../internal/IssuerList';\nimport { useIssuerWithLogo } from './useIssuerWithLogo';\nimport getEnrollmentStatus from './getEnrollmentStatus';\nimport IssuerListIntroduction from './components/IssuerListIntroduction';\nimport PayByBankPixAwait from './components/PayByBankPixAwait';\nimport useImage from '../../../../core/Context/useImage';\nimport './Enrollment.scss';\nimport { LabelOnlyDisclaimerMessage } from '../../../internal/DisclaimerMessage/DisclaimerMessage';\nimport { ComponentMethodsRef, UIElementStatus } from '../../../internal/UIElement/types';\nimport { TxVariants } from '../../../tx-variants';\n\nconst TERMS_CONDITIONS_URL = 'https://www.adyen.com/pt_BR/legal/termo-de-consentimento-br';\n\nfunction Enrollment(props: Readonly<EnrollmentProps>) {\n const { i18n, loadingContext } = useCoreContext();\n const getImage = useImage();\n const issuerListRef = useRef<ComponentMethodsRef | null>(null);\n const [registrationOptions, setRegistrationOptions] = useState<string>(null);\n const logos = [\n {\n name: 'open-finance',\n alt: i18n.get('paybybankpix.await.logoAlt.openFinance'),\n src: `${getImage({ parentFolder: props.txVariant })('open-finance')}`\n },\n {\n name: 'arrow-down',\n alt: i18n.get('paybybankpix.await.logoAlt.arrowDown'),\n src: `${getImage({ imageFolder: 'components/' })('arrow_down')}`\n },\n { name: 'bank', alt: i18n.get('paybybankpix.await.logoAlt.bank'), src: `${getImage({ imageFolder: 'components/' })('bank')}` }\n ];\n const self = useRef({\n showValidation: () => {\n issuerListRef?.current?.showValidation();\n },\n setStatus: (newStatus: UIElementStatus) => {\n issuerListRef?.current?.setStatus(newStatus);\n }\n });\n\n const pollStatus = async () => {\n if (registrationOptions) return;\n\n const { enrollmentId, clientKey } = props as AwaitProps;\n const response = await getEnrollmentStatus({ enrollmentId, clientKey, loadingContext });\n if (response.registrationOptions) {\n setRegistrationOptions(response.registrationOptions);\n }\n return response;\n };\n // Assist typescript to narrow down the type.\n const isAwait = (props: EnrollmentProps): props is AwaitProps => props.type === 'await';\n const awaitEndSlot = () => <span>{i18n.get('paybybankpix.await.withOpenFinance')}</span>;\n\n useEffect(() => {\n props.setComponentRef(self.current);\n }, [props.setComponentRef]);\n\n useEffect(() => {\n if (registrationOptions) {\n props.onEnroll(registrationOptions);\n }\n }, [registrationOptions]);\n\n return (\n <div className={'adyen-checkout-pix-enrollment'}>\n {isAwait(props) ? (\n <PayByBankPixAwait\n logos={logos}\n type={props.txVariant}\n countdownTime={props.countdownTime}\n clientKey={props.clientKey}\n onError={props.onError}\n awaitText={i18n.get('paybybankpix.await.waitForConfirmation')}\n instructions={i18n.get('paybybankpix.await.timeToPay', {\n values: { numberOfMin: props.countdownTime }\n })}\n pollStatus={pollStatus}\n endSlot={awaitEndSlot}\n ></PayByBankPixAwait>\n ) : (\n <div className=\"adyen-checkout-pix-enrollment-issuer-list\">\n <IssuerListIntroduction txVariant={props.txVariant} />\n <IssuerList\n items={useIssuerWithLogo({ issuers: props.issuers, txVariant: props.txVariant })}\n selectFieldLabel={i18n.get('paybybankpix.issuerList.selectField.label')}\n onSubmitAnalytics={props.onSubmitAnalytics}\n onChange={props.onChange}\n payButton={props.payButton}\n showPayButton={true}\n setComponentRef={ref => {\n issuerListRef.current = ref;\n }}\n type={TxVariants.paybybank_pix}\n ></IssuerList>\n <span className=\"adyen-checkout-disclaimer__label\">\n <LabelOnlyDisclaimerMessage message={i18n.get('paybybankpix.issuerList.disclaimer')} urls={[TERMS_CONDITIONS_URL]} />\n </span>\n </div>\n )}\n </div>\n );\n}\n\nexport default Enrollment;\n"],"names":["Enrollment","props","i18n","loadingContext","useCoreContext","getImage","useImage","issuerListRef","useRef","registrationOptions","setRegistrationOptions","useState","logos","name","alt","get","src","parentFolder","txVariant","imageFolder","self","showValidation","current","setStatus","newStatus","useEffect","setComponentRef","onEnroll","h","div","className","type","isAwait","PayByBankPixAwait","countdownTime","clientKey","onError","awaitText","instructions","values","numberOfMin","pollStatus","async","enrollmentId","response","getEnrollmentStatus","endSlot","span","IssuerListIntroduction","IssuerList","items","useIssuerWithLogo","issuers","selectFieldLabel","onSubmitAnalytics","onChange","payButton","showPayButton","ref","TxVariants","paybybank_pix","LabelOnlyDisclaimerMessage","message","urls"],"mappings":"8sBAiBA,SAASA,EAAWC,GAChB,MAAMC,KAAEA,EAAIC,eAAEA,GAAmBC,IAC3BC,EAAWC,IACXC,EAAgBC,EAAmC,OAClDC,EAAqBC,GAA0BC,EAAiB,MACjEC,EAAQ,CACV,CACIC,KAAM,eACNC,IAAKZ,EAAKa,IAAI,0CACdC,IAAK,GAAGX,EAAS,CAAEY,aAAchB,EAAMiB,WAA/Bb,CAA4C,mBAExD,CACIQ,KAAM,aACNC,IAAKZ,EAAKa,IAAI,wCACdC,IAAK,GAAGX,EAAS,CAAEc,YAAa,eAAxBd,CAAyC,iBAErD,CAAEQ,KAAM,OAAQC,IAAKZ,EAAKa,IAAI,mCAAoCC,IAAK,GAAGX,EAAS,CAAEc,YAAa,eAAxBd,CAAyC,YAEjHe,EAAOZ,EAAO,CAChBa,eAAgB,KACZd,GAAee,SAASD,kBAE5BE,UAAYC,IACRjB,GAAee,SAASC,UAAUC,MA4B1C,OAVAC,EAAU,KACNxB,EAAMyB,gBAAgBN,EAAKE,UAC5B,CAACrB,EAAMyB,kBAEVD,EAAU,KACFhB,GACAR,EAAM0B,SAASlB,IAEpB,CAACA,IAGAmB,EAACC,MAAAA,CAAIC,UAAW,iCAdJ,CAAC7B,GAA+D,UAAfA,EAAM8B,KAe9DC,CAAQ/B,GACL2B,EAACK,EAAAA,CACGrB,MAAOA,EACPmB,KAAM9B,EAAMiB,UACZgB,cAAejC,EAAMiC,cACrBC,UAAWlC,EAAMkC,UACjBC,QAASnC,EAAMmC,QACfC,UAAWnC,EAAKa,IAAI,0CACpBuB,aAAcpC,EAAKa,IAAI,+BAAgC,CACnDwB,OAAQ,CAAEC,YAAavC,EAAMiC,iBAEjCO,WArCGC,UACf,GAAIjC,EAAqB,OAEzB,MAAMkC,aAAEA,EAAYR,UAAEA,GAAclC,EAC9B2C,QAAiBC,EAAoB,CAAEF,eAAcR,YAAWhC,mBAItE,OAHIyC,EAASnC,qBACTC,EAAuBkC,EAASnC,qBAE7BmC,GA8BKE,QA1BK,IAAMlB,EAACmB,OAAAA,KAAM7C,EAAKa,IAAI,yCA6B/Ba,EAACC,MAAAA,CAAIC,UAAU,6CACXF,EAACoB,EAAAA,CAAuB9B,UAAWjB,EAAMiB,YACzCU,EAACqB,EAAAA,CACGC,MAAOC,EAAkB,CAAEC,QAASnD,EAAMmD,QAASlC,UAAWjB,EAAMiB,YACpEmC,iBAAkBnD,EAAKa,IAAI,6CAC3BuC,kBAAmBrD,EAAMqD,kBACzBC,SAAUtD,EAAMsD,SAChBC,UAAWvD,EAAMuD,UACjBC,eAAe,EACf/B,gBAAiBgC,IACbnD,EAAce,QAAUoC,GAE5B3B,KAAM4B,EAAWC,gBAErBhC,EAACmB,OAAAA,CAAKjB,UAAU,oCACZF,EAACiC,EAAAA,CAA2BC,QAAS5D,EAAKa,IAAI,sCAAuCgD,KAAM,CArFtF,mEA2F7B"}
1
+ {"version":3,"file":"Enrollment.js","sources":["../../../../../../src/components/PayByBankPix/components/Enrollment/Enrollment.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useRef, useState, useEffect } from 'preact/hooks';\nimport { AwaitProps, EnrollmentProps } from './types';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport IssuerList from '../../../internal/IssuerList';\nimport { useIssuerWithLogo } from './useIssuerWithLogo';\nimport getEnrollmentStatus from './getEnrollmentStatus';\nimport IssuerListIntroduction from './components/IssuerListIntroduction';\nimport PayByBankPixAwait from './components/PayByBankPixAwait';\nimport useImage from '../../../../core/Context/useImage';\nimport './Enrollment.scss';\nimport { LabelOnlyDisclaimerMessage } from '../../../internal/DisclaimerMessage/DisclaimerMessage';\nimport { ComponentMethodsRef, UIElementStatus } from '../../../internal/UIElement/types';\nimport { TxVariants } from '../../../tx-variants';\n\nconst TERMS_CONDITIONS_URL = 'https://www.adyen.com/pt_BR/legal/termo-de-consentimento-br';\n\nfunction Enrollment(props: Readonly<EnrollmentProps>) {\n const { i18n, loadingContext } = useCoreContext();\n const getImage = useImage();\n const issuerListRef = useRef<ComponentMethodsRef | null>(null);\n const [registrationOptions, setRegistrationOptions] = useState<string>(null);\n const logos = [\n {\n name: 'open-finance',\n alt: i18n.get('paybybankpix.await.logoAlt.openFinance'),\n src: `${getImage({ parentFolder: props.txVariant })('open-finance')}`\n },\n {\n name: 'arrow-down',\n alt: i18n.get('paybybankpix.await.logoAlt.arrowDown'),\n src: `${getImage({ imageFolder: 'components/' })('arrow_down')}`\n },\n { name: 'bank', alt: i18n.get('paybybankpix.await.logoAlt.bank'), src: `${getImage({ imageFolder: 'components/' })('bank')}` }\n ];\n const self = useRef({\n showValidation: () => {\n issuerListRef?.current?.showValidation();\n },\n setStatus: (newStatus: UIElementStatus) => {\n issuerListRef?.current?.setStatus(newStatus);\n }\n });\n\n const pollStatus = async () => {\n if (registrationOptions) return;\n\n const { enrollmentId, clientKey } = props as AwaitProps;\n const response = await getEnrollmentStatus({ enrollmentId, clientKey, loadingContext });\n if (response.registrationOptions) {\n setRegistrationOptions(response.registrationOptions);\n }\n return response;\n };\n // Assist typescript to narrow down the type.\n const isAwait = (props: EnrollmentProps): props is AwaitProps => props.type === 'await';\n const awaitEndSlot = () => <span>{i18n.get('paybybankpix.await.withOpenFinance')}</span>;\n\n useEffect(() => {\n props.setComponentRef(self.current);\n }, [props.setComponentRef]);\n\n useEffect(() => {\n if (registrationOptions) {\n props.onEnroll(registrationOptions);\n }\n }, [registrationOptions]);\n\n return (\n <div className={'adyen-checkout-pix-enrollment'}>\n {isAwait(props) ? (\n <PayByBankPixAwait\n logos={logos}\n type={props.txVariant}\n countdownTime={props.countdownTime}\n clientKey={props.clientKey}\n onError={props.onError}\n awaitText={i18n.get('paybybankpix.await.waitForConfirmation')}\n instructions={i18n.get('paybybankpix.await.timeToPay', {\n values: { numberOfMin: props.countdownTime }\n })}\n pollStatus={pollStatus}\n endSlot={awaitEndSlot}\n ></PayByBankPixAwait>\n ) : (\n <div className=\"adyen-checkout-pix-enrollment-issuer-list\">\n <IssuerListIntroduction txVariant={props.txVariant} />\n <IssuerList\n items={useIssuerWithLogo({ issuers: props.issuers, txVariant: props.txVariant })}\n selectFieldLabel={i18n.get('paybybankpix.issuerList.selectField.label')}\n onSubmitAnalytics={props.onSubmitAnalytics}\n onChange={props.onChange}\n payButton={props.payButton}\n setComponentRef={ref => {\n issuerListRef.current = ref;\n }}\n type={TxVariants.paybybank_pix}\n ></IssuerList>\n <span className=\"adyen-checkout-disclaimer__label\">\n <LabelOnlyDisclaimerMessage message={i18n.get('paybybankpix.issuerList.disclaimer')} urls={[TERMS_CONDITIONS_URL]} />\n </span>\n </div>\n )}\n </div>\n );\n}\n\nexport default Enrollment;\n"],"names":["Enrollment","props","i18n","loadingContext","useCoreContext","getImage","useImage","issuerListRef","useRef","registrationOptions","setRegistrationOptions","useState","logos","name","alt","get","src","parentFolder","txVariant","imageFolder","self","showValidation","current","setStatus","newStatus","useEffect","setComponentRef","onEnroll","h","div","className","type","isAwait","PayByBankPixAwait","countdownTime","clientKey","onError","awaitText","instructions","values","numberOfMin","pollStatus","async","enrollmentId","response","getEnrollmentStatus","endSlot","span","IssuerListIntroduction","IssuerList","items","useIssuerWithLogo","issuers","selectFieldLabel","onSubmitAnalytics","onChange","payButton","ref","TxVariants","paybybank_pix","LabelOnlyDisclaimerMessage","message","urls"],"mappings":"8sBAiBA,SAASA,EAAWC,GAChB,MAAMC,KAAEA,EAAIC,eAAEA,GAAmBC,IAC3BC,EAAWC,IACXC,EAAgBC,EAAmC,OAClDC,EAAqBC,GAA0BC,EAAiB,MACjEC,EAAQ,CACV,CACIC,KAAM,eACNC,IAAKZ,EAAKa,IAAI,0CACdC,IAAK,GAAGX,EAAS,CAAEY,aAAchB,EAAMiB,WAA/Bb,CAA4C,mBAExD,CACIQ,KAAM,aACNC,IAAKZ,EAAKa,IAAI,wCACdC,IAAK,GAAGX,EAAS,CAAEc,YAAa,eAAxBd,CAAyC,iBAErD,CAAEQ,KAAM,OAAQC,IAAKZ,EAAKa,IAAI,mCAAoCC,IAAK,GAAGX,EAAS,CAAEc,YAAa,eAAxBd,CAAyC,YAEjHe,EAAOZ,EAAO,CAChBa,eAAgB,KACZd,GAAee,SAASD,kBAE5BE,UAAYC,IACRjB,GAAee,SAASC,UAAUC,MA4B1C,OAVAC,EAAU,KACNxB,EAAMyB,gBAAgBN,EAAKE,UAC5B,CAACrB,EAAMyB,kBAEVD,EAAU,KACFhB,GACAR,EAAM0B,SAASlB,IAEpB,CAACA,IAGAmB,EAACC,MAAAA,CAAIC,UAAW,iCAdJ,CAAC7B,GAA+D,UAAfA,EAAM8B,KAe9DC,CAAQ/B,GACL2B,EAACK,EAAAA,CACGrB,MAAOA,EACPmB,KAAM9B,EAAMiB,UACZgB,cAAejC,EAAMiC,cACrBC,UAAWlC,EAAMkC,UACjBC,QAASnC,EAAMmC,QACfC,UAAWnC,EAAKa,IAAI,0CACpBuB,aAAcpC,EAAKa,IAAI,+BAAgC,CACnDwB,OAAQ,CAAEC,YAAavC,EAAMiC,iBAEjCO,WArCGC,UACf,GAAIjC,EAAqB,OAEzB,MAAMkC,aAAEA,EAAYR,UAAEA,GAAclC,EAC9B2C,QAAiBC,EAAoB,CAAEF,eAAcR,YAAWhC,mBAItE,OAHIyC,EAASnC,qBACTC,EAAuBkC,EAASnC,qBAE7BmC,GA8BKE,QA1BK,IAAMlB,EAACmB,OAAAA,KAAM7C,EAAKa,IAAI,yCA6B/Ba,EAACC,MAAAA,CAAIC,UAAU,6CACXF,EAACoB,EAAAA,CAAuB9B,UAAWjB,EAAMiB,YACzCU,EAACqB,EAAAA,CACGC,MAAOC,EAAkB,CAAEC,QAASnD,EAAMmD,QAASlC,UAAWjB,EAAMiB,YACpEmC,iBAAkBnD,EAAKa,IAAI,6CAC3BuC,kBAAmBrD,EAAMqD,kBACzBC,SAAUtD,EAAMsD,SAChBC,UAAWvD,EAAMuD,UACjB9B,gBAAiB+B,IACblD,EAAce,QAAUmC,GAE5B1B,KAAM2B,EAAWC,gBAErB/B,EAACmB,OAAAA,CAAKjB,UAAU,oCACZF,EAACgC,EAAAA,CAA2BC,QAAS3D,EAAKa,IAAI,sCAAuC+C,KAAM,CApFtF,mEA0F7B"}
@@ -1,2 +1,2 @@
1
- import{createElement as t,Fragment as e}from"../../external/preact/dist/preact.js";import s from"../Redirect/Redirect.js";import o from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as a}from"../tx-variants.js";import r from"../../utils/get-issuer-image.js";import n from"../internal/PayButton/PayButton.js";import{payAmountLabel as i}from"../internal/PayButton/utils.js";class p extends s{formatProps(t){return{keepBrandsVisible:!0,showOtherInsteadOfNumber:!0,...t}}formatData(){return{paymentMethod:{type:this.type,...this.props.storedPaymentMethodId&&{storedPaymentMethodId:this.props.storedPaymentMethodId}},browserInfo:this.browserInfo}}get displayName(){return this.props.storedPaymentMethodId&&this.props.label?this.props.label:this.props.name}get additionalInfo(){return this.props.storedPaymentMethodId?this.props.name:""}get brands(){const t=r({},"paybybank",t=>this.resources.getImage(t));return[{icon:t("US-1"),name:"Wells Fargo"},{icon:t("US-2"),name:"Bank of America"},{icon:t("US-3"),name:"Chase"},{icon:t("US-4"),name:"Citi"}]}componentToRender(){return this.props.storedPaymentMethodId?this.props.showPayButton&&t(n,{...this.props,classNameModifiers:["standalone"],label:i(this.props.i18n,this.props.amount),showReview:!!this.props.onReview,onClick:this.submit}):t(e,null,t("div",{className:"adyen-checkout-paybybank_AIS_DD"},t("p",{className:"adyen-checkout-paybybank_AIS_DD__description-header"},this.props.i18n.get("payByBankAISDD.disclaimer.header")),t("p",{className:"adyen-checkout-paybybank_AIS_DD__description-body"},this.props.i18n.get("payByBankAISDD.disclaimer.body"))),this.props.showPayButton&&t(o,{...this.props,showPayButton:this.props.showPayButton,name:this.displayName,onSubmit:this.submit,payButton:this.payButton,ref:t=>{this.componentRef=t}}))}}var m,d,h;m=p,d="type",h=a.paybybank_AIS_DD,d in m?Object.defineProperty(m,d,{value:h,enumerable:!0,configurable:!0,writable:!0}):m[d]=h;export{p as default};
1
+ import{createElement as e,Fragment as t}from"../../external/preact/dist/preact.js";import s from"../Redirect/Redirect.js";import a from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as o}from"../tx-variants.js";import r from"../../utils/get-issuer-image.js";import n from"../internal/PayButton/PayButton.js";import{payAmountLabel as i}from"../internal/PayButton/utils.js";class p extends s{formatProps(e){return{keepBrandsVisible:!0,showOtherInsteadOfNumber:!0,...e}}formatData(){return{paymentMethod:{type:this.type,...this.props.storedPaymentMethodId&&{storedPaymentMethodId:this.props.storedPaymentMethodId}},browserInfo:this.browserInfo}}get displayName(){return this.props.storedPaymentMethodId&&this.props.label?this.props.label:this.props.name}get additionalInfo(){return this.props.storedPaymentMethodId?this.props.name:""}get brands(){const e=r({},"paybybank",e=>this.resources.getImage(e));return[{icon:e("US-1"),name:"Wells Fargo"},{icon:e("US-2"),name:"Bank of America"},{icon:e("US-3"),name:"Chase"},{icon:e("US-4"),name:"Citi"}]}componentToRender(){return this.props.storedPaymentMethodId?e(n,{...this.props,classNameModifiers:["standalone"],label:i(this.props.i18n,this.props.amount),showReview:!!this.props.onReview,onClick:this.submit}):e(t,null,e("div",{className:"adyen-checkout-paybybank_AIS_DD"},e("p",{className:"adyen-checkout-paybybank_AIS_DD__description-header"},this.props.i18n.get("payByBankAISDD.disclaimer.header")),e("p",{className:"adyen-checkout-paybybank_AIS_DD__description-body"},this.props.i18n.get("payByBankAISDD.disclaimer.body"))),e(a,{...this.props,name:this.displayName,onSubmit:this.submit,payButton:this.payButton,setComponentRef:this.setComponentRef}))}}var m,d,h;m=p,d="type",h=o.paybybank_AIS_DD,d in m?Object.defineProperty(m,d,{value:h,enumerable:!0,configurable:!0,writable:!0}):m[d]=h;export{p as default};
2
2
  //# sourceMappingURL=PayByBankUS.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayByBankUS.js","sources":["../../../../src/components/PayByBankUS/PayByBankUS.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport RedirectElement from '../Redirect';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport getIssuerImageUrl from '../../utils/get-issuer-image';\nimport PayButton from '../internal/PayButton';\nimport { payAmountLabel } from '../internal/PayButton/utils';\nimport { PaymentMethodBrand } from '../../types/global-types';\n\nimport './PayByBankUS.scss';\nexport default class PayByBankUS extends RedirectElement {\n public static override readonly type: TxVariants = TxVariants.paybybank_AIS_DD;\n\n protected formatProps(props) {\n return {\n // paymentMethodBrands configuration\n keepBrandsVisible: true,\n showOtherInsteadOfNumber: true,\n ...props\n };\n }\n\n public formatData() {\n return {\n paymentMethod: {\n type: this.type,\n ...(this.props.storedPaymentMethodId && {\n storedPaymentMethodId: this.props.storedPaymentMethodId\n })\n },\n browserInfo: this.browserInfo\n };\n }\n\n get displayName() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.label;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n return this.props.storedPaymentMethodId ? this.props.name : '';\n }\n\n /*\n Hardcode US brands \n */\n get brands(): PaymentMethodBrand[] {\n const getImage = props => this.resources.getImage(props);\n // paybybank_AIS_DD / tx_variant not used here since images are kept in paybybank subfolder\n const getIssuerIcon = getIssuerImageUrl({}, 'paybybank', getImage);\n\n // hardcoding\n return [\n { icon: getIssuerIcon('US-1'), name: 'Wells Fargo' },\n { icon: getIssuerIcon('US-2'), name: 'Bank of America' },\n { icon: getIssuerIcon('US-3'), name: 'Chase' },\n { icon: getIssuerIcon('US-4'), name: 'Citi' }\n ];\n }\n\n protected override componentToRender(): h.JSX.Element {\n return this.props.storedPaymentMethodId ? (\n this.props.showPayButton && (\n <PayButton\n {...this.props}\n classNameModifiers={['standalone']}\n label={payAmountLabel(this.props.i18n, this.props.amount)}\n showReview={!!this.props.onReview}\n onClick={this.submit}\n />\n )\n ) : (\n <Fragment>\n <div className=\"adyen-checkout-paybybank_AIS_DD\">\n <p className=\"adyen-checkout-paybybank_AIS_DD__description-header\">{this.props.i18n.get('payByBankAISDD.disclaimer.header')}</p>\n <p className=\"adyen-checkout-paybybank_AIS_DD__description-body\">{this.props.i18n.get('payByBankAISDD.disclaimer.body')}</p>\n </div>\n\n {this.props.showPayButton && (\n <RedirectButton\n {...this.props}\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n )}\n </Fragment>\n );\n }\n}\n"],"names":["PayByBankUS","RedirectElement","formatProps","props","keepBrandsVisible","showOtherInsteadOfNumber","formatData","paymentMethod","type","this","storedPaymentMethodId","browserInfo","displayName","label","name","additionalInfo","brands","getIssuerIcon","getIssuerImageUrl","resources","getImage","icon","componentToRender","showPayButton","h","PayButton","classNameModifiers","payAmountLabel","i18n","amount","showReview","onReview","onClick","submit","Fragment","div","className","p","get","RedirectButton","onSubmit","payButton","ref","componentRef","TxVariants","paybybank_AIS_DD"],"mappings":"sYAUe,MAAMA,UAAoBC,EAG3BC,WAAAA,CAAYC,GAClB,MAAO,CAEHC,mBAAmB,EACnBC,0BAA0B,KACvBF,EAEX,CAEOG,UAAAA,GACH,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKD,QACPC,KAAKN,MAAMO,uBAAyB,CACpCA,sBAAuBD,KAAKN,MAAMO,wBAG1CC,YAAaF,KAAKE,YAE1B,CAEA,eAAIC,GACA,OAAIH,KAAKN,MAAMO,uBAAyBD,KAAKN,MAAMU,MACxCJ,KAAKN,MAAMU,MAEfJ,KAAKN,MAAMW,IACtB,CAEA,kBAAIC,GACA,OAAON,KAAKN,MAAMO,sBAAwBD,KAAKN,MAAMW,KAAO,EAChE,CAKA,UAAIE,GACA,MAEMC,EAAgBC,EAAkB,GAAI,YAF3Bf,GAASM,KAAKU,UAAUC,SAASjB,IAKlD,MAAO,CACH,CAAEkB,KAAMJ,EAAc,QAASH,KAAM,eACrC,CAAEO,KAAMJ,EAAc,QAASH,KAAM,mBACrC,CAAEO,KAAMJ,EAAc,QAASH,KAAM,SACrC,CAAEO,KAAMJ,EAAc,QAASH,KAAM,QAE7C,CAEmBQ,iBAAAA,GACf,OAAOb,KAAKN,MAAMO,sBACdD,KAAKN,MAAMoB,eACPC,EAACC,EAAAA,IACOhB,KAAKN,MACTuB,mBAAoB,CAAC,cACrBb,MAAOc,EAAelB,KAAKN,MAAMyB,KAAMnB,KAAKN,MAAM0B,QAClDC,aAAcrB,KAAKN,MAAM4B,SACzBC,QAASvB,KAAKwB,SAItBT,EAACU,OACGV,EAACW,MAAAA,CAAIC,UAAU,mCACXZ,EAACa,IAAAA,CAAED,UAAU,uDAAuD3B,KAAKN,MAAMyB,KAAKU,IAAI,qCACxFd,EAACa,IAAAA,CAAED,UAAU,qDAAqD3B,KAAKN,MAAMyB,KAAKU,IAAI,oCAGzF7B,KAAKN,MAAMoB,eACRC,EAACe,EAAAA,IACO9B,KAAKN,MACToB,cAAed,KAAKN,MAAMoB,cAC1BT,KAAML,KAAKG,YACX4B,SAAU/B,KAAKwB,OACfQ,UAAWhC,KAAKgC,UAChBC,IAAKA,IACDjC,KAAKkC,aAAeD,KAM5C,cApFiB1C,IACeQ,SAAmBoC,EAAWC"}
1
+ {"version":3,"file":"PayByBankUS.js","sources":["../../../../src/components/PayByBankUS/PayByBankUS.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport RedirectElement from '../Redirect';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport getIssuerImageUrl from '../../utils/get-issuer-image';\nimport PayButton from '../internal/PayButton';\nimport { payAmountLabel } from '../internal/PayButton/utils';\nimport { PaymentMethodBrand } from '../../types/global-types';\nimport './PayByBankUS.scss';\n\nexport default class PayByBankUS extends RedirectElement {\n public static override readonly type: TxVariants = TxVariants.paybybank_AIS_DD;\n\n protected formatProps(props) {\n return {\n // paymentMethodBrands configuration\n keepBrandsVisible: true,\n showOtherInsteadOfNumber: true,\n ...props\n };\n }\n\n public formatData() {\n return {\n paymentMethod: {\n type: this.type,\n ...(this.props.storedPaymentMethodId && {\n storedPaymentMethodId: this.props.storedPaymentMethodId\n })\n },\n browserInfo: this.browserInfo\n };\n }\n\n get displayName() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.label;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n return this.props.storedPaymentMethodId ? this.props.name : '';\n }\n\n /*\n Hardcode US brands \n */\n get brands(): PaymentMethodBrand[] {\n const getImage = props => this.resources.getImage(props);\n // paybybank_AIS_DD / tx_variant not used here since images are kept in paybybank subfolder\n const getIssuerIcon = getIssuerImageUrl({}, 'paybybank', getImage);\n\n // hardcoding\n return [\n { icon: getIssuerIcon('US-1'), name: 'Wells Fargo' },\n { icon: getIssuerIcon('US-2'), name: 'Bank of America' },\n { icon: getIssuerIcon('US-3'), name: 'Chase' },\n { icon: getIssuerIcon('US-4'), name: 'Citi' }\n ];\n }\n\n protected override componentToRender(): h.JSX.Element {\n return this.props.storedPaymentMethodId ? (\n <PayButton\n {...this.props}\n classNameModifiers={['standalone']}\n label={payAmountLabel(this.props.i18n, this.props.amount)}\n showReview={!!this.props.onReview}\n onClick={this.submit}\n />\n ) : (\n <Fragment>\n <div className=\"adyen-checkout-paybybank_AIS_DD\">\n <p className=\"adyen-checkout-paybybank_AIS_DD__description-header\">{this.props.i18n.get('payByBankAISDD.disclaimer.header')}</p>\n <p className=\"adyen-checkout-paybybank_AIS_DD__description-body\">{this.props.i18n.get('payByBankAISDD.disclaimer.body')}</p>\n </div>\n\n <RedirectButton\n {...this.props}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n setComponentRef={this.setComponentRef}\n />\n </Fragment>\n );\n }\n}\n"],"names":["PayByBankUS","RedirectElement","formatProps","props","keepBrandsVisible","showOtherInsteadOfNumber","formatData","paymentMethod","type","this","storedPaymentMethodId","browserInfo","displayName","label","name","additionalInfo","brands","getIssuerIcon","getIssuerImageUrl","resources","getImage","icon","componentToRender","h","PayButton","classNameModifiers","payAmountLabel","i18n","amount","showReview","onReview","onClick","submit","Fragment","div","className","p","get","RedirectButton","onSubmit","payButton","setComponentRef","TxVariants","paybybank_AIS_DD"],"mappings":"sYAUe,MAAMA,UAAoBC,EAG3BC,WAAAA,CAAYC,GAClB,MAAO,CAEHC,mBAAmB,EACnBC,0BAA0B,KACvBF,EAEX,CAEOG,UAAAA,GACH,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKD,QACPC,KAAKN,MAAMO,uBAAyB,CACpCA,sBAAuBD,KAAKN,MAAMO,wBAG1CC,YAAaF,KAAKE,YAE1B,CAEA,eAAIC,GACA,OAAIH,KAAKN,MAAMO,uBAAyBD,KAAKN,MAAMU,MACxCJ,KAAKN,MAAMU,MAEfJ,KAAKN,MAAMW,IACtB,CAEA,kBAAIC,GACA,OAAON,KAAKN,MAAMO,sBAAwBD,KAAKN,MAAMW,KAAO,EAChE,CAKA,UAAIE,GACA,MAEMC,EAAgBC,EAAkB,GAAI,YAF3Bf,GAASM,KAAKU,UAAUC,SAASjB,IAKlD,MAAO,CACH,CAAEkB,KAAMJ,EAAc,QAASH,KAAM,eACrC,CAAEO,KAAMJ,EAAc,QAASH,KAAM,mBACrC,CAAEO,KAAMJ,EAAc,QAASH,KAAM,SACrC,CAAEO,KAAMJ,EAAc,QAASH,KAAM,QAE7C,CAEmBQ,iBAAAA,GACf,OAAOb,KAAKN,MAAMO,sBACda,EAACC,EAAAA,IACOf,KAAKN,MACTsB,mBAAoB,CAAC,cACrBZ,MAAOa,EAAejB,KAAKN,MAAMwB,KAAMlB,KAAKN,MAAMyB,QAClDC,aAAcpB,KAAKN,MAAM2B,SACzBC,QAAStB,KAAKuB,SAGlBT,EAACU,OACGV,EAACW,MAAAA,CAAIC,UAAU,mCACXZ,EAACa,IAAAA,CAAED,UAAU,uDAAuD1B,KAAKN,MAAMwB,KAAKU,IAAI,qCACxFd,EAACa,IAAAA,CAAED,UAAU,qDAAqD1B,KAAKN,MAAMwB,KAAKU,IAAI,oCAG1Fd,EAACe,EAAAA,IACO7B,KAAKN,MACTW,KAAML,KAAKG,YACX2B,SAAU9B,KAAKuB,OACfQ,UAAW/B,KAAK+B,UAChBC,gBAAiBhC,KAAKgC,kBAItC,cA7EiBzC,IACeQ,SAAmBkC,EAAWC"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import n from"./components/PaypalComponent.js";import s from"./defaultProps.js";import i from"../../core/Errors/AdyenCheckoutError.js";import{ERRORS as r}from"./constants.js";import{TxVariants as a}from"../tx-variants.js";import{formatPaypalOrderContactToAdyenFormat as o}from"./utils/format-paypal-order-contact-to-adyen-format.js";import{AnalyticsInfoEvent as h,InfoEventType as p}from"../../core/Analytics/events/AnalyticsInfoEvent.js";import{sanitizeResponse as l,verifyPaymentDidNotFail as d}from"../internal/UIElement/utils.js";import c from"../../core/Errors/CancelError.js";function m(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class u extends t{formatProps(e){const t=e.configuration?.merchantId,n=e.configuration?.intent,s=0===e.amount?.value?"tokenize":e.intent||n,i="tokenize"===s||e.vault,r="continue"===e.userAction;return{...e,commit:!r&&e.commit,vault:i,configuration:{intent:s,merchantId:t}}}beforeRender(e){const t=new h({type:p.rendered,component:this.type,configData:{...e,showPayButton:this.props.showPayButton},...e?.isExpress&&{isExpress:e.isExpress},...e?.expressPage&&{expressPage:e.expressPage}});this.analytics.sendAnalytics(t)}updatePaymentData(e){e||console.warn("PayPal - Updating payment data with an invalid value"),this.paymentData=e}formatData(){const{isExpress:e,userAction:t}=this.props;return{paymentMethod:{type:u.type,userAction:t,subtype:e?"express":u.subtype}}}get isValid(){return!0}handleResolve(e){if(!this.resolve)return this.handleError(new i("ERROR",r.WRONG_INSTANCE));this.resolve(e)}handleReject(e){if(!this.reject)return this.handleError(new i("ERROR",r.WRONG_INSTANCE));this.reject(new Error(e))}handleSubmit(){return new Promise((e,t)=>{this.resolve=e,this.reject=t,this.makePaymentsCall().then(l).then(d).then(this.handleResponse).catch(e=>{if(e instanceof c)return void this.setElementStatus("ready");this.handleFailedResult(e);const t=e instanceof Error?e.message:JSON.stringify(e),n=e?`: ${t}`:"";this.handleReject(`${r.PAYMENT_FAILED}${n}`)})})}handleOnShippingAddressChange(e,t){const{onShippingAddressChange:n}=this.props;return n?n(e,t,this):Promise.resolve()}handleOnShippingOptionsChange(e,t){const{onShippingOptionsChange:n}=this.props;return n?n(e,t,this):Promise.resolve()}componentToRender(){if(!this.props.showPayButton)return null;const{onShippingAddressChange:t,onShippingOptionsChange:s,...r}=this.props;return e(n,{...r,setComponentRef:this.setComponentRef,...t&&{onShippingAddressChange:this.handleOnShippingAddressChange},...s&&{onShippingOptionsChange:this.handleOnShippingOptionsChange},onCancel:()=>this.handleError(new i("CANCEL")),onChange:this.setState,onApprove:this.handleOnApprove,onError:e=>{this.handleError(new i("ERROR",String(e),{cause:e}))},onScriptLoadFailure:e=>this.handleError(e),onSubmit:this.handleSubmit})}constructor(e,t){super(e,t),m(this,"paymentData",null),m(this,"resolve",null),m(this,"reject",null),m(this,"submit",()=>{this.handleError(new i("IMPLEMENTATION_ERROR",r.SUBMIT_NOT_SUPPORTED))}),m(this,"handleAction",e=>this.updateWithAction(e)),m(this,"updateWithAction",e=>{if(e.paymentMethodType!==this.type)throw new Error("Invalid Action");return e.paymentData&&(this.paymentData=e.paymentData),e.sdkData&&e.sdkData.token?(this.onActionHandled({componentType:this.type,actionDescription:"sdk-loaded",originalAction:e}),this.handleResolve(e.sdkData.token)):this.handleReject(r.NO_TOKEN_PROVIDED),null}),m(this,"handleOnApprove",(e,t)=>{const{onAuthorized:n}=this.props,s={data:{details:e,paymentData:this.paymentData??void 0}};return n?t.order?t.order.get().then(e=>{const t=o(e?.payer),s=o(e?.purchase_units?.[0].shipping,!0);return this.setState({authorizedEvent:e,...t&&{billingAddress:t},...s&&{deliveryAddress:s}}),new Promise((i,r)=>n({authorizedEvent:e,...t&&{billingAddress:t},...s&&{deliveryAddress:s}},{resolve:i,reject:r}))}).then(()=>this.handleAdditionalDetails(s)).catch(e=>this.handleError(new i("ERROR","Something went wrong while parsing PayPal Order",{cause:e}))):(this.handleError(new i("ERROR","PayPal order actions are not available")),Promise.resolve()):(this.handleAdditionalDetails(s),Promise.resolve())}),this.handleSubmit=this.handleSubmit.bind(this),this.handleOnShippingAddressChange=this.handleOnShippingAddressChange.bind(this),this.handleOnShippingOptionsChange=this.handleOnShippingOptionsChange.bind(this)}}m(u,"type",a.paypal),m(u,"subtype","sdk"),m(u,"defaultProps",s);export{u as default};
1
+ import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import n from"./components/PaypalComponent.js";import s from"./defaultProps.js";import i from"../../core/Errors/AdyenCheckoutError.js";import{ERRORS as r}from"./constants.js";import{TxVariants as a}from"../tx-variants.js";import{formatPaypalOrderContactToAdyenFormat as o}from"./utils/format-paypal-order-contact-to-adyen-format.js";import{AnalyticsInfoEvent as h,InfoEventType as p}from"../../core/Analytics/events/AnalyticsInfoEvent.js";import{sanitizeResponse as d,verifyPaymentDidNotFail as l}from"../internal/UIElement/utils.js";import c from"../../core/Errors/CancelError.js";function m(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class u extends t{formatProps(e){const t=e.configuration?.merchantId,n=e.configuration?.intent,s=0===e.amount?.value?"tokenize":e.intent||n,i="tokenize"===s||e.vault,r="continue"===e.userAction;return{...e,commit:!r&&e.commit,vault:i,configuration:{intent:s,merchantId:t}}}beforeRender(e){const t=new h({type:p.rendered,component:this.type,configData:{...e,showPayButton:this.props.showPayButton},...e?.isExpress&&{isExpress:e.isExpress},...e?.expressPage&&{expressPage:e.expressPage}});this.analytics.sendAnalytics(t)}updatePaymentData(e){e||console.warn("PayPal - Updating payment data with an invalid value"),this.paymentData=e}formatData(){const{isExpress:e,userAction:t}=this.props;return{paymentMethod:{type:u.type,userAction:t,subtype:e?"express":u.subtype}}}get isValid(){return!0}handleResolve(e){if(!this.resolve)return this.handleError(new i("ERROR",r.WRONG_INSTANCE));this.resolve(e)}handleReject(e){if(!this.reject)return this.handleError(new i("ERROR",r.WRONG_INSTANCE));this.reject(new Error(e))}handleSubmit(){return new Promise((e,t)=>{this.resolve=e,this.reject=t,this.makePaymentsCall().then(d).then(l).then(this.handleResponse).catch(e=>{if(e instanceof c)return void this.setElementStatus("ready");this.handleFailedResult(e);const t=e instanceof Error?e.message:JSON.stringify(e),n=e?`: ${t}`:"";this.handleReject(`${r.PAYMENT_FAILED}${n}`)})})}handleOnShippingAddressChange(e,t){const{onShippingAddressChange:n}=this.props;return n?n(e,t,this):Promise.resolve()}handleOnShippingOptionsChange(e,t){const{onShippingOptionsChange:n}=this.props;return n?n(e,t,this):Promise.resolve()}componentToRender(){if(!this.props.showPayButton)return null;const{onShippingAddressChange:t,onShippingOptionsChange:s,...r}=this.props;return e(n,{...r,setComponentRef:this.setComponentRef,...t&&{onShippingAddressChange:this.handleOnShippingAddressChange},...s&&{onShippingOptionsChange:this.handleOnShippingOptionsChange},onCancel:()=>this.handleError(new i("CANCEL")),onChange:this.setState,onApprove:this.handleOnApprove,onError:e=>{this.handleError(new i("ERROR",String(e),{cause:e}))},onScriptLoadFailure:e=>this.handleError(e),onSubmit:this.handleSubmit})}constructor(e,t){super(e,t),m(this,"paymentData",null),m(this,"resolve",null),m(this,"reject",null),m(this,"submit",()=>{this.handleError(new i("IMPLEMENTATION_ERROR",r.SUBMIT_NOT_SUPPORTED))}),m(this,"handleAction",e=>this.updateWithAction(e)),m(this,"updateWithAction",e=>{if(e.paymentMethodType!==this.type)throw new Error("Invalid Action");return e.paymentData&&(this.paymentData=e.paymentData),e.sdkData&&e.sdkData.token?(this.onActionHandled({componentType:this.type,actionDescription:"sdk-loaded",originalAction:e}),this.handleResolve(e.sdkData.token)):this.handleReject(r.NO_TOKEN_PROVIDED),null}),m(this,"handleOnApprove",(e,t)=>{const{onAuthorized:n}=this.props,s={data:{details:Object.entries(e).reduce((e,[t,n])=>(e[t]=n??void 0,e),{}),paymentData:this.paymentData??void 0}};return n?t.order?t.order.get().then(e=>{const t=o(e?.payer),s=o(e?.purchase_units?.[0].shipping,!0);return this.setState({authorizedEvent:e,...t&&{billingAddress:t},...s&&{deliveryAddress:s}}),new Promise((i,r)=>n({authorizedEvent:e,...t&&{billingAddress:t},...s&&{deliveryAddress:s}},{resolve:i,reject:r}))}).then(()=>this.handleAdditionalDetails(s)).catch(e=>this.handleError(new i("ERROR","Something went wrong while parsing PayPal Order",{cause:e}))):(this.handleError(new i("ERROR","PayPal order actions are not available")),Promise.resolve()):(this.handleAdditionalDetails(s),Promise.resolve())}),this.handleSubmit=this.handleSubmit.bind(this),this.handleOnShippingAddressChange=this.handleOnShippingAddressChange.bind(this),this.handleOnShippingOptionsChange=this.handleOnShippingOptionsChange.bind(this)}}m(u,"type",a.paypal),m(u,"subtype","sdk"),m(u,"defaultProps",s);export{u as default};
2
2
  //# sourceMappingURL=Paypal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Paypal.js","sources":["../../../../src/components/PayPal/Paypal.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport PaypalComponent from './components/PaypalComponent';\nimport defaultProps from './defaultProps';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { ERRORS } from './constants';\nimport { TxVariants } from '../tx-variants';\nimport { formatPaypalOrderContactToAdyenFormat } from './utils/format-paypal-order-contact-to-adyen-format';\n\nimport type { ICore } from '../../core/types';\nimport type { PaymentAction, PaymentResponseData } from '../../types/global-types';\nimport type { Intent, PayPalConfiguration } from './types';\nimport type {\n PayPalOnApproveActions,\n PayPalOnApproveData,\n PayPalOnShippingAddressChangeActions,\n PayPalOnShippingAddressChangeData,\n PayPalOnShippingOptionsChangeActions,\n PayPalOnShippingOptionsChangeData,\n PayPalOrderResponseBody\n} from './paypal-js-types';\n\nimport { AnalyticsInfoEvent, InfoEventType } from '../../core/Analytics/events/AnalyticsInfoEvent';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport CancelError from '../../core/Errors/CancelError';\nimport './Paypal.scss';\n\nclass PaypalElement extends UIElement<PayPalConfiguration> {\n public static readonly type = TxVariants.paypal;\n public static readonly subtype = 'sdk';\n\n public paymentData: string | null = null;\n\n private resolve: ((value: string) => void) | null = null;\n private reject: ((error?: Error) => void) | null = null;\n\n protected static readonly defaultProps = defaultProps;\n\n constructor(checkout: ICore, props?: PayPalConfiguration) {\n super(checkout, props);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.handleOnShippingAddressChange = this.handleOnShippingAddressChange.bind(this);\n this.handleOnShippingOptionsChange = this.handleOnShippingOptionsChange.bind(this);\n }\n\n formatProps(props: PayPalConfiguration): PayPalConfiguration {\n const merchantId = props.configuration?.merchantId;\n const intentFromConfig = props.configuration?.intent;\n const isZeroAuth = props.amount?.value === 0;\n const intent: Intent | undefined = isZeroAuth ? 'tokenize' : props.intent || intentFromConfig;\n const vault = intent === 'tokenize' || props.vault;\n\n const displayContinueToReviewPageButton = props.userAction === 'continue';\n\n return {\n ...props,\n commit: displayContinueToReviewPageButton ? false : props.commit,\n vault,\n configuration: {\n intent,\n merchantId\n }\n };\n }\n\n protected override beforeRender(configSetByMerchant?: PayPalConfiguration) {\n const event = new AnalyticsInfoEvent({\n type: InfoEventType.rendered,\n component: this.type,\n configData: { ...configSetByMerchant, showPayButton: this.props.showPayButton },\n ...(configSetByMerchant?.isExpress && { isExpress: configSetByMerchant.isExpress }),\n ...(configSetByMerchant?.expressPage && { expressPage: configSetByMerchant.expressPage })\n });\n\n this.analytics.sendAnalytics(event);\n }\n\n public submit = () => {\n this.handleError(new AdyenCheckoutError('IMPLEMENTATION_ERROR', ERRORS.SUBMIT_NOT_SUPPORTED));\n };\n\n /**\n * Updates the paymentData value. It must be used in the PayPal Express flow, when patching the amount\n * @param paymentData - Payment data value\n */\n public updatePaymentData(paymentData: string): void {\n if (!paymentData) console.warn('PayPal - Updating payment data with an invalid value');\n this.paymentData = paymentData;\n }\n\n /**\n * Formats the component data output\n */\n protected formatData() {\n const { isExpress, userAction } = this.props;\n\n return {\n paymentMethod: {\n type: PaypalElement.type,\n userAction,\n subtype: isExpress ? 'express' : PaypalElement.subtype\n }\n };\n }\n\n public handleAction = (action: PaymentAction) => {\n return this.updateWithAction(action);\n };\n\n public updateWithAction = (action: PaymentAction) => {\n if (action.paymentMethodType !== this.type) throw new Error('Invalid Action');\n\n if (action.paymentData) {\n this.paymentData = action.paymentData;\n }\n\n if (action.sdkData && action.sdkData.token) {\n this.onActionHandled({ componentType: this.type, actionDescription: 'sdk-loaded', originalAction: action });\n this.handleResolve(action.sdkData.token);\n } else {\n this.handleReject(ERRORS.NO_TOKEN_PROVIDED);\n }\n\n return null;\n };\n\n /**\n * Dropin Validation\n *\n * @remarks\n * Paypal does not require any specific Dropin validation\n */\n get isValid() {\n return true;\n }\n\n private readonly handleOnApprove = (data: PayPalOnApproveData, actions: PayPalOnApproveActions): Promise<void> => {\n const { onAuthorized } = this.props;\n const state = { data: { details: data, paymentData: this.paymentData ?? undefined } };\n\n if (!onAuthorized) {\n this.handleAdditionalDetails(state);\n return Promise.resolve();\n }\n\n if (!actions.order) {\n this.handleError(new AdyenCheckoutError('ERROR', 'PayPal order actions are not available'));\n return Promise.resolve();\n }\n\n return actions.order\n .get()\n .then((paypalOrder: PayPalOrderResponseBody) => {\n const billingAddress = formatPaypalOrderContactToAdyenFormat(paypalOrder?.payer);\n const deliveryAddress = formatPaypalOrderContactToAdyenFormat(paypalOrder?.purchase_units?.[0].shipping, true);\n\n this.setState({\n authorizedEvent: paypalOrder,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n return new Promise<void>((resolve, reject) =>\n onAuthorized(\n {\n authorizedEvent: paypalOrder,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n )\n );\n })\n .then(() => this.handleAdditionalDetails(state))\n .catch(error => this.handleError(new AdyenCheckoutError('ERROR', 'Something went wrong while parsing PayPal Order', { cause: error })));\n };\n\n handleResolve(token: string) {\n if (!this.resolve) return this.handleError(new AdyenCheckoutError('ERROR', ERRORS.WRONG_INSTANCE));\n this.resolve(token);\n }\n\n handleReject(errorMessage: string) {\n if (!this.reject) return this.handleError(new AdyenCheckoutError('ERROR', ERRORS.WRONG_INSTANCE));\n this.reject(new Error(errorMessage));\n }\n\n private handleSubmit(): Promise<string> {\n return new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n\n this.makePaymentsCall()\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then(this.handleResponse)\n .catch((e: PaymentResponseData | Error) => {\n if (e instanceof CancelError) {\n this.setElementStatus('ready');\n return;\n }\n this.handleFailedResult(e as PaymentResponseData);\n const errorDetail = e instanceof Error ? e.message : JSON.stringify(e);\n const errorMessage = e ? `: ${errorDetail}` : '';\n this.handleReject(`${ERRORS.PAYMENT_FAILED}${errorMessage}`);\n });\n });\n }\n\n /**\n * If the merchant provides the 'onShippingAddressChange' callback, then this method is used as a wrapper to it, in order\n * to expose to the merchant the 'component' instance. The merchant needs the 'component' in order to manipulate the\n * paymentData\n *\n * @param data - PayPal data\n * @param actions - PayPal actions.\n */\n private handleOnShippingAddressChange(data: PayPalOnShippingAddressChangeData, actions: PayPalOnShippingAddressChangeActions): Promise<void> {\n const { onShippingAddressChange } = this.props;\n\n if (!onShippingAddressChange) return Promise.resolve();\n\n return onShippingAddressChange(data, actions, this);\n }\n\n /**\n * If the merchant provides the 'onShippingOptionsChange' callback, then this method is used as a wrapper to it, in order\n * to expose to the merchant the 'component' instance. The merchant needs the 'component' in order to manipulate the\n * paymentData\n *\n * @param data - PayPal data\n * @param actions - PayPal actions.\n */\n private handleOnShippingOptionsChange(data: PayPalOnShippingOptionsChangeData, actions: PayPalOnShippingOptionsChangeActions): Promise<void> {\n const { onShippingOptionsChange } = this.props;\n\n if (!onShippingOptionsChange) return Promise.resolve();\n\n return onShippingOptionsChange(data, actions, this);\n }\n\n protected override componentToRender(): h.JSX.Element | null {\n if (!this.props.showPayButton) return null;\n\n const { onShippingAddressChange, onShippingOptionsChange, ...rest } = this.props;\n\n return (\n <PaypalComponent\n {...rest}\n setComponentRef={this.setComponentRef}\n {...(onShippingAddressChange && { onShippingAddressChange: this.handleOnShippingAddressChange })}\n {...(onShippingOptionsChange && { onShippingOptionsChange: this.handleOnShippingOptionsChange })}\n onCancel={() => this.handleError(new AdyenCheckoutError('CANCEL'))}\n onChange={this.setState}\n onApprove={this.handleOnApprove}\n onError={error => {\n this.handleError(new AdyenCheckoutError('ERROR', String(error), { cause: error }));\n }}\n onScriptLoadFailure={error => this.handleError(error)}\n onSubmit={this.handleSubmit}\n />\n );\n }\n}\n\nexport default PaypalElement;\n"],"names":["PaypalElement","UIElement","formatProps","props","merchantId","configuration","intentFromConfig","intent","amount","value","vault","displayContinueToReviewPageButton","userAction","commit","beforeRender","configSetByMerchant","event","AnalyticsInfoEvent","type","InfoEventType","rendered","component","this","configData","showPayButton","isExpress","expressPage","analytics","sendAnalytics","updatePaymentData","paymentData","console","warn","formatData","paymentMethod","subtype","isValid","handleResolve","token","resolve","handleError","AdyenCheckoutError","ERRORS","WRONG_INSTANCE","handleReject","errorMessage","reject","Error","handleSubmit","Promise","makePaymentsCall","then","sanitizeResponse","verifyPaymentDidNotFail","handleResponse","catch","e","CancelError","setElementStatus","handleFailedResult","errorDetail","message","JSON","stringify","PAYMENT_FAILED","handleOnShippingAddressChange","data","actions","onShippingAddressChange","handleOnShippingOptionsChange","onShippingOptionsChange","componentToRender","rest","h","PaypalComponent","setComponentRef","onCancel","onChange","setState","onApprove","handleOnApprove","onError","error","String","cause","onScriptLoadFailure","onSubmit","constructor","checkout","super","_define_property","submit","SUBMIT_NOT_SUPPORTED","handleAction","action","updateWithAction","paymentMethodType","sdkData","onActionHandled","componentType","actionDescription","originalAction","NO_TOKEN_PROVIDED","onAuthorized","state","details","undefined","order","get","paypalOrder","billingAddress","formatPaypalOrderContactToAdyenFormat","payer","deliveryAddress","purchase_units","shipping","authorizedEvent","handleAdditionalDetails","bind","TxVariants","paypal","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"Paypal.js","sources":["../../../../src/components/PayPal/Paypal.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport PaypalComponent from './components/PaypalComponent';\nimport defaultProps from './defaultProps';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { ERRORS } from './constants';\nimport { TxVariants } from '../tx-variants';\nimport { formatPaypalOrderContactToAdyenFormat } from './utils/format-paypal-order-contact-to-adyen-format';\n\nimport type { ICore } from '../../core/types';\nimport type { PaymentAction, PaymentResponseData } from '../../types/global-types';\nimport type { Intent, PayPalConfiguration } from './types';\nimport type {\n PayPalOnApproveActions,\n PayPalOnApproveData,\n PayPalOnShippingAddressChangeActions,\n PayPalOnShippingAddressChangeData,\n PayPalOnShippingOptionsChangeActions,\n PayPalOnShippingOptionsChangeData,\n PayPalOrderResponseBody\n} from './paypal-js-types';\n\nimport { AnalyticsInfoEvent, InfoEventType } from '../../core/Analytics/events/AnalyticsInfoEvent';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport CancelError from '../../core/Errors/CancelError';\nimport './Paypal.scss';\n\nclass PaypalElement extends UIElement<PayPalConfiguration> {\n public static readonly type = TxVariants.paypal;\n public static readonly subtype = 'sdk';\n\n public paymentData: string | null = null;\n\n private resolve: ((value: string) => void) | null = null;\n private reject: ((error?: Error) => void) | null = null;\n\n protected static readonly defaultProps = defaultProps;\n\n constructor(checkout: ICore, props?: PayPalConfiguration) {\n super(checkout, props);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.handleOnShippingAddressChange = this.handleOnShippingAddressChange.bind(this);\n this.handleOnShippingOptionsChange = this.handleOnShippingOptionsChange.bind(this);\n }\n\n formatProps(props: PayPalConfiguration): PayPalConfiguration {\n const merchantId = props.configuration?.merchantId;\n const intentFromConfig = props.configuration?.intent;\n const isZeroAuth = props.amount?.value === 0;\n const intent: Intent | undefined = isZeroAuth ? 'tokenize' : props.intent || intentFromConfig;\n const vault = intent === 'tokenize' || props.vault;\n\n const displayContinueToReviewPageButton = props.userAction === 'continue';\n\n return {\n ...props,\n commit: displayContinueToReviewPageButton ? false : props.commit,\n vault,\n configuration: {\n intent,\n merchantId\n }\n };\n }\n\n protected override beforeRender(configSetByMerchant?: PayPalConfiguration) {\n const event = new AnalyticsInfoEvent({\n type: InfoEventType.rendered,\n component: this.type,\n configData: { ...configSetByMerchant, showPayButton: this.props.showPayButton },\n ...(configSetByMerchant?.isExpress && { isExpress: configSetByMerchant.isExpress }),\n ...(configSetByMerchant?.expressPage && { expressPage: configSetByMerchant.expressPage })\n });\n\n this.analytics.sendAnalytics(event);\n }\n\n public submit = () => {\n this.handleError(new AdyenCheckoutError('IMPLEMENTATION_ERROR', ERRORS.SUBMIT_NOT_SUPPORTED));\n };\n\n /**\n * Updates the paymentData value. It must be used in the PayPal Express flow, when patching the amount\n * @param paymentData - Payment data value\n */\n public updatePaymentData(paymentData: string): void {\n if (!paymentData) console.warn('PayPal - Updating payment data with an invalid value');\n this.paymentData = paymentData;\n }\n\n /**\n * Formats the component data output\n */\n protected formatData() {\n const { isExpress, userAction } = this.props;\n\n return {\n paymentMethod: {\n type: PaypalElement.type,\n userAction,\n subtype: isExpress ? 'express' : PaypalElement.subtype\n }\n };\n }\n\n public handleAction = (action: PaymentAction) => {\n return this.updateWithAction(action);\n };\n\n public updateWithAction = (action: PaymentAction) => {\n if (action.paymentMethodType !== this.type) throw new Error('Invalid Action');\n\n if (action.paymentData) {\n this.paymentData = action.paymentData;\n }\n\n if (action.sdkData && action.sdkData.token) {\n this.onActionHandled({ componentType: this.type, actionDescription: 'sdk-loaded', originalAction: action });\n this.handleResolve(action.sdkData.token);\n } else {\n this.handleReject(ERRORS.NO_TOKEN_PROVIDED);\n }\n\n return null;\n };\n\n /**\n * Dropin Validation\n *\n * @remarks\n * Paypal does not require any specific Dropin validation\n */\n get isValid() {\n return true;\n }\n\n private readonly handleOnApprove = (data: PayPalOnApproveData, actions: PayPalOnApproveActions): Promise<void> => {\n const { onAuthorized } = this.props;\n\n const details = Object.entries(data).reduce<Record<string, string | undefined>>((result, [key, value]) => {\n result[key] = value ?? undefined;\n return result;\n }, {});\n\n const state = { data: { details, paymentData: this.paymentData ?? undefined } };\n\n if (!onAuthorized) {\n this.handleAdditionalDetails(state);\n return Promise.resolve();\n }\n\n if (!actions.order) {\n this.handleError(new AdyenCheckoutError('ERROR', 'PayPal order actions are not available'));\n return Promise.resolve();\n }\n\n return actions.order\n .get()\n .then((paypalOrder: PayPalOrderResponseBody) => {\n const billingAddress = formatPaypalOrderContactToAdyenFormat(paypalOrder?.payer);\n const deliveryAddress = formatPaypalOrderContactToAdyenFormat(paypalOrder?.purchase_units?.[0].shipping, true);\n\n this.setState({\n authorizedEvent: paypalOrder,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n return new Promise<void>((resolve, reject) =>\n onAuthorized(\n {\n authorizedEvent: paypalOrder,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n )\n );\n })\n .then(() => this.handleAdditionalDetails(state))\n .catch(error => this.handleError(new AdyenCheckoutError('ERROR', 'Something went wrong while parsing PayPal Order', { cause: error })));\n };\n\n handleResolve(token: string) {\n if (!this.resolve) return this.handleError(new AdyenCheckoutError('ERROR', ERRORS.WRONG_INSTANCE));\n this.resolve(token);\n }\n\n handleReject(errorMessage: string) {\n if (!this.reject) return this.handleError(new AdyenCheckoutError('ERROR', ERRORS.WRONG_INSTANCE));\n this.reject(new Error(errorMessage));\n }\n\n private handleSubmit(): Promise<string> {\n return new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n\n this.makePaymentsCall()\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then(this.handleResponse)\n .catch((e: PaymentResponseData | Error) => {\n if (e instanceof CancelError) {\n this.setElementStatus('ready');\n return;\n }\n this.handleFailedResult(e as PaymentResponseData);\n const errorDetail = e instanceof Error ? e.message : JSON.stringify(e);\n const errorMessage = e ? `: ${errorDetail}` : '';\n this.handleReject(`${ERRORS.PAYMENT_FAILED}${errorMessage}`);\n });\n });\n }\n\n /**\n * If the merchant provides the 'onShippingAddressChange' callback, then this method is used as a wrapper to it, in order\n * to expose to the merchant the 'component' instance. The merchant needs the 'component' in order to manipulate the\n * paymentData\n *\n * @param data - PayPal data\n * @param actions - PayPal actions.\n */\n private handleOnShippingAddressChange(data: PayPalOnShippingAddressChangeData, actions: PayPalOnShippingAddressChangeActions): Promise<void> {\n const { onShippingAddressChange } = this.props;\n\n if (!onShippingAddressChange) return Promise.resolve();\n\n return onShippingAddressChange(data, actions, this);\n }\n\n /**\n * If the merchant provides the 'onShippingOptionsChange' callback, then this method is used as a wrapper to it, in order\n * to expose to the merchant the 'component' instance. The merchant needs the 'component' in order to manipulate the\n * paymentData\n *\n * @param data - PayPal data\n * @param actions - PayPal actions.\n */\n private handleOnShippingOptionsChange(data: PayPalOnShippingOptionsChangeData, actions: PayPalOnShippingOptionsChangeActions): Promise<void> {\n const { onShippingOptionsChange } = this.props;\n\n if (!onShippingOptionsChange) return Promise.resolve();\n\n return onShippingOptionsChange(data, actions, this);\n }\n\n protected override componentToRender(): h.JSX.Element | null {\n if (!this.props.showPayButton) return null;\n\n const { onShippingAddressChange, onShippingOptionsChange, ...rest } = this.props;\n\n return (\n <PaypalComponent\n {...rest}\n setComponentRef={this.setComponentRef}\n {...(onShippingAddressChange && { onShippingAddressChange: this.handleOnShippingAddressChange })}\n {...(onShippingOptionsChange && { onShippingOptionsChange: this.handleOnShippingOptionsChange })}\n onCancel={() => this.handleError(new AdyenCheckoutError('CANCEL'))}\n onChange={this.setState}\n onApprove={this.handleOnApprove}\n onError={error => {\n this.handleError(new AdyenCheckoutError('ERROR', String(error), { cause: error }));\n }}\n onScriptLoadFailure={error => this.handleError(error)}\n onSubmit={this.handleSubmit}\n />\n );\n }\n}\n\nexport default PaypalElement;\n"],"names":["PaypalElement","UIElement","formatProps","props","merchantId","configuration","intentFromConfig","intent","amount","value","vault","displayContinueToReviewPageButton","userAction","commit","beforeRender","configSetByMerchant","event","AnalyticsInfoEvent","type","InfoEventType","rendered","component","this","configData","showPayButton","isExpress","expressPage","analytics","sendAnalytics","updatePaymentData","paymentData","console","warn","formatData","paymentMethod","subtype","isValid","handleResolve","token","resolve","handleError","AdyenCheckoutError","ERRORS","WRONG_INSTANCE","handleReject","errorMessage","reject","Error","handleSubmit","Promise","makePaymentsCall","then","sanitizeResponse","verifyPaymentDidNotFail","handleResponse","catch","e","CancelError","setElementStatus","handleFailedResult","errorDetail","message","JSON","stringify","PAYMENT_FAILED","handleOnShippingAddressChange","data","actions","onShippingAddressChange","handleOnShippingOptionsChange","onShippingOptionsChange","componentToRender","rest","h","PaypalComponent","setComponentRef","onCancel","onChange","setState","onApprove","handleOnApprove","onError","error","String","cause","onScriptLoadFailure","onSubmit","constructor","checkout","super","_define_property","submit","SUBMIT_NOT_SUPPORTED","handleAction","action","updateWithAction","paymentMethodType","sdkData","onActionHandled","componentType","actionDescription","originalAction","NO_TOKEN_PROVIDED","onAuthorized","state","details","Object","entries","reduce","result","key","undefined","order","get","paypalOrder","billingAddress","formatPaypalOrderContactToAdyenFormat","payer","deliveryAddress","purchase_units","shipping","authorizedEvent","handleAdditionalDetails","bind","TxVariants","paypal","defaultProps"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import{TxVariants as r}from"../tx-variants.js";import s from"./components/FastlaneComponent.js";function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class o extends t{formatData(){return{paymentMethod:{type:o.type,fastlaneData:btoa(JSON.stringify({fastlaneSessionId:this.props.fastlaneSessionId,tokenId:this.props.tokenId}))}}}beforeRender(){super.beforeRender()}async isAvailable(){const{tokenId:e,lastFour:t,brand:r,email:s}=this.props;return e&&t&&r&&s?Promise.resolve():Promise.reject()}get isValid(){return!0}get icon(){return this.props.icon??this.resources.getImage()("card")}get brands(){const{brands:e}=this.props;return e.map(e=>({icon:this.props.modules.resources.getImage()(e),name:e}))}componentToRender(){return e(s,{lastFour:this.props.lastFour,brand:this.props.brand,payButton:this.payButton,setComponentRef:this.setComponentRef,showPayButton:this.props.showPayButton})}}n(o,"type",r.fastlane),n(o,"defaultProps",{keepBrandsVisible:!0});export{o as default};
1
+ import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import{TxVariants as r}from"../tx-variants.js";import s from"./components/FastlaneComponent.js";function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class o extends t{formatData(){return{paymentMethod:{type:o.type,fastlaneData:btoa(JSON.stringify({fastlaneSessionId:this.props.fastlaneSessionId,tokenId:this.props.tokenId}))}}}beforeRender(){super.beforeRender()}async isAvailable(){const{tokenId:e,lastFour:t,brand:r,email:s}=this.props;return e&&t&&r&&s?Promise.resolve():Promise.reject()}get isValid(){return!0}get icon(){return this.props.icon??this.resources.getImage()("card")}get brands(){const{brands:e}=this.props;return e.map(e=>({icon:this.props.modules.resources.getImage()(e),name:e}))}componentToRender(){return e(s,{lastFour:this.props.lastFour,brand:this.props.brand,payButton:this.payButton,setComponentRef:this.setComponentRef})}}n(o,"type",r.fastlane),n(o,"defaultProps",{keepBrandsVisible:!0});export{o as default};
2
2
  //# sourceMappingURL=Fastlane.js.map