@adyen/adyen-web 6.4.0 → 6.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) hide show
  1. package/README.md +16 -5
  2. package/dist/cjs/adyen.css +7 -3
  3. package/dist/cjs/adyen.css.map +1 -1
  4. package/dist/cjs/index.cjs +2 -2
  5. package/dist/cjs/index.cjs.map +1 -1
  6. package/dist/cjs/index.d.cts +27 -19
  7. package/dist/es/adyen.css +7 -3
  8. package/dist/es/adyen.css.map +1 -1
  9. package/dist/es/components/ANCV/ANCV.js +1 -1
  10. package/dist/es/components/ANCV/ANCV.js.map +1 -1
  11. package/dist/es/components/Ach/Ach.js +1 -1
  12. package/dist/es/components/Ach/Ach.js.map +1 -1
  13. package/dist/es/components/Address/Address.js +1 -1
  14. package/dist/es/components/Address/Address.js.map +1 -1
  15. package/dist/es/components/Affirm/Affirm.js +1 -1
  16. package/dist/es/components/Affirm/Affirm.js.map +1 -1
  17. package/dist/es/components/AfterPay/AfterPay.js +1 -1
  18. package/dist/es/components/AfterPay/AfterPay.js.map +1 -1
  19. package/dist/es/components/AfterPay/AfterPayB2B.js +1 -1
  20. package/dist/es/components/AfterPay/AfterPayB2B.js.map +1 -1
  21. package/dist/es/components/AmazonPay/AmazonPay.js +1 -1
  22. package/dist/es/components/AmazonPay/AmazonPay.js.map +1 -1
  23. package/dist/es/components/ApplePay/ApplePay.js +1 -1
  24. package/dist/es/components/ApplePay/ApplePay.js.map +1 -1
  25. package/dist/es/components/ApplePay/ApplePayService.js +1 -1
  26. package/dist/es/components/ApplePay/ApplePayService.js.map +1 -1
  27. package/dist/es/components/ApplePay/components/ApplePayButton.js +1 -1
  28. package/dist/es/components/ApplePay/components/ApplePayButton.js.map +1 -1
  29. package/dist/es/components/Atome/Atome.js +1 -1
  30. package/dist/es/components/Atome/Atome.js.map +1 -1
  31. package/dist/es/components/BacsDD/BacsDD.js +1 -1
  32. package/dist/es/components/BacsDD/BacsDD.js.map +1 -1
  33. package/dist/es/components/BankTransfer/BankTransfer.js +1 -1
  34. package/dist/es/components/BankTransfer/BankTransfer.js.map +1 -1
  35. package/dist/es/components/BcmcMobile/BcmcMobile.js +1 -1
  36. package/dist/es/components/BcmcMobile/BcmcMobile.js.map +1 -1
  37. package/dist/es/components/BillDesk/BillDeskOnline.js +1 -1
  38. package/dist/es/components/BillDesk/BillDeskOnline.js.map +1 -1
  39. package/dist/es/components/BillDesk/BillDeskWallet.js +1 -1
  40. package/dist/es/components/BillDesk/BillDeskWallet.js.map +1 -1
  41. package/dist/es/components/Blik/Blik.js +1 -1
  42. package/dist/es/components/Blik/Blik.js.map +1 -1
  43. package/dist/es/components/Boleto/Boleto.js +1 -1
  44. package/dist/es/components/Boleto/Boleto.js.map +1 -1
  45. package/dist/es/components/Card/Bancontact.js +1 -1
  46. package/dist/es/components/Card/Bancontact.js.map +1 -1
  47. package/dist/es/components/Card/Card.js +1 -1
  48. package/dist/es/components/Card/Card.js.map +1 -1
  49. package/dist/es/components/CashAppPay/CashAppPay.js +1 -1
  50. package/dist/es/components/CashAppPay/CashAppPay.js.map +1 -1
  51. package/dist/es/components/CashAppPay/services/CashAppService.js +1 -1
  52. package/dist/es/components/CashAppPay/services/CashAppService.js.map +1 -1
  53. package/dist/es/components/ClickToPay/ClickToPay.js +1 -1
  54. package/dist/es/components/ClickToPay/ClickToPay.js.map +1 -1
  55. package/dist/es/components/CustomCard/CustomCard.js +1 -1
  56. package/dist/es/components/CustomCard/CustomCard.js.map +1 -1
  57. package/dist/es/components/Doku/Doku.js +1 -1
  58. package/dist/es/components/Doku/Doku.js.map +1 -1
  59. package/dist/es/components/Donation/Donation.js +1 -1
  60. package/dist/es/components/Donation/Donation.js.map +1 -1
  61. package/dist/es/components/Dotpay/index.js +1 -1
  62. package/dist/es/components/Dotpay/index.js.map +1 -1
  63. package/dist/es/components/Dragonpay/Dragonpay.js +1 -1
  64. package/dist/es/components/Dragonpay/Dragonpay.js.map +1 -1
  65. package/dist/es/components/Dropin/Dropin.js +1 -1
  66. package/dist/es/components/Dropin/Dropin.js.map +1 -1
  67. package/dist/es/components/Dropin/components/DropinComponent.js +1 -1
  68. package/dist/es/components/Dropin/components/DropinComponent.js.map +1 -1
  69. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
  70. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
  71. package/dist/es/components/DuitNow/DuitNow.js +1 -1
  72. package/dist/es/components/DuitNow/DuitNow.js.map +1 -1
  73. package/dist/es/components/EPS/index.js +1 -1
  74. package/dist/es/components/EPS/index.js.map +1 -1
  75. package/dist/es/components/Econtext/Econtext.js +1 -1
  76. package/dist/es/components/Econtext/Econtext.js.map +1 -1
  77. package/dist/es/components/FacilyPay/FacilyPay10x.js +1 -1
  78. package/dist/es/components/FacilyPay/FacilyPay10x.js.map +1 -1
  79. package/dist/es/components/FacilyPay/FacilyPay12x.js +1 -1
  80. package/dist/es/components/FacilyPay/FacilyPay12x.js.map +1 -1
  81. package/dist/es/components/FacilyPay/FacilyPay3x.js +1 -1
  82. package/dist/es/components/FacilyPay/FacilyPay3x.js.map +1 -1
  83. package/dist/es/components/FacilyPay/FacilyPay4x.js +1 -1
  84. package/dist/es/components/FacilyPay/FacilyPay4x.js.map +1 -1
  85. package/dist/es/components/FacilyPay/FacilyPay6x.js +1 -1
  86. package/dist/es/components/FacilyPay/FacilyPay6x.js.map +1 -1
  87. package/dist/es/components/Giftcard/Giftcard.js +1 -1
  88. package/dist/es/components/Giftcard/Giftcard.js.map +1 -1
  89. package/dist/es/components/Giftcard/components/GiftcardComponent.js +1 -1
  90. package/dist/es/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  91. package/dist/es/components/Giropay/Giropay.js +1 -1
  92. package/dist/es/components/Giropay/Giropay.js.map +1 -1
  93. package/dist/es/components/GooglePay/GooglePay.js +1 -1
  94. package/dist/es/components/GooglePay/GooglePay.js.map +1 -1
  95. package/dist/es/components/GooglePay/GooglePayService.js +1 -1
  96. package/dist/es/components/GooglePay/GooglePayService.js.map +1 -1
  97. package/dist/es/components/Klarna/KlarnaPayments.js +1 -1
  98. package/dist/es/components/Klarna/KlarnaPayments.js.map +1 -1
  99. package/dist/es/components/MBWay/MBWay.js +1 -1
  100. package/dist/es/components/MBWay/MBWay.js.map +1 -1
  101. package/dist/es/components/MealVoucherFR/MealVoucherFR.js +1 -1
  102. package/dist/es/components/MealVoucherFR/MealVoucherFR.js.map +1 -1
  103. package/dist/es/components/MolPayEBanking/MolPayEBankingMY.js +1 -1
  104. package/dist/es/components/MolPayEBanking/MolPayEBankingMY.js.map +1 -1
  105. package/dist/es/components/MolPayEBanking/MolPayEBankingTH.js +1 -1
  106. package/dist/es/components/MolPayEBanking/MolPayEBankingTH.js.map +1 -1
  107. package/dist/es/components/MolPayEBanking/MolPayEBankingVN.js +1 -1
  108. package/dist/es/components/MolPayEBanking/MolPayEBankingVN.js.map +1 -1
  109. package/dist/es/components/Multibanco/Multibanco.js +1 -1
  110. package/dist/es/components/Multibanco/Multibanco.js.map +1 -1
  111. package/dist/es/components/OnlineBankingCZ/index.js +1 -1
  112. package/dist/es/components/OnlineBankingCZ/index.js.map +1 -1
  113. package/dist/es/components/OnlineBankingFI/OnlineBankingFI.js +1 -1
  114. package/dist/es/components/OnlineBankingFI/OnlineBankingFI.js.map +1 -1
  115. package/dist/es/components/OnlineBankingIN/index.js +1 -1
  116. package/dist/es/components/OnlineBankingIN/index.js.map +1 -1
  117. package/dist/es/components/OnlineBankingPL/OnlineBankingPL.js +1 -1
  118. package/dist/es/components/OnlineBankingPL/OnlineBankingPL.js.map +1 -1
  119. package/dist/es/components/OnlineBankingSK/index.js +1 -1
  120. package/dist/es/components/OnlineBankingSK/index.js.map +1 -1
  121. package/dist/es/components/Oxxo/Oxxo.js +1 -1
  122. package/dist/es/components/Oxxo/Oxxo.js.map +1 -1
  123. package/dist/es/components/PayByBank/PayByBank.js +1 -1
  124. package/dist/es/components/PayByBank/PayByBank.js.map +1 -1
  125. package/dist/es/components/PayByBankUS/PayByBankUS.js +1 -1
  126. package/dist/es/components/PayByBankUS/PayByBankUS.js.map +1 -1
  127. package/dist/es/components/PayMe/PayMe.js +1 -1
  128. package/dist/es/components/PayMe/PayMe.js.map +1 -1
  129. package/dist/es/components/PayMe/components/PayMeInstructions.js +2 -0
  130. package/dist/es/components/PayMe/components/PayMeInstructions.js.map +1 -0
  131. package/dist/es/components/PayMe/components/PayMeIntroduction.js +2 -0
  132. package/dist/es/components/PayMe/components/PayMeIntroduction.js.map +1 -0
  133. package/dist/es/components/PayNow/PayNow.js +1 -1
  134. package/dist/es/components/PayNow/PayNow.js.map +1 -1
  135. package/dist/es/components/PayNow/components/PayNowInstructions.js +2 -0
  136. package/dist/es/components/PayNow/components/PayNowInstructions.js.map +1 -0
  137. package/dist/es/components/PayNow/components/PayNowIntroduction.js +2 -0
  138. package/dist/es/components/PayNow/components/PayNowIntroduction.js.map +1 -0
  139. package/dist/es/components/PayPal/Paypal.js +1 -1
  140. package/dist/es/components/PayPal/Paypal.js.map +1 -1
  141. package/dist/es/components/PayU/PayuCashcard.js +1 -1
  142. package/dist/es/components/PayU/PayuCashcard.js.map +1 -1
  143. package/dist/es/components/PayU/PayuNetBanking.js +1 -1
  144. package/dist/es/components/PayU/PayuNetBanking.js.map +1 -1
  145. package/dist/es/components/PersonalDetails/PersonalDetails.js +1 -1
  146. package/dist/es/components/PersonalDetails/PersonalDetails.js.map +1 -1
  147. package/dist/es/components/Pix/Pix.js +1 -1
  148. package/dist/es/components/Pix/Pix.js.map +1 -1
  149. package/dist/es/components/PromptPay/PromptPay.js +1 -1
  150. package/dist/es/components/PromptPay/PromptPay.js.map +1 -1
  151. package/dist/es/components/RatePay/RatePay.js +1 -1
  152. package/dist/es/components/RatePay/RatePay.js.map +1 -1
  153. package/dist/es/components/RatePay/RatePayDirectDebit.js +1 -1
  154. package/dist/es/components/RatePay/RatePayDirectDebit.js.map +1 -1
  155. package/dist/es/components/Redirect/Redirect.js +1 -1
  156. package/dist/es/components/Redirect/Redirect.js.map +1 -1
  157. package/dist/es/components/Redirect/components/RedirectShopper/RedirectShopper.js +1 -1
  158. package/dist/es/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
  159. package/dist/es/components/Riverty/Riverty.js +1 -1
  160. package/dist/es/components/Riverty/Riverty.js.map +1 -1
  161. package/dist/es/components/Sepa/Sepa.js +1 -1
  162. package/dist/es/components/Sepa/Sepa.js.map +1 -1
  163. package/dist/es/components/Swish/Swish.js +1 -1
  164. package/dist/es/components/Swish/Swish.js.map +1 -1
  165. package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js +1 -1
  166. package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
  167. package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js +1 -1
  168. package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  169. package/dist/es/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js +1 -1
  170. package/dist/es/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js.map +1 -1
  171. package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
  172. package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
  173. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js +1 -1
  174. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js.map +1 -1
  175. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
  176. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
  177. package/dist/es/components/ThreeDS2/components/Form/ThreeDS2Form.js +1 -1
  178. package/dist/es/components/ThreeDS2/components/Form/ThreeDS2Form.js.map +1 -1
  179. package/dist/es/components/Trustly/Trustly.js +1 -1
  180. package/dist/es/components/Trustly/Trustly.js.map +1 -1
  181. package/dist/es/components/Twint/Twint.js +1 -1
  182. package/dist/es/components/Twint/Twint.js.map +1 -1
  183. package/dist/es/components/UPI/UPI.js +1 -1
  184. package/dist/es/components/UPI/UPI.js.map +1 -1
  185. package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
  186. package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
  187. package/dist/es/components/Vipps/Vipps.js +1 -1
  188. package/dist/es/components/Vipps/Vipps.js.map +1 -1
  189. package/dist/es/components/WalletIN/index.js +1 -1
  190. package/dist/es/components/WalletIN/index.js.map +1 -1
  191. package/dist/es/components/WeChat/WeChat.js +1 -1
  192. package/dist/es/components/WeChat/WeChat.js.map +1 -1
  193. package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js +1 -1
  194. package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  195. package/dist/es/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js +1 -1
  196. package/dist/es/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js.map +1 -1
  197. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  198. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  199. package/dist/es/components/internal/Address/Address.js +1 -1
  200. package/dist/es/components/internal/Address/Address.js.map +1 -1
  201. package/dist/es/components/internal/Address/Specifications.js +1 -1
  202. package/dist/es/components/internal/Address/Specifications.js.map +1 -1
  203. package/dist/es/components/internal/BaseElement/BaseElement.js +1 -1
  204. package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
  205. package/dist/es/components/internal/Button/Button.js +1 -1
  206. package/dist/es/components/internal/Button/Button.js.map +1 -1
  207. package/dist/es/components/internal/ClickToPay/errors/TimeoutError.js +1 -1
  208. package/dist/es/components/internal/ClickToPay/errors/TimeoutError.js.map +1 -1
  209. package/dist/es/components/internal/ClickToPay/models/ShopperCard.js +1 -1
  210. package/dist/es/components/internal/ClickToPay/models/ShopperCard.js.map +1 -1
  211. package/dist/es/components/internal/ClickToPay/services/ClickToPayService.js +1 -1
  212. package/dist/es/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
  213. package/dist/es/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js +1 -1
  214. package/dist/es/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js.map +1 -1
  215. package/dist/es/components/internal/ClickToPay/services/sdks/MastercardSdk.js +1 -1
  216. package/dist/es/components/internal/ClickToPay/services/sdks/MastercardSdk.js.map +1 -1
  217. package/dist/es/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js +1 -1
  218. package/dist/es/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js.map +1 -1
  219. package/dist/es/components/internal/ClickToPay/services/sdks/SrciError.js +1 -1
  220. package/dist/es/components/internal/ClickToPay/services/sdks/SrciError.js.map +1 -1
  221. package/dist/es/components/internal/ClickToPay/services/sdks/VisaSdk.js +1 -1
  222. package/dist/es/components/internal/ClickToPay/services/sdks/VisaSdk.js.map +1 -1
  223. package/dist/es/components/internal/Countdown/CountdownA11yReporter.js +1 -1
  224. package/dist/es/components/internal/Countdown/CountdownA11yReporter.js.map +1 -1
  225. package/dist/es/components/internal/FormFields/ConsentCheckbox/ConsentCheckbox.js +1 -1
  226. package/dist/es/components/internal/FormFields/ConsentCheckbox/ConsentCheckbox.js.map +1 -1
  227. package/dist/es/components/internal/IFrame/Iframe.js +1 -1
  228. package/dist/es/components/internal/IFrame/Iframe.js.map +1 -1
  229. package/dist/es/components/internal/IbanInput/IbanInput.js +1 -1
  230. package/dist/es/components/internal/IbanInput/IbanInput.js.map +1 -1
  231. package/dist/es/components/internal/QRLoader/QRLoader.js +1 -1
  232. package/dist/es/components/internal/QRLoader/QRLoader.js.map +1 -1
  233. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
  234. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  235. package/dist/es/components/internal/SecuredFields/lib/CSF/AbstractCSF.js +1 -1
  236. package/dist/es/components/internal/SecuredFields/lib/CSF/AbstractCSF.js.map +1 -1
  237. package/dist/es/components/internal/SecuredFields/lib/CSF/CSF.js +1 -1
  238. package/dist/es/components/internal/SecuredFields/lib/CSF/CSF.js.map +1 -1
  239. package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js +1 -1
  240. package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
  241. package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
  242. package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
  243. package/dist/es/components/internal/Timeline/Timeline.js +2 -0
  244. package/dist/es/components/internal/Timeline/Timeline.js.map +1 -0
  245. package/dist/es/components/internal/Timeline/TimelineWrapper.js +2 -0
  246. package/dist/es/components/internal/Timeline/TimelineWrapper.js.map +1 -0
  247. package/dist/es/components/internal/UIElement/UIElement.js +1 -1
  248. package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
  249. package/dist/es/core/CheckoutSession/CheckoutSession.js +1 -1
  250. package/dist/es/core/CheckoutSession/CheckoutSession.js.map +1 -1
  251. package/dist/es/core/Context/Resources.js +1 -1
  252. package/dist/es/core/Context/Resources.js.map +1 -1
  253. package/dist/es/core/Errors/AdyenCheckoutError.js +1 -1
  254. package/dist/es/core/Errors/AdyenCheckoutError.js.map +1 -1
  255. package/dist/es/core/Errors/SRPanel.js +1 -1
  256. package/dist/es/core/Errors/SRPanel.js.map +1 -1
  257. package/dist/es/core/ProcessResponse/PaymentMethods/PaymentMethods.js +1 -1
  258. package/dist/es/core/ProcessResponse/PaymentMethods/PaymentMethods.js.map +1 -1
  259. package/dist/es/core/RiskModule/RiskModule.js +1 -1
  260. package/dist/es/core/RiskModule/RiskModule.js.map +1 -1
  261. package/dist/es/core/RiskModule/components/DeviceFingerprint/DeviceFingerprint.js +1 -1
  262. package/dist/es/core/RiskModule/components/DeviceFingerprint/DeviceFingerprint.js.map +1 -1
  263. package/dist/es/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.js +1 -1
  264. package/dist/es/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.js.map +1 -1
  265. package/dist/es/core/Services/analytics/collect-id.js +1 -1
  266. package/dist/es/core/core.js +1 -1
  267. package/dist/es/core/core.js.map +1 -1
  268. package/dist/es/core/core.registry.js +1 -1
  269. package/dist/es/core/core.registry.js.map +1 -1
  270. package/dist/es/index.d.ts +27 -19
  271. package/dist/es/language/Language.js +1 -1
  272. package/dist/es/language/Language.js.map +1 -1
  273. package/dist/es/utils/Script.js +1 -1
  274. package/dist/es/utils/Script.js.map +1 -1
  275. package/dist/es/utils/Storage.js +1 -1
  276. package/dist/es/utils/Storage.js.map +1 -1
  277. package/dist/es/utils/Validator/ValidationRuleResult.js +1 -1
  278. package/dist/es/utils/Validator/ValidationRuleResult.js.map +1 -1
  279. package/dist/es/utils/Validator/Validator.js +1 -1
  280. package/dist/es/utils/Validator/Validator.js.map +1 -1
  281. package/dist/es/utils/constants/currency-decimals.js +1 -1
  282. package/dist/es/utils/constants/currency-decimals.js.map +1 -1
  283. package/dist/es/utils/constants/currency-minor-units.js.map +1 -1
  284. package/dist/es/utils/useForm/reducer.js +1 -1
  285. package/dist/es/utils/useForm/reducer.js.map +1 -1
  286. package/dist/es/utils/useForm/useForm.js +1 -1
  287. package/dist/es/utils/useForm/useForm.js.map +1 -1
  288. package/dist/es/utils/useIsMobile.js +2 -0
  289. package/dist/es/utils/useIsMobile.js.map +1 -0
  290. package/dist/es-legacy/adyen.css +7 -3
  291. package/dist/es-legacy/adyen.css.map +1 -1
  292. package/dist/es-legacy/components/BcmcMobile/BcmcMobile.js +1 -1
  293. package/dist/es-legacy/components/BcmcMobile/BcmcMobile.js.map +1 -1
  294. package/dist/es-legacy/components/PayMe/PayMe.js +1 -1
  295. package/dist/es-legacy/components/PayMe/PayMe.js.map +1 -1
  296. package/dist/es-legacy/components/PayMe/components/PayMeInstructions.js +2 -0
  297. package/dist/es-legacy/components/PayMe/components/PayMeInstructions.js.map +1 -0
  298. package/dist/es-legacy/components/PayMe/components/PayMeIntroduction.js +2 -0
  299. package/dist/es-legacy/components/PayMe/components/PayMeIntroduction.js.map +1 -0
  300. package/dist/es-legacy/components/PayNow/PayNow.js +1 -1
  301. package/dist/es-legacy/components/PayNow/PayNow.js.map +1 -1
  302. package/dist/es-legacy/components/PayNow/components/PayNowInstructions.js +2 -0
  303. package/dist/es-legacy/components/PayNow/components/PayNowInstructions.js.map +1 -0
  304. package/dist/es-legacy/components/PayNow/components/PayNowIntroduction.js +2 -0
  305. package/dist/es-legacy/components/PayNow/components/PayNowIntroduction.js.map +1 -0
  306. package/dist/es-legacy/components/Swish/Swish.js.map +1 -1
  307. package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
  308. package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
  309. package/dist/es-legacy/components/internal/Address/Address.js +1 -1
  310. package/dist/es-legacy/components/internal/Address/Address.js.map +1 -1
  311. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js +1 -1
  312. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js.map +1 -1
  313. package/dist/es-legacy/components/internal/Timeline/Timeline.js +2 -0
  314. package/dist/es-legacy/components/internal/Timeline/Timeline.js.map +1 -0
  315. package/dist/es-legacy/components/internal/Timeline/TimelineWrapper.js +2 -0
  316. package/dist/es-legacy/components/internal/Timeline/TimelineWrapper.js.map +1 -0
  317. package/dist/es-legacy/core/Services/analytics/collect-id.js +1 -1
  318. package/dist/es-legacy/core/core.js +1 -1
  319. package/dist/es-legacy/utils/constants/currency-decimals.js +1 -1
  320. package/dist/es-legacy/utils/constants/currency-decimals.js.map +1 -1
  321. package/dist/es-legacy/utils/constants/currency-minor-units.js.map +1 -1
  322. package/dist/es-legacy/utils/useForm/reducer.js +1 -1
  323. package/dist/es-legacy/utils/useForm/reducer.js.map +1 -1
  324. package/dist/es-legacy/utils/useForm/useForm.js +1 -1
  325. package/dist/es-legacy/utils/useForm/useForm.js.map +1 -1
  326. package/dist/es-legacy/utils/useIsMobile.js +2 -0
  327. package/dist/es-legacy/utils/useIsMobile.js.map +1 -0
  328. package/package.json +4 -2
  329. package/styles/adyen.css +7 -3
  330. package/dist/es/components/PayMe/Instructions.js +0 -2
  331. package/dist/es/components/PayMe/Instructions.js.map +0 -1
  332. package/dist/es-legacy/components/PayMe/Instructions.js +0 -2
  333. package/dist/es-legacy/components/PayMe/Instructions.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import e from"../helpers/QRLoaderContainer/QRLoaderContainer.js";import{STATUS_INTERVAL as t,COUNTDOWN_MINUTES as r}from"./config.js";import{TxVariants as o}from"../tx-variants.js";function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class a extends e{formatProps(e){const o=window.matchMedia("(max-width: 768px)").matches&&/Android|iPhone|iPod/.test(navigator.userAgent);return function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),o.forEach((function(t){n(e,t,r[t])}))}return e}({delay:t,countdownTime:r,buttonLabel:o?"openApp":"generateQRCode"},super.formatProps(e))}}n(a,"type",o.bcmc_mobile),n(a,"txVariants",[o.bcmc_mobile,o.bcmc_mobile_QR]);export{a as default};
1
+ import e from"../helpers/QRLoaderContainer/QRLoaderContainer.js";import{STATUS_INTERVAL as r,COUNTDOWN_MINUTES as t}from"./config.js";import{TxVariants as o}from"../tx-variants.js";function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}class a extends e{formatProps(e){return function(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),o.forEach((function(r){n(e,r,t[r])}))}return e}({delay:r,countdownTime:t,timeToPay:"payme.timeToPay"},super.formatProps(e))}}n(a,"type",o.bcmc_mobile),n(a,"txVariants",[o.bcmc_mobile,o.bcmc_mobile_QR]);export{a as default};
2
2
  //# sourceMappingURL=BcmcMobile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BcmcMobile.js","sources":["../../../../src/components/BcmcMobile/BcmcMobile.ts"],"sourcesContent":["import QRLoaderContainer from '../helpers/QRLoaderContainer/QRLoaderContainer';\nimport { STATUS_INTERVAL, COUNTDOWN_MINUTES } from './config';\nimport { TxVariants } from '../tx-variants';\n\nclass BCMCMobileElement extends QRLoaderContainer {\n public static type = TxVariants.bcmc_mobile;\n public static txVariants = [TxVariants.bcmc_mobile, TxVariants.bcmc_mobile_QR];\n\n formatProps(props) {\n const isMobile = window.matchMedia('(max-width: 768px)').matches && /Android|iPhone|iPod/.test(navigator.userAgent);\n\n return {\n delay: STATUS_INTERVAL,\n countdownTime: COUNTDOWN_MINUTES,\n buttonLabel: isMobile ? 'openApp' : 'generateQRCode',\n ...super.formatProps(props)\n };\n }\n}\n\nexport default BCMCMobileElement;\n"],"names":["BCMCMobileElement","QRLoaderContainer","formatProps","props","isMobile","window","matchMedia","matches","test","navigator","userAgent","_object_spread","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","buttonLabel","super","_define_property","type","TxVariants","bcmc_mobile","txVariants","bcmc_mobile_QR"],"mappings":"6SAIA,MAAMA,UAA0BC,EAI5BC,WAAAA,CAAYC,GACR,MAAMC,EAAWC,OAAOC,WAAW,sBAAsBC,SAAW,sBAAsBC,KAAKC,UAAUC,WAEzG,6UAAOC,CAAA,CACHC,MAAOC,EACPC,cAAeC,EACfC,YAAaZ,EAAW,UAAY,kBACjCa,MAAMf,YAAYC,GAE7B,EAZAe,EADElB,EACYmB,OAAOC,EAAWC,aAChCH,EAFElB,EAEYsB,aAAa,CAACF,EAAWC,YAAaD,EAAWG"}
1
+ {"version":3,"file":"BcmcMobile.js","sources":["../../../../src/components/BcmcMobile/BcmcMobile.ts"],"sourcesContent":["import QRLoaderContainer from '../helpers/QRLoaderContainer/QRLoaderContainer';\nimport { STATUS_INTERVAL, COUNTDOWN_MINUTES } from './config';\nimport { TxVariants } from '../tx-variants';\n\nclass BCMCMobileElement extends QRLoaderContainer {\n public static type = TxVariants.bcmc_mobile;\n public static txVariants = [TxVariants.bcmc_mobile, TxVariants.bcmc_mobile_QR];\n\n formatProps(props) {\n return {\n delay: STATUS_INTERVAL,\n countdownTime: COUNTDOWN_MINUTES,\n timeToPay: 'payme.timeToPay',\n ...super.formatProps(props)\n };\n }\n}\n\nexport default BCMCMobileElement;\n"],"names":["BCMCMobileElement","QRLoaderContainer","formatProps","props","_object_spread","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","timeToPay","super","_define_property","type","TxVariants","bcmc_mobile","txVariants","bcmc_mobile_QR"],"mappings":"6SAIA,MAAMA,UAA0BC,EAI5BC,WAAAA,CAAYC,GACR,6UAAOC,CAAA,CACHC,MAAOC,EACPC,cAAeC,EACfC,UAAW,mBACRC,MAAMR,YAAYC,GAE7B,EAVAQ,EADEX,EACYY,OAAOC,EAAWC,aAChCH,EAFEX,EAEYe,aAAa,CAACF,EAAWC,YAAaD,EAAWG"}
@@ -1,2 +1,2 @@
1
- import e from"../helpers/QRLoaderContainer/QRLoaderContainer.js";import t from"./Instructions.js";function r(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class n extends e{formatProps(e){return function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),o.forEach((function(t){r(e,t,n[t])}))}return e}({delay:n.defaultDelay,countdownTime:n.defaultCountdown,redirectIntroduction:"payme.openPayMeApp",introduction:"payme.scanQrCode",timeToPay:"payme.timeToPay",buttonLabel:"payme.redirectButtonLabel",instructions:t},super.formatProps(e))}}r(n,"type","payme"),r(n,"defaultCountdown",10),r(n,"defaultDelay",2e3);export{n as default};
1
+ import e from"../helpers/QRLoaderContainer/QRLoaderContainer.js";import{PayMeInstructions as t}from"./components/PayMeInstructions.js";import{PayMeIntroduction as o}from"./components/PayMeIntroduction.js";function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}class r extends e{formatProps(e){return function(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable})))),r.forEach((function(t){n(e,t,o[t])}))}return e}({delay:r.defaultDelay,countdownTime:r.defaultCountdown,redirectIntroduction:"payme.openPayMeApp",timeToPay:"payme.timeToPay",buttonLabel:"payme.redirectButtonLabel",introduction:o,instructions:t},super.formatProps(e))}}n(r,"type","payme"),n(r,"defaultCountdown",10),n(r,"defaultDelay",2e3);export{r as default};
2
2
  //# sourceMappingURL=PayMe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayMe.js","sources":["../../../../src/components/PayMe/PayMe.ts"],"sourcesContent":["import QRLoaderContainer from '../helpers/QRLoaderContainer';\nimport Instructions from './Instructions';\n\nclass PayMeElement extends QRLoaderContainer {\n public static type = 'payme';\n private static defaultCountdown = 10; // min\n private static defaultDelay = 2000; // ms\n\n formatProps(props) {\n return {\n delay: PayMeElement.defaultDelay,\n countdownTime: PayMeElement.defaultCountdown,\n redirectIntroduction: 'payme.openPayMeApp',\n introduction: 'payme.scanQrCode',\n timeToPay: 'payme.timeToPay',\n buttonLabel: 'payme.redirectButtonLabel',\n instructions: Instructions,\n ...super.formatProps(props)\n };\n }\n}\n\nexport default PayMeElement;\n"],"names":["PayMeElement","QRLoaderContainer","formatProps","props","_object_spread","delay","defaultDelay","countdownTime","defaultCountdown","redirectIntroduction","introduction","timeToPay","buttonLabel","instructions","Instructions","super","_define_property","type"],"mappings":"0NAGA,MAAMA,UAAqBC,EAKvBC,WAAAA,CAAYC,GACR,6UAAOC,CAAA,CACHC,MAAOL,EAAaM,aACpBC,cAAeP,EAAaQ,iBAC5BC,qBAAsB,qBACtBC,aAAc,mBACdC,UAAW,kBACXC,YAAa,4BACbC,aAAcC,GACXC,MAAMb,YAAYC,GAE7B,EAfAa,EADEhB,EACYiB,OAAO,SACrBD,EAFEhB,EAEaQ,mBAAmB,IAClCQ,EAHEhB,EAGaM,eAAe"}
1
+ {"version":3,"file":"PayMe.js","sources":["../../../../src/components/PayMe/PayMe.ts"],"sourcesContent":["import QRLoaderContainer from '../helpers/QRLoaderContainer';\nimport { PayMeInstructions } from './components/PayMeInstructions';\nimport { PayMeIntroduction } from './components/PayMeIntroduction';\n\nclass PayMeElement extends QRLoaderContainer {\n public static type = 'payme';\n private static defaultCountdown = 10; // min\n private static defaultDelay = 2000; // ms\n\n formatProps(props) {\n return {\n delay: PayMeElement.defaultDelay,\n countdownTime: PayMeElement.defaultCountdown,\n redirectIntroduction: 'payme.openPayMeApp',\n timeToPay: 'payme.timeToPay',\n buttonLabel: 'payme.redirectButtonLabel',\n introduction: PayMeIntroduction,\n instructions: PayMeInstructions,\n ...super.formatProps(props)\n };\n }\n}\n\nexport default PayMeElement;\n"],"names":["PayMeElement","QRLoaderContainer","formatProps","props","_object_spread","delay","defaultDelay","countdownTime","defaultCountdown","redirectIntroduction","timeToPay","buttonLabel","introduction","PayMeIntroduction","instructions","PayMeInstructions","super","_define_property","type"],"mappings":"qUAIA,MAAMA,UAAqBC,EAKvBC,WAAAA,CAAYC,GACR,6UAAOC,CAAA,CACHC,MAAOL,EAAaM,aACpBC,cAAeP,EAAaQ,iBAC5BC,qBAAsB,qBACtBC,UAAW,kBACXC,YAAa,4BACbC,aAAcC,EACdC,aAAcC,GACXC,MAAMd,YAAYC,GAE7B,EAfAc,EADEjB,EACYkB,OAAO,SACrBD,EAFEjB,EAEaQ,mBAAmB,IAClCS,EAHEjB,EAGaM,eAAe"}
@@ -0,0 +1,2 @@
1
+ import{useIsMobile as e}from"../../../utils/useIsMobile.js";import{useCoreContext as r}from"../../../core/Context/CoreProvider.js";import{TimelineWrapper as i}from"../../internal/Timeline/TimelineWrapper.js";import{Timeline as t}from"../../internal/Timeline/Timeline.js";import{createElement as n}from"../../../external/preact/dist/preact.js";const o=()=>{const{i18n:o}=r(),{isMobileScreenSize:s}=e();if(s)return null;const l=o.get("payme.instructions.steps").split("%@");return n(i,null,n(t,{instructions:l}))};export{o as PayMeInstructions};
2
+ //# sourceMappingURL=PayMeInstructions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PayMeInstructions.js","sources":["../../../../../src/components/PayMe/components/PayMeInstructions.tsx"],"sourcesContent":["import { useIsMobile } from '../../../utils/useIsMobile';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { Timeline, TimelineWrapper } from '../../internal/Timeline';\nimport { h } from 'preact';\n\nconst PayMeInstructions = () => {\n const { i18n } = useCoreContext();\n const { isMobileScreenSize } = useIsMobile();\n\n if (isMobileScreenSize) {\n return null;\n }\n\n const instructions = i18n.get('payme.instructions.steps').split('%@');\n\n return (\n <TimelineWrapper>\n <Timeline instructions={instructions} />\n </TimelineWrapper>\n );\n};\n\nexport { PayMeInstructions };\n"],"names":["PayMeInstructions","i18n","useCoreContext","isMobileScreenSize","useIsMobile","instructions","get","split","h","TimelineWrapper","Timeline"],"mappings":"uVAKA,MAAMA,EAAoB,KACtB,MAAMC,KAAEA,GAASC,KACXC,mBAAEA,GAAuBC,IAE/B,GAAID,EACA,OAAO,KAGX,MAAME,EAAeJ,EAAKK,IAAI,4BAA4BC,MAAM,MAEhE,OACIC,EAACC,OACGD,EAACE,EAAAA,CAASL,aAAcA"}
@@ -0,0 +1,2 @@
1
+ import{useCoreContext as e}from"../../../core/Context/CoreProvider.js";import{useIsMobile as r}from"../../../utils/useIsMobile.js";import{TimelineWrapper as t}from"../../internal/Timeline/TimelineWrapper.js";import{Timeline as i}from"../../internal/Timeline/Timeline.js";import{createElement as n,Fragment as o}from"../../../external/preact/dist/preact.js";const s=()=>{const{i18n:s}=e(),{isMobileScreenSize:m}=r(),l=s.get("payme.instructions.steps").split("%@");return m?n(t,null,n(i,{instructions:l})):n(o,null,s.get("payme.scanQrCode"))};export{s as PayMeIntroduction};
2
+ //# sourceMappingURL=PayMeIntroduction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PayMeIntroduction.js","sources":["../../../../../src/components/PayMe/components/PayMeIntroduction.tsx"],"sourcesContent":["import { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { useIsMobile } from '../../../utils/useIsMobile';\nimport { Timeline, TimelineWrapper } from '../../internal/Timeline';\nimport { Fragment, h } from 'preact';\n\nconst PayMeIntroduction = () => {\n const { i18n } = useCoreContext();\n const { isMobileScreenSize } = useIsMobile();\n\n const instructions = i18n.get('payme.instructions.steps').split('%@');\n\n return isMobileScreenSize ? (\n <TimelineWrapper>\n <Timeline instructions={instructions} />\n </TimelineWrapper>\n ) : (\n <Fragment>{i18n.get('payme.scanQrCode')}</Fragment>\n );\n};\n\nexport { PayMeIntroduction };\n"],"names":["PayMeIntroduction","i18n","useCoreContext","isMobileScreenSize","useIsMobile","instructions","get","split","h","TimelineWrapper","Timeline","Fragment"],"mappings":"qWAKA,MAAMA,EAAoB,KACtB,MAAMC,KAAEA,GAASC,KACXC,mBAAEA,GAAuBC,IAEzBC,EAAeJ,EAAKK,IAAI,4BAA4BC,MAAM,MAEhE,OAAOJ,EACHK,EAACC,EAAAA,KACGD,EAACE,EAAAA,CAASL,aAAcA,KAG5BG,EAACG,EAAAA,KAAUV,EAAKK,IAAI,oBAAA"}
@@ -1,2 +1,2 @@
1
- import e from"../helpers/QRLoaderContainer/QRLoaderContainer.js";import{delay as r,countdownTime as t}from"./config.js";import{TxVariants as o}from"../tx-variants.js";function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}class a extends e{formatProps(e){return function(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),o.forEach((function(r){n(e,r,t[r])}))}return e}({delay:r,countdownTime:t},super.formatProps(e))}}n(a,"type",o.paynow);export{a as default};
1
+ import t from"../helpers/QRLoaderContainer/QRLoaderContainer.js";import{delay as o,countdownTime as r}from"./config.js";import{TxVariants as e}from"../tx-variants.js";import{PayNowIntroduction as n}from"./components/PayNowIntroduction.js";import{PayNowInstructions as i}from"./components/PayNowInstructions.js";function a(t,o,r){return o in t?Object.defineProperty(t,o,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[o]=r,t}class c extends t{formatProps(t){return function(t){for(var o=1;o<arguments.length;o++){var r=null!=arguments[o]?arguments[o]:{},e=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(e=e.concat(Object.getOwnPropertySymbols(r).filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})))),e.forEach((function(o){a(t,o,r[o])}))}return t}({introduction:n,instructions:i,timeToPay:"payme.timeToPay",delay:o,countdownTime:r},super.formatProps(t))}}a(c,"type",e.paynow);export{c as default};
2
2
  //# sourceMappingURL=PayNow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayNow.js","sources":["../../../../src/components/PayNow/PayNow.ts"],"sourcesContent":["import QRLoaderContainer from '../helpers/QRLoaderContainer/QRLoaderContainer';\nimport { delay, countdownTime } from './config';\nimport { TxVariants } from '../tx-variants';\n\nclass PayNowElement extends QRLoaderContainer {\n public static type = TxVariants.paynow;\n\n formatProps(props) {\n return {\n delay,\n countdownTime,\n ...super.formatProps(props)\n };\n }\n}\n\nexport default PayNowElement;\n"],"names":["PayNowElement","QRLoaderContainer","formatProps","props","_object_spread","delay","countdownTime","super","_define_property","type","TxVariants","paynow"],"mappings":"+RAIA,MAAMA,UAAsBC,EAGxBC,WAAAA,CAAYC,GACR,6UAAOC,CAAA,CACHC,QACAC,iBACGC,MAAML,YAAYC,GAE7B,EARAK,EADER,EACYS,OAAOC,EAAWC"}
1
+ {"version":3,"file":"PayNow.js","sources":["../../../../src/components/PayNow/PayNow.ts"],"sourcesContent":["import QRLoaderContainer from '../helpers/QRLoaderContainer/QRLoaderContainer';\nimport { delay, countdownTime } from './config';\nimport { TxVariants } from '../tx-variants';\nimport { PayNowIntroduction } from './components/PayNowIntroduction';\nimport { PayNowInstructions } from './components/PayNowInstructions';\n\nclass PayNowElement extends QRLoaderContainer {\n public static type = TxVariants.paynow;\n\n formatProps(props) {\n return {\n introduction: PayNowIntroduction,\n instructions: PayNowInstructions,\n timeToPay: 'payme.timeToPay',\n delay,\n countdownTime,\n ...super.formatProps(props)\n };\n }\n}\n\nexport default PayNowElement;\n"],"names":["PayNowElement","QRLoaderContainer","formatProps","props","_object_spread","introduction","PayNowIntroduction","instructions","PayNowInstructions","timeToPay","delay","countdownTime","super","_define_property","type","TxVariants","paynow"],"mappings":"+aAMA,MAAMA,UAAsBC,EAGxBC,WAAAA,CAAYC,GACR,6UAAOC,CAAA,CACHC,aAAcC,EACdC,aAAcC,EACdC,UAAW,kBACXC,QACAC,iBACGC,MAAMV,YAAYC,GAE7B,EAXAU,EADEb,EACYc,OAAOC,EAAWC"}
@@ -0,0 +1,2 @@
1
+ import{createElement as e}from"../../../external/preact/dist/preact.js";import{useCoreContext as t}from"../../../core/Context/CoreProvider.js";import r from"../../internal/ContentSeparator/ContentSeparator.js";import{useIsMobile as o}from"../../../utils/useIsMobile.js";const n=()=>{const{i18n:n}=t(),{isMobileScreenSize:i}=o();if(i)return e("div",{className:"adyen-checkout-paynow__instructions"},e(r,null),e("p",null,n.get("paynow.scanQrCode")))};export{n as PayNowInstructions};
2
+ //# sourceMappingURL=PayNowInstructions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PayNowInstructions.js","sources":["../../../../../src/components/PayNow/components/PayNowInstructions.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport ContentSeparator from '../../internal/ContentSeparator';\nimport './PayNowInstructions.scss';\nimport { useIsMobile } from '../../../utils/useIsMobile';\n\nconst PayNowInstructions = () => {\n const { i18n } = useCoreContext();\n const { isMobileScreenSize } = useIsMobile();\n\n if (!isMobileScreenSize) return;\n\n return (\n <div className=\"adyen-checkout-paynow__instructions\">\n <ContentSeparator />\n <p>{i18n.get('paynow.scanQrCode')}</p>\n </div>\n );\n};\n\nexport { PayNowInstructions };\n"],"names":["PayNowInstructions","i18n","useCoreContext","isMobileScreenSize","useIsMobile","h","div","className","ContentSeparator","p","get"],"mappings":"8QAMA,MAAMA,EAAqB,KACvB,MAAMC,KAAEA,GAASC,KACXC,mBAAEA,GAAuBC,IAE/B,GAAKD,EAEL,OACIE,EAACC,MAAAA,CAAIC,UAAU,uCACXF,EAACG,EACD,MAAAH,EAACI,IAAGR,KAAAA,EAAKS,IAAI,sBAAA"}
@@ -0,0 +1,2 @@
1
+ import{createElement as e}from"../../../external/preact/dist/preact.js";import{useCoreContext as t}from"../../../core/Context/CoreProvider.js";import{TimelineWrapper as i}from"../../internal/Timeline/TimelineWrapper.js";import{Timeline as o}from"../../internal/Timeline/Timeline.js";import{useIsMobile as n}from"../../../utils/useIsMobile.js";const r=()=>{const{i18n:r}=t(),{isMobileScreenSize:s}=n(),p=[r.get("paynow.mobileViewInstruction.step1"),r.get("paynow.mobileViewInstruction.step2"),r.get("paynow.mobileViewInstruction.step3"),r.get("paynow.mobileViewInstruction.step4"),r.get("paynow.mobileViewInstruction.step5")];return e("div",{className:"adyen-checkout-paynow__introduction","data-testid":"paynow-introduction"},s?e(i,null,e(o,{instructions:p})):r.get("paynow.scanQrCode"))};export{r as PayNowIntroduction};
2
+ //# sourceMappingURL=PayNowIntroduction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PayNowIntroduction.js","sources":["../../../../../src/components/PayNow/components/PayNowIntroduction.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport './PayNowIntroduction.scss';\nimport { TimelineWrapper, Timeline } from '../../internal/Timeline';\nimport { useIsMobile } from '../../../utils/useIsMobile';\n\nconst PayNowIntroduction = () => {\n const { i18n } = useCoreContext();\n const { isMobileScreenSize } = useIsMobile();\n\n const instructions = [\n i18n.get('paynow.mobileViewInstruction.step1'),\n i18n.get('paynow.mobileViewInstruction.step2'),\n i18n.get('paynow.mobileViewInstruction.step3'),\n i18n.get('paynow.mobileViewInstruction.step4'),\n i18n.get('paynow.mobileViewInstruction.step5')\n ];\n\n return (\n <div className=\"adyen-checkout-paynow__introduction\" data-testid=\"paynow-introduction\">\n {isMobileScreenSize ? (\n <TimelineWrapper>\n <Timeline instructions={instructions} />\n </TimelineWrapper>\n ) : (\n i18n.get('paynow.scanQrCode')\n )}\n </div>\n );\n};\n\nexport { PayNowIntroduction };\n"],"names":["PayNowIntroduction","i18n","useCoreContext","isMobileScreenSize","useIsMobile","instructions","get","h","div","className","data-testid","TimelineWrapper","Timeline"],"mappings":"uVAMA,MAAMA,EAAqB,KACvB,MAAMC,KAAEA,GAASC,KACXC,mBAAEA,GAAuBC,IAEzBC,EAAe,CACjBJ,EAAKK,IAAI,sCACTL,EAAKK,IAAI,sCACTL,EAAKK,IAAI,sCACTL,EAAKK,IAAI,sCACTL,EAAKK,IAAI,uCAGb,OACIC,EAACC,MAAAA,CAAIC,UAAU,sCAAsCC,cAAY,uBAC5DP,EACGI,EAACI,OACGJ,EAACK,EAAAA,CAASP,aAAcA,KAG5BJ,EAAKK,IAAI,qBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Swish.js","sources":["../../../../src/components/Swish/Swish.ts"],"sourcesContent":["import QRLoaderContainer from '../helpers/QRLoaderContainer/QRLoaderContainer';\nimport { TxVariants } from '../tx-variants';\n\nclass SwishElement extends QRLoaderContainer {\n public static type = TxVariants.swish;\n\n formatProps(props) {\n return {\n delay: 2000, // ms\n countdownTime: 3, // min\n instructions: 'swish.pendingMessage',\n ...super.formatProps(props)\n };\n }\n}\n\nexport default SwishElement;\n"],"names":["SwishElement","QRLoaderContainer","formatProps","props","_object_spread","delay","countdownTime","instructions","super","_define_property","type","TxVariants","swish"],"mappings":"wOAGA,MAAMA,UAAqBC,EAGvBC,WAAAA,CAAYC,GACR,6UAAOC,CAAA,CACHC,MAAO,IACPC,cAAe,EACfC,aAAc,wBACXC,MAAMN,YAAYC,GAE7B,EATAM,EADET,EACYU,OAAOC,EAAWC"}
1
+ {"version":3,"file":"Swish.js","sources":["../../../../src/components/Swish/Swish.ts"],"sourcesContent":["import QRLoaderContainer from '../helpers/QRLoaderContainer/QRLoaderContainer';\nimport { TxVariants } from '../tx-variants';\nimport './Swish.scss';\n\nclass SwishElement extends QRLoaderContainer {\n public static type = TxVariants.swish;\n\n formatProps(props) {\n return {\n delay: 2000, // ms\n countdownTime: 3, // min\n instructions: 'swish.pendingMessage',\n ...super.formatProps(props)\n };\n }\n}\n\nexport default SwishElement;\n"],"names":["SwishElement","QRLoaderContainer","formatProps","props","_object_spread","delay","countdownTime","instructions","super","_define_property","type","TxVariants","swish"],"mappings":"wOAIA,MAAMA,UAAqBC,EAGvBC,WAAAA,CAAYC,GACR,6UAAOC,CAAA,CACHC,MAAO,IACPC,cAAe,EACfC,aAAc,wBACXC,MAAMN,YAAYC,GAE7B,EATAM,EADET,EACYU,OAAOC,EAAWC"}
@@ -1,2 +1,2 @@
1
- import{createElement as e,Fragment as t}from"../../../../external/preact/dist/preact.js";import{useState as a,useCallback as n,useEffect as o}from"../../../../external/preact/hooks/dist/hooks.js";import r from"../VpaInput/VpaInput.js";import l from"../../../../core/Context/useImage.js";import i from"./useUpiSegmentedControlOptions.js";import{A11Y as s}from"./constants.js";import d from"../../../internal/SegmentedControl/SegmentedControl.js";import u from"../../../internal/ContentSeparator/ContentSeparator.js";import p from"../UPIIntentAppList/UPIIntentAppList.js";import{useCoreContext as c}from"../../../../core/Context/CoreProvider.js";function m(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function g(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{},n=Object.keys(a);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(a).filter((function(e){return Object.getOwnPropertyDescriptor(a,e).enumerable})))),n.forEach((function(t){m(e,t,a[t])}))}return e}function b({defaultMode:m,onChange:b,onUpdateMode:f,payButton:y,showPayButton:I,apps:v=[]}){const{i18n:h}=c(),C=l(),[j,P]=a("ready"),[S,A]=a(!0),[V,N]=a(m),[O,k]=a(""),[w,x]=a(null),[B,E]=a(null),[q,T]=a(null),[U,M]=a(null),Q=i(v,V);this.setStatus=e=>{P(e)},this.showValidation=()=>{null==w||w.validateInput()};const R=n((e=>{x(e)}),[]),F=n((e=>{N(e),f(e)}),[f]),H=n((e=>{(null==e?void 0:e.id)!==(null==B?void 0:B.id)&&(E(e),A(!0))}),[B]),L=n((({data:{virtualPaymentAddress:e},errors:t,valid:a,isValid:n})=>{k(e),M(t),T(a),A(n)}),[]);return o((()=>{b("qrCode"!==V?{data:g({},O&&{virtualPaymentAddress:O},B&&{app:B}),errors:U,valid:q,isValid:S}:{data:{},valid:{},errors:{},isValid:!0})}),[O,B,U,q,S,V]),e(t,null,e("p",{className:"adyen-checkout_upi-mode-selection-text"},h.get("upi.modeSelection")),e(d,{onChange:F,selectedValue:V,disabled:"loading"===j,classNameModifiers:["upi-margin-bottom"],options:Q}),e(u,{label:h.get("upi.completePayment")}),"intent"===V&&e("div",{id:s.AreaId.INTENT,"aria-labelledby":s.ButtonId.INTENT,className:"adyen-checkout-upi-area-intent",role:"region"},e(p,{disabled:"loading"===j,apps:v,selectedAppId:null==B?void 0:B.id,onAppSelect:H,onVpaInputChange:L,onSetInputHandlers:R}),I&&y({label:h.get("continue"),status:j,disabled:null==B})),"vpa"===V&&e("div",{id:s.AreaId.VPA,"aria-labelledby":s.ButtonId.VPA,className:"adyen-checkout-upi-area-vpa",role:"region"},e(r,{disabled:"loading"===j,onChange:b,onSetInputHandlers:R}),I&&y({label:h.get("continue"),status:j})),"qrCode"===V&&e("div",{id:s.AreaId.QR,"aria-labelledby":s.ButtonId.QR,className:"adyen-checkout-upi-area-qr-code",role:"region"},I&&y({label:h.get("generateQRCode"),icon:C({imageFolder:"components/"})("qr"),status:j})))}export{b as default};
1
+ import{createElement as e,Fragment as t}from"../../../../external/preact/dist/preact.js";import{useState as a,useCallback as n,useEffect as o}from"../../../../external/preact/hooks/dist/hooks.js";import r from"../VpaInput/VpaInput.js";import l from"../../../../core/Context/useImage.js";import i from"./useUpiSegmentedControlOptions.js";import{A11Y as s}from"./constants.js";import d from"../../../internal/SegmentedControl/SegmentedControl.js";import u from"../../../internal/ContentSeparator/ContentSeparator.js";import p from"../UPIIntentAppList/UPIIntentAppList.js";import{useCoreContext as c}from"../../../../core/Context/CoreProvider.js";function m(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function g(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{},n=Object.keys(a);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(a).filter((function(e){return Object.getOwnPropertyDescriptor(a,e).enumerable})))),n.forEach((function(t){m(e,t,a[t])}))}return e}function b({defaultMode:m,onChange:b,onUpdateMode:f,payButton:y,showPayButton:I,apps:v=[]}){const{i18n:C}=c(),h=l(),[j,P]=a("ready"),[S,A]=a("qrCode"===m),[V,N]=a(m),[O,k]=a(""),[w,x]=a(null),[q,B]=a(null),[E,T]=a(null),[U,M]=a(null),Q=i(v,V);this.setStatus=e=>{P(e)},this.showValidation=()=>{null==w||w.validateInput()};const R=n((e=>{x(e)}),[]),F=n((e=>{N(e),f(e)}),[f]),H=n((e=>{(null==e?void 0:e.id)!==(null==q?void 0:q.id)&&(B(e),A(!0))}),[q]),L=n((({data:{virtualPaymentAddress:e},errors:t,valid:a,isValid:n})=>{k(e),M(t),T(a),A(n)}),[]);return o((()=>{b("qrCode"!==V?{data:g({},O&&{virtualPaymentAddress:O},q&&{app:q}),errors:U,valid:E,isValid:S}:{data:{},valid:{},errors:{},isValid:!0})}),[O,q,U,E,S,V]),e(t,null,e("p",{className:"adyen-checkout_upi-mode-selection-text"},C.get("upi.modeSelection")),e(d,{onChange:F,selectedValue:V,disabled:"loading"===j,classNameModifiers:["upi-margin-bottom"],options:Q}),e(u,{label:C.get("upi.completePayment")}),"intent"===V&&e("div",{id:s.AreaId.INTENT,"aria-labelledby":s.ButtonId.INTENT,className:"adyen-checkout-upi-area-intent",role:"region"},e(p,{disabled:"loading"===j,apps:v,selectedAppId:null==q?void 0:q.id,onAppSelect:H,onVpaInputChange:L,onSetInputHandlers:R}),I&&y({label:C.get("continue"),status:j,disabled:null==q})),"vpa"===V&&e("div",{id:s.AreaId.VPA,"aria-labelledby":s.ButtonId.VPA,className:"adyen-checkout-upi-area-vpa",role:"region"},e(r,{disabled:"loading"===j,onChange:b,onSetInputHandlers:R}),I&&y({label:C.get("continue"),status:j})),"qrCode"===V&&e("div",{id:s.AreaId.QR,"aria-labelledby":s.ButtonId.QR,className:"adyen-checkout-upi-area-qr-code",role:"region"},I&&y({label:C.get("generateQRCode"),icon:h({imageFolder:"components/"})("qr"),status:j})))}export{b as default};
2
2
  //# sourceMappingURL=UPIComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UPIComponent.js","sources":["../../../../../../src/components/UPI/components/UPIComponent/UPIComponent.tsx"],"sourcesContent":["import { Fragment, h, RefObject } from 'preact';\nimport { useCallback, useEffect, useState } from 'preact/hooks';\nimport { PayButtonFunctionProps, UIElementStatus } from '../../../types';\nimport VpaInput, { VpaInputHandlers } from '../VpaInput/VpaInput';\nimport { App, UpiMode } from '../../types';\nimport useImage from '../../../../core/Context/useImage';\nimport useUpiSegmentedControlOptions from './useUpiSegmentedControlOptions';\nimport { A11Y } from './constants';\nimport './UPIComponent.scss';\nimport SegmentedControl from '../../../internal/SegmentedControl';\nimport ContentSeparator from '../../../internal/ContentSeparator';\nimport UPIIntentAppList from '../UPIIntentAppList';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\n\ntype UpiData = { app?: App; virtualPaymentAddress?: string };\n\ntype OnChangeProps = { data: UpiData; valid; errors; isValid: boolean };\n\ninterface UPIComponentProps {\n defaultMode: UpiMode;\n showPayButton: boolean;\n apps?: Array<App>;\n\n ref?(ref: RefObject<typeof UPIComponent>): void;\n\n payButton?(props: PayButtonFunctionProps): h.JSX.Element;\n\n onChange({ data, valid, errors, isValid }: OnChangeProps): void;\n\n onUpdateMode?(mode: UpiMode): void;\n}\n\nexport default function UPIComponent({ defaultMode, onChange, onUpdateMode, payButton, showPayButton, apps = [] }: UPIComponentProps): h.JSX.Element {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n const [status, setStatus] = useState<UIElementStatus>('ready');\n const [isValid, setIsValid] = useState<boolean>(true);\n const [mode, setMode] = useState<UpiMode>(defaultMode);\n const [vpa, setVpa] = useState<string>('');\n const [vpaInputHandlers, setVpaInputHandlers] = useState<VpaInputHandlers>(null);\n const [selectedApp, setSelectedApp] = useState<App>(null);\n const [valid, setValid] = useState(null);\n const [errors, setErrors] = useState(null);\n const segmentedControlOptions = useUpiSegmentedControlOptions(apps, mode);\n\n this.setStatus = (status: UIElementStatus) => {\n setStatus(status);\n };\n\n this.showValidation = () => {\n vpaInputHandlers?.validateInput();\n };\n\n const onSetVpaInputHandlers = useCallback((handlers: VpaInputHandlers) => {\n setVpaInputHandlers(handlers);\n }, []);\n\n const onChangeUpiMode = useCallback(\n (newMode: UpiMode) => {\n setMode(newMode);\n onUpdateMode(newMode);\n },\n [onUpdateMode]\n );\n\n const handleAppSelect = useCallback(\n (app: App) => {\n if (app?.id === selectedApp?.id) return;\n\n setSelectedApp(app);\n setIsValid(true);\n },\n [selectedApp]\n );\n\n const handleVpaInputChange = useCallback(({ data: { virtualPaymentAddress }, errors, valid, isValid }: OnChangeProps) => {\n setVpa(virtualPaymentAddress);\n setErrors(errors);\n setValid(valid);\n setIsValid(isValid);\n }, []);\n\n useEffect(() => {\n if (mode !== 'qrCode') {\n onChange({\n data: { ...(vpa && { virtualPaymentAddress: vpa }), ...(selectedApp && { app: selectedApp }) },\n errors,\n valid,\n isValid\n });\n } else {\n /**\n * When selecting QR code mode, we need to clear the state data and trigger the 'onChange'.\n */\n onChange({ data: {}, valid: {}, errors: {}, isValid: true });\n }\n }, [vpa, selectedApp, errors, valid, isValid, mode]);\n\n return (\n <Fragment>\n <p className=\"adyen-checkout_upi-mode-selection-text\">{i18n.get('upi.modeSelection')}</p>\n <SegmentedControl\n onChange={onChangeUpiMode}\n selectedValue={mode}\n disabled={status === 'loading'}\n classNameModifiers={['upi-margin-bottom']}\n options={segmentedControlOptions}\n />\n <ContentSeparator label={i18n.get('upi.completePayment')} />\n {mode === 'intent' && (\n <div id={A11Y.AreaId.INTENT} aria-labelledby={A11Y.ButtonId.INTENT} className=\"adyen-checkout-upi-area-intent\" role=\"region\">\n <UPIIntentAppList\n disabled={status === 'loading'}\n apps={apps}\n selectedAppId={selectedApp?.id}\n onAppSelect={handleAppSelect}\n onVpaInputChange={handleVpaInputChange}\n onSetInputHandlers={onSetVpaInputHandlers}\n />\n\n {showPayButton &&\n payButton({\n label: i18n.get('continue'),\n status,\n disabled: selectedApp == null\n })}\n </div>\n )}\n {mode === 'vpa' && (\n <div id={A11Y.AreaId.VPA} aria-labelledby={A11Y.ButtonId.VPA} className=\"adyen-checkout-upi-area-vpa\" role=\"region\">\n <VpaInput disabled={status === 'loading'} onChange={onChange} onSetInputHandlers={onSetVpaInputHandlers} />\n\n {showPayButton &&\n payButton({\n label: i18n.get('continue'),\n status\n })}\n </div>\n )}\n {mode === 'qrCode' && (\n <div id={A11Y.AreaId.QR} aria-labelledby={A11Y.ButtonId.QR} className=\"adyen-checkout-upi-area-qr-code\" role=\"region\">\n {showPayButton &&\n payButton({\n label: i18n.get('generateQRCode'),\n icon: getImage({ imageFolder: 'components/' })('qr'),\n status\n })}\n </div>\n )}\n </Fragment>\n );\n}\n"],"names":["UPIComponent","defaultMode","onChange","onUpdateMode","payButton","showPayButton","apps","i18n","useCoreContext","getImage","useImage","status","setStatus","useState","isValid","setIsValid","mode","setMode","vpa","setVpa","vpaInputHandlers","setVpaInputHandlers","selectedApp","setSelectedApp","valid","setValid","errors","setErrors","segmentedControlOptions","useUpiSegmentedControlOptions","this","showValidation","validateInput","onSetVpaInputHandlers","useCallback","handlers","onChangeUpiMode","newMode","handleAppSelect","app","id","handleVpaInputChange","data","virtualPaymentAddress","useEffect","_object_spread","h","Fragment","p","className","get","SegmentedControl","selectedValue","disabled","classNameModifiers","options","ContentSeparator","label","div","A11Y","AreaId","INTENT","aria-labelledby","ButtonId","role","UPIIntentAppList","selectedAppId","onAppSelect","onVpaInputChange","onSetInputHandlers","VPA","VpaInput","QR","icon","imageFolder"],"mappings":"okCAgCe,SAASA,GAAaC,YAAEA,EAAWC,SAAEA,EAAQC,aAAEA,EAAYC,UAAEA,EAASC,cAAEA,EAAaC,KAAEA,EAAO,KACzG,MAAMC,KAAEA,GAASC,IACXC,EAAWC,KACVC,EAAQC,GAAaC,EAA0B,UAC/CC,EAASC,GAAcF,GAAkB,IACzCG,EAAMC,GAAWJ,EAAkBZ,IACnCiB,EAAKC,GAAUN,EAAiB,KAChCO,EAAkBC,GAAuBR,EAA2B,OACpES,EAAaC,GAAkBV,EAAc,OAC7CW,EAAOC,GAAYZ,EAAS,OAC5Ba,EAAQC,GAAad,EAAS,MAC/Be,EAA0BC,EAA8BvB,EAAMU,GAEpEc,KAAKlB,UAAaD,IACdC,EAAUD,EAAAA,EAGdmB,KAAKC,eAAiB,KAClBX,SAAAA,EAAkBY,eAAa,EAGnC,MAAMC,EAAwBC,GAAaC,IACvCd,EAAoBc,EAAAA,GACrB,IAEGC,EAAkBF,GACnBG,IACGpB,EAAQoB,GACRlC,EAAakC,EAAAA,GAEjB,CAAClC,IAGCmC,EAAkBJ,GACnBK,KACOA,aAAAA,EAAAA,EAAKC,OAAOlB,aAAAA,EAAAA,EAAakB,MAE7BjB,EAAegB,GACfxB,GAAW,GAAA,GAEf,CAACO,IAGCmB,EAAuBP,GAAY,EAAGQ,MAAQC,yBAAyBjB,SAAQF,QAAOV,cACxFK,EAAOwB,GACPhB,EAAUD,GACVD,EAASD,GACTT,EAAWD,EAAAA,GACZ,IAkBH,OAhBA8B,GAAU,KAEF1C,EADS,WAATc,EACS,CACL0B,KAAMG,KAAM3B,GAAO,CAAEyB,sBAAuBzB,GAAYI,GAAe,CAAEiB,IAAKjB,IAC9EI,SACAF,QACAV,WAMK,CAAE4B,KAAM,CAAC,EAAGlB,MAAO,CAAC,EAAGE,OAAQ,CAAC,EAAGZ,SAAS,GACzD,GACD,CAACI,EAAKI,EAAaI,EAAQF,EAAOV,EAASE,IAG1C8B,EAACC,OACGD,EAACE,IAAAA,CAAEC,UAAU,0CAA0C1C,EAAK2C,IAAI,sBAChEJ,EAACK,EAAAA,CACGjD,SAAUkC,EACVgB,cAAepC,EACfqC,SAAqB,YAAX1C,EACV2C,mBAAoB,CAAC,qBACrBC,QAAS3B,IAEbkB,EAACU,EAAAA,CAAiBC,MAAOlD,EAAK2C,IAAI,yBACxB,WAATlC,GACG8B,EAACY,MAAAA,CAAIlB,GAAImB,EAAKC,OAAOC,OAAQC,kBAAiBH,EAAKI,SAASF,OAAQZ,UAAU,iCAAiCe,KAAK,UAChHlB,EAACmB,EAAAA,CACGZ,SAAqB,YAAX1C,EACVL,KAAMA,EACN4D,cAAe5C,aAAAA,EAAAA,EAAakB,GAC5B2B,YAAa7B,EACb8B,iBAAkB3B,EAClB4B,mBAAoBpC,IAGvB5B,GACGD,EAAU,CACNqD,MAAOlD,EAAK2C,IAAI,YAChBvC,SACA0C,SAAyB,MAAf/B,KAIhB,QAATN,GACG8B,EAACY,MAAAA,CAAIlB,GAAImB,EAAKC,OAAOU,IAAKR,kBAAiBH,EAAKI,SAASO,IAAKrB,UAAU,8BAA8Be,KAAK,UACvGlB,EAACyB,EAAAA,CAASlB,SAAqB,YAAX1C,EAAsBT,SAAUA,EAAUmE,mBAAoBpC,IAEjF5B,GACGD,EAAU,CACNqD,MAAOlD,EAAK2C,IAAI,YAChBvC,YAIN,WAATK,GACG8B,EAACY,MAAAA,CAAIlB,GAAImB,EAAKC,OAAOY,GAAIV,kBAAiBH,EAAKI,SAASS,GAAIvB,UAAU,kCAAkCe,KAAK,UACxG3D,GACGD,EAAU,CACNqD,MAAOlD,EAAK2C,IAAI,kBAChBuB,KAAMhE,EAAS,CAAEiE,YAAa,eAAxBjE,CAAyC,MAC/CE,YAM5B"}
1
+ {"version":3,"file":"UPIComponent.js","sources":["../../../../../../src/components/UPI/components/UPIComponent/UPIComponent.tsx"],"sourcesContent":["import { Fragment, h, RefObject } from 'preact';\nimport { useCallback, useEffect, useState } from 'preact/hooks';\nimport { PayButtonFunctionProps, UIElementStatus } from '../../../types';\nimport VpaInput, { VpaInputHandlers } from '../VpaInput/VpaInput';\nimport { App, UpiMode } from '../../types';\nimport useImage from '../../../../core/Context/useImage';\nimport useUpiSegmentedControlOptions from './useUpiSegmentedControlOptions';\nimport { A11Y } from './constants';\nimport './UPIComponent.scss';\nimport SegmentedControl from '../../../internal/SegmentedControl';\nimport ContentSeparator from '../../../internal/ContentSeparator';\nimport UPIIntentAppList from '../UPIIntentAppList';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\n\ntype UpiData = { app?: App; virtualPaymentAddress?: string };\n\ntype OnChangeProps = { data: UpiData; valid; errors; isValid: boolean };\n\ninterface UPIComponentProps {\n defaultMode: UpiMode;\n showPayButton: boolean;\n apps?: Array<App>;\n\n ref?(ref: RefObject<typeof UPIComponent>): void;\n\n payButton?(props: PayButtonFunctionProps): h.JSX.Element;\n\n onChange({ data, valid, errors, isValid }: OnChangeProps): void;\n\n onUpdateMode?(mode: UpiMode): void;\n}\n\nexport default function UPIComponent({ defaultMode, onChange, onUpdateMode, payButton, showPayButton, apps = [] }: UPIComponentProps): h.JSX.Element {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n const [status, setStatus] = useState<UIElementStatus>('ready');\n const [isValid, setIsValid] = useState<boolean>(defaultMode === 'qrCode');\n const [mode, setMode] = useState<UpiMode>(defaultMode);\n const [vpa, setVpa] = useState<string>('');\n const [vpaInputHandlers, setVpaInputHandlers] = useState<VpaInputHandlers>(null);\n const [selectedApp, setSelectedApp] = useState<App>(null);\n const [valid, setValid] = useState(null);\n const [errors, setErrors] = useState(null);\n const segmentedControlOptions = useUpiSegmentedControlOptions(apps, mode);\n\n this.setStatus = (status: UIElementStatus) => {\n setStatus(status);\n };\n\n this.showValidation = () => {\n vpaInputHandlers?.validateInput();\n };\n\n const onSetVpaInputHandlers = useCallback((handlers: VpaInputHandlers) => {\n setVpaInputHandlers(handlers);\n }, []);\n\n const onChangeUpiMode = useCallback(\n (newMode: UpiMode) => {\n setMode(newMode);\n onUpdateMode(newMode);\n },\n [onUpdateMode]\n );\n\n const handleAppSelect = useCallback(\n (app: App) => {\n if (app?.id === selectedApp?.id) return;\n\n setSelectedApp(app);\n setIsValid(true);\n },\n [selectedApp]\n );\n\n const handleVpaInputChange = useCallback(({ data: { virtualPaymentAddress }, errors, valid, isValid }: OnChangeProps) => {\n setVpa(virtualPaymentAddress);\n setErrors(errors);\n setValid(valid);\n setIsValid(isValid);\n }, []);\n\n useEffect(() => {\n if (mode !== 'qrCode') {\n onChange({\n data: { ...(vpa && { virtualPaymentAddress: vpa }), ...(selectedApp && { app: selectedApp }) },\n errors,\n valid,\n isValid\n });\n } else {\n /**\n * When selecting QR code mode, we need to clear the state data and trigger the 'onChange'.\n */\n onChange({ data: {}, valid: {}, errors: {}, isValid: true });\n }\n }, [vpa, selectedApp, errors, valid, isValid, mode]);\n\n return (\n <Fragment>\n <p className=\"adyen-checkout_upi-mode-selection-text\">{i18n.get('upi.modeSelection')}</p>\n <SegmentedControl\n onChange={onChangeUpiMode}\n selectedValue={mode}\n disabled={status === 'loading'}\n classNameModifiers={['upi-margin-bottom']}\n options={segmentedControlOptions}\n />\n <ContentSeparator label={i18n.get('upi.completePayment')} />\n {mode === 'intent' && (\n <div id={A11Y.AreaId.INTENT} aria-labelledby={A11Y.ButtonId.INTENT} className=\"adyen-checkout-upi-area-intent\" role=\"region\">\n <UPIIntentAppList\n disabled={status === 'loading'}\n apps={apps}\n selectedAppId={selectedApp?.id}\n onAppSelect={handleAppSelect}\n onVpaInputChange={handleVpaInputChange}\n onSetInputHandlers={onSetVpaInputHandlers}\n />\n\n {showPayButton &&\n payButton({\n label: i18n.get('continue'),\n status,\n disabled: selectedApp == null\n })}\n </div>\n )}\n {mode === 'vpa' && (\n <div id={A11Y.AreaId.VPA} aria-labelledby={A11Y.ButtonId.VPA} className=\"adyen-checkout-upi-area-vpa\" role=\"region\">\n <VpaInput disabled={status === 'loading'} onChange={onChange} onSetInputHandlers={onSetVpaInputHandlers} />\n\n {showPayButton &&\n payButton({\n label: i18n.get('continue'),\n status\n })}\n </div>\n )}\n {mode === 'qrCode' && (\n <div id={A11Y.AreaId.QR} aria-labelledby={A11Y.ButtonId.QR} className=\"adyen-checkout-upi-area-qr-code\" role=\"region\">\n {showPayButton &&\n payButton({\n label: i18n.get('generateQRCode'),\n icon: getImage({ imageFolder: 'components/' })('qr'),\n status\n })}\n </div>\n )}\n </Fragment>\n );\n}\n"],"names":["UPIComponent","defaultMode","onChange","onUpdateMode","payButton","showPayButton","apps","i18n","useCoreContext","getImage","useImage","status","setStatus","useState","isValid","setIsValid","mode","setMode","vpa","setVpa","vpaInputHandlers","setVpaInputHandlers","selectedApp","setSelectedApp","valid","setValid","errors","setErrors","segmentedControlOptions","useUpiSegmentedControlOptions","this","showValidation","validateInput","onSetVpaInputHandlers","useCallback","handlers","onChangeUpiMode","newMode","handleAppSelect","app","id","handleVpaInputChange","data","virtualPaymentAddress","useEffect","_object_spread","h","Fragment","p","className","get","SegmentedControl","selectedValue","disabled","classNameModifiers","options","ContentSeparator","label","div","A11Y","AreaId","INTENT","aria-labelledby","ButtonId","role","UPIIntentAppList","selectedAppId","onAppSelect","onVpaInputChange","onSetInputHandlers","VPA","VpaInput","QR","icon","imageFolder"],"mappings":"okCAgCe,SAASA,GAAaC,YAAEA,EAAWC,SAAEA,EAAQC,aAAEA,EAAYC,UAAEA,EAASC,cAAEA,EAAaC,KAAEA,EAAO,KACzG,MAAMC,KAAEA,GAASC,IACXC,EAAWC,KACVC,EAAQC,GAAaC,EAA0B,UAC/CC,EAASC,GAAcF,EAAkC,WAAhBZ,IACzCe,EAAMC,GAAWJ,EAAkBZ,IACnCiB,EAAKC,GAAUN,EAAiB,KAChCO,EAAkBC,GAAuBR,EAA2B,OACpES,EAAaC,GAAkBV,EAAc,OAC7CW,EAAOC,GAAYZ,EAAS,OAC5Ba,EAAQC,GAAad,EAAS,MAC/Be,EAA0BC,EAA8BvB,EAAMU,GAEpEc,KAAKlB,UAAaD,IACdC,EAAUD,EAAAA,EAGdmB,KAAKC,eAAiB,KAClBX,SAAAA,EAAkBY,eAAa,EAGnC,MAAMC,EAAwBC,GAAaC,IACvCd,EAAoBc,EAAAA,GACrB,IAEGC,EAAkBF,GACnBG,IACGpB,EAAQoB,GACRlC,EAAakC,EAAAA,GAEjB,CAAClC,IAGCmC,EAAkBJ,GACnBK,KACOA,aAAAA,EAAAA,EAAKC,OAAOlB,aAAAA,EAAAA,EAAakB,MAE7BjB,EAAegB,GACfxB,GAAW,GAAA,GAEf,CAACO,IAGCmB,EAAuBP,GAAY,EAAGQ,MAAQC,yBAAyBjB,SAAQF,QAAOV,cACxFK,EAAOwB,GACPhB,EAAUD,GACVD,EAASD,GACTT,EAAWD,EAAAA,GACZ,IAkBH,OAhBA8B,GAAU,KAEF1C,EADS,WAATc,EACS,CACL0B,KAAMG,KAAM3B,GAAO,CAAEyB,sBAAuBzB,GAAYI,GAAe,CAAEiB,IAAKjB,IAC9EI,SACAF,QACAV,WAMK,CAAE4B,KAAM,CAAC,EAAGlB,MAAO,CAAC,EAAGE,OAAQ,CAAC,EAAGZ,SAAS,GACzD,GACD,CAACI,EAAKI,EAAaI,EAAQF,EAAOV,EAASE,IAG1C8B,EAACC,OACGD,EAACE,IAAAA,CAAEC,UAAU,0CAA0C1C,EAAK2C,IAAI,sBAChEJ,EAACK,EAAAA,CACGjD,SAAUkC,EACVgB,cAAepC,EACfqC,SAAqB,YAAX1C,EACV2C,mBAAoB,CAAC,qBACrBC,QAAS3B,IAEbkB,EAACU,EAAAA,CAAiBC,MAAOlD,EAAK2C,IAAI,yBACxB,WAATlC,GACG8B,EAACY,MAAAA,CAAIlB,GAAImB,EAAKC,OAAOC,OAAQC,kBAAiBH,EAAKI,SAASF,OAAQZ,UAAU,iCAAiCe,KAAK,UAChHlB,EAACmB,EAAAA,CACGZ,SAAqB,YAAX1C,EACVL,KAAMA,EACN4D,cAAe5C,aAAAA,EAAAA,EAAakB,GAC5B2B,YAAa7B,EACb8B,iBAAkB3B,EAClB4B,mBAAoBpC,IAGvB5B,GACGD,EAAU,CACNqD,MAAOlD,EAAK2C,IAAI,YAChBvC,SACA0C,SAAyB,MAAf/B,KAIhB,QAATN,GACG8B,EAACY,MAAAA,CAAIlB,GAAImB,EAAKC,OAAOU,IAAKR,kBAAiBH,EAAKI,SAASO,IAAKrB,UAAU,8BAA8Be,KAAK,UACvGlB,EAACyB,EAAAA,CAASlB,SAAqB,YAAX1C,EAAsBT,SAAUA,EAAUmE,mBAAoBpC,IAEjF5B,GACGD,EAAU,CACNqD,MAAOlD,EAAK2C,IAAI,YAChBvC,YAIN,WAATK,GACG8B,EAACY,MAAAA,CAAIlB,GAAImB,EAAKC,OAAOY,GAAIV,kBAAiBH,EAAKI,SAASS,GAAIvB,UAAU,kCAAkCe,KAAK,UACxG3D,GACGD,EAAU,CACNqD,MAAOlD,EAAK2C,IAAI,kBAChBuB,KAAMhE,EAAS,CAAEiE,YAAa,eAAxBjE,CAAyC,MAC/CE,YAM5B"}
@@ -1,2 +1,2 @@
1
- import{createElement as e,Fragment as t}from"../../../external/preact/dist/preact.js";import{useRef as r,useMemo as o,useState as n,useCallback as s,useEffect as a}from"../../../external/preact/hooks/dist/hooks.js";import i from"../FormFields/Fieldset/Fieldset.js";import l from"./components/ReadOnlyAddress.js";import{getAddressValidationRules as c}from"./validate.js";import{addressFormatters as d,countrySpecificFormatters as u}from"./validate.formats.js";import p from"./components/FieldContainer.js";import m from"../../../utils/useForm/useForm.js";import f from"./Specifications.js";import{FALLBACK_VALUE as y,ADDRESS_SCHEMA as b}from"./constants.js";import{getMaxLengthByFieldAndCountry as O}from"../../../utils/validator-utils.js";import{useCoreContext as h}from"../../../core/Context/CoreProvider.js";import g from"./components/AddressSearch.js";function j(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function F(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),o.forEach((function(t){j(e,t,r[t])}))}return e}function v(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function C(j){const{i18n:C}=h(),{label:A="",requiredFields:P,visibility:w,iOSFocusedField:S=null,showContextualElement:k}=j,x=r({});var D;Object.keys(x.current).length||(null===(D=j.setComponentRef)||void 0===D||D.call(j,x.current));const M=o((()=>new f(j.specifications)),[j.specifications]),E=M.getAddressSchemaForCountryFlat(j.countryCode).filter((e=>P.includes(e))),[B,N]=n(!1),[L,R]=n(!1),[V,q]=n(""),H=!!j.onAddressLookup,T=!j.onAddressLookup||(B||L),{data:_,errors:I,valid:$,isValid:z,handleChangeFor:G,triggerValidation:J,setData:K}=m({schema:E,defaultData:j.data,rules:F({},c(M),j.validationRules),formatters:d}),Q=s((e=>{b.forEach((t=>{const r=e[t];null!=r&&K(t,String(r))})),J(),N(!0)}),[N,J,K]),U=s((()=>{R(!0)}),[]);x.current.showValidation=()=>{J(),q(!H||T||z?"":C.get("address.errors.incomplete"))};const W=E.filter((e=>!S||e===S));if(a((()=>{const e=M.countryHasDataset(_.country)?"":y,t=v(F({},_),{stateOrProvince:e});P.forEach((e=>{var r;G(e,"input")(null!==(r=t[e])&&void 0!==r?r:"")})),t.postalCode&&G("postalCode","blur")(_.postalCode)}),[_.country]),a((()=>{const e=P.includes("stateOrProvince"),t=_.country&&M.countryHasDataset(_.country),r=e&&t,o=_.stateOrProvince||(r?"":y);G("stateOrProvince","input")(o)}),[]),a((()=>{const e=M.getOptionalFieldsForCountry(_.country),t=b.reduce(((t,r)=>{const o=e.includes(r),n=P.includes(r),s=_[r],a=j.data[r],i=o&&!s||!n?n||s||!a?y:a:s;return(null==i?void 0:i.length)&&(t[r]=i),t}),{});j.onChange({data:t,valid:$,errors:I,isValid:z})}),[_,$,I,z]),"hidden"===w)return null;if("readOnly"===w)return e(l,{data:_,label:A});const X=(t,{classNameModifiers:r=[]})=>P.includes(t)?e(p,{key:t,allowedCountries:j.allowedCountries,classNameModifiers:[...r,t],data:_,errors:I,valid:$,fieldName:t,onInput:G(t,"input"),onBlur:G(t,"blur"),onDropdownChange:G(t,"blur"),specifications:M,maxLength:O(u,t,_.country),trimOnBlur:!0,disabled:!W.includes(t),onFieldFocusAnalytics:j.onFieldFocusAnalytics,onFieldBlurAnalytics:j.onFieldBlurAnalytics}):null,Y=M.getAddressSchemaForCountry(_.country);return e(t,null,e(i,{classNameModifiers:[A||"address"],label:A},H&&e(g,{onAddressLookup:j.onAddressLookup,onAddressSelected:j.onAddressSelected,onSelect:Q,onManualAddress:U,externalErrorMessage:V,hideManualButton:T,showContextualElement:k,contextualText:C.get("address.search.contextualText"),addressSearchDebounceMs:j.addressSearchDebounceMs}),T&&e(t,null,Y.map((t=>t instanceof Array?e("div",{className:"adyen-checkout__field-group"},t.map((([e,t])=>X(e,{classNameModifiers:[`col-${t}`]})))):X(t,{}))))))}C.defaultProps={countryCode:null,validationRules:null,data:{},onChange:()=>{},visibility:"editable",requiredFields:b,specifications:{},onFieldFocusAnalytics:()=>{},onFieldBlurAnalytics:()=>{}};export{C as default};
1
+ import{createElement as e,Fragment as t}from"../../../external/preact/dist/preact.js";import{useRef as r,useMemo as o,useState as n,useCallback as s,useEffect as a}from"../../../external/preact/hooks/dist/hooks.js";import i from"../FormFields/Fieldset/Fieldset.js";import l from"./components/ReadOnlyAddress.js";import{getAddressValidationRules as c}from"./validate.js";import{addressFormatters as d,countrySpecificFormatters as u}from"./validate.formats.js";import p from"./components/FieldContainer.js";import m from"../../../utils/useForm/useForm.js";import f from"./Specifications.js";import{FALLBACK_VALUE as y,ADDRESS_SCHEMA as b}from"./constants.js";import{getMaxLengthByFieldAndCountry as O}from"../../../utils/validator-utils.js";import{useCoreContext as g}from"../../../core/Context/CoreProvider.js";import h from"./components/AddressSearch.js";function j(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function v(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),o.forEach((function(t){j(e,t,r[t])}))}return e}function F(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function C(j){const{i18n:C}=g(),{label:A="",requiredFields:P,visibility:w,iOSFocusedField:S=null,showContextualElement:k}=j,x=r({});var D;Object.keys(x.current).length||(null===(D=j.setComponentRef)||void 0===D||D.call(j,x.current));const M=o((()=>new f(j.specifications)),[j.specifications]),E=M.getAddressSchemaForCountryFlat(j.countryCode).filter((e=>P.includes(e))),[B,N]=n(!1),[L,R]=n(!1),[V,q]=n(""),H=!!j.onAddressLookup,[T,_]=n(!1),I=!j.onAddressLookup||(B||L),{data:$,errors:z,valid:G,isValid:J,handleChangeFor:K,triggerValidation:Q,setData:U,mergeData:W}=m({schema:E,defaultData:j.data,rules:v({},c(M),j.validationRules),formatters:d}),X=s((e=>{const t=b.reduce(((t,r)=>{const o=e[r];return null!=o&&(t[r]=String(o)),t}),{});W(t),_(!0),Q(),N(!0)}),[N,Q,U]),Y=s((()=>{R(!0)}),[]);x.current.showValidation=()=>{Q(),q(!H||I||J?"":C.get("address.errors.incomplete"))};const Z=E.filter((e=>!S||e===S));if(a((()=>{if(T)return void _(!1);const e=M.countryHasDataset($.country)?"":y,t=F(v({},$),{stateOrProvince:e});P.forEach((e=>{var r;K(e,"input")(null!==(r=t[e])&&void 0!==r?r:"")})),t.postalCode&&K("postalCode","blur")($.postalCode)}),[$.country]),a((()=>{const e=P.includes("stateOrProvince"),t=$.country&&M.countryHasDataset($.country),r=e&&t,o=$.stateOrProvince||(r?"":y);K("stateOrProvince","input")(o)}),[]),a((()=>{const e=M.getOptionalFieldsForCountry($.country),t=b.reduce(((t,r)=>{const o=e.includes(r),n=P.includes(r),s=$[r],a=j.data[r],i=o&&!s||!n?n||s||!a?y:a:s;return(null==i?void 0:i.length)&&(t[r]=i),t}),{});j.onChange({data:t,valid:G,errors:z,isValid:J})}),[$,G,z,J]),"hidden"===w)return null;if("readOnly"===w)return e(l,{data:$,label:A});const ee=(t,{classNameModifiers:r=[]})=>P.includes(t)?e(p,{key:t,allowedCountries:j.allowedCountries,classNameModifiers:[...r,t],data:$,errors:z,valid:G,fieldName:t,onInput:K(t,"input"),onBlur:K(t,"blur"),onDropdownChange:K(t,"blur"),specifications:M,maxLength:O(u,t,$.country),trimOnBlur:!0,disabled:!Z.includes(t),onFieldFocusAnalytics:j.onFieldFocusAnalytics,onFieldBlurAnalytics:j.onFieldBlurAnalytics}):null,te=M.getAddressSchemaForCountry($.country);return e(t,null,e(i,{classNameModifiers:[A||"address"],label:A},H&&e(h,{onAddressLookup:j.onAddressLookup,onAddressSelected:j.onAddressSelected,onSelect:X,onManualAddress:Y,externalErrorMessage:V,hideManualButton:I,showContextualElement:k,contextualText:C.get("address.search.contextualText"),addressSearchDebounceMs:j.addressSearchDebounceMs}),I&&e(t,null,te.map((t=>t instanceof Array?e("div",{className:"adyen-checkout__field-group"},t.map((([e,t])=>ee(e,{classNameModifiers:[`col-${t}`]})))):ee(t,{}))))))}C.defaultProps={countryCode:null,validationRules:null,data:{},onChange:()=>{},visibility:"editable",requiredFields:b,specifications:{},onFieldFocusAnalytics:()=>{},onFieldBlurAnalytics:()=>{}};export{C as default};
2
2
  //# sourceMappingURL=Address.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Address.js","sources":["../../../../../src/components/internal/Address/Address.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'preact/hooks';\nimport Fieldset from '../FormFields/Fieldset';\nimport ReadOnlyAddress from './components/ReadOnlyAddress';\nimport { getAddressValidationRules } from './validate';\nimport { addressFormatters, countrySpecificFormatters } from './validate.formats';\nimport { AddressProps } from './types';\nimport { AddressData } from '../../../types/global-types';\nimport FieldContainer from './components/FieldContainer';\nimport useForm from '../../../utils/useForm';\nimport Specifications from './Specifications';\nimport { ADDRESS_SCHEMA, FALLBACK_VALUE } from './constants';\nimport { getMaxLengthByFieldAndCountry } from '../../../utils/validator-utils';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport AddressSearch from './components/AddressSearch';\nimport { ComponentMethodsRef } from '../UIElement/types';\n\nexport default function Address(props: AddressProps) {\n const { i18n } = useCoreContext();\n\n const { label = '', requiredFields, visibility, iOSFocusedField = null, showContextualElement } = props;\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const addressRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(addressRef.current).length) {\n props.setComponentRef?.(addressRef.current);\n }\n\n const specifications = useMemo(() => new Specifications(props.specifications), [props.specifications]);\n\n const requiredFieldsSchema = specifications.getAddressSchemaForCountryFlat(props.countryCode).filter(field => requiredFields.includes(field));\n\n const [hasSelectedAddress, setHasSelectedAddress] = useState(false);\n\n const [useManualAddress, setUseManualAddress] = useState(false);\n\n const [searchErrorMessage, setSearchErrorMessage] = useState('');\n\n const showAddressSearch = !!props.onAddressLookup;\n\n const showAddressFields = props.onAddressLookup ? hasSelectedAddress || useManualAddress : true;\n\n const { data, errors, valid, isValid, handleChangeFor, triggerValidation, setData } = useForm<AddressData>({\n schema: requiredFieldsSchema,\n defaultData: props.data,\n // Ensure any passed validation rules are merged with the default ones\n rules: { ...getAddressValidationRules(specifications), ...props.validationRules },\n formatters: addressFormatters\n });\n\n const setSearchData = useCallback(\n (selectedAddress: AddressData) => {\n const propsKeysToProcess = ADDRESS_SCHEMA;\n propsKeysToProcess.forEach(propKey => {\n // Make sure the data provided by the merchant is always strings\n const providedValue = selectedAddress[propKey];\n if (providedValue === null || providedValue === undefined) return;\n // Cast everything to string\n setData(propKey, String(providedValue));\n });\n triggerValidation();\n setHasSelectedAddress(true);\n },\n [setHasSelectedAddress, triggerValidation, setData]\n );\n\n const onManualAddress = useCallback(() => {\n setUseManualAddress(true);\n }, []);\n\n // Expose method expected by (parent) Address.tsx\n addressRef.current.showValidation = () => {\n triggerValidation();\n if (showAddressSearch && !showAddressFields && !isValid) {\n setSearchErrorMessage(i18n.get('address.errors.incomplete'));\n } else {\n setSearchErrorMessage('');\n }\n };\n\n /**\n * For iOS: iOSFocusedField is the name of the element calling for other elements to be disabled\n * - so if it is set (meaning we are in iOS *and* an input has been focussed) only enable the field that corresponds to this element\n */\n const enabledFields: string[] = requiredFieldsSchema.filter(item => {\n return !iOSFocusedField ? true : item === iOSFocusedField;\n });\n\n /**\n * Effect that:\n * - Resets validation for all fields by triggering handleChangeFor(fieldName, 'input')\n * - Applies validation on postalCode field in case it has any value\n */\n useEffect((): void => {\n const stateOrProvince = specifications.countryHasDataset(data.country) ? '' : FALLBACK_VALUE;\n const newData = { ...data, stateOrProvince };\n\n requiredFields.forEach(fieldName => {\n handleChangeFor(fieldName, 'input')(newData[fieldName] ?? '');\n });\n\n if (newData.postalCode) {\n handleChangeFor('postalCode', 'blur')(data.postalCode);\n }\n }, [data.country]);\n\n /**\n * Set the value of 'stateOrProvince' during the initial render if\n * property is provided during the creation of the payment method\n */\n useEffect((): void => {\n const stateFieldIsRequired = requiredFields.includes('stateOrProvince');\n const countryHasStatesDataset = data.country && specifications.countryHasDataset(data.country);\n const addressShouldHaveState = stateFieldIsRequired && countryHasStatesDataset;\n const stateOrProvince = data.stateOrProvince || (addressShouldHaveState ? '' : FALLBACK_VALUE);\n\n handleChangeFor('stateOrProvince', 'input')(stateOrProvince);\n }, []);\n\n useEffect((): void => {\n const optionalFields = specifications.getOptionalFieldsForCountry(data.country);\n const processedData = ADDRESS_SCHEMA.reduce((acc, cur) => {\n const isOptional = optionalFields.includes(cur);\n const isRequired = requiredFields.includes(cur);\n const newValue = data[cur];\n const initialValue = props.data[cur];\n // recover default data values which are not requiredFields, or prefill with 'N/A'\n const fallbackValue = !isRequired && !newValue && !!initialValue ? initialValue : FALLBACK_VALUE;\n const value = (isOptional && !newValue) || !isRequired ? fallbackValue : newValue;\n if (value?.length) acc[cur] = value;\n return acc;\n }, {});\n\n props.onChange({ data: processedData, valid, errors, isValid });\n }, [data, valid, errors, isValid]);\n\n if (visibility === 'hidden') return null;\n if (visibility === 'readOnly') return <ReadOnlyAddress data={data} label={label} />;\n\n const getComponent = (fieldName: string, { classNameModifiers = [] }) => {\n if (!requiredFields.includes(fieldName)) return null;\n\n return (\n <FieldContainer\n key={fieldName}\n allowedCountries={props.allowedCountries}\n classNameModifiers={[...classNameModifiers, fieldName]}\n data={data}\n errors={errors}\n valid={valid}\n fieldName={fieldName}\n onInput={handleChangeFor(fieldName, 'input')}\n onBlur={handleChangeFor(fieldName, 'blur')}\n onDropdownChange={handleChangeFor(fieldName, 'blur')}\n specifications={specifications}\n maxLength={getMaxLengthByFieldAndCountry(countrySpecificFormatters, fieldName, data.country, true)}\n trimOnBlur={true}\n disabled={!enabledFields.includes(fieldName)}\n onFieldFocusAnalytics={props.onFieldFocusAnalytics}\n onFieldBlurAnalytics={props.onFieldBlurAnalytics}\n />\n );\n };\n\n const getWrapper = group => (\n <div className=\"adyen-checkout__field-group\">\n {group.map(([field, size]) => getComponent(field, { classNameModifiers: [`col-${size}`] }))}\n </div>\n );\n\n const addressSchema = specifications.getAddressSchemaForCountry(data.country);\n\n return (\n <Fragment>\n <Fieldset classNameModifiers={[label || 'address']} label={label}>\n {showAddressSearch && (\n <AddressSearch\n onAddressLookup={props.onAddressLookup}\n onAddressSelected={props.onAddressSelected}\n onSelect={setSearchData}\n onManualAddress={onManualAddress}\n externalErrorMessage={searchErrorMessage}\n hideManualButton={showAddressFields}\n showContextualElement={showContextualElement}\n contextualText={i18n.get('address.search.contextualText')}\n addressSearchDebounceMs={props.addressSearchDebounceMs}\n />\n )}\n {showAddressFields && (\n <Fragment>{addressSchema.map(field => (field instanceof Array ? getWrapper(field) : getComponent(field, {})))}</Fragment>\n )}\n </Fieldset>\n </Fragment>\n );\n}\n\nAddress.defaultProps = {\n countryCode: null,\n validationRules: null,\n data: {},\n onChange: () => {},\n visibility: 'editable',\n requiredFields: ADDRESS_SCHEMA,\n specifications: {},\n onFieldFocusAnalytics: () => {},\n onFieldBlurAnalytics: () => {}\n};\n"],"names":["Address","props","i18n","useCoreContext","label","requiredFields","visibility","iOSFocusedField","showContextualElement","addressRef","useRef","Object","keys","current","length","setComponentRef","specifications","useMemo","Specifications","requiredFieldsSchema","getAddressSchemaForCountryFlat","countryCode","filter","field","includes","hasSelectedAddress","setHasSelectedAddress","useState","useManualAddress","setUseManualAddress","searchErrorMessage","setSearchErrorMessage","showAddressSearch","onAddressLookup","showAddressFields","data","errors","valid","isValid","handleChangeFor","triggerValidation","setData","useForm","schema","defaultData","rules","_object_spread","getAddressValidationRules","validationRules","formatters","addressFormatters","setSearchData","useCallback","selectedAddress","ADDRESS_SCHEMA","forEach","propKey","providedValue","String","onManualAddress","showValidation","get","enabledFields","item","useEffect","stateOrProvince","countryHasDataset","country","FALLBACK_VALUE","newData","_object_spread_props","fieldName","postalCode","stateFieldIsRequired","countryHasStatesDataset","addressShouldHaveState","optionalFields","getOptionalFieldsForCountry","processedData","reduce","acc","cur","isOptional","isRequired","newValue","initialValue","value","onChange","h","ReadOnlyAddress","getComponent","classNameModifiers","FieldContainer","key","allowedCountries","onInput","onBlur","onDropdownChange","maxLength","getMaxLengthByFieldAndCountry","countrySpecificFormatters","trimOnBlur","disabled","onFieldFocusAnalytics","onFieldBlurAnalytics","addressSchema","getAddressSchemaForCountry","Fragment","Fieldset","AddressSearch","onAddressSelected","onSelect","externalErrorMessage","hideManualButton","contextualText","addressSearchDebounceMs","map","Array","div","className","size","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"Address.js","sources":["../../../../../src/components/internal/Address/Address.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'preact/hooks';\nimport Fieldset from '../FormFields/Fieldset';\nimport ReadOnlyAddress from './components/ReadOnlyAddress';\nimport { getAddressValidationRules } from './validate';\nimport { addressFormatters, countrySpecificFormatters } from './validate.formats';\nimport { AddressProps } from './types';\nimport { AddressData } from '../../../types/global-types';\nimport FieldContainer from './components/FieldContainer';\nimport useForm from '../../../utils/useForm';\nimport Specifications from './Specifications';\nimport { ADDRESS_SCHEMA, FALLBACK_VALUE } from './constants';\nimport { getMaxLengthByFieldAndCountry } from '../../../utils/validator-utils';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport AddressSearch from './components/AddressSearch';\nimport { ComponentMethodsRef } from '../UIElement/types';\n\nexport default function Address(props: AddressProps) {\n const { i18n } = useCoreContext();\n\n const { label = '', requiredFields, visibility, iOSFocusedField = null, showContextualElement } = props;\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const addressRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(addressRef.current).length) {\n props.setComponentRef?.(addressRef.current);\n }\n\n const specifications = useMemo(() => new Specifications(props.specifications), [props.specifications]);\n\n const requiredFieldsSchema = specifications.getAddressSchemaForCountryFlat(props.countryCode).filter(field => requiredFields.includes(field));\n\n const [hasSelectedAddress, setHasSelectedAddress] = useState(false);\n\n const [useManualAddress, setUseManualAddress] = useState(false);\n\n const [searchErrorMessage, setSearchErrorMessage] = useState('');\n\n const showAddressSearch = !!props.onAddressLookup;\n\n const [ignoreCountryChange, setIgnoreCountryChange] = useState(false);\n\n const showAddressFields = props.onAddressLookup ? hasSelectedAddress || useManualAddress : true;\n\n const { data, errors, valid, isValid, handleChangeFor, triggerValidation, setData, mergeData } = useForm<AddressData>({\n schema: requiredFieldsSchema,\n defaultData: props.data,\n // Ensure any passed validation rules are merged with the default ones\n rules: { ...getAddressValidationRules(specifications), ...props.validationRules },\n formatters: addressFormatters\n });\n\n const setSearchData = useCallback(\n (selectedAddress: AddressData) => {\n const propsKeysToProcess = ADDRESS_SCHEMA;\n const newStateData = propsKeysToProcess.reduce((acc: AddressData, propKey) => {\n // Make sure the data provided by the merchant is always strings\n const providedValue = selectedAddress[propKey];\n if (providedValue !== null && providedValue !== undefined) {\n // Cast everything to string\n acc[propKey] = String(providedValue);\n }\n return acc;\n }, {});\n mergeData(newStateData);\n setIgnoreCountryChange(true);\n triggerValidation();\n setHasSelectedAddress(true);\n },\n [setHasSelectedAddress, triggerValidation, setData]\n );\n\n const onManualAddress = useCallback(() => {\n setUseManualAddress(true);\n }, []);\n\n // Expose method expected by (parent) Address.tsx\n addressRef.current.showValidation = () => {\n triggerValidation();\n if (showAddressSearch && !showAddressFields && !isValid) {\n setSearchErrorMessage(i18n.get('address.errors.incomplete'));\n } else {\n setSearchErrorMessage('');\n }\n };\n\n /**\n * For iOS: iOSFocusedField is the name of the element calling for other elements to be disabled\n * - so if it is set (meaning we are in iOS *and* an input has been focussed) only enable the field that corresponds to this element\n */\n const enabledFields: string[] = requiredFieldsSchema.filter(item => {\n return !iOSFocusedField ? true : item === iOSFocusedField;\n });\n\n /**\n * Effect that:\n * - Resets validation for all fields by triggering handleChangeFor(fieldName, 'input')\n * - Applies validation on postalCode field in case it has any value\n */\n useEffect((): void => {\n // if the country was set via setSearchData we don't want to trigger this\n if (ignoreCountryChange) {\n setIgnoreCountryChange(false);\n return;\n }\n\n const stateOrProvince = specifications.countryHasDataset(data.country) ? '' : FALLBACK_VALUE;\n const newData = { ...data, stateOrProvince };\n\n requiredFields.forEach(fieldName => {\n handleChangeFor(fieldName, 'input')(newData[fieldName] ?? '');\n });\n\n if (newData.postalCode) {\n handleChangeFor('postalCode', 'blur')(data.postalCode);\n }\n }, [data.country]);\n\n /**\n * Set the value of 'stateOrProvince' during the initial render if\n * property is provided during the creation of the payment method\n */\n useEffect((): void => {\n const stateFieldIsRequired = requiredFields.includes('stateOrProvince');\n const countryHasStatesDataset = data.country && specifications.countryHasDataset(data.country);\n const addressShouldHaveState = stateFieldIsRequired && countryHasStatesDataset;\n const stateOrProvince = data.stateOrProvince || (addressShouldHaveState ? '' : FALLBACK_VALUE);\n\n handleChangeFor('stateOrProvince', 'input')(stateOrProvince);\n }, []);\n\n useEffect((): void => {\n const optionalFields = specifications.getOptionalFieldsForCountry(data.country);\n const processedData = ADDRESS_SCHEMA.reduce((acc, cur) => {\n const isOptional = optionalFields.includes(cur);\n const isRequired = requiredFields.includes(cur);\n const newValue = data[cur];\n const initialValue = props.data[cur];\n // recover default data values which are not requiredFields, or prefill with 'N/A'\n const fallbackValue = !isRequired && !newValue && !!initialValue ? initialValue : FALLBACK_VALUE;\n const value = (isOptional && !newValue) || !isRequired ? fallbackValue : newValue;\n if (value?.length) acc[cur] = value;\n return acc;\n }, {});\n\n props.onChange({ data: processedData, valid, errors, isValid });\n }, [data, valid, errors, isValid]);\n\n if (visibility === 'hidden') return null;\n if (visibility === 'readOnly') return <ReadOnlyAddress data={data} label={label} />;\n\n const getComponent = (fieldName: string, { classNameModifiers = [] }) => {\n if (!requiredFields.includes(fieldName)) return null;\n\n return (\n <FieldContainer\n key={fieldName}\n allowedCountries={props.allowedCountries}\n classNameModifiers={[...classNameModifiers, fieldName]}\n data={data}\n errors={errors}\n valid={valid}\n fieldName={fieldName}\n onInput={handleChangeFor(fieldName, 'input')}\n onBlur={handleChangeFor(fieldName, 'blur')}\n onDropdownChange={handleChangeFor(fieldName, 'blur')}\n specifications={specifications}\n maxLength={getMaxLengthByFieldAndCountry(countrySpecificFormatters, fieldName, data.country, true)}\n trimOnBlur={true}\n disabled={!enabledFields.includes(fieldName)}\n onFieldFocusAnalytics={props.onFieldFocusAnalytics}\n onFieldBlurAnalytics={props.onFieldBlurAnalytics}\n />\n );\n };\n\n const getWrapper = group => (\n <div className=\"adyen-checkout__field-group\">\n {group.map(([field, size]) => getComponent(field, { classNameModifiers: [`col-${size}`] }))}\n </div>\n );\n\n const addressSchema = specifications.getAddressSchemaForCountry(data.country);\n\n return (\n <Fragment>\n <Fieldset classNameModifiers={[label || 'address']} label={label}>\n {showAddressSearch && (\n <AddressSearch\n onAddressLookup={props.onAddressLookup}\n onAddressSelected={props.onAddressSelected}\n onSelect={setSearchData}\n onManualAddress={onManualAddress}\n externalErrorMessage={searchErrorMessage}\n hideManualButton={showAddressFields}\n showContextualElement={showContextualElement}\n contextualText={i18n.get('address.search.contextualText')}\n addressSearchDebounceMs={props.addressSearchDebounceMs}\n />\n )}\n {showAddressFields && (\n <Fragment>{addressSchema.map(field => (field instanceof Array ? getWrapper(field) : getComponent(field, {})))}</Fragment>\n )}\n </Fieldset>\n </Fragment>\n );\n}\n\nAddress.defaultProps = {\n countryCode: null,\n validationRules: null,\n data: {},\n onChange: () => {},\n visibility: 'editable',\n requiredFields: ADDRESS_SCHEMA,\n specifications: {},\n onFieldFocusAnalytics: () => {},\n onFieldBlurAnalytics: () => {}\n};\n"],"names":["Address","props","i18n","useCoreContext","label","requiredFields","visibility","iOSFocusedField","showContextualElement","addressRef","useRef","Object","keys","current","length","setComponentRef","specifications","useMemo","Specifications","requiredFieldsSchema","getAddressSchemaForCountryFlat","countryCode","filter","field","includes","hasSelectedAddress","setHasSelectedAddress","useState","useManualAddress","setUseManualAddress","searchErrorMessage","setSearchErrorMessage","showAddressSearch","onAddressLookup","ignoreCountryChange","setIgnoreCountryChange","showAddressFields","data","errors","valid","isValid","handleChangeFor","triggerValidation","setData","mergeData","useForm","schema","defaultData","rules","_object_spread","getAddressValidationRules","validationRules","formatters","addressFormatters","setSearchData","useCallback","selectedAddress","newStateData","ADDRESS_SCHEMA","reduce","acc","propKey","providedValue","String","onManualAddress","showValidation","get","enabledFields","item","useEffect","stateOrProvince","countryHasDataset","country","FALLBACK_VALUE","newData","_object_spread_props","forEach","fieldName","postalCode","stateFieldIsRequired","countryHasStatesDataset","addressShouldHaveState","optionalFields","getOptionalFieldsForCountry","processedData","cur","isOptional","isRequired","newValue","initialValue","value","onChange","h","ReadOnlyAddress","getComponent","classNameModifiers","FieldContainer","key","allowedCountries","onInput","onBlur","onDropdownChange","maxLength","getMaxLengthByFieldAndCountry","countrySpecificFormatters","trimOnBlur","disabled","onFieldFocusAnalytics","onFieldBlurAnalytics","addressSchema","getAddressSchemaForCountry","Fragment","Fieldset","AddressSearch","onAddressSelected","onSelect","externalErrorMessage","hideManualButton","contextualText","addressSearchDebounceMs","map","Array","div","className","size","defaultProps"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{Component as t,createElement as e}from"../../../external/preact/dist/preact.js";import o from"../Countdown/index.js";import r from"../Button/Button.js";import s from"../Spinner/Spinner.js";import a from"../../../core/Services/payment-status.js";import{processResponse as i}from"../../../core/ProcessResponse/process-response.js";import{copyToClipboard as n}from"../../../utils/clipboard.js";import c from"../../../core/Errors/AdyenCheckoutError.js";import{useCoreContext as p}from"../../../core/Context/CoreProvider.js";import d from"../ContentSeparator/ContentSeparator.js";import l from"../../../core/Context/useImage.js";import{useA11yReporter as m}from"../../../core/Errors/useA11yReporter.js";import u from"../../../utils/useAutoFocus.js";import{ANALYTICS_DOWNLOAD_STR as h,ANALYTICS_QR_CODE_DOWNLOAD as _}from"../../../core/Analytics/constants.js";import{PREFIX as y}from"../Icon/constants.js";function g(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}class f extends t{componentDidMount(){this.statusInterval()}componentWillUnmount(){clearTimeout(this.timeoutId)}pollStatus(t){clearTimeout(this.timeoutId),this.timeoutId=setTimeout((async()=>{const t=performance.now();await this.checkStatus();const e=performance.now();this.statusInterval(Math.round(e-t))}),t)}render({amount:t,url:a,brandLogo:i,brandName:c,countdownTime:g,type:f,onActionHandled:k},{expired:q,completed:b,loading:v}){var C,T;const{i18n:N,loadingContext:w}=p(),I=l(),j=this.props.qrCodeData?`${w}barcode.shtml?barcodeType=qrCode&fileType=png&data=${this.props.qrCodeData}`:this.props.qrCodeImage,S=(t,o)=>{const r=N.get(o);return m(r),e("div",{className:"adyen-checkout__qr-loader adyen-checkout__qr-loader--result"},e("img",{className:"adyen-checkout__qr-loader__icon adyen-checkout__qr-loader__icon--result",src:I({imageFolder:"components/"})(t),alt:r}),e("div",{className:"adyen-checkout__qr-loader__subtitle adyen-checkout__qr-loader__subtitle--result"},r))};if(q)return S("error","error.subtitle.payment");if(b)return S("success","creditCard.success");if(v)return e("div",{className:"adyen-checkout__qr-loader"},i&&e("img",{alt:c,src:i,className:"adyen-checkout__qr-loader__brand-logo"}),e(s,null));const x=N.get(this.props.timeToPay).split("%@"),E=u(),P=this.props.classNameModifiers.map((t=>`adyen-checkout__qr-loader--${t}`));return e("div",{className:`adyen-checkout__qr-loader adyen-checkout__qr-loader--${f} ${P.join(" ")}`},i&&e("img",{src:i,alt:c,className:"adyen-checkout__qr-loader__brand-logo"}),t&&t.value&&t.currency&&e("div",{className:"adyen-checkout__qr-loader__payment_amount"},N.amount(t.value,t.currency)),a&&e("div",{className:"adyen-checkout__qr-loader__app-link"},this.props.redirectIntroduction&&e("div",{className:"adyen-checkout__qr-loader__subtitle"},N.get(this.props.redirectIntroduction)),e(r,{classNameModifiers:["qr-loader"],onClick:()=>this.redirectToApp(a),label:N.get(this.props.buttonLabel)}),e(d,null)),e("div",{ref:E,tabIndex:0,className:"adyen-checkout__qr-loader__subtitle"},N.get(this.props.introduction)),e("img",{src:j,alt:N.get("wechatpay.scanqrcode"),onLoad:()=>{null==k||k({componentType:this.props.type,actionDescription:"qr-code-loaded"})}}),e("div",{className:"adyen-checkout__qr-loader__progress"},e("span",{className:"adyen-checkout__qr-loader__percentage",style:{width:`${this.state.percentage}%`}})),e("div",{className:"adyen-checkout__qr-loader__countdown"},x[0]," ",e(o,{minutesFromNow:g,onTick:this.onTick,onCompleted:this.onTimeUp})," ",x[1]),"string"==typeof this.props.instructions?e("div",{className:"adyen-checkout__qr-loader__instructions"},N.get(this.props.instructions)):null===(C=(T=this.props).instructions)||void 0===C?void 0:C.call(T),this.props.copyBtn&&e("div",{className:"adyen-checkout__qr-loader__actions"},e(r,{inline:!0,variant:"action",onClick:(t,{complete:e})=>{n(this.props.qrCodeData),this.props.onSubmitAnalytics({type:h,target:_}),e()},icon:I({imageFolder:"components/"})(`${y}copy`),label:N.get("button.copy")})))}constructor(t){super(t),g(this,"timeoutId",void 0),g(this,"redirectToApp",(t=>{window.location.assign(t)})),g(this,"statusInterval",((t=0)=>{if(this.state.expired||this.state.completed)return;this.setState((e=>({timePassed:e.timePassed+this.props.delay+t})));const e=this.state.timePassed>=this.props.throttleTime?this.props.throttledInterval:this.state.delay;this.pollStatus(e)})),g(this,"onTick",(t=>{this.setState({percentage:t.percentage})})),g(this,"onTimeUp",(()=>{this.setState({expired:!0}),clearTimeout(this.timeoutId),this.props.onError(new c("ERROR","Payment Expired"))})),g(this,"onComplete",(t=>{clearTimeout(this.timeoutId),this.setState({completed:!0,loading:!1});const e={data:{details:{payload:t.props.payload},paymentData:this.props.paymentData}};this.props.onComplete(e,this)})),g(this,"onError",(t=>{if(clearTimeout(this.timeoutId),this.setState({expired:!0,loading:!1}),t.props.payload){const e={data:{details:{payload:t.props.payload},paymentData:this.props.paymentData}};this.props.onComplete(e,this)}const e=new c("ERROR","error result with no payload in response");return this.props.onError(e)})),g(this,"checkStatus",(()=>{const{paymentData:t,clientKey:e,loadingContext:o,throttledInterval:r}=this.props;return a(t,e,o,r).then(i).catch((t=>({type:"network-error",props:t}))).then((t=>{switch(t.type){case"success":this.onComplete(t);break;case"error":this.onError(t);break;default:this.setState({loading:!1})}return t}))})),this.state={buttonStatus:"default",completed:!1,delay:t.delay,expired:!1,loading:!0,percentage:100,timePassed:0}}}g(f,"defaultProps",{delay:2e3,countdownTime:15,onError:()=>{},onComplete:()=>{},throttleTime:6e4,classNameModifiers:[],throttledInterval:1e4,introduction:"wechatpay.scanqrcode",timeToPay:"wechatpay.timetopay",buttonLabel:"openApp"});export{f as default};
1
+ import{Component as t,createElement as e}from"../../../external/preact/dist/preact.js";import o from"../Countdown/index.js";import r from"../Button/Button.js";import s from"../Spinner/Spinner.js";import a from"../../../core/Services/payment-status.js";import{processResponse as i}from"../../../core/ProcessResponse/process-response.js";import{copyToClipboard as n}from"../../../utils/clipboard.js";import c from"../../../core/Errors/AdyenCheckoutError.js";import{useCoreContext as p}from"../../../core/Context/CoreProvider.js";import d from"../ContentSeparator/ContentSeparator.js";import l from"../../../core/Context/useImage.js";import{useA11yReporter as m}from"../../../core/Errors/useA11yReporter.js";import u from"../../../utils/useAutoFocus.js";import{ANALYTICS_DOWNLOAD_STR as h,ANALYTICS_QR_CODE_DOWNLOAD as _}from"../../../core/Analytics/constants.js";import{PREFIX as y}from"../Icon/constants.js";function g(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}class f extends t{componentDidMount(){this.statusInterval()}componentWillUnmount(){clearTimeout(this.timeoutId)}pollStatus(t){clearTimeout(this.timeoutId),this.timeoutId=setTimeout((async()=>{const t=performance.now();await this.checkStatus();const e=performance.now();this.statusInterval(Math.round(e-t))}),t)}render({amount:t,url:a,brandLogo:i,brandName:c,countdownTime:g,type:f,onActionHandled:k},{expired:v,completed:q,loading:b}){var C,N,w,T;const{i18n:I,loadingContext:j}=p(),S=l(),x=this.props.qrCodeData?`${j}barcode.shtml?barcodeType=qrCode&fileType=png&data=${this.props.qrCodeData}`:this.props.qrCodeImage,E=(t,o)=>{const r=I.get(o);return m(r),e("div",{className:"adyen-checkout__qr-loader adyen-checkout__qr-loader--result"},e("img",{className:"adyen-checkout__qr-loader__icon adyen-checkout__qr-loader__icon--result",src:S({imageFolder:"components/"})(t),alt:r}),e("div",{className:"adyen-checkout__qr-loader__subtitle"},r))};if(v)return E("error","error.subtitle.payment");if(q)return E("success","creditCard.success");if(b)return e("div",{className:"adyen-checkout__qr-loader"},i&&e("div",{className:"adyen-checkout__qr-loader__brand-logo-wrapper"},e("img",{alt:c,src:i,className:"adyen-checkout__qr-loader__brand-logo"})),e(s,null));const P=I.get(this.props.timeToPay).split("%@"),D=u(),A=this.props.classNameModifiers.map((t=>`adyen-checkout__qr-loader--${t}`));return e("div",{className:`adyen-checkout__qr-loader adyen-checkout__qr-loader--${f} ${A.join(" ")}`},i&&e("div",{className:"adyen-checkout__qr-loader__brand-logo-wrapper"},e("img",{src:i,alt:c,className:"adyen-checkout__qr-loader__brand-logo"})),t&&t.value&&t.currency&&e("div",{className:"adyen-checkout__qr-loader__payment_amount"},I.amount(t.value,t.currency)),a&&e("div",{className:"adyen-checkout__qr-loader__app-link"},this.props.redirectIntroduction&&e("div",{className:"adyen-checkout__qr-loader__subtitle"},I.get(this.props.redirectIntroduction)),e(r,{classNameModifiers:["qr-loader"],onClick:()=>this.redirectToApp(a),label:I.get(this.props.buttonLabel)}),e(d,null)),e("div",{ref:D,tabIndex:0,className:"adyen-checkout__qr-loader__subtitle"},"string"==typeof this.props.introduction?I.get(this.props.introduction):null===(C=(N=this.props).introduction)||void 0===C?void 0:C.call(N)),e("img",{src:x,alt:I.get("wechatpay.scanqrcode"),onLoad:()=>{null==k||k({componentType:this.props.type,actionDescription:"qr-code-loaded"})}}),e("div",{className:"adyen-checkout__qr-loader__progress"},e("span",{className:"adyen-checkout__qr-loader__percentage",style:{width:`${this.state.percentage}%`}})),e("div",{className:"adyen-checkout__qr-loader__countdown"},P[0]," ",e(o,{minutesFromNow:g,onTick:this.onTick,onCompleted:this.onTimeUp})," ",P[1]),this.props.instructions&&e("div",{className:"adyen-checkout__qr-loader__instructions"},"string"==typeof this.props.instructions?I.get(this.props.instructions):null===(w=(T=this.props).instructions)||void 0===w?void 0:w.call(T)),this.props.copyBtn&&e("div",{className:"adyen-checkout__qr-loader__actions"},e(r,{inline:!0,variant:"action",onClick:(t,{complete:e})=>{n(this.props.qrCodeData),this.props.onSubmitAnalytics({type:h,target:_}),e()},icon:S({imageFolder:"components/"})(`${y}copy`),label:I.get("button.copy")})))}constructor(t){super(t),g(this,"timeoutId",void 0),g(this,"redirectToApp",(t=>{window.location.assign(t)})),g(this,"statusInterval",((t=0)=>{if(this.state.expired||this.state.completed)return;this.setState((e=>({timePassed:e.timePassed+this.props.delay+t})));const e=this.state.timePassed>=this.props.throttleTime?this.props.throttledInterval:this.state.delay;this.pollStatus(e)})),g(this,"onTick",(t=>{this.setState({percentage:t.percentage})})),g(this,"onTimeUp",(()=>{this.setState({expired:!0}),clearTimeout(this.timeoutId),this.props.onError(new c("ERROR","Payment Expired"))})),g(this,"onComplete",(t=>{clearTimeout(this.timeoutId),this.setState({completed:!0,loading:!1});const e={data:{details:{payload:t.props.payload},paymentData:this.props.paymentData}};this.props.onComplete(e,this)})),g(this,"onError",(t=>{if(clearTimeout(this.timeoutId),this.setState({expired:!0,loading:!1}),t.props.payload){const e={data:{details:{payload:t.props.payload},paymentData:this.props.paymentData}};this.props.onComplete(e,this)}const e=new c("ERROR","error result with no payload in response");return this.props.onError(e)})),g(this,"checkStatus",(()=>{const{paymentData:t,clientKey:e,loadingContext:o,throttledInterval:r}=this.props;return a(t,e,o,r).then(i).catch((t=>({type:"network-error",props:t}))).then((t=>{switch(t.type){case"success":this.onComplete(t);break;case"error":this.onError(t);break;default:this.setState({loading:!1})}return t}))})),this.state={buttonStatus:"default",completed:!1,delay:t.delay,expired:!1,loading:!0,percentage:100,timePassed:0}}}g(f,"defaultProps",{delay:2e3,countdownTime:15,onError:()=>{},onComplete:()=>{},throttleTime:6e4,classNameModifiers:[],throttledInterval:1e4,introduction:"wechatpay.scanqrcode",timeToPay:"wechatpay.timetopay",buttonLabel:"openApp"});export{f as default};
2
2
  //# sourceMappingURL=QRLoader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QRLoader.js","sources":["../../../../../src/components/internal/QRLoader/QRLoader.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport Countdown from '../Countdown';\nimport Button from '../Button';\nimport Spinner from '../Spinner';\nimport checkPaymentStatus from '../../../core/Services/payment-status';\nimport processResponse from '../../../core/ProcessResponse';\n\nimport './QRLoader.scss';\nimport { QRLoaderProps, QRLoaderState } from './types';\nimport copyToClipboard from '../../../utils/clipboard';\nimport AdyenCheckoutError from '../../../core/Errors/AdyenCheckoutError';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport ContentSeparator from '../ContentSeparator';\nimport { StatusObject } from '../Await/types';\nimport useImage from '../../../core/Context/useImage';\nimport { useA11yReporter } from '../../../core/Errors/useA11yReporter';\nimport useAutoFocus from '../../../utils/useAutoFocus';\nimport { ANALYTICS_DOWNLOAD_STR, ANALYTICS_QR_CODE_DOWNLOAD } from '../../../core/Analytics/constants';\nimport { PREFIX } from '../Icon/constants';\n\nconst QRCODE_URL = 'barcode.shtml?barcodeType=qrCode&fileType=png&data=';\n\nclass QRLoader extends Component<QRLoaderProps, QRLoaderState> {\n private timeoutId;\n\n constructor(props) {\n super(props);\n\n this.state = {\n buttonStatus: 'default',\n completed: false,\n delay: props.delay,\n expired: false,\n loading: true,\n percentage: 100,\n timePassed: 0\n };\n }\n\n public static defaultProps = {\n delay: 2000,\n countdownTime: 15,\n onError: () => {},\n onComplete: () => {},\n throttleTime: 60000,\n classNameModifiers: [],\n throttledInterval: 10000,\n introduction: 'wechatpay.scanqrcode',\n timeToPay: 'wechatpay.timetopay',\n buttonLabel: 'openApp'\n };\n\n componentDidMount() {\n this.statusInterval();\n }\n\n componentWillUnmount() {\n clearTimeout(this.timeoutId);\n }\n\n public redirectToApp = (url: string | URL) => {\n window.location.assign(url);\n };\n\n // Retry until getting a complete response from the server, or it times out\n public statusInterval = (responseTime = 0) => {\n // If we are already in the final statuses, do not poll!\n if (this.state.expired || this.state.completed) return;\n\n this.setState(previous => ({ timePassed: previous.timePassed + this.props.delay + responseTime }));\n // Changes interval time to 10 seconds after 1 minute (60 seconds)\n const newDelay = this.state.timePassed >= this.props.throttleTime ? this.props.throttledInterval : this.state.delay;\n this.pollStatus(newDelay);\n };\n\n private pollStatus(delay: number) {\n clearTimeout(this.timeoutId);\n\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n this.timeoutId = setTimeout(async () => {\n // Wait for previous status call to finish.\n // Also taking the server response time into the consideration to calculate timePassed.\n const start = performance.now();\n await this.checkStatus();\n const end = performance.now();\n this.statusInterval(Math.round(end - start));\n }, delay);\n }\n\n private onTick = (time): void => {\n this.setState({ percentage: time.percentage });\n };\n\n private onTimeUp = (): void => {\n this.setState({ expired: true });\n clearTimeout(this.timeoutId);\n this.props.onError(new AdyenCheckoutError('ERROR', 'Payment Expired'));\n };\n\n private onComplete = (status: StatusObject): void => {\n clearTimeout(this.timeoutId);\n this.setState({ completed: true, loading: false });\n\n const state = {\n data: {\n details: { payload: status.props.payload },\n paymentData: this.props.paymentData\n }\n };\n\n this.props.onComplete(state, this);\n };\n\n private onError = (status: StatusObject): void => {\n clearTimeout(this.timeoutId);\n this.setState({ expired: true, loading: false });\n\n if (status.props.payload) {\n const state = {\n data: {\n details: { payload: status.props.payload },\n paymentData: this.props.paymentData\n }\n };\n this.props.onComplete(state, this);\n }\n\n const error = new AdyenCheckoutError('ERROR', 'error result with no payload in response');\n return this.props.onError(error);\n };\n\n private checkStatus = () => {\n const { paymentData, clientKey, loadingContext, throttledInterval } = this.props;\n\n return checkPaymentStatus(paymentData, clientKey, loadingContext, throttledInterval)\n .then(processResponse)\n .catch(response => ({ type: 'network-error', props: response }))\n .then((status: StatusObject) => {\n switch (status.type) {\n case 'success':\n this.onComplete(status);\n break;\n case 'error':\n this.onError(status);\n break;\n default:\n this.setState({ loading: false });\n }\n return status;\n });\n };\n\n render({ amount, url, brandLogo, brandName, countdownTime, type, onActionHandled }: QRLoaderProps, { expired, completed, loading }) {\n const { i18n, loadingContext } = useCoreContext();\n const getImage = useImage();\n const qrCodeImage = this.props.qrCodeData ? `${loadingContext}${QRCODE_URL}${this.props.qrCodeData}` : this.props.qrCodeImage;\n const finalState = (image, message) => {\n const status = i18n.get(message);\n useA11yReporter(status);\n return (\n <div className=\"adyen-checkout__qr-loader adyen-checkout__qr-loader--result\">\n <img\n className=\"adyen-checkout__qr-loader__icon adyen-checkout__qr-loader__icon--result\"\n src={getImage({ imageFolder: 'components/' })(image)}\n alt={status}\n />\n <div className=\"adyen-checkout__qr-loader__subtitle adyen-checkout__qr-loader__subtitle--result\">{status}</div>\n </div>\n );\n };\n\n if (expired) {\n return finalState('error', 'error.subtitle.payment');\n }\n\n if (completed) {\n return finalState('success', 'creditCard.success');\n }\n\n if (loading) {\n return (\n <div className=\"adyen-checkout__qr-loader\">\n {brandLogo && <img alt={brandName} src={brandLogo} className=\"adyen-checkout__qr-loader__brand-logo\" />}\n <Spinner />\n </div>\n );\n }\n\n const timeToPayString = i18n.get(this.props.timeToPay).split('%@');\n\n const qrSubtitleRef = useAutoFocus();\n const classnames = this.props.classNameModifiers.map(m => `adyen-checkout__qr-loader--${m}`);\n\n return (\n <div className={`adyen-checkout__qr-loader adyen-checkout__qr-loader--${type} ${classnames.join(' ')}`}>\n {brandLogo && <img src={brandLogo} alt={brandName} className=\"adyen-checkout__qr-loader__brand-logo\" />}\n\n {amount && amount.value && amount.currency && (\n <div className=\"adyen-checkout__qr-loader__payment_amount\">{i18n.amount(amount.value, amount.currency)}</div>\n )}\n\n {url && (\n <div className=\"adyen-checkout__qr-loader__app-link\">\n {this.props.redirectIntroduction && (\n <div className=\"adyen-checkout__qr-loader__subtitle\">{i18n.get(this.props.redirectIntroduction)}</div>\n )}\n <Button classNameModifiers={['qr-loader']} onClick={() => this.redirectToApp(url)} label={i18n.get(this.props.buttonLabel)} />\n <ContentSeparator />\n </div>\n )}\n\n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */}\n <div ref={qrSubtitleRef} tabIndex={0} className=\"adyen-checkout__qr-loader__subtitle\">\n {i18n.get(this.props.introduction)}\n </div>\n\n <img\n src={qrCodeImage}\n alt={i18n.get('wechatpay.scanqrcode')}\n onLoad={() => {\n onActionHandled?.({\n componentType: this.props.type,\n actionDescription: 'qr-code-loaded'\n });\n }}\n />\n\n <div className=\"adyen-checkout__qr-loader__progress\">\n <span className=\"adyen-checkout__qr-loader__percentage\" style={{ width: `${this.state.percentage}%` }} />\n </div>\n\n <div className=\"adyen-checkout__qr-loader__countdown\">\n {timeToPayString[0]}&nbsp;\n <Countdown minutesFromNow={countdownTime} onTick={this.onTick} onCompleted={this.onTimeUp} />\n &nbsp;{timeToPayString[1]}\n </div>\n\n {typeof this.props.instructions === 'string' ? (\n <div className=\"adyen-checkout__qr-loader__instructions\">{i18n.get(this.props.instructions)}</div>\n ) : (\n this.props.instructions?.()\n )}\n\n {this.props.copyBtn && (\n <div className=\"adyen-checkout__qr-loader__actions\">\n <Button\n inline\n variant=\"action\"\n onClick={(e, { complete }) => {\n copyToClipboard(this.props.qrCodeData);\n this.props.onSubmitAnalytics({\n type: ANALYTICS_DOWNLOAD_STR,\n target: ANALYTICS_QR_CODE_DOWNLOAD\n });\n complete();\n }}\n icon={getImage({ imageFolder: 'components/' })(`${PREFIX}copy`)}\n label={i18n.get('button.copy')}\n />\n </div>\n )}\n </div>\n );\n }\n}\n\nexport default QRLoader;\n"],"names":["QRLoader","Component","componentDidMount","this","statusInterval","componentWillUnmount","clearTimeout","timeoutId","pollStatus","delay","setTimeout","async","start","performance","now","checkStatus","end","Math","round","render","amount","url","brandLogo","brandName","countdownTime","type","onActionHandled","expired","completed","loading","_this_props_instructions","_this_props","i18n","loadingContext","useCoreContext","getImage","useImage","qrCodeImage","props","qrCodeData","finalState","image","message","status","get","useA11yReporter","h","div","className","img","src","imageFolder","alt","Spinner","timeToPayString","timeToPay","split","qrSubtitleRef","useAutoFocus","classnames","classNameModifiers","map","m","join","value","currency","redirectIntroduction","Button","onClick","redirectToApp","label","buttonLabel","ContentSeparator","ref","tabIndex","introduction","onLoad","componentType","actionDescription","span","style","width","state","percentage","Countdown","minutesFromNow","onTick","onCompleted","onTimeUp","instructions","call","copyBtn","inline","variant","e","complete","copyToClipboard","onSubmitAnalytics","ANALYTICS_DOWNLOAD_STR","target","ANALYTICS_QR_CODE_DOWNLOAD","icon","PREFIX","constructor","super","_define_property","window","location","assign","responseTime","setState","previous","timePassed","newDelay","throttleTime","throttledInterval","time","onError","AdyenCheckoutError","onComplete","data","details","payload","paymentData","error","clientKey","checkPaymentStatus","then","processResponse","catch","response","buttonStatus","defaultProps"],"mappings":"mgCAsBA,MAAMA,UAAiBC,EA8BnBC,iBAAAA,GACIC,KAAKC,gBACT,CAEAC,oBAAAA,GACIC,aAAaH,KAAKI,UACtB,CAiBQC,UAAAA,CAAWC,GACfH,aAAaH,KAAKI,WAGlBJ,KAAKI,UAAYG,YAAWC,UAGxB,MAAMC,EAAQC,YAAYC,YACpBX,KAAKY,cACX,MAAMC,EAAMH,YAAYC,MACxBX,KAAKC,eAAea,KAAKC,MAAMF,EAAMJ,GAAAA,GACtCH,EACP,CAiEAU,MAAAA,EAAOC,OAAEA,EAAMC,IAAEA,EAAGC,UAAEA,EAASC,UAAEA,EAASC,cAAEA,EAAaC,KAAEA,EAAIC,gBAAEA,IAAkCC,QAAEA,EAAOC,UAAEA,EAASC,QAAEA,QAwFzGC,EAAAC,EAvFZ,MAAMC,KAAEA,EAAIC,eAAEA,GAAmBC,IAC3BC,EAAWC,IACXC,EAAclC,KAAKmC,MAAMC,WAAa,GAAGN,uDAA8B9B,KAAKmC,MAAMC,aAAepC,KAAKmC,MAAMD,YAC5GG,EAAa,CAACC,EAAOC,KACvB,MAAMC,EAASX,EAAKY,IAAIF,GAExB,OADAG,EAAgBF,GAEZG,EAACC,MAAAA,CAAIC,UAAU,+DACXF,EAACG,MAAAA,CACGD,UAAU,0EACVE,IAAKf,EAAS,CAAEgB,YAAa,eAAxBhB,CAAyCM,GAC9CW,IAAKT,IAETG,EAACC,MAAAA,CAAIC,UAAU,mFAAmFL,GAAAA,EAK9G,GAAIhB,EACA,OAAOa,EAAW,QAAS,0BAG/B,GAAIZ,EACA,OAAOY,EAAW,UAAW,sBAGjC,GAAIX,EACA,OACIiB,EAACC,MAAAA,CAAIC,UAAU,6BACV1B,GAAawB,EAACG,MAAAA,CAAIG,IAAK7B,EAAW2B,IAAK5B,EAAW0B,UAAU,0CAC7DF,EAACO,EAAAA,OAKb,MAAMC,EAAkBtB,EAAKY,IAAIzC,KAAKmC,MAAMiB,WAAWC,MAAM,MAEvDC,EAAgBC,IAChBC,EAAaxD,KAAKmC,MAAMsB,mBAAmBC,KAAIC,GAAK,8BAA8BA,MAExF,OACIhB,EAACC,MAAAA,CAAIC,UAAW,wDAAwDvB,KAAQkC,EAAWI,KAAK,QAC3FzC,GAAawB,EAACG,MAAAA,CAAIC,IAAK5B,EAAW8B,IAAK7B,EAAWyB,UAAU,0CAE5D5B,GAAUA,EAAO4C,OAAS5C,EAAO6C,UAC9BnB,EAACC,MAAAA,CAAIC,UAAU,6CAA6ChB,EAAKZ,OAAOA,EAAO4C,MAAO5C,EAAO6C,WAGhG5C,GACGyB,EAACC,MAAAA,CAAIC,UAAU,uCACV7C,KAAKmC,MAAM4B,sBACRpB,EAACC,MAAAA,CAAIC,UAAU,uCAAuChB,EAAKY,IAAIzC,KAAKmC,MAAM4B,uBAE9EpB,EAACqB,EAAAA,CAAOP,mBAAoB,CAAC,aAAcQ,QAAS,IAAMjE,KAAKkE,cAAchD,GAAMiD,MAAOtC,EAAKY,IAAIzC,KAAKmC,MAAMiC,eAC9GzB,EAAC0B,SAKT1B,EAACC,MAAAA,CAAI0B,IAAKhB,EAAeiB,SAAU,EAAG1B,UAAU,uCAC3ChB,EAAKY,IAAIzC,KAAKmC,MAAMqC,eAGzB7B,EAACG,MAAAA,CACGC,IAAKb,EACLe,IAAKpB,EAAKY,IAAI,wBACdgC,OAAQ,KACJlD,SAAAA,EAAkB,CACdmD,cAAe1E,KAAKmC,MAAMb,KAC1BqD,kBAAmB,kBACvB,IAIRhC,EAACC,MAAAA,CAAIC,UAAU,uCACXF,EAACiC,OAAAA,CAAK/B,UAAU,wCAAwCgC,MAAO,CAAEC,MAAO,GAAG9E,KAAK+E,MAAMC,kBAG1FrC,EAACC,MAAAA,CAAIC,UAAU,wCACVM,EAAgB,GAAG,IACpBR,EAACsC,EAAAA,CAAUC,eAAgB7D,EAAe8D,OAAQnF,KAAKmF,OAAQC,YAAapF,KAAKqF,WAAY,IACtFlC,EAAgB,IAGS,iBAA5BnD,KAAKmC,MAAMmD,aACf3C,EAACC,MAAAA,CAAIC,UAAU,2CAA2ChB,EAAKY,IAAIzC,KAAKmC,MAAMmD,eAE9E,QAAA3D,GAAAC,EAAA5B,KAAKmC,OAAMmD,oBAAX,IAAA3D,OAAA,EAAAA,EAAA4D,KAAA3D,GAGH5B,KAAKmC,MAAMqD,SACR7C,EAACC,MAAAA,CAAIC,UAAU,sCACXF,EAACqB,EAAAA,CACGyB,QAAAA,EACAC,QAAQ,SACRzB,QAAS,CAAC0B,GAAKC,eACXC,EAAgB7F,KAAKmC,MAAMC,YAC3BpC,KAAKmC,MAAM2D,kBAAkB,CACzBxE,KAAMyE,EACNC,OAAQC,IAEZL,GAAAA,EAEJM,KAAMlE,EAAS,CAAEgB,YAAa,eAAxBhB,CAAyC,GAAGmE,SAClDhC,MAAOtC,EAAKY,IAAI,kBAMxC,CA9OA2D,WAAAA,CAAYjE,GACRkE,MAAMlE,GAHVmE,EAAAtG,KAAQI,iBAAR,GAqCAkG,EAAAtG,KAAOkE,iBAAiBhD,IACpBqF,OAAOC,SAASC,OAAOvF,EAAAA,IAI3BoF,EAAOrG,KAAAA,kBAAiB,CAACyG,EAAe,KAEpC,GAAI1G,KAAK+E,MAAMvD,SAAWxB,KAAK+E,MAAMtD,UAAW,OAEhDzB,KAAK2G,UAASC,IAAa,CAAEC,WAAYD,EAASC,WAAa7G,KAAKmC,MAAM7B,MAAQoG,MAElF,MAAMI,EAAW9G,KAAK+E,MAAM8B,YAAc7G,KAAKmC,MAAM4E,aAAe/G,KAAKmC,MAAM6E,kBAAoBhH,KAAK+E,MAAMzE,MAC9GN,KAAKK,WAAWyG,EAAAA,IAiBpBR,EAAAtG,KAAQmF,UAAU8B,IACdjH,KAAK2G,SAAS,CAAE3B,WAAYiC,EAAKjC,YAAW,IAGhDsB,EAAAtG,KAAQqF,YAAW,KACfrF,KAAK2G,SAAS,CAAEnF,SAAS,IACzBrB,aAAaH,KAAKI,WAClBJ,KAAKmC,MAAM+E,QAAQ,IAAIC,EAAmB,QAAS,mBAAA,IAGvDb,EAAAtG,KAAQoH,cAAc5E,IAClBrC,aAAaH,KAAKI,WAClBJ,KAAK2G,SAAS,CAAElF,WAAW,EAAMC,SAAS,IAE1C,MAAMqD,EAAQ,CACVsC,KAAM,CACFC,QAAS,CAAEC,QAAS/E,EAAOL,MAAMoF,SACjCC,YAAaxH,KAAKmC,MAAMqF,cAIhCxH,KAAKmC,MAAMiF,WAAWrC,EAAO/E,KAAI,IAGrCsG,EAAAtG,KAAQkH,WAAW1E,IAIf,GAHArC,aAAaH,KAAKI,WAClBJ,KAAK2G,SAAS,CAAEnF,SAAS,EAAME,SAAS,IAEpCc,EAAOL,MAAMoF,QAAS,CACtB,MAAMxC,EAAQ,CACVsC,KAAM,CACFC,QAAS,CAAEC,QAAS/E,EAAOL,MAAMoF,SACjCC,YAAaxH,KAAKmC,MAAMqF,cAGhCxH,KAAKmC,MAAMiF,WAAWrC,EAAO/E,KACjC,CAEA,MAAMyH,EAAQ,IAAIN,EAAmB,QAAS,4CAC9C,OAAOnH,KAAKmC,MAAM+E,QAAQO,EAAAA,IAG9BnB,EAAAtG,KAAQY,eAAc,KAClB,MAAM4G,YAAEA,EAAWE,UAAEA,EAAS5F,eAAEA,EAAckF,kBAAEA,GAAsBhH,KAAKmC,MAE3E,OAAOwF,EAAmBH,EAAaE,EAAW5F,EAAgBkF,GAC7DY,KAAKC,GACLC,OAAMC,IAAa,CAAEzG,KAAM,gBAAiBa,MAAO4F,MACnDH,MAAMpF,IACH,OAAQA,EAAOlB,MACX,IAAK,UACDtB,KAAKoH,WAAW5E,GAChB,MACJ,IAAK,QACDxC,KAAKkH,QAAQ1E,GACb,MACJ,QACIxC,KAAK2G,SAAS,CAAEjF,SAAS,IAEjC,OAAOc,CAAAA,GACX,IAzHJxC,KAAK+E,MAAQ,CACTiD,aAAc,UACdvG,WAAW,EACXnB,MAAO6B,EAAM7B,MACbkB,SAAS,EACTE,SAAS,EACTsD,WAAY,IACZ6B,WAAY,EAEpB,EAEAP,EAjBEzG,EAiBYoI,eAAe,CACzB3H,MAAO,IACPe,cAAe,GACf6F,QAAS,OACTE,WAAY,OACZL,aAAc,IACdtD,mBAAoB,GACpBuD,kBAAmB,IACnBxC,aAAc,uBACdpB,UAAW,sBACXgB,YAAa"}
1
+ {"version":3,"file":"QRLoader.js","sources":["../../../../../src/components/internal/QRLoader/QRLoader.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport Countdown from '../Countdown';\nimport Button from '../Button';\nimport Spinner from '../Spinner';\nimport checkPaymentStatus from '../../../core/Services/payment-status';\nimport processResponse from '../../../core/ProcessResponse';\n\nimport './QRLoader.scss';\nimport { QRLoaderProps, QRLoaderState } from './types';\nimport copyToClipboard from '../../../utils/clipboard';\nimport AdyenCheckoutError from '../../../core/Errors/AdyenCheckoutError';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport ContentSeparator from '../ContentSeparator';\nimport { StatusObject } from '../Await/types';\nimport useImage from '../../../core/Context/useImage';\nimport { useA11yReporter } from '../../../core/Errors/useA11yReporter';\nimport useAutoFocus from '../../../utils/useAutoFocus';\nimport { ANALYTICS_DOWNLOAD_STR, ANALYTICS_QR_CODE_DOWNLOAD } from '../../../core/Analytics/constants';\nimport { PREFIX } from '../Icon/constants';\n\nconst QRCODE_URL = 'barcode.shtml?barcodeType=qrCode&fileType=png&data=';\n\nclass QRLoader extends Component<QRLoaderProps, QRLoaderState> {\n private timeoutId;\n\n constructor(props) {\n super(props);\n\n this.state = {\n buttonStatus: 'default',\n completed: false,\n delay: props.delay,\n expired: false,\n loading: true,\n percentage: 100,\n timePassed: 0\n };\n }\n\n public static defaultProps = {\n delay: 2000,\n countdownTime: 15,\n onError: () => {},\n onComplete: () => {},\n throttleTime: 60000,\n classNameModifiers: [],\n throttledInterval: 10000,\n introduction: 'wechatpay.scanqrcode',\n timeToPay: 'wechatpay.timetopay',\n buttonLabel: 'openApp'\n };\n\n componentDidMount() {\n this.statusInterval();\n }\n\n componentWillUnmount() {\n clearTimeout(this.timeoutId);\n }\n\n public redirectToApp = (url: string | URL) => {\n window.location.assign(url);\n };\n\n // Retry until getting a complete response from the server, or it times out\n public statusInterval = (responseTime = 0) => {\n // If we are already in the final statuses, do not poll!\n if (this.state.expired || this.state.completed) return;\n\n this.setState(previous => ({ timePassed: previous.timePassed + this.props.delay + responseTime }));\n // Changes interval time to 10 seconds after 1 minute (60 seconds)\n const newDelay = this.state.timePassed >= this.props.throttleTime ? this.props.throttledInterval : this.state.delay;\n this.pollStatus(newDelay);\n };\n\n private pollStatus(delay: number) {\n clearTimeout(this.timeoutId);\n\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n this.timeoutId = setTimeout(async () => {\n // Wait for previous status call to finish.\n // Also taking the server response time into the consideration to calculate timePassed.\n const start = performance.now();\n await this.checkStatus();\n const end = performance.now();\n this.statusInterval(Math.round(end - start));\n }, delay);\n }\n\n private onTick = (time): void => {\n this.setState({ percentage: time.percentage });\n };\n\n private onTimeUp = (): void => {\n this.setState({ expired: true });\n clearTimeout(this.timeoutId);\n this.props.onError(new AdyenCheckoutError('ERROR', 'Payment Expired'));\n };\n\n private onComplete = (status: StatusObject): void => {\n clearTimeout(this.timeoutId);\n this.setState({ completed: true, loading: false });\n\n const state = {\n data: {\n details: { payload: status.props.payload },\n paymentData: this.props.paymentData\n }\n };\n\n this.props.onComplete(state, this);\n };\n\n private onError = (status: StatusObject): void => {\n clearTimeout(this.timeoutId);\n this.setState({ expired: true, loading: false });\n\n if (status.props.payload) {\n const state = {\n data: {\n details: { payload: status.props.payload },\n paymentData: this.props.paymentData\n }\n };\n this.props.onComplete(state, this);\n }\n\n const error = new AdyenCheckoutError('ERROR', 'error result with no payload in response');\n return this.props.onError(error);\n };\n\n private checkStatus = () => {\n const { paymentData, clientKey, loadingContext, throttledInterval } = this.props;\n\n return checkPaymentStatus(paymentData, clientKey, loadingContext, throttledInterval)\n .then(processResponse)\n .catch(response => ({ type: 'network-error', props: response }))\n .then((status: StatusObject) => {\n switch (status.type) {\n case 'success':\n this.onComplete(status);\n break;\n case 'error':\n this.onError(status);\n break;\n default:\n this.setState({ loading: false });\n }\n return status;\n });\n };\n\n render({ amount, url, brandLogo, brandName, countdownTime, type, onActionHandled }: QRLoaderProps, { expired, completed, loading }) {\n const { i18n, loadingContext } = useCoreContext();\n const getImage = useImage();\n const qrCodeImage = this.props.qrCodeData ? `${loadingContext}${QRCODE_URL}${this.props.qrCodeData}` : this.props.qrCodeImage;\n const finalState = (image, message) => {\n const status = i18n.get(message);\n useA11yReporter(status);\n return (\n <div className=\"adyen-checkout__qr-loader adyen-checkout__qr-loader--result\">\n <img\n className=\"adyen-checkout__qr-loader__icon adyen-checkout__qr-loader__icon--result\"\n src={getImage({ imageFolder: 'components/' })(image)}\n alt={status}\n />\n <div className=\"adyen-checkout__qr-loader__subtitle\">{status}</div>\n </div>\n );\n };\n\n if (expired) {\n return finalState('error', 'error.subtitle.payment');\n }\n\n if (completed) {\n return finalState('success', 'creditCard.success');\n }\n\n if (loading) {\n return (\n <div className=\"adyen-checkout__qr-loader\">\n {brandLogo && (\n <div className=\"adyen-checkout__qr-loader__brand-logo-wrapper\">\n <img alt={brandName} src={brandLogo} className=\"adyen-checkout__qr-loader__brand-logo\" />\n </div>\n )}\n <Spinner />\n </div>\n );\n }\n\n const timeToPayString = i18n.get(this.props.timeToPay).split('%@');\n\n const qrSubtitleRef = useAutoFocus();\n const classnames = this.props.classNameModifiers.map(m => `adyen-checkout__qr-loader--${m}`);\n\n return (\n <div className={`adyen-checkout__qr-loader adyen-checkout__qr-loader--${type} ${classnames.join(' ')}`}>\n {brandLogo && (\n <div className=\"adyen-checkout__qr-loader__brand-logo-wrapper\">\n <img src={brandLogo} alt={brandName} className=\"adyen-checkout__qr-loader__brand-logo\" />\n </div>\n )}\n\n {amount && amount.value && amount.currency && (\n <div className=\"adyen-checkout__qr-loader__payment_amount\">{i18n.amount(amount.value, amount.currency)}</div>\n )}\n\n {url && (\n <div className=\"adyen-checkout__qr-loader__app-link\">\n {this.props.redirectIntroduction && (\n <div className=\"adyen-checkout__qr-loader__subtitle\">{i18n.get(this.props.redirectIntroduction)}</div>\n )}\n <Button classNameModifiers={['qr-loader']} onClick={() => this.redirectToApp(url)} label={i18n.get(this.props.buttonLabel)} />\n <ContentSeparator />\n </div>\n )}\n\n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */}\n <div ref={qrSubtitleRef} tabIndex={0} className=\"adyen-checkout__qr-loader__subtitle\">\n {typeof this.props.introduction === 'string' ? i18n.get(this.props.introduction) : this.props.introduction?.()}\n </div>\n\n <img\n src={qrCodeImage}\n alt={i18n.get('wechatpay.scanqrcode')}\n onLoad={() => {\n onActionHandled?.({\n componentType: this.props.type,\n actionDescription: 'qr-code-loaded'\n });\n }}\n />\n\n <div className=\"adyen-checkout__qr-loader__progress\">\n <span className=\"adyen-checkout__qr-loader__percentage\" style={{ width: `${this.state.percentage}%` }} />\n </div>\n\n <div className=\"adyen-checkout__qr-loader__countdown\">\n {timeToPayString[0]}&nbsp;\n <Countdown minutesFromNow={countdownTime} onTick={this.onTick} onCompleted={this.onTimeUp} />\n &nbsp;{timeToPayString[1]}\n </div>\n\n {this.props.instructions && (\n <div className=\"adyen-checkout__qr-loader__instructions\">\n {typeof this.props.instructions === 'string' ? i18n.get(this.props.instructions) : this.props.instructions?.()}\n </div>\n )}\n\n {this.props.copyBtn && (\n <div className=\"adyen-checkout__qr-loader__actions\">\n <Button\n inline\n variant=\"action\"\n onClick={(e, { complete }) => {\n copyToClipboard(this.props.qrCodeData);\n this.props.onSubmitAnalytics({\n type: ANALYTICS_DOWNLOAD_STR,\n target: ANALYTICS_QR_CODE_DOWNLOAD\n });\n complete();\n }}\n icon={getImage({ imageFolder: 'components/' })(`${PREFIX}copy`)}\n label={i18n.get('button.copy')}\n />\n </div>\n )}\n </div>\n );\n }\n}\n\nexport default QRLoader;\n"],"names":["QRLoader","Component","componentDidMount","this","statusInterval","componentWillUnmount","clearTimeout","timeoutId","pollStatus","delay","setTimeout","async","start","performance","now","checkStatus","end","Math","round","render","amount","url","brandLogo","brandName","countdownTime","type","onActionHandled","expired","completed","loading","_this_props_introduction","_this_props","_this_props_instructions","_this_props1","i18n","loadingContext","useCoreContext","getImage","useImage","qrCodeImage","props","qrCodeData","finalState","image","message","status","get","useA11yReporter","h","div","className","img","src","imageFolder","alt","Spinner","timeToPayString","timeToPay","split","qrSubtitleRef","useAutoFocus","classnames","classNameModifiers","map","m","join","value","currency","redirectIntroduction","Button","onClick","redirectToApp","label","buttonLabel","ContentSeparator","ref","tabIndex","introduction","call","onLoad","componentType","actionDescription","span","style","width","state","percentage","Countdown","minutesFromNow","onTick","onCompleted","onTimeUp","instructions","copyBtn","inline","variant","e","complete","copyToClipboard","onSubmitAnalytics","ANALYTICS_DOWNLOAD_STR","target","ANALYTICS_QR_CODE_DOWNLOAD","icon","PREFIX","constructor","super","_define_property","window","location","assign","responseTime","setState","previous","timePassed","newDelay","throttleTime","throttledInterval","time","onError","AdyenCheckoutError","onComplete","data","details","payload","paymentData","error","clientKey","checkPaymentStatus","then","processResponse","catch","response","buttonStatus","defaultProps"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{createElement as e}from"../../../external/preact/dist/preact.js";const t=({instructions:t})=>t&&0!==t.length?e("div",{className:"adyen-checkout-timeline"},e("ol",{className:"adyen-checkout-timeline__items"},t.map(((t,i)=>e("li",{className:"adyen-checkout-timeline-item",key:i},e("div",{className:"adyen-checkout-timeline-item__row"},e("div",{"aria-hidden":"true",className:"adyen-checkout-timeline-item__marker"},e("svg",{role:"img",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"none"},e("path",{fill:"#00112C",d:"M5.5 3.25C4.25736 3.25 3.25 4.25736 3.25 5.5V10.5C3.25 11.7426 4.25736 12.75 5.5 12.75H10.5C11.7426 12.75 12.75 11.7426 12.75 10.5V5.5C12.75 4.25736 11.7426 3.25 10.5 3.25H5.5Z"})),e("div",{className:"adyen-checkout-timeline-item__separator"})),e("div",{className:"adyen-checkout-timeline-item__content"},e("div",{className:"adyen-checkout-timeline-item__title"},t)))))))):null;export{t as Timeline};
2
+ //# sourceMappingURL=Timeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Timeline.js","sources":["../../../../../src/components/internal/Timeline/Timeline.tsx"],"sourcesContent":["import { h } from 'preact';\nimport './Timeline.scss';\n\ninterface Timeline {\n instructions: string[];\n}\n\nconst Timeline = ({ instructions }: Timeline) => {\n if (!instructions || instructions.length === 0) {\n return null;\n }\n\n return (\n <div className=\"adyen-checkout-timeline\">\n <ol className=\"adyen-checkout-timeline__items\">\n {instructions.map((value, index) => (\n <li className=\"adyen-checkout-timeline-item\" key={index}>\n <div className=\"adyen-checkout-timeline-item__row\">\n <div aria-hidden=\"true\" className=\"adyen-checkout-timeline-item__marker\">\n <svg role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\">\n <path\n fill=\"#00112C\"\n d=\"M5.5 3.25C4.25736 3.25 3.25 4.25736 3.25 5.5V10.5C3.25 11.7426 4.25736 12.75 5.5 12.75H10.5C11.7426 12.75 12.75 11.7426 12.75 10.5V5.5C12.75 4.25736 11.7426 3.25 10.5 3.25H5.5Z\"\n ></path>\n </svg>\n <div className=\"adyen-checkout-timeline-item__separator\"></div>\n </div>\n <div className=\"adyen-checkout-timeline-item__content\">\n <div className=\"adyen-checkout-timeline-item__title\">{value}</div>\n </div>\n </div>\n </li>\n ))}\n </ol>\n </div>\n );\n};\n\nexport { Timeline };\n"],"names":["Timeline","instructions","length","h","div","className","ol","map","value","index","li","key","aria-hidden","svg","role","xmlns","width","height","fill","path","d"],"mappings":"wEAOA,MAAMA,EAAW,EAAGC,kBACXA,GAAwC,IAAxBA,EAAaC,OAK9BC,EAACC,MAAAA,CAAIC,UAAU,2BACXF,EAACG,KAAAA,CAAGD,UAAU,kCACTJ,EAAaM,KAAI,CAACC,EAAOC,IACtBN,EAACO,KAAAA,CAAGL,UAAU,+BAA+BM,IAAKF,GAC9CN,EAACC,MAAAA,CAAIC,UAAU,qCACXF,EAACC,MAAAA,CAAIQ,cAAY,OAAOP,UAAU,wCAC9BF,EAACU,MAAAA,CAAIC,KAAK,MAAMC,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,KAAK,QAC3Ef,EAACgB,OAAAA,CACGD,KAAK,UACLE,EAAE,sLAGVjB,EAACC,MAAAA,CAAIC,UAAU,6CAEnBF,EAACC,MAAAA,CAAIC,UAAU,yCACXF,EAACC,MAAAA,CAAIC,UAAU,uCAAuCG,UAnBvE"}
@@ -0,0 +1,2 @@
1
+ import{createElement as e}from"../../../external/preact/dist/preact.js";const a=({children:a,className:t})=>e("div",{className:`adyen-checkout-timeline-wrapper ${t}`},a);export{a as TimelineWrapper};
2
+ //# sourceMappingURL=TimelineWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimelineWrapper.js","sources":["../../../../../src/components/internal/Timeline/TimelineWrapper.tsx"],"sourcesContent":["import { ComponentChildren, h } from 'preact';\nimport './TimelineWrapper.scss';\n\ninterface TimelineWrapperProps {\n children: ComponentChildren;\n className?: string;\n}\n\nconst TimelineWrapper = ({ children, className }: TimelineWrapperProps) => {\n return <div className={`adyen-checkout-timeline-wrapper ${className}`}>{children}</div>;\n};\n\nexport { TimelineWrapper };\n"],"names":["TimelineWrapper","children","className","h","div"],"mappings":"wEAQA,MAAMA,EAAkB,EAAGC,WAAUC,eAC1BC,EAACC,MAAAA,CAAIF,UAAW,mCAAmCA,KAAcD"}
@@ -1,2 +1,2 @@
1
- import{httpPost as e}from"../http.js";import t from"../../../utils/Storage.js";function n(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const r='WARNING: Failed to retrieve "checkoutAttemptId". Consequently, analytics will not be available for this payment. The payment process, however, will not be affected.';const o=({analyticsContext:o,clientKey:i,locale:c,analyticsPath:l,bundleType:a})=>{let s;const u={errorLevel:"fatal",loadingContext:o,path:`${l}?clientKey=${i}`};return o=>{const l=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),o.forEach((function(t){n(e,t,r[t])}))}return e}({version:"6.4.0",channel:"Web",platform:"Web",buildType:a,locale:c,referrer:window.location.href,screenWidth:window.screen.width},o);if(s)return s;if(!i)return Promise.reject("no-client-key");const f=new t("checkout-attempt-id","sessionStorage"),p=f.get();return function(e){if(!(null==e?void 0:e.id))return!1;const t=Date.now()-9e5;return e.timestamp>t}(p)?Promise.resolve(p.id):(s=e(u,l).then((e=>{if(null==e?void 0:e.checkoutAttemptId)return f.set({id:e.checkoutAttemptId,timestamp:Date.now()}),e.checkoutAttemptId})).catch((()=>Promise.reject(r))),s)}};export{r as FAILURE_MSG,o as default};
1
+ import{httpPost as e}from"../http.js";import t from"../../../utils/Storage.js";function n(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const r='WARNING: Failed to retrieve "checkoutAttemptId". Consequently, analytics will not be available for this payment. The payment process, however, will not be affected.';const o=({analyticsContext:o,clientKey:i,locale:c,analyticsPath:l,bundleType:a})=>{let s;const u={errorLevel:"fatal",loadingContext:o,path:`${l}?clientKey=${i}`};return o=>{const l=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),o.forEach((function(t){n(e,t,r[t])}))}return e}({version:"6.5.0",channel:"Web",platform:"Web",buildType:a,locale:c,referrer:window.location.href,screenWidth:window.screen.width},o);if(s)return s;if(!i)return Promise.reject("no-client-key");const f=new t("checkout-attempt-id","sessionStorage"),p=f.get();return function(e){if(!(null==e?void 0:e.id))return!1;const t=Date.now()-9e5;return e.timestamp>t}(p)?Promise.resolve(p.id):(s=e(u,l).then((e=>{if(null==e?void 0:e.checkoutAttemptId)return f.set({id:e.checkoutAttemptId,timestamp:Date.now()}),e.checkoutAttemptId})).catch((()=>Promise.reject(r))),s)}};export{r as FAILURE_MSG,o as default};
2
2
  //# sourceMappingURL=collect-id.js.map
@@ -1,2 +1,2 @@
1
- import{Language as t}from"../language/Language.js";import o from"./RiskModule/RiskModule.js";import e from"./ProcessResponse/PaymentMethods/PaymentMethods.js";import{getComponentForAction as s}from"./ProcessResponse/PaymentAction/PaymentAction.js";import n from"./Analytics/Analytics.js";import{processGlobalOptions as i,assertConfigurationPropertiesAreValid as r}from"./utils.js";import a from"./CheckoutSession/CheckoutSession.js";import{hasOwnProperty as l}from"../utils/hasOwnProperty.js";import{Resources as c}from"./Context/Resources.js";import{SRPanel as h}from"./Errors/SRPanel.js";import p from"./core.registry.js";import{sanitizeResponse as d,verifyPaymentDidNotFail as m,cleanupFinalResult as u}from"../components/internal/UIElement/utils.js";import y,{IMPLEMENTATION_ERROR as f}from"./Errors/AdyenCheckoutError.js";import{ANALYTICS_ACTION_STR as g}from"./Analytics/constants.js";import{THREEDS2_FULL as v}from"../components/ThreeDS2/constants.js";import{DEFAULT_LOCALE as b}from"../language/constants.js";import C from"./Services/get-translations.js";import{defaultProps as j}from"./core.defaultProps.js";import{formatLocale as w,formatCustomTranslations as O}from"../language/utils.js";import{resolveEnvironments as P}from"./Environment/Environment.js";function E(t,o,e){return o in t?Object.defineProperty(t,o,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[o]=e,t}function A(t){for(var o=1;o<arguments.length;o++){var e=null!=arguments[o]?arguments[o]:{},s=Object.keys(e);"function"==typeof Object.getOwnPropertySymbols&&(s=s.concat(Object.getOwnPropertySymbols(e).filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})))),s.forEach((function(o){E(t,o,e[o])}))}return t}function M(t,o){return o=null!=o?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):function(t){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);o.push.apply(o,e)}return o}(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))})),t}function x(t,o){if(null==t)return{};var e,s,n=function(t,o){if(null==t)return{};var e,s,n={},i=Object.keys(t);for(s=0;s<i.length;s++)e=i[s],o.indexOf(e)>=0||(n[e]=t[e]);return n}(t,o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)e=i[s],o.indexOf(e)>=0||Object.prototype.propertyIsEnumerable.call(t,e)&&(n[e]=t[e])}return n}class T{static setBundleType(t){T.metadata.bundleType=t}static register(...t){p.add(...t)}register(...t){p.add(...t)}getComponent(t){return p.getComponent(t)}async initialize(){return await this.initializeCore(),this.validateCoreConfiguration(),await this.createCoreModules(),this}async initializeCore(){return this.session?this.session.setupSession(this.options).then((t=>{const{amount:o,shopperLocale:e,countryCode:s,paymentMethods:n}=t,i=x(t,["amount","shopperLocale","countryCode","paymentMethods"]);return this.setOptions(M(A({},i),{amount:this.options.order?this.options.order.remainingAmount:o,locale:this.options.locale||e,countryCode:this.options.countryCode||s})),this.createPaymentMethodsList(n),this})).catch((t=>(this.options.onError&&this.options.onError(t),Promise.reject(t)))):(this.createPaymentMethodsList(),Promise.resolve(this))}async fetchLocaleTranslations(){try{return await C(this.cdnTranslationsUrl,T.metadata.version,this.options.locale)}catch(n){var t,o,e,s;n instanceof y?null===(t=(o=this.options).onError)||void 0===t||t.call(o,n):null===(e=(s=this.options).onError)||void 0===e||e.call(s,new y("ERROR","Failed to fetch translation",{cause:n}))}}validateCoreConfiguration(){if(this.options.paymentMethodsConfiguration&&console.warn('WARNING: "paymentMethodsConfiguration" is supported only by Drop-in.'),!this.options.countryCode)throw new y(f,"You must specify a countryCode when initializing checkout.");this.options.locale||this.setOptions({locale:b}),this.options.locale=w(this.options.locale),this.options.translations=O(this.options.translations)}submitDetails(t){let o=null;var e,s;(this.options.onAdditionalDetails&&(o=new Promise(((o,e)=>{this.options.onAdditionalDetails({data:t},void 0,{resolve:o,reject:e})}))),this.session&&(o=this.session.submitDetails(t).catch((t=>{var o,e;return null===(o=(e=this.options).onError)||void 0===o||o.call(e,t),Promise.reject(t)}))),o)?o.then(d).then(m).then((t=>{var o,e;u(t),null===(o=(e=this.options).onPaymentCompleted)||void 0===o||o.call(e,t)})).catch((t=>{var o,e;u(t),null===(o=(e=this.options).onPaymentFailed)||void 0===o||o.call(e,t)})):null===(e=(s=this.options).onError)||void 0===e||e.call(s,new y("IMPLEMENTATION_ERROR",'It can not submit the details. The callback "onAdditionalDetails" or the Session is not setup correctly.'))}createFromAction(t,o={}){if(!t||!t.type){if(l(t,"action")&&l(t,"resultCode"))throw new Error('createFromAction::Invalid Action - the passed action object itself has an "action" property and a "resultCode": have you passed in the whole response object by mistake?');throw new Error('createFromAction::Invalid Action - the passed action object does not have a "type" property')}if(t.type){const e=t.type===v?`${t.type}${t.subtype}`:t.paymentMethodType;this.modules.analytics.sendAnalytics(e,{type:g,subtype:t.type,message:`${e} action was handled by the SDK`});const n=A({},this.getCorePropsForComponent(),o);return s(this,p,t,n)}return this.handleCreateError()}getCorePropsForComponent(){return M(A({},i(this.options)),{core:this,i18n:this.modules.i18n,modules:this.modules,session:this.session,loadingContext:this.loadingContext,cdnContext:this.cdnImagesUrl,createFromAction:this.createFromAction})}storeElementReference(t){t&&this.components.push(t)}handleCreateError(t){var o;const e=null!==(o=null==t?void 0:t.name)&&void 0!==o?o:"The passed payment method",s=t?`${e} is not a valid Checkout Component. What was passed as a txVariant was: ${JSON.stringify(t)}. Check if this payment method is configured in the Backoffice or if the txVariant is a valid one`:"No Payment Method component was passed";throw new Error(s)}createPaymentMethodsList(t){this.paymentMethodsResponse=new e(this.options.paymentMethodsResponse||t,this.options)}async createCoreModules(){if(this.modules)return;const e=await this.fetchLocaleTranslations();this.modules=Object.freeze({risk:new o(this,M(A({},this.options),{loadingContext:this.loadingContext})),analytics:n({loadingContext:this.loadingContext,analyticsContext:this.analyticsContext,clientKey:this.options.clientKey,locale:this.options.locale,analytics:this.options.analytics,amount:this.options.amount,bundleType:T.metadata.bundleType}),resources:new c(this.cdnImagesUrl),i18n:new t({locale:this.options.locale,translations:e,customTranslations:this.options.translations}),srPanel:new h(this,A({},this.options.srConfig))})}constructor(t){var o;E(this,"session",void 0),E(this,"paymentMethodsResponse",void 0),E(this,"modules",void 0),E(this,"options",void 0),E(this,"analyticsContext",void 0),E(this,"loadingContext",void 0),E(this,"cdnImagesUrl",void 0),E(this,"cdnTranslationsUrl",void 0),E(this,"components",[]),E(this,"update",((t={})=>(this.setOptions(t),this.initialize().then((()=>(this.components.forEach((o=>{const e=A({},t,this.session&&{session:this.session});o.update(e)})),this)))))),E(this,"remove",(t=>(this.components=this.components.filter((o=>o._id!==t._id)),t.unmount(),this))),E(this,"setOptions",(t=>{var o;this.options=M(A({},this.options,t),{locale:(null==t?void 0:t.locale)||(null===(o=this.options)||void 0===o?void 0:o.locale)})})),r(t),this.createFromAction=this.createFromAction.bind(this),this.setOptions(A({},j,t));const{apiUrl:e,analyticsUrl:s,cdnImagesUrl:n,cdnTranslationsUrl:i}=P(this.options.environment,this.options._environmentUrls);this.loadingContext=e,this.analyticsContext=s,this.cdnImagesUrl=n,this.cdnTranslationsUrl=i,this.session=this.options.session&&new a(this.options.session,this.options.clientKey,this.loadingContext);const l=null===(o=this.options.clientKey)||void 0===o?void 0:o.substring(0,4);var c,h;if(("test"===l||"live"===l)&&!this.loadingContext.includes(l))throw new y("IMPLEMENTATION_ERROR",`Error: you are using a ${l} clientKey against the ${(null===(c=this.options._environmentUrls)||void 0===c?void 0:c.api)||this.options.environment} environment`);"pub."===l&&console.debug(`The value you are passing as your "clientKey" looks like an originKey (${null===(h=this.options.clientKey)||void 0===h?void 0:h.substring(0,12)}..). Although this is supported it is not the recommended way to integrate. To generate a clientKey, see the documentation (https://docs.adyen.com/development-resources/client-side-authentication/migrate-from-origin-key-to-client-key/) for more details.`);this.options.exposeLibraryMetadata&&(window.AdyenWebMetadata=T.metadata)}}E(T,"metadata",{version:"6.4.0",bundleType:"eslegacy"}),E(T,"registry",p);export{T as default};
1
+ import{Language as t}from"../language/Language.js";import o from"./RiskModule/RiskModule.js";import e from"./ProcessResponse/PaymentMethods/PaymentMethods.js";import{getComponentForAction as s}from"./ProcessResponse/PaymentAction/PaymentAction.js";import n from"./Analytics/Analytics.js";import{processGlobalOptions as i,assertConfigurationPropertiesAreValid as r}from"./utils.js";import a from"./CheckoutSession/CheckoutSession.js";import{hasOwnProperty as l}from"../utils/hasOwnProperty.js";import{Resources as c}from"./Context/Resources.js";import{SRPanel as h}from"./Errors/SRPanel.js";import p from"./core.registry.js";import{sanitizeResponse as d,verifyPaymentDidNotFail as m,cleanupFinalResult as u}from"../components/internal/UIElement/utils.js";import y,{IMPLEMENTATION_ERROR as f}from"./Errors/AdyenCheckoutError.js";import{ANALYTICS_ACTION_STR as g}from"./Analytics/constants.js";import{THREEDS2_FULL as v}from"../components/ThreeDS2/constants.js";import{DEFAULT_LOCALE as b}from"../language/constants.js";import C from"./Services/get-translations.js";import{defaultProps as j}from"./core.defaultProps.js";import{formatLocale as w,formatCustomTranslations as O}from"../language/utils.js";import{resolveEnvironments as P}from"./Environment/Environment.js";function E(t,o,e){return o in t?Object.defineProperty(t,o,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[o]=e,t}function A(t){for(var o=1;o<arguments.length;o++){var e=null!=arguments[o]?arguments[o]:{},s=Object.keys(e);"function"==typeof Object.getOwnPropertySymbols&&(s=s.concat(Object.getOwnPropertySymbols(e).filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})))),s.forEach((function(o){E(t,o,e[o])}))}return t}function M(t,o){return o=null!=o?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):function(t){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);o.push.apply(o,e)}return o}(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))})),t}function x(t,o){if(null==t)return{};var e,s,n=function(t,o){if(null==t)return{};var e,s,n={},i=Object.keys(t);for(s=0;s<i.length;s++)e=i[s],o.indexOf(e)>=0||(n[e]=t[e]);return n}(t,o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)e=i[s],o.indexOf(e)>=0||Object.prototype.propertyIsEnumerable.call(t,e)&&(n[e]=t[e])}return n}class T{static setBundleType(t){T.metadata.bundleType=t}static register(...t){p.add(...t)}register(...t){p.add(...t)}getComponent(t){return p.getComponent(t)}async initialize(){return await this.initializeCore(),this.validateCoreConfiguration(),await this.createCoreModules(),this}async initializeCore(){return this.session?this.session.setupSession(this.options).then((t=>{const{amount:o,shopperLocale:e,countryCode:s,paymentMethods:n}=t,i=x(t,["amount","shopperLocale","countryCode","paymentMethods"]);return this.setOptions(M(A({},i),{amount:this.options.order?this.options.order.remainingAmount:o,locale:this.options.locale||e,countryCode:this.options.countryCode||s})),this.createPaymentMethodsList(n),this})).catch((t=>(this.options.onError&&this.options.onError(t),Promise.reject(t)))):(this.createPaymentMethodsList(),Promise.resolve(this))}async fetchLocaleTranslations(){try{return await C(this.cdnTranslationsUrl,T.metadata.version,this.options.locale)}catch(n){var t,o,e,s;n instanceof y?null===(t=(o=this.options).onError)||void 0===t||t.call(o,n):null===(e=(s=this.options).onError)||void 0===e||e.call(s,new y("ERROR","Failed to fetch translation",{cause:n}))}}validateCoreConfiguration(){if(this.options.paymentMethodsConfiguration&&console.warn('WARNING: "paymentMethodsConfiguration" is supported only by Drop-in.'),!this.options.countryCode)throw new y(f,"You must specify a countryCode when initializing checkout.");this.options.locale||this.setOptions({locale:b}),this.options.locale=w(this.options.locale),this.options.translations=O(this.options.translations)}submitDetails(t){let o=null;var e,s;(this.options.onAdditionalDetails&&(o=new Promise(((o,e)=>{this.options.onAdditionalDetails({data:t},void 0,{resolve:o,reject:e})}))),this.session&&(o=this.session.submitDetails(t).catch((t=>{var o,e;return null===(o=(e=this.options).onError)||void 0===o||o.call(e,t),Promise.reject(t)}))),o)?o.then(d).then(m).then((t=>{var o,e;u(t),null===(o=(e=this.options).onPaymentCompleted)||void 0===o||o.call(e,t)})).catch((t=>{var o,e;u(t),null===(o=(e=this.options).onPaymentFailed)||void 0===o||o.call(e,t)})):null===(e=(s=this.options).onError)||void 0===e||e.call(s,new y("IMPLEMENTATION_ERROR",'It can not submit the details. The callback "onAdditionalDetails" or the Session is not setup correctly.'))}createFromAction(t,o={}){if(!t||!t.type){if(l(t,"action")&&l(t,"resultCode"))throw new Error('createFromAction::Invalid Action - the passed action object itself has an "action" property and a "resultCode": have you passed in the whole response object by mistake?');throw new Error('createFromAction::Invalid Action - the passed action object does not have a "type" property')}if(t.type){const e=t.type===v?`${t.type}${t.subtype}`:t.paymentMethodType;this.modules.analytics.sendAnalytics(e,{type:g,subtype:t.type,message:`${e} action was handled by the SDK`});const n=A({},this.getCorePropsForComponent(),o);return s(this,p,t,n)}return this.handleCreateError()}getCorePropsForComponent(){return M(A({},i(this.options)),{core:this,i18n:this.modules.i18n,modules:this.modules,session:this.session,loadingContext:this.loadingContext,cdnContext:this.cdnImagesUrl,createFromAction:this.createFromAction})}storeElementReference(t){t&&this.components.push(t)}handleCreateError(t){var o;const e=null!==(o=null==t?void 0:t.name)&&void 0!==o?o:"The passed payment method",s=t?`${e} is not a valid Checkout Component. What was passed as a txVariant was: ${JSON.stringify(t)}. Check if this payment method is configured in the Backoffice or if the txVariant is a valid one`:"No Payment Method component was passed";throw new Error(s)}createPaymentMethodsList(t){this.paymentMethodsResponse=new e(this.options.paymentMethodsResponse||t,this.options)}async createCoreModules(){if(this.modules)return;const e=await this.fetchLocaleTranslations();this.modules=Object.freeze({risk:new o(this,M(A({},this.options),{loadingContext:this.loadingContext})),analytics:n({loadingContext:this.loadingContext,analyticsContext:this.analyticsContext,clientKey:this.options.clientKey,locale:this.options.locale,analytics:this.options.analytics,amount:this.options.amount,bundleType:T.metadata.bundleType}),resources:new c(this.cdnImagesUrl),i18n:new t({locale:this.options.locale,translations:e,customTranslations:this.options.translations}),srPanel:new h(this,A({},this.options.srConfig))})}constructor(t){var o;E(this,"session",void 0),E(this,"paymentMethodsResponse",void 0),E(this,"modules",void 0),E(this,"options",void 0),E(this,"analyticsContext",void 0),E(this,"loadingContext",void 0),E(this,"cdnImagesUrl",void 0),E(this,"cdnTranslationsUrl",void 0),E(this,"components",[]),E(this,"update",((t={})=>(this.setOptions(t),this.initialize().then((()=>(this.components.forEach((o=>{const e=A({},t,this.session&&{session:this.session});o.update(e)})),this)))))),E(this,"remove",(t=>(this.components=this.components.filter((o=>o._id!==t._id)),t.unmount(),this))),E(this,"setOptions",(t=>{var o;this.options=M(A({},this.options,t),{locale:(null==t?void 0:t.locale)||(null===(o=this.options)||void 0===o?void 0:o.locale)})})),r(t),this.createFromAction=this.createFromAction.bind(this),this.setOptions(A({},j,t));const{apiUrl:e,analyticsUrl:s,cdnImagesUrl:n,cdnTranslationsUrl:i}=P(this.options.environment,this.options._environmentUrls);this.loadingContext=e,this.analyticsContext=s,this.cdnImagesUrl=n,this.cdnTranslationsUrl=i,this.session=this.options.session&&new a(this.options.session,this.options.clientKey,this.loadingContext);const l=null===(o=this.options.clientKey)||void 0===o?void 0:o.substring(0,4);var c,h;if(("test"===l||"live"===l)&&!this.loadingContext.includes(l))throw new y("IMPLEMENTATION_ERROR",`Error: you are using a ${l} clientKey against the ${(null===(c=this.options._environmentUrls)||void 0===c?void 0:c.api)||this.options.environment} environment`);"pub."===l&&console.debug(`The value you are passing as your "clientKey" looks like an originKey (${null===(h=this.options.clientKey)||void 0===h?void 0:h.substring(0,12)}..). Although this is supported it is not the recommended way to integrate. To generate a clientKey, see the documentation (https://docs.adyen.com/development-resources/client-side-authentication/migrate-from-origin-key-to-client-key/) for more details.`);this.options.exposeLibraryMetadata&&(window.AdyenWebMetadata=T.metadata)}}E(T,"metadata",{version:"6.5.0",bundleType:"eslegacy"}),E(T,"registry",p);export{T as default};
2
2
  //# sourceMappingURL=core.js.map
@@ -1,2 +1,2 @@
1
- const e={IDR:1,JPY:1,KRW:1,VND:1,BYR:1,CVE:1,DJF:1,GHC:1,GNF:1,KMF:1,ISK:1,PYG:1,RWF:1,UGX:1,VUV:1,XAF:1,XOF:1,XPF:1,MRO:10,BHD:1e3,IQD:1e3,JOD:1e3,KWD:1e3,OMR:1e3,LYD:1e3,TND:1e3};export{e as default};
1
+ const e={IDR:1,JPY:1,KRW:1,VND:1,BYR:1,CVE:1,DJF:1,GHC:1,GNF:1,KMF:1,PYG:1,RWF:1,UGX:1,VUV:1,XAF:1,XOF:1,XPF:1,MRO:10,BHD:1e3,IQD:1e3,JOD:1e3,KWD:1e3,OMR:1e3,LYD:1e3,TND:1e3};export{e as default};
2
2
  //# sourceMappingURL=currency-decimals.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"currency-decimals.js","sources":["../../../../src/utils/constants/currency-decimals.ts"],"sourcesContent":["const CURRENCY_DECIMALS = {\n // ZERO_DECIMAL_CURRENCIES\n IDR: 1,\n JPY: 1,\n KRW: 1,\n VND: 1,\n BYR: 1,\n CVE: 1,\n DJF: 1,\n GHC: 1,\n GNF: 1,\n KMF: 1,\n ISK: 1,\n PYG: 1,\n RWF: 1,\n UGX: 1,\n VUV: 1,\n XAF: 1,\n XOF: 1,\n XPF: 1,\n\n // ONE_DECIMAL_CURRENCIES\n MRO: 10,\n\n // THREE_DECIMAL_CURRENCIES\n BHD: 1000,\n IQD: 1000,\n JOD: 1000,\n KWD: 1000,\n OMR: 1000,\n LYD: 1000,\n TND: 1000\n};\n\nexport default CURRENCY_DECIMALS;\n"],"names":["CURRENCY_DECIMALS","IDR","JPY","KRW","VND","BYR","CVE","DJF","GHC","GNF","KMF","ISK","PYG","RWF","UGX","VUV","XAF","XOF","XPF","MRO","BHD","IQD","JOD","KWD","OMR","LYD","TND"],"mappings":"AAAA,MAAMA,EAAoB,CAEtBC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EAGLC,IAAK,GAGLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK"}
1
+ {"version":3,"file":"currency-decimals.js","sources":["../../../../src/utils/constants/currency-decimals.ts"],"sourcesContent":["const CURRENCY_DECIMALS = {\n // ZERO_DECIMAL_CURRENCIES\n IDR: 1,\n JPY: 1,\n KRW: 1,\n VND: 1,\n BYR: 1,\n CVE: 1,\n DJF: 1,\n GHC: 1,\n GNF: 1,\n KMF: 1,\n PYG: 1,\n RWF: 1,\n UGX: 1,\n VUV: 1,\n XAF: 1,\n XOF: 1,\n XPF: 1,\n\n // ONE_DECIMAL_CURRENCIES\n MRO: 10,\n\n // THREE_DECIMAL_CURRENCIES\n BHD: 1000,\n IQD: 1000,\n JOD: 1000,\n KWD: 1000,\n OMR: 1000,\n LYD: 1000,\n TND: 1000\n};\n\nexport default CURRENCY_DECIMALS;\n"],"names":["CURRENCY_DECIMALS","IDR","JPY","KRW","VND","BYR","CVE","DJF","GHC","GNF","KMF","PYG","RWF","UGX","VUV","XAF","XOF","XPF","MRO","BHD","IQD","JOD","KWD","OMR","LYD","TND"],"mappings":"AAAA,MAAMA,EAAoB,CAEtBC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EAGLC,IAAK,GAGLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK"}
@@ -1 +1 @@
1
- {"version":3,"file":"currency-minor-units.js","sources":["../../../../src/utils/constants/currency-minor-units.ts"],"sourcesContent":["/** Work around solution until chromium bug is fixed https://bugs.chromium.org/p/chromium/issues/detail?id=1381996\n * We need to hardcode minimumFractionDigits for the following currencies\n */\nexport const currencyMinorUnitsConfig = {\n RSD: { minimumFractionDigits: 2 },\n AFN: { minimumFractionDigits: 2 },\n ALL: { minimumFractionDigits: 2 },\n IRR: { minimumFractionDigits: 2 },\n LAK: { minimumFractionDigits: 2 },\n LBP: { minimumFractionDigits: 2 },\n MMK: { minimumFractionDigits: 2 },\n SOS: { minimumFractionDigits: 2 },\n SYP: { minimumFractionDigits: 2 },\n YER: { minimumFractionDigits: 2 },\n IQD: { minimumFractionDigits: 3 }\n};\n"],"names":["currencyMinorUnitsConfig","RSD","minimumFractionDigits","AFN","ALL","IRR","LAK","LBP","MMK","SOS","SYP","YER","IQD"],"mappings":"MAGaA,EAA2B,CACpCC,IAAK,CAAEC,sBAAuB,GAC9BC,IAAK,CAAED,sBAAuB,GAC9BE,IAAK,CAAEF,sBAAuB,GAC9BG,IAAK,CAAEH,sBAAuB,GAC9BI,IAAK,CAAEJ,sBAAuB,GAC9BK,IAAK,CAAEL,sBAAuB,GAC9BM,IAAK,CAAEN,sBAAuB,GAC9BO,IAAK,CAAEP,sBAAuB,GAC9BQ,IAAK,CAAER,sBAAuB,GAC9BS,IAAK,CAAET,sBAAuB,GAC9BU,IAAK,CAAEV,sBAAuB"}
1
+ {"version":3,"file":"currency-minor-units.js","sources":["../../../../src/utils/constants/currency-minor-units.ts"],"sourcesContent":["/** Work around solution until chromium bug is fixed https://bugs.chromium.org/p/chromium/issues/detail?id=1381996\n * We need to hardcode minimumFractionDigits for the following currencies in order to force them to have 2 decimal places and\n * not be rounded up to a major unit\n */\nexport const currencyMinorUnitsConfig = {\n RSD: { minimumFractionDigits: 2 },\n AFN: { minimumFractionDigits: 2 },\n ALL: { minimumFractionDigits: 2 },\n IRR: { minimumFractionDigits: 2 },\n LAK: { minimumFractionDigits: 2 },\n LBP: { minimumFractionDigits: 2 },\n MMK: { minimumFractionDigits: 2 },\n SOS: { minimumFractionDigits: 2 },\n SYP: { minimumFractionDigits: 2 },\n YER: { minimumFractionDigits: 2 },\n IQD: { minimumFractionDigits: 3 }\n};\n"],"names":["currencyMinorUnitsConfig","RSD","minimumFractionDigits","AFN","ALL","IRR","LAK","LBP","MMK","SOS","SYP","YER","IQD"],"mappings":"MAIaA,EAA2B,CACpCC,IAAK,CAAEC,sBAAuB,GAC9BC,IAAK,CAAED,sBAAuB,GAC9BE,IAAK,CAAEF,sBAAuB,GAC9BG,IAAK,CAAEH,sBAAuB,GAC9BI,IAAK,CAAEJ,sBAAuB,GAC9BK,IAAK,CAAEL,sBAAuB,GAC9BM,IAAK,CAAEN,sBAAuB,GAC9BO,IAAK,CAAEP,sBAAuB,GAC9BQ,IAAK,CAAER,sBAAuB,GAC9BS,IAAK,CAAET,sBAAuB,GAC9BU,IAAK,CAAEV,sBAAuB"}