@adyen/adyen-web 6.0.0-beta.0 → 6.0.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 (691) hide show
  1. package/README.md +123 -182
  2. package/dist/cjs/adyen.css +15 -11
  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 +834 -847
  7. package/dist/es/adyen.css +15 -11
  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/Ach/components/AchInput/AchInput.js +1 -1
  14. package/dist/es/components/Ach/components/AchInput/AchInput.js.map +1 -1
  15. package/dist/es/components/Ach/components/AchInput/components/AchSFInput.js +1 -1
  16. package/dist/es/components/Ach/components/AchInput/components/AchSFInput.js.map +1 -1
  17. package/dist/es/components/AmazonPay/components/AmazonPayButton.js.map +1 -1
  18. package/dist/es/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
  19. package/dist/es/components/AmazonPay/components/SignOutButton.js.map +1 -1
  20. package/dist/es/components/ApplePay/ApplePayService.js.map +1 -1
  21. package/dist/es/components/ApplePay/components/ApplePayButton.js.map +1 -1
  22. package/dist/es/components/Card/Card.js +1 -1
  23. package/dist/es/components/Card/Card.js.map +1 -1
  24. package/dist/es/components/Card/components/CardInput/CardInput.js +1 -1
  25. package/dist/es/components/Card/components/CardInput/CardInput.js.map +1 -1
  26. package/dist/es/components/Card/components/CardInput/components/CVC.js +1 -1
  27. package/dist/es/components/Card/components/CardInput/components/CVC.js.map +1 -1
  28. package/dist/es/components/Card/components/CardInput/components/CVCHint.js.map +1 -1
  29. package/dist/es/components/Card/components/CardInput/components/CardNumber.js +1 -1
  30. package/dist/es/components/Card/components/CardInput/components/CardNumber.js.map +1 -1
  31. package/dist/es/components/Card/components/CardInput/components/DualBrandingIcon/DualBrandingIcon.js.map +1 -1
  32. package/dist/es/components/Card/components/CardInput/components/ExpirationDate.js +1 -1
  33. package/dist/es/components/Card/components/CardInput/components/ExpirationDate.js.map +1 -1
  34. package/dist/es/components/Card/components/CardInput/components/{IframeLabelAlternative.js → FieldLabelAlternative.js} +1 -1
  35. package/dist/es/components/Card/components/CardInput/components/FieldLabelAlternative.js.map +1 -0
  36. package/dist/es/components/Card/components/CardInput/components/Installments/Installments.js +1 -1
  37. package/dist/es/components/Card/components/CardInput/components/Installments/Installments.js.map +1 -1
  38. package/dist/es/components/Card/components/CardInput/components/KCPAuthentication.js +1 -1
  39. package/dist/es/components/Card/components/CardInput/components/KCPAuthentication.js.map +1 -1
  40. package/dist/es/components/Card/components/CardInput/defaultProps.js +1 -1
  41. package/dist/es/components/Card/components/CardInput/defaultProps.js.map +1 -1
  42. package/dist/es/components/Card/components/CardInput/handlers.js.map +1 -1
  43. package/dist/es/components/Card/components/CardInput/types.js.map +1 -1
  44. package/dist/es/components/Card/components/CardInput/utils.js +1 -1
  45. package/dist/es/components/Card/components/CardInput/utils.js.map +1 -1
  46. package/dist/es/components/CashAppPay/components/CashAppComponent.js.map +1 -1
  47. package/dist/es/components/CustomCard/CustomCard.js +1 -1
  48. package/dist/es/components/CustomCard/CustomCard.js.map +1 -1
  49. package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js +1 -1
  50. package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
  51. package/dist/es/components/Donation/components/CampaignContent.js +1 -1
  52. package/dist/es/components/Donation/components/CampaignContent.js.map +1 -1
  53. package/dist/es/components/Donation/components/DonationComponent.js +1 -1
  54. package/dist/es/components/Donation/components/DonationComponent.js.map +1 -1
  55. package/dist/es/components/Donation/components/FixedAmounts.js +2 -0
  56. package/dist/es/components/Donation/components/FixedAmounts.js.map +1 -0
  57. package/dist/es/components/Donation/components/Roundup.js +2 -0
  58. package/dist/es/components/Donation/components/Roundup.js.map +1 -0
  59. package/dist/es/components/Donation/components/utils.js +2 -0
  60. package/dist/es/components/Donation/components/utils.js.map +1 -0
  61. package/dist/es/components/Dropin/Dropin.js +1 -1
  62. package/dist/es/components/Dropin/Dropin.js.map +1 -1
  63. package/dist/es/components/Dropin/components/DropinComponent.js +1 -1
  64. package/dist/es/components/Dropin/components/DropinComponent.js.map +1 -1
  65. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
  66. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
  67. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodList.js +1 -1
  68. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodList.js.map +1 -1
  69. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js +1 -1
  70. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js.map +1 -1
  71. package/dist/es/components/Dropin/elements/createElements.js +1 -1
  72. package/dist/es/components/Dropin/elements/createElements.js.map +1 -1
  73. package/dist/es/components/Dropin/elements/filters.js +1 -1
  74. package/dist/es/components/Dropin/elements/filters.js.map +1 -1
  75. package/dist/es/components/Giftcard/Giftcard.js +1 -1
  76. package/dist/es/components/Giftcard/Giftcard.js.map +1 -1
  77. package/dist/es/components/Giftcard/components/GiftcardComponent.js +1 -1
  78. package/dist/es/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  79. package/dist/es/components/Giftcard/components/GiftcardNumberField.js +1 -1
  80. package/dist/es/components/Giftcard/components/GiftcardNumberField.js.map +1 -1
  81. package/dist/es/components/Giftcard/components/GiftcardPinField.js +1 -1
  82. package/dist/es/components/Giftcard/components/GiftcardPinField.js.map +1 -1
  83. package/dist/es/components/GooglePay/GooglePay.js +1 -1
  84. package/dist/es/components/GooglePay/GooglePay.js.map +1 -1
  85. package/dist/es/components/GooglePay/GooglePayService.js.map +1 -1
  86. package/dist/es/components/GooglePay/components/GooglePayButton.js +1 -1
  87. package/dist/es/components/GooglePay/components/GooglePayButton.js.map +1 -1
  88. package/dist/es/components/GooglePay/requests.js.map +1 -1
  89. package/dist/es/components/Klarna/KlarnaPayments.js +1 -1
  90. package/dist/es/components/Klarna/KlarnaPayments.js.map +1 -1
  91. package/dist/es/components/Klarna/components/KlarnaWidget/KlarnaWidget.js +1 -1
  92. package/dist/es/components/Klarna/components/KlarnaWidget/KlarnaWidget.js.map +1 -1
  93. package/dist/es/components/MealVoucherFR/components/MealVoucherExpiryField.js +1 -1
  94. package/dist/es/components/MealVoucherFR/components/MealVoucherExpiryField.js.map +1 -1
  95. package/dist/es/components/Oxxo/Oxxo.js.map +1 -1
  96. package/dist/es/components/PayPal/Paypal.js +1 -1
  97. package/dist/es/components/PayPal/Paypal.js.map +1 -1
  98. package/dist/es/components/Redirect/components/RedirectShopper/RedirectShopper.js +1 -1
  99. package/dist/es/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
  100. package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js +1 -1
  101. package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
  102. package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js +1 -1
  103. package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  104. package/dist/es/components/ThreeDS2/callSubmit3DS2Fingerprint.js +1 -1
  105. package/dist/es/components/ThreeDS2/callSubmit3DS2Fingerprint.js.map +1 -1
  106. package/dist/es/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js.map +1 -1
  107. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js.map +1 -1
  108. package/dist/es/components/ThreeDS2/components/utils.js +1 -1
  109. package/dist/es/components/ThreeDS2/components/utils.js.map +1 -1
  110. package/dist/es/components/UPI/UPI.js +1 -1
  111. package/dist/es/components/UPI/UPI.js.map +1 -1
  112. package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
  113. package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
  114. package/dist/es/components/UPI/components/UPIComponent/constants.js +2 -0
  115. package/dist/es/components/UPI/components/UPIComponent/constants.js.map +1 -0
  116. package/dist/es/components/UPI/components/UPIComponent/useUpiSegmentedControlOptions.js +2 -0
  117. package/dist/es/components/UPI/components/UPIComponent/useUpiSegmentedControlOptions.js.map +1 -0
  118. package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js +2 -0
  119. package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js.map +1 -0
  120. package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js +2 -0
  121. package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js.map +1 -0
  122. package/dist/es/components/UPI/components/VpaInput/VpaInput.js +1 -1
  123. package/dist/es/components/UPI/components/VpaInput/VpaInput.js.map +1 -1
  124. package/dist/es/components/components-name-map.js +1 -1
  125. package/dist/es/components/components-name-map.js.map +1 -1
  126. package/dist/es/components/internal/Address/components/AddressSearch.js +1 -1
  127. package/dist/es/components/internal/Address/components/AddressSearch.js.map +1 -1
  128. package/dist/es/components/internal/Address/components/ReadOnlyAddress.js +1 -1
  129. package/dist/es/components/internal/Address/components/ReadOnlyAddress.js.map +1 -1
  130. package/dist/es/components/internal/Await/Await.js +1 -1
  131. package/dist/es/components/internal/Await/Await.js.map +1 -1
  132. package/dist/es/components/internal/BaseElement/BaseElement.js +1 -1
  133. package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
  134. package/dist/es/components/internal/ClickToPay/ClickToPayComponent.js.map +1 -1
  135. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js.map +1 -1
  136. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js.map +1 -1
  137. package/dist/es/components/internal/ClickToPay/components/CtPSection/CtPLogoutLink.js.map +1 -1
  138. package/dist/es/components/internal/ClickToPay/errors/TimeoutError.js +1 -1
  139. package/dist/es/components/internal/ClickToPay/errors/TimeoutError.js.map +1 -1
  140. package/dist/es/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
  141. package/dist/es/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js.map +1 -1
  142. package/dist/es/components/internal/Countdown/index.js +1 -1
  143. package/dist/es/components/internal/Countdown/index.js.map +1 -1
  144. package/dist/es/components/internal/DisclaimerMessage/DisclaimerMessage.js +1 -1
  145. package/dist/es/components/internal/DisclaimerMessage/DisclaimerMessage.js.map +1 -1
  146. package/dist/es/components/internal/ExpandButton/ExpandButton.js +2 -0
  147. package/dist/es/components/internal/ExpandButton/ExpandButton.js.map +1 -0
  148. package/dist/es/components/internal/FormFields/ConsentCheckbox/ConsentCheckbox.js +1 -1
  149. package/dist/es/components/internal/FormFields/ConsentCheckbox/ConsentCheckbox.js.map +1 -1
  150. package/dist/es/components/internal/FormFields/Field/Field.js +1 -1
  151. package/dist/es/components/internal/FormFields/Field/Field.js.map +1 -1
  152. package/dist/es/components/internal/FormFields/InputBase.js.map +1 -1
  153. package/dist/es/components/internal/FormFields/RadioGroup/RadioGroup.js +1 -1
  154. package/dist/es/components/internal/FormFields/RadioGroup/RadioGroup.js.map +1 -1
  155. package/dist/es/components/internal/FormFields/Select/Select.js +1 -1
  156. package/dist/es/components/internal/FormFields/Select/Select.js.map +1 -1
  157. package/dist/es/components/internal/FormFields/Select/components/SelectButton.js +1 -1
  158. package/dist/es/components/internal/FormFields/Select/components/SelectButton.js.map +1 -1
  159. package/dist/es/components/internal/FormFields/Select/components/SelectList.js.map +1 -1
  160. package/dist/es/components/internal/FormFields/Select/components/SelectListItem.js.map +1 -1
  161. package/dist/es/components/internal/Modal/Modal.js.map +1 -1
  162. package/dist/es/components/internal/QRLoader/QRLoader.js +1 -1
  163. package/dist/es/components/internal/QRLoader/QRLoader.js.map +1 -1
  164. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
  165. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  166. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js +1 -1
  167. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js.map +1 -1
  168. package/dist/es/components/internal/SecuredFields/SFP/defaultProps.js +1 -1
  169. package/dist/es/components/internal/SecuredFields/SFP/defaultProps.js.map +1 -1
  170. package/dist/es/components/internal/SecuredFields/binLookup/triggerBinLookUp.js.map +1 -1
  171. package/dist/es/components/internal/SecuredFields/lib/CSF/CSF.js +1 -1
  172. package/dist/es/components/internal/SecuredFields/lib/CSF/CSF.js.map +1 -1
  173. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/configureCallbacks.js +1 -1
  174. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/configureCallbacks.js.map +1 -1
  175. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js +1 -1
  176. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
  177. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleEncryption.js +1 -1
  178. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleEncryption.js.map +1 -1
  179. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleIOSTouchEvents.js +1 -1
  180. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleIOSTouchEvents.js.map +1 -1
  181. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleValidation.js +1 -1
  182. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleValidation.js.map +1 -1
  183. package/dist/es/components/internal/SecuredFields/lib/CSF/initCSF.js +1 -1
  184. package/dist/es/components/internal/SecuredFields/lib/CSF/initCSF.js.map +1 -1
  185. package/dist/es/components/internal/SecuredFields/lib/CSF/partials/processBrand.js +1 -1
  186. package/dist/es/components/internal/SecuredFields/lib/CSF/partials/processBrand.js.map +1 -1
  187. package/dist/es/components/internal/SecuredFields/lib/CSF/utils/cardType.js.map +1 -1
  188. package/dist/es/components/internal/SecuredFields/lib/CSF/utils/getCardGroupTypes.js +1 -1
  189. package/dist/es/components/internal/SecuredFields/lib/CSF/utils/getCardGroupTypes.js.map +1 -1
  190. package/dist/es/components/internal/SecuredFields/lib/CSF/utils/iframes/postMessageValidation.js +1 -1
  191. package/dist/es/components/internal/SecuredFields/lib/CSF/utils/iframes/postMessageValidation.js.map +1 -1
  192. package/dist/es/components/internal/SecuredFields/lib/constants.js +1 -1
  193. package/dist/es/components/internal/SecuredFields/lib/constants.js.map +1 -1
  194. package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js +1 -1
  195. package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
  196. package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
  197. package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
  198. package/dist/es/components/internal/SecuredFields/lib/utilities/commonUtils.js +1 -1
  199. package/dist/es/components/internal/SecuredFields/lib/utilities/commonUtils.js.map +1 -1
  200. package/dist/es/components/internal/SecuredFields/lib/utilities/dom.js +1 -1
  201. package/dist/es/components/internal/SecuredFields/lib/utilities/dom.js.map +1 -1
  202. package/dist/es/components/internal/SecuredFields/lib/utilities/logger.js.map +1 -1
  203. package/dist/es/components/internal/SecuredFields/utils.js +1 -1
  204. package/dist/es/components/internal/SecuredFields/utils.js.map +1 -1
  205. package/dist/es/components/internal/SocialSecurityNumberBrazil/SocialSecurityNumberBrazil.js +1 -1
  206. package/dist/es/components/internal/SocialSecurityNumberBrazil/SocialSecurityNumberBrazil.js.map +1 -1
  207. package/dist/es/components/internal/UIElement/UIElement.js +1 -1
  208. package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
  209. package/dist/es/components/tx-variants.js +1 -1
  210. package/dist/es/components/tx-variants.js.map +1 -1
  211. package/dist/es/core/Analytics/Analytics.js +1 -1
  212. package/dist/es/core/Analytics/Analytics.js.map +1 -1
  213. package/dist/es/core/Analytics/analyticsPreProcessor.js +1 -1
  214. package/dist/es/core/Analytics/analyticsPreProcessor.js.map +1 -1
  215. package/dist/es/core/Analytics/utils.js +1 -1
  216. package/dist/es/core/Analytics/utils.js.map +1 -1
  217. package/dist/es/core/Environment/Environment.js +1 -1
  218. package/dist/es/core/Environment/Environment.js.map +1 -1
  219. package/dist/es/core/Environment/constants.js +1 -1
  220. package/dist/es/core/Environment/constants.js.map +1 -1
  221. package/dist/es/core/RiskModule/RiskModule.js +1 -1
  222. package/dist/es/core/RiskModule/RiskModule.js.map +1 -1
  223. package/dist/es/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.js.map +1 -1
  224. package/dist/es/core/Services/analytics/collect-id.js +1 -1
  225. package/dist/es/core/Services/analytics/collect-id.js.map +1 -1
  226. package/dist/es/core/Services/get-translations.js +1 -1
  227. package/dist/es/core/Services/get-translations.js.map +1 -1
  228. package/dist/es/core/Services/http.js.map +1 -1
  229. package/dist/es/core/config.js +1 -1
  230. package/dist/es/core/config.js.map +1 -1
  231. package/dist/es/core/core.js +1 -1
  232. package/dist/es/core/core.js.map +1 -1
  233. package/dist/es/core/utils.js +1 -1
  234. package/dist/es/core/utils.js.map +1 -1
  235. package/dist/es/external/preact/dist/preact.js +1 -1
  236. package/dist/es/external/preact/dist/preact.js.map +1 -1
  237. package/dist/es/external/preact/hooks/dist/hooks.js +1 -1
  238. package/dist/es/external/preact/hooks/dist/hooks.js.map +1 -1
  239. package/dist/es/index.d.ts +834 -847
  240. package/dist/es/language/constants.js +1 -1
  241. package/dist/es/language/constants.js.map +1 -1
  242. package/dist/es/utils/amount-util.js.map +1 -1
  243. package/dist/es/utils/browserInfo.js +1 -1
  244. package/dist/es/utils/browserInfo.js.map +1 -1
  245. package/dist/es/utils/commonUtils.js +2 -0
  246. package/dist/es/utils/commonUtils.js.map +1 -0
  247. package/dist/es/utils/listenerUtils.js +2 -0
  248. package/dist/es/utils/listenerUtils.js.map +1 -0
  249. package/dist/es/utils/regex.js.map +1 -1
  250. package/dist/es-legacy/adyen.css +15 -11
  251. package/dist/es-legacy/adyen.css.map +1 -1
  252. package/dist/es-legacy/components/ANCV/ANCV.js +1 -1
  253. package/dist/es-legacy/components/ANCV/ANCV.js.map +1 -1
  254. package/dist/es-legacy/components/Ach/Ach.js +1 -1
  255. package/dist/es-legacy/components/Ach/Ach.js.map +1 -1
  256. package/dist/es-legacy/components/Ach/components/AchInput/AchInput.js +1 -1
  257. package/dist/es-legacy/components/Ach/components/AchInput/AchInput.js.map +1 -1
  258. package/dist/es-legacy/components/Ach/components/AchInput/components/AchSFInput.js +1 -1
  259. package/dist/es-legacy/components/Ach/components/AchInput/components/AchSFInput.js.map +1 -1
  260. package/dist/es-legacy/components/Address/Address.js +1 -1
  261. package/dist/es-legacy/components/Address/Address.js.map +1 -1
  262. package/dist/es-legacy/components/Affirm/Affirm.js +1 -1
  263. package/dist/es-legacy/components/Affirm/Affirm.js.map +1 -1
  264. package/dist/es-legacy/components/AfterPay/AfterPay.js +1 -1
  265. package/dist/es-legacy/components/AfterPay/AfterPay.js.map +1 -1
  266. package/dist/es-legacy/components/AfterPay/AfterPayB2B.js +1 -1
  267. package/dist/es-legacy/components/AfterPay/AfterPayB2B.js.map +1 -1
  268. package/dist/es-legacy/components/AmazonPay/AmazonPay.js +1 -1
  269. package/dist/es-legacy/components/AmazonPay/AmazonPay.js.map +1 -1
  270. package/dist/es-legacy/components/AmazonPay/components/AmazonPayButton.js +1 -1
  271. package/dist/es-legacy/components/AmazonPay/components/AmazonPayButton.js.map +1 -1
  272. package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js +1 -1
  273. package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
  274. package/dist/es-legacy/components/AmazonPay/components/SignOutButton.js.map +1 -1
  275. package/dist/es-legacy/components/AmazonPay/utils.js +1 -1
  276. package/dist/es-legacy/components/AmazonPay/utils.js.map +1 -1
  277. package/dist/es-legacy/components/ApplePay/ApplePay.js +1 -1
  278. package/dist/es-legacy/components/ApplePay/ApplePay.js.map +1 -1
  279. package/dist/es-legacy/components/ApplePay/ApplePayService.js.map +1 -1
  280. package/dist/es-legacy/components/ApplePay/components/ApplePayButton.js.map +1 -1
  281. package/dist/es-legacy/components/Atome/Atome.js +1 -1
  282. package/dist/es-legacy/components/Atome/Atome.js.map +1 -1
  283. package/dist/es-legacy/components/Atome/config.js +1 -1
  284. package/dist/es-legacy/components/Atome/config.js.map +1 -1
  285. package/dist/es-legacy/components/BacsDD/BacsDD.js +1 -1
  286. package/dist/es-legacy/components/BacsDD/BacsDD.js.map +1 -1
  287. package/dist/es-legacy/components/BankTransfer/BankTransfer.js +1 -1
  288. package/dist/es-legacy/components/BankTransfer/BankTransfer.js.map +1 -1
  289. package/dist/es-legacy/components/BillDesk/BillDeskOnline.js +1 -1
  290. package/dist/es-legacy/components/BillDesk/BillDeskOnline.js.map +1 -1
  291. package/dist/es-legacy/components/BillDesk/BillDeskWallet.js +1 -1
  292. package/dist/es-legacy/components/BillDesk/BillDeskWallet.js.map +1 -1
  293. package/dist/es-legacy/components/Blik/Blik.js +1 -1
  294. package/dist/es-legacy/components/Blik/Blik.js.map +1 -1
  295. package/dist/es-legacy/components/Boleto/Boleto.js +1 -1
  296. package/dist/es-legacy/components/Boleto/Boleto.js.map +1 -1
  297. package/dist/es-legacy/components/Boleto/components/BoletoInput/BoletoInput.js +1 -1
  298. package/dist/es-legacy/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
  299. package/dist/es-legacy/components/Card/Bancontact.js +1 -1
  300. package/dist/es-legacy/components/Card/Bancontact.js.map +1 -1
  301. package/dist/es-legacy/components/Card/Card.js +1 -1
  302. package/dist/es-legacy/components/Card/Card.js.map +1 -1
  303. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js +1 -1
  304. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js.map +1 -1
  305. package/dist/es-legacy/components/Card/components/CardInput/components/CVC.js +1 -1
  306. package/dist/es-legacy/components/Card/components/CardInput/components/CVC.js.map +1 -1
  307. package/dist/es-legacy/components/Card/components/CardInput/components/CVCHint.js.map +1 -1
  308. package/dist/es-legacy/components/Card/components/CardInput/components/CardNumber.js +1 -1
  309. package/dist/es-legacy/components/Card/components/CardInput/components/CardNumber.js.map +1 -1
  310. package/dist/es-legacy/components/Card/components/CardInput/components/DualBrandingIcon/DualBrandingIcon.js.map +1 -1
  311. package/dist/es-legacy/components/Card/components/CardInput/components/ExpirationDate.js +1 -1
  312. package/dist/es-legacy/components/Card/components/CardInput/components/ExpirationDate.js.map +1 -1
  313. package/dist/es-legacy/components/Card/components/CardInput/components/FieldLabelAlternative.js +2 -0
  314. package/dist/es-legacy/components/Card/components/CardInput/components/FieldLabelAlternative.js.map +1 -0
  315. package/dist/es-legacy/components/Card/components/CardInput/components/Installments/Installments.js +1 -1
  316. package/dist/es-legacy/components/Card/components/CardInput/components/Installments/Installments.js.map +1 -1
  317. package/dist/es-legacy/components/Card/components/CardInput/components/KCPAuthentication.js +1 -1
  318. package/dist/es-legacy/components/Card/components/CardInput/components/KCPAuthentication.js.map +1 -1
  319. package/dist/es-legacy/components/Card/components/CardInput/components/StoredCardFields.js +1 -1
  320. package/dist/es-legacy/components/Card/components/CardInput/components/StoredCardFields.js.map +1 -1
  321. package/dist/es-legacy/components/Card/components/CardInput/defaultProps.js +1 -1
  322. package/dist/es-legacy/components/Card/components/CardInput/defaultProps.js.map +1 -1
  323. package/dist/es-legacy/components/Card/components/CardInput/handlers.js.map +1 -1
  324. package/dist/es-legacy/components/Card/components/CardInput/types.js.map +1 -1
  325. package/dist/es-legacy/components/Card/components/CardInput/utils.js +1 -1
  326. package/dist/es-legacy/components/Card/components/CardInput/utils.js.map +1 -1
  327. package/dist/es-legacy/components/CashAppPay/CashAppPay.js +1 -1
  328. package/dist/es-legacy/components/CashAppPay/CashAppPay.js.map +1 -1
  329. package/dist/es-legacy/components/CashAppPay/components/CashAppComponent.js.map +1 -1
  330. package/dist/es-legacy/components/ClickToPay/ClickToPay.js +1 -1
  331. package/dist/es-legacy/components/ClickToPay/ClickToPay.js.map +1 -1
  332. package/dist/es-legacy/components/CustomCard/CustomCard.js +1 -1
  333. package/dist/es-legacy/components/CustomCard/CustomCard.js.map +1 -1
  334. package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js +1 -1
  335. package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
  336. package/dist/es-legacy/components/Doku/Doku.js +1 -1
  337. package/dist/es-legacy/components/Doku/Doku.js.map +1 -1
  338. package/dist/es-legacy/components/Donation/Donation.js +1 -1
  339. package/dist/es-legacy/components/Donation/Donation.js.map +1 -1
  340. package/dist/es-legacy/components/Donation/components/CampaignContent.js +1 -1
  341. package/dist/es-legacy/components/Donation/components/CampaignContent.js.map +1 -1
  342. package/dist/es-legacy/components/Donation/components/DonationComponent.js +1 -1
  343. package/dist/es-legacy/components/Donation/components/DonationComponent.js.map +1 -1
  344. package/dist/es-legacy/components/Donation/components/FixedAmounts.js +2 -0
  345. package/dist/es-legacy/components/Donation/components/FixedAmounts.js.map +1 -0
  346. package/dist/es-legacy/components/Donation/components/Roundup.js +2 -0
  347. package/dist/es-legacy/components/Donation/components/Roundup.js.map +1 -0
  348. package/dist/es-legacy/components/Donation/components/utils.js +2 -0
  349. package/dist/es-legacy/components/Donation/components/utils.js.map +1 -0
  350. package/dist/es-legacy/components/Dragonpay/Dragonpay.js +1 -1
  351. package/dist/es-legacy/components/Dragonpay/Dragonpay.js.map +1 -1
  352. package/dist/es-legacy/components/Dragonpay/components/DragonpayInput/DragonpayInput.js +1 -1
  353. package/dist/es-legacy/components/Dragonpay/components/DragonpayInput/DragonpayInput.js.map +1 -1
  354. package/dist/es-legacy/components/Dropin/Dropin.js +1 -1
  355. package/dist/es-legacy/components/Dropin/Dropin.js.map +1 -1
  356. package/dist/es-legacy/components/Dropin/components/DropinComponent.js +1 -1
  357. package/dist/es-legacy/components/Dropin/components/DropinComponent.js.map +1 -1
  358. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
  359. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
  360. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodList.js +1 -1
  361. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodList.js.map +1 -1
  362. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js +1 -1
  363. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js.map +1 -1
  364. package/dist/es-legacy/components/Dropin/elements/createElements.js +1 -1
  365. package/dist/es-legacy/components/Dropin/elements/createElements.js.map +1 -1
  366. package/dist/es-legacy/components/Dropin/elements/createInstantPaymentElements.js +1 -1
  367. package/dist/es-legacy/components/Dropin/elements/createInstantPaymentElements.js.map +1 -1
  368. package/dist/es-legacy/components/Dropin/elements/createStoredElements.js +1 -1
  369. package/dist/es-legacy/components/Dropin/elements/createStoredElements.js.map +1 -1
  370. package/dist/es-legacy/components/Dropin/elements/filters.js +1 -1
  371. package/dist/es-legacy/components/Dropin/elements/filters.js.map +1 -1
  372. package/dist/es-legacy/components/EPS/index.js +1 -1
  373. package/dist/es-legacy/components/EPS/index.js.map +1 -1
  374. package/dist/es-legacy/components/Econtext/Econtext.js +1 -1
  375. package/dist/es-legacy/components/Econtext/Econtext.js.map +1 -1
  376. package/dist/es-legacy/components/FacilyPay/FacilyPay10x.js +1 -1
  377. package/dist/es-legacy/components/FacilyPay/FacilyPay10x.js.map +1 -1
  378. package/dist/es-legacy/components/FacilyPay/FacilyPay12x.js +1 -1
  379. package/dist/es-legacy/components/FacilyPay/FacilyPay12x.js.map +1 -1
  380. package/dist/es-legacy/components/FacilyPay/FacilyPay3x.js +1 -1
  381. package/dist/es-legacy/components/FacilyPay/FacilyPay3x.js.map +1 -1
  382. package/dist/es-legacy/components/FacilyPay/FacilyPay4x.js +1 -1
  383. package/dist/es-legacy/components/FacilyPay/FacilyPay4x.js.map +1 -1
  384. package/dist/es-legacy/components/FacilyPay/FacilyPay6x.js +1 -1
  385. package/dist/es-legacy/components/FacilyPay/FacilyPay6x.js.map +1 -1
  386. package/dist/es-legacy/components/Giftcard/Giftcard.js +1 -1
  387. package/dist/es-legacy/components/Giftcard/Giftcard.js.map +1 -1
  388. package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js +1 -1
  389. package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  390. package/dist/es-legacy/components/Giftcard/components/GiftcardFields.js +1 -1
  391. package/dist/es-legacy/components/Giftcard/components/GiftcardFields.js.map +1 -1
  392. package/dist/es-legacy/components/Giftcard/components/GiftcardNumberField.js +1 -1
  393. package/dist/es-legacy/components/Giftcard/components/GiftcardNumberField.js.map +1 -1
  394. package/dist/es-legacy/components/Giftcard/components/GiftcardPinField.js +1 -1
  395. package/dist/es-legacy/components/Giftcard/components/GiftcardPinField.js.map +1 -1
  396. package/dist/es-legacy/components/Giropay/Giropay.js +1 -1
  397. package/dist/es-legacy/components/Giropay/Giropay.js.map +1 -1
  398. package/dist/es-legacy/components/GooglePay/GooglePay.js +1 -1
  399. package/dist/es-legacy/components/GooglePay/GooglePay.js.map +1 -1
  400. package/dist/es-legacy/components/GooglePay/GooglePayService.js.map +1 -1
  401. package/dist/es-legacy/components/GooglePay/components/GooglePayButton.js +1 -1
  402. package/dist/es-legacy/components/GooglePay/components/GooglePayButton.js.map +1 -1
  403. package/dist/es-legacy/components/GooglePay/requests.js.map +1 -1
  404. package/dist/es-legacy/components/Klarna/KlarnaPayments.js +1 -1
  405. package/dist/es-legacy/components/Klarna/KlarnaPayments.js.map +1 -1
  406. package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js +1 -1
  407. package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js.map +1 -1
  408. package/dist/es-legacy/components/Klarna/components/KlarnaWidget/KlarnaWidget.js +1 -1
  409. package/dist/es-legacy/components/Klarna/components/KlarnaWidget/KlarnaWidget.js.map +1 -1
  410. package/dist/es-legacy/components/MBWay/MBWay.js +1 -1
  411. package/dist/es-legacy/components/MBWay/MBWay.js.map +1 -1
  412. package/dist/es-legacy/components/MBWay/components/MBWayInput/MBWayInput.js +1 -1
  413. package/dist/es-legacy/components/MBWay/components/MBWayInput/MBWayInput.js.map +1 -1
  414. package/dist/es-legacy/components/MealVoucherFR/MealVoucherFR.js +1 -1
  415. package/dist/es-legacy/components/MealVoucherFR/MealVoucherFR.js.map +1 -1
  416. package/dist/es-legacy/components/MealVoucherFR/components/MealVoucherExpiryField.js +1 -1
  417. package/dist/es-legacy/components/MealVoucherFR/components/MealVoucherExpiryField.js.map +1 -1
  418. package/dist/es-legacy/components/MealVoucherFR/components/MealVoucherFields.js +1 -1
  419. package/dist/es-legacy/components/MealVoucherFR/components/MealVoucherFields.js.map +1 -1
  420. package/dist/es-legacy/components/Multibanco/Multibanco.js +1 -1
  421. package/dist/es-legacy/components/Multibanco/Multibanco.js.map +1 -1
  422. package/dist/es-legacy/components/OnlineBankingCZ/index.js +1 -1
  423. package/dist/es-legacy/components/OnlineBankingCZ/index.js.map +1 -1
  424. package/dist/es-legacy/components/OnlineBankingIN/index.js +1 -1
  425. package/dist/es-legacy/components/OnlineBankingIN/index.js.map +1 -1
  426. package/dist/es-legacy/components/OnlineBankingPL/OnlineBankingPL.js +1 -1
  427. package/dist/es-legacy/components/OnlineBankingPL/OnlineBankingPL.js.map +1 -1
  428. package/dist/es-legacy/components/OnlineBankingSK/index.js +1 -1
  429. package/dist/es-legacy/components/OnlineBankingSK/index.js.map +1 -1
  430. package/dist/es-legacy/components/Oxxo/Oxxo.js +1 -1
  431. package/dist/es-legacy/components/Oxxo/Oxxo.js.map +1 -1
  432. package/dist/es-legacy/components/PayByBank/PayByBank.js +1 -1
  433. package/dist/es-legacy/components/PayByBank/PayByBank.js.map +1 -1
  434. package/dist/es-legacy/components/PayPal/Paypal.js +1 -1
  435. package/dist/es-legacy/components/PayPal/Paypal.js.map +1 -1
  436. package/dist/es-legacy/components/PayPal/components/PaypalButtons.js +1 -1
  437. package/dist/es-legacy/components/PayPal/components/PaypalButtons.js.map +1 -1
  438. package/dist/es-legacy/components/PayPal/components/PaypalComponent.js +1 -1
  439. package/dist/es-legacy/components/PayPal/components/PaypalComponent.js.map +1 -1
  440. package/dist/es-legacy/components/PayPal/utils/get-paypal-settings.js +1 -1
  441. package/dist/es-legacy/components/PayPal/utils/get-paypal-settings.js.map +1 -1
  442. package/dist/es-legacy/components/PayU/PayuCashcard.js +1 -1
  443. package/dist/es-legacy/components/PayU/PayuCashcard.js.map +1 -1
  444. package/dist/es-legacy/components/PayU/PayuNetBanking.js +1 -1
  445. package/dist/es-legacy/components/PayU/PayuNetBanking.js.map +1 -1
  446. package/dist/es-legacy/components/PersonalDetails/PersonalDetails.js +1 -1
  447. package/dist/es-legacy/components/PersonalDetails/PersonalDetails.js.map +1 -1
  448. package/dist/es-legacy/components/Pix/Pix.js +1 -1
  449. package/dist/es-legacy/components/Pix/Pix.js.map +1 -1
  450. package/dist/es-legacy/components/RatePay/RatePay.js +1 -1
  451. package/dist/es-legacy/components/RatePay/RatePay.js.map +1 -1
  452. package/dist/es-legacy/components/RatePay/RatePayDirectDebit.js +1 -1
  453. package/dist/es-legacy/components/RatePay/RatePayDirectDebit.js.map +1 -1
  454. package/dist/es-legacy/components/Redirect/Redirect.js +1 -1
  455. package/dist/es-legacy/components/Redirect/Redirect.js.map +1 -1
  456. package/dist/es-legacy/components/Redirect/components/RedirectShopper/RedirectShopper.js +1 -1
  457. package/dist/es-legacy/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
  458. package/dist/es-legacy/components/Riverty/Riverty.js +1 -1
  459. package/dist/es-legacy/components/Riverty/Riverty.js.map +1 -1
  460. package/dist/es-legacy/components/Sepa/Sepa.js +1 -1
  461. package/dist/es-legacy/components/Sepa/Sepa.js.map +1 -1
  462. package/dist/es-legacy/components/ThreeDS2/ThreeDS2Challenge.js +1 -1
  463. package/dist/es-legacy/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
  464. package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js +1 -1
  465. package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  466. package/dist/es-legacy/components/ThreeDS2/callSubmit3DS2Fingerprint.js +1 -1
  467. package/dist/es-legacy/components/ThreeDS2/callSubmit3DS2Fingerprint.js.map +1 -1
  468. package/dist/es-legacy/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js.map +1 -1
  469. package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
  470. package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
  471. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js.map +1 -1
  472. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
  473. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
  474. package/dist/es-legacy/components/ThreeDS2/components/utils.js +1 -1
  475. package/dist/es-legacy/components/ThreeDS2/components/utils.js.map +1 -1
  476. package/dist/es-legacy/components/Trustly/Trustly.js +1 -1
  477. package/dist/es-legacy/components/Trustly/Trustly.js.map +1 -1
  478. package/dist/es-legacy/components/Twint/Twint.js +1 -1
  479. package/dist/es-legacy/components/Twint/Twint.js.map +1 -1
  480. package/dist/es-legacy/components/UPI/UPI.js +1 -1
  481. package/dist/es-legacy/components/UPI/UPI.js.map +1 -1
  482. package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
  483. package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
  484. package/dist/es-legacy/components/UPI/components/UPIComponent/constants.js +2 -0
  485. package/dist/es-legacy/components/UPI/components/UPIComponent/constants.js.map +1 -0
  486. package/dist/es-legacy/components/UPI/components/UPIComponent/useUpiSegmentedControlOptions.js +2 -0
  487. package/dist/es-legacy/components/UPI/components/UPIComponent/useUpiSegmentedControlOptions.js.map +1 -0
  488. package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js +2 -0
  489. package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js.map +1 -0
  490. package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js +2 -0
  491. package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js.map +1 -0
  492. package/dist/es-legacy/components/UPI/components/VpaInput/VpaInput.js +1 -1
  493. package/dist/es-legacy/components/UPI/components/VpaInput/VpaInput.js.map +1 -1
  494. package/dist/es-legacy/components/WalletIN/index.js +1 -1
  495. package/dist/es-legacy/components/WalletIN/index.js.map +1 -1
  496. package/dist/es-legacy/components/components-name-map.js +1 -1
  497. package/dist/es-legacy/components/components-name-map.js.map +1 -1
  498. package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js +1 -1
  499. package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  500. package/dist/es-legacy/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js +1 -1
  501. package/dist/es-legacy/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js.map +1 -1
  502. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  503. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  504. package/dist/es-legacy/components/internal/Address/Address.js +1 -1
  505. package/dist/es-legacy/components/internal/Address/Address.js.map +1 -1
  506. package/dist/es-legacy/components/internal/Address/components/AddressSearch.js +1 -1
  507. package/dist/es-legacy/components/internal/Address/components/AddressSearch.js.map +1 -1
  508. package/dist/es-legacy/components/internal/Address/components/CountryField.js +1 -1
  509. package/dist/es-legacy/components/internal/Address/components/CountryField.js.map +1 -1
  510. package/dist/es-legacy/components/internal/Address/components/ReadOnlyAddress.js +1 -1
  511. package/dist/es-legacy/components/internal/Address/components/ReadOnlyAddress.js.map +1 -1
  512. package/dist/es-legacy/components/internal/Await/Await.js +1 -1
  513. package/dist/es-legacy/components/internal/Await/Await.js.map +1 -1
  514. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js +1 -1
  515. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
  516. package/dist/es-legacy/components/internal/ClickToPay/ClickToPayComponent.js.map +1 -1
  517. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js.map +1 -1
  518. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js.map +1 -1
  519. package/dist/es-legacy/components/internal/ClickToPay/components/CtPSection/CtPLogoutLink.js.map +1 -1
  520. package/dist/es-legacy/components/internal/ClickToPay/errors/TimeoutError.js +1 -1
  521. package/dist/es-legacy/components/internal/ClickToPay/errors/TimeoutError.js.map +1 -1
  522. package/dist/es-legacy/components/internal/ClickToPay/services/ClickToPayService.js +1 -1
  523. package/dist/es-legacy/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
  524. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/MastercardSdk.js +1 -1
  525. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/MastercardSdk.js.map +1 -1
  526. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js.map +1 -1
  527. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/VisaSdk.js +1 -1
  528. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/VisaSdk.js.map +1 -1
  529. package/dist/es-legacy/components/internal/CompanyDetails/CompanyDetails.js +1 -1
  530. package/dist/es-legacy/components/internal/CompanyDetails/CompanyDetails.js.map +1 -1
  531. package/dist/es-legacy/components/internal/Countdown/index.js +1 -1
  532. package/dist/es-legacy/components/internal/Countdown/index.js.map +1 -1
  533. package/dist/es-legacy/components/internal/DisclaimerMessage/DisclaimerMessage.js +1 -1
  534. package/dist/es-legacy/components/internal/DisclaimerMessage/DisclaimerMessage.js.map +1 -1
  535. package/dist/es-legacy/components/internal/ExpandButton/ExpandButton.js +2 -0
  536. package/dist/es-legacy/components/internal/ExpandButton/ExpandButton.js.map +1 -0
  537. package/dist/es-legacy/components/internal/FormFields/Checkbox/Checkbox.js +1 -1
  538. package/dist/es-legacy/components/internal/FormFields/Checkbox/Checkbox.js.map +1 -1
  539. package/dist/es-legacy/components/internal/FormFields/ConsentCheckbox/ConsentCheckbox.js +1 -1
  540. package/dist/es-legacy/components/internal/FormFields/ConsentCheckbox/ConsentCheckbox.js.map +1 -1
  541. package/dist/es-legacy/components/internal/FormFields/Field/Field.js +1 -1
  542. package/dist/es-legacy/components/internal/FormFields/Field/Field.js.map +1 -1
  543. package/dist/es-legacy/components/internal/FormFields/InputBase.js +1 -1
  544. package/dist/es-legacy/components/internal/FormFields/InputBase.js.map +1 -1
  545. package/dist/es-legacy/components/internal/FormFields/InputDate/InputDate.js +1 -1
  546. package/dist/es-legacy/components/internal/FormFields/InputDate/InputDate.js.map +1 -1
  547. package/dist/es-legacy/components/internal/FormFields/InputEmail.js +1 -1
  548. package/dist/es-legacy/components/internal/FormFields/InputEmail.js.map +1 -1
  549. package/dist/es-legacy/components/internal/FormFields/InputTelephone.js +1 -1
  550. package/dist/es-legacy/components/internal/FormFields/InputTelephone.js.map +1 -1
  551. package/dist/es-legacy/components/internal/FormFields/InputText.js +1 -1
  552. package/dist/es-legacy/components/internal/FormFields/InputText.js.map +1 -1
  553. package/dist/es-legacy/components/internal/FormFields/RadioGroup/RadioGroup.js +1 -1
  554. package/dist/es-legacy/components/internal/FormFields/RadioGroup/RadioGroup.js.map +1 -1
  555. package/dist/es-legacy/components/internal/FormFields/Select/Select.js +1 -1
  556. package/dist/es-legacy/components/internal/FormFields/Select/Select.js.map +1 -1
  557. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectButton.js +1 -1
  558. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectButton.js.map +1 -1
  559. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectList.js.map +1 -1
  560. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectListItem.js.map +1 -1
  561. package/dist/es-legacy/components/internal/IbanInput/IbanInput.js +1 -1
  562. package/dist/es-legacy/components/internal/IbanInput/IbanInput.js.map +1 -1
  563. package/dist/es-legacy/components/internal/Img/Img.js +1 -1
  564. package/dist/es-legacy/components/internal/Img/Img.js.map +1 -1
  565. package/dist/es-legacy/components/internal/IssuerList/IssuerButtonGroup/IssuerButtonGroup.js +1 -1
  566. package/dist/es-legacy/components/internal/IssuerList/IssuerButtonGroup/IssuerButtonGroup.js.map +1 -1
  567. package/dist/es-legacy/components/internal/Modal/Modal.js.map +1 -1
  568. package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js +1 -1
  569. package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
  570. package/dist/es-legacy/components/internal/PayButton/PayButton.js +1 -1
  571. package/dist/es-legacy/components/internal/PayButton/PayButton.js.map +1 -1
  572. package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js +1 -1
  573. package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
  574. package/dist/es-legacy/components/internal/PhoneInput/PhoneInput.js +1 -1
  575. package/dist/es-legacy/components/internal/PhoneInput/PhoneInput.js.map +1 -1
  576. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js +1 -1
  577. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js.map +1 -1
  578. package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js +1 -1
  579. package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js.map +1 -1
  580. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
  581. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  582. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js +1 -1
  583. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js.map +1 -1
  584. package/dist/es-legacy/components/internal/SecuredFields/SFP/defaultProps.js +1 -1
  585. package/dist/es-legacy/components/internal/SecuredFields/SFP/defaultProps.js.map +1 -1
  586. package/dist/es-legacy/components/internal/SecuredFields/binLookup/triggerBinLookUp.js.map +1 -1
  587. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/CSF.js +1 -1
  588. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/CSF.js.map +1 -1
  589. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/configureCallbacks.js +1 -1
  590. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/configureCallbacks.js.map +1 -1
  591. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js +1 -1
  592. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
  593. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleBrandFromBinLookup.js +1 -1
  594. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleBrandFromBinLookup.js.map +1 -1
  595. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleEncryption.js +1 -1
  596. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleEncryption.js.map +1 -1
  597. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleIOSTouchEvents.js +1 -1
  598. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleIOSTouchEvents.js.map +1 -1
  599. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleValidation.js +1 -1
  600. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleValidation.js.map +1 -1
  601. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/initCSF.js +1 -1
  602. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/initCSF.js.map +1 -1
  603. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/processBrand.js +1 -1
  604. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/processBrand.js.map +1 -1
  605. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/cardType.js.map +1 -1
  606. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/getCardGroupTypes.js +1 -1
  607. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/getCardGroupTypes.js.map +1 -1
  608. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/iframes/postMessageValidation.js +1 -1
  609. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/iframes/postMessageValidation.js.map +1 -1
  610. package/dist/es-legacy/components/internal/SecuredFields/lib/constants.js +1 -1
  611. package/dist/es-legacy/components/internal/SecuredFields/lib/constants.js.map +1 -1
  612. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js +1 -1
  613. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
  614. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
  615. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
  616. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/utils/processAriaConfig.js +1 -1
  617. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/utils/processAriaConfig.js.map +1 -1
  618. package/dist/es-legacy/components/internal/SecuredFields/lib/utilities/commonUtils.js +1 -1
  619. package/dist/es-legacy/components/internal/SecuredFields/lib/utilities/commonUtils.js.map +1 -1
  620. package/dist/es-legacy/components/internal/SecuredFields/lib/utilities/dom.js +1 -1
  621. package/dist/es-legacy/components/internal/SecuredFields/lib/utilities/dom.js.map +1 -1
  622. package/dist/es-legacy/components/internal/SecuredFields/lib/utilities/logger.js.map +1 -1
  623. package/dist/es-legacy/components/internal/SecuredFields/utils.js +1 -1
  624. package/dist/es-legacy/components/internal/SecuredFields/utils.js.map +1 -1
  625. package/dist/es-legacy/components/internal/SocialSecurityNumberBrazil/SocialSecurityNumberBrazil.js +1 -1
  626. package/dist/es-legacy/components/internal/SocialSecurityNumberBrazil/SocialSecurityNumberBrazil.js.map +1 -1
  627. package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
  628. package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
  629. package/dist/es-legacy/components/tx-variants.js +1 -1
  630. package/dist/es-legacy/components/tx-variants.js.map +1 -1
  631. package/dist/es-legacy/core/Analytics/Analytics.js +1 -1
  632. package/dist/es-legacy/core/Analytics/Analytics.js.map +1 -1
  633. package/dist/es-legacy/core/Analytics/analyticsPreProcessor.js +1 -1
  634. package/dist/es-legacy/core/Analytics/analyticsPreProcessor.js.map +1 -1
  635. package/dist/es-legacy/core/Analytics/utils.js +1 -1
  636. package/dist/es-legacy/core/Analytics/utils.js.map +1 -1
  637. package/dist/es-legacy/core/Context/Resources.js +1 -1
  638. package/dist/es-legacy/core/Context/Resources.js.map +1 -1
  639. package/dist/es-legacy/core/Environment/Environment.js +1 -1
  640. package/dist/es-legacy/core/Environment/Environment.js.map +1 -1
  641. package/dist/es-legacy/core/Environment/constants.js +1 -1
  642. package/dist/es-legacy/core/Environment/constants.js.map +1 -1
  643. package/dist/es-legacy/core/Errors/SRPanel.js +1 -1
  644. package/dist/es-legacy/core/Errors/SRPanel.js.map +1 -1
  645. package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js +1 -1
  646. package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
  647. package/dist/es-legacy/core/ProcessResponse/PaymentMethods/utils.js +1 -1
  648. package/dist/es-legacy/core/ProcessResponse/PaymentMethods/utils.js.map +1 -1
  649. package/dist/es-legacy/core/ProcessResponse/process-response.js +1 -1
  650. package/dist/es-legacy/core/ProcessResponse/process-response.js.map +1 -1
  651. package/dist/es-legacy/core/RiskModule/RiskModule.js +1 -1
  652. package/dist/es-legacy/core/RiskModule/RiskModule.js.map +1 -1
  653. package/dist/es-legacy/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.js.map +1 -1
  654. package/dist/es-legacy/core/Services/analytics/collect-id.js +1 -1
  655. package/dist/es-legacy/core/Services/analytics/collect-id.js.map +1 -1
  656. package/dist/es-legacy/core/Services/get-translations.js +1 -1
  657. package/dist/es-legacy/core/Services/get-translations.js.map +1 -1
  658. package/dist/es-legacy/core/Services/http.js +1 -1
  659. package/dist/es-legacy/core/Services/http.js.map +1 -1
  660. package/dist/es-legacy/core/config.js +1 -1
  661. package/dist/es-legacy/core/config.js.map +1 -1
  662. package/dist/es-legacy/core/core.js +1 -1
  663. package/dist/es-legacy/core/core.js.map +1 -1
  664. package/dist/es-legacy/core/core.registry.js +1 -1
  665. package/dist/es-legacy/core/core.registry.js.map +1 -1
  666. package/dist/es-legacy/core/utils.js +1 -1
  667. package/dist/es-legacy/core/utils.js.map +1 -1
  668. package/dist/es-legacy/external/preact/dist/preact.js +1 -1
  669. package/dist/es-legacy/external/preact/dist/preact.js.map +1 -1
  670. package/dist/es-legacy/external/preact/hooks/dist/hooks.js +1 -1
  671. package/dist/es-legacy/external/preact/hooks/dist/hooks.js.map +1 -1
  672. package/dist/es-legacy/language/constants.js +1 -1
  673. package/dist/es-legacy/language/constants.js.map +1 -1
  674. package/dist/es-legacy/utils/amount-util.js.map +1 -1
  675. package/dist/es-legacy/utils/browserInfo.js +1 -1
  676. package/dist/es-legacy/utils/browserInfo.js.map +1 -1
  677. package/dist/es-legacy/utils/commonUtils.js +2 -0
  678. package/dist/es-legacy/utils/commonUtils.js.map +1 -0
  679. package/dist/es-legacy/utils/listenerUtils.js +2 -0
  680. package/dist/es-legacy/utils/listenerUtils.js.map +1 -0
  681. package/dist/es-legacy/utils/regex.js.map +1 -1
  682. package/dist/es-legacy/utils/useForm/reducer.js +1 -1
  683. package/dist/es-legacy/utils/useForm/reducer.js.map +1 -1
  684. package/package.json +22 -18
  685. package/dist/es/components/Card/components/CardInput/components/IframeLabelAlternative.js.map +0 -1
  686. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/ExpandButton.js +0 -2
  687. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/ExpandButton.js.map +0 -1
  688. package/dist/es-legacy/components/Card/components/CardInput/components/IframeLabelAlternative.js +0 -2
  689. package/dist/es-legacy/components/Card/components/CardInput/components/IframeLabelAlternative.js.map +0 -1
  690. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/ExpandButton.js +0 -2
  691. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/ExpandButton.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Analytics.js","sources":["../../../../src/core/Analytics/Analytics.ts"],"sourcesContent":["import CollectId from '../Services/analytics/collect-id';\nimport EventsQueue, { EventsQueueModule } from './EventsQueue';\nimport { ANALYTICS_EVENT, AnalyticsInitialEvent, AnalyticsObject, AnalyticsProps, CreateAnalyticsEventObject } from './types';\nimport { ANALYTICS_EVENT_ERROR, ANALYTICS_EVENT_INFO, ANALYTICS_EVENT_LOG, ANALYTICS_INFO_TIMER_INTERVAL, ANALYTICS_PATH } from './constants';\nimport { debounce } from '../../utils/debounce';\nimport { AnalyticsModule } from '../../types/global-types';\nimport { createAnalyticsObject, processAnalyticsData } from './utils';\nimport { analyticsPreProcessor } from './analyticsPreProcessor';\n\nlet capturedCheckoutAttemptId = null;\nlet sendEventsTimerId = null;\n\nconst Analytics = ({ locale, clientKey, analytics, amount, analyticsContext, bundleType }: AnalyticsProps): AnalyticsModule => {\n const defaultProps = {\n enabled: true,\n checkoutAttemptId: null,\n analyticsData: {}\n };\n\n const props = { ...defaultProps, ...analytics };\n\n const collectId = CollectId({ analyticsContext, clientKey, locale, amount, analyticsPath: ANALYTICS_PATH, bundleType });\n const eventsQueue: EventsQueueModule = EventsQueue({ analyticsContext, clientKey, analyticsPath: ANALYTICS_PATH });\n\n const sendAnalyticsEvents = () => {\n if (capturedCheckoutAttemptId) {\n return eventsQueue.run(capturedCheckoutAttemptId);\n }\n return Promise.resolve(null);\n };\n\n const addAnalyticsEvent = (type: ANALYTICS_EVENT, obj: AnalyticsObject) => {\n const arrayName = type === ANALYTICS_EVENT_INFO ? type : `${type}s`;\n eventsQueue.add(`${arrayName}`, obj);\n\n /**\n * The logic is:\n * - info events are stored until a log or error comes along,\n * but, if after a set time, no other analytics event (log or error) has come along then we send the info events anyway\n */\n if (type === ANALYTICS_EVENT_INFO) {\n clearTimeout(sendEventsTimerId);\n sendEventsTimerId = setTimeout(sendAnalyticsEvents, ANALYTICS_INFO_TIMER_INTERVAL);\n }\n\n /**\n * The logic is:\n * - errors and logs get sent straightaway\n * ...but... tests with the 3DS2 process show that many logs can happen almost at the same time (or you can have an error followed immediately by a log),\n * so instead of making several sequential api calls we see if we can \"batch\" them using debounce\n */\n if (type === ANALYTICS_EVENT_LOG || type === ANALYTICS_EVENT_ERROR) {\n clearTimeout(sendEventsTimerId); // clear any timer that might be about to dispatch the info events array\n\n debounce(sendAnalyticsEvents)();\n }\n };\n\n const anlModule: AnalyticsModule = {\n /**\n * Make \"setup\" call, to pass containerWidth, buildType, channel etc, and receive a checkoutAttemptId in return\n * @param initialEvent -\n */\n setUp: async (initialEvent: AnalyticsInitialEvent) => {\n const { enabled, payload } = props; // TODO what is payload, is it ever used?\n\n const analyticsData = processAnalyticsData(props.analyticsData);\n\n if (enabled === true && !capturedCheckoutAttemptId) {\n try {\n const checkoutAttemptId = await collectId({\n ...initialEvent,\n ...(payload && { ...payload }),\n ...(Object.keys(analyticsData).length && { ...analyticsData })\n });\n capturedCheckoutAttemptId = checkoutAttemptId;\n } catch (e) {\n console.warn(`Fetching checkoutAttemptId failed.${e ? ` Error=${e}` : ''}`);\n }\n }\n },\n\n getCheckoutAttemptId: (): string => capturedCheckoutAttemptId,\n\n // Expose getter for testing purposes\n getEventsQueue: () => eventsQueue,\n\n createAnalyticsEvent: ({ event, data }: CreateAnalyticsEventObject): AnalyticsObject => {\n const aObj: AnalyticsObject = createAnalyticsObject({\n event,\n ...data\n });\n // console.log('### Analytics::createAnalyticsEvent:: event=', event, ' aObj=', aObj);\n\n addAnalyticsEvent(event, aObj);\n\n return aObj;\n },\n\n getEnabled: () => props.enabled,\n\n sendAnalytics: null\n };\n\n anlModule.sendAnalytics = analyticsPreProcessor(anlModule);\n\n return anlModule;\n};\n\nexport default Analytics;\n"],"names":["capturedCheckoutAttemptId","sendEventsTimerId","Analytics","locale","clientKey","analytics","amount","analyticsContext","bundleType","props","enabled","checkoutAttemptId","analyticsData","collectId","CollectId","analyticsPath","ANALYTICS_PATH","eventsQueue","EventsQueue","sendAnalyticsEvents","run","Promise","resolve","anlModule","setUp","async","initialEvent","payload","processAnalyticsData","Object","keys","length","e","console","warn","getCheckoutAttemptId","getEventsQueue","createAnalyticsEvent","event","data","aObj","createAnalyticsObject","type","obj","arrayName","ANALYTICS_EVENT_INFO","add","clearTimeout","setTimeout","ANALYTICS_INFO_TIMER_INTERVAL","ANALYTICS_EVENT_LOG","ANALYTICS_EVENT_ERROR","debounce","addAnalyticsEvent","getEnabled","sendAnalytics","analyticsPreProcessor"],"mappings":"ubASA,IAAIA,EAA4B,KAC5BC,EAAoB,KAExB,MAAMC,EAAY,EAAGC,SAAQC,YAAWC,YAAWC,SAAQC,mBAAkBC,iBACzE,MAMMC,EAAQ,CALVC,SAAS,EACTC,kBAAmB,KACnBC,cAAe,CAAC,KAGgBP,GAE9BQ,EAAYC,EAAU,CAAEP,mBAAkBH,YAAWD,SAAQG,SAAQS,cAAeC,EAAgBR,eACpGS,EAAiCC,EAAY,CAAEX,mBAAkBH,YAAWW,cAAeC,IAE3FG,EAAsB,IACpBnB,EACOiB,EAAYG,IAAIpB,GAEpBqB,QAAQC,QAAQ,MA8BrBC,EAA6B,CAK/BC,MAAOC,MAAOC,IACV,MAAMhB,QAAEA,EAAOiB,QAAEA,GAAYlB,EAEvBG,EAAgBgB,EAAqBnB,EAAMG,eAEjD,IAAgB,IAAZF,IAAqBV,EACrB,IACI,MAAMW,QAA0BE,EAAU,IACnCa,KACCC,GAAW,IAAKA,MAChBE,OAAOC,KAAKlB,GAAemB,QAAU,IAAKnB,KAElDZ,EAA4BW,CAChC,CAAE,MAAOqB,GACLC,QAAQC,KAAK,sCAAqCF,EAAI,UAAUA,IAAM,IAC1E,CACJ,EAGJG,qBAAsB,IAAcnC,EAGpCoC,eAAgB,IAAMnB,EAEtBoB,qBAAsB,EAAGC,QAAOC,WAC5B,MAAMC,EAAwBC,EAAsB,CAChDH,WACGC,IAMP,MAjEkB,EAACG,EAAuBC,KAC9C,MAAMC,EAAYF,IAASG,EAAuBH,EAAO,GAAGA,KAC5DzB,EAAY6B,IAAI,GAAGF,IAAaD,GAO5BD,IAASG,IACTE,aAAa9C,GACbA,EAAoB+C,WAAW7B,EAAqB8B,IASpDP,IAASQ,GAAuBR,IAASS,IACzCJ,aAAa9C,GAEbmD,EAASjC,EAATiC,GACJ,EAuCIC,CAAkBf,EAAOE,GAElBA,CAAAA,EAGXc,WAAY,IAAM7C,EAAMC,QAExB6C,cAAe,MAKnB,OAFAhC,EAAUgC,cAAgBC,EAAsBjC,GAEzCA,CAAAA"}
1
+ {"version":3,"file":"Analytics.js","sources":["../../../../src/core/Analytics/Analytics.ts"],"sourcesContent":["import CollectId from '../Services/analytics/collect-id';\nimport EventsQueue, { EventsQueueModule } from './EventsQueue';\nimport { ANALYTICS_EVENT, AnalyticsInitialEvent, AnalyticsObject, AnalyticsProps, CreateAnalyticsEventObject } from './types';\nimport { ANALYTICS_EVENT_ERROR, ANALYTICS_EVENT_INFO, ANALYTICS_EVENT_LOG, ANALYTICS_INFO_TIMER_INTERVAL, ANALYTICS_PATH } from './constants';\nimport { debounce } from '../../utils/debounce';\nimport { AnalyticsModule } from '../../types/global-types';\nimport { createAnalyticsObject, processAnalyticsData } from './utils';\nimport { analyticsPreProcessor } from './analyticsPreProcessor';\n\nlet capturedCheckoutAttemptId = null;\nlet sendEventsTimerId = null;\n\nconst Analytics = ({ locale, clientKey, analytics, amount, analyticsContext, bundleType }: AnalyticsProps): AnalyticsModule => {\n const defaultProps = {\n enabled: true,\n checkoutAttemptId: null,\n analyticsData: {}\n };\n\n const props = { ...defaultProps, ...analytics };\n\n const collectId = CollectId({ analyticsContext, clientKey, locale, amount, analyticsPath: ANALYTICS_PATH, bundleType });\n const eventsQueue: EventsQueueModule = EventsQueue({ analyticsContext, clientKey, analyticsPath: ANALYTICS_PATH });\n\n const sendAnalyticsEvents = () => {\n if (capturedCheckoutAttemptId) {\n return eventsQueue.run(capturedCheckoutAttemptId);\n }\n return Promise.resolve(null);\n };\n\n const addAnalyticsEvent = (type: ANALYTICS_EVENT, obj: AnalyticsObject) => {\n const arrayName = type === ANALYTICS_EVENT_INFO ? type : `${type}s`;\n eventsQueue.add(`${arrayName}`, obj);\n\n /**\n * The logic is:\n * - info events are stored until a log or error comes along,\n * but, if after a set time, no other analytics event (log or error) has come along then we send the info events anyway\n */\n if (type === ANALYTICS_EVENT_INFO) {\n clearTimeout(sendEventsTimerId);\n sendEventsTimerId = setTimeout(() => void sendAnalyticsEvents(), ANALYTICS_INFO_TIMER_INTERVAL);\n }\n\n /**\n * The logic is:\n * - errors and logs get sent straightaway\n * ...but... tests with the 3DS2 process show that many logs can happen almost at the same time (or you can have an error followed immediately by a log),\n * so instead of making several sequential api calls we see if we can \"batch\" them using debounce\n */\n if (type === ANALYTICS_EVENT_LOG || type === ANALYTICS_EVENT_ERROR) {\n clearTimeout(sendEventsTimerId); // clear any timer that might be about to dispatch the info events array\n\n debounce(sendAnalyticsEvents)();\n }\n };\n\n const anlModule: AnalyticsModule = {\n /**\n * Make \"setup\" call, to pass containerWidth, buildType, channel etc, and receive a checkoutAttemptId in return\n * @param initialEvent -\n */\n setUp: async (initialEvent: AnalyticsInitialEvent) => {\n const { enabled, payload } = props; // TODO what is payload, is it ever used?\n\n const analyticsData = processAnalyticsData(props.analyticsData);\n\n if (enabled === true && !capturedCheckoutAttemptId) {\n try {\n const checkoutAttemptId = await collectId({\n ...initialEvent,\n ...(payload && { ...payload }),\n ...(Object.keys(analyticsData).length && { ...analyticsData })\n });\n capturedCheckoutAttemptId = checkoutAttemptId;\n } catch (e: any) {\n console.warn(`Fetching checkoutAttemptId failed.${e ? ` Error=${e}` : ''}`);\n }\n }\n },\n\n getCheckoutAttemptId: (): string => capturedCheckoutAttemptId,\n\n // Expose getter for testing purposes\n getEventsQueue: () => eventsQueue,\n\n createAnalyticsEvent: ({ event, data }: CreateAnalyticsEventObject): AnalyticsObject => {\n const aObj: AnalyticsObject = createAnalyticsObject({\n event,\n ...data\n });\n // console.log('### Analytics::createAnalyticsEvent:: event=', event, ' aObj=', aObj);\n\n addAnalyticsEvent(event, aObj);\n\n return aObj;\n },\n\n getEnabled: () => props.enabled,\n\n sendAnalytics: null\n };\n\n anlModule.sendAnalytics = analyticsPreProcessor(anlModule);\n\n return anlModule;\n};\n\nexport default Analytics;\n"],"names":["capturedCheckoutAttemptId","sendEventsTimerId","Analytics","locale","clientKey","analytics","amount","analyticsContext","bundleType","props","enabled","checkoutAttemptId","analyticsData","collectId","CollectId","analyticsPath","ANALYTICS_PATH","eventsQueue","EventsQueue","sendAnalyticsEvents","run","Promise","resolve","anlModule","setUp","async","initialEvent","payload","processAnalyticsData","Object","keys","length","e","console","warn","getCheckoutAttemptId","getEventsQueue","createAnalyticsEvent","event","data","aObj","createAnalyticsObject","type","obj","arrayName","ANALYTICS_EVENT_INFO","add","clearTimeout","setTimeout","ANALYTICS_INFO_TIMER_INTERVAL","ANALYTICS_EVENT_LOG","ANALYTICS_EVENT_ERROR","debounce","addAnalyticsEvent","getEnabled","sendAnalytics","analyticsPreProcessor"],"mappings":"ubASA,IAAIA,EAA4B,KAC5BC,EAAoB,KAExB,MAAMC,EAAY,EAAGC,SAAQC,YAAWC,YAAWC,SAAQC,mBAAkBC,iBACzE,MAMMC,EAAQ,CALVC,SAAS,EACTC,kBAAmB,KACnBC,cAAe,CAAC,KAGgBP,GAE9BQ,EAAYC,EAAU,CAAEP,mBAAkBH,YAAWD,SAAQG,SAAQS,cAAeC,EAAgBR,eACpGS,EAAiCC,EAAY,CAAEX,mBAAkBH,YAAWW,cAAeC,IAE3FG,EAAsB,IACpBnB,EACOiB,EAAYG,IAAIpB,GAEpBqB,QAAQC,QAAQ,MA8BrBC,EAA6B,CAK/BC,MAAOC,MAAOC,IACV,MAAMhB,QAAEA,EAAOiB,QAAEA,GAAYlB,EAEvBG,EAAgBgB,EAAqBnB,EAAMG,eAEjD,IAAgB,IAAZF,IAAqBV,EACrB,IACI,MAAMW,QAA0BE,EAAU,IACnCa,KACCC,GAAW,IAAKA,MAChBE,OAAOC,KAAKlB,GAAemB,QAAU,IAAKnB,KAElDZ,EAA4BW,CAChC,CAAE,MAAOqB,GACLC,QAAQC,KAAK,sCAAqCF,EAAI,UAAUA,IAAM,IAC1E,CACJ,EAGJG,qBAAsB,IAAcnC,EAGpCoC,eAAgB,IAAMnB,EAEtBoB,qBAAsB,EAAGC,QAAOC,WAC5B,MAAMC,EAAwBC,EAAsB,CAChDH,WACGC,IAMP,MAjEkB,EAACG,EAAuBC,KAC9C,MAAMC,EAAYF,IAASG,EAAuBH,EAAO,GAAGA,KAC5DzB,EAAY6B,IAAI,GAAGF,IAAaD,GAO5BD,IAASG,IACTE,aAAa9C,GACbA,EAAoB+C,YAAW,KAAW7B,GAAuB8B,GAAAA,IASjEP,IAASQ,GAAuBR,IAASS,IACzCJ,aAAa9C,GAEbmD,EAASjC,EAATiC,GACJ,EAuCIC,CAAkBf,EAAOE,GAElBA,CAAAA,EAGXc,WAAY,IAAM7C,EAAMC,QAExB6C,cAAe,MAKnB,OAFAhC,EAAUgC,cAAgBC,EAAsBjC,GAEzCA,CAAAA"}
@@ -1,2 +1,2 @@
1
- import{ANALYTICS_EVENT_ERROR as e,ANALYTICS_EVENT_LOG as t,ANALYTICS_ACTION_STR as a,ANALYTICS_SUBMIT_STR as s,ANALYTICS_VALIDATION_ERROR_STR as n,ANALYTICS_EVENT_INFO as r,ANALYTICS_SELECTED_STR as o,ANALYTICS_DOWNLOAD_STR as c,ANALYTICS_INPUT_STR as p,ANALYTICS_DISPLAYED_STR as y,ANALYTICS_UNFOCUS_STR as i,ANALYTICS_FOCUS_STR as d,ANALYTICS_CONFIGURED_STR as m,ANALYTICS_RENDERED_STR as v,ANALYTICS_EXPRESS_PAGES_ARRAY as l}from"./constants.js";import{THREEDS2_ERROR as b,THREEDS2_FULL as E}from"../../components/ThreeDS2/constants.js";import g,{SDK_ERROR as u}from"../Errors/AdyenCheckoutError.js";const k=k=>(A,h,f={})=>{const{type:M,target:P}=h;if(!M)throw new g(u,"You are trying to create an analytics event without a type");switch(M){case v:{const{isStoredPaymentMethod:e,brand:t}=h,{isExpress:a,expressPage:s}=f,n=s&&l.includes(s),o={component:A,type:M,..."boolean"==typeof e&&{isStoredPaymentMethod:e},...t&&{brand:t},..."boolean"==typeof a&&{isExpress:a},...!0===a&&n&&{expressPage:s}};k.createAnalyticsEvent({event:r,data:o});break}case m:{const{isStoredPaymentMethod:e,brand:t}=h,a={component:A,type:M,isStoredPaymentMethod:e,brand:t};k.createAnalyticsEvent({event:r,data:a});break}case d:case i:case y:case p:case c:k.createAnalyticsEvent({event:r,data:{component:A,type:M,target:P}});break;case o:{const{issuer:e}=h;k.createAnalyticsEvent({event:r,data:{component:A,type:M,target:P,issuer:e}});break}case n:{const{validationErrorCode:e,validationErrorMessage:t}=h;k.createAnalyticsEvent({event:r,data:{component:A,type:M,target:P,validationErrorCode:e,validationErrorMessage:t}});break}case s:k.createAnalyticsEvent({event:t,data:{component:A,type:M,message:"Shopper clicked pay"}});break;case a:{const{subtype:e,message:a}=h;k.createAnalyticsEvent({event:t,data:{component:A,type:M,subtype:e,message:a}});break}case E:{const{message:e,metadata:a,subtype:s,result:n}=h;k.createAnalyticsEvent({event:t,data:{component:A,type:M,message:e,metadata:a,subtype:s,result:n}});break}case b:{const{message:t,code:a,errorType:s}=h;k.createAnalyticsEvent({event:e,data:{component:A,type:M,message:t,code:a,errorType:s}});break}default:k.createAnalyticsEvent(h)}};export{k as analyticsPreProcessor};
1
+ import{ANALYTICS_EVENT_ERROR as e,ANALYTICS_EVENT_LOG as t,ANALYTICS_ACTION_STR as a,ANALYTICS_SUBMIT_STR as s,ANALYTICS_VALIDATION_ERROR_STR as n,ANALYTICS_EVENT_INFO as o,ANALYTICS_SELECTED_STR as r,ANALYTICS_DOWNLOAD_STR as c,ANALYTICS_INPUT_STR as p,ANALYTICS_DISPLAYED_STR as i,ANALYTICS_UNFOCUS_STR as y,ANALYTICS_FOCUS_STR as d,ANALYTICS_CONFIGURED_STR as m,ANALYTICS_RENDERED_STR as l,ANALYTICS_EXPRESS_PAGES_ARRAY as v}from"./constants.js";import{THREEDS2_ERROR as b,THREEDS2_FULL as E}from"../../components/ThreeDS2/constants.js";import g,{SDK_ERROR as u}from"../Errors/AdyenCheckoutError.js";import{getCardConfigData as h}from"./utils.js";const k=k=>(A,f,M={})=>{const{type:P,target:S}=f;if(!P)throw new g(u,"You are trying to create an analytics event without a type");switch(P){case l:{const{isStoredPaymentMethod:e,brand:t}=f,{isExpress:a,expressPage:s}=M,n=s&&v.includes(s),{type:r}=M;let c=null;"scheme"!==r&&"bcmc"!==r&&"customcard"!==r||(c=h(M));const p={component:A,type:P,..."boolean"==typeof e&&{isStoredPaymentMethod:e},...t&&{brand:t},..."boolean"==typeof a&&{isExpress:a},...!0===a&&n&&{expressPage:s},...c&&{configData:c}};k.createAnalyticsEvent({event:o,data:p});break}case m:{const{isStoredPaymentMethod:e,brand:t}=f,a={component:A,type:P,isStoredPaymentMethod:e,brand:t};k.createAnalyticsEvent({event:o,data:a});break}case d:case y:case i:case p:case c:k.createAnalyticsEvent({event:o,data:{component:A,type:P,target:S}});break;case r:{const{issuer:e}=f;k.createAnalyticsEvent({event:o,data:{component:A,type:P,target:S,issuer:e}});break}case n:{const{validationErrorCode:e,validationErrorMessage:t}=f;k.createAnalyticsEvent({event:o,data:{component:A,type:P,target:S,validationErrorCode:e,validationErrorMessage:t}});break}case s:k.createAnalyticsEvent({event:t,data:{component:A,type:P,message:"Shopper clicked pay"}});break;case a:{const{subtype:e,message:a}=f;k.createAnalyticsEvent({event:t,data:{component:A,type:P,subtype:e,message:a}});break}case E:{const{message:e,metadata:a,subtype:s,result:n}=f;k.createAnalyticsEvent({event:t,data:{component:A,type:P,message:e,metadata:a,subtype:s,result:n}});break}case b:{const{message:t,code:a,errorType:s}=f;k.createAnalyticsEvent({event:e,data:{component:A,type:P,message:t,code:a,errorType:s}});break}default:k.createAnalyticsEvent(f)}};export{k as analyticsPreProcessor};
2
2
  //# sourceMappingURL=analyticsPreProcessor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"analyticsPreProcessor.js","sources":["../../../../src/core/Analytics/analyticsPreProcessor.ts"],"sourcesContent":["import { AnalyticsModule } from '../../types/global-types';\nimport { CreateAnalyticsEventObject, SendAnalyticsObject } from './types';\nimport {\n ANALYTICS_ACTION_STR,\n ANALYTICS_CONFIGURED_STR,\n ANALYTICS_DISPLAYED_STR,\n ANALYTICS_DOWNLOAD_STR,\n ANALYTICS_EVENT_ERROR,\n ANALYTICS_EVENT_INFO,\n ANALYTICS_EVENT_LOG,\n ANALYTICS_FOCUS_STR,\n ANALYTICS_INPUT_STR,\n ANALYTICS_RENDERED_STR,\n ANALYTICS_SELECTED_STR,\n ANALYTICS_SUBMIT_STR,\n ANALYTICS_UNFOCUS_STR,\n ANALYTICS_VALIDATION_ERROR_STR,\n ANALYTICS_EXPRESS_PAGES_ARRAY\n} from './constants';\nimport { THREEDS2_ERROR, THREEDS2_FULL } from '../../components/ThreeDS2/constants';\nimport AdyenCheckoutError, { SDK_ERROR } from '../Errors/AdyenCheckoutError';\n\nexport const analyticsPreProcessor = (analyticsModule: AnalyticsModule) => {\n // return function with an analyticsModule reference\n return (component: string, analyticsObj: SendAnalyticsObject, uiElementProps = {} as any) => {\n const { type, target } = analyticsObj;\n\n if (!type) {\n throw new AdyenCheckoutError(SDK_ERROR, 'You are trying to create an analytics event without a type');\n }\n\n switch (type) {\n /**\n * INFO\n */\n // Called from BaseElement (when component mounted) or, from DropinComponent (after mounting, when it has finished resolving all the PM promises)\n // &/or, from DropinComponent when a PM is selected\n case ANALYTICS_RENDERED_STR: {\n const { isStoredPaymentMethod, brand } = analyticsObj;\n\n // Expected from Wallet PMs\n const { isExpress, expressPage } = uiElementProps;\n\n const hasExpressPage = expressPage && ANALYTICS_EXPRESS_PAGES_ARRAY.includes(expressPage);\n\n const data = {\n component,\n type,\n ...(typeof isStoredPaymentMethod === 'boolean' && { isStoredPaymentMethod }), // if defined and a boolean...\n ...(brand && { brand }),\n ...(typeof isExpress === 'boolean' && { isExpress }),\n ...(isExpress === true && hasExpressPage && { expressPage }) // We only care about the expressPage value if isExpress is true\n };\n\n analyticsModule.createAnalyticsEvent({\n event: ANALYTICS_EVENT_INFO,\n data\n });\n\n break;\n }\n\n case ANALYTICS_CONFIGURED_STR: {\n const { isStoredPaymentMethod, brand } = analyticsObj;\n const data = { component, type, isStoredPaymentMethod, brand };\n\n analyticsModule.createAnalyticsEvent({\n event: ANALYTICS_EVENT_INFO,\n data\n });\n break;\n }\n\n case ANALYTICS_FOCUS_STR:\n case ANALYTICS_UNFOCUS_STR:\n case ANALYTICS_DISPLAYED_STR: // issuerList\n case ANALYTICS_INPUT_STR: // issuerList\n case ANALYTICS_DOWNLOAD_STR: // QR codes\n analyticsModule.createAnalyticsEvent({\n event: ANALYTICS_EVENT_INFO,\n data: { component, type, target }\n });\n break;\n\n // - ApplePay & GooglePay when instant PMs\n // - issuerList buttons\n case ANALYTICS_SELECTED_STR: {\n const { issuer } = analyticsObj;\n analyticsModule.createAnalyticsEvent({\n event: ANALYTICS_EVENT_INFO,\n data: { component, type, target, issuer }\n });\n break;\n }\n\n case ANALYTICS_VALIDATION_ERROR_STR: {\n const { validationErrorCode, validationErrorMessage } = analyticsObj;\n analyticsModule.createAnalyticsEvent({\n event: ANALYTICS_EVENT_INFO,\n data: { component, type, target, validationErrorCode, validationErrorMessage }\n });\n break;\n }\n\n /**\n * LOGS\n */\n case ANALYTICS_SUBMIT_STR:\n analyticsModule.createAnalyticsEvent({\n event: ANALYTICS_EVENT_LOG,\n data: { component, type, message: 'Shopper clicked pay' }\n });\n break;\n\n case ANALYTICS_ACTION_STR: {\n const { subtype, message } = analyticsObj;\n analyticsModule.createAnalyticsEvent({\n event: ANALYTICS_EVENT_LOG,\n data: { component, type, subtype, message }\n });\n break;\n }\n\n // General 3DS2 log events: \"action handled\" (i.e. iframe loaded), data sent, process completed\n case THREEDS2_FULL: {\n const { message, metadata, subtype, result } = analyticsObj;\n\n analyticsModule.createAnalyticsEvent({\n event: ANALYTICS_EVENT_LOG,\n data: { component, type, message, metadata, subtype, result }\n });\n break;\n }\n\n /**\n * ERRORS\n */\n case THREEDS2_ERROR: {\n const { message, code, errorType } = analyticsObj;\n analyticsModule.createAnalyticsEvent({\n event: ANALYTICS_EVENT_ERROR,\n data: { component, type, message, code, errorType }\n });\n break;\n }\n\n default: {\n analyticsModule.createAnalyticsEvent(analyticsObj as CreateAnalyticsEventObject);\n }\n }\n };\n};\n"],"names":["analyticsPreProcessor","analyticsModule","component","analyticsObj","uiElementProps","type","target","AdyenCheckoutError","SDK_ERROR","ANALYTICS_RENDERED_STR","isStoredPaymentMethod","brand","isExpress","expressPage","hasExpressPage","ANALYTICS_EXPRESS_PAGES_ARRAY","includes","data","createAnalyticsEvent","event","ANALYTICS_EVENT_INFO","ANALYTICS_CONFIGURED_STR","ANALYTICS_FOCUS_STR","ANALYTICS_UNFOCUS_STR","ANALYTICS_DISPLAYED_STR","ANALYTICS_INPUT_STR","ANALYTICS_DOWNLOAD_STR","ANALYTICS_SELECTED_STR","issuer","ANALYTICS_VALIDATION_ERROR_STR","validationErrorCode","validationErrorMessage","ANALYTICS_SUBMIT_STR","ANALYTICS_EVENT_LOG","message","ANALYTICS_ACTION_STR","subtype","THREEDS2_FULL","metadata","result","THREEDS2_ERROR","code","errorType","ANALYTICS_EVENT_ERROR"],"mappings":"2lBAsBO,MAAMA,EAAyBC,GAE3B,CAACC,EAAmBC,EAAmCC,EAAiB,CAAA,KAC3E,MAAMC,KAAEA,EAAIC,OAAEA,GAAWH,EAEzB,IAAKE,EACD,MAAM,IAAIE,EAAmBC,EAAW,8DAG5C,OAAQH,GAMJ,KAAKI,EAAwB,CACzB,MAAMC,sBAAEA,EAAqBC,MAAEA,GAAUR,GAGnCS,UAAEA,EAASC,YAAEA,GAAgBT,EAE7BU,EAAiBD,GAAeE,EAA8BC,SAASH,GAEvEI,EAAO,CACTf,YACAG,UACqC,kBAA1BK,GAAuC,CAAEA,4BAChDC,GAAS,CAAEA,YACU,kBAAdC,GAA2B,CAAEA,iBACtB,IAAdA,GAAsBE,GAAkB,CAAED,gBAGlDZ,EAAgBiB,qBAAqB,CACjCC,MAAOC,EACPH,SAGJ,KACJ,CAEA,KAAKI,EAA0B,CAC3B,MAAMX,sBAAEA,EAAqBC,MAAEA,GAAUR,EACnCc,EAAO,CAAEf,YAAWG,OAAMK,wBAAuBC,SAEvDV,EAAgBiB,qBAAqB,CACjCC,MAAOC,EACPH,SAEJ,KACJ,CAEA,KAAKK,EACL,KAAKC,EACL,KAAKC,EACL,KAAKC,EACL,KAAKC,EACDzB,EAAgBiB,qBAAqB,CACjCC,MAAOC,EACPH,KAAM,CAAEf,YAAWG,OAAMC,YAE7B,MAIJ,KAAKqB,EAAwB,CACzB,MAAMC,OAAEA,GAAWzB,EACnBF,EAAgBiB,qBAAqB,CACjCC,MAAOC,EACPH,KAAM,CAAEf,YAAWG,OAAMC,SAAQsB,YAErC,KACJ,CAEA,KAAKC,EAAgC,CACjC,MAAMC,oBAAEA,EAAmBC,uBAAEA,GAA2B5B,EACxDF,EAAgBiB,qBAAqB,CACjCC,MAAOC,EACPH,KAAM,CAAEf,YAAWG,OAAMC,SAAQwB,sBAAqBC,4BAE1D,KACJ,CAKA,KAAKC,EACD/B,EAAgBiB,qBAAqB,CACjCC,MAAOc,EACPhB,KAAM,CAAEf,YAAWG,OAAM6B,QAAS,yBAEtC,MAEJ,KAAKC,EAAsB,CACvB,MAAMC,QAAEA,EAAOF,QAAEA,GAAY/B,EAC7BF,EAAgBiB,qBAAqB,CACjCC,MAAOc,EACPhB,KAAM,CAAEf,YAAWG,OAAM+B,UAASF,aAEtC,KACJ,CAGA,KAAKG,EAAe,CAChB,MAAMH,QAAEA,EAAOI,SAAEA,EAAQF,QAAEA,EAAOG,OAAEA,GAAWpC,EAE/CF,EAAgBiB,qBAAqB,CACjCC,MAAOc,EACPhB,KAAM,CAAEf,YAAWG,OAAM6B,UAASI,WAAUF,UAASG,YAEzD,KACJ,CAKA,KAAKC,EAAgB,CACjB,MAAMN,QAAEA,EAAOO,KAAEA,EAAIC,UAAEA,GAAcvC,EACrCF,EAAgBiB,qBAAqB,CACjCC,MAAOwB,EACP1B,KAAM,CAAEf,YAAWG,OAAM6B,UAASO,OAAMC,eAE5C,KACJ,CAEA,QACIzC,EAAgBiB,qBAAqBf,GAE7C"}
1
+ {"version":3,"file":"analyticsPreProcessor.js","sources":["../../../../src/core/Analytics/analyticsPreProcessor.ts"],"sourcesContent":["import { AnalyticsModule } from '../../types/global-types';\nimport { ConfigData, CreateAnalyticsEventObject, SendAnalyticsObject } from './types';\nimport {\n ANALYTICS_ACTION_STR,\n ANALYTICS_CONFIGURED_STR,\n ANALYTICS_DISPLAYED_STR,\n ANALYTICS_DOWNLOAD_STR,\n ANALYTICS_EVENT_ERROR,\n ANALYTICS_EVENT_INFO,\n ANALYTICS_EVENT_LOG,\n ANALYTICS_FOCUS_STR,\n ANALYTICS_INPUT_STR,\n ANALYTICS_RENDERED_STR,\n ANALYTICS_SELECTED_STR,\n ANALYTICS_SUBMIT_STR,\n ANALYTICS_UNFOCUS_STR,\n ANALYTICS_VALIDATION_ERROR_STR,\n ANALYTICS_EXPRESS_PAGES_ARRAY\n} from './constants';\nimport { THREEDS2_ERROR, THREEDS2_FULL } from '../../components/ThreeDS2/constants';\nimport AdyenCheckoutError, { SDK_ERROR } from '../Errors/AdyenCheckoutError';\nimport { getCardConfigData } from './utils';\n\nexport const analyticsPreProcessor = (analyticsModule: AnalyticsModule) => {\n // return function with an analyticsModule reference\n return (component: string, analyticsObj: SendAnalyticsObject, uiElementProps = {} as any) => {\n const { type, target } = analyticsObj;\n\n if (!type) {\n throw new AdyenCheckoutError(SDK_ERROR, 'You are trying to create an analytics event without a type');\n }\n\n switch (type) {\n /**\n * INFO\n */\n // Called from BaseElement (when component mounted) or, from DropinComponent (after mounting, when it has finished resolving all the PM promises)\n // &/or, from DropinComponent when a PM is selected\n case ANALYTICS_RENDERED_STR: {\n const { isStoredPaymentMethod, brand } = analyticsObj;\n\n // Expected from Wallet PMs\n const { isExpress, expressPage } = uiElementProps;\n\n const hasExpressPage = expressPage && ANALYTICS_EXPRESS_PAGES_ARRAY.includes(expressPage);\n\n const { type: componentType } = uiElementProps;\n let configData: ConfigData = null;\n\n if (componentType === 'scheme' || componentType === 'bcmc' || componentType === 'customcard') {\n // Expected from Card related PMs\n configData = getCardConfigData(uiElementProps);\n }\n\n const data = {\n component,\n type,\n ...(typeof isStoredPaymentMethod === 'boolean' && { isStoredPaymentMethod }), // if defined and a boolean...\n ...(brand && { brand }),\n ...(typeof isExpress === 'boolean' && { isExpress }),\n ...(isExpress === true && hasExpressPage && { expressPage }), // We only care about the expressPage value if isExpress is true\n ...(configData && { configData })\n };\n\n analyticsModule.createAnalyticsEvent({\n event: ANALYTICS_EVENT_INFO,\n data\n });\n\n break;\n }\n\n case ANALYTICS_CONFIGURED_STR: {\n const { isStoredPaymentMethod, brand } = analyticsObj;\n const data = { component, type, isStoredPaymentMethod, brand };\n\n analyticsModule.createAnalyticsEvent({\n event: ANALYTICS_EVENT_INFO,\n data\n });\n break;\n }\n\n case ANALYTICS_FOCUS_STR:\n case ANALYTICS_UNFOCUS_STR:\n case ANALYTICS_DISPLAYED_STR: // issuerList\n case ANALYTICS_INPUT_STR: // issuerList\n case ANALYTICS_DOWNLOAD_STR: // QR codes\n analyticsModule.createAnalyticsEvent({\n event: ANALYTICS_EVENT_INFO,\n data: { component, type, target }\n });\n break;\n\n // - ApplePay & GooglePay when instant PMs\n // - issuerList buttons\n case ANALYTICS_SELECTED_STR: {\n const { issuer } = analyticsObj;\n analyticsModule.createAnalyticsEvent({\n event: ANALYTICS_EVENT_INFO,\n data: { component, type, target, issuer }\n });\n break;\n }\n\n case ANALYTICS_VALIDATION_ERROR_STR: {\n const { validationErrorCode, validationErrorMessage } = analyticsObj;\n analyticsModule.createAnalyticsEvent({\n event: ANALYTICS_EVENT_INFO,\n data: { component, type, target, validationErrorCode, validationErrorMessage }\n });\n break;\n }\n\n /**\n * LOGS\n */\n case ANALYTICS_SUBMIT_STR:\n analyticsModule.createAnalyticsEvent({\n event: ANALYTICS_EVENT_LOG,\n data: { component, type, message: 'Shopper clicked pay' }\n });\n break;\n\n case ANALYTICS_ACTION_STR: {\n const { subtype, message } = analyticsObj;\n analyticsModule.createAnalyticsEvent({\n event: ANALYTICS_EVENT_LOG,\n data: { component, type, subtype, message }\n });\n break;\n }\n\n // General 3DS2 log events: \"action handled\" (i.e. iframe loaded), data sent, process completed\n case THREEDS2_FULL: {\n const { message, metadata, subtype, result } = analyticsObj;\n\n analyticsModule.createAnalyticsEvent({\n event: ANALYTICS_EVENT_LOG,\n data: { component, type, message, metadata, subtype, result }\n });\n break;\n }\n\n /**\n * ERRORS\n */\n case THREEDS2_ERROR: {\n const { message, code, errorType } = analyticsObj;\n analyticsModule.createAnalyticsEvent({\n event: ANALYTICS_EVENT_ERROR,\n data: { component, type, message, code, errorType }\n });\n break;\n }\n\n default: {\n analyticsModule.createAnalyticsEvent(analyticsObj as CreateAnalyticsEventObject);\n }\n }\n };\n};\n"],"names":["analyticsPreProcessor","analyticsModule","component","analyticsObj","uiElementProps","type","target","AdyenCheckoutError","SDK_ERROR","ANALYTICS_RENDERED_STR","isStoredPaymentMethod","brand","isExpress","expressPage","hasExpressPage","ANALYTICS_EXPRESS_PAGES_ARRAY","includes","componentType","configData","getCardConfigData","data","createAnalyticsEvent","event","ANALYTICS_EVENT_INFO","ANALYTICS_CONFIGURED_STR","ANALYTICS_FOCUS_STR","ANALYTICS_UNFOCUS_STR","ANALYTICS_DISPLAYED_STR","ANALYTICS_INPUT_STR","ANALYTICS_DOWNLOAD_STR","ANALYTICS_SELECTED_STR","issuer","ANALYTICS_VALIDATION_ERROR_STR","validationErrorCode","validationErrorMessage","ANALYTICS_SUBMIT_STR","ANALYTICS_EVENT_LOG","message","ANALYTICS_ACTION_STR","subtype","THREEDS2_FULL","metadata","result","THREEDS2_ERROR","code","errorType","ANALYTICS_EVENT_ERROR"],"mappings":"0oBAuBO,MAAMA,EAAyBC,GAE3B,CAACC,EAAmBC,EAAmCC,EAAiB,CAAA,KAC3E,MAAMC,KAAEA,EAAIC,OAAEA,GAAWH,EAEzB,IAAKE,EACD,MAAM,IAAIE,EAAmBC,EAAW,8DAG5C,OAAQH,GAMJ,KAAKI,EAAwB,CACzB,MAAMC,sBAAEA,EAAqBC,MAAEA,GAAUR,GAGnCS,UAAEA,EAASC,YAAEA,GAAgBT,EAE7BU,EAAiBD,GAAeE,EAA8BC,SAASH,IAErER,KAAMY,GAAkBb,EAChC,IAAIc,EAAyB,KAEP,WAAlBD,GAAgD,SAAlBA,GAA8C,eAAlBA,IAE1DC,EAAaC,EAAkBf,IAGnC,MAAMgB,EAAO,CACTlB,YACAG,UACqC,kBAA1BK,GAAuC,CAAEA,4BAChDC,GAAS,CAAEA,YACU,kBAAdC,GAA2B,CAAEA,iBACtB,IAAdA,GAAsBE,GAAkB,CAAED,kBAC1CK,GAAc,CAAEA,eAGxBjB,EAAgBoB,qBAAqB,CACjCC,MAAOC,EACPH,SAGJ,KACJ,CAEA,KAAKI,EAA0B,CAC3B,MAAMd,sBAAEA,EAAqBC,MAAEA,GAAUR,EACnCiB,EAAO,CAAElB,YAAWG,OAAMK,wBAAuBC,SAEvDV,EAAgBoB,qBAAqB,CACjCC,MAAOC,EACPH,SAEJ,KACJ,CAEA,KAAKK,EACL,KAAKC,EACL,KAAKC,EACL,KAAKC,EACL,KAAKC,EACD5B,EAAgBoB,qBAAqB,CACjCC,MAAOC,EACPH,KAAM,CAAElB,YAAWG,OAAMC,YAE7B,MAIJ,KAAKwB,EAAwB,CACzB,MAAMC,OAAEA,GAAW5B,EACnBF,EAAgBoB,qBAAqB,CACjCC,MAAOC,EACPH,KAAM,CAAElB,YAAWG,OAAMC,SAAQyB,YAErC,KACJ,CAEA,KAAKC,EAAgC,CACjC,MAAMC,oBAAEA,EAAmBC,uBAAEA,GAA2B/B,EACxDF,EAAgBoB,qBAAqB,CACjCC,MAAOC,EACPH,KAAM,CAAElB,YAAWG,OAAMC,SAAQ2B,sBAAqBC,4BAE1D,KACJ,CAKA,KAAKC,EACDlC,EAAgBoB,qBAAqB,CACjCC,MAAOc,EACPhB,KAAM,CAAElB,YAAWG,OAAMgC,QAAS,yBAEtC,MAEJ,KAAKC,EAAsB,CACvB,MAAMC,QAAEA,EAAOF,QAAEA,GAAYlC,EAC7BF,EAAgBoB,qBAAqB,CACjCC,MAAOc,EACPhB,KAAM,CAAElB,YAAWG,OAAMkC,UAASF,aAEtC,KACJ,CAGA,KAAKG,EAAe,CAChB,MAAMH,QAAEA,EAAOI,SAAEA,EAAQF,QAAEA,EAAOG,OAAEA,GAAWvC,EAE/CF,EAAgBoB,qBAAqB,CACjCC,MAAOc,EACPhB,KAAM,CAAElB,YAAWG,OAAMgC,UAASI,WAAUF,UAASG,YAEzD,KACJ,CAKA,KAAKC,EAAgB,CACjB,MAAMN,QAAEA,EAAOO,KAAEA,EAAIC,UAAEA,GAAc1C,EACrCF,EAAgBoB,qBAAqB,CACjCC,MAAOwB,EACP1B,KAAM,CAAElB,YAAWG,OAAMgC,UAASO,OAAMC,eAE5C,KACJ,CAEA,QACI5C,EAAgBoB,qBAAqBlB,GAE7C"}
@@ -1,2 +1,2 @@
1
- import{ANALYTICS_ACTION_STR as e,ANALYTICS_VALIDATION_ERROR_STR as t,errorCodeMapping as r,ALLOWED_ANALYTICS_DATA as s}from"./constants.js";import o from"../../utils/uuid.js";import{digitsOnlyFormatter as a}from"../../utils/Formatters/formatters.js";import{ERROR_FIELD_REQUIRED as n,ERROR_INVALID_FORMAT_EXPECTS as i}from"../Errors/constants.js";import{THREEDS2_FULL as m}from"../../components/ThreeDS2/constants.js";const p=()=>Date.now(),d=r=>({timestamp:String(p()),component:r.component,id:o(),..."error"===r.event&&{code:r.code,errorType:r.errorType,message:r.message},..."log"===r.event&&{type:r.type,message:r.message},..."log"===r.event&&(r.type===e||r.type===m)&&{subType:r.subtype},..."log"===r.event&&r.type===m&&{result:r.result},..."info"===r.event&&{type:r.type,target:r.target},..."info"===r.event&&r.issuer&&{issuer:r.issuer},..."info"===r.event&&{isExpress:r.isExpress,expressPage:r.expressPage},..."info"===r.event&&r.isStoredPaymentMethod&&{isStoredPaymentMethod:r.isStoredPaymentMethod,brand:r.brand},..."info"===r.event&&r.type===t&&{validationErrorCode:u(r.validationErrorCode,r.target),validationErrorMessage:r.validationErrorMessage},...r.metadata&&{metadata:r.metadata}}),u=(e,t)=>{if(e===n||e===i)return r[`${e}.${t}`]??e;let s=r[e]??e;return isNaN(Number(s))&&(s=a(s)),s},y=e=>Object.keys(e).reduce(((t,r)=>(s.includes(r)&&(t[r]=e[r]),t)),{});export{d as createAnalyticsObject,p as getUTCTimestamp,y as processAnalyticsData};
1
+ import{ANALYTICS_ACTION_STR as e,ANALYTICS_VALIDATION_ERROR_STR as o,errorCodeMapping as s,ALLOWED_ANALYTICS_DATA as n}from"./constants.js";import t from"../../utils/uuid.js";import{digitsOnlyFormatter as r}from"../../utils/Formatters/formatters.js";import{ERROR_FIELD_REQUIRED as a,ERROR_INVALID_FORMAT_EXPECTS as i}from"../Errors/constants.js";import{THREEDS2_FULL as d,DEFAULT_CHALLENGE_WINDOW_SIZE as l}from"../../components/ThreeDS2/constants.js";import u from"../../components/Card/components/CardInput/defaultProps.js";import{DEFAULT_CARD_GROUP_TYPES as m}from"../../components/internal/SecuredFields/lib/constants.js";import{notFalsy as p}from"../../utils/commonUtils.js";const c=()=>Date.now(),g=s=>({timestamp:String(c()),component:s.component,id:t(),..."error"===s.event&&{code:s.code,errorType:s.errorType,message:s.message},..."log"===s.event&&{type:s.type,message:s.message},..."log"===s.event&&(s.type===e||s.type===d)&&{subType:s.subtype},..."log"===s.event&&s.type===d&&{result:s.result},..."info"===s.event&&{type:s.type,target:s.target},..."info"===s.event&&s.issuer&&{issuer:s.issuer},..."info"===s.event&&{isExpress:s.isExpress,expressPage:s.expressPage},..."info"===s.event&&s.isStoredPaymentMethod&&{isStoredPaymentMethod:s.isStoredPaymentMethod,brand:s.brand},..."info"===s.event&&s.type===o&&{validationErrorCode:y(s.validationErrorCode,s.target),validationErrorMessage:s.validationErrorMessage},...s.configData&&{configData:s.configData},...s.metadata&&{metadata:s.metadata}}),y=(e,o)=>{if(e===a||e===i)return s[`${e}.${o}`]??e;let n=s[e]??e;return isNaN(Number(n))&&(n=r(n)),n},h=e=>Object.keys(e).reduce(((o,s)=>(n.includes(s)&&(o[s]=e[s]),o)),{}),f=e=>{const{autoFocus:o,billingAddressAllowedCountries:s,billingAddressMode:n,billingAddressRequired:t,billingAddressRequiredFields:r,brands:a=m,brandsConfiguration:i,challengeWindowSize:d=l,configuration:c,countryCode:g,data:y,disclaimerMessage:h,disableIOSArrowKeys:f,doBinLookup:b,enableStoreDetails:S,exposeExpiryDate:O,forceCompat:C,hasHolderName:A,hideCVC:B,holderNameRequired:k,installmentOptions:P,keypadFix:E,legacyInputMode:F,maskSecurityCode:N,minimumExpiryDate:v,name:w,placeholders:M,positionHolderNameOnTop:x,showBrandIcon:D,showInstallmentAmounts:j,showPayButton:V=!1,styles:I,onAllValid:L,onBinLookup:q,onBinValue:R,onBlur:T,onBrand:K,onConfigSuccess:J,onEnterKeyPressed:H,onFieldValid:z,onFocus:W,onLoad:$}=e,U=JSON.stringify(u.data),G=e.modules?.srPanel?.enabled,Q=e.modules?.srPanel?.moveFocus,X=e.modules?.risk?.enabled,Y=e.onAddressLookup?"lookup":n;let Z="none";!0===c?.koreanAuthenticationRequired&&(Z="kr"===g?.toLowerCase()?"atStart":"auto");let _=JSON.stringify(a);_.length>128&&(_=_.substring(0,124)+"...]");const ee={autoFocus:o,billingAddressAllowedCountries:JSON.stringify(s),billingAddressMode:Y,billingAddressRequired:t,billingAddressRequiredFields:JSON.stringify(r),brands:_,challengeWindowSize:d,disableIOSArrowKeys:f,doBinLookup:b,enableStoreDetails:S,exposeExpiryDate:O,forceCompat:C,hasBrandsConfiguration:p(i),hasData:y&&JSON.stringify(e.data)!==U,hasDisclaimerMessage:!!h,hasHolderName:A,hasInstallmentOptions:p(P),hasPlaceholders:p(M),hasStylesConfigured:p(I),hideCVC:B,holderNameRequired:k,keypadFix:E,legacyInputMode:F,maskSecurityCode:N,minimumExpiryDate:!!v,name:w,positionHolderNameOnTop:x,riskEnabled:X,showBrandIcon:D,showInstallmentAmounts:!!j,showKCPType:Z,showPayButton:V,socialSecurityNumberMode:c?.socialSecurityNumberMode,srPanelEnabled:G,srPanelMoveFocus:Q,hasOnAllValid:L!==u.onAllValid,hasOnBinLookup:q!==u.onBinLookup,hasOnBinValue:R!==u.onBinValue,hasOnBlur:T!==u.onBlur,hasOnBrand:K!==u.onBrand,hasOnConfigSuccess:J!==u.onConfigSuccess,hasOnEnterKeyPressed:H!==u.onEnterKeyPressed,hasOnFieldValid:z!==u.onFieldValid,hasOnFocus:W!==u.onFocus,hasOnLoad:$!==u.onLoad};if(Object.keys(ee).length>32){return Object.entries(ee).reduce(((e,[o,s],n)=>(n<32&&(e[o]=s),e)),{})}return ee};export{g as createAnalyticsObject,f as getCardConfigData,c as getUTCTimestamp,h as processAnalyticsData};
2
2
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../src/core/Analytics/utils.ts"],"sourcesContent":["import { AnalyticsObject, CreateAnalyticsObject, AnalyticsData } from './types';\nimport { ANALYTICS_ACTION_STR, ANALYTICS_VALIDATION_ERROR_STR, errorCodeMapping, ALLOWED_ANALYTICS_DATA } from './constants';\nimport uuid from '../../utils/uuid';\nimport { digitsOnlyFormatter } from '../../utils/Formatters/formatters';\nimport { ERROR_FIELD_REQUIRED, ERROR_INVALID_FORMAT_EXPECTS } from '../Errors/constants';\nimport { THREEDS2_FULL } from '../../components/ThreeDS2/constants';\n\nexport const getUTCTimestamp = () => Date.now();\n\n/**\n * All objects for the /checkoutanalytics endpoint have base props:\n * \"timestamp\" & \"component\"\n *\n * Error objects have, in addition to the base props:\n * \"code\", \"errorType\" & \"message\"\n *\n * Log objects have, in addition to the base props:\n * \"message\" & \"type\" &\n * \"subtype\" (e.g. when an action is handled)\n *\n * Info objects have, in addition to the base props:\n * \"type\" & \"target\" &\n * \"isStoredPaymentMethod\" & \"brand\" (when a storedCard is \"selected\"), or,\n * \"validationErrorCode\" & \"validationErrorMessage\" (when the event is describing a validation error)\n *\n * All objects can also have a \"metadata\" object of key-value pairs\n */\nexport const createAnalyticsObject = (aObj: CreateAnalyticsObject): AnalyticsObject => ({\n timestamp: String(getUTCTimestamp()),\n component: aObj.component,\n id: uuid(),\n /** ERROR */\n ...(aObj.event === 'error' && { code: aObj.code, errorType: aObj.errorType, message: aObj.message }), // error event\n /** LOG */\n ...(aObj.event === 'log' && { type: aObj.type, message: aObj.message }), // log event\n ...(aObj.event === 'log' && (aObj.type === ANALYTICS_ACTION_STR || aObj.type === THREEDS2_FULL) && { subType: aObj.subtype }), // only added if we have a log event of Action type or ThreeDS2\n ...(aObj.event === 'log' && aObj.type === THREEDS2_FULL && { result: aObj.result }), // only added if we have a log event of ThreeDS2 type\n /** INFO */\n ...(aObj.event === 'info' && { type: aObj.type, target: aObj.target }), // info event\n ...(aObj.event === 'info' && aObj.issuer && { issuer: aObj.issuer }), // relates to issuerLists\n ...(aObj.event === 'info' && { isExpress: aObj.isExpress, expressPage: aObj.expressPage }), // relates to Plugins & detecting Express PMs\n ...(aObj.event === 'info' && aObj.isStoredPaymentMethod && { isStoredPaymentMethod: aObj.isStoredPaymentMethod, brand: aObj.brand }), // only added if we have an info event about a storedPM\n ...(aObj.event === 'info' &&\n aObj.type === ANALYTICS_VALIDATION_ERROR_STR && {\n validationErrorCode: mapErrorCodesForAnalytics(aObj.validationErrorCode, aObj.target),\n validationErrorMessage: aObj.validationErrorMessage\n }), // only added if we have an info event describing a validation error\n /** All */\n ...(aObj.metadata && { metadata: aObj.metadata })\n});\n\nconst mapErrorCodesForAnalytics = (errorCode: string, target: string) => {\n // Some of the more generic error codes required combination with target to retrieve a specific code\n if (errorCode === ERROR_FIELD_REQUIRED || errorCode === ERROR_INVALID_FORMAT_EXPECTS) {\n return errorCodeMapping[`${errorCode}.${target}`] ?? errorCode;\n }\n\n let errCode = errorCodeMapping[errorCode] ?? errorCode;\n\n // If errCode isn't now a number - then we just need to remove any non-digits\n // since the correct error code is already contained within the string e.g. securedField related errors\n if (isNaN(Number(errCode))) {\n errCode = digitsOnlyFormatter(errCode);\n }\n\n return errCode;\n};\n\nexport const processAnalyticsData = (analyticsData: AnalyticsData): AnalyticsData => {\n return Object.keys(analyticsData).reduce((acc, prop) => {\n if (ALLOWED_ANALYTICS_DATA.includes(prop)) acc[prop] = analyticsData[prop];\n return acc;\n }, {});\n};\n"],"names":["getUTCTimestamp","Date","now","createAnalyticsObject","aObj","timestamp","String","component","id","uuid","event","code","errorType","message","type","ANALYTICS_ACTION_STR","THREEDS2_FULL","subType","subtype","result","target","issuer","isExpress","expressPage","isStoredPaymentMethod","brand","ANALYTICS_VALIDATION_ERROR_STR","validationErrorCode","mapErrorCodesForAnalytics","validationErrorMessage","metadata","errorCode","ERROR_FIELD_REQUIRED","ERROR_INVALID_FORMAT_EXPECTS","errorCodeMapping","errCode","isNaN","Number","digitsOnlyFormatter","processAnalyticsData","analyticsData","Object","keys","reduce","acc","prop","ALLOWED_ANALYTICS_DATA","includes"],"mappings":"iaAOaA,MAAAA,EAAkB,IAAMC,KAAKC,MAoB7BC,EAAyBC,IAAkD,CACpFC,UAAWC,OAAON,KAClBO,UAAWH,EAAKG,UAChBC,GAAIC,OAEe,UAAfL,EAAKM,OAAqB,CAAEC,KAAMP,EAAKO,KAAMC,UAAWR,EAAKQ,UAAWC,QAAST,EAAKS,YAEvE,QAAfT,EAAKM,OAAmB,CAAEI,KAAMV,EAAKU,KAAMD,QAAST,EAAKS,YAC1C,QAAfT,EAAKM,QAAoBN,EAAKU,OAASC,GAAwBX,EAAKU,OAASE,IAAkB,CAAEC,QAASb,EAAKc,YAChG,QAAfd,EAAKM,OAAmBN,EAAKU,OAASE,GAAiB,CAAEG,OAAQf,EAAKe,WAEvD,SAAff,EAAKM,OAAoB,CAAEI,KAAMV,EAAKU,KAAMM,OAAQhB,EAAKgB,WAC1C,SAAfhB,EAAKM,OAAoBN,EAAKiB,QAAU,CAAEA,OAAQjB,EAAKiB,WACxC,SAAfjB,EAAKM,OAAoB,CAAEY,UAAWlB,EAAKkB,UAAWC,YAAanB,EAAKmB,gBACzD,SAAfnB,EAAKM,OAAoBN,EAAKoB,uBAAyB,CAAEA,sBAAuBpB,EAAKoB,sBAAuBC,MAAOrB,EAAKqB,UACzG,SAAfrB,EAAKM,OACLN,EAAKU,OAASY,GAAkC,CAC5CC,oBAAqBC,EAA0BxB,EAAKuB,oBAAqBvB,EAAKgB,QAC9ES,uBAAwBzB,EAAKyB,2BAGjCzB,EAAK0B,UAAY,CAAEA,SAAU1B,EAAK0B,YAGpCF,EAA4B,CAACG,EAAmBX,KAElD,GAAIW,IAAcC,GAAwBD,IAAcE,EACpD,OAAOC,EAAiB,GAAGH,KAAaX,MAAaW,EAGzD,IAAII,EAAUD,EAAiBH,IAAcA,EAQ7C,OAJIK,MAAMC,OAAOF,MACbA,EAAUG,EAAoBH,IAG3BA,CAAAA,EAGEI,EAAwBC,GAC1BC,OAAOC,KAAKF,GAAeG,QAAO,CAACC,EAAKC,KACvCC,EAAuBC,SAASF,KAAOD,EAAIC,GAAQL,EAAcK,IAC9DD,IACR,CAAC"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../src/core/Analytics/utils.ts"],"sourcesContent":["import { AnalyticsObject, CreateAnalyticsObject, CardConfigData, AnalyticsData } from './types';\nimport { ANALYTICS_ACTION_STR, ANALYTICS_VALIDATION_ERROR_STR, errorCodeMapping, ALLOWED_ANALYTICS_DATA } from './constants';\nimport uuid from '../../utils/uuid';\nimport { digitsOnlyFormatter } from '../../utils/Formatters/formatters';\nimport { ERROR_FIELD_REQUIRED, ERROR_INVALID_FORMAT_EXPECTS } from '../Errors/constants';\nimport { DEFAULT_CHALLENGE_WINDOW_SIZE, THREEDS2_FULL } from '../../components/ThreeDS2/constants';\nimport { CardConfiguration } from '../../components/Card/types';\nimport CardInputDefaultProps from '../../components/Card/components/CardInput/defaultProps';\nimport { DEFAULT_CARD_GROUP_TYPES } from '../../components/internal/SecuredFields/lib/constants';\nimport { notFalsy } from '../../utils/commonUtils';\n\nexport const getUTCTimestamp = () => Date.now();\n\n/**\n * All objects for the /checkoutanalytics endpoint have base props:\n * \"timestamp\" & \"component\"\n *\n * Error objects have, in addition to the base props:\n * \"code\", \"errorType\" & \"message\"\n *\n * Log objects have, in addition to the base props:\n * \"message\" & \"type\" &\n * \"subtype\" (e.g. when an action is handled)\n *\n * Info objects have, in addition to the base props:\n * \"type\" & \"target\" &\n * \"isStoredPaymentMethod\" & \"brand\" (when a storedCard is \"selected\"), or,\n * \"validationErrorCode\" & \"validationErrorMessage\" (when the event is describing a validation error)\n *\n * All objects can also have a \"metadata\" object of key-value pairs\n */\nexport const createAnalyticsObject = (aObj: CreateAnalyticsObject): AnalyticsObject => ({\n timestamp: String(getUTCTimestamp()),\n component: aObj.component,\n id: uuid(),\n /** ERROR */\n ...(aObj.event === 'error' && { code: aObj.code, errorType: aObj.errorType, message: aObj.message }), // error event\n /** LOG */\n ...(aObj.event === 'log' && { type: aObj.type, message: aObj.message }), // log event\n ...(aObj.event === 'log' && (aObj.type === ANALYTICS_ACTION_STR || aObj.type === THREEDS2_FULL) && { subType: aObj.subtype }), // only added if we have a log event of Action type or ThreeDS2\n ...(aObj.event === 'log' && aObj.type === THREEDS2_FULL && { result: aObj.result }), // only added if we have a log event of ThreeDS2 type\n /** INFO */\n ...(aObj.event === 'info' && { type: aObj.type, target: aObj.target }), // info event\n ...(aObj.event === 'info' && aObj.issuer && { issuer: aObj.issuer }), // relates to issuerLists\n ...(aObj.event === 'info' && { isExpress: aObj.isExpress, expressPage: aObj.expressPage }), // relates to Plugins & detecting Express PMs\n ...(aObj.event === 'info' && aObj.isStoredPaymentMethod && { isStoredPaymentMethod: aObj.isStoredPaymentMethod, brand: aObj.brand }), // only added if we have an info event about a storedPM\n ...(aObj.event === 'info' &&\n aObj.type === ANALYTICS_VALIDATION_ERROR_STR && {\n validationErrorCode: mapErrorCodesForAnalytics(aObj.validationErrorCode, aObj.target),\n validationErrorMessage: aObj.validationErrorMessage\n }), // only added if we have an info event describing a validation error\n ...(aObj.configData && { configData: aObj.configData }),\n /** All */\n ...(aObj.metadata && { metadata: aObj.metadata })\n});\n\nconst mapErrorCodesForAnalytics = (errorCode: string, target: string) => {\n // Some of the more generic error codes required combination with target to retrieve a specific code\n if (errorCode === ERROR_FIELD_REQUIRED || errorCode === ERROR_INVALID_FORMAT_EXPECTS) {\n return errorCodeMapping[`${errorCode}.${target}`] ?? errorCode;\n }\n\n let errCode = errorCodeMapping[errorCode] ?? errorCode;\n\n // If errCode isn't now a number - then we just need to remove any non-digits\n // since the correct error code is already contained within the string e.g. securedField related errors\n if (isNaN(Number(errCode))) {\n errCode = digitsOnlyFormatter(errCode);\n }\n\n return errCode;\n};\n\nexport const processAnalyticsData = (analyticsData: AnalyticsData): AnalyticsData => {\n return Object.keys(analyticsData).reduce((acc, prop) => {\n if (ALLOWED_ANALYTICS_DATA.includes(prop)) acc[prop] = analyticsData[prop];\n return acc;\n }, {});\n};\n\nexport const getCardConfigData = (cardProps: CardConfiguration): CardConfigData => {\n // Extract props from cardProps - mostly setting a default value, if prop not found\n const {\n autoFocus,\n billingAddressAllowedCountries,\n billingAddressMode,\n billingAddressRequired,\n billingAddressRequiredFields,\n brands = DEFAULT_CARD_GROUP_TYPES,\n brandsConfiguration,\n challengeWindowSize = DEFAULT_CHALLENGE_WINDOW_SIZE,\n configuration,\n countryCode,\n data,\n disclaimerMessage,\n disableIOSArrowKeys,\n doBinLookup,\n enableStoreDetails,\n exposeExpiryDate,\n forceCompat,\n hasHolderName,\n hideCVC,\n holderNameRequired,\n installmentOptions,\n keypadFix,\n legacyInputMode,\n maskSecurityCode,\n minimumExpiryDate,\n name, // = 'none',\n placeholders,\n positionHolderNameOnTop,\n showBrandIcon,\n showInstallmentAmounts,\n showPayButton = false, // hard coded default\n styles,\n onAllValid,\n onBinLookup,\n onBinValue,\n onBlur,\n onBrand,\n onConfigSuccess,\n onEnterKeyPressed,\n onFieldValid,\n onFocus,\n onLoad\n } = cardProps;\n\n const dataString = JSON.stringify(CardInputDefaultProps.data);\n\n const srPanelEnabled = cardProps.modules?.srPanel?.enabled;\n const srPanelMoveFocus = cardProps.modules?.srPanel?.moveFocus;\n\n const riskEnabled = cardProps.modules?.risk?.enabled;\n\n const billingAddressModeValue = cardProps.onAddressLookup ? 'lookup' : billingAddressMode;\n\n let showKCPType: 'none' | 'auto' | 'atStart' = 'none';\n if (configuration?.koreanAuthenticationRequired === true) {\n showKCPType = countryCode?.toLowerCase() === 'kr' ? 'atStart' : 'auto';\n }\n\n // Probably just for development - in real life we wouldn't expect the number of supported brands to push the endpoint limit on 128 chars\n let brandsStr = JSON.stringify(brands);\n if (brandsStr.length > 128) {\n brandsStr = brandsStr.substring(0, 124) + '...]';\n }\n\n // @ts-ignore commenting out props until endpoint is ready\n const configData: CardConfigData = {\n autoFocus,\n billingAddressAllowedCountries: JSON.stringify(billingAddressAllowedCountries),\n billingAddressMode: billingAddressModeValue,\n billingAddressRequired,\n billingAddressRequiredFields: JSON.stringify(billingAddressRequiredFields),\n brands: brandsStr,\n challengeWindowSize,\n disableIOSArrowKeys,\n doBinLookup,\n enableStoreDetails,\n exposeExpiryDate,\n forceCompat,\n hasBrandsConfiguration: notFalsy(brandsConfiguration),\n hasData: data && JSON.stringify(cardProps.data) !== dataString,\n hasDisclaimerMessage: !!disclaimerMessage,\n hasHolderName,\n hasInstallmentOptions: notFalsy(installmentOptions),\n hasPlaceholders: notFalsy(placeholders), // has merchant defined placeholders\n hasStylesConfigured: notFalsy(styles),\n hideCVC,\n holderNameRequired,\n keypadFix,\n legacyInputMode,\n maskSecurityCode,\n minimumExpiryDate: !!minimumExpiryDate, // Potentially, in the future, we can send the actual string value\n name,\n positionHolderNameOnTop,\n riskEnabled,\n showBrandIcon,\n showInstallmentAmounts: !!showInstallmentAmounts,\n showKCPType,\n showPayButton,\n socialSecurityNumberMode: configuration?.socialSecurityNumberMode,\n srPanelEnabled,\n srPanelMoveFocus,\n /** callbacks */\n // We need to detect if the merchant themselves has defined these, not if we've set them as a default\n hasOnAllValid: onAllValid !== CardInputDefaultProps.onAllValid,\n hasOnBinLookup: onBinLookup !== CardInputDefaultProps.onBinLookup,\n hasOnBinValue: onBinValue !== CardInputDefaultProps.onBinValue,\n hasOnBlur: onBlur !== CardInputDefaultProps.onBlur,\n hasOnBrand: onBrand !== CardInputDefaultProps.onBrand,\n hasOnConfigSuccess: onConfigSuccess !== CardInputDefaultProps.onConfigSuccess,\n hasOnEnterKeyPressed: onEnterKeyPressed !== CardInputDefaultProps.onEnterKeyPressed,\n hasOnFieldValid: onFieldValid !== CardInputDefaultProps.onFieldValid,\n hasOnFocus: onFocus !== CardInputDefaultProps.onFocus,\n hasOnLoad: onLoad !== CardInputDefaultProps.onLoad\n };\n\n // TODO - keep until endpoint can accept more entries in the configData object (current limit: 32);\n if (Object.keys(configData).length > 32) {\n const strippedConfigData = Object.entries(configData).reduce((acc, [key, value], index) => {\n if (index < 32) {\n acc[key] = value;\n }\n return acc;\n }, {});\n\n return strippedConfigData as CardConfigData;\n }\n\n return configData;\n};\n"],"names":["getUTCTimestamp","Date","now","createAnalyticsObject","aObj","timestamp","String","component","id","uuid","event","code","errorType","message","type","ANALYTICS_ACTION_STR","THREEDS2_FULL","subType","subtype","result","target","issuer","isExpress","expressPage","isStoredPaymentMethod","brand","ANALYTICS_VALIDATION_ERROR_STR","validationErrorCode","mapErrorCodesForAnalytics","validationErrorMessage","configData","metadata","errorCode","ERROR_FIELD_REQUIRED","ERROR_INVALID_FORMAT_EXPECTS","errorCodeMapping","errCode","isNaN","Number","digitsOnlyFormatter","processAnalyticsData","analyticsData","Object","keys","reduce","acc","prop","ALLOWED_ANALYTICS_DATA","includes","getCardConfigData","cardProps","autoFocus","billingAddressAllowedCountries","billingAddressMode","billingAddressRequired","billingAddressRequiredFields","brands","DEFAULT_CARD_GROUP_TYPES","brandsConfiguration","challengeWindowSize","DEFAULT_CHALLENGE_WINDOW_SIZE","configuration","countryCode","data","disclaimerMessage","disableIOSArrowKeys","doBinLookup","enableStoreDetails","exposeExpiryDate","forceCompat","hasHolderName","hideCVC","holderNameRequired","installmentOptions","keypadFix","legacyInputMode","maskSecurityCode","minimumExpiryDate","name","placeholders","positionHolderNameOnTop","showBrandIcon","showInstallmentAmounts","showPayButton","styles","onAllValid","onBinLookup","onBinValue","onBlur","onBrand","onConfigSuccess","onEnterKeyPressed","onFieldValid","onFocus","onLoad","dataString","JSON","stringify","CardInputDefaultProps","srPanelEnabled","modules","srPanel","enabled","srPanelMoveFocus","moveFocus","riskEnabled","risk","billingAddressModeValue","onAddressLookup","showKCPType","koreanAuthenticationRequired","toLowerCase","brandsStr","length","substring","hasBrandsConfiguration","notFalsy","hasData","hasDisclaimerMessage","hasInstallmentOptions","hasPlaceholders","hasStylesConfigured","socialSecurityNumberMode","hasOnAllValid","hasOnBinLookup","hasOnBinValue","hasOnBlur","hasOnBrand","hasOnConfigSuccess","hasOnEnterKeyPressed","hasOnFieldValid","hasOnFocus","hasOnLoad","entries","key","value","index"],"mappings":"wqBAWaA,MAAAA,EAAkB,IAAMC,KAAKC,MAoB7BC,EAAyBC,IAAkD,CACpFC,UAAWC,OAAON,KAClBO,UAAWH,EAAKG,UAChBC,GAAIC,OAEe,UAAfL,EAAKM,OAAqB,CAAEC,KAAMP,EAAKO,KAAMC,UAAWR,EAAKQ,UAAWC,QAAST,EAAKS,YAEvE,QAAfT,EAAKM,OAAmB,CAAEI,KAAMV,EAAKU,KAAMD,QAAST,EAAKS,YAC1C,QAAfT,EAAKM,QAAoBN,EAAKU,OAASC,GAAwBX,EAAKU,OAASE,IAAkB,CAAEC,QAASb,EAAKc,YAChG,QAAfd,EAAKM,OAAmBN,EAAKU,OAASE,GAAiB,CAAEG,OAAQf,EAAKe,WAEvD,SAAff,EAAKM,OAAoB,CAAEI,KAAMV,EAAKU,KAAMM,OAAQhB,EAAKgB,WAC1C,SAAfhB,EAAKM,OAAoBN,EAAKiB,QAAU,CAAEA,OAAQjB,EAAKiB,WACxC,SAAfjB,EAAKM,OAAoB,CAAEY,UAAWlB,EAAKkB,UAAWC,YAAanB,EAAKmB,gBACzD,SAAfnB,EAAKM,OAAoBN,EAAKoB,uBAAyB,CAAEA,sBAAuBpB,EAAKoB,sBAAuBC,MAAOrB,EAAKqB,UACzG,SAAfrB,EAAKM,OACLN,EAAKU,OAASY,GAAkC,CAC5CC,oBAAqBC,EAA0BxB,EAAKuB,oBAAqBvB,EAAKgB,QAC9ES,uBAAwBzB,EAAKyB,2BAEjCzB,EAAK0B,YAAc,CAAEA,WAAY1B,EAAK0B,eAEtC1B,EAAK2B,UAAY,CAAEA,SAAU3B,EAAK2B,YAGpCH,EAA4B,CAACI,EAAmBZ,KAElD,GAAIY,IAAcC,GAAwBD,IAAcE,EACpD,OAAOC,EAAiB,GAAGH,KAAaZ,MAAaY,EAGzD,IAAII,EAAUD,EAAiBH,IAAcA,EAQ7C,OAJIK,MAAMC,OAAOF,MACbA,EAAUG,EAAoBH,IAG3BA,CAAAA,EAGEI,EAAwBC,GAC1BC,OAAOC,KAAKF,GAAeG,QAAO,CAACC,EAAKC,KACvCC,EAAuBC,SAASF,KAAOD,EAAIC,GAAQL,EAAcK,IAC9DD,IACR,CAAC,GAGKI,EAAqBC,IAE9B,MAAMC,UACFA,EAASC,+BACTA,EAA8BC,mBAC9BA,EAAkBC,uBAClBA,EAAsBC,6BACtBA,EAA4BC,OAC5BA,EAASC,EAAwBC,oBACjCA,EAAmBC,oBACnBA,EAAsBC,EAA6BC,cACnDA,EAAaC,YACbA,EAAWC,KACXA,EAAIC,kBACJA,EAAiBC,oBACjBA,EAAmBC,YACnBA,EAAWC,mBACXA,EAAkBC,iBAClBA,EAAgBC,YAChBA,EAAWC,cACXA,EAAaC,QACbA,EAAOC,mBACPA,EAAkBC,mBAClBA,EAAkBC,UAClBA,EAASC,gBACTA,EAAeC,iBACfA,EAAgBC,kBAChBA,EAAiBC,KACjBA,EAAIC,aACJA,EAAYC,wBACZA,EAAuBC,cACvBA,EAAaC,uBACbA,EAAsBC,cACtBA,GAAgB,EAAKC,OACrBA,EAAMC,WACNA,EAAUC,YACVA,EAAWC,WACXA,EAAUC,OACVA,EAAMC,QACNA,EAAOC,gBACPA,EAAeC,kBACfA,EAAiBC,aACjBA,EAAYC,QACZA,EAAOC,OACPA,GACA5C,EAEE6C,EAAaC,KAAKC,UAAUC,EAAsBnC,MAElDoC,EAAiBjD,EAAUkD,SAASC,SAASC,QAC7CC,EAAmBrD,EAAUkD,SAASC,SAASG,UAE/CC,EAAcvD,EAAUkD,SAASM,MAAMJ,QAEvCK,EAA0BzD,EAAU0D,gBAAkB,SAAWvD,EAEvE,IAAIwD,EAA2C,QACK,IAAhDhD,GAAeiD,+BACfD,EAA6C,OAA/B/C,GAAaiD,cAAyB,UAAY,QAIpE,IAAIC,EAAYhB,KAAKC,UAAUzC,GAC3BwD,EAAUC,OAAS,MACnBD,EAAYA,EAAUE,UAAU,EAAG,KAAO,QAI9C,MAAMpF,GAA6B,CAC/BqB,YACAC,+BAAgC4C,KAAKC,UAAU7C,GAC/CC,mBAAoBsD,EACpBrD,yBACAC,6BAA8ByC,KAAKC,UAAU1C,GAC7CC,OAAQwD,EACRrD,sBACAM,sBACAC,cACAC,qBACAC,mBACAC,cACA8C,uBAAwBC,EAAS1D,GACjC2D,QAAStD,GAAQiC,KAAKC,UAAU/C,EAAUa,QAAUgC,EACpDuB,uBAAwBtD,EACxBM,gBACAiD,sBAAuBH,EAAS3C,GAChC+C,gBAAiBJ,EAASrC,GAC1B0C,oBAAqBL,EAAShC,GAC9Bb,UACAC,qBACAE,YACAC,kBACAC,mBACAC,oBAAqBA,EACrBC,OACAE,0BACAyB,cACAxB,gBACAC,yBAA0BA,EAC1B2B,cACA1B,gBACAuC,yBAA0B7D,GAAe6D,yBACzCvB,iBACAI,mBAGAoB,cAAetC,IAAea,EAAsBb,WACpDuC,eAAgBtC,IAAgBY,EAAsBZ,YACtDuC,cAAetC,IAAeW,EAAsBX,WACpDuC,UAAWtC,IAAWU,EAAsBV,OAC5CuC,WAAYtC,IAAYS,EAAsBT,QAC9CuC,mBAAoBtC,IAAoBQ,EAAsBR,gBAC9DuC,qBAAsBtC,IAAsBO,EAAsBP,kBAClEuC,gBAAiBtC,IAAiBM,EAAsBN,aACxDuC,WAAYtC,IAAYK,EAAsBL,QAC9CuC,UAAWtC,IAAWI,EAAsBJ,QAIhD,GAAIpD,OAAOC,KAAKb,IAAYmF,OAAS,GAAI,CAQrC,OAP2BvE,OAAO2F,QAAQvG,IAAYc,QAAO,CAACC,GAAMyF,EAAKC,GAAQC,KACzEA,EAAQ,KACR3F,EAAIyF,GAAOC,GAER1F,IACR,CAAC,EAGR,CAEA,OAAOf,EAAAA"}
@@ -1,2 +1,2 @@
1
- import{API_ENVIRONMENTS as a,ANALYTICS_ENVIRONMENTS as n,CDN_ENVIRONMENTS as s}from"./constants.js";const t=(a="",n,s)=>s||(n[a.toLowerCase()]||n.fallback),l=(l,r)=>({apiUrl:t(l,a,r?.api),analyticsUrl:t(l,n,r?.analytics),cdnImagesUrl:t(l,s,r?.cdn?.images),cdnTranslationsUrl:t(l,s,r?.cdn?.translations)});export{l as resolveEnvironments};
1
+ import{API_ENVIRONMENTS as a,ANALYTICS_ENVIRONMENTS as n,CDN_ENVIRONMENTS as s}from"./constants.js";const t=(a,n,s)=>s||(n[a?.toLowerCase()]||n.fallback),l=(l,r)=>({apiUrl:t(l,a,r?.api),analyticsUrl:t(l,n,r?.analytics),cdnImagesUrl:t(l,s,r?.cdn?.images),cdnTranslationsUrl:t(l,s,r?.cdn?.translations)});export{l as resolveEnvironments};
2
2
  //# sourceMappingURL=Environment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Environment.js","sources":["../../../../src/core/Environment/Environment.ts"],"sourcesContent":["import { ANALYTICS_ENVIRONMENTS, API_ENVIRONMENTS, CDN_ENVIRONMENTS } from './constants';\nimport type { CoreConfiguration } from '../types';\n\nconst getUrlFromMap = (env: CoreConfiguration['environment'] = '', environmentMap: Record<string, string>, environmentUrl?: string): string => {\n if (environmentUrl) {\n return environmentUrl;\n }\n return environmentMap[env.toLowerCase()] || environmentMap.fallback;\n};\n\nexport const resolveEnvironments = (environment: CoreConfiguration['environment'], environmentsUrls?: CoreConfiguration['_environmentUrls']) => {\n const apiUrl = getUrlFromMap(environment, API_ENVIRONMENTS, environmentsUrls?.api);\n const analyticsUrl = getUrlFromMap(environment, ANALYTICS_ENVIRONMENTS, environmentsUrls?.analytics);\n const cdnImagesUrl = getUrlFromMap(environment, CDN_ENVIRONMENTS, environmentsUrls?.cdn?.images);\n const cdnTranslationsUrl =\n process.env.NODE_ENV === 'development' ? '/' : getUrlFromMap(environment, CDN_ENVIRONMENTS, environmentsUrls?.cdn?.translations);\n\n return {\n apiUrl,\n analyticsUrl,\n cdnImagesUrl,\n cdnTranslationsUrl\n };\n};\n"],"names":["getUrlFromMap","env","environmentMap","environmentUrl","toLowerCase","fallback","resolveEnvironments","environment","environmentsUrls","apiUrl","API_ENVIRONMENTS","api","analyticsUrl","ANALYTICS_ENVIRONMENTS","analytics","cdnImagesUrl","CDN_ENVIRONMENTS","cdn","images","cdnTranslationsUrl","translations"],"mappings":"oGAGA,MAAMA,EAAgB,CAACC,EAAwC,GAAIC,EAAwCC,IACnGA,IAGGD,EAAeD,EAAIG,gBAAkBF,EAAeG,UAGlDC,EAAsB,CAACC,EAA+CC,KAOxE,CACHC,OAPWT,EAAcO,EAAaG,EAAkBF,GAAkBG,KAQ1EC,aAPiBZ,EAAcO,EAAaM,EAAwBL,GAAkBM,WAQtFC,aAPiBf,EAAcO,EAAaS,EAAkBR,GAAkBS,KAAKC,QAQrFC,mBAN+CnB,EAAcO,EAAaS,EAAkBR,GAAkBS,KAAKG"}
1
+ {"version":3,"file":"Environment.js","sources":["../../../../src/core/Environment/Environment.ts"],"sourcesContent":["import { ANALYTICS_ENVIRONMENTS, API_ENVIRONMENTS, CDN_ENVIRONMENTS } from './constants';\nimport type { CoreConfiguration } from '../types';\n\nconst getUrlFromMap = (env: CoreConfiguration['environment'], environmentMap: Record<string, string>, environmentUrl?: string): string => {\n if (environmentUrl) {\n return environmentUrl;\n }\n return environmentMap[env?.toLowerCase()] || environmentMap.fallback;\n};\n\nexport const resolveEnvironments = (environment: CoreConfiguration['environment'], environmentsUrls?: CoreConfiguration['_environmentUrls']) => {\n const apiUrl = getUrlFromMap(environment, API_ENVIRONMENTS, environmentsUrls?.api);\n const analyticsUrl = getUrlFromMap(environment, ANALYTICS_ENVIRONMENTS, environmentsUrls?.analytics);\n const cdnImagesUrl = getUrlFromMap(environment, CDN_ENVIRONMENTS, environmentsUrls?.cdn?.images);\n const cdnTranslationsUrl =\n process.env.NODE_ENV === 'development' ? '/' : getUrlFromMap(environment, CDN_ENVIRONMENTS, environmentsUrls?.cdn?.translations);\n\n return {\n apiUrl,\n analyticsUrl,\n cdnImagesUrl,\n cdnTranslationsUrl\n };\n};\n"],"names":["getUrlFromMap","env","environmentMap","environmentUrl","toLowerCase","fallback","resolveEnvironments","environment","environmentsUrls","apiUrl","API_ENVIRONMENTS","api","analyticsUrl","ANALYTICS_ENVIRONMENTS","analytics","cdnImagesUrl","CDN_ENVIRONMENTS","cdn","images","cdnTranslationsUrl","translations"],"mappings":"oGAGA,MAAMA,EAAgB,CAACC,EAAuCC,EAAwCC,IAC9FA,IAGGD,EAAeD,GAAKG,gBAAkBF,EAAeG,UAGnDC,EAAsB,CAACC,EAA+CC,KAOxE,CACHC,OAPWT,EAAcO,EAAaG,EAAkBF,GAAkBG,KAQ1EC,aAPiBZ,EAAcO,EAAaM,EAAwBL,GAAkBM,WAQtFC,aAPiBf,EAAcO,EAAaS,EAAkBR,GAAkBS,KAAKC,QAQrFC,mBAN+CnB,EAAcO,EAAaS,EAAkBR,GAAkBS,KAAKG"}
@@ -1,2 +1,2 @@
1
- const c={test:"https://checkoutshopper-test.adyen.com/checkoutshopper/",live:"https://checkoutshopper-live.adyen.com/checkoutshopper/","live-us":"https://checkoutshopper-live-us.adyen.com/checkoutshopper/","live-au":"https://checkoutshopper-live-au.adyen.com/checkoutshopper/","live-apse":"https://checkoutshopper-live-apse.adyen.com/checkoutshopper/","live-in":"https://checkoutshopper-live-in.adyen.com/checkoutshopper/",fallback:"https://checkoutshopper-live.adyen.com/checkoutshopper/"},e={test:"https://cdf6519016.cdn.adyen.com/checkoutshopper/",live:"https://bae81f955b.cdn.adyen.com/checkoutshopper/","live-us":"https://26280c4f4d.cdn.adyen.com/checkoutshopper/","live-au":"https://1706f728fe.cdn.adyen.com/checkoutshopper/","live-apse":"https://0688ecafff.cdn.adyen.com/checkoutshopper/","live-in":"https://0b777a1160.cdn.adyen.com/checkoutshopper/",fallback:"https://bae81f955b.cdn.adyen.com/checkoutshopper/"},t={test:"https://checkoutanalytics-test.adyen.com/checkoutanalytics/",live:"https://checkoutanalytics-live.adyen.com/checkoutanalytics/","live-us":"https://checkoutanalytics-live-us.adyen.com/checkoutanalytics/","live-au":"https://checkoutanalytics-live-au.adyen.com/checkoutanalytics/","live-apse":"https://checkoutanalytics-live-apse.adyen.com/checkoutanalytics/","live-in":"https://checkoutanalytics-live-in.adyen.com/checkoutanalytics/",fallback:"https://checkoutanalytics-live.adyen.com/checkoutanalytics/"};export{t as ANALYTICS_ENVIRONMENTS,c as API_ENVIRONMENTS,e as CDN_ENVIRONMENTS};
1
+ const e={test:"https://checkoutshopper-test.adyen.com/checkoutshopper/",live:"https://checkoutshopper-live.adyen.com/checkoutshopper/","live-us":"https://checkoutshopper-live-us.adyen.com/checkoutshopper/","live-au":"https://checkoutshopper-live-au.adyen.com/checkoutshopper/","live-apse":"https://checkoutshopper-live-apse.adyen.com/checkoutshopper/","live-in":"https://checkoutshopper-live-in.adyen.com/checkoutshopper/",fallback:"https://checkoutshopper-live.adyen.com/checkoutshopper/"},c={test:"https://checkoutshopper-test.cdn.adyen.com/checkoutshopper/",live:"https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/","live-us":"https://checkoutshopper-live-us.cdn.adyen.com/checkoutshopper/","live-au":"https://checkoutshopper-live-au.cdn.adyen.com/checkoutshopper/","live-apse":"https://checkoutshopper-live-apse.cdn.adyen.com/checkoutshopper/","live-in":"https://checkoutshopper-live-in.cdn.adyen.com/checkoutshopper/",fallback:"https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/"},t={test:"https://checkoutanalytics-test.adyen.com/checkoutanalytics/",live:"https://checkoutanalytics-live.adyen.com/checkoutanalytics/","live-us":"https://checkoutanalytics-live-us.adyen.com/checkoutanalytics/","live-au":"https://checkoutanalytics-live-au.adyen.com/checkoutanalytics/","live-apse":"https://checkoutanalytics-live-apse.adyen.com/checkoutanalytics/","live-in":"https://checkoutanalytics-live-in.adyen.com/checkoutanalytics/",fallback:"https://checkoutanalytics-live.adyen.com/checkoutanalytics/"};export{t as ANALYTICS_ENVIRONMENTS,e as API_ENVIRONMENTS,c as CDN_ENVIRONMENTS};
2
2
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../src/core/Environment/constants.ts"],"sourcesContent":["const API_ENVIRONMENTS = {\n test: 'https://checkoutshopper-test.adyen.com/checkoutshopper/',\n live: 'https://checkoutshopper-live.adyen.com/checkoutshopper/',\n 'live-us': 'https://checkoutshopper-live-us.adyen.com/checkoutshopper/',\n 'live-au': 'https://checkoutshopper-live-au.adyen.com/checkoutshopper/',\n 'live-apse': 'https://checkoutshopper-live-apse.adyen.com/checkoutshopper/',\n 'live-in': 'https://checkoutshopper-live-in.adyen.com/checkoutshopper/',\n fallback: 'https://checkoutshopper-live.adyen.com/checkoutshopper/'\n};\n\nconst CDN_ENVIRONMENTS = {\n test: 'https://cdf6519016.cdn.adyen.com/checkoutshopper/',\n live: 'https://bae81f955b.cdn.adyen.com/checkoutshopper/',\n 'live-us': 'https://26280c4f4d.cdn.adyen.com/checkoutshopper/',\n 'live-au': 'https://1706f728fe.cdn.adyen.com/checkoutshopper/',\n 'live-apse': 'https://0688ecafff.cdn.adyen.com/checkoutshopper/',\n 'live-in': 'https://0b777a1160.cdn.adyen.com/checkoutshopper/',\n fallback: 'https://bae81f955b.cdn.adyen.com/checkoutshopper/'\n};\n\nconst ANALYTICS_ENVIRONMENTS = {\n test: 'https://checkoutanalytics-test.adyen.com/checkoutanalytics/',\n live: 'https://checkoutanalytics-live.adyen.com/checkoutanalytics/',\n 'live-us': 'https://checkoutanalytics-live-us.adyen.com/checkoutanalytics/',\n 'live-au': 'https://checkoutanalytics-live-au.adyen.com/checkoutanalytics/',\n 'live-apse': 'https://checkoutanalytics-live-apse.adyen.com/checkoutanalytics/',\n 'live-in': 'https://checkoutanalytics-live-in.adyen.com/checkoutanalytics/',\n fallback: 'https://checkoutanalytics-live.adyen.com/checkoutanalytics/'\n};\n\nexport { API_ENVIRONMENTS, CDN_ENVIRONMENTS, ANALYTICS_ENVIRONMENTS };\n"],"names":["API_ENVIRONMENTS","test","live","fallback","CDN_ENVIRONMENTS","ANALYTICS_ENVIRONMENTS"],"mappings":"AAAA,MAAMA,EAAmB,CACrBC,KAAM,0DACNC,KAAM,0DACN,UAAW,6DACX,UAAW,6DACX,YAAa,+DACb,UAAW,6DACXC,SAAU,2DAGRC,EAAmB,CACrBH,KAAM,oDACNC,KAAM,oDACN,UAAW,oDACX,UAAW,oDACX,YAAa,oDACb,UAAW,oDACXC,SAAU,qDAGRE,EAAyB,CAC3BJ,KAAM,8DACNC,KAAM,8DACN,UAAW,iEACX,UAAW,iEACX,YAAa,mEACb,UAAW,iEACXC,SAAU"}
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/core/Environment/constants.ts"],"sourcesContent":["const API_ENVIRONMENTS = {\n test: 'https://checkoutshopper-test.adyen.com/checkoutshopper/',\n live: 'https://checkoutshopper-live.adyen.com/checkoutshopper/',\n 'live-us': 'https://checkoutshopper-live-us.adyen.com/checkoutshopper/',\n 'live-au': 'https://checkoutshopper-live-au.adyen.com/checkoutshopper/',\n 'live-apse': 'https://checkoutshopper-live-apse.adyen.com/checkoutshopper/',\n 'live-in': 'https://checkoutshopper-live-in.adyen.com/checkoutshopper/',\n fallback: 'https://checkoutshopper-live.adyen.com/checkoutshopper/'\n};\n\nconst CDN_ENVIRONMENTS = {\n test: 'https://checkoutshopper-test.cdn.adyen.com/checkoutshopper/',\n live: 'https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/',\n 'live-us': 'https://checkoutshopper-live-us.cdn.adyen.com/checkoutshopper/',\n 'live-au': 'https://checkoutshopper-live-au.cdn.adyen.com/checkoutshopper/',\n 'live-apse': 'https://checkoutshopper-live-apse.cdn.adyen.com/checkoutshopper/',\n 'live-in': 'https://checkoutshopper-live-in.cdn.adyen.com/checkoutshopper/',\n fallback: 'https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/'\n};\n\nconst ANALYTICS_ENVIRONMENTS = {\n test: 'https://checkoutanalytics-test.adyen.com/checkoutanalytics/',\n live: 'https://checkoutanalytics-live.adyen.com/checkoutanalytics/',\n 'live-us': 'https://checkoutanalytics-live-us.adyen.com/checkoutanalytics/',\n 'live-au': 'https://checkoutanalytics-live-au.adyen.com/checkoutanalytics/',\n 'live-apse': 'https://checkoutanalytics-live-apse.adyen.com/checkoutanalytics/',\n 'live-in': 'https://checkoutanalytics-live-in.adyen.com/checkoutanalytics/',\n fallback: 'https://checkoutanalytics-live.adyen.com/checkoutanalytics/'\n};\n\nexport { API_ENVIRONMENTS, CDN_ENVIRONMENTS, ANALYTICS_ENVIRONMENTS };\n"],"names":["API_ENVIRONMENTS","test","live","fallback","CDN_ENVIRONMENTS","ANALYTICS_ENVIRONMENTS"],"mappings":"AAAA,MAAMA,EAAmB,CACrBC,KAAM,0DACNC,KAAM,0DACN,UAAW,6DACX,UAAW,6DACX,YAAa,+DACb,UAAW,6DACXC,SAAU,2DAGRC,EAAmB,CACrBH,KAAM,8DACNC,KAAM,8DACN,UAAW,iEACX,UAAW,iEACX,YAAa,mEACb,UAAW,iEACXC,SAAU,+DAGRE,EAAyB,CAC3BJ,KAAM,8DACNC,KAAM,8DACN,UAAW,iEACX,UAAW,iEACX,YAAa,mEACb,UAAW,iEACXC,SAAU"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import e from"../../components/internal/BaseElement/BaseElement.js";import o from"./components/DeviceFingerprint/DeviceFingerprint.js";import s from"../../utils/base64.js";import{RISK_DATA_VERSION as n,DEVICE_FINGERPRINT as r}from"./constants.js";class i extends e{static type="risk";static defaultProps={risk:{enabled:!0,onComplete:()=>{},onError:()=>{},node:"body"}};nodeRiskContainer=null;constructor(t,e){super(t,e);const o={[r]:null};this.setState({data:o}),!0===this.props.risk.enabled&&(document.querySelector(this.props.risk.node)?(this.nodeRiskContainer=document.createElement("div"),document.querySelector(this.props.risk.node).appendChild(this.nodeRiskContainer),this.mount(this.nodeRiskContainer)):this.onError({message:"RiskModule node was not found"}))}formatProps(t){return{...t,risk:{...i.defaultProps.risk,...t.risk}}}onComplete=t=>{const e={...this.state.data,[t.type]:t.value,persistentCookie:t.persistentCookie,components:t.components};this.setState({data:e,isValid:!0}),this.props.risk.onComplete(this.data),this.cleanUp()};onError=t=>{this.props.risk.onError(t),this.cleanUp()};get isValid(){return this.state.isValid}get data(){if(this.isValid){const t={version:n,...this.state.data};return s.encode(JSON.stringify(t))}return!1}cleanUp=()=>{this.nodeRiskContainer&&this.nodeRiskContainer.parentNode&&this.nodeRiskContainer.parentNode.removeChild(this.nodeRiskContainer)};componentWillUnmount(){this.cleanUp()}render(){return t(o,{...this.props,loadingContext:this.props.loadingContext,onComplete:this.onComplete,onError:this.onError})}}export{i as default};
1
+ import{createElement as e}from"../../external/preact/dist/preact.js";import t from"../../components/internal/BaseElement/BaseElement.js";import s from"./components/DeviceFingerprint/DeviceFingerprint.js";import o from"../../utils/base64.js";import{RISK_DATA_VERSION as n,DEVICE_FINGERPRINT as r}from"./constants.js";class i extends t{static type="risk";static defaultProps={risk:{enabled:!0,onComplete:()=>{},onError:()=>{},node:"body"}};nodeRiskContainer=null;constructor(e,t){super(e,t);const s={[r]:null};this.setState({data:s}),!0===this.props.risk.enabled&&(document.querySelector(this.props.risk.node)?(this.nodeRiskContainer=document.createElement("div"),document.querySelector(this.props.risk.node).appendChild(this.nodeRiskContainer),this.mount(this.nodeRiskContainer)):this.onError({message:"RiskModule node was not found"}))}formatProps(e){return{...e,risk:{...i.defaultProps.risk,...e.risk}}}onComplete=e=>{const t={...this.state.data,[e.type]:e.value,persistentCookie:e.persistentCookie,components:e.components};this.setState({data:t,isValid:!0}),this.props.risk.onComplete(this.data),this.cleanUp()};onError=e=>{this.props.risk.onError(e),this.cleanUp()};get isValid(){return this.state.isValid}get data(){if(this.isValid){const e={version:n,...this.state.data};return o.encode(JSON.stringify(e))}return!1}get enabled(){return this.props.risk.enabled}cleanUp=()=>{this.nodeRiskContainer&&this.nodeRiskContainer.parentNode&&this.nodeRiskContainer.parentNode.removeChild(this.nodeRiskContainer)};componentWillUnmount(){this.cleanUp()}render(){return e(s,{...this.props,loadingContext:this.props.loadingContext,onComplete:this.onComplete,onError:this.onError})}}export{i as default};
2
2
  //# sourceMappingURL=RiskModule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RiskModule.js","sources":["../../../../src/core/RiskModule/RiskModule.tsx"],"sourcesContent":["import { h } from 'preact';\nimport BaseElement from '../../components/internal/BaseElement/BaseElement';\nimport DeviceFingerprint from './components/DeviceFingerprint';\nimport base64 from '../../utils/base64';\nimport { RISK_DATA_VERSION, DEVICE_FINGERPRINT } from './constants';\nimport { BaseElementProps } from '../../components/internal/BaseElement/types';\nimport type { ICore } from '../types';\n\nexport interface RiskModuleOptions {\n enabled: boolean;\n onComplete?: (data) => void;\n onError?: (error) => void;\n node?: string;\n}\n\ninterface RiskModuleProps extends BaseElementProps {\n risk: RiskModuleOptions;\n loadingContext: string;\n}\n\nexport type RiskData = string | boolean;\n\nexport default class RiskElement extends BaseElement<RiskModuleProps> {\n public static type = 'risk';\n public static defaultProps = {\n risk: {\n enabled: true,\n onComplete: () => {},\n onError: () => {},\n node: 'body'\n }\n };\n\n private nodeRiskContainer = null;\n\n constructor(checkout: ICore, props?) {\n super(checkout, props);\n\n // Populate state with null values\n const riskElements = {\n [DEVICE_FINGERPRINT]: null\n };\n\n this.setState({ data: riskElements });\n\n if (this.props.risk.enabled === true) {\n if (document.querySelector(this.props.risk.node)) {\n this.nodeRiskContainer = document.createElement('div');\n document.querySelector(this.props.risk.node).appendChild(this.nodeRiskContainer);\n this.mount(this.nodeRiskContainer);\n } else {\n this.onError({ message: 'RiskModule node was not found' });\n }\n }\n }\n\n formatProps(props) {\n return {\n ...props,\n risk: {\n ...RiskElement.defaultProps.risk,\n ...props.risk\n }\n };\n }\n\n public onComplete = result => {\n const data = { ...this.state.data, [result.type]: result.value, persistentCookie: result.persistentCookie, components: result.components };\n this.setState({ data, isValid: true });\n this.props.risk.onComplete(this.data);\n this.cleanUp();\n };\n\n public onError = error => {\n this.props.risk.onError(error);\n this.cleanUp();\n };\n\n get isValid() {\n return this.state.isValid;\n }\n\n get data(): any {\n if (this.isValid) {\n const dataObj = { version: RISK_DATA_VERSION, ...this.state.data };\n return base64.encode(JSON.stringify(dataObj));\n }\n\n return false;\n }\n\n public cleanUp = () => {\n if (this.nodeRiskContainer && this.nodeRiskContainer.parentNode) this.nodeRiskContainer.parentNode.removeChild(this.nodeRiskContainer);\n };\n\n componentWillUnmount() {\n this.cleanUp();\n }\n\n render() {\n return <DeviceFingerprint {...this.props} loadingContext={this.props.loadingContext} onComplete={this.onComplete} onError={this.onError} />;\n }\n}\n"],"names":["RiskElement","BaseElement","static","risk","enabled","onComplete","onError","node","nodeRiskContainer","constructor","checkout","props","super","riskElements","DEVICE_FINGERPRINT","this","setState","data","document","querySelector","createElement","appendChild","mount","message","formatProps","defaultProps","result","state","type","value","persistentCookie","components","isValid","cleanUp","error","dataObj","version","RISK_DATA_VERSION","base64","encode","JSON","stringify","parentNode","removeChild","componentWillUnmount","render","h","DeviceFingerprint","loadingContext"],"mappings":"4TAsBe,MAAMA,UAAoBC,EACrCC,YAAqB,OACrBA,oBAA6B,CACzBC,KAAM,CACFC,SAAS,EACTC,WAAY,OACZC,QAAS,OACTC,KAAM,SAINC,kBAAoB,KAE5BC,WAAAA,CAAYC,EAAiBC,GACzBC,MAAMF,EAAUC,GAGhB,MAAME,EAAe,CACjBC,CAACA,GAAqB,MAG1BC,KAAKC,SAAS,CAAEC,KAAMJ,KAEU,IAA5BE,KAAKJ,MAAMR,KAAKC,UACZc,SAASC,cAAcJ,KAAKJ,MAAMR,KAAKI,OACvCQ,KAAKP,kBAAoBU,SAASE,cAAc,OAChDF,SAASC,cAAcJ,KAAKJ,MAAMR,KAAKI,MAAMc,YAAYN,KAAKP,mBAC9DO,KAAKO,MAAMP,KAAKP,oBAEhBO,KAAKT,QAAQ,CAAEiB,QAAS,kCAGpC,CAEAC,WAAAA,CAAYb,GACR,MAAO,IACAA,EACHR,KAAM,IACCH,EAAYyB,aAAatB,QACzBQ,EAAMR,MAGrB,CAEOE,WAAaqB,IAChB,MAAMT,EAAO,IAAKF,KAAKY,MAAMV,KAAM,CAACS,EAAOE,MAAOF,EAAOG,MAAOC,iBAAkBJ,EAAOI,iBAAkBC,WAAYL,EAAOK,YAC9HhB,KAAKC,SAAS,CAAEC,OAAMe,SAAS,IAC/BjB,KAAKJ,MAAMR,KAAKE,WAAWU,KAAKE,MAChCF,KAAKkB,SAAO,EAGT3B,QAAU4B,IACbnB,KAAKJ,MAAMR,KAAKG,QAAQ4B,GACxBnB,KAAKkB,SAAO,EAGhB,WAAID,GACA,OAAOjB,KAAKY,MAAMK,OACtB,CAEA,QAAIf,GACA,GAAIF,KAAKiB,QAAS,CACd,MAAMG,EAAU,CAAEC,QAASC,KAAsBtB,KAAKY,MAAMV,MAC5D,OAAOqB,EAAOC,OAAOC,KAAKC,UAAUN,GACxC,CAEA,OAAO,CACX,CAEOF,QAAU,KACTlB,KAAKP,mBAAqBO,KAAKP,kBAAkBkC,YAAY3B,KAAKP,kBAAkBkC,WAAWC,YAAY5B,KAAKP,kBAAiB,EAGzIoC,oBAAAA,GACI7B,KAAKkB,SACT,CAEAY,MAAAA,GACI,OAAOC,EAACC,EAAAA,IAAsBhC,KAAKJ,MAAOqC,eAAgBjC,KAAKJ,MAAMqC,eAAgB3C,WAAYU,KAAKV,WAAYC,QAASS,KAAKT,SACpI"}
1
+ {"version":3,"file":"RiskModule.js","sources":["../../../../src/core/RiskModule/RiskModule.tsx"],"sourcesContent":["import { h } from 'preact';\nimport BaseElement from '../../components/internal/BaseElement/BaseElement';\nimport DeviceFingerprint from './components/DeviceFingerprint';\nimport base64 from '../../utils/base64';\nimport { RISK_DATA_VERSION, DEVICE_FINGERPRINT } from './constants';\nimport { BaseElementProps } from '../../components/internal/BaseElement/types';\nimport type { ICore } from '../types';\n\nexport interface RiskModuleOptions {\n enabled: boolean;\n onComplete?: (data) => void;\n onError?: (error) => void;\n node?: string;\n}\n\ninterface RiskModuleProps extends BaseElementProps {\n risk: RiskModuleOptions;\n loadingContext: string;\n}\n\nexport type RiskData = string | boolean;\n\nexport default class RiskElement extends BaseElement<RiskModuleProps> {\n public static type = 'risk';\n public static defaultProps = {\n risk: {\n enabled: true,\n onComplete: () => {},\n onError: () => {},\n node: 'body'\n }\n };\n\n private nodeRiskContainer = null;\n\n constructor(checkout: ICore, props?) {\n super(checkout, props);\n\n // Populate state with null values\n const riskElements = {\n [DEVICE_FINGERPRINT]: null\n };\n\n this.setState({ data: riskElements });\n\n if (this.props.risk.enabled === true) {\n if (document.querySelector(this.props.risk.node)) {\n this.nodeRiskContainer = document.createElement('div');\n document.querySelector(this.props.risk.node).appendChild(this.nodeRiskContainer);\n this.mount(this.nodeRiskContainer);\n } else {\n this.onError({ message: 'RiskModule node was not found' });\n }\n }\n }\n\n formatProps(props) {\n return {\n ...props,\n risk: {\n ...RiskElement.defaultProps.risk,\n ...props.risk\n }\n };\n }\n\n public onComplete = result => {\n const data = { ...this.state.data, [result.type]: result.value, persistentCookie: result.persistentCookie, components: result.components };\n this.setState({ data, isValid: true });\n this.props.risk.onComplete(this.data);\n this.cleanUp();\n };\n\n public onError = error => {\n this.props.risk.onError(error);\n this.cleanUp();\n };\n\n get isValid() {\n return this.state.isValid;\n }\n\n get data(): any {\n if (this.isValid) {\n const dataObj = { version: RISK_DATA_VERSION, ...this.state.data };\n return base64.encode(JSON.stringify(dataObj));\n }\n\n return false;\n }\n\n public get enabled() {\n return this.props.risk.enabled;\n }\n\n public cleanUp = () => {\n if (this.nodeRiskContainer && this.nodeRiskContainer.parentNode) this.nodeRiskContainer.parentNode.removeChild(this.nodeRiskContainer);\n };\n\n componentWillUnmount() {\n this.cleanUp();\n }\n\n render() {\n return <DeviceFingerprint {...this.props} loadingContext={this.props.loadingContext} onComplete={this.onComplete} onError={this.onError} />;\n }\n}\n"],"names":["RiskElement","BaseElement","static","risk","enabled","onComplete","onError","node","nodeRiskContainer","constructor","checkout","props","super","riskElements","DEVICE_FINGERPRINT","this","setState","data","document","querySelector","createElement","appendChild","mount","message","formatProps","defaultProps","result","state","type","value","persistentCookie","components","isValid","cleanUp","error","dataObj","version","RISK_DATA_VERSION","base64","encode","JSON","stringify","parentNode","removeChild","componentWillUnmount","render","h","DeviceFingerprint","loadingContext"],"mappings":"4TAsBe,MAAMA,UAAoBC,EACrCC,YAAqB,OACrBA,oBAA6B,CACzBC,KAAM,CACFC,SAAS,EACTC,WAAY,OACZC,QAAS,OACTC,KAAM,SAINC,kBAAoB,KAE5BC,WAAAA,CAAYC,EAAiBC,GACzBC,MAAMF,EAAUC,GAGhB,MAAME,EAAe,CACjBC,CAACA,GAAqB,MAG1BC,KAAKC,SAAS,CAAEC,KAAMJ,KAEU,IAA5BE,KAAKJ,MAAMR,KAAKC,UACZc,SAASC,cAAcJ,KAAKJ,MAAMR,KAAKI,OACvCQ,KAAKP,kBAAoBU,SAASE,cAAc,OAChDF,SAASC,cAAcJ,KAAKJ,MAAMR,KAAKI,MAAMc,YAAYN,KAAKP,mBAC9DO,KAAKO,MAAMP,KAAKP,oBAEhBO,KAAKT,QAAQ,CAAEiB,QAAS,kCAGpC,CAEAC,WAAAA,CAAYb,GACR,MAAO,IACAA,EACHR,KAAM,IACCH,EAAYyB,aAAatB,QACzBQ,EAAMR,MAGrB,CAEOE,WAAaqB,IAChB,MAAMT,EAAO,IAAKF,KAAKY,MAAMV,KAAM,CAACS,EAAOE,MAAOF,EAAOG,MAAOC,iBAAkBJ,EAAOI,iBAAkBC,WAAYL,EAAOK,YAC9HhB,KAAKC,SAAS,CAAEC,OAAMe,SAAS,IAC/BjB,KAAKJ,MAAMR,KAAKE,WAAWU,KAAKE,MAChCF,KAAKkB,SAAO,EAGT3B,QAAU4B,IACbnB,KAAKJ,MAAMR,KAAKG,QAAQ4B,GACxBnB,KAAKkB,SAAO,EAGhB,WAAID,GACA,OAAOjB,KAAKY,MAAMK,OACtB,CAEA,QAAIf,GACA,GAAIF,KAAKiB,QAAS,CACd,MAAMG,EAAU,CAAEC,QAASC,KAAsBtB,KAAKY,MAAMV,MAC5D,OAAOqB,EAAOC,OAAOC,KAAKC,UAAUN,GACxC,CAEA,OAAO,CACX,CAEA,WAAW/B,GACP,OAAOW,KAAKJ,MAAMR,KAAKC,OAC3B,CAEO6B,QAAU,KACTlB,KAAKP,mBAAqBO,KAAKP,kBAAkBkC,YAAY3B,KAAKP,kBAAkBkC,WAAWC,YAAY5B,KAAKP,kBAAiB,EAGzIoC,oBAAAA,GACI7B,KAAKkB,SACT,CAEAY,MAAAA,GACI,OAAOC,EAACC,EAAAA,IAAsBhC,KAAKJ,MAAOqC,eAAgBjC,KAAKJ,MAAMqC,eAAgB3C,WAAYU,KAAKV,WAAYC,QAASS,KAAKT,SACpI"}
@@ -1 +1 @@
1
- {"version":3,"file":"GetDeviceFingerprint.js","sources":["../../../../../../src/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport Iframe from '../../../../components/internal/IFrame';\nimport promiseTimeout from '../../../../utils/promiseTimeout';\nimport { DEVICE_FINGERPRINT, DF_TIMEOUT, FAILED_DFP_RESOLVE_OBJECT_TIMEOUT } from '../../constants';\nimport getProcessMessageHandler from '../../../../utils/get-process-message-handler';\nimport { getOrigin } from '../../../../utils/getOrigin';\nimport { GetDeviceFingerprintProps } from './types';\n\nconst iframeName = 'dfIframe';\nconst allowProperties = 'geolocation; microphone; camera;';\n\nclass GetDeviceFingerprint extends Component<GetDeviceFingerprintProps> {\n public postMessageDomain;\n public processMessageHandler;\n public deviceFingerPrintPromise;\n\n constructor(props) {\n super(props);\n\n this.postMessageDomain = getOrigin(this.props.loadingContext) || this.props.loadingContext;\n }\n\n getDfpPromise(): Promise<any> {\n return new Promise((resolve, reject) => {\n /**\n * Listen for postMessage responses from the notification url\n */\n this.processMessageHandler = getProcessMessageHandler(this.postMessageDomain, resolve, reject, DEVICE_FINGERPRINT);\n\n /* eslint-disable-next-line */\n window.addEventListener('message', this.processMessageHandler);\n });\n }\n\n componentDidMount() {\n // Get device fingerprint\n this.deviceFingerPrintPromise = promiseTimeout(DF_TIMEOUT, this.getDfpPromise(), FAILED_DFP_RESOLVE_OBJECT_TIMEOUT);\n this.deviceFingerPrintPromise.promise\n .then(resolveObject => {\n this.props.onCompleteFingerprint(resolveObject);\n window.removeEventListener('message', this.processMessageHandler);\n })\n .catch(rejectObject => {\n this.props.onErrorFingerprint(rejectObject);\n window.removeEventListener('message', this.processMessageHandler);\n });\n }\n\n render({ dfpURL }) {\n return (\n <div className=\"adyen-checkout-risk__device-fingerprint\">\n <Iframe name={iframeName} src={dfpURL} allow={allowProperties} title=\"devicefingerprinting iframe\" />\n </div>\n );\n }\n}\n\nexport default GetDeviceFingerprint;\n"],"names":["GetDeviceFingerprint","Component","postMessageDomain","processMessageHandler","deviceFingerPrintPromise","constructor","props","super","this","getOrigin","loadingContext","getDfpPromise","Promise","resolve","reject","getProcessMessageHandler","DEVICE_FINGERPRINT","window","addEventListener","componentDidMount","promiseTimeout","DF_TIMEOUT","FAILED_DFP_RESOLVE_OBJECT_TIMEOUT","promise","then","resolveObject","onCompleteFingerprint","removeEventListener","catch","rejectObject","onErrorFingerprint","render","dfpURL","h","div","className","Iframe","name","src","allow","title"],"mappings":"ubAWA,MAAMA,UAA6BC,EACxBC,kBACAC,sBACAC,yBAEPC,WAAAA,CAAYC,GACRC,MAAMD,GAENE,KAAKN,kBAAoBO,EAAUD,KAAKF,MAAMI,iBAAmBF,KAAKF,MAAMI,cAChF,CAEAC,aAAAA,GACI,OAAO,IAAIC,SAAQ,CAACC,EAASC,KAIzBN,KAAKL,sBAAwBY,EAAyBP,KAAKN,kBAAmBW,EAASC,EAAQE,GAG/FC,OAAOC,iBAAiB,UAAWV,KAAKL,sBAAqB,GAErE,CAEAgB,iBAAAA,GAEIX,KAAKJ,yBAA2BgB,EAAeC,EAAYb,KAAKG,gBAAiBW,GACjFd,KAAKJ,yBAAyBmB,QACzBC,MAAKC,IACFjB,KAAKF,MAAMoB,sBAAsBD,GACjCR,OAAOU,oBAAoB,UAAWnB,KAAKL,sBAAqB,IAEnEyB,OAAMC,IACHrB,KAAKF,MAAMwB,mBAAmBD,GAC9BZ,OAAOU,oBAAoB,UAAWnB,KAAKL,sBAAqB,GAE5E,CAEA4B,MAAAA,EAAOC,OAAEA,IACL,OACIC,EAACC,MAAAA,CAAIC,UAAU,2CACXF,EAACG,EAAAA,CAAOC,KA3CL,WA2CuBC,IAAKN,EAAQO,MA1C/B,mCA0CuDC,MAAM,gCAGjF"}
1
+ {"version":3,"file":"GetDeviceFingerprint.js","sources":["../../../../../../src/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport Iframe from '../../../../components/internal/IFrame';\nimport promiseTimeout from '../../../../utils/promiseTimeout';\nimport { DEVICE_FINGERPRINT, DF_TIMEOUT, FAILED_DFP_RESOLVE_OBJECT_TIMEOUT } from '../../constants';\nimport getProcessMessageHandler from '../../../../utils/get-process-message-handler';\nimport { getOrigin } from '../../../../utils/getOrigin';\nimport { GetDeviceFingerprintProps } from './types';\n\nconst iframeName = 'dfIframe';\nconst allowProperties = 'geolocation; microphone; camera;';\n\nclass GetDeviceFingerprint extends Component<GetDeviceFingerprintProps> {\n public postMessageDomain;\n public processMessageHandler;\n public deviceFingerPrintPromise;\n\n constructor(props) {\n super(props);\n\n this.postMessageDomain = getOrigin(this.props.loadingContext) || this.props.loadingContext;\n }\n\n getDfpPromise(): Promise<any> {\n return new Promise((resolve, reject) => {\n /**\n * Listen for postMessage responses from the notification url\n */\n this.processMessageHandler = getProcessMessageHandler(this.postMessageDomain, resolve, reject, DEVICE_FINGERPRINT);\n\n window.addEventListener('message', this.processMessageHandler);\n });\n }\n\n componentDidMount() {\n // Get device fingerprint\n this.deviceFingerPrintPromise = promiseTimeout(DF_TIMEOUT, this.getDfpPromise(), FAILED_DFP_RESOLVE_OBJECT_TIMEOUT);\n this.deviceFingerPrintPromise.promise\n .then(resolveObject => {\n this.props.onCompleteFingerprint(resolveObject);\n window.removeEventListener('message', this.processMessageHandler);\n })\n .catch(rejectObject => {\n this.props.onErrorFingerprint(rejectObject);\n window.removeEventListener('message', this.processMessageHandler);\n });\n }\n\n render({ dfpURL }) {\n return (\n <div className=\"adyen-checkout-risk__device-fingerprint\">\n <Iframe name={iframeName} src={dfpURL} allow={allowProperties} title=\"devicefingerprinting iframe\" />\n </div>\n );\n }\n}\n\nexport default GetDeviceFingerprint;\n"],"names":["GetDeviceFingerprint","Component","postMessageDomain","processMessageHandler","deviceFingerPrintPromise","constructor","props","super","this","getOrigin","loadingContext","getDfpPromise","Promise","resolve","reject","getProcessMessageHandler","DEVICE_FINGERPRINT","window","addEventListener","componentDidMount","promiseTimeout","DF_TIMEOUT","FAILED_DFP_RESOLVE_OBJECT_TIMEOUT","promise","then","resolveObject","onCompleteFingerprint","removeEventListener","catch","rejectObject","onErrorFingerprint","render","dfpURL","h","div","className","Iframe","name","src","allow","title"],"mappings":"ubAWA,MAAMA,UAA6BC,EACxBC,kBACAC,sBACAC,yBAEPC,WAAAA,CAAYC,GACRC,MAAMD,GAENE,KAAKN,kBAAoBO,EAAUD,KAAKF,MAAMI,iBAAmBF,KAAKF,MAAMI,cAChF,CAEAC,aAAAA,GACI,OAAO,IAAIC,SAAQ,CAACC,EAASC,KAIzBN,KAAKL,sBAAwBY,EAAyBP,KAAKN,kBAAmBW,EAASC,EAAQE,GAE/FC,OAAOC,iBAAiB,UAAWV,KAAKL,sBAAqB,GAErE,CAEAgB,iBAAAA,GAEIX,KAAKJ,yBAA2BgB,EAAeC,EAAYb,KAAKG,gBAAiBW,GACjFd,KAAKJ,yBAAyBmB,QACzBC,MAAKC,IACFjB,KAAKF,MAAMoB,sBAAsBD,GACjCR,OAAOU,oBAAoB,UAAWnB,KAAKL,sBAAqB,IAEnEyB,OAAMC,IACHrB,KAAKF,MAAMwB,mBAAmBD,GAC9BZ,OAAOU,oBAAoB,UAAWnB,KAAKL,sBAAqB,GAE5E,CAEA4B,MAAAA,EAAOC,OAAEA,IACL,OACIC,EAACC,MAAAA,CAAIC,UAAU,2CACXF,EAACG,EAAAA,CAAOC,KA1CL,WA0CuBC,IAAKN,EAAQO,MAzC/B,mCAyCuDC,MAAM,gCAGjF"}
@@ -1,2 +1,2 @@
1
- import{httpPost as e}from"../http.js";import t from"../../../utils/Storage.js";const o='WARNING: Failed to retrieve "checkoutAttemptId". Consequently, analytics will not be available for this payment. The payment process, however, will not be affected.';const n=({analyticsContext:n,clientKey:r,locale:i,analyticsPath:c,bundleType:a})=>{let l;const s={errorLevel:"fatal",loadingContext:n,path:`${c}?clientKey=${r}`};return n=>{const c={version:"6.0.0-beta.0",channel:"Web",platform:"Web",buildType:a,locale:i,referrer:window.location.href,screenWidth:window.screen.width,...n};if(l)return l;if(!r)return Promise.reject("no-client-key");const m=new t("checkout-attempt-id","sessionStorage"),d=m.get();return function(e){if(!e?.id)return!1;const t=Date.now()-9e5;return e.timestamp>t}(d)?Promise.resolve(d.id):(l=e(s,c).then((e=>{if(e?.checkoutAttemptId)return m.set({id:e.checkoutAttemptId,timestamp:Date.now()}),e.checkoutAttemptId})).catch((()=>Promise.reject(o))),l)}};export{o as FAILURE_MSG,n as default};
1
+ import{httpPost as e}from"../http.js";import t from"../../../utils/Storage.js";const o='WARNING: Failed to retrieve "checkoutAttemptId". Consequently, analytics will not be available for this payment. The payment process, however, will not be affected.';const n=({analyticsContext:n,clientKey:r,locale:i,analyticsPath:c,bundleType:a})=>{let l;const s={errorLevel:"fatal",loadingContext:n,path:`${c}?clientKey=${r}`};return n=>{const c={version:"6.0.0",channel:"Web",platform:"Web",buildType:a,locale:i,referrer:window.location.href,screenWidth:window.screen.width,...n};if(l)return l;if(!r)return Promise.reject("no-client-key");const m=new t("checkout-attempt-id","sessionStorage"),d=m.get();return function(e){if(!e?.id)return!1;const t=Date.now()-9e5;return e.timestamp>t}(d)?Promise.resolve(d.id):(l=e(s,c).then((e=>{if(e?.checkoutAttemptId)return m.set({id:e.checkoutAttemptId,timestamp:Date.now()}),e.checkoutAttemptId})).catch((()=>Promise.reject(o))),l)}};export{o as FAILURE_MSG,n as default};
2
2
  //# sourceMappingURL=collect-id.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collect-id.js","sources":["../../../../../src/core/Services/analytics/collect-id.ts"],"sourcesContent":["import { httpPost } from '../http';\nimport Storage from '../../../utils/Storage';\nimport { CheckoutAttemptIdSession, CollectIdEvent, CollectIdProps, TelemetryEvent } from './types';\n\nexport const FAILURE_MSG =\n 'WARNING: Failed to retrieve \"checkoutAttemptId\". Consequently, analytics will not be available for this payment. The payment process, however, will not be affected.';\n\n/**\n * If the checkout attempt ID was stored more than fifteen minutes ago, then we should request a new ID.\n * More here: COWEB-1099\n */\nfunction confirmSessionDurationIsMaxFifteenMinutes(checkoutAttemptIdSession: CheckoutAttemptIdSession): boolean {\n if (!checkoutAttemptIdSession?.id) return false;\n\n const fifteenMinInMs = 1000 * 60 * 15;\n const fifteenMinAgoTimestamp = Date.now() - fifteenMinInMs;\n return checkoutAttemptIdSession.timestamp > fifteenMinAgoTimestamp;\n}\n\n/**\n * Send an event to Adyen with some basic telemetry info and receive a checkoutAttemptId in response\n * @param config - object containing values needed to calculate the url for the request; and also some that need to be serialized and included in the body of request\n * @returns a function returning a promise containing the response of the call (an object containing a checkoutAttemptId property)\n */\n// const collectId = ({ analyticsContext, clientKey, locale, amount }: CollectIdProps) => { // TODO - amount will be supported in the future\nconst collectId = ({ analyticsContext, clientKey, locale, analyticsPath, bundleType }: CollectIdProps) => {\n let promise;\n\n const options = {\n errorLevel: 'fatal' as const, // ensure our catch block is called\n loadingContext: analyticsContext,\n path: `${analyticsPath}?clientKey=${clientKey}`\n };\n\n return (event: CollectIdEvent): Promise<string> => {\n const telemetryEvent: TelemetryEvent = {\n // amount, // TODO will be supported in the future\n version: process.env.VERSION,\n // The data team want both platform & channel properties:\n channel: 'Web',\n platform: 'Web',\n buildType: bundleType,\n locale,\n referrer: window.location.href,\n screenWidth: window.screen.width,\n ...event\n };\n\n if (promise) return promise; // Prevents multiple standalone components on the same page from making multiple calls to collect a checkoutAttemptId\n if (!clientKey) return Promise.reject('no-client-key');\n\n const storage = new Storage<CheckoutAttemptIdSession>('checkout-attempt-id', 'sessionStorage');\n const checkoutAttemptIdSession = storage.get();\n\n // In some cases, e.g. where the merchant has redirected the shopper and then returned them to checkout, we still have a valid checkoutAttemptId\n // so there is no need for the re-initialised Checkout to generate another one\n if (confirmSessionDurationIsMaxFifteenMinutes(checkoutAttemptIdSession)) {\n return Promise.resolve(checkoutAttemptIdSession.id);\n }\n\n promise = httpPost(options, telemetryEvent)\n .then(conversion => {\n if (conversion?.checkoutAttemptId) {\n storage.set({ id: conversion.checkoutAttemptId, timestamp: Date.now() });\n return conversion.checkoutAttemptId;\n }\n return undefined;\n })\n .catch(() => {\n return Promise.reject(FAILURE_MSG);\n });\n\n return promise;\n };\n};\n\nexport default collectId;\n"],"names":["FAILURE_MSG","collectId","analyticsContext","clientKey","locale","analyticsPath","bundleType","promise","options","errorLevel","loadingContext","path","event","telemetryEvent","version","channel","platform","buildType","referrer","window","location","href","screenWidth","screen","width","Promise","reject","storage","Storage","checkoutAttemptIdSession","get","id","fifteenMinAgoTimestamp","Date","now","timestamp","confirmSessionDurationIsMaxFifteenMinutes","resolve","httpPost","then","conversion","checkoutAttemptId","set","undefined","catch"],"mappings":"+EAIO,MAAMA,EACT,uKAoBJ,MAAMC,EAAY,EAAGC,mBAAkBC,YAAWC,SAAQC,gBAAeC,iBACrE,IAAIC,EAEJ,MAAMC,EAAU,CACZC,WAAY,QACZC,eAAgBR,EAChBS,KAAM,GAAGN,eAA2BF,KAGxC,OAAQS,IACJ,MAAMC,EAAiC,CAEnCC,QAAS,eAETC,QAAS,MACTC,SAAU,MACVC,UAAWX,EACXF,SACAc,SAAUC,OAAOC,SAASC,KAC1BC,YAAaH,OAAOI,OAAOC,SACxBZ,GAGP,GAAIL,EAAS,OAAOA,EACpB,IAAKJ,EAAW,OAAOsB,QAAQC,OAAO,iBAEtC,MAAMC,EAAU,IAAIC,EAAkC,sBAAuB,kBACvEC,EAA2BF,EAAQG,MAIzC,OA7CR,SAAmDD,GAC/C,IAAKA,GAA0BE,GAAI,OAAO,EAE1C,MACMC,EAAyBC,KAAKC,MADb,IAEvB,OAAOL,EAAyBM,UAAYH,CAChD,CAuCYI,CAA0CP,GACnCJ,QAAQY,QAAQR,EAAyBE,KAGpDxB,EAAU+B,EAAS9B,EAASK,GACvB0B,MAAKC,IACF,GAAIA,GAAYC,kBAEZ,OADAd,EAAQe,IAAI,CAAEX,GAAIS,EAAWC,kBAAmBN,UAAWF,KAAKC,QACzDM,EAAWC,iBAEfE,IAEVC,OAAM,IACInB,QAAQC,OAAO1B,KAGvBO,EAAAA,CACX"}
1
+ {"version":3,"file":"collect-id.js","sources":["../../../../../src/core/Services/analytics/collect-id.ts"],"sourcesContent":["import { httpPost } from '../http';\nimport Storage from '../../../utils/Storage';\nimport { CheckoutAttemptIdSession, CollectIdEvent, CollectIdProps, TelemetryEvent } from './types';\n\nexport const FAILURE_MSG =\n 'WARNING: Failed to retrieve \"checkoutAttemptId\". Consequently, analytics will not be available for this payment. The payment process, however, will not be affected.';\n\n/**\n * If the checkout attempt ID was stored more than fifteen minutes ago, then we should request a new ID.\n * More here: COWEB-1099\n */\nfunction confirmSessionDurationIsMaxFifteenMinutes(checkoutAttemptIdSession: CheckoutAttemptIdSession): boolean {\n if (!checkoutAttemptIdSession?.id) return false;\n\n const fifteenMinInMs = 1000 * 60 * 15;\n const fifteenMinAgoTimestamp = Date.now() - fifteenMinInMs;\n return checkoutAttemptIdSession.timestamp > fifteenMinAgoTimestamp;\n}\n\n/**\n * Send an event to Adyen with some basic telemetry info and receive a checkoutAttemptId in response\n * @param config - object containing values needed to calculate the url for the request; and also some that need to be serialized and included in the body of request\n * @returns a function returning a promise containing the response of the call (an object containing a checkoutAttemptId property)\n */\n// const collectId = ({ analyticsContext, clientKey, locale, amount }: CollectIdProps) => { // TODO - amount will be supported in the future\nconst collectId = ({ analyticsContext, clientKey, locale, analyticsPath, bundleType }: CollectIdProps) => {\n let promise;\n\n const options = {\n errorLevel: 'fatal' as const, // ensure our catch block is called\n loadingContext: analyticsContext,\n path: `${analyticsPath}?clientKey=${clientKey}`\n };\n\n return (event: CollectIdEvent): Promise<string> => {\n const telemetryEvent: TelemetryEvent = {\n // amount, // TODO will be supported in the future\n version: process.env.VERSION,\n // The data team want both platform & channel properties:\n channel: 'Web',\n platform: 'Web',\n buildType: bundleType,\n locale,\n referrer: window.location.href,\n screenWidth: window.screen.width,\n ...event\n };\n\n if (promise) return promise; // Prevents multiple standalone components on the same page from making multiple calls to collect a checkoutAttemptId\n if (!clientKey) return Promise.reject('no-client-key');\n\n const storage = new Storage<CheckoutAttemptIdSession>('checkout-attempt-id', 'sessionStorage');\n const checkoutAttemptIdSession = storage.get();\n\n // In some cases, e.g. where the merchant has redirected the shopper and then returned them to checkout, we still have a valid checkoutAttemptId\n // so there is no need for the re-initialised Checkout to generate another one\n if (confirmSessionDurationIsMaxFifteenMinutes(checkoutAttemptIdSession)) {\n return Promise.resolve(checkoutAttemptIdSession.id);\n }\n\n promise = httpPost(options, telemetryEvent)\n .then(conversion => {\n if (conversion?.checkoutAttemptId) {\n storage.set({ id: conversion.checkoutAttemptId, timestamp: Date.now() });\n return conversion.checkoutAttemptId;\n }\n return undefined;\n })\n .catch(() => {\n return Promise.reject(FAILURE_MSG);\n });\n\n return promise;\n };\n};\n\nexport default collectId;\n"],"names":["FAILURE_MSG","collectId","analyticsContext","clientKey","locale","analyticsPath","bundleType","promise","options","errorLevel","loadingContext","path","event","telemetryEvent","version","channel","platform","buildType","referrer","window","location","href","screenWidth","screen","width","Promise","reject","storage","Storage","checkoutAttemptIdSession","get","id","fifteenMinAgoTimestamp","Date","now","timestamp","confirmSessionDurationIsMaxFifteenMinutes","resolve","httpPost","then","conversion","checkoutAttemptId","set","undefined","catch"],"mappings":"+EAIO,MAAMA,EACT,uKAoBJ,MAAMC,EAAY,EAAGC,mBAAkBC,YAAWC,SAAQC,gBAAeC,iBACrE,IAAIC,EAEJ,MAAMC,EAAU,CACZC,WAAY,QACZC,eAAgBR,EAChBS,KAAM,GAAGN,eAA2BF,KAGxC,OAAQS,IACJ,MAAMC,EAAiC,CAEnCC,QAAS,QAETC,QAAS,MACTC,SAAU,MACVC,UAAWX,EACXF,SACAc,SAAUC,OAAOC,SAASC,KAC1BC,YAAaH,OAAOI,OAAOC,SACxBZ,GAGP,GAAIL,EAAS,OAAOA,EACpB,IAAKJ,EAAW,OAAOsB,QAAQC,OAAO,iBAEtC,MAAMC,EAAU,IAAIC,EAAkC,sBAAuB,kBACvEC,EAA2BF,EAAQG,MAIzC,OA7CR,SAAmDD,GAC/C,IAAKA,GAA0BE,GAAI,OAAO,EAE1C,MACMC,EAAyBC,KAAKC,MADb,IAEvB,OAAOL,EAAyBM,UAAYH,CAChD,CAuCYI,CAA0CP,GACnCJ,QAAQY,QAAQR,EAAyBE,KAGpDxB,EAAU+B,EAAS9B,EAASK,GACvB0B,MAAKC,IACF,GAAIA,GAAYC,kBAEZ,OADAd,EAAQe,IAAI,CAAEX,GAAIS,EAAWC,kBAAmBN,UAAWF,KAAKC,QACzDM,EAAWC,iBAEfE,IAEVC,OAAM,IACInB,QAAQC,OAAO1B,KAGvBO,EAAAA,CACX"}
@@ -1,2 +1,2 @@
1
- import{httpGet as o}from"./http.js";import{SUPPORTED_LOCALES as r}from"../../language/constants.js";import t from"../Errors/AdyenCheckoutError.js";function n(n,e,s,a={}){if(!r.includes(s)&&Object.keys(a).includes(s))return Promise.resolve({});if(!r.includes(s))throw new t("IMPLEMENTATION_ERROR",`Translations: Locale '${s}' is not supported. You can provide your own locale/translations by configuring the 'translations' property"`);return o({loadingContext:n,errorLevel:"fatal",errorMessage:`Translations: Couldn't fetch translation for the locale "${s}".`,path:`sdk/${e}/translations/${s}.json`})}export{n as default};
1
+ import{httpGet as a}from"./http.js";async function t(t,r,n){try{return await a({loadingContext:t,errorLevel:"fatal",errorMessage:`Translations: Failed to fetch translations for locale "${n}"`,path:`sdk/${r}/translations/${n}.json`})}catch(o){return await a({loadingContext:t,errorLevel:"fatal",errorMessage:`Translations: Couldn't fetch translation for locale "${n}" nor the fallback translation "en-US"`,path:`sdk/${r}/translations/en-US.json`})}}export{t as default};
2
2
  //# sourceMappingURL=get-translations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-translations.js","sources":["../../../../src/core/Services/get-translations.ts"],"sourcesContent":["import { httpGet, HttpOptions } from './http';\nimport type { CustomTranslations, Translations } from '../../language/types';\nimport { SUPPORTED_LOCALES } from '../../language/constants';\nimport AdyenCheckoutError from '../Errors/AdyenCheckoutError';\n\nexport default function getTranslations(\n cdnTranslationsUrl: string,\n adyenWebVersion: string,\n locale: string,\n customTranslation: CustomTranslations = {}\n): Promise<Translations> {\n const isUsingCustomLocaleNotSupportedByAdyen = !SUPPORTED_LOCALES.includes(locale) && Object.keys(customTranslation).includes(locale);\n\n if (isUsingCustomLocaleNotSupportedByAdyen) {\n return Promise.resolve({});\n }\n\n if (!SUPPORTED_LOCALES.includes(locale)) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n `Translations: Locale '${locale}' is not supported. You can provide your own locale/translations by configuring the 'translations' property\"`\n );\n }\n\n const options: HttpOptions = {\n loadingContext: cdnTranslationsUrl,\n errorLevel: 'fatal',\n errorMessage: `Translations: Couldn't fetch translation for the locale \"${locale}\".`,\n path: `sdk/${adyenWebVersion}/translations/${locale}.json`\n };\n\n return httpGet(options);\n}\n"],"names":["getTranslations","cdnTranslationsUrl","adyenWebVersion","locale","customTranslation","SUPPORTED_LOCALES","includes","Object","keys","Promise","resolve","AdyenCheckoutError","httpGet","loadingContext","errorLevel","errorMessage","path"],"mappings":"mJAKe,SAASA,EACpBC,EACAC,EACAC,EACAC,EAAwC,CAAA,GAIxC,IAFgDC,EAAkBC,SAASH,IAAWI,OAAOC,KAAKJ,GAAmBE,SAASH,GAG1H,OAAOM,QAAQC,QAAQ,CAAA,GAG3B,IAAKL,EAAkBC,SAASH,GAC5B,MAAM,IAAIQ,EACN,uBACA,yBAAyBR,iHAWjC,OAAOS,EAPsB,CACzBC,eAAgBZ,EAChBa,WAAY,QACZC,aAAc,4DAA4DZ,MAC1Ea,KAAM,OAAOd,kBAAgCC,UAIrD"}
1
+ {"version":3,"file":"get-translations.js","sources":["../../../../src/core/Services/get-translations.ts"],"sourcesContent":["import { httpGet } from './http';\nimport type { Translations } from '../../language/types';\n\nexport default async function getTranslations(cdnTranslationsUrl: string, adyenWebVersion: string, locale: string): Promise<Translations> {\n try {\n return await httpGet({\n loadingContext: cdnTranslationsUrl,\n errorLevel: 'fatal',\n errorMessage: `Translations: Failed to fetch translations for locale \"${locale}\"`,\n path: `sdk/${adyenWebVersion}/translations/${locale}.json`\n });\n } catch (error) {\n return await httpGet({\n loadingContext: cdnTranslationsUrl,\n errorLevel: 'fatal',\n errorMessage: `Translations: Couldn't fetch translation for locale \"${locale}\" nor the fallback translation \"en-US\"`,\n path: `sdk/${adyenWebVersion}/translations/en-US.json`\n });\n }\n}\n"],"names":["async","getTranslations","cdnTranslationsUrl","adyenWebVersion","locale","httpGet","loadingContext","errorLevel","errorMessage","path","error"],"mappings":"oCAGeA,eAAeC,EAAgBC,EAA4BC,EAAyBC,GAC/F,IACI,aAAaC,EAAQ,CACjBC,eAAgBJ,EAChBK,WAAY,QACZC,aAAc,0DAA0DJ,KACxEK,KAAM,OAAON,kBAAgCC,UAErD,CAAE,MAAOM,GACL,aAAaL,EAAQ,CACjBC,eAAgBJ,EAChBK,WAAY,QACZC,aAAc,wDAAwDJ,0CACtEK,KAAM,OAAON,6BAErB,CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sources":["../../../../src/core/Services/http.ts"],"sourcesContent":["import { DEFAULT_HTTP_TIMEOUT, FALLBACK_CONTEXT } from '../config';\nimport AdyenCheckoutError from '../Errors/AdyenCheckoutError';\n\nexport interface HttpOptions {\n accept?: string;\n contentType?: string;\n headers?;\n loadingContext?: string;\n method?: string;\n path: string;\n timeout?: number;\n errorLevel?: ErrorLevel;\n errorMessage?: string;\n}\n\ntype ErrorLevel = 'silent' | 'info' | 'warn' | 'error' | 'fatal';\n\ntype AdyenApiErrorResponse = {\n errorCode: string;\n message: string;\n errorType: string;\n status: number;\n};\n\nfunction isAdyenApiErrorResponse(data: any): data is AdyenApiErrorResponse {\n return data && data.errorCode && data.errorType && data.message && data.status;\n}\n\nexport function http<T>(options: HttpOptions, data?: any): Promise<T> {\n const { headers = [], errorLevel = 'warn', loadingContext = FALLBACK_CONTEXT, method = 'GET', path, timeout = DEFAULT_HTTP_TIMEOUT } = options;\n\n const request: RequestInit = {\n method,\n mode: 'cors',\n cache: 'default',\n credentials: 'same-origin',\n headers: {\n Accept: 'application/json, text/plain, */*',\n 'Content-Type': method === 'POST' ? 'application/json' : 'text/plain',\n ...headers\n },\n redirect: 'follow',\n referrerPolicy: 'no-referrer-when-downgrade',\n ...(AbortSignal?.timeout && { signal: AbortSignal?.timeout(timeout) }),\n ...(data && { body: JSON.stringify(data) })\n };\n\n const url = `${loadingContext}${path}`;\n\n return (\n fetch(url, request)\n .then(async response => {\n const data = await response.json();\n\n if (response.ok) {\n return data;\n }\n\n if (isAdyenApiErrorResponse(data)) {\n handleFetchError(data.message, errorLevel, data);\n return;\n }\n\n const errorMessage = options.errorMessage || `Service at ${url} is not available`;\n handleFetchError(errorMessage, errorLevel, data);\n return;\n })\n /**\n * Catch block handles Network error, CORS error, or exception throw by the `handleFetchError`\n * inside the `then` block\n */\n .catch((error: unknown) => {\n /**\n * If error is instance of AdyenCheckoutError, which means that it was already\n * handled by the `handleFetchError` on the `then` block, then we just throw it.\n * There is no need to create it again\n */\n if (error instanceof AdyenCheckoutError) {\n throw error;\n }\n\n const errorMessage = options.errorMessage || `Call to ${url} failed. Error= ${error}`;\n handleFetchError(errorMessage, errorLevel, error);\n })\n );\n}\n\nfunction handleFetchError(message: string, level: ErrorLevel, error: unknown): void {\n switch (level) {\n case 'silent': {\n break;\n }\n case 'info':\n case 'warn':\n case 'error': {\n console[level](message);\n break;\n }\n default:\n throw new AdyenCheckoutError('NETWORK_ERROR', message, { cause: error });\n }\n}\n\nexport function httpGet<T = any>(options: HttpOptions, data?: any): Promise<T> {\n return http<T>({ ...options, method: 'GET' }, data);\n}\n\nexport function httpPost<T = any>(options: HttpOptions, data?: any): Promise<T> {\n return http<T>({ ...options, method: 'POST' }, data);\n}\n"],"names":["http","options","data","headers","errorLevel","loadingContext","FALLBACK_CONTEXT","method","path","timeout","DEFAULT_HTTP_TIMEOUT","request","mode","cache","credentials","Accept","redirect","referrerPolicy","AbortSignal","signal","body","JSON","stringify","url","fetch","then","async","response","json","ok","errorCode","errorType","message","status","isAdyenApiErrorResponse","handleFetchError","errorMessage","catch","error","AdyenCheckoutError","level","console","cause","httpGet","httpPost"],"mappings":"yHA4BO,SAASA,EAAQC,EAAsBC,GAC1C,MAAMC,QAAEA,EAAU,GAAEC,WAAEA,EAAa,OAAMC,eAAEA,EAAiBC,EAAgBC,OAAEA,EAAS,MAAKC,KAAEA,EAAIC,QAAEA,EAAUC,GAAyBT,EAEjIU,EAAuB,CACzBJ,SACAK,KAAM,OACNC,MAAO,UACPC,YAAa,cACbX,QAAS,CACLY,OAAQ,oCACR,eAA2B,SAAXR,EAAoB,mBAAqB,gBACtDJ,GAEPa,SAAU,SACVC,eAAgB,gCACZC,aAAaT,SAAW,CAAEU,OAAQD,aAAaT,QAAQA,OACvDP,GAAQ,CAAEkB,KAAMC,KAAKC,UAAUpB,KAGjCqB,EAAM,GAAGlB,IAAiBG,IAEhC,OACIgB,MAAMD,EAAKZ,GACNc,MAAKC,MAAMC,IACR,MAAMzB,QAAayB,EAASC,OAE5B,GAAID,EAASE,GACT,OAAO3B,EAGX,GAlChB,SAAiCA,GAC7B,OAAOA,GAAQA,EAAK4B,WAAa5B,EAAK6B,WAAa7B,EAAK8B,SAAW9B,EAAK+B,MAC5E,CAgCoBC,CAAwBhC,GAExB,YADAiC,EAAiBjC,EAAK8B,QAAS5B,EAAYF,GAK/CiC,EADqBlC,EAAQmC,cAAgB,cAAcb,qBAC5BnB,EAAYF,EAC3C,IAMHmC,OAAOC,IAMJ,GAAIA,aAAiBC,EACjB,MAAMD,EAIVH,EADqBlC,EAAQmC,cAAgB,WAAWb,oBAAsBe,IAC/ClC,EAAYkC,EAAAA,GAG3D,CAEA,SAASH,EAAiBH,EAAiBQ,EAAmBF,GAC1D,OAAQE,GACJ,IAAK,SACD,MAEJ,IAAK,OACL,IAAK,OACL,IAAK,QACDC,QAAQD,GAAOR,GACf,MAEJ,QACI,MAAM,IAAIO,EAAmB,gBAAiBP,EAAS,CAAEU,MAAOJ,IAE5E,CAEO,SAASK,EAAiB1C,EAAsBC,GACnD,OAAOF,EAAQ,IAAKC,EAASM,OAAQ,OAASL,EAClD,CAEO,SAAS0C,EAAkB3C,EAAsBC,GACpD,OAAOF,EAAQ,IAAKC,EAASM,OAAQ,QAAUL,EACnD"}
1
+ {"version":3,"file":"http.js","sources":["../../../../src/core/Services/http.ts"],"sourcesContent":["import { DEFAULT_HTTP_TIMEOUT, FALLBACK_CONTEXT } from '../config';\nimport AdyenCheckoutError from '../Errors/AdyenCheckoutError';\n\nexport interface HttpOptions {\n accept?: string;\n contentType?: string;\n headers?;\n loadingContext?: string;\n method?: string;\n path: string;\n timeout?: number;\n errorLevel?: ErrorLevel;\n errorMessage?: string;\n}\n\ntype ErrorLevel = 'silent' | 'info' | 'warn' | 'error' | 'fatal';\n\ntype AdyenApiErrorResponse = {\n errorCode: string;\n message: string;\n errorType: string;\n status: number;\n};\n\nfunction isAdyenApiErrorResponse(data: any): data is AdyenApiErrorResponse {\n return data && data.errorCode && data.errorType && data.message && data.status;\n}\n\nexport function http<T>(options: HttpOptions, data?: any): Promise<T> {\n const { headers = [], errorLevel = 'warn', loadingContext = FALLBACK_CONTEXT, method = 'GET', path, timeout = DEFAULT_HTTP_TIMEOUT } = options;\n\n const request: RequestInit = {\n method,\n mode: 'cors',\n cache: 'default',\n credentials: 'same-origin',\n headers: {\n Accept: 'application/json, text/plain, */*',\n 'Content-Type': method === 'POST' ? 'application/json' : 'text/plain',\n ...headers\n },\n redirect: 'follow',\n referrerPolicy: 'no-referrer-when-downgrade',\n ...(AbortSignal?.timeout && { signal: AbortSignal?.timeout(timeout) }),\n ...(data && { body: JSON.stringify(data) })\n };\n\n const url = `${loadingContext}${path}`;\n\n return (\n fetch(url, request)\n .then(async response => {\n const data = await response.json();\n\n if (response.ok) {\n return data;\n }\n\n if (isAdyenApiErrorResponse(data)) {\n handleFetchError(data.message, errorLevel, data);\n return;\n }\n\n const errorMessage = options.errorMessage || `Service at ${url} is not available`;\n handleFetchError(errorMessage, errorLevel, data);\n return;\n })\n /**\n * Catch block handles Network error, CORS error, or exception throw by the `handleFetchError`\n * inside the `then` block\n */\n .catch((error: unknown) => {\n /**\n * If error is instance of AdyenCheckoutError, which means that it was already\n * handled by the `handleFetchError` on the `then` block, then we just throw it.\n * There is no need to create it again\n */\n if (error instanceof AdyenCheckoutError) {\n throw error;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-base-to-string,@typescript-eslint/restrict-template-expressions\n const errorMessage = options.errorMessage || `Call to ${url} failed. Error= ${error}`;\n handleFetchError(errorMessage, errorLevel, error);\n })\n );\n}\n\nfunction handleFetchError(message: string, level: ErrorLevel, error: unknown): void {\n switch (level) {\n case 'silent': {\n break;\n }\n case 'info':\n case 'warn':\n case 'error': {\n console[level](message);\n break;\n }\n default:\n throw new AdyenCheckoutError('NETWORK_ERROR', message, { cause: error });\n }\n}\n\nexport function httpGet<T = any>(options: HttpOptions, data?: any): Promise<T> {\n return http<T>({ ...options, method: 'GET' }, data);\n}\n\nexport function httpPost<T = any>(options: HttpOptions, data?: any): Promise<T> {\n return http<T>({ ...options, method: 'POST' }, data);\n}\n"],"names":["http","options","data","headers","errorLevel","loadingContext","FALLBACK_CONTEXT","method","path","timeout","DEFAULT_HTTP_TIMEOUT","request","mode","cache","credentials","Accept","redirect","referrerPolicy","AbortSignal","signal","body","JSON","stringify","url","fetch","then","async","response","json","ok","errorCode","errorType","message","status","isAdyenApiErrorResponse","handleFetchError","errorMessage","catch","error","AdyenCheckoutError","level","console","cause","httpGet","httpPost"],"mappings":"yHA4BO,SAASA,EAAQC,EAAsBC,GAC1C,MAAMC,QAAEA,EAAU,GAAEC,WAAEA,EAAa,OAAMC,eAAEA,EAAiBC,EAAgBC,OAAEA,EAAS,MAAKC,KAAEA,EAAIC,QAAEA,EAAUC,GAAyBT,EAEjIU,EAAuB,CACzBJ,SACAK,KAAM,OACNC,MAAO,UACPC,YAAa,cACbX,QAAS,CACLY,OAAQ,oCACR,eAA2B,SAAXR,EAAoB,mBAAqB,gBACtDJ,GAEPa,SAAU,SACVC,eAAgB,gCACZC,aAAaT,SAAW,CAAEU,OAAQD,aAAaT,QAAQA,OACvDP,GAAQ,CAAEkB,KAAMC,KAAKC,UAAUpB,KAGjCqB,EAAM,GAAGlB,IAAiBG,IAEhC,OACIgB,MAAMD,EAAKZ,GACNc,MAAKC,MAAMC,IACR,MAAMzB,QAAayB,EAASC,OAE5B,GAAID,EAASE,GACT,OAAO3B,EAGX,GAlChB,SAAiCA,GAC7B,OAAOA,GAAQA,EAAK4B,WAAa5B,EAAK6B,WAAa7B,EAAK8B,SAAW9B,EAAK+B,MAC5E,CAgCoBC,CAAwBhC,GAExB,YADAiC,EAAiBjC,EAAK8B,QAAS5B,EAAYF,GAK/CiC,EADqBlC,EAAQmC,cAAgB,cAAcb,qBAC5BnB,EAAYF,EAC3C,IAMHmC,OAAOC,IAMJ,GAAIA,aAAiBC,EACjB,MAAMD,EAKVH,EADqBlC,EAAQmC,cAAgB,WAAWb,oBAAsBe,IAC/ClC,EAAYkC,EAAAA,GAG3D,CAEA,SAASH,EAAiBH,EAAiBQ,EAAmBF,GAC1D,OAAQE,GACJ,IAAK,SACD,MAEJ,IAAK,OACL,IAAK,OACL,IAAK,QACDC,QAAQD,GAAOR,GACf,MAEJ,QACI,MAAM,IAAIO,EAAmB,gBAAiBP,EAAS,CAAEU,MAAOJ,IAE5E,CAEO,SAASK,EAAiB1C,EAAsBC,GACnD,OAAOF,EAAQ,IAAKC,EAASM,OAAQ,OAASL,EAClD,CAEO,SAAS0C,EAAkB3C,EAAsBC,GACpD,OAAOF,EAAQ,IAAKC,EAASM,OAAQ,QAAUL,EACnD"}
@@ -1,2 +1,2 @@
1
- const e="https://checkoutshopper-live.adyen.com/checkoutshopper/",o=["amount","secondaryAmount","countryCode","environment","_environmentUrls","loadingContext","i18n","modules","order","session","clientKey","showPayButton","redirectFromTopWhenInIframe","onPaymentCompleted","onPaymentFailed","beforeRedirect","beforeSubmit","onSubmit","onActionHandled","onAdditionalDetails","onChange","onError","onBalanceCheck","onOrderRequest","onOrderUpdated","onPaymentMethodsRequest"],n=6e4;export{n as DEFAULT_HTTP_TIMEOUT,e as FALLBACK_CONTEXT,o as GENERIC_OPTIONS};
1
+ const e="https://checkoutshopper-live.adyen.com/checkoutshopper/",n=["amount","secondaryAmount","countryCode","environment","_environmentUrls","loadingContext","i18n","modules","order","session","clientKey","showPayButton","redirectFromTopWhenInIframe","onPaymentCompleted","onPaymentFailed","beforeRedirect","beforeSubmit","onSubmit","onActionHandled","onAdditionalDetails","onChange","onEnterKeyPressed","onError","onBalanceCheck","onOrderCancel","onOrderRequest","onOrderUpdated","onPaymentMethodsRequest"],o=6e4;export{o as DEFAULT_HTTP_TIMEOUT,e as FALLBACK_CONTEXT,n as GENERIC_OPTIONS};
2
2
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sources":["../../../src/core/config.ts"],"sourcesContent":["/**\n * FALLBACK_CONTEXT\n */\nexport const FALLBACK_CONTEXT = 'https://checkoutshopper-live.adyen.com/checkoutshopper/';\n\nexport const GENERIC_OPTIONS = [\n 'amount',\n 'secondaryAmount',\n 'countryCode',\n 'environment',\n '_environmentUrls',\n 'loadingContext',\n 'i18n',\n 'modules',\n 'order',\n 'session',\n 'clientKey',\n 'showPayButton',\n 'redirectFromTopWhenInIframe',\n\n // Events\n 'onPaymentCompleted',\n 'onPaymentFailed',\n 'beforeRedirect',\n 'beforeSubmit',\n 'onSubmit',\n 'onActionHandled',\n 'onAdditionalDetails',\n 'onChange',\n 'onError',\n 'onBalanceCheck',\n 'onOrderRequest',\n 'onOrderUpdated',\n 'onPaymentMethodsRequest'\n];\n\nexport const DEFAULT_HTTP_TIMEOUT = 60000;\n\nexport default {\n FALLBACK_CONTEXT,\n GENERIC_OPTIONS,\n DEFAULT_HTTP_TIMEOUT\n};\n"],"names":["FALLBACK_CONTEXT","GENERIC_OPTIONS","DEFAULT_HTTP_TIMEOUT"],"mappings":"AAGaA,MAAAA,EAAmB,0DAEnBC,EAAkB,CAC3B,SACA,kBACA,cACA,cACA,mBACA,iBACA,OACA,UACA,QACA,UACA,YACA,gBACA,8BAGA,qBACA,kBACA,iBACA,eACA,WACA,kBACA,sBACA,WACA,UACA,iBACA,iBACA,iBACA,2BAGSC,EAAuB"}
1
+ {"version":3,"file":"config.js","sources":["../../../src/core/config.ts"],"sourcesContent":["/**\n * FALLBACK_CONTEXT\n */\nexport const FALLBACK_CONTEXT = 'https://checkoutshopper-live.adyen.com/checkoutshopper/';\n\nexport const GENERIC_OPTIONS = [\n 'amount',\n 'secondaryAmount',\n 'countryCode',\n 'environment',\n '_environmentUrls',\n 'loadingContext',\n 'i18n',\n 'modules',\n 'order',\n 'session',\n 'clientKey',\n 'showPayButton',\n 'redirectFromTopWhenInIframe',\n\n // Events\n 'onPaymentCompleted',\n 'onPaymentFailed',\n 'beforeRedirect',\n 'beforeSubmit',\n 'onSubmit',\n 'onActionHandled',\n 'onAdditionalDetails',\n 'onChange',\n 'onEnterKeyPressed',\n 'onError',\n 'onBalanceCheck',\n 'onOrderCancel',\n 'onOrderRequest',\n 'onOrderUpdated',\n 'onPaymentMethodsRequest'\n];\n\nexport const DEFAULT_HTTP_TIMEOUT = 60000;\n\nexport default {\n FALLBACK_CONTEXT,\n GENERIC_OPTIONS,\n DEFAULT_HTTP_TIMEOUT\n};\n"],"names":["FALLBACK_CONTEXT","GENERIC_OPTIONS","DEFAULT_HTTP_TIMEOUT"],"mappings":"AAGaA,MAAAA,EAAmB,0DAEnBC,EAAkB,CAC3B,SACA,kBACA,cACA,cACA,mBACA,iBACA,OACA,UACA,QACA,UACA,YACA,gBACA,8BAGA,qBACA,kBACA,iBACA,eACA,WACA,kBACA,sBACA,WACA,oBACA,UACA,iBACA,gBACA,iBACA,iBACA,2BAGSC,EAAuB"}
@@ -1,2 +1,2 @@
1
- import{Language as t}from"../language/Language.js";import o from"./RiskModule/RiskModule.js";import s from"./ProcessResponse/PaymentMethods/PaymentMethods.js";import{getComponentForAction as e}from"./ProcessResponse/PaymentAction/PaymentAction.js";import n from"./Analytics/Analytics.js";import{assertConfigurationPropertiesAreValid as i,processGlobalOptions as a}from"./utils.js";import r from"./CheckoutSession/CheckoutSession.js";import{hasOwnProperty as h}from"../utils/hasOwnProperty.js";import{Resources as l}from"./Context/Resources.js";import{SRPanel as c}from"./Errors/SRPanel.js";import p from"./core.registry.js";import{sanitizeResponse as m,verifyPaymentDidNotFail as d,cleanupFinalResult as u}from"../components/internal/UIElement/utils.js";import y,{IMPLEMENTATION_ERROR as f}from"./Errors/AdyenCheckoutError.js";import{ANALYTICS_ACTION_STR as C}from"./Analytics/constants.js";import{THREEDS2_FULL as g}from"../components/ThreeDS2/constants.js";import{DEFAULT_LOCALE as w}from"../language/constants.js";import j from"./Services/get-translations.js";import{defaultProps as E}from"./core.defaultProps.js";import{formatLocale as A,formatCustomTranslations as P}from"../language/utils.js";import{resolveEnvironments as v}from"./Environment/Environment.js";class M{session;paymentMethodsResponse;modules;options;analyticsContext;loadingContext;cdnImagesUrl;cdnTranslationsUrl;components=[];static metadata={version:"6.0.0-beta.0",bundleType:"esm"};static registry=p;static setBundleType(t){M.metadata.bundleType=t}static register(...t){p.add(...t)}register(...t){p.add(...t)}getComponent(t){return p.getComponent(t)}constructor(t){i(t),this.createFromAction=this.createFromAction.bind(this),this.setOptions({...E,...t});const{apiUrl:o,analyticsUrl:s,cdnImagesUrl:e,cdnTranslationsUrl:n}=v(this.options.environment,this.options._environmentUrls);this.loadingContext=o,this.analyticsContext=s,this.cdnImagesUrl=e,this.cdnTranslationsUrl=n,this.session=this.options.session&&new r(this.options.session,this.options.clientKey,this.loadingContext);const a=this.options.clientKey?.substr(0,4);if(("test"===a||"live"===a)&&!this.loadingContext.includes(a))throw new y("IMPLEMENTATION_ERROR",`Error: you are using a ${a} clientKey against the ${this.options._environmentUrls?.api||this.options.environment} environment`);this.options.exposeLibraryMetadata&&(window.AdyenWebMetadata=M.metadata)}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:s,countryCode:e,paymentMethods:n,...i}=t;return this.setOptions({...i,amount:this.options.order?this.options.order.remainingAmount:o,locale:this.options.locale||s,countryCode:this.options.countryCode||e}),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 j(this.cdnTranslationsUrl,M.metadata.version,this.options.locale,this.options.translations)}catch(t){t instanceof y?this.options.onError?.(t):this.options.onError?.(new y("ERROR","Failed to fetch translation",{cause:t}))}}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:w}),this.options.locale=A(this.options.locale),this.options.translations=P(this.options.translations)}submitDetails(t){let o=null;this.options.onAdditionalDetails&&(o=new Promise(((o,s)=>{this.options.onAdditionalDetails({data:t},void 0,{resolve:o,reject:s})}))),this.session&&(o=this.session.submitDetails(t).catch((t=>(this.options.onError?.(t),Promise.reject(t))))),o?o.then(m).then(d).then((t=>{u(t),this.options.onPaymentCompleted?.(t)})).catch((t=>{u(t),this.options.onPaymentFailed?.(t)})):this.options.onError?.(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(h(t,"action")&&h(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 s=t.type===g?`${t.type}${t.subtype}`:t.paymentMethodType;this.modules.analytics.sendAnalytics(s,{type:C,subtype:t.type,message:`${s} action was handled by the SDK`});const n={...this.getCorePropsForComponent(),...o};return e(this,p,t,n)}return this.handleCreateError()}update=(t={})=>(this.setOptions(t),this.initialize().then((()=>(this.components.forEach((o=>{const s={...t,...this.session&&{session:this.session}};o.update(s)})),this))));remove=t=>(this.components=this.components.filter((o=>o._id!==t._id)),t.unmount(),this);setOptions=t=>{this.options={...this.options,...t,locale:t?.locale||this.options?.locale}};getCorePropsForComponent(){return{...a(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){const o=t?`${t?.name??"The passed payment method"} 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(o)}createPaymentMethodsList(t){this.paymentMethodsResponse=new s(this.options.paymentMethodsResponse||t,this.options)}async createCoreModules(){if(this.modules)return;const s=await this.fetchLocaleTranslations();this.modules=Object.freeze({risk:new o(this,{...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:M.metadata.bundleType}),resources:new l(this.cdnImagesUrl),i18n:new t({locale:this.options.locale,translations:s,customTranslations:this.options.translations}),srPanel:new c(this,{...this.options.srConfig})})}}export{M as default};
1
+ import{Language as t}from"../language/Language.js";import o from"./RiskModule/RiskModule.js";import s from"./ProcessResponse/PaymentMethods/PaymentMethods.js";import{getComponentForAction as e}from"./ProcessResponse/PaymentAction/PaymentAction.js";import i from"./Analytics/Analytics.js";import{assertConfigurationPropertiesAreValid as n,processGlobalOptions as a}from"./utils.js";import r from"./CheckoutSession/CheckoutSession.js";import{hasOwnProperty as h}from"../utils/hasOwnProperty.js";import{Resources as l}from"./Context/Resources.js";import{SRPanel as c}from"./Errors/SRPanel.js";import p from"./core.registry.js";import{sanitizeResponse as m,verifyPaymentDidNotFail as d,cleanupFinalResult as u}from"../components/internal/UIElement/utils.js";import y,{IMPLEMENTATION_ERROR as g}from"./Errors/AdyenCheckoutError.js";import{ANALYTICS_ACTION_STR as f}from"./Analytics/constants.js";import{THREEDS2_FULL as C}from"../components/ThreeDS2/constants.js";import{DEFAULT_LOCALE as w}from"../language/constants.js";import j from"./Services/get-translations.js";import{defaultProps as E}from"./core.defaultProps.js";import{formatLocale as v,formatCustomTranslations as A}from"../language/utils.js";import{resolveEnvironments as b}from"./Environment/Environment.js";class P{session;paymentMethodsResponse;modules;options;analyticsContext;loadingContext;cdnImagesUrl;cdnTranslationsUrl;components=[];static metadata={version:"6.0.0",bundleType:"esm"};static registry=p;static setBundleType(t){P.metadata.bundleType=t}static register(...t){p.add(...t)}register(...t){p.add(...t)}getComponent(t){return p.getComponent(t)}constructor(t){n(t),this.createFromAction=this.createFromAction.bind(this),this.setOptions({...E,...t});const{apiUrl:o,analyticsUrl:s,cdnImagesUrl:e,cdnTranslationsUrl:i}=b(this.options.environment,this.options._environmentUrls);this.loadingContext=o,this.analyticsContext=s,this.cdnImagesUrl=e,this.cdnTranslationsUrl=i,this.session=this.options.session&&new r(this.options.session,this.options.clientKey,this.loadingContext);const a=this.options.clientKey?.substring(0,4);if(("test"===a||"live"===a)&&!this.loadingContext.includes(a))throw new y("IMPLEMENTATION_ERROR",`Error: you are using a ${a} clientKey against the ${this.options._environmentUrls?.api||this.options.environment} environment`);"pub."===a&&console.debug(`The value you are passing as your "clientKey" looks like an originKey (${this.options.clientKey?.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=P.metadata)}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:s,countryCode:e,paymentMethods:i,...n}=t;return this.setOptions({...n,amount:this.options.order?this.options.order.remainingAmount:o,locale:this.options.locale||s,countryCode:this.options.countryCode||e}),this.createPaymentMethodsList(i),this})).catch((t=>(this.options.onError&&this.options.onError(t),Promise.reject(t)))):(this.createPaymentMethodsList(),Promise.resolve(this))}async fetchLocaleTranslations(){try{return await j(this.cdnTranslationsUrl,P.metadata.version,this.options.locale)}catch(t){t instanceof y?this.options.onError?.(t):this.options.onError?.(new y("ERROR","Failed to fetch translation",{cause:t}))}}validateCoreConfiguration(){if(this.options.paymentMethodsConfiguration&&console.warn('WARNING: "paymentMethodsConfiguration" is supported only by Drop-in.'),!this.options.countryCode)throw new y(g,"You must specify a countryCode when initializing checkout.");this.options.locale||this.setOptions({locale:w}),this.options.locale=v(this.options.locale),this.options.translations=A(this.options.translations)}submitDetails(t){let o=null;this.options.onAdditionalDetails&&(o=new Promise(((o,s)=>{this.options.onAdditionalDetails({data:t},void 0,{resolve:o,reject:s})}))),this.session&&(o=this.session.submitDetails(t).catch((t=>(this.options.onError?.(t),Promise.reject(t))))),o?o.then(m).then(d).then((t=>{u(t),this.options.onPaymentCompleted?.(t)})).catch((t=>{u(t),this.options.onPaymentFailed?.(t)})):this.options.onError?.(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(h(t,"action")&&h(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 s=t.type===C?`${t.type}${t.subtype}`:t.paymentMethodType;this.modules.analytics.sendAnalytics(s,{type:f,subtype:t.type,message:`${s} action was handled by the SDK`});const i={...this.getCorePropsForComponent(),...o};return e(this,p,t,i)}return this.handleCreateError()}update=(t={})=>(this.setOptions(t),this.initialize().then((()=>(this.components.forEach((o=>{const s={...t,...this.session&&{session:this.session}};o.update(s)})),this))));remove=t=>(this.components=this.components.filter((o=>o._id!==t._id)),t.unmount(),this);setOptions=t=>{this.options={...this.options,...t,locale:t?.locale||this.options?.locale}};getCorePropsForComponent(){return{...a(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){const o=t?`${t?.name??"The passed payment method"} 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(o)}createPaymentMethodsList(t){this.paymentMethodsResponse=new s(this.options.paymentMethodsResponse||t,this.options)}async createCoreModules(){if(this.modules)return;const s=await this.fetchLocaleTranslations();this.modules=Object.freeze({risk:new o(this,{...this.options,loadingContext:this.loadingContext}),analytics:i({loadingContext:this.loadingContext,analyticsContext:this.analyticsContext,clientKey:this.options.clientKey,locale:this.options.locale,analytics:this.options.analytics,amount:this.options.amount,bundleType:P.metadata.bundleType}),resources:new l(this.cdnImagesUrl),i18n:new t({locale:this.options.locale,translations:s,customTranslations:this.options.translations}),srPanel:new c(this,{...this.options.srConfig})})}}export{P as default};
2
2
  //# sourceMappingURL=core.js.map