@adyen/adyen-web 6.5.1 → 6.7.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 (430) hide show
  1. package/dist/cjs/adyen.css +5 -5
  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 +290 -169
  6. package/dist/es/adyen.css +5 -5
  7. package/dist/es/adyen.css.map +1 -1
  8. package/dist/es/components/ANCV/ANCV.js +1 -1
  9. package/dist/es/components/ANCV/ANCV.js.map +1 -1
  10. package/dist/es/components/Ach/components/AchInput/AchInput.js.map +1 -1
  11. package/dist/es/components/Ach/components/AchInput/defaultProps.js +1 -1
  12. package/dist/es/components/Ach/components/AchInput/defaultProps.js.map +1 -1
  13. package/dist/es/components/Ach/components/AchInput/defaultStyles.js.map +1 -1
  14. package/dist/es/components/AfterPay/AfterPayB2B.js.map +1 -1
  15. package/dist/es/components/AmazonPay/AmazonPay.js.map +1 -1
  16. package/dist/es/components/AmazonPay/components/AmazonPayButton.js.map +1 -1
  17. package/dist/es/components/BacsDD/BacsDD.js.map +1 -1
  18. package/dist/es/components/BacsDD/components/BacsInput.js.map +1 -1
  19. package/dist/es/components/BankTransfer/BankTransfer.js.map +1 -1
  20. package/dist/es/components/Boleto/Boleto.js.map +1 -1
  21. package/dist/es/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
  22. package/dist/es/components/Boleto/components/BoletoVoucherResult/BoletoVoucherResult.js +1 -1
  23. package/dist/es/components/Boleto/components/BoletoVoucherResult/BoletoVoucherResult.js.map +1 -1
  24. package/dist/es/components/Card/Card.js.map +1 -1
  25. package/dist/es/components/Card/components/CardInput/CardInput.js +1 -1
  26. package/dist/es/components/Card/components/CardInput/CardInput.js.map +1 -1
  27. package/dist/es/components/Card/components/CardInput/components/BrandIcon.js +1 -1
  28. package/dist/es/components/Card/components/CardInput/components/BrandIcon.js.map +1 -1
  29. package/dist/es/components/Card/components/CardInput/defaultProps.js.map +1 -1
  30. package/dist/es/components/Card/components/CardInput/handlers.js.map +1 -1
  31. package/dist/es/components/Card/components/CardInput/types.js +1 -1
  32. package/dist/es/components/Card/components/CardInput/types.js.map +1 -1
  33. package/dist/es/components/CashAppPay/CashAppPay.js.map +1 -1
  34. package/dist/es/components/CashAppPay/services/types.js +1 -1
  35. package/dist/es/components/CashAppPay/services/types.js.map +1 -1
  36. package/dist/es/components/CustomCard/CustomCard.js +1 -1
  37. package/dist/es/components/CustomCard/CustomCard.js.map +1 -1
  38. package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js +1 -1
  39. package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
  40. package/dist/es/components/Doku/components/DokuInput/DokuInput.js.map +1 -1
  41. package/dist/es/components/Donation/components/CampaignContent.js +1 -1
  42. package/dist/es/components/Donation/components/CampaignContent.js.map +1 -1
  43. package/dist/es/components/Donation/components/CampaignInfo.js +2 -0
  44. package/dist/es/components/Donation/components/CampaignInfo.js.map +1 -0
  45. package/dist/es/components/Donation/components/DonationComponent.js +1 -1
  46. package/dist/es/components/Donation/components/DonationComponent.js.map +1 -1
  47. package/dist/es/components/Dropin/Dropin.js.map +1 -1
  48. package/dist/es/components/Dropin/components/DropinComponent.js +1 -1
  49. package/dist/es/components/Dropin/components/DropinComponent.js.map +1 -1
  50. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
  51. package/dist/es/components/Dropin/components/PaymentMethod/useBrandLogoConfiguration.js.map +1 -1
  52. package/dist/es/components/Dropin/elements/filters.js.map +1 -1
  53. package/dist/es/components/Dropin/elements/getComponentConfiguration.js.map +1 -1
  54. package/dist/es/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
  55. package/dist/es/components/Giftcard/Giftcard.js +1 -1
  56. package/dist/es/components/Giftcard/Giftcard.js.map +1 -1
  57. package/dist/es/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  58. package/dist/es/components/GooglePay/GooglePay.js.map +1 -1
  59. package/dist/es/components/GooglePay/components/GooglePayButton.js +1 -1
  60. package/dist/es/components/GooglePay/components/GooglePayButton.js.map +1 -1
  61. package/dist/es/components/GooglePay/requests.js.map +1 -1
  62. package/dist/es/components/Klarna/KlarnaPayments.js +1 -1
  63. package/dist/es/components/Klarna/KlarnaPayments.js.map +1 -1
  64. package/dist/es/components/Klarna/components/KlarnaContainer/KlarnaContainer.js +1 -1
  65. package/dist/es/components/Klarna/components/KlarnaContainer/KlarnaContainer.js.map +1 -1
  66. package/dist/es/components/Klarna/components/KlarnaWidget/KlarnaWidget.js +1 -1
  67. package/dist/es/components/Klarna/components/KlarnaWidget/KlarnaWidget.js.map +1 -1
  68. package/dist/es/components/MBWay/MBWay.js.map +1 -1
  69. package/dist/es/components/Multibanco/Multibanco.js.map +1 -1
  70. package/dist/es/components/OnlineBankingCZ/index.js +1 -1
  71. package/dist/es/components/OnlineBankingCZ/index.js.map +1 -1
  72. package/dist/es/components/OnlineBankingSK/index.js +1 -1
  73. package/dist/es/components/OnlineBankingSK/index.js.map +1 -1
  74. package/dist/es/components/Oxxo/Oxxo.js.map +1 -1
  75. package/dist/es/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.js +1 -1
  76. package/dist/es/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.js.map +1 -1
  77. package/dist/es/components/PayByBankUS/PayByBankUS.js.map +1 -1
  78. package/dist/es/components/PayPal/Paypal.js.map +1 -1
  79. package/dist/es/components/PayPal/utils/get-paypal-styles.js.map +1 -1
  80. package/dist/es/components/Pix/Pix.js.map +1 -1
  81. package/dist/es/components/Redirect/Redirect.js +1 -1
  82. package/dist/es/components/Redirect/Redirect.js.map +1 -1
  83. package/dist/es/components/Redirect/components/RedirectShopper/RedirectShopper.js +1 -1
  84. package/dist/es/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
  85. package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js +1 -1
  86. package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
  87. package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js +1 -1
  88. package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  89. package/dist/es/components/ThreeDS2/callSubmit3DS2Fingerprint.js +1 -1
  90. package/dist/es/components/ThreeDS2/callSubmit3DS2Fingerprint.js.map +1 -1
  91. package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
  92. package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
  93. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js.map +1 -1
  94. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
  95. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
  96. package/dist/es/components/ThreeDS2/components/Form/ThreeDS2Form.js.map +1 -1
  97. package/dist/es/components/Twint/Twint.js.map +1 -1
  98. package/dist/es/components/UPI/UPI.js.map +1 -1
  99. package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  100. package/dist/es/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js.map +1 -1
  101. package/dist/es/components/internal/Address/Address.js.map +1 -1
  102. package/dist/es/components/internal/Address/components/CountryField.js +1 -1
  103. package/dist/es/components/internal/Address/components/CountryField.js.map +1 -1
  104. package/dist/es/components/internal/Address/components/FieldContainer.js +1 -1
  105. package/dist/es/components/internal/Address/components/FieldContainer.js.map +1 -1
  106. package/dist/es/components/internal/Address/components/ReadOnlyAddress.js.map +1 -1
  107. package/dist/es/components/internal/Address/components/StateField.js +1 -1
  108. package/dist/es/components/internal/Address/components/StateField.js.map +1 -1
  109. package/dist/es/components/internal/BaseElement/BaseElement.js +1 -1
  110. package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
  111. package/dist/es/components/internal/Button/Button.js.map +1 -1
  112. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js +1 -1
  113. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js.map +1 -1
  114. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js +1 -1
  115. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js.map +1 -1
  116. package/dist/es/components/internal/ClickToPay/components/CtPSection/CtPLogoutLink.js +1 -1
  117. package/dist/es/components/internal/ClickToPay/components/CtPSection/CtPLogoutLink.js.map +1 -1
  118. package/dist/es/components/internal/ClickToPay/context/ClickToPayProvider.js.map +1 -1
  119. package/dist/es/components/internal/ClickToPay/errors/TimeoutError.js.map +1 -1
  120. package/dist/es/components/internal/ClickToPay/services/ClickToPayService.js +1 -1
  121. package/dist/es/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
  122. package/dist/es/components/internal/ClickToPay/services/sdks/SrciError.js.map +1 -1
  123. package/dist/es/components/internal/CompanyDetails/CompanyDetails.js.map +1 -1
  124. package/dist/es/components/internal/FormFields/Select/Select.js +1 -1
  125. package/dist/es/components/internal/FormFields/Select/Select.js.map +1 -1
  126. package/dist/es/components/internal/FormFields/Select/components/SelectButton.js +1 -1
  127. package/dist/es/components/internal/FormFields/Select/components/SelectButton.js.map +1 -1
  128. package/dist/es/components/internal/IFrame/Iframe.js.map +1 -1
  129. package/dist/es/components/internal/IbanInput/IbanInput.js.map +1 -1
  130. package/dist/es/components/internal/IssuerList/IssuerList.js +1 -1
  131. package/dist/es/components/internal/IssuerList/IssuerList.js.map +1 -1
  132. package/dist/es/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
  133. package/dist/es/components/internal/OpenInvoice/utils.js.map +1 -1
  134. package/dist/es/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
  135. package/dist/es/components/internal/PersonalDetails/ReadOnlyPersonalDetails.js.map +1 -1
  136. package/dist/es/components/internal/QRLoader/QRLoader.js +1 -1
  137. package/dist/es/components/internal/QRLoader/QRLoader.js.map +1 -1
  138. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  139. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js.map +1 -1
  140. package/dist/es/components/internal/SecuredFields/SFP/defaultProps.js.map +1 -1
  141. package/dist/es/components/internal/SecuredFields/binLookup/triggerBinLookUp.js.map +1 -1
  142. package/dist/es/components/internal/SecuredFields/lib/CSF/AbstractCSF.js.map +1 -1
  143. package/dist/es/components/internal/SecuredFields/lib/CSF/CSF.js.map +1 -1
  144. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
  145. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleConfig.js.map +1 -1
  146. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleEncryption.js.map +1 -1
  147. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleIOSTouchEvents.js.map +1 -1
  148. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleValidation.js.map +1 -1
  149. package/dist/es/components/internal/SecuredFields/lib/CSF/partials/handleBinValue.js.map +1 -1
  150. package/dist/es/components/internal/SecuredFields/lib/CSF/partials/handleFocus.js.map +1 -1
  151. package/dist/es/components/internal/SecuredFields/lib/CSF/partials/handleIframeConfigFeedback.js.map +1 -1
  152. package/dist/es/components/internal/SecuredFields/lib/CSF/partials/isConfigured.js.map +1 -1
  153. package/dist/es/components/internal/SecuredFields/lib/CSF/partials/postMessageToAllIframes.js.map +1 -1
  154. package/dist/es/components/internal/SecuredFields/lib/CSF/partials/processAutoComplete.js.map +1 -1
  155. package/dist/es/components/internal/SecuredFields/lib/CSF/partials/processBrand.js.map +1 -1
  156. package/dist/es/components/internal/SecuredFields/lib/CSF/partials/validateForm.js.map +1 -1
  157. package/dist/es/components/internal/SecuredFields/lib/CSF/utils/callbackUtils.js.map +1 -1
  158. package/dist/es/components/internal/SecuredFields/lib/CSF/utils/destroySecuredFields.js.map +1 -1
  159. package/dist/es/components/internal/SecuredFields/lib/CSF/utils/processErrors.js.map +1 -1
  160. package/dist/es/components/internal/SecuredFields/lib/constants.js +1 -1
  161. package/dist/es/components/internal/SecuredFields/lib/constants.js.map +1 -1
  162. package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
  163. package/dist/es/components/internal/SecuredFields/lib/utilities/addContextTranslations.js.map +1 -1
  164. package/dist/es/components/internal/UIElement/UIElement.js +1 -1
  165. package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
  166. package/dist/es/components/internal/UIElement/utils.js.map +1 -1
  167. package/dist/es/components/internal/Voucher/utils.js.map +1 -1
  168. package/dist/es/components/tx-variants.js +1 -1
  169. package/dist/es/components/tx-variants.js.map +1 -1
  170. package/dist/es/core/Analytics/Analytics.js +1 -1
  171. package/dist/es/core/Analytics/Analytics.js.map +1 -1
  172. package/dist/es/core/Analytics/EventsQueue.js.map +1 -1
  173. package/dist/es/core/Analytics/analyticsPreProcessor.js +1 -1
  174. package/dist/es/core/Analytics/analyticsPreProcessor.js.map +1 -1
  175. package/dist/es/core/Analytics/constants.js +1 -1
  176. package/dist/es/core/Analytics/constants.js.map +1 -1
  177. package/dist/es/core/Analytics/utils.js.map +1 -1
  178. package/dist/es/core/Errors/AdyenCheckoutError.js +1 -1
  179. package/dist/es/core/Errors/AdyenCheckoutError.js.map +1 -1
  180. package/dist/es/core/Errors/SRMessages.js.map +1 -1
  181. package/dist/es/core/Errors/SRPanel.js.map +1 -1
  182. package/dist/es/core/Errors/constants.js +1 -1
  183. package/dist/es/core/Errors/constants.js.map +1 -1
  184. package/dist/es/core/Errors/utils.js +1 -1
  185. package/dist/es/core/Errors/utils.js.map +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/analytics/collect-id.js +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/Services/sessions/constants.js +1 -1
  192. package/dist/es/core/Services/sessions/constants.js.map +1 -1
  193. package/dist/es/core/Services/sessions/create-order.js +1 -1
  194. package/dist/es/core/Services/sessions/create-order.js.map +1 -1
  195. package/dist/es/core/Services/sessions/make-payment.js +1 -1
  196. package/dist/es/core/Services/sessions/make-payment.js.map +1 -1
  197. package/dist/es/core/Services/sessions/setup-session.js.map +1 -1
  198. package/dist/es/core/Services/sessions/submit-details.js +1 -1
  199. package/dist/es/core/Services/sessions/submit-details.js.map +1 -1
  200. package/dist/es/core/core.js +1 -1
  201. package/dist/es/core/core.registry.js.map +1 -1
  202. package/dist/es/core/utils.js.map +1 -1
  203. package/dist/es/external/classnames/index.js.map +1 -1
  204. package/dist/es/external/preact/dist/preact.js +1 -1
  205. package/dist/es/external/preact/dist/preact.js.map +1 -1
  206. package/dist/es/index.d.ts +290 -169
  207. package/dist/es/language/Language.js.map +1 -1
  208. package/dist/es/language/utils.js.map +1 -1
  209. package/dist/es/utils/Storage.js.map +1 -1
  210. package/dist/es/utils/commonUtils.js.map +1 -1
  211. package/dist/es/utils/get-process-message-handler.js.map +1 -1
  212. package/dist/es/utils/getOrigin.js.map +1 -1
  213. package/dist/es/utils/useForm/reducer.js.map +1 -1
  214. package/dist/es/utils/useForm/useForm.js.map +1 -1
  215. package/dist/es-legacy/adyen.css +5 -5
  216. package/dist/es-legacy/adyen.css.map +1 -1
  217. package/dist/es-legacy/components/ANCV/ANCV.js +1 -1
  218. package/dist/es-legacy/components/ANCV/ANCV.js.map +1 -1
  219. package/dist/es-legacy/components/Ach/components/AchInput/AchInput.js.map +1 -1
  220. package/dist/es-legacy/components/Ach/components/AchInput/defaultProps.js +1 -1
  221. package/dist/es-legacy/components/Ach/components/AchInput/defaultProps.js.map +1 -1
  222. package/dist/es-legacy/components/Ach/components/AchInput/defaultStyles.js.map +1 -1
  223. package/dist/es-legacy/components/AfterPay/AfterPayB2B.js.map +1 -1
  224. package/dist/es-legacy/components/AmazonPay/AmazonPay.js.map +1 -1
  225. package/dist/es-legacy/components/AmazonPay/components/AmazonPayButton.js.map +1 -1
  226. package/dist/es-legacy/components/BacsDD/BacsDD.js.map +1 -1
  227. package/dist/es-legacy/components/BacsDD/components/BacsInput.js.map +1 -1
  228. package/dist/es-legacy/components/BankTransfer/BankTransfer.js.map +1 -1
  229. package/dist/es-legacy/components/Boleto/Boleto.js.map +1 -1
  230. package/dist/es-legacy/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
  231. package/dist/es-legacy/components/Boleto/components/BoletoVoucherResult/BoletoVoucherResult.js +1 -1
  232. package/dist/es-legacy/components/Boleto/components/BoletoVoucherResult/BoletoVoucherResult.js.map +1 -1
  233. package/dist/es-legacy/components/Card/Card.js.map +1 -1
  234. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js +1 -1
  235. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js.map +1 -1
  236. package/dist/es-legacy/components/Card/components/CardInput/components/BrandIcon.js +1 -1
  237. package/dist/es-legacy/components/Card/components/CardInput/components/BrandIcon.js.map +1 -1
  238. package/dist/es-legacy/components/Card/components/CardInput/defaultProps.js.map +1 -1
  239. package/dist/es-legacy/components/Card/components/CardInput/handlers.js.map +1 -1
  240. package/dist/es-legacy/components/Card/components/CardInput/types.js +1 -1
  241. package/dist/es-legacy/components/Card/components/CardInput/types.js.map +1 -1
  242. package/dist/es-legacy/components/CashAppPay/CashAppPay.js.map +1 -1
  243. package/dist/es-legacy/components/CashAppPay/services/types.js +1 -1
  244. package/dist/es-legacy/components/CashAppPay/services/types.js.map +1 -1
  245. package/dist/es-legacy/components/CustomCard/CustomCard.js +1 -1
  246. package/dist/es-legacy/components/CustomCard/CustomCard.js.map +1 -1
  247. package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js +1 -1
  248. package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
  249. package/dist/es-legacy/components/Doku/components/DokuInput/DokuInput.js.map +1 -1
  250. package/dist/es-legacy/components/Donation/components/CampaignContent.js +1 -1
  251. package/dist/es-legacy/components/Donation/components/CampaignContent.js.map +1 -1
  252. package/dist/es-legacy/components/Donation/components/CampaignInfo.js +2 -0
  253. package/dist/es-legacy/components/Donation/components/CampaignInfo.js.map +1 -0
  254. package/dist/es-legacy/components/Donation/components/DonationComponent.js +1 -1
  255. package/dist/es-legacy/components/Donation/components/DonationComponent.js.map +1 -1
  256. package/dist/es-legacy/components/Dropin/Dropin.js.map +1 -1
  257. package/dist/es-legacy/components/Dropin/components/DropinComponent.js +1 -1
  258. package/dist/es-legacy/components/Dropin/components/DropinComponent.js.map +1 -1
  259. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
  260. package/dist/es-legacy/components/Dropin/components/PaymentMethod/useBrandLogoConfiguration.js.map +1 -1
  261. package/dist/es-legacy/components/Dropin/elements/filters.js.map +1 -1
  262. package/dist/es-legacy/components/Dropin/elements/getComponentConfiguration.js.map +1 -1
  263. package/dist/es-legacy/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
  264. package/dist/es-legacy/components/Giftcard/Giftcard.js +1 -1
  265. package/dist/es-legacy/components/Giftcard/Giftcard.js.map +1 -1
  266. package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  267. package/dist/es-legacy/components/GooglePay/GooglePay.js.map +1 -1
  268. package/dist/es-legacy/components/GooglePay/components/GooglePayButton.js +1 -1
  269. package/dist/es-legacy/components/GooglePay/components/GooglePayButton.js.map +1 -1
  270. package/dist/es-legacy/components/GooglePay/requests.js.map +1 -1
  271. package/dist/es-legacy/components/Klarna/KlarnaPayments.js +1 -1
  272. package/dist/es-legacy/components/Klarna/KlarnaPayments.js.map +1 -1
  273. package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js +1 -1
  274. package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js.map +1 -1
  275. package/dist/es-legacy/components/Klarna/components/KlarnaWidget/KlarnaWidget.js +1 -1
  276. package/dist/es-legacy/components/Klarna/components/KlarnaWidget/KlarnaWidget.js.map +1 -1
  277. package/dist/es-legacy/components/MBWay/MBWay.js.map +1 -1
  278. package/dist/es-legacy/components/Multibanco/Multibanco.js.map +1 -1
  279. package/dist/es-legacy/components/OnlineBankingCZ/index.js +1 -1
  280. package/dist/es-legacy/components/OnlineBankingCZ/index.js.map +1 -1
  281. package/dist/es-legacy/components/OnlineBankingSK/index.js +1 -1
  282. package/dist/es-legacy/components/OnlineBankingSK/index.js.map +1 -1
  283. package/dist/es-legacy/components/Oxxo/Oxxo.js.map +1 -1
  284. package/dist/es-legacy/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.js +1 -1
  285. package/dist/es-legacy/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.js.map +1 -1
  286. package/dist/es-legacy/components/PayByBankUS/PayByBankUS.js.map +1 -1
  287. package/dist/es-legacy/components/PayPal/Paypal.js.map +1 -1
  288. package/dist/es-legacy/components/PayPal/utils/get-paypal-styles.js.map +1 -1
  289. package/dist/es-legacy/components/Pix/Pix.js.map +1 -1
  290. package/dist/es-legacy/components/Redirect/Redirect.js +1 -1
  291. package/dist/es-legacy/components/Redirect/Redirect.js.map +1 -1
  292. package/dist/es-legacy/components/Redirect/components/RedirectShopper/RedirectShopper.js +1 -1
  293. package/dist/es-legacy/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
  294. package/dist/es-legacy/components/ThreeDS2/ThreeDS2Challenge.js +1 -1
  295. package/dist/es-legacy/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
  296. package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js +1 -1
  297. package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  298. package/dist/es-legacy/components/ThreeDS2/callSubmit3DS2Fingerprint.js +1 -1
  299. package/dist/es-legacy/components/ThreeDS2/callSubmit3DS2Fingerprint.js.map +1 -1
  300. package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
  301. package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
  302. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js.map +1 -1
  303. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
  304. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
  305. package/dist/es-legacy/components/ThreeDS2/components/Form/ThreeDS2Form.js.map +1 -1
  306. package/dist/es-legacy/components/Twint/Twint.js.map +1 -1
  307. package/dist/es-legacy/components/UPI/UPI.js.map +1 -1
  308. package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  309. package/dist/es-legacy/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js.map +1 -1
  310. package/dist/es-legacy/components/internal/Address/Address.js.map +1 -1
  311. package/dist/es-legacy/components/internal/Address/components/CountryField.js +1 -1
  312. package/dist/es-legacy/components/internal/Address/components/CountryField.js.map +1 -1
  313. package/dist/es-legacy/components/internal/Address/components/FieldContainer.js +1 -1
  314. package/dist/es-legacy/components/internal/Address/components/FieldContainer.js.map +1 -1
  315. package/dist/es-legacy/components/internal/Address/components/ReadOnlyAddress.js.map +1 -1
  316. package/dist/es-legacy/components/internal/Address/components/StateField.js +1 -1
  317. package/dist/es-legacy/components/internal/Address/components/StateField.js.map +1 -1
  318. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js +1 -1
  319. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
  320. package/dist/es-legacy/components/internal/Button/Button.js.map +1 -1
  321. package/dist/es-legacy/components/internal/ClickToPay/components/CtPCards/CtPCards.js.map +1 -1
  322. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js +1 -1
  323. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js.map +1 -1
  324. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js +1 -1
  325. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js.map +1 -1
  326. package/dist/es-legacy/components/internal/ClickToPay/components/CtPSection/CtPLogoutLink.js +1 -1
  327. package/dist/es-legacy/components/internal/ClickToPay/components/CtPSection/CtPLogoutLink.js.map +1 -1
  328. package/dist/es-legacy/components/internal/ClickToPay/context/ClickToPayProvider.js.map +1 -1
  329. package/dist/es-legacy/components/internal/ClickToPay/errors/TimeoutError.js.map +1 -1
  330. package/dist/es-legacy/components/internal/ClickToPay/services/ClickToPayService.js +1 -1
  331. package/dist/es-legacy/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
  332. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/SrciError.js.map +1 -1
  333. package/dist/es-legacy/components/internal/CompanyDetails/CompanyDetails.js.map +1 -1
  334. package/dist/es-legacy/components/internal/FormFields/Select/Select.js +1 -1
  335. package/dist/es-legacy/components/internal/FormFields/Select/Select.js.map +1 -1
  336. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectButton.js +1 -1
  337. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectButton.js.map +1 -1
  338. package/dist/es-legacy/components/internal/IFrame/Iframe.js.map +1 -1
  339. package/dist/es-legacy/components/internal/IbanInput/IbanInput.js.map +1 -1
  340. package/dist/es-legacy/components/internal/IssuerList/IssuerList.js +1 -1
  341. package/dist/es-legacy/components/internal/IssuerList/IssuerList.js.map +1 -1
  342. package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
  343. package/dist/es-legacy/components/internal/OpenInvoice/utils.js.map +1 -1
  344. package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
  345. package/dist/es-legacy/components/internal/PersonalDetails/ReadOnlyPersonalDetails.js.map +1 -1
  346. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js +1 -1
  347. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js.map +1 -1
  348. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  349. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js.map +1 -1
  350. package/dist/es-legacy/components/internal/SecuredFields/SFP/defaultProps.js.map +1 -1
  351. package/dist/es-legacy/components/internal/SecuredFields/binLookup/extensions.js.map +1 -1
  352. package/dist/es-legacy/components/internal/SecuredFields/binLookup/triggerBinLookUp.js.map +1 -1
  353. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/AbstractCSF.js.map +1 -1
  354. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/CSF.js.map +1 -1
  355. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
  356. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleConfig.js.map +1 -1
  357. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleEncryption.js.map +1 -1
  358. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleIOSTouchEvents.js.map +1 -1
  359. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleValidation.js.map +1 -1
  360. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/handleBinValue.js.map +1 -1
  361. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/handleFocus.js.map +1 -1
  362. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/handleIframeConfigFeedback.js.map +1 -1
  363. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/isConfigured.js.map +1 -1
  364. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/postMessageToAllIframes.js.map +1 -1
  365. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/processAutoComplete.js.map +1 -1
  366. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/processBrand.js.map +1 -1
  367. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/validateForm.js.map +1 -1
  368. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/callbackUtils.js.map +1 -1
  369. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/destroySecuredFields.js.map +1 -1
  370. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/processErrors.js.map +1 -1
  371. package/dist/es-legacy/components/internal/SecuredFields/lib/constants.js +1 -1
  372. package/dist/es-legacy/components/internal/SecuredFields/lib/constants.js.map +1 -1
  373. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
  374. package/dist/es-legacy/components/internal/SecuredFields/lib/utilities/addContextTranslations.js.map +1 -1
  375. package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
  376. package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
  377. package/dist/es-legacy/components/internal/UIElement/utils.js.map +1 -1
  378. package/dist/es-legacy/components/internal/Voucher/utils.js.map +1 -1
  379. package/dist/es-legacy/components/tx-variants.js +1 -1
  380. package/dist/es-legacy/components/tx-variants.js.map +1 -1
  381. package/dist/es-legacy/core/Analytics/Analytics.js +1 -1
  382. package/dist/es-legacy/core/Analytics/Analytics.js.map +1 -1
  383. package/dist/es-legacy/core/Analytics/EventsQueue.js.map +1 -1
  384. package/dist/es-legacy/core/Analytics/analyticsPreProcessor.js +1 -1
  385. package/dist/es-legacy/core/Analytics/analyticsPreProcessor.js.map +1 -1
  386. package/dist/es-legacy/core/Analytics/constants.js +1 -1
  387. package/dist/es-legacy/core/Analytics/constants.js.map +1 -1
  388. package/dist/es-legacy/core/Analytics/utils.js.map +1 -1
  389. package/dist/es-legacy/core/Errors/AdyenCheckoutError.js +1 -1
  390. package/dist/es-legacy/core/Errors/AdyenCheckoutError.js.map +1 -1
  391. package/dist/es-legacy/core/Errors/SRMessages.js.map +1 -1
  392. package/dist/es-legacy/core/Errors/SRPanel.js.map +1 -1
  393. package/dist/es-legacy/core/Errors/constants.js +1 -1
  394. package/dist/es-legacy/core/Errors/constants.js.map +1 -1
  395. package/dist/es-legacy/core/Errors/utils.js +1 -1
  396. package/dist/es-legacy/core/Errors/utils.js.map +1 -1
  397. package/dist/es-legacy/core/RiskModule/RiskModule.js.map +1 -1
  398. package/dist/es-legacy/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.js.map +1 -1
  399. package/dist/es-legacy/core/Services/analytics/collect-id.js +1 -1
  400. package/dist/es-legacy/core/Services/http.js +1 -1
  401. package/dist/es-legacy/core/Services/http.js.map +1 -1
  402. package/dist/es-legacy/core/Services/sessions/constants.js +1 -1
  403. package/dist/es-legacy/core/Services/sessions/constants.js.map +1 -1
  404. package/dist/es-legacy/core/Services/sessions/create-order.js +1 -1
  405. package/dist/es-legacy/core/Services/sessions/create-order.js.map +1 -1
  406. package/dist/es-legacy/core/Services/sessions/make-payment.js +1 -1
  407. package/dist/es-legacy/core/Services/sessions/make-payment.js.map +1 -1
  408. package/dist/es-legacy/core/Services/sessions/setup-session.js.map +1 -1
  409. package/dist/es-legacy/core/Services/sessions/submit-details.js +1 -1
  410. package/dist/es-legacy/core/Services/sessions/submit-details.js.map +1 -1
  411. package/dist/es-legacy/core/core.js +1 -1
  412. package/dist/es-legacy/core/core.registry.js.map +1 -1
  413. package/dist/es-legacy/core/utils.js.map +1 -1
  414. package/dist/es-legacy/external/classnames/index.js.map +1 -1
  415. package/dist/es-legacy/external/preact/dist/preact.js +1 -1
  416. package/dist/es-legacy/external/preact/dist/preact.js.map +1 -1
  417. package/dist/es-legacy/language/Language.js.map +1 -1
  418. package/dist/es-legacy/language/utils.js.map +1 -1
  419. package/dist/es-legacy/utils/Storage.js.map +1 -1
  420. package/dist/es-legacy/utils/commonUtils.js.map +1 -1
  421. package/dist/es-legacy/utils/get-process-message-handler.js.map +1 -1
  422. package/dist/es-legacy/utils/getOrigin.js.map +1 -1
  423. package/dist/es-legacy/utils/useForm/reducer.js.map +1 -1
  424. package/dist/es-legacy/utils/useForm/useForm.js.map +1 -1
  425. package/package.json +25 -25
  426. package/styles/adyen.css +5 -5
  427. package/dist/es/components/Donation/components/CampaignContainer.js +0 -2
  428. package/dist/es/components/Donation/components/CampaignContainer.js.map +0 -1
  429. package/dist/es-legacy/components/Donation/components/CampaignContainer.js +0 -2
  430. package/dist/es-legacy/components/Donation/components/CampaignContainer.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Giftcard.js","sources":["../../../../src/components/Giftcard/Giftcard.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GiftcardComponent from './components/GiftcardComponent';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport PayButton from '../internal/PayButton';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { PaymentAmount } from '../../types/global-types';\nimport { GiftCardElementData, GiftCardConfiguration, balanceCheckResponseType } from './types';\nimport { TxVariants } from '../tx-variants';\n\nexport class GiftcardElement extends UIElement<GiftCardConfiguration> {\n public static type = TxVariants.giftcard;\n\n protected static defaultProps = {\n brandsConfiguration: {}\n };\n\n formatProps(props) {\n return {\n ...props?.configuration,\n ...props\n };\n }\n\n formatData(): GiftCardElementData {\n return {\n paymentMethod: {\n type: this.constructor['type'],\n brand: this.props.brand,\n encryptedCardNumber: this.state.data?.encryptedCardNumber,\n encryptedSecurityCode: this.state.data?.encryptedSecurityCode\n }\n };\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get icon() {\n return this.props.brandsConfiguration[this.props.brand]?.icon || this.props.icon || this.resources.getImage()(this.props.brand);\n }\n\n get displayName() {\n return this.props.brandsConfiguration[this.props.brand]?.name || this.props.name;\n }\n\n private handleBalanceCheck = (data: GiftCardElementData): Promise<balanceCheckResponseType> => {\n if (this.props.onBalanceCheck) {\n return new Promise((resolve, reject) => {\n void this.props.onBalanceCheck(resolve, reject, data);\n });\n }\n\n if (this.props.session) {\n return this.props.session.checkBalance(data);\n }\n };\n\n private onOrderRequest = data => {\n if (this.props.onOrderRequest)\n return new Promise((resolve, reject) => {\n void this.props.onOrderRequest(resolve, reject, data);\n });\n\n if (this.props.session) {\n return this.props.session.createOrder();\n }\n };\n\n public balanceCheck() {\n return this.onBalanceCheck();\n }\n\n private onBalanceCheck = (): void => {\n // skip balance check if no onBalanceCheck event has been defined\n const hasBalanceCheck = this.props.session || this.props.onBalanceCheck;\n if (!hasBalanceCheck) return super.submit();\n\n this.setStatus('loading');\n\n this.handleBalanceCheck(this.formatData())\n .then(({ balance, transactionLimit = {} as PaymentAmount }) => {\n if (!balance) throw new Error('card-error'); // card doesn't exist\n if (balance?.currency !== this.props.amount?.currency) throw new Error('currency-error');\n if (balance?.value <= 0) throw new Error('no-balance');\n\n this.componentRef.setBalance({ balance, transactionLimit });\n\n if (this.props.amount.value > balance.value || this.props.amount.value > transactionLimit.value) {\n if (this.props.order) {\n return super.submit();\n }\n\n return this.onOrderRequest(this.data).then((order: { orderData: string; pspReference: string }) => {\n this.setState({ order: { orderData: order.orderData, pspReference: order.pspReference } });\n return super.submit();\n });\n } else {\n return this.handleOnRequiringConfirmation().then(() => super.submit());\n }\n })\n .catch(error => {\n this.setStatus(error?.message || 'error');\n if (this.props.onError) this.handleError(new AdyenCheckoutError('ERROR', error));\n });\n };\n\n private handleOnRequiringConfirmation = (): Promise<any> => {\n if (this.props.onRequiringConfirmation) {\n return new Promise<void>((resolve, reject) => {\n void this.props.onRequiringConfirmation(resolve, reject);\n });\n }\n };\n\n public submit() {\n if (!this.isValid) {\n this.showValidation();\n return false;\n }\n\n this.balanceCheck();\n }\n\n // Giftcards override the regular payButton flow\n public payButton = props => {\n return <PayButton {...props} />;\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <GiftcardComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n handleKeyPress={this.handleKeyPress}\n showPayButton={this.props.showPayButton}\n onChange={this.setState}\n onBalanceCheck={this.onBalanceCheck}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default GiftcardElement;\n"],"names":["GiftcardElement","UIElement","formatProps","props","configuration","formatData","paymentMethod","type","this","constructor","brand","encryptedCardNumber","state","data","encryptedSecurityCode","isValid","icon","brandsConfiguration","resources","getImage","displayName","name","balanceCheck","onBalanceCheck","submit","showValidation","render","h","CoreProvider","i18n","loadingContext","GiftcardComponent","ref","componentRef","handleKeyPress","showPayButton","onChange","setState","onSubmit","payButton","_define_property","handleBalanceCheck","Promise","resolve","reject","session","checkBalance","onOrderRequest","createOrder","super","setStatus","then","balance","transactionLimit","Error","currency","amount","value","setBalance","order","orderData","pspReference","handleOnRequiringConfirmation","catch","error","message","onError","handleError","AdyenCheckoutError","onRequiringConfirmation","PayButton","TxVariants","giftcard","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"Giftcard.js","sources":["../../../../src/components/Giftcard/Giftcard.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GiftcardComponent from './components/GiftcardComponent';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport PayButton from '../internal/PayButton';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { PaymentAmount } from '../../types/global-types';\nimport { GiftCardElementData, GiftCardConfiguration, balanceCheckResponseType } from './types';\nimport { TxVariants } from '../tx-variants';\n\nexport class GiftcardElement extends UIElement<GiftCardConfiguration> {\n public static type = TxVariants.giftcard;\n\n protected static defaultProps = {\n brandsConfiguration: {}\n };\n\n formatProps(props) {\n return {\n ...props?.configuration,\n ...props\n };\n }\n\n formatData(): GiftCardElementData {\n return {\n paymentMethod: {\n type: this.constructor['type'],\n brand: this.props.brand,\n encryptedCardNumber: this.state.data?.encryptedCardNumber,\n encryptedSecurityCode: this.state.data?.encryptedSecurityCode\n }\n };\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get icon() {\n return this.props.brandsConfiguration[this.props.brand]?.icon || this.props.icon || this.resources.getImage()(this.props.brand);\n }\n\n get displayName() {\n return this.props.brandsConfiguration[this.props.brand]?.name || this.props.name;\n }\n\n private handleBalanceCheck = (data: GiftCardElementData): Promise<balanceCheckResponseType> => {\n if (this.props.onBalanceCheck) {\n return new Promise((resolve, reject) => {\n void this.props.onBalanceCheck(resolve, reject, data);\n });\n }\n\n if (this.props.session) {\n return this.props.session.checkBalance(data);\n }\n };\n\n private onOrderRequest = data => {\n if (this.props.onOrderRequest)\n return new Promise((resolve, reject) => {\n void this.props.onOrderRequest(resolve, reject, data);\n });\n if (this.props.session) {\n return this.props.session.createOrder();\n }\n };\n\n public balanceCheck() {\n return this.onBalanceCheck();\n }\n\n private onBalanceCheck = (): void => {\n // skip balance check if no onBalanceCheck event has been defined\n const hasBalanceCheck = this.props.session || this.props.onBalanceCheck;\n if (!hasBalanceCheck) return super.submit();\n\n this.setStatus('loading');\n\n this.handleBalanceCheck(this.formatData())\n .then(({ balance, transactionLimit = {} as PaymentAmount }) => {\n if (!balance) throw new Error('card-error'); // card doesn't exist\n if (balance?.currency !== this.props.amount?.currency) throw new Error('currency-error');\n if (balance?.value <= 0) throw new Error('no-balance');\n\n this.componentRef.setBalance({ balance, transactionLimit });\n\n if (this.props.amount.value > balance.value || this.props.amount.value > transactionLimit.value) {\n if (this.props.order) {\n return super.submit();\n }\n\n return this.onOrderRequest(this.data).then((order: { orderData: string; pspReference: string }) => {\n this.setState({ order: { orderData: order.orderData, pspReference: order.pspReference } });\n return super.submit();\n });\n } else {\n return this.handleOnRequiringConfirmation().then(() => super.submit());\n }\n })\n .catch(error => {\n this.setStatus(error?.message || 'error');\n if (this.props.onError) {\n if (error instanceof AdyenCheckoutError) {\n this.handleError(error);\n } else {\n this.handleError(new AdyenCheckoutError('ERROR', error));\n }\n }\n });\n };\n\n private handleOnRequiringConfirmation = (): Promise<any> => {\n if (this.props.onRequiringConfirmation) {\n return new Promise<void>((resolve, reject) => {\n void this.props.onRequiringConfirmation(resolve, reject);\n });\n }\n };\n\n public submit() {\n if (!this.isValid) {\n this.showValidation();\n return false;\n }\n\n this.balanceCheck();\n }\n\n // Giftcards override the regular payButton flow\n public payButton = props => {\n return <PayButton {...props} />;\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <GiftcardComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n handleKeyPress={this.handleKeyPress}\n showPayButton={this.props.showPayButton}\n onChange={this.setState}\n onBalanceCheck={this.onBalanceCheck}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default GiftcardElement;\n"],"names":["GiftcardElement","UIElement","formatProps","props","configuration","formatData","paymentMethod","type","this","constructor","brand","encryptedCardNumber","state","data","encryptedSecurityCode","isValid","icon","brandsConfiguration","resources","getImage","displayName","name","balanceCheck","onBalanceCheck","submit","showValidation","render","h","CoreProvider","i18n","loadingContext","GiftcardComponent","ref","componentRef","handleKeyPress","showPayButton","onChange","setState","onSubmit","payButton","super","args","_define_property","handleBalanceCheck","Promise","resolve","reject","session","checkBalance","onOrderRequest","createOrder","setStatus","then","balance","transactionLimit","Error","currency","amount","value","setBalance","order","orderData","pspReference","handleOnRequiringConfirmation","catch","error","message","onError","AdyenCheckoutError","handleError","onRequiringConfirmation","PayButton","TxVariants","giftcard","defaultProps"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"GiftcardComponent.js","sources":["../../../../../src/components/Giftcard/components/GiftcardComponent.tsx"],"sourcesContent":["import { Component, FunctionComponent, h } from 'preact';\nimport SecuredFieldsProvider from '../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport Alert from '../../internal/Alert';\nimport GiftcardResult from './GiftcardResult';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { GIFT_CARD } from '../../internal/SecuredFields/lib/constants';\nimport { GiftCardFields } from './GiftcardFields';\nimport { GiftcardFieldsProps, Placeholders } from './types';\n\ninterface GiftcardComponentProps {\n onChange: (state) => void;\n onFocus: (event) => void;\n onBlur: (event) => void;\n onSubmit: (event) => void;\n onBalanceCheck: (event) => void;\n\n amount?: PaymentAmount;\n showPayButton: boolean;\n payButton: (config) => any;\n\n pinRequired: boolean;\n expiryDateRequired?: boolean;\n fieldsLayoutComponent: FunctionComponent<GiftcardFieldsProps>;\n placeholders?: Placeholders;\n handleKeyPress?: (o: KeyboardEvent) => void;\n}\n\nclass Giftcard extends Component<GiftcardComponentProps> {\n public state = {\n status: 'ready',\n data: {},\n balance: null,\n transactionLimit: null,\n focusedElement: false,\n isValid: false\n };\n\n public static defaultProps = {\n pinRequired: true,\n expiryDateRequired: false,\n onChange: () => {},\n onFocus: () => {},\n onBlur: () => {},\n fieldsLayoutComponent: GiftCardFields\n };\n\n public sfp;\n\n public onChange = sfpState => {\n this.props.onChange({\n data: sfpState.data,\n isValid: sfpState.isSfpValid\n });\n };\n\n public showValidation = () => {\n this.sfp.showValidation();\n };\n\n setStatus(status) {\n this.setState({ status });\n }\n\n public handleFocus = e => {\n this.setState({ focusedElement: e.currentFocusObject });\n\n const isFocused = e.focus === true;\n if (isFocused) {\n this.props.onFocus(e);\n } else {\n this.props.onBlur(e);\n }\n };\n\n public setBalance = ({ balance, transactionLimit }) => {\n this.setState({ balance, transactionLimit });\n };\n\n render(props, { focusedElement, balance, transactionLimit }) {\n const { i18n } = useCoreContext();\n\n const transactionAmount = transactionLimit?.value < balance?.value ? transactionLimit : balance;\n const hasEnoughBalance = transactionAmount?.value >= this.props.amount?.value;\n\n if (transactionAmount && hasEnoughBalance) {\n return <GiftcardResult balance={balance} transactionLimit={transactionLimit} onSubmit={props.onSubmit} {...props} />;\n }\n\n const getCardErrorMessage = sfpState => {\n if (sfpState.errors.encryptedCardNumber) return i18n.get(sfpState.errors.encryptedCardNumber);\n\n switch (this.state.status) {\n case 'no-balance':\n return i18n.get('error.giftcard.no-balance');\n case 'card-error':\n return i18n.get('error.giftcard.card-error');\n case 'currency-error':\n return i18n.get('error.giftcard.currency-error');\n default:\n return null;\n }\n };\n\n return (\n <div className=\"adyen-checkout__giftcard\">\n {this.state.status === 'error' && <Alert icon={'cross'}>{i18n.get('error.message.unknown')}</Alert>}\n\n <SecuredFieldsProvider\n {...this.props}\n ref={ref => {\n this.sfp = ref;\n }}\n onChange={this.onChange}\n onFocus={this.handleFocus}\n type={GIFT_CARD}\n render={({ setRootNode, setFocusOn }, sfpState) =>\n this.props.fieldsLayoutComponent({\n i18n: i18n,\n pinRequired: this.props.pinRequired,\n focusedElement: focusedElement,\n getCardErrorMessage: getCardErrorMessage,\n setRootNode: setRootNode,\n setFocusOn: setFocusOn,\n sfpState: sfpState\n })\n }\n />\n\n {this.props.showPayButton &&\n this.props.payButton({\n status: this.state.status,\n onClick: this.props.onSubmit,\n label: i18n.get('applyGiftcard')\n })}\n </div>\n );\n }\n}\n\nexport default Giftcard;\n"],"names":["Giftcard","Component","setStatus","status","this","setState","render","props","focusedElement","balance","transactionLimit","i18n","useCoreContext","transactionAmount","value","hasEnoughBalance","amount","h","GiftcardResult","onSubmit","getCardErrorMessage","sfpState","errors","encryptedCardNumber","get","state","div","className","Alert","icon","SecuredFieldsProvider","ref","sfp","onChange","onFocus","handleFocus","type","GIFT_CARD","setRootNode","setFocusOn","fieldsLayoutComponent","pinRequired","showPayButton","payButton","onClick","label","_define_property","data","isValid","isSfpValid","showValidation","e","currentFocusObject","focus","onBlur","setBalance","defaultProps","expiryDateRequired","GiftCardFields"],"mappings":"8iBA4BA,MAAMA,UAAiBC,EAgCnBC,SAAAA,CAAUC,GACNC,KAAKC,SAAS,CAAEF,UACpB,CAiBAG,MAAAA,CAAOC,GAAOC,eAAEA,EAAcC,QAAEA,EAAOC,iBAAEA,IACrC,MAAMC,KAAEA,GAASC,IAEXC,EAAoBH,GAAkBI,MAAQL,GAASK,MAAQJ,EAAmBD,EAClFM,EAAmBF,GAAmBC,OAASV,KAAKG,MAAMS,QAAQF,MAExE,GAAID,GAAqBE,EACrB,OAAOE,EAACC,EAAAA,CAAeT,QAASA,EAASC,iBAAkBA,EAAkBS,SAAUZ,EAAMY,YAAcZ,IAG/G,MAAMa,EAAsBC,IACxB,GAAIA,EAASC,OAAOC,oBAAqB,OAAOZ,EAAKa,IAAIH,EAASC,OAAOC,qBAEzE,OAAQnB,KAAKqB,MAAMtB,QACf,IAAK,aACD,OAAOQ,EAAKa,IAAI,6BACpB,IAAK,aACD,OAAOb,EAAKa,IAAI,6BACpB,IAAK,iBACD,OAAOb,EAAKa,IAAI,iCACpB,QACI,OAAO,KACf,EAGJ,OACIP,EAACS,MAAAA,CAAIC,UAAU,4BACY,UAAtBvB,KAAKqB,MAAMtB,QAAsBc,EAACW,EAAAA,CAAMC,KAAM,SAAUlB,EAAKa,IAAI,0BAElEP,EAACa,EAAAA,IACO1B,KAAKG,MACTwB,IAAKA,IACD3B,KAAK4B,IAAMD,CAAAA,EAEfE,SAAU7B,KAAK6B,SACfC,QAAS9B,KAAK+B,YACdC,KAAMC,EACN/B,OAAQ,EAAGgC,cAAaC,cAAclB,IAClCjB,KAAKG,MAAMiC,sBAAsB,CAC7B7B,KAAMA,EACN8B,YAAarC,KAAKG,MAAMkC,YACxBjC,eAAgBA,EAChBY,oBAAqBA,EACrBkB,YAAaA,EACbC,WAAYA,EACZlB,SAAUA,MAKrBjB,KAAKG,MAAMmC,eACRtC,KAAKG,MAAMoC,UAAU,CACjBxC,OAAQC,KAAKqB,MAAMtB,OACnByC,QAASxC,KAAKG,MAAMY,SACpB0B,MAAOlC,EAAKa,IAAI,mBAIpC,+BA5GAsB,EAAA1C,KAAOqB,QAAQ,CACXtB,OAAQ,QACR4C,KAAM,CAAC,EACPtC,QAAS,KACTC,iBAAkB,KAClBF,gBAAgB,EAChBwC,SAAS,IAYbF,EAAA1C,KAAO4B,WAAP,GAEAc,EAAA1C,KAAO6B,YAAWZ,IACdjB,KAAKG,MAAM0B,SAAS,CAChBc,KAAM1B,EAAS0B,KACfC,QAAS3B,EAAS4B,YACtB,IAGJH,EAAA1C,KAAO8C,kBAAiB,KACpB9C,KAAK4B,IAAIkB,gBAAc,IAO3BJ,EAAA1C,KAAO+B,eAAcgB,IACjB/C,KAAKC,SAAS,CAAEG,eAAgB2C,EAAEC,sBAEJ,IAAZD,EAAEE,MAEhBjD,KAAKG,MAAM2B,QAAQiB,GAEnB/C,KAAKG,MAAM+C,OAAOH,EACtB,IAGJL,EAAA1C,KAAOmD,cAAa,EAAG9C,UAASC,uBAC5BN,KAAKC,SAAS,CAAEI,UAASC,oBAAiB,KAtC9CoC,EAVE9C,EAUYwD,eAAe,CACzBf,aAAa,EACbgB,oBAAoB,EACpBxB,SAAU,OACVC,QAAS,OACToB,OAAQ,OACRd,sBAAuBkB"}
1
+ {"version":3,"file":"GiftcardComponent.js","sources":["../../../../../src/components/Giftcard/components/GiftcardComponent.tsx"],"sourcesContent":["import { Component, FunctionComponent, h } from 'preact';\nimport SecuredFieldsProvider from '../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport Alert from '../../internal/Alert';\nimport GiftcardResult from './GiftcardResult';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { GIFT_CARD } from '../../internal/SecuredFields/lib/constants';\nimport { GiftCardFields } from './GiftcardFields';\nimport { GiftcardFieldsProps, Placeholders } from './types';\n\ninterface GiftcardComponentProps {\n onChange: (state) => void;\n onFocus: (event) => void;\n onBlur: (event) => void;\n onSubmit: (event) => void;\n onBalanceCheck: (event) => void;\n\n amount?: PaymentAmount;\n showPayButton: boolean;\n payButton: (config) => any;\n\n pinRequired: boolean;\n expiryDateRequired?: boolean;\n fieldsLayoutComponent: FunctionComponent<GiftcardFieldsProps>;\n placeholders?: Placeholders;\n handleKeyPress?: (o: KeyboardEvent) => void;\n}\n\nclass Giftcard extends Component<GiftcardComponentProps> {\n public state = {\n status: 'ready',\n data: {},\n balance: null,\n transactionLimit: null,\n focusedElement: false,\n isValid: false\n };\n\n public static defaultProps = {\n pinRequired: true,\n expiryDateRequired: false,\n onChange: () => {},\n onFocus: () => {},\n onBlur: () => {},\n fieldsLayoutComponent: GiftCardFields\n };\n\n public sfp;\n\n public onChange = sfpState => {\n this.props.onChange({\n data: sfpState.data,\n isValid: sfpState.isSfpValid\n });\n };\n\n public showValidation = () => {\n this.sfp.showValidation();\n };\n\n setStatus(status) {\n this.setState({ status });\n }\n\n public handleFocus = e => {\n this.setState({ focusedElement: e.currentFocusObject });\n\n const isFocused = e.focus === true;\n if (isFocused) {\n this.props.onFocus(e);\n } else {\n this.props.onBlur(e);\n }\n };\n\n public setBalance = ({ balance, transactionLimit }) => {\n this.setState({ balance, transactionLimit });\n };\n\n render(props, { focusedElement, balance, transactionLimit }) {\n const { i18n } = useCoreContext();\n\n const transactionAmount = transactionLimit?.value < balance?.value ? transactionLimit : balance;\n const hasEnoughBalance = transactionAmount?.value >= this.props.amount?.value;\n\n if (transactionAmount && hasEnoughBalance) {\n return <GiftcardResult balance={balance} transactionLimit={transactionLimit} onSubmit={props.onSubmit} {...props} />;\n }\n\n const getCardErrorMessage = sfpState => {\n if (sfpState.errors.encryptedCardNumber) return i18n.get(sfpState.errors.encryptedCardNumber);\n\n switch (this.state.status) {\n case 'no-balance':\n return i18n.get('error.giftcard.no-balance');\n case 'card-error':\n return i18n.get('error.giftcard.card-error');\n case 'currency-error':\n return i18n.get('error.giftcard.currency-error');\n default:\n return null;\n }\n };\n\n return (\n <div className=\"adyen-checkout__giftcard\">\n {this.state.status === 'error' && <Alert icon={'cross'}>{i18n.get('error.message.unknown')}</Alert>}\n\n <SecuredFieldsProvider\n {...this.props}\n ref={ref => {\n this.sfp = ref;\n }}\n onChange={this.onChange}\n onFocus={this.handleFocus}\n type={GIFT_CARD}\n render={({ setRootNode, setFocusOn }, sfpState) =>\n this.props.fieldsLayoutComponent({\n i18n: i18n,\n pinRequired: this.props.pinRequired,\n focusedElement: focusedElement,\n getCardErrorMessage: getCardErrorMessage,\n setRootNode: setRootNode,\n setFocusOn: setFocusOn,\n sfpState: sfpState\n })\n }\n />\n\n {this.props.showPayButton &&\n this.props.payButton({\n status: this.state.status,\n onClick: this.props.onSubmit,\n label: i18n.get('applyGiftcard')\n })}\n </div>\n );\n }\n}\n\nexport default Giftcard;\n"],"names":["Giftcard","Component","setStatus","status","this","setState","render","props","focusedElement","balance","transactionLimit","i18n","useCoreContext","transactionAmount","value","hasEnoughBalance","amount","h","GiftcardResult","onSubmit","getCardErrorMessage","sfpState","errors","encryptedCardNumber","get","state","div","className","Alert","icon","SecuredFieldsProvider","ref","sfp","onChange","onFocus","handleFocus","type","GIFT_CARD","setRootNode","setFocusOn","fieldsLayoutComponent","pinRequired","showPayButton","payButton","onClick","label","super","args","_define_property","data","isValid","isSfpValid","showValidation","e","currentFocusObject","focus","onBlur","setBalance","defaultProps","expiryDateRequired","GiftCardFields"],"mappings":"8iBA4BA,MAAMA,UAAiBC,EAgCnBC,SAAAA,CAAUC,GACNC,KAAKC,SAAS,CAAEF,UACpB,CAiBAG,MAAAA,CAAOC,GAAOC,eAAEA,EAAcC,QAAEA,EAAOC,iBAAEA,IACrC,MAAMC,KAAEA,GAASC,IAEXC,EAAoBH,GAAkBI,MAAQL,GAASK,MAAQJ,EAAmBD,EAClFM,EAAmBF,GAAmBC,OAASV,KAAKG,MAAMS,QAAQF,MAExE,GAAID,GAAqBE,EACrB,OAAOE,EAACC,EAAAA,CAAeT,QAASA,EAASC,iBAAkBA,EAAkBS,SAAUZ,EAAMY,YAAcZ,IAG/G,MAAMa,EAAsBC,IACxB,GAAIA,EAASC,OAAOC,oBAAqB,OAAOZ,EAAKa,IAAIH,EAASC,OAAOC,qBAEzE,OAAQnB,KAAKqB,MAAMtB,QACf,IAAK,aACD,OAAOQ,EAAKa,IAAI,6BACpB,IAAK,aACD,OAAOb,EAAKa,IAAI,6BACpB,IAAK,iBACD,OAAOb,EAAKa,IAAI,iCACpB,QACI,OAAO,KACf,EAGJ,OACIP,EAACS,MAAAA,CAAIC,UAAU,4BACY,UAAtBvB,KAAKqB,MAAMtB,QAAsBc,EAACW,EAAAA,CAAMC,KAAM,SAAUlB,EAAKa,IAAI,0BAElEP,EAACa,EAAAA,IACO1B,KAAKG,MACTwB,IAAKA,IACD3B,KAAK4B,IAAMD,CAAAA,EAEfE,SAAU7B,KAAK6B,SACfC,QAAS9B,KAAK+B,YACdC,KAAMC,EACN/B,OAAQ,EAAGgC,cAAaC,cAAclB,IAClCjB,KAAKG,MAAMiC,sBAAsB,CAC7B7B,KAAMA,EACN8B,YAAarC,KAAKG,MAAMkC,YACxBjC,eAAgBA,EAChBY,oBAAqBA,EACrBkB,YAAaA,EACbC,WAAYA,EACZlB,SAAUA,MAKrBjB,KAAKG,MAAMmC,eACRtC,KAAKG,MAAMoC,UAAU,CACjBxC,OAAQC,KAAKqB,MAAMtB,OACnByC,QAASxC,KAAKG,MAAMY,SACpB0B,MAAOlC,EAAKa,IAAI,mBAIpC,mBA7GJsB,SAAAC,GACIC,OAAOvB,QAAQ,CACXtB,OAAQ,QACR8C,KAAM,CAAC,EACPxC,QAAS,KACTC,iBAAkB,KAClBF,gBAAgB,EAChB0C,SAAS,IAYbF,OAAOhB,WAAP,GAEAgB,EAAA5C,KAAO6B,YAAWZ,IACdjB,KAAKG,MAAM0B,SAAS,CAChBgB,KAAM5B,EAAS4B,KACfC,QAAS7B,EAAS8B,YACtB,IAGJH,OAAOI,kBAAiB,KACpBhD,KAAK4B,IAAIoB,gBAAc,IAO3BJ,EAAA5C,KAAO+B,eAAckB,IACjBjD,KAAKC,SAAS,CAAEG,eAAgB6C,EAAEC,sBAEJ,IAAZD,EAAEE,MAEhBnD,KAAKG,MAAM2B,QAAQmB,GAEnBjD,KAAKG,MAAMiD,OAAOH,EACtB,IAGJL,OAAOS,cAAa,EAAGhD,UAASC,uBAC5BN,KAAKC,SAAS,CAAEI,UAASC,oBAAiB,KAtC9CsC,EAVEhD,EAUY0D,eAAe,CACzBjB,aAAa,EACbkB,oBAAoB,EACpB1B,SAAU,OACVC,QAAS,OACTsB,OAAQ,OACRhB,sBAAuBoB"}
@@ -1 +1 @@
1
- {"version":3,"file":"GooglePay.js","sources":["../../../../src/components/GooglePay/GooglePay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GooglePayService from './GooglePayService';\nimport GooglePayButton from './components/GooglePayButton';\nimport defaultProps from './defaultProps';\nimport { formatGooglePayContactToAdyenAddressFormat, getGooglePayLocale } from './utils';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { ANALYTICS_INSTANT_PAYMENT_BUTTON, ANALYTICS_SELECTED_STR } from '../../core/Analytics/constants';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\n\nimport type { AddressData, BrowserInfo, PaymentResponseData, RawPaymentResponse } from '../../types/global-types';\nimport type { GooglePayConfiguration } from './types';\nimport type { ICore } from '../../core/types';\n\nclass GooglePay extends UIElement<GooglePayConfiguration> {\n public static type = TxVariants.googlepay;\n public static txVariants = [TxVariants.googlepay, TxVariants.paywithgoogle];\n public static defaultProps = defaultProps;\n\n protected readonly googlePay;\n\n constructor(checkout: ICore, props?: GooglePayConfiguration) {\n super(checkout, props);\n this.handleAuthorization = this.handleAuthorization.bind(this);\n\n const { isExpress, paymentDataCallbacks } = this.props;\n\n if (isExpress === false && paymentDataCallbacks?.onPaymentDataChanged) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'GooglePay - You must set \"isExpress\" flag to \"true\" in order to use \"onPaymentDataChanged\" callback'\n );\n }\n\n this.googlePay = new GooglePayService(this.props.environment, {\n ...(isExpress && paymentDataCallbacks?.onPaymentDataChanged && { onPaymentDataChanged: paymentDataCallbacks.onPaymentDataChanged }),\n onPaymentAuthorized: this.onPaymentAuthorized\n });\n }\n\n protected override formatProps(props): GooglePayConfiguration {\n const buttonSizeMode = props.buttonSizeMode ?? (props.isDropin ? 'fill' : 'static');\n const buttonLocale = getGooglePayLocale(props.buttonLocale ?? props.i18n?.locale);\n\n const callbackIntents: google.payments.api.CallbackIntent[] = [...props.callbackIntents, 'PAYMENT_AUTHORIZATION'];\n\n return {\n ...props,\n configuration: props.configuration,\n buttonSizeMode,\n buttonLocale,\n callbackIntents\n };\n }\n\n /**\n * Formats the component data output\n */\n protected override formatData() {\n const { googlePayCardNetwork, googlePayToken, billingAddress, deliveryAddress } = this.state;\n const { isExpress } = this.props;\n\n return {\n paymentMethod: {\n type: this.type,\n googlePayCardNetwork,\n googlePayToken,\n ...(isExpress && { subtype: 'express' })\n },\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n };\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n super.submitAnalytics({ ...analyticsObj }, this.props);\n }\n\n public override submit = () => {\n // Analytics\n if (this.props.isInstantPayment) {\n this.submitAnalytics({ type: ANALYTICS_SELECTED_STR, target: ANALYTICS_INSTANT_PAYMENT_BUTTON });\n }\n\n new Promise((resolve, reject) => this.props.onClick(resolve, reject))\n .then(() => this.googlePay.initiatePayment(this.props, this.core.options.countryCode))\n .catch((error: google.payments.api.PaymentsError) => {\n if (error.statusCode === 'CANCELED') {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n this.handleError(new AdyenCheckoutError('CANCEL', error.toString(), { cause: error }));\n } else {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n this.handleError(new AdyenCheckoutError('ERROR', error.toString(), { cause: error }));\n }\n });\n };\n\n /**\n * Method called when the payment is authorized in the payment sheet\n *\n * @see https://developers.google.com/pay/api/web/reference/client#onPaymentAuthorized\n **/\n private onPaymentAuthorized = async (paymentData: google.payments.api.PaymentData): Promise<google.payments.api.PaymentAuthorizationResult> => {\n const billingAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.paymentMethodData.info.billingAddress);\n const deliveryAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.shippingAddress, true);\n\n this.setState({\n authorizedEvent: paymentData,\n googlePayToken: paymentData.paymentMethodData.tokenizationData.token,\n googlePayCardNetwork: paymentData.paymentMethodData.info.cardNetwork,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n return new Promise<google.payments.api.PaymentAuthorizationResult>(resolve => {\n this.handleAuthorization()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then((paymentResponse: PaymentResponseData) => {\n resolve({ transactionState: 'SUCCESS' });\n return paymentResponse;\n })\n .then(paymentResponse => {\n this.handleResponse(paymentResponse);\n })\n .catch((paymentResponse?: RawPaymentResponse) => {\n this.setElementStatus('ready');\n\n const googlePayError = paymentResponse?.error?.googlePayError;\n const fallbackMessage = this.props.i18n.get('error.subtitle.payment');\n\n const error: google.payments.api.PaymentDataError =\n typeof googlePayError === 'string' || undefined\n ? {\n intent: 'PAYMENT_AUTHORIZATION',\n reason: 'OTHER_ERROR',\n message: (googlePayError as string) || fallbackMessage\n }\n : {\n intent: googlePayError?.intent || 'PAYMENT_AUTHORIZATION',\n reason: googlePayError?.reason || 'OTHER_ERROR',\n message: googlePayError?.message || fallbackMessage\n };\n\n resolve({\n transactionState: 'ERROR',\n error\n });\n\n const responseWithError = {\n ...paymentResponse,\n error: {\n googlePayError: error\n }\n };\n\n this.handleFailedResult(responseWithError);\n });\n });\n };\n\n /**\n * Call the 'onAuthorized' callback if available.\n * Must be resolved/reject for the payment flow to continue\n */\n private async handleAuthorization(): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (!this.props.onAuthorized) {\n resolve();\n }\n\n const { authorizedEvent, billingAddress, deliveryAddress } = this.state;\n\n this.props.onAuthorized(\n {\n authorizedEvent,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n );\n }).catch((error?: google.payments.api.PaymentDataError | string) => {\n // Format error in a way that the 'catch' of the 'onPaymentAuthorize' block accepts it\n const data = { error: { googlePayError: error } };\n return Promise.reject(data);\n });\n }\n\n /**\n * Validation\n */\n get isValid(): boolean {\n return !!this.state.googlePayToken;\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public override async isAvailable(): Promise<void> {\n return this.isReadyToPay()\n .then(response => {\n if (!response.result) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay is not available');\n }\n\n if (response.paymentMethodPresent === false) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay - No paymentMethodPresent');\n }\n\n return Promise.resolve();\n })\n .catch(error => {\n return Promise.reject(error);\n });\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public isReadyToPay = (): Promise<google.payments.api.IsReadyToPayResponse> => {\n return this.googlePay.isReadyToPay(this.props);\n };\n\n /**\n * Use this method to prefetch a PaymentDataRequest configuration to improve loadPaymentData execution time on later user interaction. No value is returned.\n */\n public prefetch = (): void => {\n return this.googlePay.prefetchPaymentData(this.props, this.core.options.countryCode);\n };\n\n get browserInfo(): BrowserInfo {\n return collectBrowserInfo();\n }\n\n get icon(): string {\n return this.props.icon ?? this.resources.getImage()('googlepay');\n }\n\n render() {\n if (this.props.showPayButton) {\n return (\n <GooglePayButton\n buttonColor={this.props.buttonColor}\n buttonType={this.props.buttonType}\n buttonSizeMode={this.props.buttonSizeMode}\n buttonLocale={this.props.buttonLocale}\n buttonRootNode={this.props.buttonRootNode}\n buttonRadius={this.props.buttonRadius}\n paymentsClient={this.googlePay.paymentsClient}\n onClick={this.submit}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default GooglePay;\n"],"names":["GooglePay","UIElement","formatProps","props","buttonSizeMode","isDropin","buttonLocale","getGooglePayLocale","i18n","locale","callbackIntents","configuration","formatData","googlePayCardNetwork","googlePayToken","billingAddress","deliveryAddress","this","state","isExpress","paymentMethod","type","subtype","browserInfo","origin","window","location","submitAnalytics","analyticsObj","super","handleAuthorization","Promise","resolve","reject","onAuthorized","authorizedEvent","catch","error","data","googlePayError","isValid","isAvailable","isReadyToPay","then","response","result","AdyenCheckoutError","paymentMethodPresent","collectBrowserInfo","icon","resources","getImage","render","showPayButton","h","GooglePayButton","buttonColor","buttonType","buttonRootNode","buttonRadius","paymentsClient","googlePay","onClick","submit","constructor","checkout","_define_property","isInstantPayment","ANALYTICS_SELECTED_STR","target","ANALYTICS_INSTANT_PAYMENT_BUTTON","initiatePayment","core","options","countryCode","statusCode","handleError","toString","cause","onPaymentAuthorized","async","paymentData","formatGooglePayContactToAdyenAddressFormat","paymentMethodData","info","shippingAddress","setState","tokenizationData","token","cardNetwork","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","paymentResponse","transactionState","handleResponse","setElementStatus","fallbackMessage","get","intent","reason","message","responseWithError","handleFailedResult","prefetch","prefetchPaymentData","bind","paymentDataCallbacks","onPaymentDataChanged","GooglePayService","environment","TxVariants","googlepay","txVariants","paywithgoogle","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"GooglePay.js","sources":["../../../../src/components/GooglePay/GooglePay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GooglePayService from './GooglePayService';\nimport GooglePayButton from './components/GooglePayButton';\nimport defaultProps from './defaultProps';\nimport { formatGooglePayContactToAdyenAddressFormat, getGooglePayLocale } from './utils';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { ANALYTICS_INSTANT_PAYMENT_BUTTON, ANALYTICS_SELECTED_STR } from '../../core/Analytics/constants';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\n\nimport type { AddressData, BrowserInfo, PaymentResponseData, RawPaymentResponse } from '../../types/global-types';\nimport type { GooglePayConfiguration } from './types';\nimport type { ICore } from '../../core/types';\n\nclass GooglePay extends UIElement<GooglePayConfiguration> {\n public static type = TxVariants.googlepay;\n public static txVariants = [TxVariants.googlepay, TxVariants.paywithgoogle];\n public static defaultProps = defaultProps;\n\n protected readonly googlePay;\n\n constructor(checkout: ICore, props?: GooglePayConfiguration) {\n super(checkout, props);\n this.handleAuthorization = this.handleAuthorization.bind(this);\n\n const { isExpress, paymentDataCallbacks } = this.props;\n\n if (isExpress === false && paymentDataCallbacks?.onPaymentDataChanged) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'GooglePay - You must set \"isExpress\" flag to \"true\" in order to use \"onPaymentDataChanged\" callback'\n );\n }\n\n this.googlePay = new GooglePayService(this.props.environment, {\n ...(isExpress && paymentDataCallbacks?.onPaymentDataChanged && { onPaymentDataChanged: paymentDataCallbacks.onPaymentDataChanged }),\n onPaymentAuthorized: this.onPaymentAuthorized\n });\n }\n\n protected override formatProps(props): GooglePayConfiguration {\n const buttonSizeMode = props.buttonSizeMode ?? (props.isDropin ? 'fill' : 'static');\n const buttonLocale = getGooglePayLocale(props.buttonLocale ?? props.i18n?.locale);\n\n const callbackIntents: google.payments.api.CallbackIntent[] = [...props.callbackIntents, 'PAYMENT_AUTHORIZATION'];\n\n return {\n ...props,\n configuration: props.configuration,\n buttonSizeMode,\n buttonLocale,\n callbackIntents\n };\n }\n\n /**\n * Formats the component data output\n */\n protected override formatData() {\n const { googlePayCardNetwork, googlePayToken, billingAddress, deliveryAddress } = this.state;\n const { isExpress } = this.props;\n\n return {\n paymentMethod: {\n type: this.type,\n googlePayCardNetwork,\n googlePayToken,\n ...(isExpress && { subtype: 'express' })\n },\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n };\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n super.submitAnalytics({ ...analyticsObj }, this.props);\n }\n\n public override submit = () => {\n // Analytics\n if (this.props.isInstantPayment) {\n this.submitAnalytics({ type: ANALYTICS_SELECTED_STR, target: ANALYTICS_INSTANT_PAYMENT_BUTTON });\n }\n\n new Promise((resolve, reject) => this.props.onClick(resolve, reject))\n .then(() => this.googlePay.initiatePayment(this.props, this.core.options.countryCode))\n .catch((error: google.payments.api.PaymentsError) => {\n if (error.statusCode === 'CANCELED') {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n this.handleError(new AdyenCheckoutError('CANCEL', error.toString(), { cause: error }));\n } else {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n this.handleError(new AdyenCheckoutError('ERROR', error.toString(), { cause: error }));\n }\n });\n };\n\n /**\n * Method called when the payment is authorized in the payment sheet\n *\n * @see https://developers.google.com/pay/api/web/reference/client#onPaymentAuthorized\n **/\n private onPaymentAuthorized = async (paymentData: google.payments.api.PaymentData): Promise<google.payments.api.PaymentAuthorizationResult> => {\n const billingAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.paymentMethodData.info.billingAddress);\n const deliveryAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.shippingAddress, true);\n\n this.setState({\n authorizedEvent: paymentData,\n googlePayToken: paymentData.paymentMethodData.tokenizationData.token,\n googlePayCardNetwork: paymentData.paymentMethodData.info.cardNetwork,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n return new Promise<google.payments.api.PaymentAuthorizationResult>(resolve => {\n this.handleAuthorization()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then((paymentResponse: PaymentResponseData) => {\n resolve({ transactionState: 'SUCCESS' });\n return paymentResponse;\n })\n .then(paymentResponse => {\n this.handleResponse(paymentResponse);\n })\n .catch((paymentResponse?: RawPaymentResponse) => {\n this.setElementStatus('ready');\n\n const googlePayError = paymentResponse?.error?.googlePayError;\n const fallbackMessage = this.props.i18n.get('error.subtitle.payment');\n\n const error: google.payments.api.PaymentDataError =\n typeof googlePayError === 'string' || undefined\n ? {\n intent: 'PAYMENT_AUTHORIZATION',\n reason: 'OTHER_ERROR',\n message: (googlePayError as string) || fallbackMessage\n }\n : {\n intent: googlePayError?.intent || 'PAYMENT_AUTHORIZATION',\n reason: googlePayError?.reason || 'OTHER_ERROR',\n message: googlePayError?.message || fallbackMessage\n };\n\n resolve({\n transactionState: 'ERROR',\n error\n });\n\n const responseWithError = {\n ...paymentResponse,\n error: {\n googlePayError: error\n }\n };\n\n this.handleFailedResult(responseWithError);\n });\n });\n };\n\n /**\n * Call the 'onAuthorized' callback if available.\n * Must be resolved/reject for the payment flow to continue\n */\n private async handleAuthorization(): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (!this.props.onAuthorized) {\n resolve();\n }\n\n const { authorizedEvent, billingAddress, deliveryAddress } = this.state;\n\n this.props.onAuthorized(\n {\n authorizedEvent,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n );\n }).catch((error?: google.payments.api.PaymentDataError | string) => {\n // Format error in a way that the 'catch' of the 'onPaymentAuthorize' block accepts it\n const data = { error: { googlePayError: error } };\n return Promise.reject(data);\n });\n }\n\n /**\n * Validation\n */\n get isValid(): boolean {\n return !!this.state.googlePayToken;\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public override async isAvailable(): Promise<void> {\n return this.isReadyToPay()\n .then(response => {\n if (!response.result) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay is not available');\n }\n\n if (response.paymentMethodPresent === false) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay - No paymentMethodPresent');\n }\n\n return Promise.resolve();\n })\n .catch(error => {\n return Promise.reject(error);\n });\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public isReadyToPay = (): Promise<google.payments.api.IsReadyToPayResponse> => {\n return this.googlePay.isReadyToPay(this.props);\n };\n\n /**\n * Use this method to prefetch a PaymentDataRequest configuration to improve loadPaymentData execution time on later user interaction. No value is returned.\n */\n public prefetch = (): void => {\n return this.googlePay.prefetchPaymentData(this.props, this.core.options.countryCode);\n };\n\n get browserInfo(): BrowserInfo {\n return collectBrowserInfo();\n }\n\n get icon(): string {\n return this.props.icon ?? this.resources.getImage()('googlepay');\n }\n\n render() {\n if (this.props.showPayButton) {\n return (\n <GooglePayButton\n buttonColor={this.props.buttonColor}\n buttonType={this.props.buttonType}\n buttonSizeMode={this.props.buttonSizeMode}\n buttonLocale={this.props.buttonLocale}\n buttonRootNode={this.props.buttonRootNode}\n buttonRadius={this.props.buttonRadius}\n paymentsClient={this.googlePay.paymentsClient}\n onClick={this.submit}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default GooglePay;\n"],"names":["GooglePay","UIElement","formatProps","props","buttonSizeMode","isDropin","buttonLocale","getGooglePayLocale","i18n","locale","callbackIntents","configuration","formatData","googlePayCardNetwork","googlePayToken","billingAddress","deliveryAddress","this","state","isExpress","paymentMethod","type","subtype","browserInfo","origin","window","location","submitAnalytics","analyticsObj","super","handleAuthorization","Promise","resolve","reject","onAuthorized","authorizedEvent","catch","error","data","googlePayError","isValid","isAvailable","isReadyToPay","then","response","result","AdyenCheckoutError","paymentMethodPresent","collectBrowserInfo","icon","resources","getImage","render","showPayButton","h","GooglePayButton","buttonColor","buttonType","buttonRootNode","buttonRadius","paymentsClient","googlePay","onClick","submit","constructor","checkout","_define_property","isInstantPayment","ANALYTICS_SELECTED_STR","target","ANALYTICS_INSTANT_PAYMENT_BUTTON","initiatePayment","core","options","countryCode","statusCode","handleError","toString","cause","onPaymentAuthorized","async","paymentData","formatGooglePayContactToAdyenAddressFormat","paymentMethodData","info","shippingAddress","setState","tokenizationData","token","cardNetwork","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","paymentResponse","transactionState","handleResponse","setElementStatus","fallbackMessage","get","intent","reason","message","responseWithError","handleFailedResult","prefetch","prefetchPaymentData","bind","paymentDataCallbacks","onPaymentDataChanged","GooglePayService","environment","TxVariants","googlepay","txVariants","paywithgoogle","defaultProps"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../../external/preact/dist/preact.js";import{useRef as o,useEffect as e}from"../../../external/preact/hooks/dist/hooks.js";const n=n=>{const a=o(void 0);return e((()=>{const{onClick:t,buttonRadius:o,buttonColor:e,buttonType:u,buttonLocale:r,buttonSizeMode:s,buttonRootNode:c,paymentsClient:i}=n;i.then((n=>n.createButton({onClick:t,buttonType:u,buttonColor:e,buttonLocale:r,buttonSizeMode:s,buttonRootNode:c,...o&&{buttonRadius:o}}))).then((t=>{a.current&&a.current.appendChild(t)}))}),[n.buttonColor,n.buttonType,n.buttonLocale,n.buttonSizeMode,n.buttonRootNode,n.paymentsClient]),t("div",{"data-testid":"googlepay-button-container",className:"adyen-checkout__paywithgoogle",ref:a})};export{n as default};
1
+ import{createElement as t}from"../../../external/preact/dist/preact.js";import{useRef as o,useEffect as e}from"../../../external/preact/hooks/dist/hooks.js";const n=n=>{const a=o(void 0);return e((()=>{const{onClick:t,buttonRadius:o,buttonColor:e,buttonType:u,buttonLocale:r,buttonSizeMode:s,buttonRootNode:c,paymentsClient:i}=n;i.then((n=>n.createButton({onClick:t,buttonType:u,buttonColor:e,buttonLocale:r,buttonSizeMode:s,buttonRootNode:c,...void 0!==o&&{buttonRadius:o}}))).then((t=>{a.current&&a.current.appendChild(t)}))}),[n.buttonColor,n.buttonType,n.buttonLocale,n.buttonSizeMode,n.buttonRootNode,n.paymentsClient]),t("div",{"data-testid":"googlepay-button-container",className:"adyen-checkout__paywithgoogle",ref:a})};export{n as default};
2
2
  //# sourceMappingURL=GooglePayButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GooglePayButton.js","sources":["../../../../../src/components/GooglePay/components/GooglePayButton.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useRef } from 'preact/hooks';\nimport './GooglePayButton.scss';\n\ninterface GooglePayButtonProps {\n buttonColor: google.payments.api.ButtonColor;\n buttonType: google.payments.api.ButtonType;\n buttonSizeMode: google.payments.api.ButtonSizeMode;\n buttonLocale: string;\n buttonRadius?: number;\n buttonRootNode?: HTMLDocument | ShadowRoot;\n paymentsClient: Promise<google.payments.api.PaymentsClient>;\n onClick: (e: Event) => void;\n}\n\nconst GooglePayButton = (props: GooglePayButtonProps) => {\n const googlePayWrapperRef = useRef<HTMLDivElement | undefined>(undefined);\n\n useEffect(() => {\n const { onClick, buttonRadius, buttonColor, buttonType, buttonLocale, buttonSizeMode, buttonRootNode, paymentsClient } = props;\n\n void paymentsClient\n .then(client =>\n client.createButton({\n onClick,\n buttonType,\n buttonColor,\n buttonLocale,\n buttonSizeMode,\n buttonRootNode,\n ...(buttonRadius && { buttonRadius })\n })\n )\n .then(googlePayButton => {\n if (googlePayWrapperRef.current) {\n googlePayWrapperRef.current.appendChild(googlePayButton);\n }\n });\n }, [props.buttonColor, props.buttonType, props.buttonLocale, props.buttonSizeMode, props.buttonRootNode, props.paymentsClient]);\n\n return <div data-testid=\"googlepay-button-container\" className={'adyen-checkout__paywithgoogle'} ref={googlePayWrapperRef} />;\n};\n\nexport default GooglePayButton;\n"],"names":["GooglePayButton","props","googlePayWrapperRef","useRef","undefined","useEffect","onClick","buttonRadius","buttonColor","buttonType","buttonLocale","buttonSizeMode","buttonRootNode","paymentsClient","then","client","createButton","googlePayButton","current","appendChild","h","div","data-testid","className","ref"],"mappings":"6JAeA,MAAMA,EAAmBC,IACrB,MAAMC,EAAsBC,OAAmCC,GAwB/D,OAtBAC,GAAU,KACN,MAAMC,QAAEA,EAAOC,aAAEA,EAAYC,YAAEA,EAAWC,WAAEA,EAAUC,aAAEA,EAAYC,eAAEA,EAAcC,eAAEA,EAAcC,eAAEA,GAAmBZ,EAEpHY,EACAC,MAAKC,GACFA,EAAOC,aAAa,CAChBV,UACAG,aACAD,cACAE,eACAC,iBACAC,oBACIL,GAAgB,CAAEA,oBAG7BO,MAAKG,IACEf,EAAoBgB,SACpBhB,EAAoBgB,QAAQC,YAAYF,EAC5C,GACJ,GACL,CAAChB,EAAMO,YAAaP,EAAMQ,WAAYR,EAAMS,aAAcT,EAAMU,eAAgBV,EAAMW,eAAgBX,EAAMY,iBAExGO,EAACC,MAAAA,CAAIC,cAAY,6BAA6BC,UAAW,gCAAiCC,IAAKtB"}
1
+ {"version":3,"file":"GooglePayButton.js","sources":["../../../../../src/components/GooglePay/components/GooglePayButton.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useRef } from 'preact/hooks';\nimport './GooglePayButton.scss';\n\ninterface GooglePayButtonProps {\n buttonColor: google.payments.api.ButtonColor;\n buttonType: google.payments.api.ButtonType;\n buttonSizeMode: google.payments.api.ButtonSizeMode;\n buttonLocale: string;\n buttonRadius?: number;\n buttonRootNode?: HTMLDocument | ShadowRoot;\n paymentsClient: Promise<google.payments.api.PaymentsClient>;\n onClick: (e: Event) => void;\n}\n\nconst GooglePayButton = (props: GooglePayButtonProps) => {\n const googlePayWrapperRef = useRef<HTMLDivElement | undefined>(undefined);\n\n useEffect(() => {\n const { onClick, buttonRadius, buttonColor, buttonType, buttonLocale, buttonSizeMode, buttonRootNode, paymentsClient } = props;\n\n void paymentsClient\n .then(client =>\n client.createButton({\n onClick,\n buttonType,\n buttonColor,\n buttonLocale,\n buttonSizeMode,\n buttonRootNode,\n ...(buttonRadius !== undefined && { buttonRadius })\n })\n )\n .then(googlePayButton => {\n if (googlePayWrapperRef.current) {\n googlePayWrapperRef.current.appendChild(googlePayButton);\n }\n });\n }, [props.buttonColor, props.buttonType, props.buttonLocale, props.buttonSizeMode, props.buttonRootNode, props.paymentsClient]);\n\n return <div data-testid=\"googlepay-button-container\" className={'adyen-checkout__paywithgoogle'} ref={googlePayWrapperRef} />;\n};\n\nexport default GooglePayButton;\n"],"names":["GooglePayButton","props","googlePayWrapperRef","useRef","undefined","useEffect","onClick","buttonRadius","buttonColor","buttonType","buttonLocale","buttonSizeMode","buttonRootNode","paymentsClient","then","client","createButton","googlePayButton","current","appendChild","h","div","data-testid","className","ref"],"mappings":"6JAeA,MAAMA,EAAmBC,IACrB,MAAMC,EAAsBC,OAAmCC,GAwB/D,OAtBAC,GAAU,KACN,MAAMC,QAAEA,EAAOC,aAAEA,EAAYC,YAAEA,EAAWC,WAAEA,EAAUC,aAAEA,EAAYC,eAAEA,EAAcC,eAAEA,EAAcC,eAAEA,GAAmBZ,EAEpHY,EACAC,MAAKC,GACFA,EAAOC,aAAa,CAChBV,UACAG,aACAD,cACAE,eACAC,iBACAC,yBACqBR,IAAjBG,GAA8B,CAAEA,oBAG3CO,MAAKG,IACEf,EAAoBgB,SACpBhB,EAAoBgB,QAAQC,YAAYF,EAC5C,GACJ,GACL,CAAChB,EAAMO,YAAaP,EAAMQ,WAAYR,EAAMS,aAAcT,EAAMU,eAAgBV,EAAMW,eAAgBX,EAAMY,iBAExGO,EAACC,MAAAA,CAAIC,cAAY,6BAA6BC,UAAW,gCAAiCC,IAAKtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"requests.js","sources":["../../../../src/components/GooglePay/requests.ts"],"sourcesContent":["import { getDecimalAmount } from '../../utils/amount-util';\nimport config from './config';\nimport { GooglePaymentDataRequest, GooglePayConfiguration } from './types';\n\n/**\n * Configure your site's support for payment methods supported by the Google Pay API.\n *\n * @see {@link https://developers.google.com/pay/api/web/reference/object#IsReadyToPayRequest|isReadyToPayRequest}\n * @returns Google Pay API version, payment methods supported by the site\n */\nexport function isReadyToPayRequest({\n allowedAuthMethods,\n allowedCardNetworks,\n existingPaymentMethodRequired = false\n}: Pick<\n GooglePayConfiguration,\n 'allowedAuthMethods' | 'allowedCardNetworks' | 'existingPaymentMethodRequired'\n>): google.payments.api.IsReadyToPayRequest {\n return {\n apiVersion: config.API_VERSION,\n apiVersionMinor: config.API_VERSION_MINOR,\n allowedPaymentMethods: [\n {\n type: 'CARD',\n parameters: {\n allowedAuthMethods,\n allowedCardNetworks\n },\n tokenizationSpecification: {\n type: 'PAYMENT_GATEWAY',\n parameters: {}\n }\n }\n ],\n existingPaymentMethodRequired\n };\n}\n\n/**\n * Provide Google Pay API with a payment amount, currency, and amount status\n *\n * @see {@link https://developers.google.com/pay/api/web/reference/object#TransactionInfo|TransactionInfo}\n * @returns transaction info, suitable for use as transactionInfo property of PaymentDataRequest\n */\nexport function getTransactionInfo({\n amount,\n countryCode = 'US',\n totalPriceStatus = 'FINAL',\n ...props\n}: GooglePayConfiguration): google.payments.api.TransactionInfo {\n const formattedPrice = String(getDecimalAmount(amount.value, amount.currency));\n\n return {\n countryCode,\n currencyCode: amount.currency,\n totalPrice: formattedPrice,\n totalPriceStatus: totalPriceStatus,\n ...props.transactionInfo\n };\n}\n\nexport function initiatePaymentRequest({ configuration, ...props }: GooglePayConfiguration, countryCode: string): GooglePaymentDataRequest {\n return {\n apiVersion: config.API_VERSION,\n apiVersionMinor: config.API_VERSION_MINOR,\n transactionInfo: getTransactionInfo({ countryCode, ...props }),\n merchantInfo: {\n merchantId: configuration.merchantId,\n merchantName: configuration.merchantName,\n ...(configuration.merchantOrigin ? { merchantOrigin: configuration.merchantOrigin } : {}),\n ...(configuration.authJwt ? { authJwt: configuration.authJwt } : {})\n },\n allowedPaymentMethods: [\n {\n type: 'CARD',\n tokenizationSpecification: {\n type: 'PAYMENT_GATEWAY',\n parameters: {\n gateway: config.GATEWAY,\n gatewayMerchantId: configuration.gatewayMerchantId\n }\n },\n parameters: {\n allowedAuthMethods: props.allowedAuthMethods,\n allowedCardNetworks: props.allowedCardNetworks,\n assuranceDetailsRequired: props.assuranceDetailsRequired,\n allowPrepaidCards: props.allowPrepaidCards,\n allowCreditCards: props.allowCreditCards,\n billingAddressRequired: props.billingAddressRequired,\n billingAddressParameters: props.billingAddressParameters\n }\n }\n ],\n emailRequired: props.emailRequired,\n shippingAddressRequired: props.shippingAddressRequired,\n shippingAddressParameters: props.shippingAddressParameters,\n shippingOptionRequired: props.shippingOptionRequired,\n shippingOptionParameters: props.shippingOptionParameters,\n callbackIntents: props.callbackIntents\n };\n}\n"],"names":["isReadyToPayRequest","allowedAuthMethods","allowedCardNetworks","existingPaymentMethodRequired","apiVersion","config","API_VERSION","apiVersionMinor","API_VERSION_MINOR","allowedPaymentMethods","type","parameters","tokenizationSpecification","getTransactionInfo","amount","countryCode","totalPriceStatus","props","formattedPrice","String","getDecimalAmount","value","currency","currencyCode","totalPrice","transactionInfo","initiatePaymentRequest","configuration","merchantInfo","merchantId","merchantName","merchantOrigin","authJwt","gateway","GATEWAY","gatewayMerchantId","assuranceDetailsRequired","allowPrepaidCards","allowCreditCards","billingAddressRequired","billingAddressParameters","emailRequired","shippingAddressRequired","shippingAddressParameters","shippingOptionRequired","shippingOptionParameters","callbackIntents"],"mappings":"yFAUO,SAASA,GAAoBC,mBAChCA,EAAkBC,oBAClBA,EAAmBC,8BACnBA,GAAgC,IAKhC,MAAO,CACHC,WAAYC,EAAOC,YACnBC,gBAAiBF,EAAOG,kBACxBC,sBAAuB,CACnB,CACIC,KAAM,OACNC,WAAY,CACRV,qBACAC,uBAEJU,0BAA2B,CACvBF,KAAM,kBACNC,WAAY,CAAC,KAIzBR,gCAER,CAQO,SAASU,GAAmBC,OAC/BA,EAAMC,YACNA,EAAc,KAAIC,iBAClBA,EAAmB,WAChBC,IAEH,MAAMC,EAAiBC,OAAOC,EAAiBN,EAAOO,MAAOP,EAAOQ,WAEpE,MAAO,CACHP,cACAQ,aAAcT,EAAOQ,SACrBE,WAAYN,EACZF,iBAAkBA,KACfC,EAAMQ,gBAEjB,CAEO,SAASC,GAAuBC,cAAEA,KAAkBV,GAAiCF,GACxF,MAAO,CACHX,WAAYC,EAAOC,YACnBC,gBAAiBF,EAAOG,kBACxBiB,gBAAiBZ,EAAmB,CAAEE,iBAAgBE,IACtDW,aAAc,CACVC,WAAYF,EAAcE,WAC1BC,aAAcH,EAAcG,gBACxBH,EAAcI,eAAiB,CAAEA,eAAgBJ,EAAcI,gBAAmB,CAAE,KACpFJ,EAAcK,QAAU,CAAEA,QAASL,EAAcK,SAAY,CAAE,GAEvEvB,sBAAuB,CACnB,CACIC,KAAM,OACNE,0BAA2B,CACvBF,KAAM,kBACNC,WAAY,CACRsB,QAAS5B,EAAO6B,QAChBC,kBAAmBR,EAAcQ,oBAGzCxB,WAAY,CACRV,mBAAoBgB,EAAMhB,mBAC1BC,oBAAqBe,EAAMf,oBAC3BkC,yBAA0BnB,EAAMmB,yBAChCC,kBAAmBpB,EAAMoB,kBACzBC,iBAAkBrB,EAAMqB,iBACxBC,uBAAwBtB,EAAMsB,uBAC9BC,yBAA0BvB,EAAMuB,4BAI5CC,cAAexB,EAAMwB,cACrBC,wBAAyBzB,EAAMyB,wBAC/BC,0BAA2B1B,EAAM0B,0BACjCC,uBAAwB3B,EAAM2B,uBAC9BC,yBAA0B5B,EAAM4B,yBAChCC,gBAAiB7B,EAAM6B,gBAE/B"}
1
+ {"version":3,"file":"requests.js","sources":["../../../../src/components/GooglePay/requests.ts"],"sourcesContent":["import { getDecimalAmount } from '../../utils/amount-util';\nimport config from './config';\nimport { GooglePaymentDataRequest, GooglePayConfiguration } from './types';\n\n/**\n * Configure your site's support for payment methods supported by the Google Pay API.\n *\n * @see {@link https://developers.google.com/pay/api/web/reference/object#IsReadyToPayRequest|isReadyToPayRequest}\n * @returns Google Pay API version, payment methods supported by the site\n */\nexport function isReadyToPayRequest({\n allowedAuthMethods,\n allowedCardNetworks,\n existingPaymentMethodRequired = false\n}: Pick<\n GooglePayConfiguration,\n 'allowedAuthMethods' | 'allowedCardNetworks' | 'existingPaymentMethodRequired'\n>): google.payments.api.IsReadyToPayRequest {\n return {\n apiVersion: config.API_VERSION,\n apiVersionMinor: config.API_VERSION_MINOR,\n allowedPaymentMethods: [\n {\n type: 'CARD',\n parameters: {\n allowedAuthMethods,\n allowedCardNetworks\n },\n tokenizationSpecification: {\n type: 'PAYMENT_GATEWAY',\n parameters: {}\n }\n }\n ],\n existingPaymentMethodRequired\n };\n}\n\n/**\n * Provide Google Pay API with a payment amount, currency, and amount status\n *\n * @see {@link https://developers.google.com/pay/api/web/reference/object#TransactionInfo|TransactionInfo}\n * @returns transaction info, suitable for use as transactionInfo property of PaymentDataRequest\n */\nexport function getTransactionInfo({\n amount,\n countryCode = 'US',\n totalPriceStatus = 'FINAL',\n ...props\n}: GooglePayConfiguration): google.payments.api.TransactionInfo {\n const formattedPrice = String(getDecimalAmount(amount.value, amount.currency));\n\n return {\n countryCode,\n currencyCode: amount.currency,\n totalPrice: formattedPrice,\n totalPriceStatus: totalPriceStatus,\n ...props.transactionInfo\n };\n}\n\nexport function initiatePaymentRequest({ configuration, ...props }: GooglePayConfiguration, countryCode: string): GooglePaymentDataRequest {\n return {\n apiVersion: config.API_VERSION,\n apiVersionMinor: config.API_VERSION_MINOR,\n transactionInfo: getTransactionInfo({ countryCode, ...props }),\n merchantInfo: {\n merchantId: configuration.merchantId,\n merchantName: configuration.merchantName,\n ...(configuration.merchantOrigin ? { merchantOrigin: configuration.merchantOrigin } : {}),\n ...(configuration.authJwt ? { authJwt: configuration.authJwt } : {})\n },\n allowedPaymentMethods: [\n {\n type: 'CARD',\n tokenizationSpecification: {\n type: 'PAYMENT_GATEWAY',\n parameters: {\n gateway: config.GATEWAY,\n gatewayMerchantId: configuration.gatewayMerchantId\n }\n },\n parameters: {\n allowedAuthMethods: props.allowedAuthMethods,\n allowedCardNetworks: props.allowedCardNetworks,\n assuranceDetailsRequired: props.assuranceDetailsRequired,\n allowPrepaidCards: props.allowPrepaidCards,\n allowCreditCards: props.allowCreditCards,\n billingAddressRequired: props.billingAddressRequired,\n billingAddressParameters: props.billingAddressParameters\n }\n }\n ],\n emailRequired: props.emailRequired,\n shippingAddressRequired: props.shippingAddressRequired,\n shippingAddressParameters: props.shippingAddressParameters,\n shippingOptionRequired: props.shippingOptionRequired,\n shippingOptionParameters: props.shippingOptionParameters,\n callbackIntents: props.callbackIntents\n };\n}\n"],"names":["isReadyToPayRequest","allowedAuthMethods","allowedCardNetworks","existingPaymentMethodRequired","apiVersion","config","API_VERSION","apiVersionMinor","API_VERSION_MINOR","allowedPaymentMethods","type","parameters","tokenizationSpecification","getTransactionInfo","amount","countryCode","totalPriceStatus","props","formattedPrice","String","getDecimalAmount","value","currency","currencyCode","totalPrice","transactionInfo","initiatePaymentRequest","configuration","merchantInfo","merchantId","merchantName","merchantOrigin","authJwt","gateway","GATEWAY","gatewayMerchantId","assuranceDetailsRequired","allowPrepaidCards","allowCreditCards","billingAddressRequired","billingAddressParameters","emailRequired","shippingAddressRequired","shippingAddressParameters","shippingOptionRequired","shippingOptionParameters","callbackIntents"],"mappings":"yFAUO,SAASA,GAAoBC,mBAChCA,EAAkBC,oBAClBA,EAAmBC,8BACnBA,GAAgC,IAKhC,MAAO,CACHC,WAAYC,EAAOC,YACnBC,gBAAiBF,EAAOG,kBACxBC,sBAAuB,CACnB,CACIC,KAAM,OACNC,WAAY,CACRV,qBACAC,uBAEJU,0BAA2B,CACvBF,KAAM,kBACNC,WAAY,CAAA,KAIxBR,gCAER,CAQO,SAASU,GAAmBC,OAC/BA,EAAMC,YACNA,EAAc,KAAIC,iBAClBA,EAAmB,WAChBC,IAEH,MAAMC,EAAiBC,OAAOC,EAAiBN,EAAOO,MAAOP,EAAOQ,WAEpE,MAAO,CACHP,cACAQ,aAAcT,EAAOQ,SACrBE,WAAYN,EACZF,iBAAkBA,KACfC,EAAMQ,gBAEjB,CAEO,SAASC,GAAuBC,cAAEA,KAAkBV,GAAiCF,GACxF,MAAO,CACHX,WAAYC,EAAOC,YACnBC,gBAAiBF,EAAOG,kBACxBiB,gBAAiBZ,EAAmB,CAAEE,iBAAgBE,IACtDW,aAAc,CACVC,WAAYF,EAAcE,WAC1BC,aAAcH,EAAcG,gBACxBH,EAAcI,eAAiB,CAAEA,eAAgBJ,EAAcI,gBAAmB,CAAE,KACpFJ,EAAcK,QAAU,CAAEA,QAASL,EAAcK,SAAY,CAAA,GAErEvB,sBAAuB,CACnB,CACIC,KAAM,OACNE,0BAA2B,CACvBF,KAAM,kBACNC,WAAY,CACRsB,QAAS5B,EAAO6B,QAChBC,kBAAmBR,EAAcQ,oBAGzCxB,WAAY,CACRV,mBAAoBgB,EAAMhB,mBAC1BC,oBAAqBe,EAAMf,oBAC3BkC,yBAA0BnB,EAAMmB,yBAChCC,kBAAmBpB,EAAMoB,kBACzBC,iBAAkBrB,EAAMqB,iBACxBC,uBAAwBtB,EAAMsB,uBAC9BC,yBAA0BvB,EAAMuB,4BAI5CC,cAAexB,EAAMwB,cACrBC,wBAAyBzB,EAAMyB,wBAC/BC,0BAA2B1B,EAAM0B,0BACjCC,uBAAwB3B,EAAM2B,uBAC9BC,yBAA0B5B,EAAM4B,yBAChCC,gBAAiB7B,EAAM6B,gBAE/B"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import{CoreProvider as n}from"../../core/Context/CoreProvider.js";import o from"../internal/PayButton/PayButton.js";import{KlarnaContainer as i}from"./components/KlarnaContainer/KlarnaContainer.js";import{TxVariants as r}from"../tx-variants.js";function a(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}class s extends e{get isValid(){return!0}formatData(){return{paymentMethod:{type:this.type,...this.props.useKlarnaWidget?{subtype:"sdk"}:{}}}}updateWithAction(t){if(t.paymentMethodType!==this.type)throw new Error("Invalid Action");this.componentRef.setAction(t)}onLoaded(){this.setElementStatus("ready")}render(){return t(n,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(i,{...this.props,ref:t=>{this.componentRef=t},displayName:this.displayName,onComplete:t=>this.handleAdditionalDetails(t),onError:this.props.onError,payButton:this.payButton,onLoaded:this.onLoaded,onActionHandled:this.onActionHandled}))}constructor(e,n){super(e,n),a(this,"payButton",(e=>t(o,{amount:this.props.amount,onClick:this.submit,...e}))),this.onComplete=this.onComplete.bind(this),this.updateWithAction=this.updateWithAction.bind(this),this.submit=this.submit.bind(this),this.onLoaded=this.onLoaded.bind(this)}}a(s,"type",r.klarna),a(s,"txVariants",[r.klarna,r.klarna_account,r.klarna_paynow,r.klarna_b2b]),a(s,"defaultProps",{useKlarnaWidget:!1});export{s as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import{CoreProvider as n}from"../../core/Context/CoreProvider.js";import o from"../internal/PayButton/PayButton.js";import{KlarnaContainer as i}from"./components/KlarnaContainer/KlarnaContainer.js";import{TxVariants as s}from"../tx-variants.js";function a(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}class r extends e{get isValid(){return!0}formatData(){return{paymentMethod:{type:this.type,...this.props.useKlarnaWidget?{subtype:"sdk"}:{}}}}handleAction(t,e={}){if("sdk"!==t.type)return super.handleAction(t,e);this.updateWithAction(t)}updateWithAction(t){if(t.paymentMethodType!==this.type)throw new Error("Invalid Action");this.componentRef.setAction(t)}onLoaded(){this.setElementStatus("ready")}activate(){this.componentRef.reinitializeWidget()}onComplete(t){this.handleAdditionalDetails(t)}render(){return t(n,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(i,{...this.props,setComponentRef:this.setComponentRef,displayName:this.displayName,onComplete:this.onComplete,onError:this.props.onError,payButton:this.payButton,onLoaded:this.onLoaded,showPayButton:this.props.showPayButton,onActionHandled:this.onActionHandled,type:this.props.type}))}constructor(e,n){super(e,n),a(this,"componentRef",void 0),a(this,"payButton",(e=>t(o,{amount:this.props.amount,onClick:this.submit,...e}))),this.onComplete=this.onComplete.bind(this),this.updateWithAction=this.updateWithAction.bind(this),this.submit=this.submit.bind(this),this.onLoaded=this.onLoaded.bind(this)}}a(r,"type",s.klarna),a(r,"txVariants",[s.klarna,s.klarna_account,s.klarna_paynow,s.klarna_b2b]),a(r,"defaultProps",{useKlarnaWidget:!1});export{r as default};
2
2
  //# sourceMappingURL=KlarnaPayments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KlarnaPayments.js","sources":["../../../../src/components/Klarna/KlarnaPayments.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { KlarnConfiguration } from './types';\nimport PayButton from '../internal/PayButton';\nimport { KlarnaContainer } from './components/KlarnaContainer/KlarnaContainer';\nimport { PaymentAction } from '../../types/global-types';\nimport { TxVariants } from '../tx-variants';\nimport type { ICore } from '../../core/types';\n\nclass KlarnaPayments extends UIElement<KlarnConfiguration> {\n public static type = TxVariants.klarna;\n public static txVariants = [TxVariants.klarna, TxVariants.klarna_account, TxVariants.klarna_paynow, TxVariants.klarna_b2b];\n\n protected static defaultProps = {\n useKlarnaWidget: false\n };\n\n constructor(checkout: ICore, props?: KlarnConfiguration) {\n super(checkout, props);\n\n this.onComplete = this.onComplete.bind(this);\n this.updateWithAction = this.updateWithAction.bind(this);\n this.submit = this.submit.bind(this);\n this.onLoaded = this.onLoaded.bind(this);\n }\n get isValid() {\n return true;\n }\n\n protected formatData() {\n return {\n paymentMethod: {\n type: this.type,\n ...(this.props.useKlarnaWidget ? { subtype: 'sdk' } : {})\n }\n };\n }\n\n public payButton = props => {\n return <PayButton amount={this.props.amount} onClick={this.submit} {...props} />;\n };\n\n updateWithAction(action: PaymentAction): void {\n if (action.paymentMethodType !== this.type) throw new Error('Invalid Action');\n this.componentRef.setAction(action);\n }\n\n onLoaded() {\n // When action/widget is loaded, set the 'drop-in' back to ready\n this.setElementStatus('ready');\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <KlarnaContainer\n {...this.props}\n ref={ref => {\n this.componentRef = ref;\n }}\n displayName={this.displayName}\n onComplete={state => this.handleAdditionalDetails(state)}\n onError={this.props.onError}\n payButton={this.payButton}\n onLoaded={this.onLoaded}\n onActionHandled={this.onActionHandled}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default KlarnaPayments;\n"],"names":["KlarnaPayments","UIElement","isValid","formatData","paymentMethod","type","this","props","useKlarnaWidget","subtype","updateWithAction","action","paymentMethodType","Error","componentRef","setAction","onLoaded","setElementStatus","render","h","CoreProvider","i18n","loadingContext","resources","KlarnaContainer","ref","displayName","onComplete","state","handleAdditionalDetails","onError","payButton","onActionHandled","constructor","checkout","super","_define_property","PayButton","amount","onClick","submit","bind","TxVariants","klarna","txVariants","klarna_account","klarna_paynow","klarna_b2b","defaultProps"],"mappings":"ifAUA,MAAMA,UAAuBC,EAgBzB,WAAIC,GACA,OAAO,CACX,CAEUC,UAAAA,GACN,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKD,QACPC,KAAKC,MAAMC,gBAAkB,CAAEC,QAAS,OAAU,CAAE,GAGpE,CAMAC,gBAAAA,CAAiBC,GACb,GAAIA,EAAOC,oBAAsBN,KAAKD,KAAM,MAAM,IAAIQ,MAAM,kBAC5DP,KAAKQ,aAAaC,UAAUJ,EAChC,CAEAK,QAAAA,GAEIV,KAAKW,iBAAiB,QAC1B,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMf,KAAKC,MAAMc,KAAMC,eAAgBhB,KAAKC,MAAMe,eAAgBC,UAAWjB,KAAKiB,WAC5FJ,EAACK,EAAAA,IACOlB,KAAKC,MACTkB,IAAKA,IACDnB,KAAKQ,aAAeW,CAAAA,EAExBC,YAAapB,KAAKoB,YAClBC,WAAYC,GAAStB,KAAKuB,wBAAwBD,GAClDE,QAASxB,KAAKC,MAAMuB,QACpBC,UAAWzB,KAAKyB,UAChBf,SAAUV,KAAKU,SACfgB,gBAAiB1B,KAAK0B,kBAItC,CApDAC,WAAAA,CAAYC,EAAiB3B,GACzB4B,MAAMD,EAAU3B,GAoBpB6B,EAAA9B,KAAOyB,aAAYxB,GACRY,EAACkB,EAAAA,CAAUC,OAAQhC,KAAKC,MAAM+B,OAAQC,QAASjC,KAAKkC,UAAYjC,MAnBvED,KAAKqB,WAAarB,KAAKqB,WAAWc,KAAKnC,MACvCA,KAAKI,iBAAmBJ,KAAKI,iBAAiB+B,KAAKnC,MACnDA,KAAKkC,OAASlC,KAAKkC,OAAOC,KAAKnC,MAC/BA,KAAKU,SAAWV,KAAKU,SAASyB,KAAKnC,KACvC,EAdA8B,EADEpC,EACYK,OAAOqC,EAAWC,QAChCP,EAFEpC,EAEY4C,aAAa,CAACF,EAAWC,OAAQD,EAAWG,eAAgBH,EAAWI,cAAeJ,EAAWK,aAE/GX,EAJEpC,EAIegD,eAAe,CAC5BxC,iBAAiB"}
1
+ {"version":3,"file":"KlarnaPayments.js","sources":["../../../../src/components/Klarna/KlarnaPayments.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport 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';\n\nclass KlarnaPayments extends UIElement<KlarnaConfiguration> {\n public static type = TxVariants.klarna;\n public static txVariants = [TxVariants.klarna, TxVariants.klarna_account, TxVariants.klarna_paynow, TxVariants.klarna_b2b];\n\n public componentRef: KlarnaComponentRef;\n\n protected static 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 payButton = props => {\n return <PayButton amount={this.props.amount} onClick={this.submit} {...props} />;\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 render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\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 </CoreProvider>\n );\n }\n}\n\nexport default KlarnaPayments;\n"],"names":["KlarnaPayments","UIElement","isValid","formatData","paymentMethod","type","this","props","useKlarnaWidget","subtype","handleAction","action","super","updateWithAction","paymentMethodType","Error","componentRef","setAction","onLoaded","setElementStatus","activate","reinitializeWidget","onComplete","details","handleAdditionalDetails","render","h","CoreProvider","i18n","loadingContext","resources","KlarnaContainer","setComponentRef","displayName","onError","payButton","showPayButton","onActionHandled","constructor","checkout","_define_property","PayButton","amount","onClick","submit","bind","TxVariants","klarna","txVariants","klarna_account","klarna_paynow","klarna_b2b","defaultProps"],"mappings":"ifASA,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,CAMgBC,YAAAA,CAAaC,EAAsBJ,EAAQ,IACvD,GAAoB,QAAhBI,EAAON,KAIX,OAAOO,MAAMF,aAAaC,EAAQJ,GAH9BD,KAAKO,iBAAiBF,EAI9B,CAEAE,gBAAAA,CAAiBF,GACb,GAAIA,EAAOG,oBAAsBR,KAAKD,KAAM,MAAM,IAAIU,MAAM,kBAC5DT,KAAKU,aAAaC,UAAUN,EAChC,CAEQO,QAAAA,GAEJZ,KAAKa,iBAAiB,QAC1B,CAEgBC,QAAAA,GACZd,KAAKU,aAAaK,oBACtB,CAEUC,UAAAA,CAAWC,GACjBjB,KAAKkB,wBAAwBD,EACjC,CAEAE,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMtB,KAAKC,MAAMqB,KAAMC,eAAgBvB,KAAKC,MAAMsB,eAAgBC,UAAWxB,KAAKwB,WAC5FJ,EAACK,EAAAA,IACOzB,KAAKC,MACTyB,gBAAiB1B,KAAK0B,gBACtBC,YAAa3B,KAAK2B,YAClBX,WAAYhB,KAAKgB,WACjBY,QAAS5B,KAAKC,MAAM2B,QACpBC,UAAW7B,KAAK6B,UAChBjB,SAAUZ,KAAKY,SACfkB,cAAe9B,KAAKC,MAAM6B,cAC1BC,gBAAiB/B,KAAK+B,gBACtBhC,KAAMC,KAAKC,MAAMF,OAIjC,CApEAiC,WAAAA,CAAYC,EAAiBhC,GACzBK,MAAM2B,EAAUhC,GAPpBiC,EAAAlC,KAAOU,oBAAP,GA2BAwB,EAAOL,KAAAA,aAAY5B,GACRmB,EAACe,EAAAA,CAAUC,OAAQpC,KAAKC,MAAMmC,OAAQC,QAASrC,KAAKsC,UAAYrC,MAnBvED,KAAKgB,WAAahB,KAAKgB,WAAWuB,KAAKvC,MACvCA,KAAKO,iBAAmBP,KAAKO,iBAAiBgC,KAAKvC,MACnDA,KAAKsC,OAAStC,KAAKsC,OAAOC,KAAKvC,MAC/BA,KAAKY,SAAWZ,KAAKY,SAAS2B,KAAKvC,KACvC,EAhBAkC,EADExC,EACYK,OAAOyC,EAAWC,QAChCP,EAFExC,EAEYgD,aAAa,CAACF,EAAWC,OAAQD,EAAWG,eAAgBH,EAAWI,cAAeJ,EAAWK,aAI/GX,EANExC,EAMeoD,eAAe,CAC5B5C,iBAAiB"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../../../external/preact/dist/preact.js";import{KlarnaWidget as a}from"../KlarnaWidget/KlarnaWidget.js";import{useState as e}from"../../../../external/preact/hooks/dist/hooks.js";function o(o){const[n,s]=e({sdkData:o.sdkData,paymentMethodType:o.paymentMethodType,paymentData:o.paymentData}),[p,d]=e("ready");return this.setAction=s,this.setStatus=d,n.sdkData?t(a,{sdkData:n.sdkData,paymentMethodType:n.paymentMethodType,paymentData:n.paymentData,payButton:o.payButton,onComplete:o.onComplete,onError:o.onError,onLoaded:()=>{o.onActionHandled?.({componentType:o.type,actionDescription:"sdk-loaded",originalAction:n}),o.onLoaded()}}):o.showPayButton?o.payButton({...o,status:p,disabled:"loading"===p,classNameModifiers:["standalone"],label:`${this.props.i18n.get("continueTo")} ${o.displayName}`}):null}export{o as KlarnaContainer};
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};
2
2
  //# sourceMappingURL=KlarnaContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KlarnaContainer.js","sources":["../../../../../../src/components/Klarna/components/KlarnaContainer/KlarnaContainer.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { KlarnaWidget } from '../KlarnaWidget/KlarnaWidget';\nimport { useState } from 'preact/hooks';\n\nexport function KlarnaContainer(props) {\n const [action, setAction] = useState({\n sdkData: props.sdkData,\n paymentMethodType: props.paymentMethodType,\n paymentData: props.paymentData\n });\n const [status, setStatus] = useState('ready');\n\n this.setAction = setAction;\n this.setStatus = setStatus;\n\n if (action.sdkData) {\n return (\n <KlarnaWidget\n sdkData={action.sdkData}\n paymentMethodType={action.paymentMethodType}\n paymentData={action.paymentData}\n payButton={props.payButton}\n onComplete={props.onComplete}\n onError={props.onError}\n onLoaded={() => {\n props.onActionHandled?.({ componentType: props.type, actionDescription: 'sdk-loaded', originalAction: action });\n props.onLoaded();\n }}\n />\n );\n }\n\n if (props.showPayButton) {\n return props.payButton({\n ...props,\n status,\n disabled: status === 'loading',\n classNameModifiers: ['standalone'],\n label: `${this.props.i18n.get('continueTo')} ${props.displayName}`\n });\n }\n\n return null;\n}\n"],"names":["KlarnaContainer","props","action","setAction","useState","sdkData","paymentMethodType","paymentData","status","setStatus","this","h","KlarnaWidget","payButton","onComplete","onError","onLoaded","onActionHandled","componentType","type","actionDescription","originalAction","showPayButton","disabled","classNameModifiers","label","i18n","get","displayName"],"mappings":"qNAIO,SAASA,EAAgBC,GAC5B,MAAOC,EAAQC,GAAaC,EAAS,CACjCC,QAASJ,EAAMI,QACfC,kBAAmBL,EAAMK,kBACzBC,YAAaN,EAAMM,eAEhBC,EAAQC,GAAaL,EAAS,SAKrC,OAHAM,KAAKP,UAAYA,EACjBO,KAAKD,UAAYA,EAEbP,EAAOG,QAEHM,EAACC,EAAAA,CACGP,QAASH,EAAOG,QAChBC,kBAAmBJ,EAAOI,kBAC1BC,YAAaL,EAAOK,YACpBM,UAAWZ,EAAMY,UACjBC,WAAYb,EAAMa,WAClBC,QAASd,EAAMc,QACfC,SAAU,KACNf,EAAMgB,kBAAkB,CAAEC,cAAejB,EAAMkB,KAAMC,kBAAmB,aAAcC,eAAgBnB,IACtGD,EAAMe,UAAQ,IAM1Bf,EAAMqB,cACCrB,EAAMY,UAAU,IAChBZ,EACHO,SACAe,SAAqB,YAAXf,EACVgB,mBAAoB,CAAC,cACrBC,MAAO,GAAGf,KAAKT,MAAMyB,KAAKC,IAAI,iBAAiB1B,EAAM2B,gBAItD,IACX"}
1
+ {"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, PayButtonFunctionProps, UIElementStatus } from '../../../internal/UIElement/types';\nimport type { ActionHandledReturnObject } from '../../../../types/global-types';\nimport type { AdyenCheckoutError, KlarnaAction, KlarnaAdditionalDetailsData, KlarnaComponentRef } from '../../../../types';\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?: PayButtonFunctionProps): h.JSX.Element;\n onLoaded(): void;\n onActionHandled(actionHandled: ActionHandledReturnObject): void;\n}\n\nexport function KlarnaContainer({ setComponentRef, ...props }: 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":"gPAmBO,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,UAAO,EAElDJ,UAAYD,GAA4BC,EAAUD,GAClDM,mBAAoB,KAChBV,GAA4B,IAAIQ,MAAOC,UAAO,IAQtD,OAJAE,GAAU,KACNd,EAAgBS,EAAUM,QAAO,GAClC,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,UAAQ,IAM1BvB,EAAM6B,cACC7B,EAAMoB,UAAU,IAChBpB,EACHM,SACAwB,SAAqB,YAAXxB,EACVyB,mBAAoB,CAAC,cACrBC,MAAO,GAAGC,KAAKjC,MAAMkC,KAAKC,IAAI,iBAAiBnC,EAAMoC,gBAItD,IACX"}
@@ -1,2 +1,2 @@
1
- import t from"../../../../utils/Script.js";import{useRef as a,useState as e,useEffect as o}from"../../../../external/preact/hooks/dist/hooks.js";import{createElement as n}from"../../../../external/preact/dist/preact.js";import{KLARNA_WIDGET_URL as r}from"../../constants.js";function s({sdkData:s,paymentMethodType:i,payButton:c,...d}){const m=a(null),[l,p]=e("ready"),y=()=>{p("error"),d.onComplete({data:{paymentData:d.paymentData,details:{}}})},u=()=>{p("loading");try{window.Klarna.Payments.authorize({payment_method_category:s.payment_method_category},(function(t){!0===t.approved&&!0===t.show_form?(p("success"),d.onComplete({data:{paymentData:d.paymentData,details:{authorization_token:t.authorization_token}}})):t.approved||!0!==t.show_form?y():(p("ready"),d.onError(t))}))}catch(t){y()}};return o((()=>{window.klarnaAsyncCallback=function(){window.Klarna.Payments.init({client_token:s.client_token}),window.Klarna.Payments.load({container:m.current,payment_method_category:s.payment_method_category},(function(t){!t.show_form||t.error?y():d.onLoaded()}))};const a=new t(r);return a.load(),()=>{a.remove()}}),[]),"error"!==l&&"success"!==l?n("div",{className:"adyen-checkout__klarna-widget"},n("div",{ref:m}),c({status:l,disabled:"loading"===l,onClick:u})):null}export{s as KlarnaWidget};
1
+ import{createElement as t}from"../../../../external/preact/dist/preact.js";import{useRef as a,useState as e,useCallback as o,useEffect as n}from"../../../../external/preact/hooks/dist/hooks.js";import r from"../../../../utils/Script.js";import{KLARNA_WIDGET_URL as i}from"../../constants.js";function s({sdkData:s,paymentMethodType:m,widgetInitializationTime:c,payButton:d,...l}){const p=a(null),[y,u]=e("ready"),_=o((()=>{u("error"),l.onComplete({data:{paymentData:l.paymentData,details:{}}})}),[l.paymentData,l.onComplete]),h=o((()=>{window.Klarna.Payments.init({client_token:s.client_token}),window.Klarna.Payments.load({container:p.current,payment_method_category:s.payment_method_category},(function(t){!t.show_form||t.error?_():l.onLoaded()}))}),[s.client_token,s.payment_method_category]),w=o((()=>{u("loading");try{window.Klarna.Payments.authorize({payment_method_category:s.payment_method_category},(function(t){!0===t.approved&&!0===t.show_form?(u("success"),l.onComplete({data:{paymentData:l.paymentData,details:{authorization_token:t.authorization_token}}})):t.approved||!0!==t.show_form?_():(u("ready"),l.onError(t))}))}catch(t){_()}}),[s.payment_method_category,l.onComplete,l.onError]);return n((()=>{const t=window.Klarna?.Payments?.init;t&&h()}),[c]),n((()=>{window.klarnaAsyncCallback=function(){h()};const t=new r(i);return t.load(),()=>{t.remove()}}),[h]),"error"!==y&&"success"!==y?t("div",{className:"adyen-checkout__klarna-widget"},t("div",{ref:p}),d({status:y,disabled:"loading"===y,onClick:w})):null}export{s as KlarnaWidget};
2
2
  //# sourceMappingURL=KlarnaWidget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KlarnaWidget.js","sources":["../../../../../../src/components/Klarna/components/KlarnaWidget/KlarnaWidget.tsx"],"sourcesContent":["import Script from '../../../../utils/Script';\nimport { useEffect, useRef, useState } from 'preact/hooks';\nimport { h } from 'preact';\nimport { KlarnaWidgetAuthorizeResponse, KlarnaWidgetProps } from '../../types';\nimport { KLARNA_WIDGET_URL } from '../../constants';\nimport './KlarnaWidget.scss';\n\nexport function KlarnaWidget({ sdkData, paymentMethodType, payButton, ...props }: KlarnaWidgetProps) {\n const klarnaWidgetRef = useRef(null);\n const [status, setStatus] = useState('ready');\n\n const handleError = () => {\n setStatus('error');\n props.onComplete({\n data: {\n paymentData: props.paymentData,\n details: {}\n }\n });\n };\n\n const initializeKlarnaWidget = () => {\n window.Klarna.Payments.init({\n client_token: sdkData.client_token\n });\n\n window.Klarna.Payments.load(\n {\n container: klarnaWidgetRef.current,\n payment_method_category: sdkData.payment_method_category\n },\n function (res) {\n // If show_form: true is received together with an error, something fixable is wrong and the consumer\n // needs to take action before moving forward\n // If show_form: false, the payment method in the loaded widget will not be offered for this order\n // based on Klarna’s pre-assessment.\n if (!res.show_form || !!res.error) {\n handleError();\n } else {\n props.onLoaded();\n }\n }\n );\n };\n\n const authorizeKlarna = () => {\n setStatus('loading');\n try {\n window.Klarna.Payments.authorize(\n {\n payment_method_category: sdkData.payment_method_category\n },\n function (res: KlarnaWidgetAuthorizeResponse) {\n if (res.approved === true && res.show_form === true) {\n // Klarna has approved the authorization of credit for this order.\n setStatus('success');\n props.onComplete({\n data: {\n paymentData: props.paymentData,\n details: {\n authorization_token: res.authorization_token\n }\n }\n });\n } else if (!res.approved && res.show_form === true) {\n // Fixable error\n setStatus('ready');\n props.onError(res);\n } else {\n // The purchase is declined. The widget should be hidden and the user\n // should select another payment method.\n handleError();\n }\n }\n );\n } catch (e) {\n handleError();\n }\n };\n\n // Add Klarna Payments Widget SDK\n useEffect(() => {\n window.klarnaAsyncCallback = function () {\n initializeKlarnaWidget();\n };\n\n const script = new Script(KLARNA_WIDGET_URL);\n void script.load();\n\n return () => {\n script.remove();\n };\n }, []);\n\n if (status !== 'error' && status !== 'success') {\n return (\n <div className=\"adyen-checkout__klarna-widget\">\n <div ref={klarnaWidgetRef} />\n {payButton({ status, disabled: status === 'loading', onClick: authorizeKlarna })}\n </div>\n );\n }\n\n return null;\n}\n"],"names":["KlarnaWidget","sdkData","paymentMethodType","payButton","props","klarnaWidgetRef","useRef","status","setStatus","useState","handleError","onComplete","data","paymentData","details","authorizeKlarna","window","Klarna","Payments","authorize","payment_method_category","res","approved","show_form","authorization_token","onError","e","useEffect","klarnaAsyncCallback","init","client_token","load","container","current","error","onLoaded","script","Script","KLARNA_WIDGET_URL","remove","h","div","className","ref","disabled","onClick"],"mappings":"mRAOO,SAASA,GAAaC,QAAEA,EAAOC,kBAAEA,EAAiBC,UAAEA,KAAcC,IACrE,MAAMC,EAAkBC,EAAO,OACxBC,EAAQC,GAAaC,EAAS,SAE/BC,EAAc,KAChBF,EAAU,SACVJ,EAAMO,WAAW,CACbC,KAAM,CACFC,YAAaT,EAAMS,YACnBC,QAAS,CAAC,IAElB,EA2BEC,EAAkB,KACpBP,EAAU,WACV,IACIQ,OAAOC,OAAOC,SAASC,UACnB,CACIC,wBAAyBnB,EAAQmB,0BAErC,SAAUC,IACe,IAAjBA,EAAIC,WAAuC,IAAlBD,EAAIE,WAE7Bf,EAAU,WACVJ,EAAMO,WAAW,CACbC,KAAM,CACFC,YAAaT,EAAMS,YACnBC,QAAS,CACLU,oBAAqBH,EAAIG,yBAI7BH,EAAIC,WAA8B,IAAlBD,EAAIE,UAO5Bb,KALAF,EAAU,SACVJ,EAAMqB,QAAQJ,GAMtB,GAER,CAAE,MAAOK,GACLhB,GACJ,GAiBJ,OAbAiB,GAAU,KACNX,OAAOY,oBAAsB,WA5D7BZ,OAAOC,OAAOC,SAASW,KAAK,CACxBC,aAAc7B,EAAQ6B,eAG1Bd,OAAOC,OAAOC,SAASa,KACnB,CACIC,UAAW3B,EAAgB4B,QAC3Bb,wBAAyBnB,EAAQmB,0BAErC,SAAUC,IAKDA,EAAIE,WAAeF,EAAIa,MACxBxB,IAEAN,EAAM+B,UAEd,GA2CJ,EAEA,MAAMC,EAAS,IAAIC,EAAOC,GAG1B,OAFKF,EAAOL,OAEL,KACHK,EAAOG,QAAM,CACjB,GACD,IAEY,UAAXhC,GAAiC,YAAXA,EAElBiC,EAACC,MAAAA,CAAIC,UAAU,iCACXF,EAACC,MAAAA,CAAIE,IAAKtC,IACTF,EAAU,CAAEI,SAAQqC,SAAqB,YAAXrC,EAAsBsC,QAAS9B,KAKnE,IACX"}
1
+ {"version":3,"file":"KlarnaWidget.js","sources":["../../../../../../src/components/Klarna/components/KlarnaWidget/KlarnaWidget.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useRef, useState, useCallback } from 'preact/hooks';\nimport Script from '../../../../utils/Script';\nimport { KLARNA_WIDGET_URL } from '../../constants';\nimport type { KlarnaWidgetAuthorizeResponse, KlarnaWidgetProps } from '../../types';\n\nimport './KlarnaWidget.scss';\n\nexport function KlarnaWidget({ sdkData, paymentMethodType, widgetInitializationTime, payButton, ...props }: KlarnaWidgetProps) {\n const klarnaWidgetRef = useRef(null);\n const [status, setStatus] = useState('ready');\n\n const handleError = useCallback(() => {\n setStatus('error');\n props.onComplete({\n data: {\n paymentData: props.paymentData,\n details: {}\n }\n });\n }, [props.paymentData, props.onComplete]);\n\n const initializeKlarnaWidget = useCallback(() => {\n window.Klarna.Payments.init({\n client_token: sdkData.client_token\n });\n\n window.Klarna.Payments.load(\n {\n container: klarnaWidgetRef.current,\n payment_method_category: sdkData.payment_method_category\n },\n function (res) {\n // If show_form: true is received together with an error, something fixable is wrong and the consumer\n // needs to take action before moving forward\n // If show_form: false, the payment method in the loaded widget will not be offered for this order\n // based on Klarna’s pre-assessment.\n if (!res.show_form || !!res.error) {\n handleError();\n } else {\n props.onLoaded();\n }\n }\n );\n }, [sdkData.client_token, sdkData.payment_method_category]);\n\n const authorizeKlarna = useCallback(() => {\n setStatus('loading');\n try {\n window.Klarna.Payments.authorize(\n {\n payment_method_category: sdkData.payment_method_category\n },\n function (res: KlarnaWidgetAuthorizeResponse) {\n if (res.approved === true && res.show_form === true) {\n // Klarna has approved the authorization of credit for this order.\n setStatus('success');\n props.onComplete({\n data: {\n paymentData: props.paymentData,\n details: {\n authorization_token: res.authorization_token\n }\n }\n });\n } else if (!res.approved && res.show_form === true) {\n // Fixable error\n setStatus('ready');\n props.onError(res);\n } else {\n // The purchase is declined. The widget should be hidden and the user\n // should select another payment method.\n handleError();\n }\n }\n );\n } catch (e) {\n handleError();\n }\n }, [sdkData.payment_method_category, props.onComplete, props.onError]);\n\n /**\n * Initializes Klarna SDK if it is already available and reinitialize\n * it when the init time refreshes\n */\n useEffect(() => {\n const isKlarnaAvailable = window.Klarna?.Payments?.init;\n if (isKlarnaAvailable) {\n initializeKlarnaWidget();\n }\n }, [widgetInitializationTime]);\n\n useEffect(() => {\n window.klarnaAsyncCallback = function () {\n initializeKlarnaWidget();\n };\n const script = new Script(KLARNA_WIDGET_URL);\n void script.load();\n\n return () => {\n script.remove();\n };\n }, [initializeKlarnaWidget]);\n\n if (status !== 'error' && status !== 'success') {\n return (\n <div className=\"adyen-checkout__klarna-widget\">\n <div ref={klarnaWidgetRef} />\n {payButton({ status, disabled: status === 'loading', onClick: authorizeKlarna })}\n </div>\n );\n }\n\n return null;\n}\n"],"names":["KlarnaWidget","sdkData","paymentMethodType","widgetInitializationTime","payButton","props","klarnaWidgetRef","useRef","status","setStatus","useState","handleError","useCallback","onComplete","data","paymentData","details","initializeKlarnaWidget","window","Klarna","Payments","init","client_token","load","container","current","payment_method_category","res","show_form","error","onLoaded","authorizeKlarna","authorize","approved","authorization_token","onError","e","useEffect","isKlarnaAvailable","klarnaAsyncCallback","script","Script","KLARNA_WIDGET_URL","remove","h","div","className","ref","disabled","onClick"],"mappings":"oSAQO,SAASA,GAAaC,QAAEA,EAAOC,kBAAEA,EAAiBC,yBAAEA,EAAwBC,UAAEA,KAAcC,IAC/F,MAAMC,EAAkBC,EAAO,OACxBC,EAAQC,GAAaC,EAAS,SAE/BC,EAAcC,GAAY,KAC5BH,EAAU,SACVJ,EAAMQ,WAAW,CACbC,KAAM,CACFC,YAAaV,EAAMU,YACnBC,QAAS,CAAA,IAEjB,GACD,CAACX,EAAMU,YAAaV,EAAMQ,aAEvBI,EAAyBL,GAAY,KACvCM,OAAOC,OAAOC,SAASC,KAAK,CACxBC,aAAcrB,EAAQqB,eAG1BJ,OAAOC,OAAOC,SAASG,KACnB,CACIC,UAAWlB,EAAgBmB,QAC3BC,wBAAyBzB,EAAQyB,0BAErC,SAAUC,IAKDA,EAAIC,WAAeD,EAAIE,MACxBlB,IAEAN,EAAMyB,UAEd,GAAA,GAEL,CAAC7B,EAAQqB,aAAcrB,EAAQyB,0BAE5BK,EAAkBnB,GAAY,KAChCH,EAAU,WACV,IACIS,OAAOC,OAAOC,SAASY,UACnB,CACIN,wBAAyBzB,EAAQyB,0BAErC,SAAUC,IACe,IAAjBA,EAAIM,WAAuC,IAAlBN,EAAIC,WAE7BnB,EAAU,WACVJ,EAAMQ,WAAW,CACbC,KAAM,CACFC,YAAaV,EAAMU,YACnBC,QAAS,CACLkB,oBAAqBP,EAAIO,yBAI7BP,EAAIM,WAA8B,IAAlBN,EAAIC,UAO5BjB,KALAF,EAAU,SACVJ,EAAM8B,QAAQR,GAMtB,GAER,CAAE,MAAOS,GACLzB,GACJ,IACD,CAACV,EAAQyB,wBAAyBrB,EAAMQ,WAAYR,EAAM8B,UAyB7D,OAnBAE,GAAU,KACN,MAAMC,EAAoBpB,OAAOC,QAAQC,UAAUC,KAC/CiB,GACArB,GACJ,GACD,CAACd,IAEJkC,GAAU,KACNnB,OAAOqB,oBAAsB,WACzBtB,GACJ,EACA,MAAMuB,EAAS,IAAIC,EAAOC,GAG1B,OAFKF,EAAOjB,OAEL,KACHiB,EAAOG,QAAM,CACjB,GACD,CAAC1B,IAEW,UAAXT,GAAiC,YAAXA,EAElBoC,EAACC,MAAAA,CAAIC,UAAU,iCACXF,EAACC,MAAAA,CAAIE,IAAKzC,IACTF,EAAU,CAAEI,SAAQwC,SAAqB,YAAXxC,EAAsByC,QAASlB,KAKnE,IACX"}
@@ -1 +1 @@
1
- {"version":3,"file":"MBWay.js","sources":["../../../../src/components/MBWay/MBWay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MBWayInput from './components/MBWayInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport config from './components/MBWayAwait/config';\nimport Await from '../../components/internal/Await';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport { TxVariants } from '../tx-variants';\nimport { AwaitConfiguration } from '../internal/Await/types';\n\nexport class MBWayElement extends UIElement<AwaitConfiguration> {\n public static type = TxVariants.mbway;\n\n formatProps(props) {\n const { data = {}, placeholders = {} } = props;\n\n return {\n ...props,\n data: {\n phoneNumber: data.telephoneNumber || data.phoneNumber,\n phonePrefix: data.phonePrefix || '+351' // if not specified default to Portuguese country code\n },\n placeholders: {\n phoneNumber: placeholders.telephoneNumber || placeholders.phoneNumber\n }\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): object {\n return {\n paymentMethod: {\n type: MBWayElement.type,\n ...(this.state.data?.phoneNumber && { telephoneNumber: this.state.data.phonePrefix + this.state.data.phoneNumber })\n }\n };\n }\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n get displayName(): string {\n return this.props.name;\n }\n\n render() {\n if (this.props.paymentData) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <Await\n ref={ref => {\n this.componentRef = ref;\n }}\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.props.onError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n type={config.type}\n messageText={this.props.i18n.get(config.messageTextId)}\n awaitText={this.props.i18n.get(config.awaitTextId)}\n showCountdownTimer={config.showCountdownTimer}\n delay={config.STATUS_INTERVAL}\n countdownTime={config.COUNTDOWN_MINUTES}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <MBWayInput\n /* @ts-ignore ref handled internally by Component */\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default MBWayElement;\n"],"names":["MBWayElement","UIElement","formatProps","props","data","placeholders","phoneNumber","telephoneNumber","phonePrefix","formatData","paymentMethod","type","this","state","isValid","displayName","name","render","paymentData","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","Await","ref","componentRef","clientKey","onError","onComplete","brandLogo","icon","config","messageText","get","messageTextId","awaitText","awaitTextId","showCountdownTimer","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","MBWayInput","onChange","setState","onSubmit","submit","payButton","TxVariants","mbway"],"mappings":"ybAUO,MAAMA,UAAqBC,EAG9BC,WAAAA,CAAYC,GACR,MAAMC,KAAEA,EAAO,CAAE,EAAAC,aAAEA,EAAe,CAAE,GAAKF,EAEzC,MAAO,IACAA,EACHC,KAAM,CACFE,YAAaF,EAAKG,iBAAmBH,EAAKE,YAC1CE,YAAaJ,EAAKI,aAAe,QAErCH,aAAc,CACVC,YAAaD,EAAaE,iBAAmBF,EAAaC,aAGtE,CAKAG,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMX,EAAaW,QACfC,KAAKC,MAAMT,MAAME,aAAe,CAAEC,gBAAiBK,KAAKC,MAAMT,KAAKI,YAAcI,KAAKC,MAAMT,KAAKE,cAGjH,CAEA,WAAIQ,GACA,QAASF,KAAKC,MAAMC,OACxB,CAEA,eAAIC,GACA,OAAOH,KAAKT,MAAMa,IACtB,CAEAC,MAAAA,GACI,OAAIL,KAAKT,MAAMe,YAEPC,EAACC,EAAAA,CAAaC,KAAMT,KAAKT,MAAMkB,KAAMC,eAAgBV,KAAKT,MAAMmB,eAAgBC,UAAWX,KAAKW,WAC5FJ,EAACK,EAAAA,CAAgBC,QAASb,KAAKT,MAAMuB,QAAQD,SACzCN,EAACQ,EAAAA,CACGC,IAAKA,IACDhB,KAAKiB,aAAeD,CAAAA,EAExBE,UAAWlB,KAAKT,MAAM2B,UACtBZ,YAAaN,KAAKT,MAAMe,YACxBa,QAASnB,KAAKT,MAAM4B,QACpBC,WAAYpB,KAAKoB,WACjBC,UAAWrB,KAAKsB,KAChBvB,KAAMwB,EAAOxB,KACbyB,YAAaxB,KAAKT,MAAMkB,KAAKgB,IAAIF,EAAOG,eACxCC,UAAW3B,KAAKT,MAAMkB,KAAKgB,IAAIF,EAAOK,aACtCC,mBAAoBN,EAAOM,mBAC3BC,MAAOP,EAAOQ,gBACdC,cAAeT,EAAOU,kBACtBC,aAAcX,EAAOY,cACrBC,iBAAkBb,EAAOc,kBACzBC,gBAAiBtC,KAAKsC,oBAQtC/B,EAACC,EAAAA,CAAaC,KAAMT,KAAKT,MAAMkB,KAAMC,eAAgBV,KAAKT,MAAMmB,eAAgBC,UAAWX,KAAKW,WAC5FJ,EAACgC,EAAAA,CAEGvB,IAAKA,IACDhB,KAAKiB,aAAeD,CAAAA,KAEpBhB,KAAKT,MACTiD,SAAUxC,KAAKyC,SACfC,SAAU1C,KAAK2C,OACfC,UAAW5C,KAAK4C,YAIhC,cAjFSxD,IACKW,SAAO8C,EAAWC"}
1
+ {"version":3,"file":"MBWay.js","sources":["../../../../src/components/MBWay/MBWay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MBWayInput from './components/MBWayInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport config from './components/MBWayAwait/config';\nimport Await from '../../components/internal/Await';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport { TxVariants } from '../tx-variants';\nimport { AwaitConfiguration } from '../internal/Await/types';\n\nexport class MBWayElement extends UIElement<AwaitConfiguration> {\n public static type = TxVariants.mbway;\n\n formatProps(props) {\n const { data = {}, placeholders = {} } = props;\n\n return {\n ...props,\n data: {\n phoneNumber: data.telephoneNumber || data.phoneNumber,\n phonePrefix: data.phonePrefix || '+351' // if not specified default to Portuguese country code\n },\n placeholders: {\n phoneNumber: placeholders.telephoneNumber || placeholders.phoneNumber\n }\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): object {\n return {\n paymentMethod: {\n type: MBWayElement.type,\n ...(this.state.data?.phoneNumber && { telephoneNumber: this.state.data.phonePrefix + this.state.data.phoneNumber })\n }\n };\n }\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n get displayName(): string {\n return this.props.name;\n }\n\n render() {\n if (this.props.paymentData) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <Await\n ref={ref => {\n this.componentRef = ref;\n }}\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.props.onError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n type={config.type}\n messageText={this.props.i18n.get(config.messageTextId)}\n awaitText={this.props.i18n.get(config.awaitTextId)}\n showCountdownTimer={config.showCountdownTimer}\n delay={config.STATUS_INTERVAL}\n countdownTime={config.COUNTDOWN_MINUTES}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <MBWayInput\n /* @ts-ignore ref handled internally by Component */\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default MBWayElement;\n"],"names":["MBWayElement","UIElement","formatProps","props","data","placeholders","phoneNumber","telephoneNumber","phonePrefix","formatData","paymentMethod","type","this","state","isValid","displayName","name","render","paymentData","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","Await","ref","componentRef","clientKey","onError","onComplete","brandLogo","icon","config","messageText","get","messageTextId","awaitText","awaitTextId","showCountdownTimer","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","MBWayInput","onChange","setState","onSubmit","submit","payButton","TxVariants","mbway"],"mappings":"ybAUO,MAAMA,UAAqBC,EAG9BC,WAAAA,CAAYC,GACR,MAAMC,KAAEA,EAAO,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,CAEAC,MAAAA,GACI,OAAIL,KAAKT,MAAMe,YAEPC,EAACC,EAAAA,CAAaC,KAAMT,KAAKT,MAAMkB,KAAMC,eAAgBV,KAAKT,MAAMmB,eAAgBC,UAAWX,KAAKW,WAC5FJ,EAACK,EAAAA,CAAgBC,QAASb,KAAKT,MAAMuB,QAAQD,SACzCN,EAACQ,EAAAA,CACGC,IAAKA,IACDhB,KAAKiB,aAAeD,CAAAA,EAExBE,UAAWlB,KAAKT,MAAM2B,UACtBZ,YAAaN,KAAKT,MAAMe,YACxBa,QAASnB,KAAKT,MAAM4B,QACpBC,WAAYpB,KAAKoB,WACjBC,UAAWrB,KAAKsB,KAChBvB,KAAMwB,EAAOxB,KACbyB,YAAaxB,KAAKT,MAAMkB,KAAKgB,IAAIF,EAAOG,eACxCC,UAAW3B,KAAKT,MAAMkB,KAAKgB,IAAIF,EAAOK,aACtCC,mBAAoBN,EAAOM,mBAC3BC,MAAOP,EAAOQ,gBACdC,cAAeT,EAAOU,kBACtBC,aAAcX,EAAOY,cACrBC,iBAAkBb,EAAOc,kBACzBC,gBAAiBtC,KAAKsC,oBAQtC/B,EAACC,EAAAA,CAAaC,KAAMT,KAAKT,MAAMkB,KAAMC,eAAgBV,KAAKT,MAAMmB,eAAgBC,UAAWX,KAAKW,WAC5FJ,EAACgC,EAAAA,CAEGvB,IAAKA,IACDhB,KAAKiB,aAAeD,CAAAA,KAEpBhB,KAAKT,MACTiD,SAAUxC,KAAKyC,SACfC,SAAU1C,KAAK2C,OACfC,UAAW5C,KAAK4C,YAIhC,cAjFSxD,IACKW,SAAO8C,EAAWC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Multibanco.js","sources":["../../../../src/components/Multibanco/Multibanco.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MultibancoVoucherResult from './components/MultibancoVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class MultibancoElement extends UIElement<VoucherConfiguration> {\n public static type = TxVariants.multibanco;\n\n get isValid() {\n return true;\n }\n\n formatProps(props) {\n return {\n ...props,\n name: props.name || 'Multibanco'\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n paymentMethod: {\n type: this.props.type || MultibancoElement.type\n }\n };\n }\n\n private handleRef = ref => {\n this.componentRef = ref;\n };\n\n render() {\n if (this.props.reference) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <MultibancoVoucherResult ref={this.handleRef} {...this.props} onActionHandled={this.onActionHandled} />\n </CoreProvider>\n );\n }\n\n if (this.props.showPayButton) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n amount={this.props.amount}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n </CoreProvider>\n );\n }\n\n return null;\n }\n}\n\nexport default MultibancoElement;\n"],"names":["MultibancoElement","UIElement","isValid","formatProps","props","name","formatData","paymentMethod","type","this","render","reference","h","CoreProvider","i18n","loadingContext","resources","MultibancoVoucherResult","ref","handleRef","onActionHandled","showPayButton","RedirectButton","displayName","amount","payButton","onSubmit","submit","componentRef","_define_property","TxVariants","multibanco"],"mappings":"wfAQO,MAAMA,UAA0BC,EAGnC,WAAIC,GACA,OAAO,CACX,CAEAC,WAAAA,CAAYC,GACR,MAAO,IACAA,EACHC,KAAMD,EAAMC,MAAQ,aAE5B,CAKAC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKL,MAAMI,MAAQR,EAAkBQ,MAGvD,CAMAE,MAAAA,GACI,OAAID,KAAKL,MAAMO,UAEPC,EAACC,EAAAA,CAAaC,KAAML,KAAKL,MAAMU,KAAMC,eAAgBN,KAAKL,MAAMW,eAAgBC,UAAWP,KAAKO,WAC5FJ,EAACK,EAAAA,CAAwBC,IAAKT,KAAKU,aAAeV,KAAKL,MAAOgB,gBAAiBX,KAAKW,mBAK5FX,KAAKL,MAAMiB,cAEPT,EAACC,EAAAA,CAAaC,KAAML,KAAKL,MAAMU,KAAMC,eAAgBN,KAAKL,MAAMW,eAAgBC,UAAWP,KAAKO,WAC5FJ,EAACU,EAAAA,CACGD,cAAeZ,KAAKL,MAAMiB,cAC1BhB,KAAMI,KAAKc,YACXC,OAAQf,KAAKL,MAAMoB,OACnBC,UAAWhB,KAAKgB,UAChBC,SAAUjB,KAAKkB,OACfT,IAAKA,IACDT,KAAKmB,aAAeV,CAAAA,KAOjC,IACX,+BA/BAW,EAAApB,KAAQU,aAAYD,IAChBT,KAAKmB,aAAeV,CAAAA,KAzBxBW,EADS7B,EACKQ,OAAOsB,EAAWC"}
1
+ {"version":3,"file":"Multibanco.js","sources":["../../../../src/components/Multibanco/Multibanco.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MultibancoVoucherResult from './components/MultibancoVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class MultibancoElement extends UIElement<VoucherConfiguration> {\n public static type = TxVariants.multibanco;\n\n get isValid() {\n return true;\n }\n\n formatProps(props) {\n return {\n ...props,\n name: props.name || 'Multibanco'\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n paymentMethod: {\n type: this.props.type || MultibancoElement.type\n }\n };\n }\n\n private handleRef = ref => {\n this.componentRef = ref;\n };\n\n render() {\n if (this.props.reference) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <MultibancoVoucherResult ref={this.handleRef} {...this.props} onActionHandled={this.onActionHandled} />\n </CoreProvider>\n );\n }\n\n if (this.props.showPayButton) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n amount={this.props.amount}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n </CoreProvider>\n );\n }\n\n return null;\n }\n}\n\nexport default MultibancoElement;\n"],"names":["MultibancoElement","UIElement","isValid","formatProps","props","name","formatData","paymentMethod","type","this","render","reference","h","CoreProvider","i18n","loadingContext","resources","MultibancoVoucherResult","ref","handleRef","onActionHandled","showPayButton","RedirectButton","displayName","amount","payButton","onSubmit","submit","componentRef","super","args","_define_property","TxVariants","multibanco"],"mappings":"wfAQO,MAAMA,UAA0BC,EAGnC,WAAIC,GACA,OAAO,CACX,CAEAC,WAAAA,CAAYC,GACR,MAAO,IACAA,EACHC,KAAMD,EAAMC,MAAQ,aAE5B,CAKAC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKL,MAAMI,MAAQR,EAAkBQ,MAGvD,CAMAE,MAAAA,GACI,OAAID,KAAKL,MAAMO,UAEPC,EAACC,EAAAA,CAAaC,KAAML,KAAKL,MAAMU,KAAMC,eAAgBN,KAAKL,MAAMW,eAAgBC,UAAWP,KAAKO,WAC5FJ,EAACK,EAAAA,CAAwBC,IAAKT,KAAKU,aAAeV,KAAKL,MAAOgB,gBAAiBX,KAAKW,mBAK5FX,KAAKL,MAAMiB,cAEPT,EAACC,EAAAA,CAAaC,KAAML,KAAKL,MAAMU,KAAMC,eAAgBN,KAAKL,MAAMW,eAAgBC,UAAWP,KAAKO,WAC5FJ,EAACU,EAAAA,CACGD,cAAeZ,KAAKL,MAAMiB,cAC1BhB,KAAMI,KAAKc,YACXC,OAAQf,KAAKL,MAAMoB,OACnBC,UAAWhB,KAAKgB,UAChBC,SAAUjB,KAAKkB,OACfT,IAAKA,IACDT,KAAKmB,aAAeV,CAAAA,KAOjC,IACX,mBAxDGW,SAyBHC,GAAAC,EAAAtB,KAAQU,aAAYD,IAChBT,KAAKmB,aAAeV,CAAAA,KAzBxBa,EADS/B,EACKQ,OAAOwB,EAAWC"}
@@ -1,2 +1,2 @@
1
- import e from"../helpers/IssuerListContainer/IssuerListContainer.js";import{TxVariants as n}from"../tx-variants.js";function s(e,n,s){return n in e?Object.defineProperty(e,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[n]=s,e}class t extends e{formatProps(e){return{...super.formatProps(e),showImage:!1,termsAndConditions:t.termsAndConditions}}get icon(){return this.props.icon??this.resources.getImage()("bankTransfer_IBAN")}}s(t,"type",n.onlineBanking_CZ),s(t,"termsAndConditions",{translationKey:"onlineBanking.termsAndConditions",urls:["https://static.payu.com/sites/terms/files/payu_privacy_policy_cs.pdf"]});export{t as default};
1
+ import e from"../helpers/IssuerListContainer/IssuerListContainer.js";import{TxVariants as n}from"../tx-variants.js";function s(e,n,s){return n in e?Object.defineProperty(e,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[n]=s,e}class t extends e{formatProps(e){return{...super.formatProps(e),showImage:!0,termsAndConditions:t.termsAndConditions}}get icon(){return this.props.icon??this.resources.getImage()("bankTransfer_IBAN")}}s(t,"type",n.onlineBanking_CZ),s(t,"termsAndConditions",{translationKey:"onlineBanking.termsAndConditions",urls:["https://static.payu.com/sites/terms/files/payu_privacy_policy_cs.pdf"]});export{t as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/OnlineBankingCZ/index.ts"],"sourcesContent":["import IssuerListContainer from '../helpers/IssuerListContainer/IssuerListContainer';\nimport { TxVariants } from '../tx-variants';\n\nconst TERMS_AND_CONDITIONS = 'https://static.payu.com/sites/terms/files/payu_privacy_policy_cs.pdf';\nconst ICON = 'bankTransfer_IBAN';\n\nclass OnlineBankingCZElement extends IssuerListContainer {\n public static type = TxVariants.onlineBanking_CZ;\n\n private static termsAndConditions = {\n translationKey: 'onlineBanking.termsAndConditions',\n urls: [TERMS_AND_CONDITIONS]\n };\n\n formatProps(props) {\n return {\n ...super.formatProps(props),\n showImage: false,\n termsAndConditions: OnlineBankingCZElement.termsAndConditions\n };\n }\n\n get icon(): string {\n return this.props.icon ?? this.resources.getImage()(ICON);\n }\n}\n\nexport default OnlineBankingCZElement;\n"],"names":["OnlineBankingCZElement","IssuerListContainer","formatProps","props","super","showImage","termsAndConditions","icon","this","resources","getImage","_define_property","type","TxVariants","onlineBanking_CZ","translationKey","urls"],"mappings":"4OAMA,MAAMA,UAA+BC,EAQjCC,WAAAA,CAAYC,GACR,MAAO,IACAC,MAAMF,YAAYC,GACrBE,WAAW,EACXC,mBAAoBN,EAAuBM,mBAEnD,CAEA,QAAIC,GACA,OAAOC,KAAKL,MAAMI,MAAQC,KAAKC,UAAUC,UAAfF,CAnBrB,oBAoBT,EAjBAG,EADEX,EACYY,OAAOC,EAAWC,kBAEhCH,EAHEX,EAGaM,qBAAqB,CAChCS,eAAgB,mCAChBC,KAAM,CARe"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/OnlineBankingCZ/index.ts"],"sourcesContent":["import IssuerListContainer from '../helpers/IssuerListContainer/IssuerListContainer';\nimport { TxVariants } from '../tx-variants';\n\nconst TERMS_AND_CONDITIONS = 'https://static.payu.com/sites/terms/files/payu_privacy_policy_cs.pdf';\nconst ICON = 'bankTransfer_IBAN';\n\nclass OnlineBankingCZElement extends IssuerListContainer {\n public static type = TxVariants.onlineBanking_CZ;\n\n private static termsAndConditions = {\n translationKey: 'onlineBanking.termsAndConditions',\n urls: [TERMS_AND_CONDITIONS]\n };\n\n formatProps(props) {\n return {\n ...super.formatProps(props),\n showImage: true,\n termsAndConditions: OnlineBankingCZElement.termsAndConditions\n };\n }\n\n get icon(): string {\n return this.props.icon ?? this.resources.getImage()(ICON);\n }\n}\n\nexport default OnlineBankingCZElement;\n"],"names":["OnlineBankingCZElement","IssuerListContainer","formatProps","props","super","showImage","termsAndConditions","icon","this","resources","getImage","_define_property","type","TxVariants","onlineBanking_CZ","translationKey","urls"],"mappings":"4OAMA,MAAMA,UAA+BC,EAQjCC,WAAAA,CAAYC,GACR,MAAO,IACAC,MAAMF,YAAYC,GACrBE,WAAW,EACXC,mBAAoBN,EAAuBM,mBAEnD,CAEA,QAAIC,GACA,OAAOC,KAAKL,MAAMI,MAAQC,KAAKC,UAAUC,UAAfF,CAnBrB,oBAoBT,EAjBAG,EADEX,EACYY,OAAOC,EAAWC,kBAEhCH,EAHEX,EAGaM,qBAAqB,CAChCS,eAAgB,mCAChBC,KAAM,CARe"}
@@ -1,2 +1,2 @@
1
- import e from"../helpers/IssuerListContainer/IssuerListContainer.js";import{TxVariants as n}from"../tx-variants.js";function s(e,n,s){return n in e?Object.defineProperty(e,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[n]=s,e}class t extends e{formatProps(e){return{...super.formatProps(e),showImage:!1,termsAndConditions:t.termsAndConditions}}get icon(){return this.props.icon??this.resources.getImage()("bankTransfer_IBAN")}}s(t,"type",n.onlineBanking_SK),s(t,"termsAndConditions",{translationKey:"onlineBanking.termsAndConditions",urls:["https://static.payu.com/sites/terms/files/payu_privacy_policy_sk.pdf"]});export{t as default};
1
+ import e from"../helpers/IssuerListContainer/IssuerListContainer.js";import{TxVariants as n}from"../tx-variants.js";function s(e,n,s){return n in e?Object.defineProperty(e,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[n]=s,e}class t extends e{formatProps(e){return{...super.formatProps(e),showImage:!0,termsAndConditions:t.termsAndConditions}}get icon(){return this.props.icon??this.resources.getImage()("bankTransfer_IBAN")}}s(t,"type",n.onlineBanking_SK),s(t,"termsAndConditions",{translationKey:"onlineBanking.termsAndConditions",urls:["https://static.payu.com/sites/terms/files/payu_privacy_policy_sk.pdf"]});export{t as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/OnlineBankingSK/index.ts"],"sourcesContent":["import IssuerListContainer from '../helpers/IssuerListContainer/IssuerListContainer';\nimport { TxVariants } from '../tx-variants';\n\nconst TERMS_AND_CONDITIONS = 'https://static.payu.com/sites/terms/files/payu_privacy_policy_sk.pdf';\nconst ICON = 'bankTransfer_IBAN';\n\nclass OnlineBankingSKElement extends IssuerListContainer {\n public static type = TxVariants.onlineBanking_SK;\n\n private static termsAndConditions = {\n translationKey: 'onlineBanking.termsAndConditions',\n urls: [TERMS_AND_CONDITIONS]\n };\n\n formatProps(props) {\n return {\n ...super.formatProps(props),\n showImage: false,\n termsAndConditions: OnlineBankingSKElement.termsAndConditions\n };\n }\n\n get icon(): string {\n return this.props.icon ?? this.resources.getImage()(ICON);\n }\n}\n\nexport default OnlineBankingSKElement;\n"],"names":["OnlineBankingSKElement","IssuerListContainer","formatProps","props","super","showImage","termsAndConditions","icon","this","resources","getImage","_define_property","type","TxVariants","onlineBanking_SK","translationKey","urls"],"mappings":"4OAMA,MAAMA,UAA+BC,EAQjCC,WAAAA,CAAYC,GACR,MAAO,IACAC,MAAMF,YAAYC,GACrBE,WAAW,EACXC,mBAAoBN,EAAuBM,mBAEnD,CAEA,QAAIC,GACA,OAAOC,KAAKL,MAAMI,MAAQC,KAAKC,UAAUC,UAAfF,CAnBrB,oBAoBT,EAjBAG,EADEX,EACYY,OAAOC,EAAWC,kBAEhCH,EAHEX,EAGaM,qBAAqB,CAChCS,eAAgB,mCAChBC,KAAM,CARe"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/OnlineBankingSK/index.ts"],"sourcesContent":["import IssuerListContainer from '../helpers/IssuerListContainer/IssuerListContainer';\nimport { TxVariants } from '../tx-variants';\n\nconst TERMS_AND_CONDITIONS = 'https://static.payu.com/sites/terms/files/payu_privacy_policy_sk.pdf';\nconst ICON = 'bankTransfer_IBAN';\n\nclass OnlineBankingSKElement extends IssuerListContainer {\n public static type = TxVariants.onlineBanking_SK;\n\n private static termsAndConditions = {\n translationKey: 'onlineBanking.termsAndConditions',\n urls: [TERMS_AND_CONDITIONS]\n };\n\n formatProps(props) {\n return {\n ...super.formatProps(props),\n showImage: true,\n termsAndConditions: OnlineBankingSKElement.termsAndConditions\n };\n }\n\n get icon(): string {\n return this.props.icon ?? this.resources.getImage()(ICON);\n }\n}\n\nexport default OnlineBankingSKElement;\n"],"names":["OnlineBankingSKElement","IssuerListContainer","formatProps","props","super","showImage","termsAndConditions","icon","this","resources","getImage","_define_property","type","TxVariants","onlineBanking_SK","translationKey","urls"],"mappings":"4OAMA,MAAMA,UAA+BC,EAQjCC,WAAAA,CAAYC,GACR,MAAO,IACAC,MAAMF,YAAYC,GACrBE,WAAW,EACXC,mBAAoBN,EAAuBM,mBAEnD,CAEA,QAAIC,GACA,OAAOC,KAAKL,MAAMI,MAAQC,KAAKC,UAAUC,UAAfF,CAnBrB,oBAoBT,EAjBAG,EADEX,EACYY,OAAOC,EAAWC,kBAEhCH,EAHEX,EAGaM,qBAAqB,CAChCS,eAAgB,mCAChBC,KAAM,CARe"}
@@ -1 +1 @@
1
- {"version":3,"file":"Oxxo.js","sources":["../../../../src/components/Oxxo/Oxxo.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport OxxoVoucherResult from './components/OxxoVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class OxxoElement extends UIElement<VoucherConfiguration> {\n public static type = TxVariants.oxxo;\n\n protected static defaultProps = {\n name: 'Oxxo'\n };\n\n get isValid(): boolean {\n return true;\n }\n\n formatData() {\n return {\n paymentMethod: {\n type: this.props.type || OxxoElement.type\n }\n };\n }\n\n private handleRef = ref => {\n this.componentRef = ref;\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.reference ? (\n <OxxoVoucherResult ref={this.handleRef} {...this.props} onActionHandled={this.onActionHandled} />\n ) : (\n this.props.showPayButton &&\n this.payButton({\n ...this.props,\n classNameModifiers: ['standalone'],\n label: `${this.props.i18n.get('continueTo')} ${this.props.name}`,\n onClick: this.submit\n })\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default OxxoElement;\n"],"names":["OxxoElement","UIElement","isValid","formatData","paymentMethod","type","this","props","render","h","CoreProvider","i18n","loadingContext","resources","reference","OxxoVoucherResult","ref","handleRef","onActionHandled","showPayButton","payButton","classNameModifiers","label","get","name","onClick","submit","_define_property","componentRef","TxVariants","oxxo","defaultProps"],"mappings":"gbAOO,MAAMA,UAAoBC,EAO7B,WAAIC,GACA,OAAO,CACX,CAEAC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKC,MAAMF,MAAQL,EAAYK,MAGjD,CAMAG,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAML,KAAKC,MAAMI,KAAMC,eAAgBN,KAAKC,MAAMK,eAAgBC,UAAWP,KAAKO,WAC3FP,KAAKC,MAAMO,UACRL,EAACM,EAAAA,CAAkBC,IAAKV,KAAKW,aAAeX,KAAKC,MAAOW,gBAAiBZ,KAAKY,kBAE9EZ,KAAKC,MAAMY,eACXb,KAAKc,UAAU,IACRd,KAAKC,MACRc,mBAAoB,CAAC,cACrBC,MAAO,GAAGhB,KAAKC,MAAMI,KAAKY,IAAI,iBAAiBjB,KAAKC,MAAMiB,OAC1DC,QAASnB,KAAKoB,SAKlC,+BApBAC,EAAArB,KAAQW,aAAYD,IAChBV,KAAKsB,aAAeZ,CAAAA,KAnBxBW,EADS3B,EACKK,OAAOwB,EAAWC,MAEhCH,EAHS3B,EAGQ+B,eAAe,CAC5BP,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 { CoreProvider } from '../../core/Context/CoreProvider';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class OxxoElement extends UIElement<VoucherConfiguration> {\n public static type = TxVariants.oxxo;\n\n protected static defaultProps = {\n name: 'Oxxo'\n };\n\n get isValid(): boolean {\n return true;\n }\n\n formatData() {\n return {\n paymentMethod: {\n type: this.props.type || OxxoElement.type\n }\n };\n }\n\n private handleRef = ref => {\n this.componentRef = ref;\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.reference ? (\n <OxxoVoucherResult ref={this.handleRef} {...this.props} onActionHandled={this.onActionHandled} />\n ) : (\n this.props.showPayButton &&\n this.payButton({\n ...this.props,\n classNameModifiers: ['standalone'],\n label: `${this.props.i18n.get('continueTo')} ${this.props.name}`,\n onClick: this.submit\n })\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default OxxoElement;\n"],"names":["OxxoElement","UIElement","isValid","formatData","paymentMethod","type","this","props","render","h","CoreProvider","i18n","loadingContext","resources","reference","OxxoVoucherResult","ref","handleRef","onActionHandled","showPayButton","payButton","classNameModifiers","label","get","name","onClick","submit","super","args","_define_property","componentRef","TxVariants","oxxo","defaultProps"],"mappings":"gbAOO,MAAMA,UAAoBC,EAO7B,WAAIC,GACA,OAAO,CACX,CAEAC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKC,MAAMF,MAAQL,EAAYK,MAGjD,CAMAG,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAML,KAAKC,MAAMI,KAAMC,eAAgBN,KAAKC,MAAMK,eAAgBC,UAAWP,KAAKO,WAC3FP,KAAKC,MAAMO,UACRL,EAACM,EAAAA,CAAkBC,IAAKV,KAAKW,aAAeX,KAAKC,MAAOW,gBAAiBZ,KAAKY,kBAE9EZ,KAAKC,MAAMY,eACXb,KAAKc,UAAU,IACRd,KAAKC,MACRc,mBAAoB,CAAC,cACrBC,MAAO,GAAGhB,KAAKC,MAAMI,KAAKY,IAAI,iBAAiBjB,KAAKC,MAAMiB,OAC1DC,QAASnB,KAAKoB,SAKlC,mBAvCGC,SAmBHC,GAAAC,EAAAvB,KAAQW,aAAYD,IAChBV,KAAKwB,aAAed,CAAAA,KAnBxBa,EADS7B,EACKK,OAAO0B,EAAWC,MAEhCH,EAHS7B,EAGQiC,eAAe,CAC5BT,KAAM"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../../external/preact/dist/preact.js";import r from"../../../internal/Voucher/Voucher.js";import{useCoreContext as t}from"../../../../core/Context/CoreProvider.js";import o from"../../../../core/Context/useImage.js";import{extractCommonPropsForVoucher as a}from"../../../internal/Voucher/utils.js";const n=n=>{const{i18n:c,loadingContext:l}=t(),i=o(),{alternativeReference:p,reference:s,expiresAt:u,merchantReference:d,downloadUrl:m}=n,f=`${l}barcode.shtml?data=${s}&barcodeType=BT_Code128C&fileType=png`,h=[...u?[{label:c.get("voucher.expirationDate"),value:c.date(u)}]:[],...d?[{label:c.get("voucher.shopperReference"),value:d}]:[],...p?[{label:c.get("voucher.alternativeReference"),value:p}]:[]];return e(r,{...a({props:n,i18n:c,introKey:"voucher.introduction",getImage:i()}),barcode:f,copyBtn:!0,downloadUrl:m,voucherDetails:h})};export{n as default};
1
+ import{createElement as e}from"../../../../external/preact/dist/preact.js";import r from"../../../internal/Voucher/Voucher.js";import{useCoreContext as t}from"../../../../core/Context/CoreProvider.js";import o from"../../../../core/Context/useImage.js";import{extractCommonPropsForVoucher as a}from"../../../internal/Voucher/utils.js";const n=n=>{const{i18n:c,loadingContext:i}=t(),l=o(),{alternativeReference:p,reference:u,expiresAt:s,merchantReference:d,downloadUrl:m}=n,v=`${i}utility/v1/barcode.png?data=${u}&type=code128c&clientKey=${n.clientKey}`,f=[...s?[{label:c.get("voucher.expirationDate"),value:c.date(s)}]:[],...d?[{label:c.get("voucher.shopperReference"),value:d}]:[],...p?[{label:c.get("voucher.alternativeReference"),value:p}]:[]];return e(r,{...a({props:n,i18n:c,introKey:"voucher.introduction",getImage:l()}),barcode:v,copyBtn:!0,downloadUrl:m,voucherDetails:f})};export{n as default};
2
2
  //# sourceMappingURL=OxxoVoucherResult.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OxxoVoucherResult.js","sources":["../../../../../../src/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.tsx"],"sourcesContent":["import { h } from 'preact';\nimport Voucher from '../../../../components/internal/Voucher';\nimport { VoucherDetail } from '../../../internal/Voucher/types';\n\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { OxxoVoucherResultProps } from '../../types';\nimport './OxxoVoucherResult.scss';\nimport useImage from '../../../../core/Context/useImage';\nimport { extractCommonPropsForVoucher } from '../../../internal/Voucher/utils';\n\nconst OxxoVoucherResult = (props: OxxoVoucherResultProps) => {\n const { i18n, loadingContext } = useCoreContext();\n const getImage = useImage();\n const { alternativeReference, reference, expiresAt, merchantReference, downloadUrl } = props;\n\n const barcodeUrl = `${loadingContext}barcode.shtml?data=${reference}&barcodeType=BT_Code128C&fileType=png`;\n const voucherDetails: VoucherDetail[] = [\n ...(expiresAt\n ? [\n {\n label: i18n.get('voucher.expirationDate'),\n value: i18n.date(expiresAt)\n }\n ]\n : []),\n ...(merchantReference\n ? [\n {\n label: i18n.get('voucher.shopperReference'),\n value: merchantReference\n }\n ]\n : []),\n ...(alternativeReference\n ? [\n {\n label: i18n.get('voucher.alternativeReference'),\n value: alternativeReference\n }\n ]\n : [])\n ];\n\n return (\n <Voucher\n {...extractCommonPropsForVoucher({ props, i18n, introKey: 'voucher.introduction', getImage: getImage() })}\n barcode={barcodeUrl}\n copyBtn\n downloadUrl={downloadUrl}\n voucherDetails={voucherDetails}\n />\n );\n};\n\nexport default OxxoVoucherResult;\n"],"names":["OxxoVoucherResult","props","i18n","loadingContext","useCoreContext","getImage","useImage","alternativeReference","reference","expiresAt","merchantReference","downloadUrl","barcodeUrl","voucherDetails","label","get","value","date","h","Voucher","extractCommonPropsForVoucher","introKey","barcode","copyBtn"],"mappings":"+UAUA,MAAMA,EAAqBC,IACvB,MAAMC,KAAEA,EAAIC,eAAEA,GAAmBC,IAC3BC,EAAWC,KACXC,qBAAEA,EAAoBC,UAAEA,EAASC,UAAEA,EAASC,kBAAEA,EAAiBC,YAAEA,GAAgBV,EAEjFW,EAAa,GAAGT,uBAAoCK,yCACpDK,EAAkC,IAChCJ,EACE,CACI,CACIK,MAAOZ,EAAKa,IAAI,0BAChBC,MAAOd,EAAKe,KAAKR,KAGzB,MACFC,EACE,CACI,CACII,MAAOZ,EAAKa,IAAI,4BAChBC,MAAON,IAGf,MACFH,EACE,CACI,CACIO,MAAOZ,EAAKa,IAAI,gCAChBC,MAAOT,IAGf,IAGV,OACIW,EAACC,EAAAA,IACOC,EAA6B,CAAEnB,QAAOC,OAAMmB,SAAU,uBAAwBhB,SAAUA,MAC5FiB,QAASV,EACTW,SAAAA,EACAZ,YAAaA,EACbE,eAAgBA"}
1
+ {"version":3,"file":"OxxoVoucherResult.js","sources":["../../../../../../src/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.tsx"],"sourcesContent":["import { h } from 'preact';\nimport Voucher from '../../../../components/internal/Voucher';\nimport { VoucherDetail } from '../../../internal/Voucher/types';\n\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { OxxoVoucherResultProps } from '../../types';\nimport './OxxoVoucherResult.scss';\nimport useImage from '../../../../core/Context/useImage';\nimport { extractCommonPropsForVoucher } from '../../../internal/Voucher/utils';\n\nconst OxxoVoucherResult = (props: OxxoVoucherResultProps) => {\n const { i18n, loadingContext } = useCoreContext();\n const getImage = useImage();\n const { alternativeReference, reference, expiresAt, merchantReference, downloadUrl } = props;\n\n const barcodeUrl = `${loadingContext}utility/v1/barcode.png?data=${reference}&type=code128c&clientKey=${props.clientKey}`;\n\n const voucherDetails: VoucherDetail[] = [\n ...(expiresAt\n ? [\n {\n label: i18n.get('voucher.expirationDate'),\n value: i18n.date(expiresAt)\n }\n ]\n : []),\n ...(merchantReference\n ? [\n {\n label: i18n.get('voucher.shopperReference'),\n value: merchantReference\n }\n ]\n : []),\n ...(alternativeReference\n ? [\n {\n label: i18n.get('voucher.alternativeReference'),\n value: alternativeReference\n }\n ]\n : [])\n ];\n\n return (\n <Voucher\n {...extractCommonPropsForVoucher({ props, i18n, introKey: 'voucher.introduction', getImage: getImage() })}\n barcode={barcodeUrl}\n copyBtn\n downloadUrl={downloadUrl}\n voucherDetails={voucherDetails}\n />\n );\n};\n\nexport default OxxoVoucherResult;\n"],"names":["OxxoVoucherResult","props","i18n","loadingContext","useCoreContext","getImage","useImage","alternativeReference","reference","expiresAt","merchantReference","downloadUrl","barcodeUrl","clientKey","voucherDetails","label","get","value","date","h","Voucher","extractCommonPropsForVoucher","introKey","barcode","copyBtn"],"mappings":"+UAUA,MAAMA,EAAqBC,IACvB,MAAMC,KAAEA,EAAIC,eAAEA,GAAmBC,IAC3BC,EAAWC,KACXC,qBAAEA,EAAoBC,UAAEA,EAASC,UAAEA,EAASC,kBAAEA,EAAiBC,YAAEA,GAAgBV,EAEjFW,EAAa,GAAGT,gCAA6CK,6BAAqCP,EAAMY,YAExGC,EAAkC,IAChCL,EACE,CACI,CACIM,MAAOb,EAAKc,IAAI,0BAChBC,MAAOf,EAAKgB,KAAKT,KAGzB,MACFC,EACE,CACI,CACIK,MAAOb,EAAKc,IAAI,4BAChBC,MAAOP,IAGf,MACFH,EACE,CACI,CACIQ,MAAOb,EAAKc,IAAI,gCAChBC,MAAOV,IAGf,IAGV,OACIY,EAACC,EAAAA,IACOC,EAA6B,CAAEpB,QAAOC,OAAMoB,SAAU,uBAAwBjB,SAAUA,MAC5FkB,QAASX,EACTY,SAAAA,EACAb,YAAaA,EACbG,eAAgBA"}