@adyen/adyen-web 6.22.0 → 6.23.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 (329) hide show
  1. package/README.md +8 -7
  2. package/dist/cjs/adyen.css +5 -4
  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 +292 -117
  7. package/dist/es/adyen.css +5 -4
  8. package/dist/es/adyen.css.map +1 -1
  9. package/dist/es/components/AmazonPay/AmazonPay.js +1 -1
  10. package/dist/es/components/AmazonPay/AmazonPay.js.map +1 -1
  11. package/dist/es/components/AmazonPay/components/AmazonPayComponent.js +1 -1
  12. package/dist/es/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
  13. package/dist/es/components/ApplePay/ApplePay.js +1 -1
  14. package/dist/es/components/ApplePay/ApplePay.js.map +1 -1
  15. package/dist/es/components/ApplePay/services/ApplePaySdkLoader.js +1 -1
  16. package/dist/es/components/ApplePay/services/ApplePaySdkLoader.js.map +1 -1
  17. package/dist/es/components/BankTransfer/BankTransfer.js +1 -1
  18. package/dist/es/components/BankTransfer/BankTransfer.js.map +1 -1
  19. package/dist/es/components/BankTransfer/components/BankTransferResult/BankTransferResult.js +1 -1
  20. package/dist/es/components/BankTransfer/components/BankTransferResult/BankTransferResult.js.map +1 -1
  21. package/dist/es/components/Card/Card.js +1 -1
  22. package/dist/es/components/Card/Card.js.map +1 -1
  23. package/dist/es/components/Card/components/CardInput/components/CardFieldsWrapper.js +1 -1
  24. package/dist/es/components/Card/components/CardInput/components/CardFieldsWrapper.js.map +1 -1
  25. package/dist/es/components/Card/components/CardInput/defaultProps.js +1 -1
  26. package/dist/es/components/Card/components/CardInput/defaultProps.js.map +1 -1
  27. package/dist/es/components/Card/components/CardInput/utils.js +1 -1
  28. package/dist/es/components/Card/components/CardInput/utils.js.map +1 -1
  29. package/dist/es/components/Card/components/Fastlane/FastlaneSignup.js +1 -1
  30. package/dist/es/components/Card/components/Fastlane/FastlaneSignup.js.map +1 -1
  31. package/dist/es/components/Card/constants.js +2 -0
  32. package/dist/es/components/Card/constants.js.map +1 -0
  33. package/dist/es/components/CashAppPay/CashAppPay.js +1 -1
  34. package/dist/es/components/CashAppPay/CashAppPay.js.map +1 -1
  35. package/dist/es/components/CashAppPay/services/CashAppSdkLoader.js +1 -1
  36. package/dist/es/components/CashAppPay/services/CashAppSdkLoader.js.map +1 -1
  37. package/dist/es/components/ClickToPay/ClickToPay.js +1 -1
  38. package/dist/es/components/ClickToPay/ClickToPay.js.map +1 -1
  39. package/dist/es/components/Donation/components/FixedAmounts.js.map +1 -1
  40. package/dist/es/components/Dropin/components/DropinComponent.js +1 -1
  41. package/dist/es/components/Dropin/components/DropinComponent.js.map +1 -1
  42. package/dist/es/components/GooglePay/GooglePay.js +1 -1
  43. package/dist/es/components/GooglePay/GooglePay.js.map +1 -1
  44. package/dist/es/components/GooglePay/GooglePayService.js +1 -1
  45. package/dist/es/components/GooglePay/GooglePayService.js.map +1 -1
  46. package/dist/es/components/GooglePay/defaultProps.js +1 -1
  47. package/dist/es/components/GooglePay/defaultProps.js.map +1 -1
  48. package/dist/es/components/GooglePay/utils/map-adyen-brands-to-googlepay-brands.js +2 -0
  49. package/dist/es/components/GooglePay/utils/map-adyen-brands-to-googlepay-brands.js.map +1 -0
  50. package/dist/es/components/Klarna/KlarnaPayments.js +1 -1
  51. package/dist/es/components/Klarna/KlarnaPayments.js.map +1 -1
  52. package/dist/es/components/Klarna/components/KlarnaWidget/KlarnaWidget.js +1 -1
  53. package/dist/es/components/Klarna/components/KlarnaWidget/KlarnaWidget.js.map +1 -1
  54. package/dist/es/components/MBWay/components/MBWayInput/MBWayInput.js +1 -1
  55. package/dist/es/components/MBWay/components/MBWayInput/MBWayInput.js.map +1 -1
  56. package/dist/es/components/PayByBankPix/PayByBankPix.js +1 -1
  57. package/dist/es/components/PayByBankPix/PayByBankPix.js.map +1 -1
  58. package/dist/es/components/PayByBankPix/services/PasskeySdkLoader.js +1 -1
  59. package/dist/es/components/PayByBankPix/services/PasskeySdkLoader.js.map +1 -1
  60. package/dist/es/components/PayByBankPix/services/PasskeyService.js +1 -1
  61. package/dist/es/components/PayByBankPix/services/PasskeyService.js.map +1 -1
  62. package/dist/es/components/PayPal/Paypal.js +1 -1
  63. package/dist/es/components/PayPal/Paypal.js.map +1 -1
  64. package/dist/es/components/PayPal/components/PaypalButtons.js.map +1 -1
  65. package/dist/es/components/PayPal/components/PaypalComponent.js +1 -1
  66. package/dist/es/components/PayPal/components/PaypalComponent.js.map +1 -1
  67. package/dist/es/components/PayPalFastlane/FastlaneSDK.js +1 -1
  68. package/dist/es/components/PayPalFastlane/FastlaneSDK.js.map +1 -1
  69. package/dist/es/components/PayTo/PayTo.js.map +1 -1
  70. package/dist/es/components/PayTo/components/PayIDInput.js +1 -1
  71. package/dist/es/components/PayTo/components/PayIDInput.js.map +1 -1
  72. package/dist/es/components/PayTo/components/PayToPhone.js +1 -1
  73. package/dist/es/components/PayTo/components/PayToPhone.js.map +1 -1
  74. package/dist/es/components/PayTo/components/validate.js +1 -1
  75. package/dist/es/components/PayTo/components/validate.js.map +1 -1
  76. package/dist/es/components/Pix/Pix.js +1 -1
  77. package/dist/es/components/Pix/Pix.js.map +1 -1
  78. package/dist/es/components/Pix/components/PixInput/PixInput.js +2 -0
  79. package/dist/es/components/Pix/components/PixInput/PixInput.js.map +1 -0
  80. package/dist/es/components/Pix/components/PixInput/utils.js +2 -0
  81. package/dist/es/components/Pix/components/PixInput/utils.js.map +1 -0
  82. package/dist/es/components/Pix/components/PixInput/validate.js +2 -0
  83. package/dist/es/components/Pix/components/PixInput/validate.js.map +1 -0
  84. package/dist/es/components/Pix/components/PixQRDetails.js +2 -0
  85. package/dist/es/components/Pix/components/PixQRDetails.js.map +1 -0
  86. package/dist/es/components/UPI/UPI.js +1 -1
  87. package/dist/es/components/UPI/UPI.js.map +1 -1
  88. package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js +1 -1
  89. package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js.map +1 -1
  90. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  91. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  92. package/dist/es/components/internal/Button/Button.js +1 -1
  93. package/dist/es/components/internal/Button/Button.js.map +1 -1
  94. package/dist/es/components/internal/ClickToPay/services/ClickToPayService.js +1 -1
  95. package/dist/es/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
  96. package/dist/es/components/internal/ClickToPay/services/create-clicktopay-service.js +1 -1
  97. package/dist/es/components/internal/ClickToPay/services/create-clicktopay-service.js.map +1 -1
  98. package/dist/es/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js +1 -1
  99. package/dist/es/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js.map +1 -1
  100. package/dist/es/components/internal/ClickToPay/services/sdks/MastercardSdk.js +1 -1
  101. package/dist/es/components/internal/ClickToPay/services/sdks/MastercardSdk.js.map +1 -1
  102. package/dist/es/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js +1 -1
  103. package/dist/es/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js.map +1 -1
  104. package/dist/es/components/internal/ClickToPay/services/sdks/VisaSdk.js +1 -1
  105. package/dist/es/components/internal/ClickToPay/services/sdks/VisaSdk.js.map +1 -1
  106. package/dist/es/components/internal/Countdown/CountdownA11yReporter.js +1 -1
  107. package/dist/es/components/internal/Countdown/CountdownA11yReporter.js.map +1 -1
  108. package/dist/es/components/internal/Countdown/index.js +1 -1
  109. package/dist/es/components/internal/Countdown/index.js.map +1 -1
  110. package/dist/es/components/internal/PayButton/PayButton.js.map +1 -1
  111. package/dist/es/components/internal/PhoneInput/PhoneInputFields.js.map +1 -1
  112. package/dist/es/components/internal/QRLoader/QRLoader.js +1 -1
  113. package/dist/es/components/internal/QRLoader/QRLoader.js.map +1 -1
  114. package/dist/es/components/internal/QRLoader/QRLoaderDetailsProvider.js +2 -0
  115. package/dist/es/components/internal/QRLoader/QRLoaderDetailsProvider.js.map +1 -0
  116. package/dist/es/components/internal/QRLoader/components/QRCodeCopyButton.js +2 -0
  117. package/dist/es/components/internal/QRLoader/components/QRCodeCopyButton.js.map +1 -0
  118. package/dist/es/components/internal/QRLoader/components/QRCountdown.js +2 -0
  119. package/dist/es/components/internal/QRLoader/components/QRCountdown.js.map +1 -0
  120. package/dist/es/components/internal/QRLoader/components/QRDetails.js +2 -0
  121. package/dist/es/components/internal/QRLoader/components/QRDetails.js.map +1 -0
  122. package/dist/es/components/internal/QRLoader/components/QRImage.js +2 -0
  123. package/dist/es/components/internal/QRLoader/components/QRImage.js.map +1 -0
  124. package/dist/es/components/internal/QRLoader/components/QRIntructions.js +2 -0
  125. package/dist/es/components/internal/QRLoader/components/QRIntructions.js.map +1 -0
  126. package/dist/es/components/internal/QRLoader/components/QRProgressbar.js +2 -0
  127. package/dist/es/components/internal/QRLoader/components/QRProgressbar.js.map +1 -0
  128. package/dist/es/components/internal/SecuredFields/binLookup/extensions.js +1 -1
  129. package/dist/es/components/internal/SecuredFields/binLookup/extensions.js.map +1 -1
  130. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleConfig.js +1 -1
  131. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleConfig.js.map +1 -1
  132. package/dist/es/components/internal/SecuredFields/lib/constants.js +1 -1
  133. package/dist/es/components/internal/SecuredFields/lib/constants.js.map +1 -1
  134. package/dist/es/components/internal/SegmentedControl/SegmentedControl.js +1 -1
  135. package/dist/es/components/internal/SegmentedControl/SegmentedControl.js.map +1 -1
  136. package/dist/es/components/internal/SocialSecurityNumberBrazil/BrazilPersonalDetail.js +1 -1
  137. package/dist/es/components/internal/SocialSecurityNumberBrazil/BrazilPersonalDetail.js.map +1 -1
  138. package/dist/es/components/internal/UIElement/UIElement.js +1 -1
  139. package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
  140. package/dist/es/components/tx-variants.js +1 -1
  141. package/dist/es/components/tx-variants.js.map +1 -1
  142. package/dist/es/core/Analytics/Analytics.js +1 -1
  143. package/dist/es/core/Analytics/Analytics.js.map +1 -1
  144. package/dist/es/core/Analytics/AnalyticsInfoEvent.js +1 -1
  145. package/dist/es/core/Analytics/AnalyticsInfoEvent.js.map +1 -1
  146. package/dist/es/core/Analytics/constants.js +1 -1
  147. package/dist/es/core/Analytics/constants.js.map +1 -1
  148. package/dist/es/core/Analytics/useAnalytics.js +2 -0
  149. package/dist/es/core/Analytics/useAnalytics.js.map +1 -0
  150. package/dist/es/core/Context/CoreProvider.js +1 -1
  151. package/dist/es/core/Context/CoreProvider.js.map +1 -1
  152. package/dist/es/core/Environment/Environment.js.map +1 -1
  153. package/dist/es/core/Services/analytics/collect-id.js +1 -1
  154. package/dist/es/core/Services/analytics/collect-id.js.map +1 -1
  155. package/dist/es/core/config.js +1 -1
  156. package/dist/es/core/config.js.map +1 -1
  157. package/dist/es/core/core.js +1 -1
  158. package/dist/es/core/core.js.map +1 -1
  159. package/dist/es/index.d.ts +292 -117
  160. package/dist/es/utils/Script.js +1 -1
  161. package/dist/es/utils/Script.js.map +1 -1
  162. package/dist/es-legacy/adyen.css +5 -4
  163. package/dist/es-legacy/adyen.css.map +1 -1
  164. package/dist/es-legacy/components/AmazonPay/AmazonPay.js +1 -1
  165. package/dist/es-legacy/components/AmazonPay/AmazonPay.js.map +1 -1
  166. package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js +1 -1
  167. package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
  168. package/dist/es-legacy/components/ApplePay/ApplePay.js +1 -1
  169. package/dist/es-legacy/components/ApplePay/ApplePay.js.map +1 -1
  170. package/dist/es-legacy/components/ApplePay/services/ApplePaySdkLoader.js +1 -1
  171. package/dist/es-legacy/components/ApplePay/services/ApplePaySdkLoader.js.map +1 -1
  172. package/dist/es-legacy/components/BankTransfer/BankTransfer.js +1 -1
  173. package/dist/es-legacy/components/BankTransfer/BankTransfer.js.map +1 -1
  174. package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferResult.js +1 -1
  175. package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferResult.js.map +1 -1
  176. package/dist/es-legacy/components/Card/Card.js +1 -1
  177. package/dist/es-legacy/components/Card/Card.js.map +1 -1
  178. package/dist/es-legacy/components/Card/components/CardInput/components/CardFieldsWrapper.js +1 -1
  179. package/dist/es-legacy/components/Card/components/CardInput/components/CardFieldsWrapper.js.map +1 -1
  180. package/dist/es-legacy/components/Card/components/CardInput/defaultProps.js +1 -1
  181. package/dist/es-legacy/components/Card/components/CardInput/defaultProps.js.map +1 -1
  182. package/dist/es-legacy/components/Card/components/CardInput/utils.js +1 -1
  183. package/dist/es-legacy/components/Card/components/CardInput/utils.js.map +1 -1
  184. package/dist/es-legacy/components/Card/components/Fastlane/FastlaneSignup.js +1 -1
  185. package/dist/es-legacy/components/Card/components/Fastlane/FastlaneSignup.js.map +1 -1
  186. package/dist/es-legacy/components/Card/constants.js +2 -0
  187. package/dist/es-legacy/components/Card/constants.js.map +1 -0
  188. package/dist/es-legacy/components/CashAppPay/CashAppPay.js +1 -1
  189. package/dist/es-legacy/components/CashAppPay/CashAppPay.js.map +1 -1
  190. package/dist/es-legacy/components/CashAppPay/services/CashAppSdkLoader.js +1 -1
  191. package/dist/es-legacy/components/CashAppPay/services/CashAppSdkLoader.js.map +1 -1
  192. package/dist/es-legacy/components/ClickToPay/ClickToPay.js +1 -1
  193. package/dist/es-legacy/components/ClickToPay/ClickToPay.js.map +1 -1
  194. package/dist/es-legacy/components/Donation/components/FixedAmounts.js.map +1 -1
  195. package/dist/es-legacy/components/Dropin/components/DropinComponent.js +1 -1
  196. package/dist/es-legacy/components/Dropin/components/DropinComponent.js.map +1 -1
  197. package/dist/es-legacy/components/GooglePay/GooglePay.js +1 -1
  198. package/dist/es-legacy/components/GooglePay/GooglePay.js.map +1 -1
  199. package/dist/es-legacy/components/GooglePay/GooglePayService.js +1 -1
  200. package/dist/es-legacy/components/GooglePay/GooglePayService.js.map +1 -1
  201. package/dist/es-legacy/components/GooglePay/defaultProps.js +1 -1
  202. package/dist/es-legacy/components/GooglePay/defaultProps.js.map +1 -1
  203. package/dist/es-legacy/components/GooglePay/utils/map-adyen-brands-to-googlepay-brands.js +2 -0
  204. package/dist/es-legacy/components/GooglePay/utils/map-adyen-brands-to-googlepay-brands.js.map +1 -0
  205. package/dist/es-legacy/components/Klarna/KlarnaPayments.js +1 -1
  206. package/dist/es-legacy/components/Klarna/KlarnaPayments.js.map +1 -1
  207. package/dist/es-legacy/components/Klarna/components/KlarnaWidget/KlarnaWidget.js +1 -1
  208. package/dist/es-legacy/components/Klarna/components/KlarnaWidget/KlarnaWidget.js.map +1 -1
  209. package/dist/es-legacy/components/MBWay/components/MBWayInput/MBWayInput.js +1 -1
  210. package/dist/es-legacy/components/MBWay/components/MBWayInput/MBWayInput.js.map +1 -1
  211. package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js +1 -1
  212. package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js.map +1 -1
  213. package/dist/es-legacy/components/PayByBankPix/services/PasskeySdkLoader.js +1 -1
  214. package/dist/es-legacy/components/PayByBankPix/services/PasskeySdkLoader.js.map +1 -1
  215. package/dist/es-legacy/components/PayByBankPix/services/PasskeyService.js +1 -1
  216. package/dist/es-legacy/components/PayByBankPix/services/PasskeyService.js.map +1 -1
  217. package/dist/es-legacy/components/PayPal/Paypal.js +1 -1
  218. package/dist/es-legacy/components/PayPal/Paypal.js.map +1 -1
  219. package/dist/es-legacy/components/PayPal/components/PaypalButtons.js.map +1 -1
  220. package/dist/es-legacy/components/PayPal/components/PaypalComponent.js +1 -1
  221. package/dist/es-legacy/components/PayPal/components/PaypalComponent.js.map +1 -1
  222. package/dist/es-legacy/components/PayPalFastlane/FastlaneSDK.js +1 -1
  223. package/dist/es-legacy/components/PayPalFastlane/FastlaneSDK.js.map +1 -1
  224. package/dist/es-legacy/components/PayTo/PayTo.js.map +1 -1
  225. package/dist/es-legacy/components/PayTo/components/PayIDInput.js +1 -1
  226. package/dist/es-legacy/components/PayTo/components/PayIDInput.js.map +1 -1
  227. package/dist/es-legacy/components/PayTo/components/PayToPhone.js +1 -1
  228. package/dist/es-legacy/components/PayTo/components/PayToPhone.js.map +1 -1
  229. package/dist/es-legacy/components/PayTo/components/validate.js +1 -1
  230. package/dist/es-legacy/components/PayTo/components/validate.js.map +1 -1
  231. package/dist/es-legacy/components/Pix/Pix.js +1 -1
  232. package/dist/es-legacy/components/Pix/Pix.js.map +1 -1
  233. package/dist/es-legacy/components/Pix/components/PixInput/PixInput.js +2 -0
  234. package/dist/es-legacy/components/Pix/components/PixInput/PixInput.js.map +1 -0
  235. package/dist/es-legacy/components/Pix/components/PixInput/utils.js +2 -0
  236. package/dist/es-legacy/components/Pix/components/PixInput/utils.js.map +1 -0
  237. package/dist/es-legacy/components/Pix/components/PixInput/validate.js +2 -0
  238. package/dist/es-legacy/components/Pix/components/PixInput/validate.js.map +1 -0
  239. package/dist/es-legacy/components/Pix/components/PixQRDetails.js +2 -0
  240. package/dist/es-legacy/components/Pix/components/PixQRDetails.js.map +1 -0
  241. package/dist/es-legacy/components/UPI/UPI.js +1 -1
  242. package/dist/es-legacy/components/UPI/UPI.js.map +1 -1
  243. package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js +1 -1
  244. package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js.map +1 -1
  245. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  246. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  247. package/dist/es-legacy/components/internal/Button/Button.js +1 -1
  248. package/dist/es-legacy/components/internal/Button/Button.js.map +1 -1
  249. package/dist/es-legacy/components/internal/ClickToPay/services/ClickToPayService.js +1 -1
  250. package/dist/es-legacy/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
  251. package/dist/es-legacy/components/internal/ClickToPay/services/create-clicktopay-service.js +1 -1
  252. package/dist/es-legacy/components/internal/ClickToPay/services/create-clicktopay-service.js.map +1 -1
  253. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js +1 -1
  254. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js.map +1 -1
  255. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/MastercardSdk.js +1 -1
  256. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/MastercardSdk.js.map +1 -1
  257. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js +1 -1
  258. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js.map +1 -1
  259. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/VisaSdk.js +1 -1
  260. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/VisaSdk.js.map +1 -1
  261. package/dist/es-legacy/components/internal/Countdown/CountdownA11yReporter.js +1 -1
  262. package/dist/es-legacy/components/internal/Countdown/CountdownA11yReporter.js.map +1 -1
  263. package/dist/es-legacy/components/internal/Countdown/index.js +1 -1
  264. package/dist/es-legacy/components/internal/Countdown/index.js.map +1 -1
  265. package/dist/es-legacy/components/internal/PayButton/PayButton.js.map +1 -1
  266. package/dist/es-legacy/components/internal/PhoneInput/PhoneInputFields.js.map +1 -1
  267. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js +1 -1
  268. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js.map +1 -1
  269. package/dist/es-legacy/components/internal/QRLoader/QRLoaderDetailsProvider.js +2 -0
  270. package/dist/es-legacy/components/internal/QRLoader/QRLoaderDetailsProvider.js.map +1 -0
  271. package/dist/es-legacy/components/internal/QRLoader/components/QRCodeCopyButton.js +2 -0
  272. package/dist/es-legacy/components/internal/QRLoader/components/QRCodeCopyButton.js.map +1 -0
  273. package/dist/es-legacy/components/internal/QRLoader/components/QRCountdown.js +2 -0
  274. package/dist/es-legacy/components/internal/QRLoader/components/QRCountdown.js.map +1 -0
  275. package/dist/es-legacy/components/internal/QRLoader/components/QRDetails.js +2 -0
  276. package/dist/es-legacy/components/internal/QRLoader/components/QRDetails.js.map +1 -0
  277. package/dist/es-legacy/components/internal/QRLoader/components/QRImage.js +2 -0
  278. package/dist/es-legacy/components/internal/QRLoader/components/QRImage.js.map +1 -0
  279. package/dist/es-legacy/components/internal/QRLoader/components/QRIntructions.js +2 -0
  280. package/dist/es-legacy/components/internal/QRLoader/components/QRIntructions.js.map +1 -0
  281. package/dist/es-legacy/components/internal/QRLoader/components/QRProgressbar.js +2 -0
  282. package/dist/es-legacy/components/internal/QRLoader/components/QRProgressbar.js.map +1 -0
  283. package/dist/es-legacy/components/internal/SecuredFields/binLookup/extensions.js +1 -1
  284. package/dist/es-legacy/components/internal/SecuredFields/binLookup/extensions.js.map +1 -1
  285. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleConfig.js +1 -1
  286. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleConfig.js.map +1 -1
  287. package/dist/es-legacy/components/internal/SecuredFields/lib/constants.js +1 -1
  288. package/dist/es-legacy/components/internal/SecuredFields/lib/constants.js.map +1 -1
  289. package/dist/es-legacy/components/internal/SegmentedControl/SegmentedControl.js +1 -1
  290. package/dist/es-legacy/components/internal/SegmentedControl/SegmentedControl.js.map +1 -1
  291. package/dist/es-legacy/components/internal/SocialSecurityNumberBrazil/BrazilPersonalDetail.js +1 -1
  292. package/dist/es-legacy/components/internal/SocialSecurityNumberBrazil/BrazilPersonalDetail.js.map +1 -1
  293. package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
  294. package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
  295. package/dist/es-legacy/components/tx-variants.js +1 -1
  296. package/dist/es-legacy/components/tx-variants.js.map +1 -1
  297. package/dist/es-legacy/core/Analytics/Analytics.js +1 -1
  298. package/dist/es-legacy/core/Analytics/Analytics.js.map +1 -1
  299. package/dist/es-legacy/core/Analytics/AnalyticsInfoEvent.js +1 -1
  300. package/dist/es-legacy/core/Analytics/AnalyticsInfoEvent.js.map +1 -1
  301. package/dist/es-legacy/core/Analytics/constants.js +1 -1
  302. package/dist/es-legacy/core/Analytics/constants.js.map +1 -1
  303. package/dist/es-legacy/core/Analytics/useAnalytics.js +2 -0
  304. package/dist/es-legacy/core/Analytics/useAnalytics.js.map +1 -0
  305. package/dist/es-legacy/core/Context/CoreProvider.js +1 -1
  306. package/dist/es-legacy/core/Context/CoreProvider.js.map +1 -1
  307. package/dist/es-legacy/core/Environment/Environment.js.map +1 -1
  308. package/dist/es-legacy/core/Services/analytics/collect-id.js +1 -1
  309. package/dist/es-legacy/core/Services/analytics/collect-id.js.map +1 -1
  310. package/dist/es-legacy/core/config.js +1 -1
  311. package/dist/es-legacy/core/config.js.map +1 -1
  312. package/dist/es-legacy/core/core.js +1 -1
  313. package/dist/es-legacy/core/core.js.map +1 -1
  314. package/dist/es-legacy/utils/Script.js +1 -1
  315. package/dist/es-legacy/utils/Script.js.map +1 -1
  316. package/package.json +13 -13
  317. package/styles/adyen.css +5 -4
  318. package/dist/es/components/Pix/PixInput/PixInput.js +0 -2
  319. package/dist/es/components/Pix/PixInput/PixInput.js.map +0 -1
  320. package/dist/es/components/Pix/PixInput/utils.js +0 -2
  321. package/dist/es/components/Pix/PixInput/utils.js.map +0 -1
  322. package/dist/es/components/Pix/PixInput/validate.js +0 -2
  323. package/dist/es/components/Pix/PixInput/validate.js.map +0 -1
  324. package/dist/es-legacy/components/Pix/PixInput/PixInput.js +0 -2
  325. package/dist/es-legacy/components/Pix/PixInput/PixInput.js.map +0 -1
  326. package/dist/es-legacy/components/Pix/PixInput/utils.js +0 -2
  327. package/dist/es-legacy/components/Pix/PixInput/utils.js.map +0 -1
  328. package/dist/es-legacy/components/Pix/PixInput/validate.js +0 -2
  329. package/dist/es-legacy/components/Pix/PixInput/validate.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CashAppPay.js","sources":["../../../../src/components/CashAppPay/CashAppPay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { CashAppComponent } from './components/CashAppComponent';\nimport CashAppService from './services/CashAppService';\nimport { CashAppSdkLoader } from './services/CashAppSdkLoader';\nimport { CashAppPayElementData, CashAppPayConfiguration, CashAppPayEventData } from './types';\nimport { ICashAppService } from './services/types';\nimport defaultProps from './defaultProps';\nimport RedirectButton from '../internal/RedirectButton';\nimport { payAmountLabel } from '../internal/PayButton';\nimport { TxVariants } from '../tx-variants';\nimport type { ICore } from '../../core/types';\nimport { PREFIX } from '../internal/Icon/constants';\n\nexport class CashAppPay extends UIElement<CashAppPayConfiguration> {\n public static type = TxVariants.cashapp;\n\n private readonly cashAppService: ICashAppService | undefined;\n\n protected static defaultProps = defaultProps;\n\n constructor(checkout: ICore, props?: CashAppPayConfiguration) {\n super(checkout, props);\n\n if (this.props.enableStoreDetails && this.props.storePaymentMethod) {\n console.warn(\n 'CashAppPay: enableStoreDetails AND storePaymentMethod configuration properties should not be used together. That can lead to undesired behavior.'\n );\n }\n\n if (this.props.storedPaymentMethodId) {\n return;\n }\n\n this.cashAppService = new CashAppService(new CashAppSdkLoader(), {\n storePaymentMethod: this.props.storePaymentMethod,\n useCashAppButtonUi: this.props.showPayButton,\n environment: this.props.environment,\n amount: this.props.amount,\n redirectURL: this.props.redirectURL,\n clientId: this.props.configuration?.clientId,\n scopeId: this.props.configuration?.scopeId,\n button: this.props.button,\n referenceId: this.props.referenceId\n });\n }\n\n public formatProps(props: CashAppPayConfiguration) {\n return {\n ...props,\n enableStoreDetails: props.session?.configuration?.enableStoreDetails || props.enableStoreDetails\n };\n }\n\n public formatData(): CashAppPayElementData {\n const { shopperWantsToStore, grantId, onFileGrantId, cashTag, customerId } = this.state.data || {};\n const { storePaymentMethod: storePaymentMethodSetByMerchant, storedPaymentMethodId } = this.props;\n\n /**\n * We include 'storePaymentMethod' flag if we either Display the Checkbox OR if it is non-sessions flow AND the merchant wants to store the payment method\n */\n const includeStorePaymentMethod = this.props.enableStoreDetails || (!this.props.session && storePaymentMethodSetByMerchant);\n\n if (storedPaymentMethodId) {\n return {\n paymentMethod: {\n type: CashAppPay.type,\n storedPaymentMethodId\n }\n };\n }\n\n const shouldAddOnFileProperties = onFileGrantId && cashTag;\n\n return {\n paymentMethod: {\n type: CashAppPay.type,\n ...(grantId && { grantId }),\n ...(customerId && { customerId }),\n ...(shouldAddOnFileProperties && { onFileGrantId, cashtag: cashTag })\n },\n ...(includeStorePaymentMethod && { storePaymentMethod: storePaymentMethodSetByMerchant || shopperWantsToStore })\n };\n }\n\n get displayName() {\n if (this.props.storedPaymentMethodId && this.props.cashtag) {\n return this.props.cashtag;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n return this.props.storedPaymentMethodId ? 'Cash App Pay' : '';\n }\n\n public submit = () => {\n const { onClick, storedPaymentMethodId } = this.props;\n\n if (storedPaymentMethodId) {\n super.submit();\n return;\n }\n\n let onClickPromiseRejected = false;\n\n new Promise<void>((resolve, reject) => onClick({ resolve, reject }))\n .catch(() => {\n onClickPromiseRejected = true;\n throw Error('onClick rejected');\n })\n .then(() => {\n return this.cashAppService.createCustomerRequest();\n })\n .then(() => {\n this.cashAppService.begin();\n })\n .catch(error => {\n if (onClickPromiseRejected) {\n // Swallow exception triggered by onClick reject\n return;\n }\n this.handleError(error);\n });\n };\n\n public get isValid(): boolean {\n return true;\n }\n\n private handleOnChangeStoreDetails = (storePayment: boolean) => {\n const data = { ...this.state.data, shopperWantsToStore: storePayment };\n this.setState({ data });\n };\n\n private handleAuthorize = (cashAppPaymentData: CashAppPayEventData): void => {\n const data = { ...this.state.data, ...cashAppPaymentData };\n this.setState({ data, valid: {}, errors: {}, isValid: true });\n super.submit();\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} resources={this.resources} loadingContext={this.props.loadingContext}>\n {this.props.storedPaymentMethodId ? (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n label={payAmountLabel(this.props.i18n, this.props.amount)}\n icon={this.resources?.getImage({ imageFolder: 'components/' })(`${PREFIX}lock`)}\n name={this.displayName}\n amount={this.props.amount}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n ) : (\n <CashAppComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n enableStoreDetails={this.props.enableStoreDetails}\n cashAppService={this.cashAppService}\n onChangeStoreDetails={this.handleOnChangeStoreDetails}\n onError={this.handleError}\n onClick={this.submit}\n onAuthorize={this.handleAuthorize}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default CashAppPay;\n"],"names":["CashAppPay","UIElement","formatProps","props","_object_spread_props","_object_spread","enableStoreDetails","session","configuration","formatData","shopperWantsToStore","grantId","onFileGrantId","cashTag","customerId","this","state","data","storePaymentMethod","storePaymentMethodSetByMerchant","storedPaymentMethodId","includeStorePaymentMethod","paymentMethod","type","cashtag","displayName","name","additionalInfo","isValid","render","_this_resources","h","CoreProvider","i18n","resources","loadingContext","RedirectButton","showPayButton","label","payAmountLabel","amount","icon","getImage","imageFolder","PREFIX","payButton","onSubmit","submit","ref","componentRef","CashAppComponent","cashAppService","onChangeStoreDetails","handleOnChangeStoreDetails","onError","handleError","onClick","onAuthorize","handleAuthorize","constructor","checkout","_this_props_configuration","_this_props_configuration1","super","_define_property","onClickPromiseRejected","Promise","resolve","reject","catch","Error","then","createCustomerRequest","begin","error","storePayment","setState","cashAppPaymentData","valid","errors","console","warn","CashAppService","CashAppSdkLoader","useCashAppButtonUi","environment","redirectURL","clientId","scopeId","button","referenceId","TxVariants","cashapp","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"CashAppPay.js","sources":["../../../../src/components/CashAppPay/CashAppPay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { CashAppComponent } from './components/CashAppComponent';\nimport CashAppService from './services/CashAppService';\nimport { CashAppSdkLoader } from './services/CashAppSdkLoader';\nimport { CashAppPayElementData, CashAppPayConfiguration, CashAppPayEventData } from './types';\nimport { ICashAppService } from './services/types';\nimport defaultProps from './defaultProps';\nimport RedirectButton from '../internal/RedirectButton';\nimport { payAmountLabel } from '../internal/PayButton';\nimport { TxVariants } from '../tx-variants';\nimport type { ICore } from '../../core/types';\nimport { PREFIX } from '../internal/Icon/constants';\n\nexport class CashAppPay extends UIElement<CashAppPayConfiguration> {\n public static type = TxVariants.cashapp;\n\n private readonly cashAppService: ICashAppService | undefined;\n\n protected static defaultProps = defaultProps;\n\n constructor(checkout: ICore, props?: CashAppPayConfiguration) {\n super(checkout, props);\n\n if (this.props.enableStoreDetails && this.props.storePaymentMethod) {\n console.warn(\n 'CashAppPay: enableStoreDetails AND storePaymentMethod configuration properties should not be used together. That can lead to undesired behavior.'\n );\n }\n\n if (this.props.storedPaymentMethodId) {\n return;\n }\n\n const sdkLoader = new CashAppSdkLoader({\n environment: this.props.environment,\n analytics: this.analytics\n });\n\n this.cashAppService = new CashAppService(sdkLoader, {\n storePaymentMethod: this.props.storePaymentMethod,\n useCashAppButtonUi: this.props.showPayButton,\n environment: this.props.environment,\n amount: this.props.amount,\n redirectURL: this.props.redirectURL,\n clientId: this.props.configuration?.clientId,\n scopeId: this.props.configuration?.scopeId,\n button: this.props.button,\n referenceId: this.props.referenceId\n });\n }\n\n public formatProps(props: CashAppPayConfiguration) {\n return {\n ...props,\n enableStoreDetails: props.session?.configuration?.enableStoreDetails || props.enableStoreDetails\n };\n }\n\n public formatData(): CashAppPayElementData {\n const { shopperWantsToStore, grantId, onFileGrantId, cashTag, customerId } = this.state.data || {};\n const { storePaymentMethod: storePaymentMethodSetByMerchant, storedPaymentMethodId } = this.props;\n\n /**\n * We include 'storePaymentMethod' flag if we either Display the Checkbox OR if it is non-sessions flow AND the merchant wants to store the payment method\n */\n const includeStorePaymentMethod = this.props.enableStoreDetails || (!this.props.session && storePaymentMethodSetByMerchant);\n\n if (storedPaymentMethodId) {\n return {\n paymentMethod: {\n type: CashAppPay.type,\n storedPaymentMethodId\n }\n };\n }\n\n const shouldAddOnFileProperties = onFileGrantId && cashTag;\n\n return {\n paymentMethod: {\n type: CashAppPay.type,\n ...(grantId && { grantId }),\n ...(customerId && { customerId }),\n ...(shouldAddOnFileProperties && { onFileGrantId, cashtag: cashTag })\n },\n ...(includeStorePaymentMethod && { storePaymentMethod: storePaymentMethodSetByMerchant || shopperWantsToStore })\n };\n }\n\n get displayName() {\n if (this.props.storedPaymentMethodId && this.props.cashtag) {\n return this.props.cashtag;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n return this.props.storedPaymentMethodId ? 'Cash App Pay' : '';\n }\n\n public submit = () => {\n const { onClick, storedPaymentMethodId } = this.props;\n\n if (storedPaymentMethodId) {\n super.submit();\n return;\n }\n\n let onClickPromiseRejected = false;\n\n new Promise<void>((resolve, reject) => onClick({ resolve, reject }))\n .catch(() => {\n onClickPromiseRejected = true;\n throw Error('onClick rejected');\n })\n .then(() => {\n return this.cashAppService.createCustomerRequest();\n })\n .then(() => {\n this.cashAppService.begin();\n })\n .catch(error => {\n if (onClickPromiseRejected) {\n // Swallow exception triggered by onClick reject\n return;\n }\n this.handleError(error);\n });\n };\n\n public get isValid(): boolean {\n return true;\n }\n\n private handleOnChangeStoreDetails = (storePayment: boolean) => {\n const data = { ...this.state.data, shopperWantsToStore: storePayment };\n this.setState({ data });\n };\n\n private handleAuthorize = (cashAppPaymentData: CashAppPayEventData): void => {\n const data = { ...this.state.data, ...cashAppPaymentData };\n this.setState({ data, valid: {}, errors: {}, isValid: true });\n super.submit();\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} resources={this.resources} loadingContext={this.props.loadingContext}>\n {this.props.storedPaymentMethodId ? (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n label={payAmountLabel(this.props.i18n, this.props.amount)}\n icon={this.resources?.getImage({ imageFolder: 'components/' })(`${PREFIX}lock`)}\n name={this.displayName}\n amount={this.props.amount}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n ) : (\n <CashAppComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n enableStoreDetails={this.props.enableStoreDetails}\n cashAppService={this.cashAppService}\n onChangeStoreDetails={this.handleOnChangeStoreDetails}\n onError={this.handleError}\n onClick={this.submit}\n onAuthorize={this.handleAuthorize}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default CashAppPay;\n"],"names":["CashAppPay","UIElement","formatProps","props","_object_spread_props","_object_spread","enableStoreDetails","session","configuration","formatData","shopperWantsToStore","grantId","onFileGrantId","cashTag","customerId","this","state","data","storePaymentMethod","storePaymentMethodSetByMerchant","storedPaymentMethodId","includeStorePaymentMethod","paymentMethod","type","cashtag","displayName","name","additionalInfo","isValid","render","_this_resources","h","CoreProvider","i18n","resources","loadingContext","RedirectButton","showPayButton","label","payAmountLabel","amount","icon","getImage","imageFolder","PREFIX","payButton","onSubmit","submit","ref","componentRef","CashAppComponent","cashAppService","onChangeStoreDetails","handleOnChangeStoreDetails","onError","handleError","onClick","onAuthorize","handleAuthorize","constructor","checkout","_this_props_configuration","_this_props_configuration1","super","_define_property","onClickPromiseRejected","Promise","resolve","reject","catch","Error","then","createCustomerRequest","begin","error","storePayment","setState","cashAppPaymentData","valid","errors","console","warn","sdkLoader","CashAppSdkLoader","environment","analytics","CashAppService","useCashAppButtonUi","redirectURL","clientId","scopeId","button","referenceId","TxVariants","cashapp","defaultProps"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{CASHAPPPAY_PROD_SDK as i,CASHAPPPAY_SANDBOX_SDK as s}from"./config.js";import o from"../../../utils/Script.js";class n{isSdkIsAvailableOnWindow(){return!!window.CashApp}async load(n){const a=n.toLowerCase().includes("live")?i:s;if(!this.isSdkIsAvailableOnWindow()){const i=new o(a);await i.load()}return window.CashApp}}export{n as CashAppSdkLoader};
1
+ import{CASHAPPPAY_PROD_SDK as n,CASHAPPPAY_SANDBOX_SDK as i}from"./config.js";import t from"../../../utils/Script.js";function s(n,i,t){return i in n?Object.defineProperty(n,i,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[i]=t,n}class a{isSdkIsAvailableOnWindow(){return!!window.CashApp}async load(){const s=this.environment.toLowerCase().includes("live")?n:i;if(!this.isSdkIsAvailableOnWindow()){const n=new t({src:s,component:"cashapppay",analytics:this.analytics});await n.load()}return window.CashApp}constructor({analytics:n,environment:i}){s(this,"analytics",void 0),s(this,"environment",void 0),this.analytics=n,this.environment=i}}export{a as CashAppSdkLoader};
2
2
  //# sourceMappingURL=CashAppSdkLoader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CashAppSdkLoader.js","sources":["../../../../../src/components/CashAppPay/services/CashAppSdkLoader.ts"],"sourcesContent":["import { CASHAPPPAY_PROD_SDK, CASHAPPPAY_SANDBOX_SDK } from './config';\nimport Script from '../../../utils/Script';\nimport { ICashAppWindowObject } from './types';\n\nexport interface ICashAppSdkLoader {\n load(environment: string): Promise<ICashAppWindowObject>;\n}\n\nclass CashAppSdkLoader implements ICashAppSdkLoader {\n private isSdkIsAvailableOnWindow(): boolean {\n // @ts-ignore CashApp is created by the Cash App SDK\n return !!window.CashApp;\n }\n\n public async load(environment: string): Promise<ICashAppWindowObject> {\n const url = environment.toLowerCase().includes('live') ? CASHAPPPAY_PROD_SDK : CASHAPPPAY_SANDBOX_SDK;\n\n if (!this.isSdkIsAvailableOnWindow()) {\n const scriptElement = new Script(url);\n await scriptElement.load();\n }\n\n // @ts-ignore CashApp is created by the Cash App SDK\n return window.CashApp;\n }\n}\n\nexport { CashAppSdkLoader };\n"],"names":["CashAppSdkLoader","isSdkIsAvailableOnWindow","window","CashApp","load","environment","url","toLowerCase","includes","CASHAPPPAY_PROD_SDK","CASHAPPPAY_SANDBOX_SDK","this","scriptElement","Script"],"mappings":"sHAQA,MAAMA,EACMC,wBAAAA,GAEJ,QAASC,OAAOC,OACpB,CAEA,UAAaC,CAAKC,GACd,MAAMC,EAAMD,EAAYE,cAAcC,SAAS,QAAUC,EAAsBC,EAE/E,IAAKC,KAAKV,2BAA4B,CAClC,MAAMW,EAAgB,IAAIC,EAAOP,SAC3BM,EAAcR,MACxB,CAGA,OAAOF,OAAOC,OAClB"}
1
+ {"version":3,"file":"CashAppSdkLoader.js","sources":["../../../../../src/components/CashAppPay/services/CashAppSdkLoader.ts"],"sourcesContent":["import { CASHAPPPAY_PROD_SDK, CASHAPPPAY_SANDBOX_SDK } from './config';\nimport Script from '../../../utils/Script';\nimport { ICashAppWindowObject } from './types';\nimport { AnalyticsModule } from '../../../types/global-types';\n\nexport interface ICashAppSdkLoader {\n load(environment: string): Promise<ICashAppWindowObject>;\n}\n\nclass CashAppSdkLoader implements ICashAppSdkLoader {\n private readonly analytics: AnalyticsModule;\n private readonly environment: string;\n\n constructor({ analytics, environment }: { analytics: AnalyticsModule; environment: string }) {\n this.analytics = analytics;\n this.environment = environment;\n }\n\n private isSdkIsAvailableOnWindow(): boolean {\n // @ts-ignore CashApp is created by the Cash App SDK\n return !!window.CashApp;\n }\n\n public async load(): Promise<ICashAppWindowObject> {\n const src = this.environment.toLowerCase().includes('live') ? CASHAPPPAY_PROD_SDK : CASHAPPPAY_SANDBOX_SDK;\n\n if (!this.isSdkIsAvailableOnWindow()) {\n const scriptElement = new Script({\n src,\n component: 'cashapppay',\n analytics: this.analytics\n });\n\n await scriptElement.load();\n }\n\n // @ts-ignore CashApp is created by the Cash App SDK\n return window.CashApp;\n }\n}\n\nexport { CashAppSdkLoader };\n"],"names":["CashAppSdkLoader","isSdkIsAvailableOnWindow","window","CashApp","load","src","this","environment","toLowerCase","includes","CASHAPPPAY_PROD_SDK","CASHAPPPAY_SANDBOX_SDK","scriptElement","Script","component","analytics","constructor","_define_property"],"mappings":"8OASA,MAAMA,EASMC,wBAAAA,GAEJ,QAASC,OAAOC,OACpB,CAEA,UAAaC,GACT,MAAMC,EAAMC,KAAKC,YAAYC,cAAcC,SAAS,QAAUC,EAAsBC,EAEpF,IAAKL,KAAKL,2BAA4B,CAClC,MAAMW,EAAgB,IAAIC,EAAO,CAC7BR,MACAS,UAAW,aACXC,UAAWT,KAAKS,kBAGdH,EAAcR,MACxB,CAGA,OAAOF,OAAOC,OAClB,CAzBA,WAAAa,EAAYD,UAAEA,EAASR,YAAEA,IAHzBU,EAAAX,KAAiBS,iBAAjB,GACAE,EAAAX,KAAiBC,mBAAjB,GAGID,KAAKS,UAAYA,EACjBT,KAAKC,YAAcA,CACvB"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as o}from"../internal/UIElement/UIElement.js";import{CoreProvider as t}from"../../core/Context/CoreProvider.js";import r from"../../utils/browserInfo.js";import i from"../internal/ClickToPay/services/create-clicktopay-service.js";import{CtpState as n}from"../internal/ClickToPay/services/ClickToPayService.js";import s from"../internal/ClickToPay/context/ClickToPayProvider.js";import c from"../internal/ClickToPay/ClickToPayComponent.js";import a from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as l}from"../tx-variants.js";function p(e,o,t){return o in e?Object.defineProperty(e,o,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[o]=t,e}function u(e){for(var o=1;o<arguments.length;o++){var t=null!=arguments[o]?arguments[o]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.forEach(function(o){p(e,o,t[o])})}return e}function h(e,o){return o=null!=o?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):function(e){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);o.push.apply(o,t)}return o}(Object(o)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}),e}class m extends o{get isValid(){return!0}get browserInfo(){return r()}formatData(){var e,o;const{srcScheme:t,srcCorrelationId:r,srcTokenReference:i,srcCheckoutPayload:n,srcDigitalCardId:s}=this.state.data;return{paymentMethod:u({type:m.type},t&&{srcScheme:t},r&&{srcCorrelationId:r},i&&{srcTokenReference:i},n&&{srcCheckoutPayload:n},s&&{srcDigitalCardId:s}),browserInfo:this.browserInfo,origin:null===(o=window)||void 0===o||null===(e=o.location)||void 0===e?void 0:e.origin}}formatProps(e){var o,t,r,i,n,s;return h(u({},e),{disableOtpAutoFocus:e.disableOtpAutoFocus||!1,shopperEmail:e.shopperEmail||(null===(t=this.core.options)||void 0===t||null===(o=t.session)||void 0===o?void 0:o.shopperEmail),telephoneNumber:e.telephoneNumber||(null===(i=this.core.options)||void 0===i||null===(r=i.session)||void 0===r?void 0:r.telephoneNumber),locale:e.locale||(null===(s=e.i18n)||void 0===s||null===(n=s.locale)||void 0===n?void 0:n.replace("-","_"))})}async isAvailable(){return this.clickToPayService?this.clickToPayService.shopperAccountFound?Promise.resolve():new Promise((e,o)=>{this.clickToPayService.subscribeOnStateChange(t=>{this.clickToPayService.shopperAccountFound&&e(),t!==n.NotAvailable&&t!==n.Login&&t!==n.Idle||o()})}):Promise.reject()}render(){return e(t,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},e(s,{isStandaloneComponent:!0,configuration:this.ctpConfiguration,amount:this.props.amount,clickToPayService:this.clickToPayService,setClickToPayRef:this.setComponentRef,onSetStatus:this.setElementStatus,onSubmit:this.handleClickToPaySubmit,onError:this.handleError},e(c,null)))}constructor(e,o){var t;super(e,o),p(this,"clickToPayService",void 0),p(this,"ctpConfiguration",void 0),p(this,"handleClickToPaySubmit",e=>{this.setState({data:u({},e),valid:{},errors:{},isValid:!0}),this.submit()}),this.ctpConfiguration={shopperEmail:this.props.shopperEmail,telephoneNumber:this.props.telephoneNumber,merchantDisplayName:this.props.merchantDisplayName,locale:this.props.locale,onReady:this.props.onReady,onTimeout:this.props.onTimeout},this.clickToPayService=i(this.props.configuration,this.ctpConfiguration,this.props.environment),null===(t=this.clickToPayService)||void 0===t||t.initialize().catch(e=>{this.handleError(new a("ERROR",e.toString(),{cause:e}))}),this.clickToPayService||console.warn("ClickToPay not initialized - Likely the payment method is not configured or its configuration is missing")}}p(m,"type",l.clicktopay);export{m as ClickToPayElement,m as default};
1
+ import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as o}from"../internal/UIElement/UIElement.js";import{CoreProvider as t}from"../../core/Context/CoreProvider.js";import r from"../../utils/browserInfo.js";import i from"../internal/ClickToPay/services/create-clicktopay-service.js";import{CtpState as n}from"../internal/ClickToPay/services/ClickToPayService.js";import s from"../internal/ClickToPay/context/ClickToPayProvider.js";import c from"../internal/ClickToPay/ClickToPayComponent.js";import a from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as l}from"../tx-variants.js";function p(e,o,t){return o in e?Object.defineProperty(e,o,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[o]=t,e}function u(e){for(var o=1;o<arguments.length;o++){var t=null!=arguments[o]?arguments[o]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.forEach(function(o){p(e,o,t[o])})}return e}function h(e,o){return o=null!=o?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):function(e){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);o.push.apply(o,t)}return o}(Object(o)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}),e}class m extends o{get isValid(){return!0}get browserInfo(){return r()}formatData(){var e,o;const{srcScheme:t,srcCorrelationId:r,srcTokenReference:i,srcCheckoutPayload:n,srcDigitalCardId:s}=this.state.data;return{paymentMethod:u({type:m.type},t&&{srcScheme:t},r&&{srcCorrelationId:r},i&&{srcTokenReference:i},n&&{srcCheckoutPayload:n},s&&{srcDigitalCardId:s}),browserInfo:this.browserInfo,origin:null===(o=window)||void 0===o||null===(e=o.location)||void 0===e?void 0:e.origin}}formatProps(e){var o,t,r,i,n,s;return h(u({},e),{disableOtpAutoFocus:e.disableOtpAutoFocus||!1,shopperEmail:e.shopperEmail||(null===(t=this.core.options)||void 0===t||null===(o=t.session)||void 0===o?void 0:o.shopperEmail),telephoneNumber:e.telephoneNumber||(null===(i=this.core.options)||void 0===i||null===(r=i.session)||void 0===r?void 0:r.telephoneNumber),locale:e.locale||(null===(s=e.i18n)||void 0===s||null===(n=s.locale)||void 0===n?void 0:n.replace("-","_"))})}async isAvailable(){return this.clickToPayService?this.clickToPayService.shopperAccountFound?Promise.resolve():new Promise((e,o)=>{this.clickToPayService.subscribeOnStateChange(t=>{this.clickToPayService.shopperAccountFound&&e(),t!==n.NotAvailable&&t!==n.Login&&t!==n.Idle||o()})}):Promise.reject()}render(){return e(t,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},e(s,{isStandaloneComponent:!0,configuration:this.ctpConfiguration,amount:this.props.amount,clickToPayService:this.clickToPayService,setClickToPayRef:this.setComponentRef,onSetStatus:this.setElementStatus,onSubmit:this.handleClickToPaySubmit,onError:this.handleError},e(c,null)))}constructor(e,o){var t;super(e,o),p(this,"clickToPayService",void 0),p(this,"ctpConfiguration",void 0),p(this,"handleClickToPaySubmit",e=>{this.setState({data:u({},e),valid:{},errors:{},isValid:!0}),this.submit()}),this.ctpConfiguration={shopperEmail:this.props.shopperEmail,telephoneNumber:this.props.telephoneNumber,merchantDisplayName:this.props.merchantDisplayName,locale:this.props.locale,onReady:this.props.onReady,onTimeout:this.props.onTimeout},this.clickToPayService=i(this.props.configuration,this.ctpConfiguration,this.props.environment,this.analytics),null===(t=this.clickToPayService)||void 0===t||t.initialize().catch(e=>{this.handleError(new a("ERROR",e.toString(),{cause:e}))}),this.clickToPayService||console.warn("ClickToPay not initialized - Likely the payment method is not configured or its configuration is missing")}}p(m,"type",l.clicktopay);export{m as ClickToPayElement,m as default};
2
2
  //# sourceMappingURL=ClickToPay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClickToPay.js","sources":["../../../../src/components/ClickToPay/ClickToPay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { ClickToPayConfiguration, ClickToPayPaymentData } from './types';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport { ClickToPayCheckoutPayload, IClickToPayService } from '../internal/ClickToPay/services/types';\nimport { ClickToPayProps } from '../internal/ClickToPay/types';\nimport createClickToPayService from '../internal/ClickToPay/services/create-clicktopay-service';\nimport { CtpState } from '../internal/ClickToPay/services/ClickToPayService';\nimport ClickToPayProvider from '../internal/ClickToPay/context/ClickToPayProvider';\nimport ClickToPayComponent from '../internal/ClickToPay';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { TxVariants } from '../tx-variants';\nimport type { ICore } from '../../core/types';\n\nexport class ClickToPayElement extends UIElement<ClickToPayConfiguration> {\n public static type = TxVariants.clicktopay;\n\n private readonly clickToPayService: IClickToPayService | null;\n private readonly ctpConfiguration: ClickToPayProps;\n\n constructor(checkout: ICore, props?: ClickToPayConfiguration) {\n super(checkout, props);\n\n this.ctpConfiguration = {\n shopperEmail: this.props.shopperEmail,\n telephoneNumber: this.props.telephoneNumber,\n merchantDisplayName: this.props.merchantDisplayName,\n locale: this.props.locale,\n onReady: this.props.onReady,\n onTimeout: this.props.onTimeout\n };\n\n this.clickToPayService = createClickToPayService(this.props.configuration, this.ctpConfiguration, this.props.environment);\n this.clickToPayService?.initialize().catch(error => {\n this.handleError(new AdyenCheckoutError('ERROR', error.toString(), { cause: error }));\n });\n\n if (!this.clickToPayService) {\n console.warn('ClickToPay not initialized - Likely the payment method is not configured or its configuration is missing');\n }\n }\n\n get isValid() {\n return true;\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n public formatData(): ClickToPayPaymentData {\n const { srcScheme, srcCorrelationId, srcTokenReference, srcCheckoutPayload, srcDigitalCardId } = this.state.data;\n return {\n paymentMethod: {\n type: ClickToPayElement.type,\n ...(srcScheme && { srcScheme }),\n ...(srcCorrelationId && { srcCorrelationId }),\n ...(srcTokenReference && { srcTokenReference }),\n ...(srcCheckoutPayload && { srcCheckoutPayload }),\n ...(srcDigitalCardId && { srcDigitalCardId })\n },\n browserInfo: this.browserInfo,\n origin: window?.location?.origin\n };\n }\n\n protected formatProps(props: ClickToPayConfiguration) {\n return {\n ...props,\n disableOtpAutoFocus: props.disableOtpAutoFocus || false,\n shopperEmail: props.shopperEmail || this.core.options?.session?.shopperEmail,\n telephoneNumber: props.telephoneNumber || this.core.options?.session?.telephoneNumber,\n locale: props.locale || props.i18n?.locale?.replace('-', '_')\n };\n }\n\n /**\n * Method used to let the merchant know if the shopper have a valid CtP accoubt\n *\n * Resolves Promise if the Shopper has cookies OR has valid CtP account\n * Rejects Promise if account isn't found or if Login screen is triggered\n */\n public override async isAvailable(): Promise<void> {\n if (!this.clickToPayService) {\n return Promise.reject();\n }\n\n if (this.clickToPayService.shopperAccountFound) {\n return Promise.resolve();\n }\n\n return new Promise((resolve, reject) => {\n this.clickToPayService.subscribeOnStateChange((state: CtpState) => {\n if (this.clickToPayService.shopperAccountFound) resolve();\n if (state === CtpState.NotAvailable || state === CtpState.Login || state === CtpState.Idle) reject();\n });\n });\n }\n\n private handleClickToPaySubmit = (payload: ClickToPayCheckoutPayload) => {\n this.setState({ data: { ...payload }, valid: {}, errors: {}, isValid: true });\n this.submit();\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <ClickToPayProvider\n isStandaloneComponent={true}\n configuration={this.ctpConfiguration}\n amount={this.props.amount}\n clickToPayService={this.clickToPayService}\n setClickToPayRef={this.setComponentRef}\n onSetStatus={this.setElementStatus}\n onSubmit={this.handleClickToPaySubmit}\n onError={this.handleError}\n >\n <ClickToPayComponent />\n </ClickToPayProvider>\n </CoreProvider>\n );\n }\n}\n\nexport default ClickToPayElement;\n"],"names":["ClickToPayElement","UIElement","isValid","browserInfo","collectBrowserInfo","formatData","window","srcScheme","srcCorrelationId","srcTokenReference","srcCheckoutPayload","srcDigitalCardId","this","state","data","paymentMethod","_object_spread","type","origin","location","formatProps","props","_this_core_options_session","_this_core_options","_this_core_options_session1","_this_core_options1","_object_spread_props","disableOtpAutoFocus","shopperEmail","core","options","session","telephoneNumber","locale","i18n","replace","isAvailable","clickToPayService","shopperAccountFound","Promise","resolve","reject","subscribeOnStateChange","CtpState","NotAvailable","Login","Idle","render","h","CoreProvider","loadingContext","resources","ClickToPayProvider","isStandaloneComponent","configuration","ctpConfiguration","amount","setClickToPayRef","setComponentRef","onSetStatus","setElementStatus","onSubmit","handleClickToPaySubmit","onError","handleError","ClickToPayComponent","constructor","checkout","_this_clickToPayService","super","_define_property","payload","setState","valid","errors","submit","merchantDisplayName","onReady","onTimeout","createClickToPayService","environment","initialize","catch","error","AdyenCheckoutError","toString","cause","console","warn","TxVariants","clicktopay"],"mappings":"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"}
1
+ {"version":3,"file":"ClickToPay.js","sources":["../../../../src/components/ClickToPay/ClickToPay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { ClickToPayConfiguration, ClickToPayPaymentData } from './types';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport { ClickToPayCheckoutPayload, IClickToPayService } from '../internal/ClickToPay/services/types';\nimport { ClickToPayProps } from '../internal/ClickToPay/types';\nimport createClickToPayService from '../internal/ClickToPay/services/create-clicktopay-service';\nimport { CtpState } from '../internal/ClickToPay/services/ClickToPayService';\nimport ClickToPayProvider from '../internal/ClickToPay/context/ClickToPayProvider';\nimport ClickToPayComponent from '../internal/ClickToPay';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { TxVariants } from '../tx-variants';\nimport type { ICore } from '../../core/types';\n\nexport class ClickToPayElement extends UIElement<ClickToPayConfiguration> {\n public static type = TxVariants.clicktopay;\n\n private readonly clickToPayService: IClickToPayService | null;\n private readonly ctpConfiguration: ClickToPayProps;\n\n constructor(checkout: ICore, props?: ClickToPayConfiguration) {\n super(checkout, props);\n\n this.ctpConfiguration = {\n shopperEmail: this.props.shopperEmail,\n telephoneNumber: this.props.telephoneNumber,\n merchantDisplayName: this.props.merchantDisplayName,\n locale: this.props.locale,\n onReady: this.props.onReady,\n onTimeout: this.props.onTimeout\n };\n\n this.clickToPayService = createClickToPayService(this.props.configuration, this.ctpConfiguration, this.props.environment, this.analytics);\n\n this.clickToPayService?.initialize().catch(error => {\n this.handleError(new AdyenCheckoutError('ERROR', error.toString(), { cause: error }));\n });\n\n if (!this.clickToPayService) {\n console.warn('ClickToPay not initialized - Likely the payment method is not configured or its configuration is missing');\n }\n }\n\n get isValid() {\n return true;\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n public formatData(): ClickToPayPaymentData {\n const { srcScheme, srcCorrelationId, srcTokenReference, srcCheckoutPayload, srcDigitalCardId } = this.state.data;\n return {\n paymentMethod: {\n type: ClickToPayElement.type,\n ...(srcScheme && { srcScheme }),\n ...(srcCorrelationId && { srcCorrelationId }),\n ...(srcTokenReference && { srcTokenReference }),\n ...(srcCheckoutPayload && { srcCheckoutPayload }),\n ...(srcDigitalCardId && { srcDigitalCardId })\n },\n browserInfo: this.browserInfo,\n origin: window?.location?.origin\n };\n }\n\n protected formatProps(props: ClickToPayConfiguration) {\n return {\n ...props,\n disableOtpAutoFocus: props.disableOtpAutoFocus || false,\n shopperEmail: props.shopperEmail || this.core.options?.session?.shopperEmail,\n telephoneNumber: props.telephoneNumber || this.core.options?.session?.telephoneNumber,\n locale: props.locale || props.i18n?.locale?.replace('-', '_')\n };\n }\n\n /**\n * Method used to let the merchant know if the shopper have a valid CtP accoubt\n *\n * Resolves Promise if the Shopper has cookies OR has valid CtP account\n * Rejects Promise if account isn't found or if Login screen is triggered\n */\n public override async isAvailable(): Promise<void> {\n if (!this.clickToPayService) {\n return Promise.reject();\n }\n\n if (this.clickToPayService.shopperAccountFound) {\n return Promise.resolve();\n }\n\n return new Promise((resolve, reject) => {\n this.clickToPayService.subscribeOnStateChange((state: CtpState) => {\n if (this.clickToPayService.shopperAccountFound) resolve();\n if (state === CtpState.NotAvailable || state === CtpState.Login || state === CtpState.Idle) reject();\n });\n });\n }\n\n private handleClickToPaySubmit = (payload: ClickToPayCheckoutPayload) => {\n this.setState({ data: { ...payload }, valid: {}, errors: {}, isValid: true });\n this.submit();\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <ClickToPayProvider\n isStandaloneComponent={true}\n configuration={this.ctpConfiguration}\n amount={this.props.amount}\n clickToPayService={this.clickToPayService}\n setClickToPayRef={this.setComponentRef}\n onSetStatus={this.setElementStatus}\n onSubmit={this.handleClickToPaySubmit}\n onError={this.handleError}\n >\n <ClickToPayComponent />\n </ClickToPayProvider>\n </CoreProvider>\n );\n }\n}\n\nexport default ClickToPayElement;\n"],"names":["ClickToPayElement","UIElement","isValid","browserInfo","collectBrowserInfo","formatData","window","srcScheme","srcCorrelationId","srcTokenReference","srcCheckoutPayload","srcDigitalCardId","this","state","data","paymentMethod","_object_spread","type","origin","location","formatProps","props","_this_core_options_session","_this_core_options","_this_core_options_session1","_this_core_options1","_object_spread_props","disableOtpAutoFocus","shopperEmail","core","options","session","telephoneNumber","locale","i18n","replace","isAvailable","clickToPayService","shopperAccountFound","Promise","resolve","reject","subscribeOnStateChange","CtpState","NotAvailable","Login","Idle","render","h","CoreProvider","loadingContext","resources","ClickToPayProvider","isStandaloneComponent","configuration","ctpConfiguration","amount","setClickToPayRef","setComponentRef","onSetStatus","setElementStatus","onSubmit","handleClickToPaySubmit","onError","handleError","ClickToPayComponent","constructor","checkout","_this_clickToPayService","super","_define_property","payload","setState","valid","errors","submit","merchantDisplayName","onReady","onTimeout","createClickToPayService","environment","analytics","initialize","catch","error","AdyenCheckoutError","toString","cause","console","warn","TxVariants","clicktopay"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FixedAmounts.js","sources":["../../../../../src/components/Donation/components/FixedAmounts.tsx"],"sourcesContent":["import { h, Fragment } from 'preact';\nimport ButtonGroup from '../../internal/ButtonGroup';\nimport Button from '../../internal/Button';\nimport { getAmountLabel } from './utils';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { Status } from './types';\n\ninterface FixedAmountsProps {\n selectedAmount: number;\n currency: string;\n values: Array<number>;\n status: Status;\n onAmountSelected: ({ target }) => void;\n onDonateButtonClicked: (amount: number) => void;\n}\nexport default function FixedAmounts(props: FixedAmountsProps) {\n const { currency, values, selectedAmount, status, onAmountSelected, onDonateButtonClicked } = props;\n const { i18n } = useCoreContext();\n\n return (\n <Fragment>\n <div className=\"adyen-checkout__amounts\">\n <ButtonGroup\n options={values.map(value => ({\n value,\n label: getAmountLabel(i18n, { value, currency }),\n disabled: status === 'loading',\n selected: value === selectedAmount\n }))}\n name=\"amount\"\n onChange={onAmountSelected}\n />\n </div>\n <Button\n classNameModifiers={['donate']}\n onClick={onDonateButtonClicked}\n label={i18n.get('donateButton')}\n disabled={selectedAmount === null}\n status={status}\n />\n </Fragment>\n );\n}\n"],"names":["FixedAmounts","props","currency","values","selectedAmount","status","onAmountSelected","onDonateButtonClicked","i18n","useCoreContext","h","Fragment","div","className","ButtonGroup","options","map","value","label","getAmountLabel","disabled","selected","name","onChange","Button","classNameModifiers","onClick","get"],"mappings":"iTAee,SAASA,EAAaC,GACjC,MAAMC,SAAEA,EAAQC,OAAEA,EAAMC,eAAEA,EAAcC,OAAEA,EAAMC,iBAAEA,EAAgBC,sBAAEA,GAA0BN,GACxFO,KAAEA,GAASC,IAEjB,OACIC,EAACC,OACGD,EAACE,MAAAA,CAAIC,UAAU,2BACXH,EAACI,EAAAA,CACGC,QAASZ,EAAOa,IAAIC,KAChBA,QACAC,MAAOC,EAAeX,EAAM,CAAES,QAAOf,aACrCkB,SAAqB,YAAXf,EACVgB,SAAUJ,IAAUb,KAExBkB,KAAK,SACLC,SAAUjB,KAGlBI,EAACc,EAAAA,CACGC,mBAAoB,CAAC,UACrBC,QAASnB,EACTW,MAAOV,EAAKmB,IAAI,gBAChBP,SAA6B,OAAnBhB,EACVC,OAAQA,IAIxB"}
1
+ {"version":3,"file":"FixedAmounts.js","sources":["../../../../../src/components/Donation/components/FixedAmounts.tsx"],"sourcesContent":["import { h, Fragment } from 'preact';\nimport ButtonGroup from '../../internal/ButtonGroup';\nimport Button from '../../internal/Button';\nimport { getAmountLabel } from './utils';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { Status } from './types';\n\ninterface FixedAmountsProps {\n selectedAmount: number;\n currency: string;\n values: Array<number>;\n status: Status;\n onAmountSelected: ({ target }) => void;\n onDonateButtonClicked: () => void;\n}\nexport default function FixedAmounts(props: FixedAmountsProps) {\n const { currency, values, selectedAmount, status, onAmountSelected, onDonateButtonClicked } = props;\n const { i18n } = useCoreContext();\n\n return (\n <Fragment>\n <div className=\"adyen-checkout__amounts\">\n <ButtonGroup\n options={values.map(value => ({\n value,\n label: getAmountLabel(i18n, { value, currency }),\n disabled: status === 'loading',\n selected: value === selectedAmount\n }))}\n name=\"amount\"\n onChange={onAmountSelected}\n />\n </div>\n <Button\n classNameModifiers={['donate']}\n onClick={onDonateButtonClicked}\n label={i18n.get('donateButton')}\n disabled={selectedAmount === null}\n status={status}\n />\n </Fragment>\n );\n}\n"],"names":["FixedAmounts","props","currency","values","selectedAmount","status","onAmountSelected","onDonateButtonClicked","i18n","useCoreContext","h","Fragment","div","className","ButtonGroup","options","map","value","label","getAmountLabel","disabled","selected","name","onChange","Button","classNameModifiers","onClick","get"],"mappings":"iTAee,SAASA,EAAaC,GACjC,MAAMC,SAAEA,EAAQC,OAAEA,EAAMC,eAAEA,EAAcC,OAAEA,EAAMC,iBAAEA,EAAgBC,sBAAEA,GAA0BN,GACxFO,KAAEA,GAASC,IAEjB,OACIC,EAACC,OACGD,EAACE,MAAAA,CAAIC,UAAU,2BACXH,EAACI,EAAAA,CACGC,QAASZ,EAAOa,IAAIC,KAChBA,QACAC,MAAOC,EAAeX,EAAM,CAAES,QAAOf,aACrCkB,SAAqB,YAAXf,EACVgB,SAAUJ,IAAUb,KAExBkB,KAAK,SACLC,SAAUjB,KAGlBI,EAACc,EAAAA,CACGC,mBAAoB,CAAC,UACrBC,QAASnB,EACTW,MAAOV,EAAKmB,IAAI,gBAChBP,SAA6B,OAAnBhB,EACVC,OAAQA,IAIxB"}
@@ -1,2 +1,2 @@
1
- import{Component as t,createElement as e,Fragment as s}from"../../../external/preact/dist/preact.js";import o from"./PaymentMethod/PaymentMethodList.js";import n from"./status/index.js";import a from"../../../core/Services/order-status.js";import{sanitizeOrder as r}from"../../internal/UIElement/utils.js";import{ANALYTICS_RENDERED_STR as i,InfoEventTypes as d}from"../../../core/Analytics/constants.js";import h from"../../../core/Errors/AdyenCheckoutError.js";import l from"../../internal/Button/Button.js";import{AnalyticsInfoEvent as p}from"../../../core/Analytics/AnalyticsInfoEvent.js";function c(t,e,s){return e in t?Object.defineProperty(t,e,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[e]=s,t}function m(t){for(var e=1;e<arguments.length;e++){var s=null!=arguments[e]?arguments[e]:{},o=Object.keys(s);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(s).filter(function(t){return Object.getOwnPropertyDescriptor(s,t).enumerable}))),o.forEach(function(e){c(t,e,s[e])})}return t}function y(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e.push.apply(e,s)}return e}(Object(e)).forEach(function(s){Object.defineProperty(t,s,Object.getOwnPropertyDescriptor(e,s))}),t}class u extends t{componentDidMount(){this.prepareDropinData()}get analyticConfigData(){return{openFirstStoredPaymentMethod:this.props.openFirstStoredPaymentMethod,showStoredPaymentMethods:this.props.showStoredPaymentMethods}}componentDidUpdate(t,e){e.status.type!==this.state.status.type&&this.state.activePaymentMethod&&this.state.activePaymentMethod.setStatus(this.state.status.type),"ready"===this.state.status.type&&"ready"!==e.status.type&&this.props.onReady&&this.props.onReady()}closeActivePaymentMethod(){this.setState({activePaymentMethod:null})}render(){const{elements:t,fastlanePaymentElement:a,instantPaymentElements:r,storedPaymentElements:i,status:d,activePaymentMethod:h,cachedPaymentMethods:p,showDefaultPaymentMethodList:c}=this.state,m="loading"===d.type,y="redirect"===d.type,u=!!((null==t?void 0:t.length)||(null==r?void 0:r.length)||(null==i?void 0:i.length));switch(d.type){case"success":var P,M,v;return e(n.Success,{message:0===(null===(M=this.props)||void 0===M||null===(P=M.amount)||void 0===P?void 0:P.value)?"resultMessages.preauthorized":null===(v=d.props)||void 0===v?void 0:v.message});case"error":var f;return e(n.Error,{message:null===(f=d.props)||void 0===f?void 0:f.message});case"custom":var S,g;return null===(g=d.props)||void 0===g||null===(S=g.component)||void 0===S?void 0:S.render();default:return e("div",{className:`adyen-checkout__dropin adyen-checkout__dropin--${d.type}`},y&&d.props.component&&d.props.component.render(),m&&d.props&&d.props.component&&d.props.component.render(),!c&&e(s,null,e(o,{isLoading:m,paymentMethods:a,activePaymentMethod:h,cachedPaymentMethods:p,onSelect:this.handleOnSelectPaymentMethod,openFirstPaymentMethod:!0,showRadioButton:this.props.showRadioButton}),u&&e(l,{classNameModifiers:["dropin-show-paymentmethods"],variant:"link",inline:!0,label:"Other payment methods",onClick:this.onShowDefaultPaymentMethodListClick})),u&&c&&e(o,{isLoading:m||y,isDisablingPaymentMethod:this.state.isDisabling,paymentMethods:t,instantPaymentMethods:r,storedPaymentMethods:i,activePaymentMethod:h,cachedPaymentMethods:p,order:this.props.order,orderStatus:this.state.orderStatus,onOrderCancel:this.onOrderCancel,onSelect:this.handleOnSelectPaymentMethod,openPaymentMethod:this.props.openPaymentMethod,openFirstPaymentMethod:this.props.openFirstPaymentMethod,openFirstStoredPaymentMethod:this.props.openFirstStoredPaymentMethod,onDisableStoredPaymentMethod:this.handleDisableStoredPaymentMethod,showRemovePaymentMethodButton:this.props.showRemovePaymentMethodButton,showRadioButton:this.props.showRadioButton}))}}constructor(...t){super(...t),c(this,"state",{elements:[],fastlanePaymentElement:[],instantPaymentElements:[],storedPaymentElements:[],orderStatus:null,isDisabling:!1,status:{type:"loading",props:void 0},activePaymentMethod:null,cachedPaymentMethods:{},showDefaultPaymentMethodList:!0}),c(this,"prepareDropinData",()=>{const{order:t,clientKey:e,loadingContext:s}=this.props,[o,n,r,d]=this.props.onCreateElements(),h=t?a({clientKey:e,loadingContext:s},t):null;Promise.all([o,n,r,d,h]).then(([t,e,s,o,n])=>{var a;this.setState({orderStatus:n,elements:e,instantPaymentElements:s,storedPaymentElements:t,fastlanePaymentElement:o,showDefaultPaymentMethodList:0===o.length}),this.setStatus("ready");const r=new p({type:i,component:"dropin",configData:this.analyticConfigData});null===(a=this.props.modules)||void 0===a||a.analytics.sendAnalytics(r)}),this.onOrderCancel=this.getOnOrderCancel()}),c(this,"setStatus",(t,e={})=>{this.setState({status:{type:t,props:e}})}),c(this,"setActivePaymentMethod",t=>{t!==this.state.activePaymentMethod&&(this.setState(e=>({activePaymentMethod:t,cachedPaymentMethods:y(m({},e.cachedPaymentMethods),{[t._id]:!0})})),this.state.cachedPaymentMethods[t._id]&&t.activate())}),c(this,"handleOnSelectPaymentMethod",t=>{const{activePaymentMethod:e}=this.state;if(this.setActivePaymentMethod(t),e&&e._id!==t._id||!e){var s,o;null===(s=(o=this.props).onSelect)||void 0===s||s.call(o,t);const e=new p({type:i});t.submitAnalytics(e)}}),c(this,"handleDisableStoredPaymentMethod",t=>{this.setState({isDisabling:!0}),new Promise((e,s)=>this.props.onDisableStoredPaymentMethod(t.props.storedPaymentMethodId,e,s)).then(()=>{this.setState(e=>({storedPaymentElements:e.storedPaymentElements.filter(e=>e._id!==t._id)})),this.setState({isDisabling:!1})}).catch(()=>{this.setState({isDisabling:!1})})}),c(this,"onShowDefaultPaymentMethodListClick",()=>{var t;this.setState({showDefaultPaymentMethodList:!0});const e=new p({type:d.clicked,target:"otherpaymentmethod_button",component:"dropin"});null===(t=this.props.modules)||void 0===t||t.analytics.sendAnalytics(e)}),c(this,"getOnOrderCancel",()=>this.props.onOrderCancel?t=>{const e=r(t.order);new Promise((t,s)=>{this.props.onOrderCancel({order:e},{resolve:t,reject:s})}).then(({amount:t})=>this.props.elementRef.handleAdvanceFlowPaymentMethodsUpdate(null,t)).catch(t=>{throw new h("NETWORK_ERROR",t)})}:this.props.session?t=>this.props.session.cancelOrder(t).then(()=>this.props.core.update({order:null})).catch(t=>{console.error(t),this.setStatus((null==t?void 0:t.message)||"error")}):null),c(this,"onOrderCancel",void 0)}}export{u as DropinComponent,u as default};
1
+ import{Component as t,createElement as e,Fragment as s}from"../../../external/preact/dist/preact.js";import o from"./PaymentMethod/PaymentMethodList.js";import n from"./status/index.js";import a from"../../../core/Services/order-status.js";import{sanitizeOrder as r}from"../../internal/UIElement/utils.js";import{ANALYTICS_RENDERED_STR as i}from"../../../core/Analytics/constants.js";import d from"../../../core/Errors/AdyenCheckoutError.js";import h from"../../internal/Button/Button.js";import{AnalyticsInfoEvent as l,InfoEventType as p}from"../../../core/Analytics/AnalyticsInfoEvent.js";function c(t,e,s){return e in t?Object.defineProperty(t,e,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[e]=s,t}function m(t){for(var e=1;e<arguments.length;e++){var s=null!=arguments[e]?arguments[e]:{},o=Object.keys(s);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(s).filter(function(t){return Object.getOwnPropertyDescriptor(s,t).enumerable}))),o.forEach(function(e){c(t,e,s[e])})}return t}function y(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e.push.apply(e,s)}return e}(Object(e)).forEach(function(s){Object.defineProperty(t,s,Object.getOwnPropertyDescriptor(e,s))}),t}class u extends t{componentDidMount(){this.prepareDropinData()}get analyticConfigData(){return{openFirstStoredPaymentMethod:this.props.openFirstStoredPaymentMethod,showStoredPaymentMethods:this.props.showStoredPaymentMethods}}componentDidUpdate(t,e){e.status.type!==this.state.status.type&&this.state.activePaymentMethod&&this.state.activePaymentMethod.setStatus(this.state.status.type),"ready"===this.state.status.type&&"ready"!==e.status.type&&this.props.onReady&&this.props.onReady()}closeActivePaymentMethod(){this.setState({activePaymentMethod:null})}render(){const{elements:t,fastlanePaymentElement:a,instantPaymentElements:r,storedPaymentElements:i,status:d,activePaymentMethod:l,cachedPaymentMethods:p,showDefaultPaymentMethodList:c}=this.state,m="loading"===d.type,y="redirect"===d.type,u=!!((null==t?void 0:t.length)||(null==r?void 0:r.length)||(null==i?void 0:i.length));switch(d.type){case"success":var P,M,v;return e(n.Success,{message:0===(null===(M=this.props)||void 0===M||null===(P=M.amount)||void 0===P?void 0:P.value)?"resultMessages.preauthorized":null===(v=d.props)||void 0===v?void 0:v.message});case"error":var f;return e(n.Error,{message:null===(f=d.props)||void 0===f?void 0:f.message});case"custom":var S,g;return null===(g=d.props)||void 0===g||null===(S=g.component)||void 0===S?void 0:S.render();default:return e("div",{className:`adyen-checkout__dropin adyen-checkout__dropin--${d.type}`},y&&d.props.component&&d.props.component.render(),m&&d.props&&d.props.component&&d.props.component.render(),!c&&e(s,null,e(o,{isLoading:m,paymentMethods:a,activePaymentMethod:l,cachedPaymentMethods:p,onSelect:this.handleOnSelectPaymentMethod,openFirstPaymentMethod:!0,showRadioButton:this.props.showRadioButton}),u&&e(h,{classNameModifiers:["dropin-show-paymentmethods"],variant:"link",inline:!0,label:"Other payment methods",onClick:this.onShowDefaultPaymentMethodListClick})),u&&c&&e(o,{isLoading:m||y,isDisablingPaymentMethod:this.state.isDisabling,paymentMethods:t,instantPaymentMethods:r,storedPaymentMethods:i,activePaymentMethod:l,cachedPaymentMethods:p,order:this.props.order,orderStatus:this.state.orderStatus,onOrderCancel:this.onOrderCancel,onSelect:this.handleOnSelectPaymentMethod,openPaymentMethod:this.props.openPaymentMethod,openFirstPaymentMethod:this.props.openFirstPaymentMethod,openFirstStoredPaymentMethod:this.props.openFirstStoredPaymentMethod,onDisableStoredPaymentMethod:this.handleDisableStoredPaymentMethod,showRemovePaymentMethodButton:this.props.showRemovePaymentMethodButton,showRadioButton:this.props.showRadioButton}))}}constructor(...t){super(...t),c(this,"state",{elements:[],fastlanePaymentElement:[],instantPaymentElements:[],storedPaymentElements:[],orderStatus:null,isDisabling:!1,status:{type:"loading",props:void 0},activePaymentMethod:null,cachedPaymentMethods:{},showDefaultPaymentMethodList:!0}),c(this,"prepareDropinData",()=>{const{order:t,clientKey:e,loadingContext:s}=this.props,[o,n,r,d]=this.props.onCreateElements(),h=t?a({clientKey:e,loadingContext:s},t):null;Promise.all([o,n,r,d,h]).then(([t,e,s,o,n])=>{var a;this.setState({orderStatus:n,elements:e,instantPaymentElements:s,storedPaymentElements:t,fastlanePaymentElement:o,showDefaultPaymentMethodList:0===o.length}),this.setStatus("ready");const r=new l({type:i,component:"dropin",configData:this.analyticConfigData});null===(a=this.props.modules)||void 0===a||a.analytics.sendAnalytics(r)}),this.onOrderCancel=this.getOnOrderCancel()}),c(this,"setStatus",(t,e={})=>{this.setState({status:{type:t,props:e}})}),c(this,"setActivePaymentMethod",t=>{t!==this.state.activePaymentMethod&&(this.setState(e=>({activePaymentMethod:t,cachedPaymentMethods:y(m({},e.cachedPaymentMethods),{[t._id]:!0})})),this.state.cachedPaymentMethods[t._id]&&t.activate())}),c(this,"handleOnSelectPaymentMethod",t=>{const{activePaymentMethod:e}=this.state;if(this.setActivePaymentMethod(t),e&&e._id!==t._id||!e){var s,o;null===(s=(o=this.props).onSelect)||void 0===s||s.call(o,t);const e=new l({type:i});t.submitAnalytics(e)}}),c(this,"handleDisableStoredPaymentMethod",t=>{this.setState({isDisabling:!0}),new Promise((e,s)=>this.props.onDisableStoredPaymentMethod(t.props.storedPaymentMethodId,e,s)).then(()=>{this.setState(e=>({storedPaymentElements:e.storedPaymentElements.filter(e=>e._id!==t._id)})),this.setState({isDisabling:!1})}).catch(()=>{this.setState({isDisabling:!1})})}),c(this,"onShowDefaultPaymentMethodListClick",()=>{var t;this.setState({showDefaultPaymentMethodList:!0});const e=new l({type:p.clicked,target:"otherpaymentmethod_button",component:"dropin"});null===(t=this.props.modules)||void 0===t||t.analytics.sendAnalytics(e)}),c(this,"getOnOrderCancel",()=>this.props.onOrderCancel?t=>{const e=r(t.order);new Promise((t,s)=>{this.props.onOrderCancel({order:e},{resolve:t,reject:s})}).then(({amount:t})=>this.props.elementRef.handleAdvanceFlowPaymentMethodsUpdate(null,t)).catch(t=>{throw new d("NETWORK_ERROR",t)})}:this.props.session?t=>this.props.session.cancelOrder(t).then(()=>this.props.core.update({order:null})).catch(t=>{console.error(t),this.setStatus((null==t?void 0:t.message)||"error")}):null),c(this,"onOrderCancel",void 0)}}export{u as DropinComponent,u as default};
2
2
  //# sourceMappingURL=DropinComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DropinComponent.js","sources":["../../../../../src/components/Dropin/components/DropinComponent.tsx"],"sourcesContent":["import { Component, Fragment, h } from 'preact';\nimport PaymentMethodList from './PaymentMethod/PaymentMethodList';\nimport Status from './status';\nimport getOrderStatus from '../../../core/Services/order-status';\nimport './DropinComponent.scss';\nimport { sanitizeOrder } from '../../internal/UIElement/utils';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { ANALYTICS_RENDERED_STR, InfoEventTypes } from '../../../core/Analytics/constants';\nimport AdyenCheckoutError from '../../../core/Errors/AdyenCheckoutError';\nimport Button from '../../internal/Button';\nimport type { DropinComponentProps, DropinComponentState, DropinStatus, DropinStatusProps, onOrderCancelData } from '../types';\nimport UIElement from '../../internal/UIElement';\nimport { AnalyticsInfoEvent } from '../../../core/Analytics/AnalyticsInfoEvent';\n\nexport class DropinComponent extends Component<DropinComponentProps, DropinComponentState> {\n public state: DropinComponentState = {\n elements: [],\n fastlanePaymentElement: [],\n instantPaymentElements: [],\n storedPaymentElements: [],\n orderStatus: null,\n isDisabling: false,\n status: { type: 'loading', props: undefined },\n activePaymentMethod: null,\n cachedPaymentMethods: {},\n showDefaultPaymentMethodList: true\n };\n\n componentDidMount() {\n this.prepareDropinData();\n }\n\n public prepareDropinData = () => {\n const { order, clientKey, loadingContext } = this.props;\n const [storedElementsPromises, elementsPromises, instantPaymentsPromises, fastlanePaymentElementPromise] = this.props.onCreateElements();\n const orderStatusPromise = order ? getOrderStatus({ clientKey, loadingContext }, order) : null;\n\n void Promise.all([storedElementsPromises, elementsPromises, instantPaymentsPromises, fastlanePaymentElementPromise, orderStatusPromise]).then(\n ([storedPaymentElements, elements, instantPaymentElements, fastlanePaymentElement, orderStatus]) => {\n this.setState({\n orderStatus,\n elements,\n instantPaymentElements,\n storedPaymentElements,\n fastlanePaymentElement,\n showDefaultPaymentMethodList: fastlanePaymentElement.length === 0\n });\n\n this.setStatus('ready');\n\n const event = new AnalyticsInfoEvent({\n type: ANALYTICS_RENDERED_STR,\n component: 'dropin',\n configData: this.analyticConfigData\n });\n\n this.props.modules?.analytics.sendAnalytics(event);\n }\n );\n\n this.onOrderCancel = this.getOnOrderCancel();\n };\n\n get analyticConfigData() {\n return {\n openFirstStoredPaymentMethod: this.props.openFirstStoredPaymentMethod,\n showStoredPaymentMethods: this.props.showStoredPaymentMethods\n };\n }\n\n public setStatus = (status: DropinStatus['type'], props: DropinStatusProps = {}) => {\n this.setState({ status: { type: status, props } });\n };\n\n private setActivePaymentMethod = (paymentMethod: UIElement): void => {\n if (paymentMethod === this.state.activePaymentMethod) {\n return;\n }\n\n this.setState(prevState => ({\n activePaymentMethod: paymentMethod,\n cachedPaymentMethods: { ...prevState.cachedPaymentMethods, [paymentMethod._id]: true }\n }));\n\n if (this.state.cachedPaymentMethods[paymentMethod._id]) {\n paymentMethod.activate();\n }\n };\n\n componentDidUpdate(prevProps, prevState) {\n if (prevState.status.type !== this.state.status.type && this.state.activePaymentMethod) {\n // @ts-ignore TODO: Drop-in has its own 'status' values ('custom' for ex) which differs from regular UIElementStatus. Need to investigate best way to define/use this status variable\n this.state.activePaymentMethod.setStatus(this.state.status.type);\n }\n\n if (this.state.status.type === 'ready' && prevState.status.type !== 'ready' && this.props.onReady) {\n this.props.onReady();\n }\n }\n\n private handleOnSelectPaymentMethod = paymentMethod => {\n const { activePaymentMethod } = this.state;\n\n this.setActivePaymentMethod(paymentMethod);\n\n // onSelect event\n if ((activePaymentMethod && activePaymentMethod._id !== paymentMethod._id) || !activePaymentMethod) {\n this.props.onSelect?.(paymentMethod);\n\n const event = new AnalyticsInfoEvent({\n type: ANALYTICS_RENDERED_STR\n });\n\n paymentMethod.submitAnalytics(event);\n }\n };\n\n private handleDisableStoredPaymentMethod = storedPaymentMethod => {\n this.setState({ isDisabling: true });\n\n new Promise((resolve, reject) => this.props.onDisableStoredPaymentMethod(storedPaymentMethod.props.storedPaymentMethodId, resolve, reject))\n .then(() => {\n this.setState(prevState => ({\n storedPaymentElements: prevState.storedPaymentElements.filter(pm => pm._id !== storedPaymentMethod._id)\n }));\n this.setState({ isDisabling: false });\n })\n .catch(() => {\n this.setState({ isDisabling: false });\n });\n };\n\n private readonly onShowDefaultPaymentMethodListClick = () => {\n this.setState({\n showDefaultPaymentMethodList: true\n });\n\n const event = new AnalyticsInfoEvent({\n type: InfoEventTypes.clicked,\n target: 'otherpaymentmethod_button',\n component: 'dropin'\n });\n\n this.props.modules?.analytics.sendAnalytics(event);\n };\n\n closeActivePaymentMethod() {\n this.setState({ activePaymentMethod: null });\n }\n\n /**\n * getOnOrderCancel decides which onOrderCancel logic should be used, manual or sessions\n */\n private getOnOrderCancel = () => {\n if (this.props.onOrderCancel) {\n return (data: onOrderCancelData) => {\n const order = sanitizeOrder(data.order);\n new Promise<{ amount: PaymentAmount }>((resolve, reject) => {\n this.props.onOrderCancel({ order }, { resolve, reject });\n })\n .then(({ amount }) => this.props.elementRef.handleAdvanceFlowPaymentMethodsUpdate(null, amount))\n .catch(error => {\n throw new AdyenCheckoutError('NETWORK_ERROR', error);\n });\n };\n }\n if (this.props.session) {\n return (data: onOrderCancelData) =>\n this.props.session\n .cancelOrder(data)\n .then(() => this.props.core.update({ order: null }))\n .catch(error => {\n console.error(error);\n this.setStatus(error?.message || 'error');\n });\n }\n return null;\n };\n\n private onOrderCancel: (data: onOrderCancelData) => void;\n\n render() {\n const {\n elements,\n fastlanePaymentElement,\n instantPaymentElements,\n storedPaymentElements,\n status,\n activePaymentMethod,\n cachedPaymentMethods,\n showDefaultPaymentMethodList\n } = this.state;\n\n const isLoading = status.type === 'loading';\n const isRedirecting = status.type === 'redirect';\n const hasPaymentMethodsToBeDisplayed = !!(elements?.length || instantPaymentElements?.length || storedPaymentElements?.length);\n\n switch (status.type) {\n case 'success':\n return <Status.Success message={this.props?.amount?.value === 0 ? 'resultMessages.preauthorized' : status.props?.message} />;\n\n case 'error':\n return <Status.Error message={status.props?.message} />;\n\n case 'custom':\n return status.props?.component?.render();\n\n default:\n return (\n <div className={`adyen-checkout__dropin adyen-checkout__dropin--${status.type}`}>\n {isRedirecting && status.props.component && status.props.component.render()}\n {isLoading && status.props && status.props.component && status.props.component.render()}\n\n {!showDefaultPaymentMethodList && (\n <Fragment>\n <PaymentMethodList\n isLoading={isLoading}\n paymentMethods={fastlanePaymentElement}\n activePaymentMethod={activePaymentMethod}\n cachedPaymentMethods={cachedPaymentMethods}\n onSelect={this.handleOnSelectPaymentMethod}\n openFirstPaymentMethod\n showRadioButton={this.props.showRadioButton}\n />\n\n {hasPaymentMethodsToBeDisplayed && (\n <Button\n classNameModifiers={['dropin-show-paymentmethods']}\n variant=\"link\"\n inline\n label=\"Other payment methods\"\n onClick={this.onShowDefaultPaymentMethodListClick}\n />\n )}\n </Fragment>\n )}\n\n {hasPaymentMethodsToBeDisplayed && showDefaultPaymentMethodList && (\n <PaymentMethodList\n isLoading={isLoading || isRedirecting}\n isDisablingPaymentMethod={this.state.isDisabling}\n paymentMethods={elements}\n instantPaymentMethods={instantPaymentElements}\n storedPaymentMethods={storedPaymentElements}\n activePaymentMethod={activePaymentMethod}\n cachedPaymentMethods={cachedPaymentMethods}\n order={this.props.order}\n orderStatus={this.state.orderStatus}\n onOrderCancel={this.onOrderCancel}\n onSelect={this.handleOnSelectPaymentMethod}\n openPaymentMethod={this.props.openPaymentMethod}\n openFirstPaymentMethod={this.props.openFirstPaymentMethod}\n openFirstStoredPaymentMethod={this.props.openFirstStoredPaymentMethod}\n onDisableStoredPaymentMethod={this.handleDisableStoredPaymentMethod}\n showRemovePaymentMethodButton={this.props.showRemovePaymentMethodButton}\n showRadioButton={this.props.showRadioButton}\n />\n )}\n </div>\n );\n }\n }\n}\n\nexport default DropinComponent;\n"],"names":["DropinComponent","Component","componentDidMount","this","prepareDropinData","analyticConfigData","openFirstStoredPaymentMethod","props","showStoredPaymentMethods","componentDidUpdate","prevProps","prevState","status","type","state","activePaymentMethod","setStatus","onReady","closeActivePaymentMethod","setState","render","elements","fastlanePaymentElement","instantPaymentElements","storedPaymentElements","cachedPaymentMethods","showDefaultPaymentMethodList","isLoading","isRedirecting","hasPaymentMethodsToBeDisplayed","length","_this_props_amount","_this_props","h","Status","Success","message","amount","value","Error","component","div","className","Fragment","PaymentMethodList","paymentMethods","onSelect","handleOnSelectPaymentMethod","openFirstPaymentMethod","showRadioButton","Button","classNameModifiers","variant","inline","label","onClick","onShowDefaultPaymentMethodListClick","isDisablingPaymentMethod","isDisabling","instantPaymentMethods","storedPaymentMethods","order","orderStatus","onOrderCancel","openPaymentMethod","onDisableStoredPaymentMethod","handleDisableStoredPaymentMethod","showRemovePaymentMethodButton","super","args","_define_property","undefined","clientKey","loadingContext","storedElementsPromises","elementsPromises","instantPaymentsPromises","fastlanePaymentElementPromise","onCreateElements","orderStatusPromise","getOrderStatus","Promise","all","then","_this_props_modules","event","AnalyticsInfoEvent","ANALYTICS_RENDERED_STR","configData","modules","analytics","sendAnalytics","getOnOrderCancel","setActivePaymentMethod","paymentMethod","_object_spread_props","_object_spread","_id","activate","_this_props_onSelect","call","submitAnalytics","storedPaymentMethod","resolve","reject","storedPaymentMethodId","filter","pm","catch","InfoEventTypes","clicked","target","data","sanitizeOrder","elementRef","handleAdvanceFlowPaymentMethodsUpdate","error","AdyenCheckoutError","session","cancelOrder","core","update","console"],"mappings":"y3CAcO,MAAMA,UAAwBC,EAcjCC,iBAAAA,GACIC,KAAKC,mBACT,CAiCA,sBAAIC,GACA,MAAO,CACHC,6BAA8BH,KAAKI,MAAMD,6BACzCE,yBAA0BL,KAAKI,MAAMC,yBAE7C,CAqBAC,kBAAAA,CAAmBC,EAAWC,GACtBA,EAAUC,OAAOC,OAASV,KAAKW,MAAMF,OAAOC,MAAQV,KAAKW,MAAMC,qBAE/DZ,KAAKW,MAAMC,oBAAoBC,UAAUb,KAAKW,MAAMF,OAAOC,MAGhC,UAA3BV,KAAKW,MAAMF,OAAOC,MAA8C,UAA1BF,EAAUC,OAAOC,MAAoBV,KAAKI,MAAMU,SACtFd,KAAKI,MAAMU,SAEnB,CAgDAC,wBAAAA,GACIf,KAAKgB,SAAS,CAAEJ,oBAAqB,MACzC,CAiCAK,MAAAA,GACI,MAAMC,SACFA,EAAQC,uBACRA,EAAsBC,uBACtBA,EAAsBC,sBACtBA,EAAqBZ,OACrBA,EAAMG,oBACNA,EAAmBU,qBACnBA,EAAoBC,6BACpBA,GACAvB,KAAKW,MAEHa,EAA4B,YAAhBf,EAAOC,KACnBe,EAAgC,aAAhBhB,EAAOC,KACvBgB,MAAoCR,eAAAA,EAAUS,UAAUP,aAAAA,EAAAA,EAAwBO,UAAUN,aAAAA,EAAAA,EAAuBM,SAEvH,OAAQlB,EAAOC,MACX,IAAK,UAC+B,IAAAkB,EAAAC,EAAmEpB,EAAnG,OAAOqB,EAACC,EAAOC,QAAO,CAACC,QAAuC,KAApB,QAAVJ,EAAA7B,KAAKI,aAAL,IAAAyB,GAAkB,QAAlBD,EAAAC,EAAYK,kBAAZN,OAAA,EAAAA,EAAoBO,OAAc,+BAA6C,QAAZ1B,EAAAA,EAAOL,aAAPK,IAAAA,OAAAA,EAAAA,EAAcwB,UAErH,IAAK,QAC6BxB,IAAAA,EAA9B,OAAOqB,EAACC,EAAOK,MAAK,CAACH,QAAqB,QAAZxB,EAAAA,EAAOL,aAAPK,IAAAA,OAAAA,EAAAA,EAAcwB,UAEhD,IAAK,aACMxB,EAAAA,EAAP,OAAmB,QAAZA,EAAAA,EAAOL,aAAPK,IAAAA,GAAuB,QAAvBA,EAAAA,EAAc4B,iBAAd5B,IAAAA,OAAAA,EAAAA,EAAyBQ,SAEpC,QACI,OACIa,EAACQ,MAAAA,CAAIC,UAAW,kDAAkD9B,EAAOC,QACpEe,GAAiBhB,EAAOL,MAAMiC,WAAa5B,EAAOL,MAAMiC,UAAUpB,SAClEO,GAAaf,EAAOL,OAASK,EAAOL,MAAMiC,WAAa5B,EAAOL,MAAMiC,UAAUpB,UAE7EM,GACEO,EAACU,OACGV,EAACW,EAAAA,CACGjB,UAAWA,EACXkB,eAAgBvB,EAChBP,oBAAqBA,EACrBU,qBAAsBA,EACtBqB,SAAU3C,KAAK4C,4BACfC,wBAAAA,EACAC,gBAAiB9C,KAAKI,MAAM0C,kBAG/BpB,GACGI,EAACiB,EAAAA,CACGC,mBAAoB,CAAC,8BACrBC,QAAQ,OACRC,QAAAA,EACAC,MAAM,wBACNC,QAASpD,KAAKqD,uCAM7B3B,GAAkCH,GAC/BO,EAACW,EAAAA,CACGjB,UAAWA,GAAaC,EACxB6B,yBAA0BtD,KAAKW,MAAM4C,YACrCb,eAAgBxB,EAChBsC,sBAAuBpC,EACvBqC,qBAAsBpC,EACtBT,oBAAqBA,EACrBU,qBAAsBA,EACtBoC,MAAO1D,KAAKI,MAAMsD,MAClBC,YAAa3D,KAAKW,MAAMgD,YACxBC,cAAe5D,KAAK4D,cACpBjB,SAAU3C,KAAK4C,4BACfiB,kBAAmB7D,KAAKI,MAAMyD,kBAC9BhB,uBAAwB7C,KAAKI,MAAMyC,uBACnC1C,6BAA8BH,KAAKI,MAAMD,6BACzC2D,6BAA8B9D,KAAK+D,iCACnCC,8BAA+BhE,KAAKI,MAAM4D,8BAC1ClB,gBAAiB9C,KAAKI,MAAM0C,mBAMxD,mBAvPGmB,SAAAC,GACHC,OAAOxD,QAA8B,CACjCO,SAAU,GACVC,uBAAwB,GACxBC,uBAAwB,GACxBC,sBAAuB,GACvBsC,YAAa,KACbJ,aAAa,EACb9C,OAAQ,CAAEC,KAAM,UAAWN,WAAOgE,GAClCxD,oBAAqB,KACrBU,qBAAsB,CAAA,EACtBC,8BAA8B,IAOlC4C,OAAOlE,oBAAoB,KACvB,MAAMyD,MAAEA,EAAKW,UAAEA,EAASC,eAAEA,GAAmBtE,KAAKI,OAC3CmE,EAAwBC,EAAkBC,EAAyBC,GAAiC1E,KAAKI,MAAMuE,mBAChHC,EAAqBlB,EAAQmB,EAAe,CAAER,YAAWC,kBAAkBZ,GAAS,KAErFoB,QAAQC,IAAI,CAACR,EAAwBC,EAAkBC,EAAyBC,EAA+BE,IAAqBI,KACrI,EAAE3D,EAAuBH,EAAUE,EAAwBD,EAAwBwC,MAkB/E,IAAAsB,EAjBAjF,KAAKgB,SAAS,CACV2C,cACAzC,WACAE,yBACAC,wBACAF,yBACAI,6BAAgE,IAAlCJ,EAAuBQ,SAGzD3B,KAAKa,UAAU,SAEf,MAAMqE,EAAQ,IAAIC,EAAmB,CACjCzE,KAAM0E,EACN/C,UAAW,SACXgD,WAAYrF,KAAKE,qBAGH,QAAlB+E,EAAAjF,KAAKI,MAAMkF,eAAX,IAAAL,GAAAA,EAAoBM,UAAUC,cAAcN,KAIpDlF,KAAK4D,cAAgB5D,KAAKyF,qBAU9BtB,OAAOtD,YAAY,CAACJ,EAA8BL,EAA2B,MACzEJ,KAAKgB,SAAS,CAAEP,OAAQ,CAAEC,KAAMD,EAAQL,aAG5C+D,EAAAnE,KAAQ0F,yBAA0BC,IAC1BA,IAAkB3F,KAAKW,MAAMC,sBAIjCZ,KAAKgB,SAASR,KACVI,oBAAqB+E,EACrBrE,qBAAsBsE,EAAAC,EAAA,CAAA,EAAKrF,EAAUc,sBAAoB,CAAE,CAACqE,EAAcG,MAAM,OAGhF9F,KAAKW,MAAMW,qBAAqBqE,EAAcG,MAC9CH,EAAcI,cAetB5B,EAAAnE,KAAQ4C,8BAA8B+C,IAClC,MAAM/E,oBAAEA,GAAwBZ,KAAKW,MAKrC,GAHAX,KAAK0F,uBAAuBC,GAGvB/E,GAAuBA,EAAoBkF,MAAQH,EAAcG,MAASlF,EAAqB,KAChGoF,EAAAnE,EAAmB,QAAnBmE,GAAAnE,EAAA7B,KAAKI,OAAMuC,gBAAX,IAAAqD,GAAAA,EAAAC,KAAApE,EAAsB8D,GAEtB,MAAMT,EAAQ,IAAIC,EAAmB,CACjCzE,KAAM0E,IAGVO,EAAcO,gBAAgBhB,EAClC,IAGJf,EAAAnE,KAAQ+D,mCAAmCoC,IACvCnG,KAAKgB,SAAS,CAAEuC,aAAa,IAE7B,IAAIuB,QAAQ,CAACsB,EAASC,IAAWrG,KAAKI,MAAM0D,6BAA6BqC,EAAoB/F,MAAMkG,sBAAuBF,EAASC,IAC9HrB,KAAK,KACFhF,KAAKgB,SAASR,KACVa,sBAAuBb,EAAUa,sBAAsBkF,OAAOC,GAAMA,EAAGV,MAAQK,EAAoBL,QAEvG9F,KAAKgB,SAAS,CAAEuC,aAAa,MAEhCkD,MAAM,KACHzG,KAAKgB,SAAS,CAAEuC,aAAa,QAIzCY,OAAiBd,sCAAsC,KAWnD,IAAA4B,EAVAjF,KAAKgB,SAAS,CACVO,8BAA8B,IAGlC,MAAM2D,EAAQ,IAAIC,EAAmB,CACjCzE,KAAMgG,EAAeC,QACrBC,OAAQ,4BACRvE,UAAW,WAGG,QAAlB4C,EAAAjF,KAAKI,MAAMkF,eAAX,IAAAL,GAAAA,EAAoBM,UAAUC,cAAcN,KAUhDf,OAAQsB,mBAAmB,IACnBzF,KAAKI,MAAMwD,cACHiD,IACJ,MAAMnD,EAAQoD,EAAcD,EAAKnD,OACjC,IAAIoB,QAAmC,CAACsB,EAASC,KAC7CrG,KAAKI,MAAMwD,cAAc,CAAEF,SAAS,CAAE0C,UAASC,aAE9CrB,KAAK,EAAG9C,YAAalC,KAAKI,MAAM2G,WAAWC,sCAAsC,KAAM9E,IACvFuE,MAAMQ,IACH,MAAM,IAAIC,EAAmB,gBAAiBD,MAI1DjH,KAAKI,MAAM+G,QACHN,GACJ7G,KAAKI,MAAM+G,QACNC,YAAYP,GACZ7B,KAAK,IAAMhF,KAAKI,MAAMiH,KAAKC,OAAO,CAAE5D,MAAO,QAC3C+C,MAAMQ,IACHM,QAAQN,MAAMA,GACdjH,KAAKa,WAAUoG,aAAAA,EAAAA,EAAOhF,UAAW,WAG1C,MAGXkC,EAAAnE,KAAQ4D,qBAAR"}
1
+ {"version":3,"file":"DropinComponent.js","sources":["../../../../../src/components/Dropin/components/DropinComponent.tsx"],"sourcesContent":["import { Component, Fragment, h } from 'preact';\nimport PaymentMethodList from './PaymentMethod/PaymentMethodList';\nimport Status from './status';\nimport getOrderStatus from '../../../core/Services/order-status';\nimport './DropinComponent.scss';\nimport { sanitizeOrder } from '../../internal/UIElement/utils';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { ANALYTICS_RENDERED_STR } from '../../../core/Analytics/constants';\nimport AdyenCheckoutError from '../../../core/Errors/AdyenCheckoutError';\nimport Button from '../../internal/Button';\nimport type { DropinComponentProps, DropinComponentState, DropinStatus, DropinStatusProps, onOrderCancelData } from '../types';\nimport UIElement from '../../internal/UIElement';\nimport { AnalyticsInfoEvent, InfoEventType } from '../../../core/Analytics/AnalyticsInfoEvent';\n\nexport class DropinComponent extends Component<DropinComponentProps, DropinComponentState> {\n public state: DropinComponentState = {\n elements: [],\n fastlanePaymentElement: [],\n instantPaymentElements: [],\n storedPaymentElements: [],\n orderStatus: null,\n isDisabling: false,\n status: { type: 'loading', props: undefined },\n activePaymentMethod: null,\n cachedPaymentMethods: {},\n showDefaultPaymentMethodList: true\n };\n\n componentDidMount() {\n this.prepareDropinData();\n }\n\n public prepareDropinData = () => {\n const { order, clientKey, loadingContext } = this.props;\n const [storedElementsPromises, elementsPromises, instantPaymentsPromises, fastlanePaymentElementPromise] = this.props.onCreateElements();\n const orderStatusPromise = order ? getOrderStatus({ clientKey, loadingContext }, order) : null;\n\n void Promise.all([storedElementsPromises, elementsPromises, instantPaymentsPromises, fastlanePaymentElementPromise, orderStatusPromise]).then(\n ([storedPaymentElements, elements, instantPaymentElements, fastlanePaymentElement, orderStatus]) => {\n this.setState({\n orderStatus,\n elements,\n instantPaymentElements,\n storedPaymentElements,\n fastlanePaymentElement,\n showDefaultPaymentMethodList: fastlanePaymentElement.length === 0\n });\n\n this.setStatus('ready');\n\n const event = new AnalyticsInfoEvent({\n type: ANALYTICS_RENDERED_STR,\n component: 'dropin',\n configData: this.analyticConfigData\n });\n\n this.props.modules?.analytics.sendAnalytics(event);\n }\n );\n\n this.onOrderCancel = this.getOnOrderCancel();\n };\n\n get analyticConfigData() {\n return {\n openFirstStoredPaymentMethod: this.props.openFirstStoredPaymentMethod,\n showStoredPaymentMethods: this.props.showStoredPaymentMethods\n };\n }\n\n public setStatus = (status: DropinStatus['type'], props: DropinStatusProps = {}) => {\n this.setState({ status: { type: status, props } });\n };\n\n private setActivePaymentMethod = (paymentMethod: UIElement): void => {\n if (paymentMethod === this.state.activePaymentMethod) {\n return;\n }\n\n this.setState(prevState => ({\n activePaymentMethod: paymentMethod,\n cachedPaymentMethods: { ...prevState.cachedPaymentMethods, [paymentMethod._id]: true }\n }));\n\n if (this.state.cachedPaymentMethods[paymentMethod._id]) {\n paymentMethod.activate();\n }\n };\n\n componentDidUpdate(prevProps, prevState) {\n if (prevState.status.type !== this.state.status.type && this.state.activePaymentMethod) {\n // @ts-ignore TODO: Drop-in has its own 'status' values ('custom' for ex) which differs from regular UIElementStatus. Need to investigate best way to define/use this status variable\n this.state.activePaymentMethod.setStatus(this.state.status.type);\n }\n\n if (this.state.status.type === 'ready' && prevState.status.type !== 'ready' && this.props.onReady) {\n this.props.onReady();\n }\n }\n\n private handleOnSelectPaymentMethod = paymentMethod => {\n const { activePaymentMethod } = this.state;\n\n this.setActivePaymentMethod(paymentMethod);\n\n // onSelect event\n if ((activePaymentMethod && activePaymentMethod._id !== paymentMethod._id) || !activePaymentMethod) {\n this.props.onSelect?.(paymentMethod);\n\n const event = new AnalyticsInfoEvent({\n type: ANALYTICS_RENDERED_STR\n });\n\n paymentMethod.submitAnalytics(event);\n }\n };\n\n private handleDisableStoredPaymentMethod = storedPaymentMethod => {\n this.setState({ isDisabling: true });\n\n new Promise((resolve, reject) => this.props.onDisableStoredPaymentMethod(storedPaymentMethod.props.storedPaymentMethodId, resolve, reject))\n .then(() => {\n this.setState(prevState => ({\n storedPaymentElements: prevState.storedPaymentElements.filter(pm => pm._id !== storedPaymentMethod._id)\n }));\n this.setState({ isDisabling: false });\n })\n .catch(() => {\n this.setState({ isDisabling: false });\n });\n };\n\n private readonly onShowDefaultPaymentMethodListClick = () => {\n this.setState({\n showDefaultPaymentMethodList: true\n });\n\n const event = new AnalyticsInfoEvent({\n type: InfoEventType.clicked,\n target: 'otherpaymentmethod_button',\n component: 'dropin'\n });\n\n this.props.modules?.analytics.sendAnalytics(event);\n };\n\n closeActivePaymentMethod() {\n this.setState({ activePaymentMethod: null });\n }\n\n /**\n * getOnOrderCancel decides which onOrderCancel logic should be used, manual or sessions\n */\n private getOnOrderCancel = () => {\n if (this.props.onOrderCancel) {\n return (data: onOrderCancelData) => {\n const order = sanitizeOrder(data.order);\n new Promise<{ amount: PaymentAmount }>((resolve, reject) => {\n this.props.onOrderCancel({ order }, { resolve, reject });\n })\n .then(({ amount }) => this.props.elementRef.handleAdvanceFlowPaymentMethodsUpdate(null, amount))\n .catch(error => {\n throw new AdyenCheckoutError('NETWORK_ERROR', error);\n });\n };\n }\n if (this.props.session) {\n return (data: onOrderCancelData) =>\n this.props.session\n .cancelOrder(data)\n .then(() => this.props.core.update({ order: null }))\n .catch(error => {\n console.error(error);\n this.setStatus(error?.message || 'error');\n });\n }\n return null;\n };\n\n private onOrderCancel: (data: onOrderCancelData) => void;\n\n render() {\n const {\n elements,\n fastlanePaymentElement,\n instantPaymentElements,\n storedPaymentElements,\n status,\n activePaymentMethod,\n cachedPaymentMethods,\n showDefaultPaymentMethodList\n } = this.state;\n\n const isLoading = status.type === 'loading';\n const isRedirecting = status.type === 'redirect';\n const hasPaymentMethodsToBeDisplayed = !!(elements?.length || instantPaymentElements?.length || storedPaymentElements?.length);\n\n switch (status.type) {\n case 'success':\n return <Status.Success message={this.props?.amount?.value === 0 ? 'resultMessages.preauthorized' : status.props?.message} />;\n\n case 'error':\n return <Status.Error message={status.props?.message} />;\n\n case 'custom':\n return status.props?.component?.render();\n\n default:\n return (\n <div className={`adyen-checkout__dropin adyen-checkout__dropin--${status.type}`}>\n {isRedirecting && status.props.component && status.props.component.render()}\n {isLoading && status.props && status.props.component && status.props.component.render()}\n\n {!showDefaultPaymentMethodList && (\n <Fragment>\n <PaymentMethodList\n isLoading={isLoading}\n paymentMethods={fastlanePaymentElement}\n activePaymentMethod={activePaymentMethod}\n cachedPaymentMethods={cachedPaymentMethods}\n onSelect={this.handleOnSelectPaymentMethod}\n openFirstPaymentMethod\n showRadioButton={this.props.showRadioButton}\n />\n\n {hasPaymentMethodsToBeDisplayed && (\n <Button\n classNameModifiers={['dropin-show-paymentmethods']}\n variant=\"link\"\n inline\n label=\"Other payment methods\"\n onClick={this.onShowDefaultPaymentMethodListClick}\n />\n )}\n </Fragment>\n )}\n\n {hasPaymentMethodsToBeDisplayed && showDefaultPaymentMethodList && (\n <PaymentMethodList\n isLoading={isLoading || isRedirecting}\n isDisablingPaymentMethod={this.state.isDisabling}\n paymentMethods={elements}\n instantPaymentMethods={instantPaymentElements}\n storedPaymentMethods={storedPaymentElements}\n activePaymentMethod={activePaymentMethod}\n cachedPaymentMethods={cachedPaymentMethods}\n order={this.props.order}\n orderStatus={this.state.orderStatus}\n onOrderCancel={this.onOrderCancel}\n onSelect={this.handleOnSelectPaymentMethod}\n openPaymentMethod={this.props.openPaymentMethod}\n openFirstPaymentMethod={this.props.openFirstPaymentMethod}\n openFirstStoredPaymentMethod={this.props.openFirstStoredPaymentMethod}\n onDisableStoredPaymentMethod={this.handleDisableStoredPaymentMethod}\n showRemovePaymentMethodButton={this.props.showRemovePaymentMethodButton}\n showRadioButton={this.props.showRadioButton}\n />\n )}\n </div>\n );\n }\n }\n}\n\nexport default DropinComponent;\n"],"names":["DropinComponent","Component","componentDidMount","this","prepareDropinData","analyticConfigData","openFirstStoredPaymentMethod","props","showStoredPaymentMethods","componentDidUpdate","prevProps","prevState","status","type","state","activePaymentMethod","setStatus","onReady","closeActivePaymentMethod","setState","render","elements","fastlanePaymentElement","instantPaymentElements","storedPaymentElements","cachedPaymentMethods","showDefaultPaymentMethodList","isLoading","isRedirecting","hasPaymentMethodsToBeDisplayed","length","_this_props_amount","_this_props","h","Status","Success","message","amount","value","Error","component","div","className","Fragment","PaymentMethodList","paymentMethods","onSelect","handleOnSelectPaymentMethod","openFirstPaymentMethod","showRadioButton","Button","classNameModifiers","variant","inline","label","onClick","onShowDefaultPaymentMethodListClick","isDisablingPaymentMethod","isDisabling","instantPaymentMethods","storedPaymentMethods","order","orderStatus","onOrderCancel","openPaymentMethod","onDisableStoredPaymentMethod","handleDisableStoredPaymentMethod","showRemovePaymentMethodButton","super","args","_define_property","undefined","clientKey","loadingContext","storedElementsPromises","elementsPromises","instantPaymentsPromises","fastlanePaymentElementPromise","onCreateElements","orderStatusPromise","getOrderStatus","Promise","all","then","_this_props_modules","event","AnalyticsInfoEvent","ANALYTICS_RENDERED_STR","configData","modules","analytics","sendAnalytics","getOnOrderCancel","setActivePaymentMethod","paymentMethod","_object_spread_props","_object_spread","_id","activate","_this_props_onSelect","call","submitAnalytics","storedPaymentMethod","resolve","reject","storedPaymentMethodId","filter","pm","catch","InfoEventType","clicked","target","data","sanitizeOrder","elementRef","handleAdvanceFlowPaymentMethodsUpdate","error","AdyenCheckoutError","session","cancelOrder","core","update","console"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./GooglePayService.js";import r from"./components/GooglePayButton.js";import n from"./defaultProps.js";import{getGooglePayLocale as s,formatGooglePayContactToAdyenAddressFormat as i}from"./utils.js";import a from"../../utils/browserInfo.js";import l from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as h}from"../tx-variants.js";import{sanitizeResponse as p,verifyPaymentDidNotFail as c}from"../internal/UIElement/utils.js";import{ANALYTICS_RENDERED_STR as y,ANALYTICS_INSTANT_PAYMENT_BUTTON as d,ANALYTICS_SELECTED_STR as u,ANALYTICS_EXPRESS_PAGES_ARRAY as g}from"../../core/Analytics/constants.js";import{AnalyticsInfoEvent as m}from"../../core/Analytics/AnalyticsInfoEvent.js";function P(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function b(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable}))),r.forEach(function(e){P(t,e,o[e])})}return t}function f(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e.push.apply(e,o)}return e}(Object(e)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(e,o))}),t}class E extends e{getPaymentMethodFromPaymentMethodsResponse(t){return this.core.paymentMethodsResponse.find(t||this.constructor.type)||this.core.paymentMethodsResponse.find(h.paywithgoogle)}formatProps(t){var e,o;const r=null!==(o=t.buttonSizeMode)&&void 0!==o?o:t.isDropin?"fill":"static";var n;const i=s(null!==(n=t.buttonLocale)&&void 0!==n?n:null===(e=t.i18n)||void 0===e?void 0:e.locale),a=[...t.callbackIntents,"PAYMENT_AUTHORIZATION"];return f(b({},t),{configuration:t.configuration,buttonSizeMode:r,buttonLocale:i,callbackIntents:a})}formatData(){const{googlePayCardNetwork:t,googlePayToken:e,billingAddress:o,deliveryAddress:r}=this.state,{isExpress:n}=this.props;return b({paymentMethod:b({type:this.type,googlePayCardNetwork:t,googlePayToken:e},n&&{subtype:"express"}),browserInfo:this.browserInfo,origin:!!window&&window.location.origin},o&&{billingAddress:o},r&&{deliveryAddress:r})}submitAnalytics(t){if(t instanceof m&&t.type===y){const{isExpress:e,expressPage:o}=this.props,r=o&&g.includes(o);"boolean"==typeof e&&(t.isExpress=e),!0===e&&r&&(t.expressPage=o)}super.submitAnalytics(t)}showGooglePayPaymentSheet(){this.googlePay.initiatePayment(this.props,this.core.options.countryCode).catch(t=>{this.handleError(new l("CANCELED"===t.statusCode?"CANCEL":"ERROR",t.toString(),{cause:t}))})}async handleAuthorization(){return new Promise((t,e)=>{this.props.onAuthorized||t();const{authorizedEvent:o,billingAddress:r,deliveryAddress:n}=this.state;this.props.onAuthorized(b({authorizedEvent:o},r&&{billingAddress:r},n&&{deliveryAddress:n}),{resolve:t,reject:e})}).catch(t=>{const e={error:{googlePayError:t}};return Promise.reject(e)})}get isValid(){return!0}async isAvailable(){return this.isReadyToPay().then(t=>{if(!t.result)throw new l("ERROR","GooglePay is not available");if(!1===t.paymentMethodPresent)throw new l("ERROR","GooglePay - No paymentMethodPresent");return Promise.resolve()}).catch(t=>Promise.reject(t))}get browserInfo(){return a()}get icon(){var t;return null!==(t=this.props.icon)&&void 0!==t?t:this.resources.getImage()("googlepay")}render(){return this.props.showPayButton?t(r,{buttonColor:this.props.buttonColor,buttonType:this.props.buttonType,buttonSizeMode:this.props.buttonSizeMode,buttonLocale:this.props.buttonLocale,buttonRootNode:this.props.buttonRootNode,buttonRadius:this.props.buttonRadius,paymentsClient:this.googlePay.paymentsClient,onClick:this.submit}):null}constructor(t,e){super(t,e),P(this,"googlePay",void 0),P(this,"submit",()=>{if(this.props.isInstantPayment){const t=new m({type:u,target:d});this.submitAnalytics(t)}new Promise((t,e)=>this.props.onClick(t,e)).then(this.showGooglePayPaymentSheet).catch(()=>{})}),P(this,"onPaymentAuthorized",async t=>{const e=i(t.paymentMethodData.info.billingAddress),o=i(t.shippingAddress,!0);return this.setState(b({authorizedEvent:t,googlePayToken:t.paymentMethodData.tokenizationData.token,googlePayCardNetwork:t.paymentMethodData.info.cardNetwork},e&&{billingAddress:e},o&&{deliveryAddress:o})),new Promise(t=>{this.handleAuthorization().then(this.makePaymentsCall).then(p).then(c).then(e=>(t({transactionState:"SUCCESS"}),e)).then(t=>{this.handleResponse(t)}).catch(e=>{var o;this.setElementStatus("ready");const r=null==e||null===(o=e.error)||void 0===o?void 0:o.googlePayError,n=this.props.i18n.get("error.subtitle.payment"),s="string"==typeof r?{intent:"PAYMENT_AUTHORIZATION",reason:"OTHER_ERROR",message:r||n}:{intent:(null==r?void 0:r.intent)||"PAYMENT_AUTHORIZATION",reason:(null==r?void 0:r.reason)||"OTHER_ERROR",message:(null==r?void 0:r.message)||n};t({transactionState:"ERROR",error:s});const i=f(b({},e),{error:{googlePayError:s}});this.handleFailedResult(i)})})}),P(this,"isReadyToPay",()=>this.googlePay.isReadyToPay(this.props)),P(this,"prefetch",()=>this.googlePay.prefetchPaymentData(this.props,this.core.options.countryCode)),this.handleAuthorization=this.handleAuthorization.bind(this),this.showGooglePayPaymentSheet=this.showGooglePayPaymentSheet.bind(this);const{isExpress:r,paymentDataCallbacks:n}=this.props;if(!1===r&&(null==n?void 0:n.onPaymentDataChanged))throw new l("IMPLEMENTATION_ERROR",'GooglePay - You must set "isExpress" flag to "true" in order to use "onPaymentDataChanged" callback');if(!this.props.configuration.merchantId)throw new l("IMPLEMENTATION_ERROR","GooglePay - Missing merchantId. Please ensure that it is correctly configured in your customer area.");this.googlePay=new o(this.props.environment,f(b({},r&&(null==n?void 0:n.onPaymentDataChanged)&&{onPaymentDataChanged:n.onPaymentDataChanged}),{onPaymentAuthorized:this.onPaymentAuthorized}))}}P(E,"type",h.googlepay),P(E,"txVariants",[h.googlepay,h.paywithgoogle]),P(E,"defaultProps",n);export{E as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./GooglePayService.js";import r from"./components/GooglePayButton.js";import s from"./defaultProps.js";import{getGooglePayLocale as n,formatGooglePayContactToAdyenAddressFormat as i}from"./utils.js";import a from"../../utils/browserInfo.js";import l from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as h}from"../tx-variants.js";import{sanitizeResponse as d,verifyPaymentDidNotFail as p}from"../internal/UIElement/utils.js";import{ANALYTICS_RENDERED_STR as c,ANALYTICS_INSTANT_PAYMENT_BUTTON as u,ANALYTICS_SELECTED_STR as y,ANALYTICS_EXPRESS_PAGES_ARRAY as g}from"../../core/Analytics/constants.js";import{AnalyticsInfoEvent as m}from"../../core/Analytics/AnalyticsInfoEvent.js";import{mapGooglePayBrands as P}from"./utils/map-adyen-brands-to-googlepay-brands.js";function b(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function f(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable}))),r.forEach(function(e){b(t,e,o[e])})}return t}function w(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e.push.apply(e,o)}return e}(Object(e)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(e,o))}),t}const A=["AMEX","DISCOVER","JCB","MASTERCARD","VISA"];class E extends e{getPaymentMethodFromPaymentMethodsResponse(t){return this.core.paymentMethodsResponse.find(t||this.constructor.type)||this.core.paymentMethodsResponse.find(h.paywithgoogle)}formatProps(t){var e,o;const r=null!==(o=t.buttonSizeMode)&&void 0!==o?o:t.isDropin?"fill":"static";var s;const i=n(null!==(s=t.buttonLocale)&&void 0!==s?s:null===(e=t.i18n)||void 0===e?void 0:e.locale),a=[...t.callbackIntents,"PAYMENT_AUTHORIZATION"],l=this.createAllowedCardNetworksValues({allowedCardNetworks:t.allowedCardNetworks,brands:t.brands});return w(f({},t),{allowedCardNetworks:l,configuration:t.configuration,buttonSizeMode:r,buttonLocale:i,callbackIntents:a})}formatData(){const{googlePayCardNetwork:t,googlePayToken:e,billingAddress:o,deliveryAddress:r}=this.state,{isExpress:s}=this.props;return f({paymentMethod:f({type:this.type,googlePayCardNetwork:t,googlePayToken:e},s&&{subtype:"express"}),browserInfo:this.browserInfo,origin:!!window&&window.location.origin},o&&{billingAddress:o},r&&{deliveryAddress:r})}createAllowedCardNetworksValues({allowedCardNetworks:t,brands:e}){return(null==t?void 0:t.length)>0?t:(null==e?void 0:e.length)>0?P(e):A}submitAnalytics(t){if(t instanceof m&&t.type===c){const{isExpress:e,expressPage:o}=this.props,r=o&&g.includes(o);"boolean"==typeof e&&(t.isExpress=e),!0===e&&r&&(t.expressPage=o)}super.submitAnalytics(t)}showGooglePayPaymentSheet(){this.googlePay.initiatePayment(this.props,this.core.options.countryCode).catch(t=>{this.handleError(new l("CANCELED"===t.statusCode?"CANCEL":"ERROR",t.toString(),{cause:t}))})}async handleAuthorization(){return new Promise((t,e)=>{this.props.onAuthorized||t();const{authorizedEvent:o,billingAddress:r,deliveryAddress:s}=this.state;this.props.onAuthorized(f({authorizedEvent:o},r&&{billingAddress:r},s&&{deliveryAddress:s}),{resolve:t,reject:e})}).catch(t=>{const e={error:{googlePayError:t}};return Promise.reject(e)})}get isValid(){return!0}async isAvailable(){return this.isReadyToPay().then(t=>{if(!t.result)throw new l("ERROR","GooglePay is not available");if(!1===t.paymentMethodPresent)throw new l("ERROR","GooglePay - No paymentMethodPresent");return Promise.resolve()}).catch(t=>Promise.reject(t))}get browserInfo(){return a()}get icon(){var t;return null!==(t=this.props.icon)&&void 0!==t?t:this.resources.getImage()("googlepay")}render(){return this.props.showPayButton?t(r,{buttonColor:this.props.buttonColor,buttonType:this.props.buttonType,buttonSizeMode:this.props.buttonSizeMode,buttonLocale:this.props.buttonLocale,buttonRootNode:this.props.buttonRootNode,buttonRadius:this.props.buttonRadius,paymentsClient:this.googlePay.paymentsClient,onClick:this.submit}):null}constructor(t,e){super(t,e),b(this,"googlePay",void 0),b(this,"submit",()=>{if(this.props.isInstantPayment){const t=new m({type:y,target:u});this.submitAnalytics(t)}new Promise((t,e)=>this.props.onClick(t,e)).then(this.showGooglePayPaymentSheet).catch(()=>{})}),b(this,"onPaymentAuthorized",async t=>{const e=i(t.paymentMethodData.info.billingAddress),o=i(t.shippingAddress,!0);return this.setState(f({authorizedEvent:t,googlePayToken:t.paymentMethodData.tokenizationData.token,googlePayCardNetwork:t.paymentMethodData.info.cardNetwork},e&&{billingAddress:e},o&&{deliveryAddress:o})),new Promise(t=>{this.handleAuthorization().then(this.makePaymentsCall).then(d).then(p).then(e=>(t({transactionState:"SUCCESS"}),e)).then(t=>{this.handleResponse(t)}).catch(e=>{var o;this.setElementStatus("ready");const r=null==e||null===(o=e.error)||void 0===o?void 0:o.googlePayError,s=this.props.i18n.get("error.subtitle.payment"),n="string"==typeof r?{intent:"PAYMENT_AUTHORIZATION",reason:"OTHER_ERROR",message:r||s}:{intent:(null==r?void 0:r.intent)||"PAYMENT_AUTHORIZATION",reason:(null==r?void 0:r.reason)||"OTHER_ERROR",message:(null==r?void 0:r.message)||s};t({transactionState:"ERROR",error:n});const i=w(f({},e),{error:{googlePayError:n}});this.handleFailedResult(i)})})}),b(this,"isReadyToPay",()=>this.googlePay.isReadyToPay(this.props)),b(this,"prefetch",()=>this.googlePay.prefetchPaymentData(this.props,this.core.options.countryCode)),this.handleAuthorization=this.handleAuthorization.bind(this),this.showGooglePayPaymentSheet=this.showGooglePayPaymentSheet.bind(this);const{isExpress:r,paymentDataCallbacks:s}=this.props;if(!1===r&&(null==s?void 0:s.onPaymentDataChanged))throw new l("IMPLEMENTATION_ERROR",'GooglePay - You must set "isExpress" flag to "true" in order to use "onPaymentDataChanged" callback');if(!this.props.configuration.merchantId)throw new l("IMPLEMENTATION_ERROR","GooglePay - Missing merchantId. Please ensure that it is correctly configured in your customer area.");this.googlePay=new o(this.props.environment,this.analytics,w(f({},r&&(null==s?void 0:s.onPaymentDataChanged)&&{onPaymentDataChanged:s.onPaymentDataChanged}),{onPaymentAuthorized:this.onPaymentAuthorized}))}}b(E,"type",h.googlepay),b(E,"txVariants",[h.googlepay,h.paywithgoogle]),b(E,"defaultProps",s);export{E as default};
2
2
  //# sourceMappingURL=GooglePay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GooglePay.js","sources":["../../../../src/components/GooglePay/GooglePay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GooglePayService from './GooglePayService';\nimport GooglePayButton from './components/GooglePayButton';\nimport defaultProps from './defaultProps';\nimport { formatGooglePayContactToAdyenAddressFormat, getGooglePayLocale } from './utils';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport {\n ANALYTICS_EXPRESS_PAGES_ARRAY,\n ANALYTICS_INSTANT_PAYMENT_BUTTON,\n ANALYTICS_RENDERED_STR,\n ANALYTICS_SELECTED_STR\n} from '../../core/Analytics/constants';\n\nimport type { AddressData, BrowserInfo, PaymentMethod, PaymentResponseData, RawPaymentResponse } from '../../types/global-types';\nimport type { GooglePayConfiguration } from './types';\nimport type { ICore } from '../../core/types';\nimport { AnalyticsInfoEvent } from '../../core/Analytics/AnalyticsInfoEvent';\nimport { AnalyticsEvent } from '../../core/Analytics/AnalyticsEvent';\n\nclass GooglePay extends UIElement<GooglePayConfiguration> {\n public static type = TxVariants.googlepay;\n public static txVariants = [TxVariants.googlepay, TxVariants.paywithgoogle];\n public static defaultProps = defaultProps;\n\n protected readonly googlePay;\n\n constructor(checkout: ICore, props?: GooglePayConfiguration) {\n super(checkout, props);\n this.handleAuthorization = this.handleAuthorization.bind(this);\n this.showGooglePayPaymentSheet = this.showGooglePayPaymentSheet.bind(this);\n\n const { isExpress, paymentDataCallbacks } = this.props;\n\n if (isExpress === false && paymentDataCallbacks?.onPaymentDataChanged) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'GooglePay - You must set \"isExpress\" flag to \"true\" in order to use \"onPaymentDataChanged\" callback'\n );\n }\n\n if (!this.props.configuration.merchantId) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'GooglePay - Missing merchantId. Please ensure that it is correctly configured in your customer area.'\n );\n }\n\n this.googlePay = new GooglePayService(this.props.environment, {\n ...(isExpress && paymentDataCallbacks?.onPaymentDataChanged && { onPaymentDataChanged: paymentDataCallbacks.onPaymentDataChanged }),\n onPaymentAuthorized: this.onPaymentAuthorized\n });\n }\n\n /**\n * Google Pay requires custom logic due to supporting two Tx variants that lead to the same payment method.\n * If the merchant creates a standalone Google Pay component, we need to verify if the payment method is available using both tx variants\n *\n * @param type\n * @returns\n */\n protected override getPaymentMethodFromPaymentMethodsResponse(type?: string): PaymentMethod {\n return (\n this.core.paymentMethodsResponse.find(type || this.constructor['type']) || this.core.paymentMethodsResponse.find(TxVariants.paywithgoogle)\n );\n }\n\n protected override formatProps(props): GooglePayConfiguration {\n const buttonSizeMode = props.buttonSizeMode ?? (props.isDropin ? 'fill' : 'static');\n const buttonLocale = getGooglePayLocale(props.buttonLocale ?? props.i18n?.locale);\n\n const callbackIntents: google.payments.api.CallbackIntent[] = [...props.callbackIntents, 'PAYMENT_AUTHORIZATION'];\n\n return {\n ...props,\n configuration: props.configuration,\n buttonSizeMode,\n buttonLocale,\n callbackIntents\n };\n }\n\n /**\n * Formats the component data output\n */\n protected override formatData() {\n const { googlePayCardNetwork, googlePayToken, billingAddress, deliveryAddress } = this.state;\n const { isExpress } = this.props;\n\n return {\n paymentMethod: {\n type: this.type,\n googlePayCardNetwork,\n googlePayToken,\n ...(isExpress && { subtype: 'express' })\n },\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n };\n }\n\n protected submitAnalytics(analyticsObj: AnalyticsEvent) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n if (analyticsObj instanceof AnalyticsInfoEvent && analyticsObj.type === ANALYTICS_RENDERED_STR) {\n const { isExpress, expressPage } = this.props;\n const hasExpressPage = expressPage && ANALYTICS_EXPRESS_PAGES_ARRAY.includes(expressPage);\n\n if (typeof isExpress === 'boolean') {\n analyticsObj.isExpress = isExpress;\n }\n\n if (isExpress === true && hasExpressPage) {\n analyticsObj.expressPage = expressPage; // We only care about the expressPage value if isExpress is true\n }\n }\n\n super.submitAnalytics(analyticsObj);\n }\n\n /**\n * Displays the Google Pay payment sheet overlay\n */\n private showGooglePayPaymentSheet() {\n this.googlePay.initiatePayment(this.props, this.core.options.countryCode).catch((error: google.payments.api.PaymentsError) => {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n this.handleError(new AdyenCheckoutError(error.statusCode === 'CANCELED' ? 'CANCEL' : 'ERROR', error.toString(), { cause: error }));\n });\n }\n\n public override submit = () => {\n if (this.props.isInstantPayment) {\n const event = new AnalyticsInfoEvent({\n type: ANALYTICS_SELECTED_STR,\n target: ANALYTICS_INSTANT_PAYMENT_BUTTON\n });\n\n this.submitAnalytics(event);\n }\n\n new Promise<void>((resolve, reject) => this.props.onClick(resolve, reject)).then(this.showGooglePayPaymentSheet).catch(() => {\n // Swallow exception triggered by onClick reject\n });\n };\n\n /**\n * Method called when the payment is authorized in the payment sheet\n *\n * @see https://developers.google.com/pay/api/web/reference/client#onPaymentAuthorized\n **/\n private onPaymentAuthorized = async (paymentData: google.payments.api.PaymentData): Promise<google.payments.api.PaymentAuthorizationResult> => {\n const billingAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.paymentMethodData.info.billingAddress);\n const deliveryAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.shippingAddress, true);\n\n this.setState({\n authorizedEvent: paymentData,\n googlePayToken: paymentData.paymentMethodData.tokenizationData.token,\n googlePayCardNetwork: paymentData.paymentMethodData.info.cardNetwork,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n return new Promise<google.payments.api.PaymentAuthorizationResult>(resolve => {\n this.handleAuthorization()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then((paymentResponse: PaymentResponseData) => {\n resolve({ transactionState: 'SUCCESS' });\n return paymentResponse;\n })\n .then(paymentResponse => {\n this.handleResponse(paymentResponse);\n })\n .catch((paymentResponse?: RawPaymentResponse) => {\n this.setElementStatus('ready');\n\n const googlePayError = paymentResponse?.error?.googlePayError;\n const fallbackMessage = this.props.i18n.get('error.subtitle.payment');\n\n const error: google.payments.api.PaymentDataError =\n typeof googlePayError === 'string' || undefined\n ? {\n intent: 'PAYMENT_AUTHORIZATION',\n reason: 'OTHER_ERROR',\n message: (googlePayError as string) || fallbackMessage\n }\n : {\n intent: googlePayError?.intent || 'PAYMENT_AUTHORIZATION',\n reason: googlePayError?.reason || 'OTHER_ERROR',\n message: googlePayError?.message || fallbackMessage\n };\n\n resolve({\n transactionState: 'ERROR',\n error\n });\n\n const responseWithError = {\n ...paymentResponse,\n error: {\n googlePayError: error\n }\n };\n\n this.handleFailedResult(responseWithError);\n });\n });\n };\n\n /**\n * Call the 'onAuthorized' callback if available.\n * Must be resolved/reject for the payment flow to continue\n */\n private async handleAuthorization(): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (!this.props.onAuthorized) {\n resolve();\n }\n\n const { authorizedEvent, billingAddress, deliveryAddress } = this.state;\n\n this.props.onAuthorized(\n {\n authorizedEvent,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n );\n }).catch((error?: google.payments.api.PaymentDataError | string) => {\n // Format error in a way that the 'catch' of the 'onPaymentAuthorize' block accepts it\n const data = { error: { googlePayError: error } };\n return Promise.reject(data);\n });\n }\n\n public get isValid(): boolean {\n return true;\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public override async isAvailable(): Promise<void> {\n return this.isReadyToPay()\n .then(response => {\n if (!response.result) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay is not available');\n }\n\n if (response.paymentMethodPresent === false) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay - No paymentMethodPresent');\n }\n\n return Promise.resolve();\n })\n .catch(error => {\n return Promise.reject(error);\n });\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public isReadyToPay = (): Promise<google.payments.api.IsReadyToPayResponse> => {\n return this.googlePay.isReadyToPay(this.props);\n };\n\n /**\n * Use this method to prefetch a PaymentDataRequest configuration to improve loadPaymentData execution time on later user interaction. No value is returned.\n */\n public prefetch = (): void => {\n return this.googlePay.prefetchPaymentData(this.props, this.core.options.countryCode);\n };\n\n get browserInfo(): BrowserInfo {\n return collectBrowserInfo();\n }\n\n get icon(): string {\n return this.props.icon ?? this.resources.getImage()('googlepay');\n }\n\n render() {\n if (this.props.showPayButton) {\n return (\n <GooglePayButton\n buttonColor={this.props.buttonColor}\n buttonType={this.props.buttonType}\n buttonSizeMode={this.props.buttonSizeMode}\n buttonLocale={this.props.buttonLocale}\n buttonRootNode={this.props.buttonRootNode}\n buttonRadius={this.props.buttonRadius}\n paymentsClient={this.googlePay.paymentsClient}\n onClick={this.submit}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default GooglePay;\n"],"names":["GooglePay","UIElement","getPaymentMethodFromPaymentMethodsResponse","type","this","core","paymentMethodsResponse","find","constructor","TxVariants","paywithgoogle","formatProps","props","buttonSizeMode","isDropin","buttonLocale","getGooglePayLocale","i18n","locale","callbackIntents","_object_spread_props","_object_spread","configuration","formatData","googlePayCardNetwork","googlePayToken","billingAddress","deliveryAddress","state","isExpress","paymentMethod","subtype","browserInfo","origin","window","location","submitAnalytics","analyticsObj","AnalyticsInfoEvent","ANALYTICS_RENDERED_STR","expressPage","hasExpressPage","ANALYTICS_EXPRESS_PAGES_ARRAY","includes","super","showGooglePayPaymentSheet","googlePay","initiatePayment","options","countryCode","catch","error","handleError","AdyenCheckoutError","statusCode","toString","cause","handleAuthorization","Promise","resolve","reject","onAuthorized","authorizedEvent","data","googlePayError","isValid","isAvailable","isReadyToPay","then","response","result","paymentMethodPresent","collectBrowserInfo","icon","_this_props_icon","resources","getImage","render","showPayButton","h","GooglePayButton","buttonColor","buttonType","buttonRootNode","buttonRadius","paymentsClient","onClick","submit","checkout","_define_property","isInstantPayment","event","ANALYTICS_SELECTED_STR","target","ANALYTICS_INSTANT_PAYMENT_BUTTON","onPaymentAuthorized","async","paymentData","formatGooglePayContactToAdyenAddressFormat","paymentMethodData","info","shippingAddress","setState","tokenizationData","token","cardNetwork","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","paymentResponse","transactionState","handleResponse","setElementStatus","fallbackMessage","get","intent","reason","message","responseWithError","handleFailedResult","prefetch","prefetchPaymentData","bind","paymentDataCallbacks","onPaymentDataChanged","merchantId","GooglePayService","environment","googlepay","txVariants","defaultProps"],"mappings":"inDAuBA,MAAMA,UAAkBC,EAyCDC,0CAAAA,CAA2CC,GAC1D,OACIC,KAAKC,KAAKC,uBAAuBC,KAAKJ,GAAQC,KAAKI,YAAY,OAAYJ,KAAKC,KAAKC,uBAAuBC,KAAKE,EAAWC,cAEpI,CAEmBC,WAAAA,CAAYC,GAEmCA,IAAAA,EADvCA,EAAvB,MAAMC,EAAqC,QAApBD,EAAAA,EAAMC,sBAAND,IAAAA,EAAAA,EAAyBA,EAAME,SAAW,OAAS,SAClCF,IAAAA,EAAxC,MAAMG,EAAeC,EAAqC,QAAlBJ,EAAAA,EAAMG,oBAANH,IAAAA,EAAAA,EAAgC,QAAVA,EAAAA,EAAMK,YAANL,IAAAA,OAAAA,EAAAA,EAAYM,QAEpEC,EAAwD,IAAIP,EAAMO,gBAAiB,yBAEzF,OAAOC,EAAAC,EAAA,CAAA,EACAT,GAAAA,CACHU,cAAeV,EAAMU,cACrBT,iBACAE,eACAI,mBAER,CAKA,UAAAI,GACI,MAAMC,qBAAEA,EAAoBC,eAAEA,EAAcC,eAAEA,EAAcC,gBAAEA,GAAoBvB,KAAKwB,OACjFC,UAAEA,GAAczB,KAAKQ,MAE3B,OAAOS,EAAA,CACHS,cAAeT,EAAA,CACXlB,KAAMC,KAAKD,KACXqB,uBACAC,kBACII,GAAa,CAAEE,QAAS,YAEhCC,YAAa5B,KAAK4B,YAClBC,SAAUC,QAAUA,OAAOC,SAASF,QAChCP,GAAkB,CAAEA,kBACpBC,GAAmB,CAAEA,mBAEjC,CAEUS,eAAAA,CAAgBC,GAEtB,GAAIA,aAAwBC,GAAsBD,EAAalC,OAASoC,EAAwB,CAC5F,MAAMV,UAAEA,EAASW,YAAEA,GAAgBpC,KAAKQ,MAClC6B,EAAiBD,GAAeE,EAA8BC,SAASH,GAEpD,kBAAdX,IACPQ,EAAaR,UAAYA,IAGX,IAAdA,GAAsBY,IACtBJ,EAAaG,YAAcA,EAEnC,CAEAI,MAAMR,gBAAgBC,EAC1B,CAKA,yBAAAQ,GACIzC,KAAK0C,UAAUC,gBAAgB3C,KAAKQ,MAAOR,KAAKC,KAAK2C,QAAQC,aAAaC,MAAOC,IAE7E/C,KAAKgD,YAAY,IAAIC,EAAwC,aAArBF,EAAMG,WAA4B,SAAW,QAASH,EAAMI,WAAY,CAAEC,MAAOL,MAEjI,CAsFA,yBAAcM,GACV,OAAO,IAAIC,QAAc,CAACC,EAASC,KAC1BxD,KAAKQ,MAAMiD,cACZF,IAGJ,MAAMG,gBAAEA,EAAepC,eAAEA,EAAcC,gBAAEA,GAAoBvB,KAAKwB,MAElExB,KAAKQ,MAAMiD,aACPxC,EAAA,CACIyC,mBACIpC,GAAkB,CAAEA,kBACpBC,GAAmB,CAAEA,oBAE7B,CAAEgC,UAASC,aAEhBV,MAAOC,IAEN,MAAMY,EAAO,CAAEZ,MAAO,CAAEa,eAAgBb,IACxC,OAAOO,QAAQE,OAAOG,IAE9B,CAEA,WAAWE,GACP,OAAO,CACX,CAKA,iBAAsBC,GAClB,OAAO9D,KAAK+D,eACPC,KAAKC,IACF,IAAKA,EAASC,OACV,MAAM,IAAIjB,EAAmB,QAAS,8BAG1C,IAAsC,IAAlCgB,EAASE,qBACT,MAAM,IAAIlB,EAAmB,QAAS,uCAG1C,OAAOK,QAAQC,YAElBT,MAAMC,GACIO,QAAQE,OAAOT,GAElC,CAgBA,eAAInB,GACA,OAAOwC,GACX,CAEA,QAAIC,GACO,IAAAC,EAAP,OAAsB,QAAfA,EAAAtE,KAAKQ,MAAM6D,YAAX,IAAAC,EAAAA,EAAmBtE,KAAKuE,UAAUC,UAAfxE,CAA0B,YACxD,CAEAyE,MAAAA,GACI,OAAIzE,KAAKQ,MAAMkE,cAEPC,EAACC,EAAAA,CACGC,YAAa7E,KAAKQ,MAAMqE,YACxBC,WAAY9E,KAAKQ,MAAMsE,WACvBrE,eAAgBT,KAAKQ,MAAMC,eAC3BE,aAAcX,KAAKQ,MAAMG,aACzBoE,eAAgB/E,KAAKQ,MAAMuE,eAC3BC,aAAchF,KAAKQ,MAAMwE,aACzBC,eAAgBjF,KAAK0C,UAAUuC,eAC/BC,QAASlF,KAAKmF,SAKnB,IACX,CAnRA,WAAA/E,CAAYgF,EAAiB5E,GACzBgC,MAAM4C,EAAU5E,GAHpB6E,EAAArF,KAAmB0C,iBAAnB,GA0GA2C,OAAgBF,SAAS,KACrB,GAAInF,KAAKQ,MAAM8E,iBAAkB,CAC7B,MAAMC,EAAQ,IAAIrD,EAAmB,CACjCnC,KAAMyF,EACNC,OAAQC,IAGZ1F,KAAKgC,gBAAgBuD,EACzB,CAEA,IAAIjC,QAAc,CAACC,EAASC,IAAWxD,KAAKQ,MAAM0E,QAAQ3B,EAASC,IAASQ,KAAKhE,KAAKyC,2BAA2BK,MAAM,UAU3HuC,EAAArF,KAAQ2F,sBAAsBC,MAAOC,IACjC,MAAMvE,EAA8BwE,EAA2CD,EAAYE,kBAAkBC,KAAK1E,gBAC5GC,EAA+BuE,EAA2CD,EAAYI,iBAAiB,GAU7G,OARAjG,KAAKkG,SAASjF,EAAA,CACVyC,gBAAiBmC,EACjBxE,eAAgBwE,EAAYE,kBAAkBI,iBAAiBC,MAC/DhF,qBAAsByE,EAAYE,kBAAkBC,KAAKK,aACrD/E,GAAkB,CAAEA,kBACpBC,GAAmB,CAAEA,qBAGtB,IAAI+B,QAAwDC,IAC/DvD,KAAKqD,sBACAW,KAAKhE,KAAKsG,kBACVtC,KAAKuC,GACLvC,KAAKwC,GACLxC,KAAMyC,IACHlD,EAAQ,CAAEmD,iBAAkB,YACrBD,IAEVzC,KAAKyC,IACFzG,KAAK2G,eAAeF,KAEvB3D,MAAO2D,IAGmBA,IAAAA,EAFvBzG,KAAK4G,iBAAiB,SAEtB,MAAMhD,EAAiB6C,SAAsB,QAAtBA,EAAAA,EAAiB1D,aAAjB0D,IAAAA,OAAAA,EAAAA,EAAwB7C,eACzCiD,EAAkB7G,KAAKQ,MAAMK,KAAKiG,IAAI,0BAEtC/D,EACwB,iBAAnBa,EACD,CACImD,OAAQ,wBACRC,OAAQ,cACRC,QAASrD,GAA8BiD,GAE3C,CACIE,QAAQnD,aAAAA,EAAAA,EAAgBmD,SAAU,wBAClCC,QAAQpD,aAAAA,EAAAA,EAAgBoD,SAAU,cAClCC,SAASrD,aAAAA,EAAAA,EAAgBqD,UAAWJ,GAGlDtD,EAAQ,CACJmD,iBAAkB,QAClB3D,UAGJ,MAAMmE,EAAoBlG,EAAAC,EAAA,CAAA,EACnBwF,GAAAA,CACH1D,MAAO,CACHa,eAAgBb,KAIxB/C,KAAKmH,mBAAmBD,SA4DxC7B,OAAOtB,eAAe,IACX/D,KAAK0C,UAAUqB,aAAa/D,KAAKQ,QAM5C6E,OAAO+B,WAAW,IACPpH,KAAK0C,UAAU2E,oBAAoBrH,KAAKQ,MAAOR,KAAKC,KAAK2C,QAAQC,cArPxE7C,KAAKqD,oBAAsBrD,KAAKqD,oBAAoBiE,KAAKtH,MACzDA,KAAKyC,0BAA4BzC,KAAKyC,0BAA0B6E,KAAKtH,MAErE,MAAMyB,UAAEA,EAAS8F,qBAAEA,GAAyBvH,KAAKQ,MAEjD,IAAkB,IAAdiB,IAAuB8F,aAAAA,EAAAA,EAAsBC,sBAC7C,MAAM,IAAIvE,EACN,uBACA,uGAIR,IAAKjD,KAAKQ,MAAMU,cAAcuG,WAC1B,MAAM,IAAIxE,EACN,uBACA,wGAIRjD,KAAK0C,UAAY,IAAIgF,EAAiB1H,KAAKQ,MAAMmH,YAAa3G,EAAAC,EAAA,CAAA,EACtDQ,IAAa8F,aAAAA,EAAAA,EAAsBC,uBAAwB,CAAEA,qBAAsBD,EAAqBC,uBAAqB,CACjI7B,oBAAqB3F,KAAK2F,sBAElC,EA/BAN,EADEzF,EACYG,OAAOM,EAAWuH,WAChCvC,EAFEzF,EAEYiI,aAAa,CAACxH,EAAWuH,UAAWvH,EAAWC,gBAC7D+E,EAHEzF,EAGYkI,eAAeA"}
1
+ {"version":3,"file":"GooglePay.js","sources":["../../../../src/components/GooglePay/GooglePay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GooglePayService from './GooglePayService';\nimport GooglePayButton from './components/GooglePayButton';\nimport defaultProps from './defaultProps';\nimport { formatGooglePayContactToAdyenAddressFormat, getGooglePayLocale } from './utils';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport {\n ANALYTICS_EXPRESS_PAGES_ARRAY,\n ANALYTICS_INSTANT_PAYMENT_BUTTON,\n ANALYTICS_RENDERED_STR,\n ANALYTICS_SELECTED_STR\n} from '../../core/Analytics/constants';\n\nimport type { AddressData, BrowserInfo, PaymentMethod, PaymentResponseData, RawPaymentResponse } from '../../types/global-types';\nimport type { GooglePayConfiguration } from './types';\nimport type { ICore } from '../../core/types';\nimport { AnalyticsInfoEvent } from '../../core/Analytics/AnalyticsInfoEvent';\nimport { AnalyticsEvent } from '../../core/Analytics/AnalyticsEvent';\nimport { mapGooglePayBrands } from './utils/map-adyen-brands-to-googlepay-brands';\n\nconst DEFAULT_ALLOWED_CARD_NETWORKS: google.payments.api.CardNetwork[] = ['AMEX', 'DISCOVER', 'JCB', 'MASTERCARD', 'VISA'];\n\nclass GooglePay extends UIElement<GooglePayConfiguration> {\n public static type = TxVariants.googlepay;\n public static txVariants = [TxVariants.googlepay, TxVariants.paywithgoogle];\n public static defaultProps = defaultProps;\n\n protected readonly googlePay;\n\n constructor(checkout: ICore, props?: GooglePayConfiguration) {\n super(checkout, props);\n this.handleAuthorization = this.handleAuthorization.bind(this);\n this.showGooglePayPaymentSheet = this.showGooglePayPaymentSheet.bind(this);\n\n const { isExpress, paymentDataCallbacks } = this.props;\n\n if (isExpress === false && paymentDataCallbacks?.onPaymentDataChanged) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'GooglePay - You must set \"isExpress\" flag to \"true\" in order to use \"onPaymentDataChanged\" callback'\n );\n }\n\n if (!this.props.configuration.merchantId) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'GooglePay - Missing merchantId. Please ensure that it is correctly configured in your customer area.'\n );\n }\n\n this.googlePay = new GooglePayService(this.props.environment, this.analytics, {\n ...(isExpress && paymentDataCallbacks?.onPaymentDataChanged && { onPaymentDataChanged: paymentDataCallbacks.onPaymentDataChanged }),\n onPaymentAuthorized: this.onPaymentAuthorized\n });\n }\n\n /**\n * Google Pay requires custom logic due to supporting two Tx variants that lead to the same payment method.\n * If the merchant creates a standalone Google Pay component, we need to verify if the payment method is available using both tx variants\n *\n * @param type\n * @returns\n */\n protected override getPaymentMethodFromPaymentMethodsResponse(type?: string): PaymentMethod {\n return (\n this.core.paymentMethodsResponse.find(type || this.constructor['type']) || this.core.paymentMethodsResponse.find(TxVariants.paywithgoogle)\n );\n }\n\n protected override formatProps(props: GooglePayConfiguration): GooglePayConfiguration {\n const buttonSizeMode = props.buttonSizeMode ?? (props.isDropin ? 'fill' : 'static');\n const buttonLocale = getGooglePayLocale(props.buttonLocale ?? props.i18n?.locale);\n\n const callbackIntents: google.payments.api.CallbackIntent[] = [...props.callbackIntents, 'PAYMENT_AUTHORIZATION'];\n\n const allowedCardNetworks = this.createAllowedCardNetworksValues({\n allowedCardNetworks: props.allowedCardNetworks,\n brands: props.brands\n });\n\n return {\n ...props,\n allowedCardNetworks,\n configuration: props.configuration,\n buttonSizeMode,\n buttonLocale,\n callbackIntents\n };\n }\n\n /**\n * Formats the component data output\n */\n protected override formatData() {\n const { googlePayCardNetwork, googlePayToken, billingAddress, deliveryAddress } = this.state;\n const { isExpress } = this.props;\n\n return {\n paymentMethod: {\n type: this.type,\n googlePayCardNetwork,\n googlePayToken,\n ...(isExpress && { subtype: 'express' })\n },\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n };\n }\n\n /**\n * Generate the 'allowedCardNetworks' value used by Google Pay\n *\n * If the 'allowedCardNetworks' is defined in the Component configuration, it will be used. Otherwise we fallback\n * to use the 'brands' returned by the backoffice. It can be that 'brands' is not returned, which in this case we\n * set default values\n *\n * @param {object} brandsConfig\n * @param brandsConfig.allowedCardNetworks - Brands set in the component config\n * @param brandsConfig.brands - Brands returned by backend\n * @private\n */\n private createAllowedCardNetworksValues({\n allowedCardNetworks,\n brands\n }: {\n allowedCardNetworks?: google.payments.api.CardNetwork[];\n brands?: string[];\n }): google.payments.api.CardNetwork[] {\n if (allowedCardNetworks?.length > 0) return allowedCardNetworks;\n if (brands?.length > 0) return mapGooglePayBrands(brands);\n\n return DEFAULT_ALLOWED_CARD_NETWORKS;\n }\n\n protected submitAnalytics(analyticsObj: AnalyticsEvent) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n if (analyticsObj instanceof AnalyticsInfoEvent && analyticsObj.type === ANALYTICS_RENDERED_STR) {\n const { isExpress, expressPage } = this.props;\n const hasExpressPage = expressPage && ANALYTICS_EXPRESS_PAGES_ARRAY.includes(expressPage);\n\n if (typeof isExpress === 'boolean') {\n analyticsObj.isExpress = isExpress;\n }\n\n if (isExpress === true && hasExpressPage) {\n analyticsObj.expressPage = expressPage; // We only care about the expressPage value if isExpress is true\n }\n }\n\n super.submitAnalytics(analyticsObj);\n }\n\n /**\n * Displays the Google Pay payment sheet overlay\n */\n private showGooglePayPaymentSheet() {\n this.googlePay.initiatePayment(this.props, this.core.options.countryCode).catch((error: google.payments.api.PaymentsError) => {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n this.handleError(new AdyenCheckoutError(error.statusCode === 'CANCELED' ? 'CANCEL' : 'ERROR', error.toString(), { cause: error }));\n });\n }\n\n public override submit = () => {\n if (this.props.isInstantPayment) {\n const event = new AnalyticsInfoEvent({\n type: ANALYTICS_SELECTED_STR,\n target: ANALYTICS_INSTANT_PAYMENT_BUTTON\n });\n\n this.submitAnalytics(event);\n }\n\n new Promise<void>((resolve, reject) => this.props.onClick(resolve, reject)).then(this.showGooglePayPaymentSheet).catch(() => {\n // Swallow exception triggered by onClick reject\n });\n };\n\n /**\n * Method called when the payment is authorized in the payment sheet\n *\n * @see https://developers.google.com/pay/api/web/reference/client#onPaymentAuthorized\n **/\n private onPaymentAuthorized = async (paymentData: google.payments.api.PaymentData): Promise<google.payments.api.PaymentAuthorizationResult> => {\n const billingAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.paymentMethodData.info.billingAddress);\n const deliveryAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.shippingAddress, true);\n\n this.setState({\n authorizedEvent: paymentData,\n googlePayToken: paymentData.paymentMethodData.tokenizationData.token,\n googlePayCardNetwork: paymentData.paymentMethodData.info.cardNetwork,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n return new Promise<google.payments.api.PaymentAuthorizationResult>(resolve => {\n this.handleAuthorization()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then((paymentResponse: PaymentResponseData) => {\n resolve({ transactionState: 'SUCCESS' });\n return paymentResponse;\n })\n .then(paymentResponse => {\n this.handleResponse(paymentResponse);\n })\n .catch((paymentResponse?: RawPaymentResponse) => {\n this.setElementStatus('ready');\n\n const googlePayError = paymentResponse?.error?.googlePayError;\n const fallbackMessage = this.props.i18n.get('error.subtitle.payment');\n\n const error: google.payments.api.PaymentDataError =\n typeof googlePayError === 'string' || undefined\n ? {\n intent: 'PAYMENT_AUTHORIZATION',\n reason: 'OTHER_ERROR',\n message: (googlePayError as string) || fallbackMessage\n }\n : {\n intent: googlePayError?.intent || 'PAYMENT_AUTHORIZATION',\n reason: googlePayError?.reason || 'OTHER_ERROR',\n message: googlePayError?.message || fallbackMessage\n };\n\n resolve({\n transactionState: 'ERROR',\n error\n });\n\n const responseWithError = {\n ...paymentResponse,\n error: {\n googlePayError: error\n }\n };\n\n this.handleFailedResult(responseWithError);\n });\n });\n };\n\n /**\n * Call the 'onAuthorized' callback if available.\n * Must be resolved/reject for the payment flow to continue\n */\n private async handleAuthorization(): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (!this.props.onAuthorized) {\n resolve();\n }\n\n const { authorizedEvent, billingAddress, deliveryAddress } = this.state;\n\n this.props.onAuthorized(\n {\n authorizedEvent,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n );\n }).catch((error?: google.payments.api.PaymentDataError | string) => {\n // Format error in a way that the 'catch' of the 'onPaymentAuthorize' block accepts it\n const data = { error: { googlePayError: error } };\n return Promise.reject(data);\n });\n }\n\n public get isValid(): boolean {\n return true;\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public override async isAvailable(): Promise<void> {\n return this.isReadyToPay()\n .then(response => {\n if (!response.result) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay is not available');\n }\n\n if (response.paymentMethodPresent === false) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay - No paymentMethodPresent');\n }\n\n return Promise.resolve();\n })\n .catch(error => {\n return Promise.reject(error);\n });\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public isReadyToPay = (): Promise<google.payments.api.IsReadyToPayResponse> => {\n return this.googlePay.isReadyToPay(this.props);\n };\n\n /**\n * Use this method to prefetch a PaymentDataRequest configuration to improve loadPaymentData execution time on later user interaction. No value is returned.\n */\n public prefetch = (): void => {\n return this.googlePay.prefetchPaymentData(this.props, this.core.options.countryCode);\n };\n\n get browserInfo(): BrowserInfo {\n return collectBrowserInfo();\n }\n\n get icon(): string {\n return this.props.icon ?? this.resources.getImage()('googlepay');\n }\n\n render() {\n if (this.props.showPayButton) {\n return (\n <GooglePayButton\n buttonColor={this.props.buttonColor}\n buttonType={this.props.buttonType}\n buttonSizeMode={this.props.buttonSizeMode}\n buttonLocale={this.props.buttonLocale}\n buttonRootNode={this.props.buttonRootNode}\n buttonRadius={this.props.buttonRadius}\n paymentsClient={this.googlePay.paymentsClient}\n onClick={this.submit}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default GooglePay;\n"],"names":["DEFAULT_ALLOWED_CARD_NETWORKS","GooglePay","UIElement","getPaymentMethodFromPaymentMethodsResponse","type","this","core","paymentMethodsResponse","find","constructor","TxVariants","paywithgoogle","formatProps","props","buttonSizeMode","isDropin","buttonLocale","getGooglePayLocale","i18n","locale","callbackIntents","allowedCardNetworks","createAllowedCardNetworksValues","brands","_object_spread_props","_object_spread","configuration","formatData","googlePayCardNetwork","googlePayToken","billingAddress","deliveryAddress","state","isExpress","paymentMethod","subtype","browserInfo","origin","window","location","length","mapGooglePayBrands","submitAnalytics","analyticsObj","AnalyticsInfoEvent","ANALYTICS_RENDERED_STR","expressPage","hasExpressPage","ANALYTICS_EXPRESS_PAGES_ARRAY","includes","super","showGooglePayPaymentSheet","googlePay","initiatePayment","options","countryCode","catch","error","handleError","AdyenCheckoutError","statusCode","toString","cause","handleAuthorization","Promise","resolve","reject","onAuthorized","authorizedEvent","data","googlePayError","isValid","isAvailable","isReadyToPay","then","response","result","paymentMethodPresent","collectBrowserInfo","icon","_this_props_icon","resources","getImage","render","showPayButton","h","GooglePayButton","buttonColor","buttonType","buttonRootNode","buttonRadius","paymentsClient","onClick","submit","checkout","_define_property","isInstantPayment","event","ANALYTICS_SELECTED_STR","target","ANALYTICS_INSTANT_PAYMENT_BUTTON","onPaymentAuthorized","async","paymentData","formatGooglePayContactToAdyenAddressFormat","paymentMethodData","info","shippingAddress","setState","tokenizationData","token","cardNetwork","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","paymentResponse","transactionState","handleResponse","setElementStatus","fallbackMessage","get","intent","reason","message","responseWithError","handleFailedResult","prefetch","prefetchPaymentData","bind","paymentDataCallbacks","onPaymentDataChanged","merchantId","GooglePayService","environment","analytics","googlepay","txVariants","defaultProps"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{isReadyToPayRequest as t,initiatePaymentRequest as e}from"./requests.js";import{resolveEnvironment as a}from"./utils.js";import n from"../../utils/Script.js";import i from"./config.js";class o{async getGooglePaymentsClient(t){var e;if(!(null===(e=window.google)||void 0===e?void 0:e.payments)){const t=new n(i.URL);await t.load()}return new google.payments.api.PaymentsClient(t)}isReadyToPay(e){return this.paymentsClient?this.paymentsClient.then(a=>a.isReadyToPay(t(e))):Promise.reject(new Error("Google Pay is not available"))}prefetchPaymentData(t,a){if(!this.paymentsClient)throw new Error("Google Pay is not available");const n=e(t,a);this.paymentsClient.then(t=>t.prefetchPaymentData(n))}initiatePayment(t,a){if(!this.paymentsClient)throw new Error("Google Pay is not available");const n=e(t,a);return this.paymentsClient.then(t=>t.loadPaymentData(n))}constructor(t,e){var n,i,o;o=void 0,(i="paymentsClient")in(n=this)?Object.defineProperty(n,i,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[i]=o;const s=a(t);this.paymentsClient=this.getGooglePaymentsClient({environment:s,paymentDataCallbacks:e})}}export{o as default};
1
+ import{isReadyToPayRequest as t,initiatePaymentRequest as e}from"./requests.js";import{resolveEnvironment as n}from"./utils.js";import a from"../../utils/Script.js";import i from"./config.js";function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}class s{async getGooglePaymentsClient(t){var e;if(!(null===(e=window.google)||void 0===e?void 0:e.payments)){const t=new a({src:i.URL,component:"googlepay",analytics:this.analytics});await t.load()}return new google.payments.api.PaymentsClient(t)}isReadyToPay(e){return this.paymentsClient?this.paymentsClient.then(n=>n.isReadyToPay(t(e))):Promise.reject(new Error("Google Pay is not available"))}prefetchPaymentData(t,n){if(!this.paymentsClient)throw new Error("Google Pay is not available");const a=e(t,n);this.paymentsClient.then(t=>t.prefetchPaymentData(a))}initiatePayment(t,n){if(!this.paymentsClient)throw new Error("Google Pay is not available");const a=e(t,n);return this.paymentsClient.then(t=>t.loadPaymentData(a))}constructor(t,e,a){o(this,"analytics",void 0),o(this,"paymentsClient",void 0);const i=n(t);this.analytics=e,this.paymentsClient=this.getGooglePaymentsClient({environment:i,paymentDataCallbacks:a})}}export{s as default};
2
2
  //# sourceMappingURL=GooglePayService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GooglePayService.js","sources":["../../../../src/components/GooglePay/GooglePayService.ts"],"sourcesContent":["import { isReadyToPayRequest, initiatePaymentRequest } from './requests';\nimport { resolveEnvironment } from './utils';\nimport Script from '../../utils/Script';\nimport config from './config';\nimport type { GooglePayConfiguration } from './types';\n\nclass GooglePayService {\n public readonly paymentsClient: Promise<google.payments.api.PaymentsClient>;\n\n constructor(environment: string, paymentDataCallbacks: google.payments.api.PaymentDataCallbacks) {\n const googlePayEnvironment = resolveEnvironment(environment);\n\n this.paymentsClient = this.getGooglePaymentsClient({\n environment: googlePayEnvironment,\n paymentDataCallbacks\n });\n }\n\n /**\n * Initialize a Google Pay API client\n *\n * @see {@link https://developers.google.com/pay/api/web/reference/client#PaymentsClient|PaymentsClient constructor}\n * @returns Google Pay API client\n */\n async getGooglePaymentsClient(paymentOptions: google.payments.api.PaymentOptions): Promise<google.payments.api.PaymentsClient> {\n if (!window.google?.payments) {\n const script = new Script(config.URL);\n await script.load();\n }\n\n return new google.payments.api.PaymentsClient(paymentOptions);\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n * @see {@link https://developers.google.com/pay/api/web/reference/client#isReadyToPay|isReadyToPay}\n */\n isReadyToPay(props): Promise<google.payments.api.IsReadyToPayResponse> {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n if (!this.paymentsClient) return Promise.reject(new Error('Google Pay is not available'));\n\n return this.paymentsClient.then(client => client.isReadyToPay(isReadyToPayRequest(props)));\n }\n\n prefetchPaymentData(props: GooglePayConfiguration, countryCode: string): void {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n if (!this.paymentsClient) throw new Error('Google Pay is not available');\n\n const paymentDataRequest = initiatePaymentRequest(props, countryCode);\n void this.paymentsClient.then(client => client.prefetchPaymentData(paymentDataRequest));\n }\n\n /**\n * Show Google Pay payment sheet when Google Pay payment button is clicked\n * @returns paymentData response from Google Pay API after user approves payment\n * @see {@link https://developers.google.com/pay/api/web/reference/object#PaymentData|PaymentData object reference}\n */\n initiatePayment(props: GooglePayConfiguration, countryCode: string): Promise<google.payments.api.PaymentData> {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n if (!this.paymentsClient) throw new Error('Google Pay is not available');\n\n const paymentDataRequest = initiatePaymentRequest(props, countryCode);\n return this.paymentsClient.then(client => client.loadPaymentData(paymentDataRequest));\n }\n}\n\nexport default GooglePayService;\n"],"names":["GooglePayService","getGooglePaymentsClient","paymentOptions","window","google","payments","script","Script","config","URL","load","api","PaymentsClient","isReadyToPay","props","this","paymentsClient","then","client","isReadyToPayRequest","Promise","reject","Error","prefetchPaymentData","countryCode","paymentDataRequest","initiatePaymentRequest","initiatePayment","loadPaymentData","constructor","environment","paymentDataCallbacks","googlePayEnvironment","resolveEnvironment"],"mappings":"gMAMA,MAAMA,EAkBF,6BAAMC,CAAwBC,GACrBC,IAAAA,EAAL,aAAKA,EAAAA,OAAOC,cAAPD,IAAAA,OAAAA,EAAAA,EAAeE,UAAU,CAC1B,MAAMC,EAAS,IAAIC,EAAOC,EAAOC,WAC3BH,EAAOI,MACjB,CAEA,OAAO,IAAIN,OAAOC,SAASM,IAAIC,eAAeV,EAClD,CAMAW,YAAAA,CAAaC,GAET,OAAKC,KAAKC,eAEHD,KAAKC,eAAeC,KAAKC,GAAUA,EAAOL,aAAaM,EAAoBL,KAFjDM,QAAQC,OAAO,IAAIC,MAAM,+BAG9D,CAEAC,mBAAAA,CAAoBT,EAA+BU,GAE/C,IAAKT,KAAKC,eAAgB,MAAM,IAAIM,MAAM,+BAE1C,MAAMG,EAAqBC,EAAuBZ,EAAOU,GACpDT,KAAKC,eAAeC,KAAKC,GAAUA,EAAOK,oBAAoBE,GACvE,CAOAE,eAAAA,CAAgBb,EAA+BU,GAE3C,IAAKT,KAAKC,eAAgB,MAAM,IAAIM,MAAM,+BAE1C,MAAMG,EAAqBC,EAAuBZ,EAAOU,GACzD,OAAOT,KAAKC,eAAeC,KAAKC,GAAUA,EAAOU,gBAAgBH,GACrE,CAtDA,WAAAI,CAAYC,EAAqBC,oBAFjC,KAAgBf,sBAAhBD,4FAGI,MAAMiB,EAAuBC,EAAmBH,GAEhDf,KAAKC,eAAiBD,KAAKd,wBAAwB,CAC/C6B,YAAaE,EACbD,wBAER"}
1
+ {"version":3,"file":"GooglePayService.js","sources":["../../../../src/components/GooglePay/GooglePayService.ts"],"sourcesContent":["import { isReadyToPayRequest, initiatePaymentRequest } from './requests';\nimport { resolveEnvironment } from './utils';\nimport Script from '../../utils/Script';\nimport config from './config';\nimport type { GooglePayConfiguration } from './types';\nimport { AnalyticsModule } from '../../types/global-types';\n\nclass GooglePayService {\n private readonly analytics: AnalyticsModule;\n\n public readonly paymentsClient: Promise<google.payments.api.PaymentsClient>;\n\n constructor(environment: string, analytics: AnalyticsModule, paymentDataCallbacks: google.payments.api.PaymentDataCallbacks) {\n const googlePayEnvironment = resolveEnvironment(environment);\n\n this.analytics = analytics;\n this.paymentsClient = this.getGooglePaymentsClient({\n environment: googlePayEnvironment,\n paymentDataCallbacks\n });\n }\n\n /**\n * Initialize a Google Pay API client\n *\n * @see {@link https://developers.google.com/pay/api/web/reference/client#PaymentsClient|PaymentsClient constructor}\n * @returns Google Pay API client\n */\n async getGooglePaymentsClient(paymentOptions: google.payments.api.PaymentOptions): Promise<google.payments.api.PaymentsClient> {\n if (!window.google?.payments) {\n const script = new Script({ src: config.URL, component: 'googlepay', analytics: this.analytics });\n await script.load();\n }\n\n return new google.payments.api.PaymentsClient(paymentOptions);\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n * @see {@link https://developers.google.com/pay/api/web/reference/client#isReadyToPay|isReadyToPay}\n */\n isReadyToPay(props): Promise<google.payments.api.IsReadyToPayResponse> {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n if (!this.paymentsClient) return Promise.reject(new Error('Google Pay is not available'));\n\n return this.paymentsClient.then(client => client.isReadyToPay(isReadyToPayRequest(props)));\n }\n\n prefetchPaymentData(props: GooglePayConfiguration, countryCode: string): void {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n if (!this.paymentsClient) throw new Error('Google Pay is not available');\n\n const paymentDataRequest = initiatePaymentRequest(props, countryCode);\n void this.paymentsClient.then(client => client.prefetchPaymentData(paymentDataRequest));\n }\n\n /**\n * Show Google Pay payment sheet when Google Pay payment button is clicked\n * @returns paymentData response from Google Pay API after user approves payment\n * @see {@link https://developers.google.com/pay/api/web/reference/object#PaymentData|PaymentData object reference}\n */\n initiatePayment(props: GooglePayConfiguration, countryCode: string): Promise<google.payments.api.PaymentData> {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n if (!this.paymentsClient) throw new Error('Google Pay is not available');\n\n const paymentDataRequest = initiatePaymentRequest(props, countryCode);\n return this.paymentsClient.then(client => client.loadPaymentData(paymentDataRequest));\n }\n}\n\nexport default GooglePayService;\n"],"names":["GooglePayService","getGooglePaymentsClient","paymentOptions","window","google","payments","script","Script","src","config","URL","component","analytics","this","load","api","PaymentsClient","isReadyToPay","props","paymentsClient","then","client","isReadyToPayRequest","Promise","reject","Error","prefetchPaymentData","countryCode","paymentDataRequest","initiatePaymentRequest","initiatePayment","loadPaymentData","constructor","environment","paymentDataCallbacks","_define_property","googlePayEnvironment","resolveEnvironment"],"mappings":"wTAOA,MAAMA,EAqBF,6BAAMC,CAAwBC,GACrBC,IAAAA,EAAL,aAAKA,EAAAA,OAAOC,cAAPD,IAAAA,OAAAA,EAAAA,EAAeE,UAAU,CAC1B,MAAMC,EAAS,IAAIC,EAAO,CAAEC,IAAKC,EAAOC,IAAKC,UAAW,YAAaC,UAAWC,KAAKD,kBAC/EN,EAAOQ,MACjB,CAEA,OAAO,IAAIV,OAAOC,SAASU,IAAIC,eAAed,EAClD,CAMAe,YAAAA,CAAaC,GAET,OAAKL,KAAKM,eAEHN,KAAKM,eAAeC,KAAKC,GAAUA,EAAOJ,aAAaK,EAAoBJ,KAFjDK,QAAQC,OAAO,IAAIC,MAAM,+BAG9D,CAEAC,mBAAAA,CAAoBR,EAA+BS,GAE/C,IAAKd,KAAKM,eAAgB,MAAM,IAAIM,MAAM,+BAE1C,MAAMG,EAAqBC,EAAuBX,EAAOS,GACpDd,KAAKM,eAAeC,KAAKC,GAAUA,EAAOK,oBAAoBE,GACvE,CAOAE,eAAAA,CAAgBZ,EAA+BS,GAE3C,IAAKd,KAAKM,eAAgB,MAAM,IAAIM,MAAM,+BAE1C,MAAMG,EAAqBC,EAAuBX,EAAOS,GACzD,OAAOd,KAAKM,eAAeC,KAAKC,GAAUA,EAAOU,gBAAgBH,GACrE,CAvDA,WAAAI,CAAYC,EAAqBrB,EAA4BsB,GAJ7DC,EAAAtB,KAAiBD,iBAAjB,GAEAuB,EAAAtB,KAAgBM,sBAAhB,GAGI,MAAMiB,EAAuBC,EAAmBJ,GAEhDpB,KAAKD,UAAYA,EACjBC,KAAKM,eAAiBN,KAAKZ,wBAAwB,CAC/CgC,YAAaG,EACbF,wBAER"}
@@ -1,2 +1,2 @@
1
- const e={isExpress:!1,existingPaymentMethodRequired:!1,buttonColor:"default",buttonType:"buy",buttonSizeMode:"fill",configuration:{gatewayMerchantId:"",merchantId:"",merchantName:""},amount:{value:0,currency:"USD"},totalPriceStatus:"FINAL",onClick:e=>e(),allowedAuthMethods:["PAN_ONLY","CRYPTOGRAM_3DS"],allowedCardNetworks:["AMEX","DISCOVER","JCB","MASTERCARD","VISA"],allowCreditCards:!0,allowPrepaidCards:!0,billingAddressRequired:!1,billingAddressParameters:void 0,assuranceDetailsRequired:!1,emailRequired:!1,shippingAddressRequired:!1,shippingAddressParameters:void 0,shippingOptionRequired:!1,shippingOptionParameters:void 0,callbackIntents:[]};export{e as default};
1
+ const e={isExpress:!1,existingPaymentMethodRequired:!1,buttonColor:"default",buttonType:"buy",buttonSizeMode:"fill",configuration:{gatewayMerchantId:"",merchantId:"",merchantName:""},amount:{value:0,currency:"USD"},totalPriceStatus:"FINAL",onClick:e=>e(),allowedAuthMethods:["PAN_ONLY","CRYPTOGRAM_3DS"],allowCreditCards:!0,allowPrepaidCards:!0,billingAddressRequired:!1,billingAddressParameters:void 0,assuranceDetailsRequired:!1,emailRequired:!1,shippingAddressRequired:!1,shippingAddressParameters:void 0,shippingOptionRequired:!1,shippingOptionParameters:void 0,callbackIntents:[]};export{e as default};
2
2
  //# sourceMappingURL=defaultProps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaultProps.js","sources":["../../../../src/components/GooglePay/defaultProps.ts"],"sourcesContent":["import { GooglePayConfiguration } from './types';\n\nconst defaultProps: GooglePayConfiguration = {\n isExpress: false,\n\n // isReadyToPayRequest\n existingPaymentMethodRequired: false,\n\n // ButtonOptions\n // https://developers.google.com/pay/api/web/reference/object#ButtonOptions\n buttonColor: 'default',\n buttonType: 'buy',\n buttonSizeMode: 'fill',\n\n // PaymentDataRequest\n configuration: {\n // Adyen's merchant account\n gatewayMerchantId: '', // E.g TestMerchant\n\n // https://developers.google.com/pay/api/web/reference/object#MerchantInfo\n merchantId: '', // E.g 039484839309\n merchantName: '' // E.g Example Merchant,\n },\n\n // Payment\n amount: {\n value: 0,\n currency: 'USD'\n },\n\n totalPriceStatus: 'FINAL',\n\n // Callbacks\n onClick: resolve => resolve(),\n\n // CardParameters\n // https://developers.google.com/pay/api/web/reference/object#CardParameters\n allowedAuthMethods: ['PAN_ONLY', 'CRYPTOGRAM_3DS'] as google.payments.api.CardAuthMethod[],\n allowedCardNetworks: ['AMEX', 'DISCOVER', 'JCB', 'MASTERCARD', 'VISA'] as google.payments.api.CardNetwork[],\n allowCreditCards: true, // Set to false if you don't support credit cards.\n allowPrepaidCards: true, // Set to false if you don't support prepaid cards.\n billingAddressRequired: false, // A billing address should only be requested if it's required to process the transaction.\n billingAddressParameters: undefined, // The expected fields returned if billingAddressRequired is set to true.\n assuranceDetailsRequired: false, // https://developers.google.com/pay/api/web/reference/response-objects#assurance-details-specifications\n\n emailRequired: false,\n shippingAddressRequired: false,\n shippingAddressParameters: undefined, // https://developers.google.com/pay/api/web/reference/object#ShippingAddressParameters\n shippingOptionRequired: false,\n shippingOptionParameters: undefined,\n callbackIntents: []\n};\n\nexport default defaultProps;\n"],"names":["defaultProps","isExpress","existingPaymentMethodRequired","buttonColor","buttonType","buttonSizeMode","configuration","gatewayMerchantId","merchantId","merchantName","amount","value","currency","totalPriceStatus","onClick","resolve","allowedAuthMethods","allowedCardNetworks","allowCreditCards","allowPrepaidCards","billingAddressRequired","billingAddressParameters","undefined","assuranceDetailsRequired","emailRequired","shippingAddressRequired","shippingAddressParameters","shippingOptionRequired","shippingOptionParameters","callbackIntents"],"mappings":"AAEA,MAAMA,EAAuC,CACzCC,WAAW,EAGXC,+BAA+B,EAI/BC,YAAa,UACbC,WAAY,MACZC,eAAgB,OAGhBC,cAAe,CAEXC,kBAAmB,GAGnBC,WAAY,GACZC,aAAc,IAIlBC,OAAQ,CACJC,MAAO,EACPC,SAAU,OAGdC,iBAAkB,QAGlBC,QAASC,GAAWA,IAIpBC,mBAAoB,CAAC,WAAY,kBACjCC,oBAAqB,CAAC,OAAQ,WAAY,MAAO,aAAc,QAC/DC,kBAAkB,EAClBC,mBAAmB,EACnBC,wBAAwB,EACxBC,8BAA0BC,EAC1BC,0BAA0B,EAE1BC,eAAe,EACfC,yBAAyB,EACzBC,+BAA2BJ,EAC3BK,wBAAwB,EACxBC,8BAA0BN,EAC1BO,gBAAiB"}
1
+ {"version":3,"file":"defaultProps.js","sources":["../../../../src/components/GooglePay/defaultProps.ts"],"sourcesContent":["import { GooglePayConfiguration } from './types';\n\nconst defaultProps: GooglePayConfiguration = {\n isExpress: false,\n\n // isReadyToPayRequest\n existingPaymentMethodRequired: false,\n\n // ButtonOptions\n // https://developers.google.com/pay/api/web/reference/object#ButtonOptions\n buttonColor: 'default',\n buttonType: 'buy',\n buttonSizeMode: 'fill',\n\n // PaymentDataRequest\n configuration: {\n // Adyen's merchant account\n gatewayMerchantId: '', // E.g TestMerchant\n\n // https://developers.google.com/pay/api/web/reference/object#MerchantInfo\n merchantId: '', // E.g 039484839309\n merchantName: '' // E.g Example Merchant,\n },\n\n // Payment\n amount: {\n value: 0,\n currency: 'USD'\n },\n\n totalPriceStatus: 'FINAL',\n\n // Callbacks\n onClick: resolve => resolve(),\n\n // CardParameters\n // https://developers.google.com/pay/api/web/reference/object#CardParameters\n allowedAuthMethods: ['PAN_ONLY', 'CRYPTOGRAM_3DS'] as google.payments.api.CardAuthMethod[],\n allowCreditCards: true, // Set to false if you don't support credit cards.\n allowPrepaidCards: true, // Set to false if you don't support prepaid cards.\n billingAddressRequired: false, // A billing address should only be requested if it's required to process the transaction.\n billingAddressParameters: undefined, // The expected fields returned if billingAddressRequired is set to true.\n assuranceDetailsRequired: false, // https://developers.google.com/pay/api/web/reference/response-objects#assurance-details-specifications\n\n emailRequired: false,\n shippingAddressRequired: false,\n shippingAddressParameters: undefined, // https://developers.google.com/pay/api/web/reference/object#ShippingAddressParameters\n shippingOptionRequired: false,\n shippingOptionParameters: undefined,\n callbackIntents: []\n};\n\nexport default defaultProps;\n"],"names":["defaultProps","isExpress","existingPaymentMethodRequired","buttonColor","buttonType","buttonSizeMode","configuration","gatewayMerchantId","merchantId","merchantName","amount","value","currency","totalPriceStatus","onClick","resolve","allowedAuthMethods","allowCreditCards","allowPrepaidCards","billingAddressRequired","billingAddressParameters","undefined","assuranceDetailsRequired","emailRequired","shippingAddressRequired","shippingAddressParameters","shippingOptionRequired","shippingOptionParameters","callbackIntents"],"mappings":"AAEA,MAAMA,EAAuC,CACzCC,WAAW,EAGXC,+BAA+B,EAI/BC,YAAa,UACbC,WAAY,MACZC,eAAgB,OAGhBC,cAAe,CAEXC,kBAAmB,GAGnBC,WAAY,GACZC,aAAc,IAIlBC,OAAQ,CACJC,MAAO,EACPC,SAAU,OAGdC,iBAAkB,QAGlBC,QAASC,GAAWA,IAIpBC,mBAAoB,CAAC,WAAY,kBACjCC,kBAAkB,EAClBC,mBAAmB,EACnBC,wBAAwB,EACxBC,8BAA0BC,EAC1BC,0BAA0B,EAE1BC,eAAe,EACfC,yBAAyB,EACzBC,+BAA2BJ,EAC3BK,wBAAwB,EACxBC,8BAA0BN,EAC1BO,gBAAiB"}
@@ -0,0 +1,2 @@
1
+ const e=Object.freeze({mc:"MASTERCARD",amex:"AMEX",visa:"VISA",elodebit:"ELO_DEBIT",elo:"ELO",interac:"INTERAC",discover:"DISCOVER",jcb:"JCB",electron:"ELECTRON",maestro:"MAESTRO"});function t(t){const E=t.map(t=>e[t]).filter(e=>!!e);return[...new Set(E)]}export{t as mapGooglePayBrands};
2
+ //# sourceMappingURL=map-adyen-brands-to-googlepay-brands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-adyen-brands-to-googlepay-brands.js","sources":["../../../../../src/components/GooglePay/utils/map-adyen-brands-to-googlepay-brands.ts"],"sourcesContent":["const brandMapping: Record<string, google.payments.api.CardNetwork> = Object.freeze({\n mc: 'MASTERCARD',\n amex: 'AMEX',\n visa: 'VISA',\n elodebit: 'ELO_DEBIT',\n elo: 'ELO',\n interac: 'INTERAC',\n discover: 'DISCOVER',\n jcb: 'JCB',\n electron: 'ELECTRON',\n maestro: 'MAESTRO'\n});\n\nexport function mapGooglePayBrands(brands: string[]): google.payments.api.CardNetwork[] {\n const mappedBrands = brands.map(brand => brandMapping[brand]).filter((brand): brand is google.payments.api.CardNetwork => !!brand);\n return [...new Set(mappedBrands)];\n}\n"],"names":["brandMapping","Object","freeze","mc","amex","visa","elodebit","elo","interac","discover","jcb","electron","maestro","mapGooglePayBrands","brands","mappedBrands","map","brand","filter","Set"],"mappings":"AAAA,MAAMA,EAAgEC,OAAOC,OAAO,CAChFC,GAAI,aACJC,KAAM,OACNC,KAAM,OACNC,SAAU,YACVC,IAAK,MACLC,QAAS,UACTC,SAAU,WACVC,IAAK,MACLC,SAAU,WACVC,QAAS,YAGN,SAASC,EAAmBC,GAC/B,MAAMC,EAAeD,EAAOE,IAAIC,GAASjB,EAAaiB,IAAQC,OAAQD,KAAsDA,GAC5H,MAAO,IAAI,IAAIE,IAAIJ,GACvB"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import{CoreProvider as n}from"../../core/Context/CoreProvider.js";import o from"../internal/PayButton/PayButton.js";import{KlarnaContainer as r}from"./components/KlarnaContainer/KlarnaContainer.js";import{TxVariants as i}from"../tx-variants.js";function s(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function a(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),o.forEach(function(e){s(t,e,n[e])})}return t}function p(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e.push.apply(e,n)}return e}(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}),t}class c extends e{get isValid(){return!0}formatData(){return{paymentMethod:a({type:this.type},this.props.useKlarnaWidget?{subtype:"sdk"}:{})}}handleAction(t,e={}){if("sdk"!==t.type)return super.handleAction(t,e);this.updateWithAction(t)}updateWithAction(t){if(t.paymentMethodType!==this.type)throw new Error("Invalid Action");this.componentRef.setAction(t)}onLoaded(){this.setElementStatus("ready")}activate(){this.componentRef.reinitializeWidget()}onComplete(t){this.handleAdditionalDetails(t)}render(){return t(n,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(r,p(a({},this.props),{setComponentRef:this.setComponentRef,displayName:this.displayName,onComplete:this.onComplete,onError:this.props.onError,payButton:this.payButton,onLoaded:this.onLoaded,showPayButton:this.props.showPayButton,onActionHandled:this.onActionHandled,type:this.props.type})))}constructor(e,n){super(e,n),s(this,"componentRef",void 0),s(this,"payButton",e=>t(o,a({amount:this.props.amount,onClick:this.submit},e))),this.onComplete=this.onComplete.bind(this),this.updateWithAction=this.updateWithAction.bind(this),this.submit=this.submit.bind(this),this.onLoaded=this.onLoaded.bind(this)}}s(c,"type",i.klarna),s(c,"txVariants",[i.klarna,i.klarna_account,i.klarna_paynow,i.klarna_b2b]),s(c,"defaultProps",{useKlarnaWidget:!1});export{c as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import{CoreProvider as n}from"../../core/Context/CoreProvider.js";import o from"../internal/PayButton/PayButton.js";import{KlarnaContainer as r}from"./components/KlarnaContainer/KlarnaContainer.js";import{TxVariants as i}from"../tx-variants.js";function s(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function a(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),o.forEach(function(e){s(t,e,n[e])})}return t}function p(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e.push.apply(e,n)}return e}(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}),t}class c extends e{get isValid(){return!0}formatData(){return{paymentMethod:a({type:this.type},this.props.useKlarnaWidget?{subtype:"sdk"}:{})}}handleAction(t,e={}){if("sdk"!==t.type)return super.handleAction(t,e);this.updateWithAction(t)}updateWithAction(t){if(t.paymentMethodType!==this.type)throw new Error("Invalid Action");this.componentRef.setAction(t)}onLoaded(){this.setElementStatus("ready")}activate(){this.componentRef.reinitializeWidget()}onComplete(t){this.handleAdditionalDetails(t)}render(){return t(n,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources,analytics:this.analytics},t(r,p(a({},this.props),{setComponentRef:this.setComponentRef,displayName:this.displayName,onComplete:this.onComplete,onError:this.props.onError,payButton:this.payButton,onLoaded:this.onLoaded,showPayButton:this.props.showPayButton,onActionHandled:this.onActionHandled,type:this.props.type})))}constructor(e,n){super(e,n),s(this,"componentRef",void 0),s(this,"payButton",e=>t(o,a({amount:this.props.amount,onClick:this.submit},e))),this.onComplete=this.onComplete.bind(this),this.updateWithAction=this.updateWithAction.bind(this),this.submit=this.submit.bind(this),this.onLoaded=this.onLoaded.bind(this)}}s(c,"type",i.klarna),s(c,"txVariants",[i.klarna,i.klarna_account,i.klarna_paynow,i.klarna_b2b]),s(c,"defaultProps",{useKlarnaWidget:!1});export{c as default};
2
2
  //# sourceMappingURL=KlarnaPayments.js.map