@adyen/adyen-web 6.22.0 → 6.24.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 (387) hide show
  1. package/README.md +9 -8
  2. package/dist/cjs/adyen.css +8 -5
  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 +315 -121
  7. package/dist/es/adyen.css +8 -5
  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/CardFields.js +1 -1
  24. package/dist/es/components/Card/components/CardInput/components/CardFields.js.map +1 -1
  25. package/dist/es/components/Card/components/CardInput/components/CardFieldsWrapper.js +1 -1
  26. package/dist/es/components/Card/components/CardInput/components/CardFieldsWrapper.js.map +1 -1
  27. package/dist/es/components/Card/components/CardInput/components/ExpirationDate.js +1 -1
  28. package/dist/es/components/Card/components/CardInput/components/ExpirationDate.js.map +1 -1
  29. package/dist/es/components/Card/components/CardInput/components/StoredCardFields.js +1 -1
  30. package/dist/es/components/Card/components/CardInput/components/StoredCardFields.js.map +1 -1
  31. package/dist/es/components/Card/components/CardInput/defaultProps.js +1 -1
  32. package/dist/es/components/Card/components/CardInput/defaultProps.js.map +1 -1
  33. package/dist/es/components/Card/components/CardInput/utils.js +1 -1
  34. package/dist/es/components/Card/components/CardInput/utils.js.map +1 -1
  35. package/dist/es/components/Card/components/Fastlane/FastlaneSignup.js +1 -1
  36. package/dist/es/components/Card/components/Fastlane/FastlaneSignup.js.map +1 -1
  37. package/dist/es/components/Card/constants.js +2 -0
  38. package/dist/es/components/Card/constants.js.map +1 -0
  39. package/dist/es/components/CashAppPay/CashAppPay.js +1 -1
  40. package/dist/es/components/CashAppPay/CashAppPay.js.map +1 -1
  41. package/dist/es/components/CashAppPay/services/CashAppSdkLoader.js +1 -1
  42. package/dist/es/components/CashAppPay/services/CashAppSdkLoader.js.map +1 -1
  43. package/dist/es/components/ClickToPay/ClickToPay.js +1 -1
  44. package/dist/es/components/ClickToPay/ClickToPay.js.map +1 -1
  45. package/dist/es/components/Donation/components/FixedAmounts.js.map +1 -1
  46. package/dist/es/components/Dropin/Dropin.js +1 -1
  47. package/dist/es/components/Dropin/Dropin.js.map +1 -1
  48. package/dist/es/components/Dropin/components/DropinComponent.js +1 -1
  49. package/dist/es/components/Dropin/components/DropinComponent.js.map +1 -1
  50. package/dist/es/components/Dropin/components/PaymentMethod/InstantPaymentMethods.js +1 -1
  51. package/dist/es/components/Dropin/components/PaymentMethod/InstantPaymentMethods.js.map +1 -1
  52. package/dist/es/components/GooglePay/GooglePay.js +1 -1
  53. package/dist/es/components/GooglePay/GooglePay.js.map +1 -1
  54. package/dist/es/components/GooglePay/GooglePayService.js +1 -1
  55. package/dist/es/components/GooglePay/GooglePayService.js.map +1 -1
  56. package/dist/es/components/GooglePay/defaultProps.js +1 -1
  57. package/dist/es/components/GooglePay/defaultProps.js.map +1 -1
  58. package/dist/es/components/GooglePay/utils/map-adyen-brands-to-googlepay-brands.js +2 -0
  59. package/dist/es/components/GooglePay/utils/map-adyen-brands-to-googlepay-brands.js.map +1 -0
  60. package/dist/es/components/Klarna/KlarnaPayments.js +1 -1
  61. package/dist/es/components/Klarna/KlarnaPayments.js.map +1 -1
  62. package/dist/es/components/Klarna/components/KlarnaWidget/KlarnaWidget.js +1 -1
  63. package/dist/es/components/Klarna/components/KlarnaWidget/KlarnaWidget.js.map +1 -1
  64. package/dist/es/components/MBWay/components/MBWayInput/MBWayInput.js +1 -1
  65. package/dist/es/components/MBWay/components/MBWayInput/MBWayInput.js.map +1 -1
  66. package/dist/es/components/PayByBankPix/PayByBankPix.js +1 -1
  67. package/dist/es/components/PayByBankPix/PayByBankPix.js.map +1 -1
  68. package/dist/es/components/PayByBankPix/services/PasskeySdkLoader.js +1 -1
  69. package/dist/es/components/PayByBankPix/services/PasskeySdkLoader.js.map +1 -1
  70. package/dist/es/components/PayByBankPix/services/PasskeyService.js +1 -1
  71. package/dist/es/components/PayByBankPix/services/PasskeyService.js.map +1 -1
  72. package/dist/es/components/PayPal/Paypal.js +1 -1
  73. package/dist/es/components/PayPal/Paypal.js.map +1 -1
  74. package/dist/es/components/PayPal/components/PaypalButtons.js +1 -1
  75. package/dist/es/components/PayPal/components/PaypalButtons.js.map +1 -1
  76. package/dist/es/components/PayPal/components/PaypalComponent.js +1 -1
  77. package/dist/es/components/PayPal/components/PaypalComponent.js.map +1 -1
  78. package/dist/es/components/PayPal/defaultProps.js +1 -1
  79. package/dist/es/components/PayPal/defaultProps.js.map +1 -1
  80. package/dist/es/components/PayPalFastlane/FastlaneSDK.js +1 -1
  81. package/dist/es/components/PayPalFastlane/FastlaneSDK.js.map +1 -1
  82. package/dist/es/components/PayTo/PayTo.js.map +1 -1
  83. package/dist/es/components/PayTo/components/PayIDInput.js +1 -1
  84. package/dist/es/components/PayTo/components/PayIDInput.js.map +1 -1
  85. package/dist/es/components/PayTo/components/PayToPhone.js +1 -1
  86. package/dist/es/components/PayTo/components/PayToPhone.js.map +1 -1
  87. package/dist/es/components/PayTo/components/validate.js +1 -1
  88. package/dist/es/components/PayTo/components/validate.js.map +1 -1
  89. package/dist/es/components/Pix/Pix.js +1 -1
  90. package/dist/es/components/Pix/Pix.js.map +1 -1
  91. package/dist/es/components/Pix/components/PixInput/PixInput.js +2 -0
  92. package/dist/es/components/Pix/components/PixInput/PixInput.js.map +1 -0
  93. package/dist/es/components/Pix/components/PixInput/utils.js +2 -0
  94. package/dist/es/components/Pix/components/PixInput/utils.js.map +1 -0
  95. package/dist/es/components/Pix/components/PixInput/validate.js +2 -0
  96. package/dist/es/components/Pix/components/PixInput/validate.js.map +1 -0
  97. package/dist/es/components/Pix/components/PixQRDetails.js +2 -0
  98. package/dist/es/components/Pix/components/PixQRDetails.js.map +1 -0
  99. package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js +1 -1
  100. package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
  101. package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js +1 -1
  102. package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  103. package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
  104. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
  105. package/dist/es/components/ThreeDS2/components/utils.js +1 -1
  106. package/dist/es/components/ThreeDS2/components/utils.js.map +1 -1
  107. package/dist/es/components/UPI/UPI.js +1 -1
  108. package/dist/es/components/UPI/UPI.js.map +1 -1
  109. package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js +1 -1
  110. package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js.map +1 -1
  111. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  112. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  113. package/dist/es/components/internal/Address/Address.js +1 -1
  114. package/dist/es/components/internal/Address/Address.js.map +1 -1
  115. package/dist/es/components/internal/Button/Button.js +1 -1
  116. package/dist/es/components/internal/Button/Button.js.map +1 -1
  117. package/dist/es/components/internal/ClickToPay/services/ClickToPayService.js +1 -1
  118. package/dist/es/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
  119. package/dist/es/components/internal/ClickToPay/services/create-clicktopay-service.js +1 -1
  120. package/dist/es/components/internal/ClickToPay/services/create-clicktopay-service.js.map +1 -1
  121. package/dist/es/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js +1 -1
  122. package/dist/es/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js.map +1 -1
  123. package/dist/es/components/internal/ClickToPay/services/sdks/MastercardSdk.js +1 -1
  124. package/dist/es/components/internal/ClickToPay/services/sdks/MastercardSdk.js.map +1 -1
  125. package/dist/es/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js +1 -1
  126. package/dist/es/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js.map +1 -1
  127. package/dist/es/components/internal/ClickToPay/services/sdks/VisaSdk.js +1 -1
  128. package/dist/es/components/internal/ClickToPay/services/sdks/VisaSdk.js.map +1 -1
  129. package/dist/es/components/internal/Countdown/CountdownA11yReporter.js +1 -1
  130. package/dist/es/components/internal/Countdown/CountdownA11yReporter.js.map +1 -1
  131. package/dist/es/components/internal/Countdown/index.js +1 -1
  132. package/dist/es/components/internal/Countdown/index.js.map +1 -1
  133. package/dist/es/components/internal/FormFields/Field/Field.js +1 -1
  134. package/dist/es/components/internal/FormFields/Field/Field.js.map +1 -1
  135. package/dist/es/components/internal/FormFields/Fieldset/Fieldset.js +1 -1
  136. package/dist/es/components/internal/FormFields/Fieldset/Fieldset.js.map +1 -1
  137. package/dist/es/components/internal/PayButton/PayButton.js.map +1 -1
  138. package/dist/es/components/internal/PhoneInput/PhoneInputFields.js.map +1 -1
  139. package/dist/es/components/internal/QRLoader/QRLoader.js +1 -1
  140. package/dist/es/components/internal/QRLoader/QRLoader.js.map +1 -1
  141. package/dist/es/components/internal/QRLoader/QRLoaderDetailsProvider.js +2 -0
  142. package/dist/es/components/internal/QRLoader/QRLoaderDetailsProvider.js.map +1 -0
  143. package/dist/es/components/internal/QRLoader/components/QRCodeCopyButton.js +2 -0
  144. package/dist/es/components/internal/QRLoader/components/QRCodeCopyButton.js.map +1 -0
  145. package/dist/es/components/internal/QRLoader/components/QRCountdown.js +2 -0
  146. package/dist/es/components/internal/QRLoader/components/QRCountdown.js.map +1 -0
  147. package/dist/es/components/internal/QRLoader/components/QRDetails.js +2 -0
  148. package/dist/es/components/internal/QRLoader/components/QRDetails.js.map +1 -0
  149. package/dist/es/components/internal/QRLoader/components/QRImage.js +2 -0
  150. package/dist/es/components/internal/QRLoader/components/QRImage.js.map +1 -0
  151. package/dist/es/components/internal/QRLoader/components/QRIntructions.js +2 -0
  152. package/dist/es/components/internal/QRLoader/components/QRIntructions.js.map +1 -0
  153. package/dist/es/components/internal/QRLoader/components/QRProgressbar.js +2 -0
  154. package/dist/es/components/internal/QRLoader/components/QRProgressbar.js.map +1 -0
  155. package/dist/es/components/internal/SecuredFields/binLookup/extensions.js +1 -1
  156. package/dist/es/components/internal/SecuredFields/binLookup/extensions.js.map +1 -1
  157. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleConfig.js +1 -1
  158. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleConfig.js.map +1 -1
  159. package/dist/es/components/internal/SecuredFields/lib/constants.js +1 -1
  160. package/dist/es/components/internal/SecuredFields/lib/constants.js.map +1 -1
  161. package/dist/es/components/internal/SegmentedControl/SegmentedControl.js +1 -1
  162. package/dist/es/components/internal/SegmentedControl/SegmentedControl.js.map +1 -1
  163. package/dist/es/components/internal/SocialSecurityNumberBrazil/BrazilPersonalDetail.js +1 -1
  164. package/dist/es/components/internal/SocialSecurityNumberBrazil/BrazilPersonalDetail.js.map +1 -1
  165. package/dist/es/components/internal/UIElement/UIElement.js +1 -1
  166. package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
  167. package/dist/es/components/tx-variants.js +1 -1
  168. package/dist/es/components/tx-variants.js.map +1 -1
  169. package/dist/es/core/Analytics/Analytics.js +1 -1
  170. package/dist/es/core/Analytics/Analytics.js.map +1 -1
  171. package/dist/es/core/Analytics/AnalyticsInfoEvent.js +1 -1
  172. package/dist/es/core/Analytics/AnalyticsInfoEvent.js.map +1 -1
  173. package/dist/es/core/Analytics/constants.js +1 -1
  174. package/dist/es/core/Analytics/constants.js.map +1 -1
  175. package/dist/es/core/Analytics/useAnalytics.js +2 -0
  176. package/dist/es/core/Analytics/useAnalytics.js.map +1 -0
  177. package/dist/es/core/Context/CoreProvider.js +1 -1
  178. package/dist/es/core/Context/CoreProvider.js.map +1 -1
  179. package/dist/es/core/Environment/Environment.js.map +1 -1
  180. package/dist/es/core/ProcessResponse/PaymentAction/actionTypes.js +1 -1
  181. package/dist/es/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
  182. package/dist/es/core/Services/analytics/collect-id.js +1 -1
  183. package/dist/es/core/Services/analytics/collect-id.js.map +1 -1
  184. package/dist/es/core/config.js +1 -1
  185. package/dist/es/core/config.js.map +1 -1
  186. package/dist/es/core/core.js +1 -1
  187. package/dist/es/core/core.js.map +1 -1
  188. package/dist/es/index.d.ts +315 -121
  189. package/dist/es/utils/Script.js +1 -1
  190. package/dist/es/utils/Script.js.map +1 -1
  191. package/dist/es-legacy/adyen.css +8 -5
  192. package/dist/es-legacy/adyen.css.map +1 -1
  193. package/dist/es-legacy/components/AmazonPay/AmazonPay.js +1 -1
  194. package/dist/es-legacy/components/AmazonPay/AmazonPay.js.map +1 -1
  195. package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js +1 -1
  196. package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
  197. package/dist/es-legacy/components/ApplePay/ApplePay.js +1 -1
  198. package/dist/es-legacy/components/ApplePay/ApplePay.js.map +1 -1
  199. package/dist/es-legacy/components/ApplePay/services/ApplePaySdkLoader.js +1 -1
  200. package/dist/es-legacy/components/ApplePay/services/ApplePaySdkLoader.js.map +1 -1
  201. package/dist/es-legacy/components/BankTransfer/BankTransfer.js +1 -1
  202. package/dist/es-legacy/components/BankTransfer/BankTransfer.js.map +1 -1
  203. package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferResult.js +1 -1
  204. package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferResult.js.map +1 -1
  205. package/dist/es-legacy/components/Card/Card.js +1 -1
  206. package/dist/es-legacy/components/Card/Card.js.map +1 -1
  207. package/dist/es-legacy/components/Card/components/CardInput/components/CardFields.js +1 -1
  208. package/dist/es-legacy/components/Card/components/CardInput/components/CardFields.js.map +1 -1
  209. package/dist/es-legacy/components/Card/components/CardInput/components/CardFieldsWrapper.js +1 -1
  210. package/dist/es-legacy/components/Card/components/CardInput/components/CardFieldsWrapper.js.map +1 -1
  211. package/dist/es-legacy/components/Card/components/CardInput/components/ExpirationDate.js +1 -1
  212. package/dist/es-legacy/components/Card/components/CardInput/components/ExpirationDate.js.map +1 -1
  213. package/dist/es-legacy/components/Card/components/CardInput/components/StoredCardFields.js +1 -1
  214. package/dist/es-legacy/components/Card/components/CardInput/components/StoredCardFields.js.map +1 -1
  215. package/dist/es-legacy/components/Card/components/CardInput/defaultProps.js +1 -1
  216. package/dist/es-legacy/components/Card/components/CardInput/defaultProps.js.map +1 -1
  217. package/dist/es-legacy/components/Card/components/CardInput/utils.js +1 -1
  218. package/dist/es-legacy/components/Card/components/CardInput/utils.js.map +1 -1
  219. package/dist/es-legacy/components/Card/components/Fastlane/FastlaneSignup.js +1 -1
  220. package/dist/es-legacy/components/Card/components/Fastlane/FastlaneSignup.js.map +1 -1
  221. package/dist/es-legacy/components/Card/constants.js +2 -0
  222. package/dist/es-legacy/components/Card/constants.js.map +1 -0
  223. package/dist/es-legacy/components/CashAppPay/CashAppPay.js +1 -1
  224. package/dist/es-legacy/components/CashAppPay/CashAppPay.js.map +1 -1
  225. package/dist/es-legacy/components/CashAppPay/services/CashAppSdkLoader.js +1 -1
  226. package/dist/es-legacy/components/CashAppPay/services/CashAppSdkLoader.js.map +1 -1
  227. package/dist/es-legacy/components/ClickToPay/ClickToPay.js +1 -1
  228. package/dist/es-legacy/components/ClickToPay/ClickToPay.js.map +1 -1
  229. package/dist/es-legacy/components/Donation/components/FixedAmounts.js.map +1 -1
  230. package/dist/es-legacy/components/Dropin/Dropin.js +1 -1
  231. package/dist/es-legacy/components/Dropin/Dropin.js.map +1 -1
  232. package/dist/es-legacy/components/Dropin/components/DropinComponent.js +1 -1
  233. package/dist/es-legacy/components/Dropin/components/DropinComponent.js.map +1 -1
  234. package/dist/es-legacy/components/Dropin/components/PaymentMethod/InstantPaymentMethods.js +1 -1
  235. package/dist/es-legacy/components/Dropin/components/PaymentMethod/InstantPaymentMethods.js.map +1 -1
  236. package/dist/es-legacy/components/GooglePay/GooglePay.js +1 -1
  237. package/dist/es-legacy/components/GooglePay/GooglePay.js.map +1 -1
  238. package/dist/es-legacy/components/GooglePay/GooglePayService.js +1 -1
  239. package/dist/es-legacy/components/GooglePay/GooglePayService.js.map +1 -1
  240. package/dist/es-legacy/components/GooglePay/defaultProps.js +1 -1
  241. package/dist/es-legacy/components/GooglePay/defaultProps.js.map +1 -1
  242. package/dist/es-legacy/components/GooglePay/utils/map-adyen-brands-to-googlepay-brands.js +2 -0
  243. package/dist/es-legacy/components/GooglePay/utils/map-adyen-brands-to-googlepay-brands.js.map +1 -0
  244. package/dist/es-legacy/components/Klarna/KlarnaPayments.js +1 -1
  245. package/dist/es-legacy/components/Klarna/KlarnaPayments.js.map +1 -1
  246. package/dist/es-legacy/components/Klarna/components/KlarnaWidget/KlarnaWidget.js +1 -1
  247. package/dist/es-legacy/components/Klarna/components/KlarnaWidget/KlarnaWidget.js.map +1 -1
  248. package/dist/es-legacy/components/MBWay/components/MBWayInput/MBWayInput.js +1 -1
  249. package/dist/es-legacy/components/MBWay/components/MBWayInput/MBWayInput.js.map +1 -1
  250. package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js +1 -1
  251. package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js.map +1 -1
  252. package/dist/es-legacy/components/PayByBankPix/services/PasskeySdkLoader.js +1 -1
  253. package/dist/es-legacy/components/PayByBankPix/services/PasskeySdkLoader.js.map +1 -1
  254. package/dist/es-legacy/components/PayByBankPix/services/PasskeyService.js +1 -1
  255. package/dist/es-legacy/components/PayByBankPix/services/PasskeyService.js.map +1 -1
  256. package/dist/es-legacy/components/PayPal/Paypal.js +1 -1
  257. package/dist/es-legacy/components/PayPal/Paypal.js.map +1 -1
  258. package/dist/es-legacy/components/PayPal/components/PaypalButtons.js +1 -1
  259. package/dist/es-legacy/components/PayPal/components/PaypalButtons.js.map +1 -1
  260. package/dist/es-legacy/components/PayPal/components/PaypalComponent.js +1 -1
  261. package/dist/es-legacy/components/PayPal/components/PaypalComponent.js.map +1 -1
  262. package/dist/es-legacy/components/PayPal/defaultProps.js +1 -1
  263. package/dist/es-legacy/components/PayPal/defaultProps.js.map +1 -1
  264. package/dist/es-legacy/components/PayPalFastlane/FastlaneSDK.js +1 -1
  265. package/dist/es-legacy/components/PayPalFastlane/FastlaneSDK.js.map +1 -1
  266. package/dist/es-legacy/components/PayTo/PayTo.js.map +1 -1
  267. package/dist/es-legacy/components/PayTo/components/PayIDInput.js +1 -1
  268. package/dist/es-legacy/components/PayTo/components/PayIDInput.js.map +1 -1
  269. package/dist/es-legacy/components/PayTo/components/PayToPhone.js +1 -1
  270. package/dist/es-legacy/components/PayTo/components/PayToPhone.js.map +1 -1
  271. package/dist/es-legacy/components/PayTo/components/validate.js +1 -1
  272. package/dist/es-legacy/components/PayTo/components/validate.js.map +1 -1
  273. package/dist/es-legacy/components/Pix/Pix.js +1 -1
  274. package/dist/es-legacy/components/Pix/Pix.js.map +1 -1
  275. package/dist/es-legacy/components/Pix/components/PixInput/PixInput.js +2 -0
  276. package/dist/es-legacy/components/Pix/components/PixInput/PixInput.js.map +1 -0
  277. package/dist/es-legacy/components/Pix/components/PixInput/utils.js +2 -0
  278. package/dist/es-legacy/components/Pix/components/PixInput/utils.js.map +1 -0
  279. package/dist/es-legacy/components/Pix/components/PixInput/validate.js +2 -0
  280. package/dist/es-legacy/components/Pix/components/PixInput/validate.js.map +1 -0
  281. package/dist/es-legacy/components/Pix/components/PixQRDetails.js +2 -0
  282. package/dist/es-legacy/components/Pix/components/PixQRDetails.js.map +1 -0
  283. package/dist/es-legacy/components/ThreeDS2/ThreeDS2Challenge.js +1 -1
  284. package/dist/es-legacy/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
  285. package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js +1 -1
  286. package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  287. package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
  288. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
  289. package/dist/es-legacy/components/ThreeDS2/components/utils.js +1 -1
  290. package/dist/es-legacy/components/ThreeDS2/components/utils.js.map +1 -1
  291. package/dist/es-legacy/components/UPI/UPI.js +1 -1
  292. package/dist/es-legacy/components/UPI/UPI.js.map +1 -1
  293. package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js +1 -1
  294. package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js.map +1 -1
  295. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  296. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  297. package/dist/es-legacy/components/internal/Address/Address.js +1 -1
  298. package/dist/es-legacy/components/internal/Address/Address.js.map +1 -1
  299. package/dist/es-legacy/components/internal/Button/Button.js +1 -1
  300. package/dist/es-legacy/components/internal/Button/Button.js.map +1 -1
  301. package/dist/es-legacy/components/internal/ClickToPay/services/ClickToPayService.js +1 -1
  302. package/dist/es-legacy/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
  303. package/dist/es-legacy/components/internal/ClickToPay/services/create-clicktopay-service.js +1 -1
  304. package/dist/es-legacy/components/internal/ClickToPay/services/create-clicktopay-service.js.map +1 -1
  305. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js +1 -1
  306. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js.map +1 -1
  307. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/MastercardSdk.js +1 -1
  308. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/MastercardSdk.js.map +1 -1
  309. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js +1 -1
  310. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js.map +1 -1
  311. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/VisaSdk.js +1 -1
  312. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/VisaSdk.js.map +1 -1
  313. package/dist/es-legacy/components/internal/Countdown/CountdownA11yReporter.js +1 -1
  314. package/dist/es-legacy/components/internal/Countdown/CountdownA11yReporter.js.map +1 -1
  315. package/dist/es-legacy/components/internal/Countdown/index.js +1 -1
  316. package/dist/es-legacy/components/internal/Countdown/index.js.map +1 -1
  317. package/dist/es-legacy/components/internal/FormFields/Field/Field.js +1 -1
  318. package/dist/es-legacy/components/internal/FormFields/Field/Field.js.map +1 -1
  319. package/dist/es-legacy/components/internal/FormFields/Fieldset/Fieldset.js +1 -1
  320. package/dist/es-legacy/components/internal/FormFields/Fieldset/Fieldset.js.map +1 -1
  321. package/dist/es-legacy/components/internal/PayButton/PayButton.js.map +1 -1
  322. package/dist/es-legacy/components/internal/PhoneInput/PhoneInputFields.js.map +1 -1
  323. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js +1 -1
  324. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js.map +1 -1
  325. package/dist/es-legacy/components/internal/QRLoader/QRLoaderDetailsProvider.js +2 -0
  326. package/dist/es-legacy/components/internal/QRLoader/QRLoaderDetailsProvider.js.map +1 -0
  327. package/dist/es-legacy/components/internal/QRLoader/components/QRCodeCopyButton.js +2 -0
  328. package/dist/es-legacy/components/internal/QRLoader/components/QRCodeCopyButton.js.map +1 -0
  329. package/dist/es-legacy/components/internal/QRLoader/components/QRCountdown.js +2 -0
  330. package/dist/es-legacy/components/internal/QRLoader/components/QRCountdown.js.map +1 -0
  331. package/dist/es-legacy/components/internal/QRLoader/components/QRDetails.js +2 -0
  332. package/dist/es-legacy/components/internal/QRLoader/components/QRDetails.js.map +1 -0
  333. package/dist/es-legacy/components/internal/QRLoader/components/QRImage.js +2 -0
  334. package/dist/es-legacy/components/internal/QRLoader/components/QRImage.js.map +1 -0
  335. package/dist/es-legacy/components/internal/QRLoader/components/QRIntructions.js +2 -0
  336. package/dist/es-legacy/components/internal/QRLoader/components/QRIntructions.js.map +1 -0
  337. package/dist/es-legacy/components/internal/QRLoader/components/QRProgressbar.js +2 -0
  338. package/dist/es-legacy/components/internal/QRLoader/components/QRProgressbar.js.map +1 -0
  339. package/dist/es-legacy/components/internal/SecuredFields/binLookup/extensions.js +1 -1
  340. package/dist/es-legacy/components/internal/SecuredFields/binLookup/extensions.js.map +1 -1
  341. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleConfig.js +1 -1
  342. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleConfig.js.map +1 -1
  343. package/dist/es-legacy/components/internal/SecuredFields/lib/constants.js +1 -1
  344. package/dist/es-legacy/components/internal/SecuredFields/lib/constants.js.map +1 -1
  345. package/dist/es-legacy/components/internal/SegmentedControl/SegmentedControl.js +1 -1
  346. package/dist/es-legacy/components/internal/SegmentedControl/SegmentedControl.js.map +1 -1
  347. package/dist/es-legacy/components/internal/SocialSecurityNumberBrazil/BrazilPersonalDetail.js +1 -1
  348. package/dist/es-legacy/components/internal/SocialSecurityNumberBrazil/BrazilPersonalDetail.js.map +1 -1
  349. package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
  350. package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
  351. package/dist/es-legacy/components/tx-variants.js +1 -1
  352. package/dist/es-legacy/components/tx-variants.js.map +1 -1
  353. package/dist/es-legacy/core/Analytics/Analytics.js +1 -1
  354. package/dist/es-legacy/core/Analytics/Analytics.js.map +1 -1
  355. package/dist/es-legacy/core/Analytics/AnalyticsInfoEvent.js +1 -1
  356. package/dist/es-legacy/core/Analytics/AnalyticsInfoEvent.js.map +1 -1
  357. package/dist/es-legacy/core/Analytics/constants.js +1 -1
  358. package/dist/es-legacy/core/Analytics/constants.js.map +1 -1
  359. package/dist/es-legacy/core/Analytics/useAnalytics.js +2 -0
  360. package/dist/es-legacy/core/Analytics/useAnalytics.js.map +1 -0
  361. package/dist/es-legacy/core/Context/CoreProvider.js +1 -1
  362. package/dist/es-legacy/core/Context/CoreProvider.js.map +1 -1
  363. package/dist/es-legacy/core/Environment/Environment.js.map +1 -1
  364. package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js +1 -1
  365. package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
  366. package/dist/es-legacy/core/Services/analytics/collect-id.js +1 -1
  367. package/dist/es-legacy/core/Services/analytics/collect-id.js.map +1 -1
  368. package/dist/es-legacy/core/config.js +1 -1
  369. package/dist/es-legacy/core/config.js.map +1 -1
  370. package/dist/es-legacy/core/core.js +1 -1
  371. package/dist/es-legacy/core/core.js.map +1 -1
  372. package/dist/es-legacy/utils/Script.js +1 -1
  373. package/dist/es-legacy/utils/Script.js.map +1 -1
  374. package/package.json +149 -157
  375. package/styles/adyen.css +8 -5
  376. package/dist/es/components/Pix/PixInput/PixInput.js +0 -2
  377. package/dist/es/components/Pix/PixInput/PixInput.js.map +0 -1
  378. package/dist/es/components/Pix/PixInput/utils.js +0 -2
  379. package/dist/es/components/Pix/PixInput/utils.js.map +0 -1
  380. package/dist/es/components/Pix/PixInput/validate.js +0 -2
  381. package/dist/es/components/Pix/PixInput/validate.js.map +0 -1
  382. package/dist/es-legacy/components/Pix/PixInput/PixInput.js +0 -2
  383. package/dist/es-legacy/components/Pix/PixInput/PixInput.js.map +0 -1
  384. package/dist/es-legacy/components/Pix/PixInput/utils.js +0 -2
  385. package/dist/es-legacy/components/Pix/PixInput/utils.js.map +0 -1
  386. package/dist/es-legacy/components/Pix/PixInput/validate.js +0 -2
  387. package/dist/es-legacy/components/Pix/PixInput/validate.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import r from"../../utils/browserInfo.js";import n from"./components/AmazonPayComponent.js";import s from"./defaultProps.js";import{getCheckoutDetails as i}from"./services.js";import{TxVariants as c}from"../tx-variants.js";import{sanitizeResponse as p,verifyPaymentDidNotFail as l}from"../internal/UIElement/utils.js";import{ANALYTICS_RENDERED_STR as a,ANALYTICS_EXPRESS_PAGES_ARRAY as u}from"../../core/Analytics/constants.js";import{AnalyticsInfoEvent as f}from"../../core/Analytics/AnalyticsInfoEvent.js";function m(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function h(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),r.forEach(function(t){m(e,t,o[t])})}return e}function d(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t.push.apply(t,o)}return t}(Object(t)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(t,o))}),e}class y extends t{formatProps(e){return d(h({},e),{checkoutMode:e.isDropin?"ProcessOrder":e.checkoutMode,environment:e.environment.toUpperCase(),locale:e.locale.replace("-","_"),productType:e.isDropin&&!e.addressDetails?"PayOnly":e.productType})}formatData(){const{amazonCheckoutSessionId:e}=this.props;return{paymentMethod:h({type:y.type},e&&{checkoutSessionId:e}),browserInfo:this.browserInfo}}submitAnalytics(e){if(e instanceof f&&e.type===a){const{isExpress:t,expressPage:o}=this.props,r=o&&u.includes(o);"boolean"==typeof t&&(e.isExpress=t),!0===t&&r&&(e.expressPage=o)}super.submitAnalytics(e)}getShopperDetails(){const{amazonCheckoutSessionId:e,configuration:t={},loadingContext:o,clientKey:r}=this.props;if(!e)return console.error("Could not shopper details. Missing checkoutSessionId.");const n={checkoutSessionId:e,getDeliveryAddress:!0,publicKeyId:t.publicKeyId,region:t.region};return i(o,r,n)}handleDeclineFlow(){const{amazonCheckoutSessionId:e,configuration:t={},loadingContext:o,clientKey:r}=this.props;if(!e)return console.error("Could handle the decline flow. Missing checkoutSessionId.");const n={checkoutSessionId:e,getDeclineFlowUrl:!0,publicKeyId:t.publicKeyId,region:t.region};i(o,r,n).then((e={})=>{if(!(null==e?void 0:e.declineFlowUrl))throw e;window.location.assign(e.declineFlowUrl)}).catch(e=>{this.props.onError&&this.props.onError(e,this.componentRef)})}get isValid(){return!0}get browserInfo(){return r()}submit(){const e=this.componentRef&&this.componentRef.getSubmitFunction();if(e)return e();this.makePaymentsCall().then(p).then(l).then(this.handleResponse).catch(this.handleFailedResult)}render(){return e(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},e(n,h({ref:e=>{this.componentRef=e},showPayButton:this.props.showPayButton,onClick:this.props.onClick,onError:this.props.onError,onSignOut:this.props.onSignOut},this.props)))}}m(y,"type",c.amazonpay),m(y,"defaultProps",s);export{y as AmazonPayElement,y as default};
1
+ import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import r from"../../utils/browserInfo.js";import n from"./components/AmazonPayComponent.js";import s from"./defaultProps.js";import{getCheckoutDetails as i}from"./services.js";import{TxVariants as c}from"../tx-variants.js";import{sanitizeResponse as p,verifyPaymentDidNotFail as l}from"../internal/UIElement/utils.js";import{ANALYTICS_RENDERED_STR as a,ANALYTICS_EXPRESS_PAGES_ARRAY as u}from"../../core/Analytics/constants.js";import{AnalyticsInfoEvent as f}from"../../core/Analytics/AnalyticsInfoEvent.js";function h(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function m(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),r.forEach(function(t){h(e,t,o[t])})}return e}function d(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t.push.apply(t,o)}return t}(Object(t)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(t,o))}),e}class y extends t{formatProps(e){return d(m({},e),{checkoutMode:e.isDropin?"ProcessOrder":e.checkoutMode,environment:e.environment.toUpperCase(),locale:e.locale.replace("-","_"),productType:e.isDropin&&!e.addressDetails?"PayOnly":e.productType})}formatData(){const{amazonCheckoutSessionId:e}=this.props;return{paymentMethod:m({type:y.type},e&&{checkoutSessionId:e}),browserInfo:this.browserInfo}}submitAnalytics(e){if(e instanceof f&&e.type===a){const{isExpress:t,expressPage:o}=this.props,r=o&&u.includes(o);"boolean"==typeof t&&(e.isExpress=t),!0===t&&r&&(e.expressPage=o)}super.submitAnalytics(e)}getShopperDetails(){const{amazonCheckoutSessionId:e,configuration:t={},loadingContext:o,clientKey:r}=this.props;if(!e)return console.error("Could not shopper details. Missing checkoutSessionId.");const n={checkoutSessionId:e,getDeliveryAddress:!0,publicKeyId:t.publicKeyId,region:t.region};return i(o,r,n)}handleDeclineFlow(){const{amazonCheckoutSessionId:e,configuration:t={},loadingContext:o,clientKey:r}=this.props;if(!e)return console.error("Could handle the decline flow. Missing checkoutSessionId.");const n={checkoutSessionId:e,getDeclineFlowUrl:!0,publicKeyId:t.publicKeyId,region:t.region};i(o,r,n).then((e={})=>{if(!(null==e?void 0:e.declineFlowUrl))throw e;window.location.assign(e.declineFlowUrl)}).catch(e=>{this.props.onError&&this.props.onError(e,this.componentRef)})}get isValid(){return!0}get browserInfo(){return r()}submit(){const e=this.componentRef&&this.componentRef.getSubmitFunction();if(e)return e();this.makePaymentsCall().then(p).then(l).then(this.handleResponse).catch(this.handleFailedResult)}render(){return e(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources,analytics:this.analytics},e(n,m({ref:e=>{this.componentRef=e},showPayButton:this.props.showPayButton,onClick:this.props.onClick,onError:this.props.onError,onSignOut:this.props.onSignOut},this.props)))}}h(y,"type",c.amazonpay),h(y,"defaultProps",s);export{y as AmazonPayElement,y as default};
2
2
  //# sourceMappingURL=AmazonPay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AmazonPay.js","sources":["../../../../src/components/AmazonPay/AmazonPay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport AmazonPayComponent from './components/AmazonPayComponent';\nimport { AmazonPayElementData, AmazonPayConfiguration, CheckoutDetailsRequest } from './types';\nimport defaultProps from './defaultProps';\nimport { getCheckoutDetails } from './services';\nimport './AmazonPay.scss';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { ANALYTICS_EXPRESS_PAGES_ARRAY, ANALYTICS_RENDERED_STR } from '../../core/Analytics/constants';\nimport { AnalyticsEvent } from '../../core/Analytics/AnalyticsEvent';\nimport { AnalyticsInfoEvent } from '../../core/Analytics/AnalyticsInfoEvent';\n\nexport class AmazonPayElement extends UIElement<AmazonPayConfiguration> {\n public static type = TxVariants.amazonpay;\n\n protected static defaultProps = defaultProps;\n\n formatProps(props) {\n return {\n ...props,\n checkoutMode: props.isDropin ? 'ProcessOrder' : props.checkoutMode,\n environment: props.environment.toUpperCase(),\n locale: props.locale.replace('-', '_'),\n productType: props.isDropin && !props.addressDetails ? 'PayOnly' : props.productType\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): AmazonPayElementData {\n const { amazonCheckoutSessionId: checkoutSessionId } = this.props;\n return {\n paymentMethod: {\n type: AmazonPayElement.type,\n ...(checkoutSessionId && { checkoutSessionId })\n },\n browserInfo: this.browserInfo\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 getShopperDetails() {\n const { amazonCheckoutSessionId, configuration = {}, loadingContext, clientKey } = this.props;\n if (!amazonCheckoutSessionId) return console.error('Could not shopper details. Missing checkoutSessionId.');\n\n const request: CheckoutDetailsRequest = {\n checkoutSessionId: amazonCheckoutSessionId,\n getDeliveryAddress: true,\n publicKeyId: configuration.publicKeyId,\n region: configuration.region\n };\n\n return getCheckoutDetails(loadingContext, clientKey, request);\n }\n\n public handleDeclineFlow() {\n const { amazonCheckoutSessionId, configuration = {}, loadingContext, clientKey } = this.props;\n if (!amazonCheckoutSessionId) return console.error('Could handle the decline flow. Missing checkoutSessionId.');\n\n const request: CheckoutDetailsRequest = {\n checkoutSessionId: amazonCheckoutSessionId,\n getDeclineFlowUrl: true,\n publicKeyId: configuration.publicKeyId,\n region: configuration.region\n };\n\n getCheckoutDetails(loadingContext, clientKey, request)\n .then((response = {}) => {\n if (!response?.declineFlowUrl) throw response;\n window.location.assign(response.declineFlowUrl);\n })\n .catch(error => {\n if (this.props.onError) this.props.onError(error, this.componentRef);\n });\n }\n\n get isValid() {\n return true;\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n public submit(): void {\n const amazonComponentSubmit = this.componentRef && this.componentRef.getSubmitFunction();\n if (amazonComponentSubmit) {\n return amazonComponentSubmit();\n }\n this.makePaymentsCall().then(sanitizeResponse).then(verifyPaymentDidNotFail).then(this.handleResponse).catch(this.handleFailedResult);\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <AmazonPayComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n showPayButton={this.props.showPayButton}\n onClick={this.props.onClick}\n onError={this.props.onError}\n onSignOut={this.props.onSignOut}\n {...this.props}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default AmazonPayElement;\n"],"names":["AmazonPayElement","UIElement","formatProps","props","_object_spread_props","_object_spread","checkoutMode","isDropin","environment","toUpperCase","locale","replace","productType","addressDetails","formatData","amazonCheckoutSessionId","checkoutSessionId","this","paymentMethod","type","browserInfo","submitAnalytics","analyticsObj","AnalyticsInfoEvent","ANALYTICS_RENDERED_STR","isExpress","expressPage","hasExpressPage","ANALYTICS_EXPRESS_PAGES_ARRAY","includes","super","getShopperDetails","configuration","loadingContext","clientKey","console","error","request","getDeliveryAddress","publicKeyId","region","getCheckoutDetails","handleDeclineFlow","getDeclineFlowUrl","then","response","declineFlowUrl","window","location","assign","catch","onError","componentRef","isValid","collectBrowserInfo","submit","amazonComponentSubmit","getSubmitFunction","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","handleResponse","handleFailedResult","render","h","CoreProvider","i18n","resources","AmazonPayComponent","ref","showPayButton","onClick","onSignOut","_define_property","TxVariants","amazonpay","defaultProps"],"mappings":"2+CAeO,MAAMA,UAAyBC,EAKlCC,WAAAA,CAAYC,GACR,OAAOC,EAAAC,EAAA,CAAA,EACAF,GAAAA,CACHG,aAAcH,EAAMI,SAAW,eAAiBJ,EAAMG,aACtDE,YAAaL,EAAMK,YAAYC,cAC/BC,OAAQP,EAAMO,OAAOC,QAAQ,IAAK,KAClCC,YAAaT,EAAMI,WAAaJ,EAAMU,eAAiB,UAAYV,EAAMS,aAEjF,CAKAE,UAAAA,GACI,MAAQC,wBAAyBC,GAAsBC,KAAKd,MAC5D,MAAO,CACHe,cAAeb,EAAA,CACXc,KAAMnB,EAAiBmB,MACnBH,GAAqB,CAAEA,sBAE/BI,YAAaH,KAAKG,YAE1B,CAEUC,eAAAA,CAAgBC,GAEtB,GAAIA,aAAwBC,GAAsBD,EAAaH,OAASK,EAAwB,CAC5F,MAAMC,UAAEA,EAASC,YAAEA,GAAgBT,KAAKd,MAClCwB,EAAiBD,GAAeE,EAA8BC,SAASH,GAEpD,kBAAdD,IACPH,EAAaG,UAAYA,IAGX,IAAdA,GAAsBE,IACtBL,EAAaI,YAAcA,EAEnC,CAEAI,MAAMT,gBAAgBC,EAC1B,CAEAS,iBAAAA,GACI,MAAMhB,wBAAEA,EAAuBiB,cAAEA,EAAgB,CAAA,EAAEC,eAAEA,EAAcC,UAAEA,GAAcjB,KAAKd,MACxF,IAAKY,EAAyB,OAAOoB,QAAQC,MAAM,yDAEnD,MAAMC,EAAkC,CACpCrB,kBAAmBD,EACnBuB,oBAAoB,EACpBC,YAAaP,EAAcO,YAC3BC,OAAQR,EAAcQ,QAG1B,OAAOC,EAAmBR,EAAgBC,EAAWG,EACzD,CAEOK,iBAAAA,GACH,MAAM3B,wBAAEA,EAAuBiB,cAAEA,EAAgB,CAAA,EAAEC,eAAEA,EAAcC,UAAEA,GAAcjB,KAAKd,MACxF,IAAKY,EAAyB,OAAOoB,QAAQC,MAAM,6DAEnD,MAAMC,EAAkC,CACpCrB,kBAAmBD,EACnB4B,mBAAmB,EACnBJ,YAAaP,EAAcO,YAC3BC,OAAQR,EAAcQ,QAG1BC,EAAmBR,EAAgBC,EAAWG,GACzCO,KAAK,CAACC,EAAW,MACd,KAAKA,aAAAA,EAAAA,EAAUC,gBAAgB,MAAMD,EACrCE,OAAOC,SAASC,OAAOJ,EAASC,kBAEnCI,MAAMd,IACCnB,KAAKd,MAAMgD,SAASlC,KAAKd,MAAMgD,QAAQf,EAAOnB,KAAKmC,eAEnE,CAEA,WAAIC,GACA,OAAO,CACX,CAEA,eAAIjC,GACA,OAAOkC,GACX,CAEOC,MAAAA,GACH,MAAMC,EAAwBvC,KAAKmC,cAAgBnC,KAAKmC,aAAaK,oBACrE,GAAID,EACA,OAAOA,IAEXvC,KAAKyC,mBAAmBd,KAAKe,GAAkBf,KAAKgB,GAAyBhB,KAAK3B,KAAK4C,gBAAgBX,MAAMjC,KAAK6C,mBACtH,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMjD,KAAKd,MAAM+D,KAAMjC,eAAgBhB,KAAKd,MAAM8B,eAAgBkC,UAAWlD,KAAKkD,WAC5FH,EAACI,EAAAA,EAAAA,CACGC,IAAKA,IACDpD,KAAKmC,aAAeiB,GAExBC,cAAerD,KAAKd,MAAMmE,cAC1BC,QAAStD,KAAKd,MAAMoE,QACpBpB,QAASlC,KAAKd,MAAMgD,QACpBqB,UAAWvD,KAAKd,MAAMqE,WAClBvD,KAAKd,QAIzB,EAhHAsE,EADSzE,EACKmB,OAAOuD,EAAWC,WAEhCF,EAHSzE,EAGQ4E,eAAeA"}
1
+ {"version":3,"file":"AmazonPay.js","sources":["../../../../src/components/AmazonPay/AmazonPay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport AmazonPayComponent from './components/AmazonPayComponent';\nimport { AmazonPayElementData, AmazonPayConfiguration, CheckoutDetailsRequest } from './types';\nimport defaultProps from './defaultProps';\nimport { getCheckoutDetails } from './services';\nimport './AmazonPay.scss';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { ANALYTICS_EXPRESS_PAGES_ARRAY, ANALYTICS_RENDERED_STR } from '../../core/Analytics/constants';\nimport { AnalyticsEvent } from '../../core/Analytics/AnalyticsEvent';\nimport { AnalyticsInfoEvent } from '../../core/Analytics/AnalyticsInfoEvent';\n\nexport class AmazonPayElement extends UIElement<AmazonPayConfiguration> {\n public static type = TxVariants.amazonpay;\n\n protected static defaultProps = defaultProps;\n\n formatProps(props) {\n return {\n ...props,\n checkoutMode: props.isDropin ? 'ProcessOrder' : props.checkoutMode,\n environment: props.environment.toUpperCase(),\n locale: props.locale.replace('-', '_'),\n productType: props.isDropin && !props.addressDetails ? 'PayOnly' : props.productType\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): AmazonPayElementData {\n const { amazonCheckoutSessionId: checkoutSessionId } = this.props;\n return {\n paymentMethod: {\n type: AmazonPayElement.type,\n ...(checkoutSessionId && { checkoutSessionId })\n },\n browserInfo: this.browserInfo\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 getShopperDetails() {\n const { amazonCheckoutSessionId, configuration = {}, loadingContext, clientKey } = this.props;\n if (!amazonCheckoutSessionId) return console.error('Could not shopper details. Missing checkoutSessionId.');\n\n const request: CheckoutDetailsRequest = {\n checkoutSessionId: amazonCheckoutSessionId,\n getDeliveryAddress: true,\n publicKeyId: configuration.publicKeyId,\n region: configuration.region\n };\n\n return getCheckoutDetails(loadingContext, clientKey, request);\n }\n\n public handleDeclineFlow() {\n const { amazonCheckoutSessionId, configuration = {}, loadingContext, clientKey } = this.props;\n if (!amazonCheckoutSessionId) return console.error('Could handle the decline flow. Missing checkoutSessionId.');\n\n const request: CheckoutDetailsRequest = {\n checkoutSessionId: amazonCheckoutSessionId,\n getDeclineFlowUrl: true,\n publicKeyId: configuration.publicKeyId,\n region: configuration.region\n };\n\n getCheckoutDetails(loadingContext, clientKey, request)\n .then((response = {}) => {\n if (!response?.declineFlowUrl) throw response;\n window.location.assign(response.declineFlowUrl);\n })\n .catch(error => {\n if (this.props.onError) this.props.onError(error, this.componentRef);\n });\n }\n\n get isValid() {\n return true;\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n public submit(): void {\n const amazonComponentSubmit = this.componentRef && this.componentRef.getSubmitFunction();\n if (amazonComponentSubmit) {\n return amazonComponentSubmit();\n }\n this.makePaymentsCall().then(sanitizeResponse).then(verifyPaymentDidNotFail).then(this.handleResponse).catch(this.handleFailedResult);\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources} analytics={this.analytics}>\n <AmazonPayComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n showPayButton={this.props.showPayButton}\n onClick={this.props.onClick}\n onError={this.props.onError}\n onSignOut={this.props.onSignOut}\n {...this.props}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default AmazonPayElement;\n"],"names":["AmazonPayElement","UIElement","formatProps","props","_object_spread_props","_object_spread","checkoutMode","isDropin","environment","toUpperCase","locale","replace","productType","addressDetails","formatData","amazonCheckoutSessionId","checkoutSessionId","this","paymentMethod","type","browserInfo","submitAnalytics","analyticsObj","AnalyticsInfoEvent","ANALYTICS_RENDERED_STR","isExpress","expressPage","hasExpressPage","ANALYTICS_EXPRESS_PAGES_ARRAY","includes","super","getShopperDetails","configuration","loadingContext","clientKey","console","error","request","getDeliveryAddress","publicKeyId","region","getCheckoutDetails","handleDeclineFlow","getDeclineFlowUrl","then","response","declineFlowUrl","window","location","assign","catch","onError","componentRef","isValid","collectBrowserInfo","submit","amazonComponentSubmit","getSubmitFunction","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","handleResponse","handleFailedResult","render","h","CoreProvider","i18n","resources","analytics","AmazonPayComponent","ref","showPayButton","onClick","onSignOut","_define_property","TxVariants","amazonpay","defaultProps"],"mappings":"2+CAeO,MAAMA,UAAyBC,EAKlCC,WAAAA,CAAYC,GACR,OAAOC,EAAAC,EAAA,CAAA,EACAF,GAAAA,CACHG,aAAcH,EAAMI,SAAW,eAAiBJ,EAAMG,aACtDE,YAAaL,EAAMK,YAAYC,cAC/BC,OAAQP,EAAMO,OAAOC,QAAQ,IAAK,KAClCC,YAAaT,EAAMI,WAAaJ,EAAMU,eAAiB,UAAYV,EAAMS,aAEjF,CAKAE,UAAAA,GACI,MAAQC,wBAAyBC,GAAsBC,KAAKd,MAC5D,MAAO,CACHe,cAAeb,EAAA,CACXc,KAAMnB,EAAiBmB,MACnBH,GAAqB,CAAEA,sBAE/BI,YAAaH,KAAKG,YAE1B,CAEUC,eAAAA,CAAgBC,GAEtB,GAAIA,aAAwBC,GAAsBD,EAAaH,OAASK,EAAwB,CAC5F,MAAMC,UAAEA,EAASC,YAAEA,GAAgBT,KAAKd,MAClCwB,EAAiBD,GAAeE,EAA8BC,SAASH,GAEpD,kBAAdD,IACPH,EAAaG,UAAYA,IAGX,IAAdA,GAAsBE,IACtBL,EAAaI,YAAcA,EAEnC,CAEAI,MAAMT,gBAAgBC,EAC1B,CAEAS,iBAAAA,GACI,MAAMhB,wBAAEA,EAAuBiB,cAAEA,EAAgB,CAAA,EAAEC,eAAEA,EAAcC,UAAEA,GAAcjB,KAAKd,MACxF,IAAKY,EAAyB,OAAOoB,QAAQC,MAAM,yDAEnD,MAAMC,EAAkC,CACpCrB,kBAAmBD,EACnBuB,oBAAoB,EACpBC,YAAaP,EAAcO,YAC3BC,OAAQR,EAAcQ,QAG1B,OAAOC,EAAmBR,EAAgBC,EAAWG,EACzD,CAEOK,iBAAAA,GACH,MAAM3B,wBAAEA,EAAuBiB,cAAEA,EAAgB,CAAA,EAAEC,eAAEA,EAAcC,UAAEA,GAAcjB,KAAKd,MACxF,IAAKY,EAAyB,OAAOoB,QAAQC,MAAM,6DAEnD,MAAMC,EAAkC,CACpCrB,kBAAmBD,EACnB4B,mBAAmB,EACnBJ,YAAaP,EAAcO,YAC3BC,OAAQR,EAAcQ,QAG1BC,EAAmBR,EAAgBC,EAAWG,GACzCO,KAAK,CAACC,EAAW,MACd,KAAKA,aAAAA,EAAAA,EAAUC,gBAAgB,MAAMD,EACrCE,OAAOC,SAASC,OAAOJ,EAASC,kBAEnCI,MAAMd,IACCnB,KAAKd,MAAMgD,SAASlC,KAAKd,MAAMgD,QAAQf,EAAOnB,KAAKmC,eAEnE,CAEA,WAAIC,GACA,OAAO,CACX,CAEA,eAAIjC,GACA,OAAOkC,GACX,CAEOC,MAAAA,GACH,MAAMC,EAAwBvC,KAAKmC,cAAgBnC,KAAKmC,aAAaK,oBACrE,GAAID,EACA,OAAOA,IAEXvC,KAAKyC,mBAAmBd,KAAKe,GAAkBf,KAAKgB,GAAyBhB,KAAK3B,KAAK4C,gBAAgBX,MAAMjC,KAAK6C,mBACtH,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMjD,KAAKd,MAAM+D,KAAMjC,eAAgBhB,KAAKd,MAAM8B,eAAgBkC,UAAWlD,KAAKkD,UAAWC,UAAWnD,KAAKmD,WACvHJ,EAACK,EAAAA,EAAAA,CACGC,IAAKA,IACDrD,KAAKmC,aAAekB,GAExBC,cAAetD,KAAKd,MAAMoE,cAC1BC,QAASvD,KAAKd,MAAMqE,QACpBrB,QAASlC,KAAKd,MAAMgD,QACpBsB,UAAWxD,KAAKd,MAAMsE,WAClBxD,KAAKd,QAIzB,EAhHAuE,EADS1E,EACKmB,OAAOwD,EAAWC,WAEhCF,EAHS1E,EAGQ6E,eAAeA"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../external/preact/dist/preact.js";import{useState as t,useRef as n,useEffect as o}from"../../../external/preact/hooks/dist/hooks.js";import r from"../../internal/Spinner/Spinner.js";import{getAmazonPayUrl as a}from"../utils.js";import i from"./AmazonPayButton.js";import c from"./ChangePaymentDetailsButton.js";import u from"./OrderButton.js";import s from"./SignOutButton.js";import m from"../../../utils/Script.js";function p(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function d(d){const[y,f]=t("pending"),h=n(null),g=n(null),O=()=>{f("ready")};return this.getSubmitFunction=()=>h.current&&h.current.initCheckout?()=>h.current.initCheckout():g.current&&g.current.createOrder?()=>g.current.createOrder():void 0,o(()=>{const e=a(d.configuration.region),t=new m(e);return window.amazon?O():t.load().then(O),()=>{t.remove()}},[]),"pending"===y?e("div",{className:"adyen-checkout__amazonpay"},e("div",{className:"adyen-checkout__amazonpay__status adyen-checkout__amazonpay__status--pending"},e(r,null))):d.showSignOutButton?e("div",{className:"adyen-checkout__amazonpay"},e(s,{amazonRef:window.amazon,onSignOut:d.onSignOut})):d.amazonCheckoutSessionId?e("div",{className:"adyen-checkout__amazonpay"},d.showOrderButton&&e(u,{amazonCheckoutSessionId:d.amazonCheckoutSessionId,amount:d.amount,chargePermissionType:d.chargePermissionType,recurringMetadata:d.recurringMetadata,clientKey:d.clientKey,onError:d.onError,publicKeyId:null===(b=d.configuration)||void 0===b?void 0:b.publicKeyId,region:null===(j=d.configuration)||void 0===j?void 0:j.region,returnUrl:d.returnUrl,ref:g}),d.showChangePaymentDetailsButton&&e(c,{amazonCheckoutSessionId:d.amazonCheckoutSessionId,amazonRef:window.amazon})):e("div",{className:"adyen-checkout__amazonpay"},e(i,l(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),o.forEach(function(t){p(e,t,n[t])})}return e}({},d),{showPayButton:this.props.showPayButton,amazonRef:window.amazon,ref:h})));var b,j}export{d as default};
1
+ import{createElement as e}from"../../../external/preact/dist/preact.js";import{useState as t,useRef as n,useEffect as o}from"../../../external/preact/hooks/dist/hooks.js";import r from"../../internal/Spinner/Spinner.js";import{getAmazonPayUrl as a}from"../utils.js";import i from"./AmazonPayButton.js";import c from"./ChangePaymentDetailsButton.js";import s from"./OrderButton.js";import u from"./SignOutButton.js";import m from"../../../utils/Script.js";import p from"../../../core/Analytics/useAnalytics.js";function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function y(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function d(d){const[f,h]=t("pending"),g=n(null),O=n(null),{analytics:b}=p(),j=()=>{h("ready")};return this.getSubmitFunction=()=>g.current&&g.current.initCheckout?()=>g.current.initCheckout():O.current&&O.current.createOrder?()=>O.current.createOrder():void 0,o(()=>{const e=a(d.configuration.region),t=new m({src:e,component:"amazonpay",analytics:b});return window.amazon?j():t.load().then(j),()=>{t.remove()}},[b]),"pending"===f?e("div",{className:"adyen-checkout__amazonpay"},e("div",{className:"adyen-checkout__amazonpay__status adyen-checkout__amazonpay__status--pending"},e(r,null))):d.showSignOutButton?e("div",{className:"adyen-checkout__amazonpay"},e(u,{amazonRef:window.amazon,onSignOut:d.onSignOut})):d.amazonCheckoutSessionId?e("div",{className:"adyen-checkout__amazonpay"},d.showOrderButton&&e(s,{amazonCheckoutSessionId:d.amazonCheckoutSessionId,amount:d.amount,chargePermissionType:d.chargePermissionType,recurringMetadata:d.recurringMetadata,clientKey:d.clientKey,onError:d.onError,publicKeyId:null===(w=d.configuration)||void 0===w?void 0:w.publicKeyId,region:null===(z=d.configuration)||void 0===z?void 0:z.region,returnUrl:d.returnUrl,ref:O}),d.showChangePaymentDetailsButton&&e(c,{amazonCheckoutSessionId:d.amazonCheckoutSessionId,amazonRef:window.amazon})):e("div",{className:"adyen-checkout__amazonpay"},e(i,y(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),o.forEach(function(t){l(e,t,n[t])})}return e}({},d),{showPayButton:this.props.showPayButton,amazonRef:window.amazon,ref:g})));var w,z}export{d as default};
2
2
  //# sourceMappingURL=AmazonPayComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AmazonPayComponent.js","sources":["../../../../../src/components/AmazonPay/components/AmazonPayComponent.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef } from 'preact/hooks';\nimport Spinner from '../../internal/Spinner';\nimport { getAmazonPayUrl } from '../utils';\nimport { AmazonPayComponentProps } from '../types';\nimport AmazonPayButton from './AmazonPayButton';\nimport ChangePaymentDetailsButton from './ChangePaymentDetailsButton';\nimport OrderButton from './OrderButton';\nimport SignOutButton from './SignOutButton';\nimport Script from '../../../utils/Script';\n\nexport default function AmazonPayComponent(props: AmazonPayComponentProps) {\n const [status, setStatus] = useState('pending');\n const amazonPayButtonRef = useRef(null);\n const orderButtonRef = useRef(null);\n\n const handleLoad = () => {\n setStatus('ready');\n };\n\n this.getSubmitFunction = () => {\n if (amazonPayButtonRef.current && amazonPayButtonRef.current.initCheckout) return () => amazonPayButtonRef.current.initCheckout();\n if (orderButtonRef.current && orderButtonRef.current.createOrder) return () => orderButtonRef.current.createOrder();\n };\n\n useEffect(() => {\n const src = getAmazonPayUrl(props.configuration.region);\n const script = new Script(src);\n if (window.amazon) {\n handleLoad();\n } else {\n void script.load().then(handleLoad);\n }\n\n return () => {\n script.remove();\n };\n }, []);\n\n if (status === 'pending') {\n return (\n <div className=\"adyen-checkout__amazonpay\">\n <div className=\"adyen-checkout__amazonpay__status adyen-checkout__amazonpay__status--pending\">\n <Spinner />\n </div>\n </div>\n );\n }\n\n if (props.showSignOutButton) {\n return (\n <div className=\"adyen-checkout__amazonpay\">\n <SignOutButton amazonRef={window.amazon} onSignOut={props.onSignOut} />\n </div>\n );\n }\n\n if (props.amazonCheckoutSessionId) {\n return (\n <div className=\"adyen-checkout__amazonpay\">\n {props.showOrderButton && (\n <OrderButton\n amazonCheckoutSessionId={props.amazonCheckoutSessionId}\n amount={props.amount}\n chargePermissionType={props.chargePermissionType}\n recurringMetadata={props.recurringMetadata}\n clientKey={props.clientKey}\n onError={props.onError}\n publicKeyId={props.configuration?.publicKeyId}\n region={props.configuration?.region}\n returnUrl={props.returnUrl}\n ref={orderButtonRef}\n />\n )}\n\n {props.showChangePaymentDetailsButton && (\n <ChangePaymentDetailsButton amazonCheckoutSessionId={props.amazonCheckoutSessionId} amazonRef={window.amazon} />\n )}\n </div>\n );\n }\n\n return (\n <div className=\"adyen-checkout__amazonpay\">\n <AmazonPayButton {...props} showPayButton={this.props.showPayButton} amazonRef={window.amazon} ref={amazonPayButtonRef} />\n </div>\n );\n}\n"],"names":["AmazonPayComponent","props","status","setStatus","useState","amazonPayButtonRef","useRef","orderButtonRef","handleLoad","this","getSubmitFunction","current","initCheckout","createOrder","useEffect","src","getAmazonPayUrl","configuration","region","script","Script","window","amazon","load","then","remove","h","div","className","Spinner","showSignOutButton","SignOutButton","amazonRef","onSignOut","amazonCheckoutSessionId","showOrderButton","OrderButton","amount","chargePermissionType","recurringMetadata","clientKey","onError","publicKeyId","returnUrl","ref","showChangePaymentDetailsButton","ChangePaymentDetailsButton","AmazonPayButton","showPayButton"],"mappings":"46BAWe,SAASA,EAAmBC,GACvC,MAAOC,EAAQC,GAAaC,EAAS,WAC/BC,EAAqBC,EAAO,MAC5BC,EAAiBD,EAAO,MAExBE,EAAa,KACfL,EAAU,UAsBd,OAnBAM,KAAKC,kBAAoB,IACjBL,EAAmBM,SAAWN,EAAmBM,QAAQC,aAAqB,IAAMP,EAAmBM,QAAQC,eAC/GL,EAAeI,SAAWJ,EAAeI,QAAQE,YAAoB,IAAMN,EAAeI,QAAQE,mBAAtG,EAGJC,EAAU,KACN,MAAMC,EAAMC,EAAgBf,EAAMgB,cAAcC,QAC1CC,EAAS,IAAIC,EAAOL,GAO1B,OANIM,OAAOC,OACPd,IAEKW,EAAOI,OAAOC,KAAKhB,GAGrB,KACHW,EAAOM,WAEZ,IAEY,YAAXvB,EAEIwB,EAACC,MAAAA,CAAIC,UAAU,6BACXF,EAACC,MAAAA,CAAIC,UAAU,gFACXF,EAACG,EAAAA,QAMb5B,EAAM6B,kBAEFJ,EAACC,MAAAA,CAAIC,UAAU,6BACXF,EAACK,EAAAA,CAAcC,UAAWX,OAAOC,OAAQW,UAAWhC,EAAMgC,aAKlEhC,EAAMiC,wBAEFR,EAACC,MAAAA,CAAIC,UAAU,6BACV3B,EAAMkC,iBACHT,EAACU,EAAAA,CACGF,wBAAyBjC,EAAMiC,wBAC/BG,OAAQpC,EAAMoC,OACdC,qBAAsBrC,EAAMqC,qBAC5BC,kBAAmBtC,EAAMsC,kBACzBC,UAAWvC,EAAMuC,UACjBC,QAASxC,EAAMwC,QACfC,YAAgC,QAAnBzC,EAAAA,EAAMgB,qBAANhB,IAAAA,OAAAA,EAAAA,EAAqByC,YAClCxB,OAA2B,QAAnBjB,EAAAA,EAAMgB,qBAANhB,IAAAA,OAAAA,EAAAA,EAAqBiB,OAC7ByB,UAAW1C,EAAM0C,UACjBC,IAAKrC,IAIZN,EAAM4C,gCACHnB,EAACoB,EAAAA,CAA2BZ,wBAAyBjC,EAAMiC,wBAAyBF,UAAWX,OAAOC,UAOlHI,EAACC,MAAAA,CAAIC,UAAU,6BACXF,EAACqB,EAAAA,oUAAAA,CAAAA,CAAAA,EAAoB9C,GAAAA,CAAO+C,cAAevC,KAAKR,MAAM+C,cAAehB,UAAWX,OAAOC,OAAQsB,IAAKvC,UAhB3EJ,EACLA,CAkBhC"}
1
+ {"version":3,"file":"AmazonPayComponent.js","sources":["../../../../../src/components/AmazonPay/components/AmazonPayComponent.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef } from 'preact/hooks';\nimport Spinner from '../../internal/Spinner';\nimport { getAmazonPayUrl } from '../utils';\nimport { AmazonPayComponentProps } from '../types';\nimport AmazonPayButton from './AmazonPayButton';\nimport ChangePaymentDetailsButton from './ChangePaymentDetailsButton';\nimport OrderButton from './OrderButton';\nimport SignOutButton from './SignOutButton';\nimport Script from '../../../utils/Script';\nimport useAnalytics from '../../../core/Analytics/useAnalytics';\n\nexport default function AmazonPayComponent(props: AmazonPayComponentProps) {\n const [status, setStatus] = useState('pending');\n const amazonPayButtonRef = useRef(null);\n const orderButtonRef = useRef(null);\n const { analytics } = useAnalytics();\n\n const handleLoad = () => {\n setStatus('ready');\n };\n\n this.getSubmitFunction = () => {\n if (amazonPayButtonRef.current && amazonPayButtonRef.current.initCheckout) return () => amazonPayButtonRef.current.initCheckout();\n if (orderButtonRef.current && orderButtonRef.current.createOrder) return () => orderButtonRef.current.createOrder();\n };\n\n useEffect(() => {\n const src = getAmazonPayUrl(props.configuration.region);\n const script = new Script({\n src,\n component: 'amazonpay',\n analytics\n });\n\n if (window.amazon) {\n handleLoad();\n } else {\n void script.load().then(handleLoad);\n }\n\n return () => {\n script.remove();\n };\n }, [analytics]);\n\n if (status === 'pending') {\n return (\n <div className=\"adyen-checkout__amazonpay\">\n <div className=\"adyen-checkout__amazonpay__status adyen-checkout__amazonpay__status--pending\">\n <Spinner />\n </div>\n </div>\n );\n }\n\n if (props.showSignOutButton) {\n return (\n <div className=\"adyen-checkout__amazonpay\">\n <SignOutButton amazonRef={window.amazon} onSignOut={props.onSignOut} />\n </div>\n );\n }\n\n if (props.amazonCheckoutSessionId) {\n return (\n <div className=\"adyen-checkout__amazonpay\">\n {props.showOrderButton && (\n <OrderButton\n amazonCheckoutSessionId={props.amazonCheckoutSessionId}\n amount={props.amount}\n chargePermissionType={props.chargePermissionType}\n recurringMetadata={props.recurringMetadata}\n clientKey={props.clientKey}\n onError={props.onError}\n publicKeyId={props.configuration?.publicKeyId}\n region={props.configuration?.region}\n returnUrl={props.returnUrl}\n ref={orderButtonRef}\n />\n )}\n\n {props.showChangePaymentDetailsButton && (\n <ChangePaymentDetailsButton amazonCheckoutSessionId={props.amazonCheckoutSessionId} amazonRef={window.amazon} />\n )}\n </div>\n );\n }\n\n return (\n <div className=\"adyen-checkout__amazonpay\">\n <AmazonPayButton {...props} showPayButton={this.props.showPayButton} amazonRef={window.amazon} ref={amazonPayButtonRef} />\n </div>\n );\n}\n"],"names":["AmazonPayComponent","props","status","setStatus","useState","amazonPayButtonRef","useRef","orderButtonRef","analytics","useAnalytics","handleLoad","this","getSubmitFunction","current","initCheckout","createOrder","useEffect","src","getAmazonPayUrl","configuration","region","script","Script","component","window","amazon","load","then","remove","h","div","className","Spinner","showSignOutButton","SignOutButton","amazonRef","onSignOut","amazonCheckoutSessionId","showOrderButton","OrderButton","amount","chargePermissionType","recurringMetadata","clientKey","onError","publicKeyId","returnUrl","ref","showChangePaymentDetailsButton","ChangePaymentDetailsButton","AmazonPayButton","showPayButton"],"mappings":"m+BAYe,SAASA,EAAmBC,GACvC,MAAOC,EAAQC,GAAaC,EAAS,WAC/BC,EAAqBC,EAAO,MAC5BC,EAAiBD,EAAO,OACxBE,UAAEA,GAAcC,IAEhBC,EAAa,KACfP,EAAU,UA2Bd,OAxBAQ,KAAKC,kBAAoB,IACjBP,EAAmBQ,SAAWR,EAAmBQ,QAAQC,aAAqB,IAAMT,EAAmBQ,QAAQC,eAC/GP,EAAeM,SAAWN,EAAeM,QAAQE,YAAoB,IAAMR,EAAeM,QAAQE,mBAAtG,EAGJC,EAAU,KACN,MAAMC,EAAMC,EAAgBjB,EAAMkB,cAAcC,QAC1CC,EAAS,IAAIC,EAAO,CACtBL,MACAM,UAAW,YACXf,cASJ,OANIgB,OAAOC,OACPf,IAEKW,EAAOK,OAAOC,KAAKjB,GAGrB,KACHW,EAAOO,WAEZ,CAACpB,IAEW,YAAXN,EAEI2B,EAACC,MAAAA,CAAIC,UAAU,6BACXF,EAACC,MAAAA,CAAIC,UAAU,gFACXF,EAACG,EAAAA,QAMb/B,EAAMgC,kBAEFJ,EAACC,MAAAA,CAAIC,UAAU,6BACXF,EAACK,EAAAA,CAAcC,UAAWX,OAAOC,OAAQW,UAAWnC,EAAMmC,aAKlEnC,EAAMoC,wBAEFR,EAACC,MAAAA,CAAIC,UAAU,6BACV9B,EAAMqC,iBACHT,EAACU,EAAAA,CACGF,wBAAyBpC,EAAMoC,wBAC/BG,OAAQvC,EAAMuC,OACdC,qBAAsBxC,EAAMwC,qBAC5BC,kBAAmBzC,EAAMyC,kBACzBC,UAAW1C,EAAM0C,UACjBC,QAAS3C,EAAM2C,QACfC,YAAgC,QAAnB5C,EAAAA,EAAMkB,qBAANlB,IAAAA,OAAAA,EAAAA,EAAqB4C,YAClCzB,OAA2B,QAAnBnB,EAAAA,EAAMkB,qBAANlB,IAAAA,OAAAA,EAAAA,EAAqBmB,OAC7B0B,UAAW7C,EAAM6C,UACjBC,IAAKxC,IAIZN,EAAM+C,gCACHnB,EAACoB,EAAAA,CAA2BZ,wBAAyBpC,EAAMoC,wBAAyBF,UAAWX,OAAOC,UAOlHI,EAACC,MAAAA,CAAIC,UAAU,6BACXF,EAACqB,EAAAA,oUAAAA,CAAAA,CAAAA,EAAoBjD,GAAAA,CAAOkD,cAAexC,KAAKV,MAAMkD,cAAehB,UAAWX,OAAOC,OAAQsB,IAAK1C,UAhB3EJ,EACLA,CAkBhC"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import r from"./components/ApplePayButton.js";import o from"./services/ApplePayService.js";import s from"../../utils/base64.js";import i from"./defaultProps.js";import{httpPost as n}from"../../core/Services/http.js";import{preparePaymentRequest as a}from"./utils/payment-request.js";import p from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as l}from"../tx-variants.js";import{sanitizeResponse as d,verifyPaymentDidNotFail as c}from"../internal/UIElement/utils.js";import{ANALYTICS_RENDERED_STR as h,ANALYTICS_INSTANT_PAYMENT_BUTTON as u,ANALYTICS_SELECTED_STR as y,ANALYTICS_EXPRESS_PAGES_ARRAY as m}from"../../core/Analytics/constants.js";import{resolveSupportedVersion as P}from"./utils/resolve-supported-version.js";import{formatApplePayContactToAdyenAddressFormat as b}from"./utils/format-applepay-contact-to-adyen-format.js";import{mapBrands as f}from"./utils/map-adyen-brands-to-applepay-brands.js";import A from"./services/ApplePaySdkLoader.js";import{detectInIframe as v}from"../../utils/detectInIframe.js";import{AnalyticsInfoEvent as g}from"../../core/Analytics/AnalyticsInfoEvent.js";function S(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function w(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){S(e,t,r[t])})}return e}function O(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}class E extends t{formatProps(e){var t,r,o;const s=(null===(t=e.brands)||void 0===t?void 0:t.length)?f(e.brands):e.supportedNetworks;var i,n;return O(w({},e),{configuration:e.configuration,supportedNetworks:s,buttonLocale:null!==(i=e.buttonLocale)&&void 0!==i?i:null===(r=e.i18n)||void 0===r?void 0:r.locale,totalPriceLabel:e.totalPriceLabel||(null===(o=e.configuration)||void 0===o?void 0:o.merchantName),renderApplePayCodeAs:null!==(n=e.renderApplePayCodeAs)&&void 0!==n?n:v()?"window":"modal"})}formatData(){const{applePayToken:e,billingAddress:t,deliveryAddress:r}=this.state,{isExpress:o}=this.props;return w({paymentMethod:w({type:E.type,applePayToken:e},o&&{subtype:"express"})},t&&{billingAddress:t},r&&{deliveryAddress:r})}submitAnalytics(e){if(e instanceof g&&e.type===h){const{isExpress:t,expressPage:r}=this.props,o=r&&m.includes(r);"boolean"==typeof t&&(e.isExpress=t),!0===t&&o&&(e.expressPage=r)}super.submitAnalytics(e)}get isValid(){return!0}async applePayCapabilities(e){const t=e||this.props.configuration.merchantId;try{var r;return await this.sdkLoader.isSdkLoaded(),await(null===(r=ApplePaySession)||void 0===r?void 0:r.applePayCapabilities(t))}catch(e){throw new p("ERROR","Apple Pay: Error when requesting applePayCapabilities()",{cause:e})}}async isAvailable(){if("https:"!==window.location.protocol)return Promise.reject(new p("IMPLEMENTATION_ERROR","Trying to start an Apple Pay session from an insecure document"));try{var e;return await this.sdkLoader.isSdkLoaded(),(null===(e=ApplePaySession)||void 0===e?void 0:e.canMakePayments())?Promise.resolve():Promise.reject(new p("ERROR","Apple Pay is not available on this device"))}catch(e){return Promise.reject(new p("ERROR","Apple Pay SDK failed to load",{cause:e}))}}defineApplePayVersionNumber(){"https:"===window.location.protocol&&(this.applePayVersionNumber=this.props.version||P(14))}configureApplePayWebOptions(){if(window.ApplePayWebOptions){const{renderApplePayCodeAs:e,onApplePayCodeClose:t}=this.props;window.ApplePayWebOptions.set(w({renderApplePayCodeAs:e},t&&{onApplePayCodeClose:t}))}}startSession(){const{onValidateMerchant:e,onPaymentMethodSelected:t,onShippingMethodSelected:r,onShippingContactSelected:s}=this.props,i=a(w({companyName:this.props.configuration.merchantName,countryCode:this.core.options.countryCode},this.props)),n=new o(i,{version:this.applePayVersionNumber,onError:e=>{this.handleError(new p("ERROR","ApplePay - Something went wrong on ApplePayService",{cause:e}))},onCancel:e=>{this.handleError(new p("CANCEL","ApplePay UI dismissed",{cause:e}))},onPaymentMethodSelected:t,onShippingMethodSelected:r,onShippingContactSelected:s,onValidateMerchant:e||this.validateMerchant,onPaymentAuthorized:(e,t,r)=>{const o=b(r.payment.billingContact),s=b(r.payment.shippingContact,!0);this.setState(w({applePayToken:btoa(JSON.stringify(r.payment.token.paymentData)),authorizedEvent:r},o&&{billingAddress:o},s&&{deliveryAddress:s})),this.handleAuthorization().then(this.makePaymentsCall).then(d).then(c).then(this.collectOrderTrackingDetailsIfNeeded).then(({paymentResponse:t,orderDetails:r})=>(e(w({status:ApplePaySession.STATUS_SUCCESS},r&&{orderDetails:r})),t)).then(e=>{this.handleResponse(e)}).catch(e=>{var r;const o=null==e||null===(r=e.error)||void 0===r?void 0:r.applePayError;t({status:ApplePaySession.STATUS_FAILURE,errors:o?Array.isArray(o)?o:[o]:void 0});const s=O(w({},e),{error:{applePayError:o}});this.handleFailedResult(s)})}});return new Promise((e,t)=>this.props.onClick(e,t)).then(()=>{n.begin()}).catch(()=>({}))}async handleAuthorization(){return new Promise((e,t)=>{this.props.onAuthorized||e();const{authorizedEvent:r,billingAddress:o,deliveryAddress:s}=this.state;this.props.onAuthorized(w({authorizedEvent:r},o&&{billingAddress:o},s&&{deliveryAddress:s}),{resolve:e,reject:t})}).catch(e=>{const t={error:{applePayError:e}};return Promise.reject(t)})}async collectOrderTrackingDetailsIfNeeded(e){return new Promise((e,t)=>{if(!this.props.onOrderTrackingRequest)return e();this.props.onOrderTrackingRequest(e,t)}).then(t=>w({paymentResponse:e},t&&{orderDetails:t})).catch(()=>({paymentResponse:e}))}async validateMerchant(e,t){const{hostname:r}=window.location,{clientKey:o,configuration:i,loadingContext:a,initiative:p}=this.props,{merchantName:l,merchantId:d}=i,c={loadingContext:a,path:`v1/applePay/sessions?clientKey=${o}`},h={displayName:l,domainName:r,initiative:p,merchantIdentifier:d};try{const r=await n(c,h),o=s.decode(r.data);if(o.success){e(JSON.parse(o.data))}else t("Could not decode Apple Pay session")}catch(e){t("Could not get Apple Pay session")}}render(){return this.props.showPayButton?e(r,{buttonStyle:this.props.buttonColor,buttonType:this.props.buttonType,buttonLocale:this.props.buttonLocale,onClick:this.submit}):null}constructor(e,t){super(e,t),S(this,"sdkLoader",void 0),S(this,"applePayVersionNumber",void 0),S(this,"submit",()=>{if(this.props.isInstantPayment){const e=new g({type:y,target:u});this.submitAnalytics(e)}this.startSession()});const{isExpress:r,onShippingContactSelected:o,onShippingMethodSelected:s}=this.props;if(!1===r&&(o||s))throw new p("IMPLEMENTATION_ERROR",'ApplePay - You must set "isExpress" flag to "true" in order to use "onShippingContactSelected" and/or "onShippingMethodSelected" callbacks');this.startSession=this.startSession.bind(this),this.submit=this.submit.bind(this),this.validateMerchant=this.validateMerchant.bind(this),this.collectOrderTrackingDetailsIfNeeded=this.collectOrderTrackingDetailsIfNeeded.bind(this),this.handleAuthorization=this.handleAuthorization.bind(this),this.defineApplePayVersionNumber=this.defineApplePayVersionNumber.bind(this),this.configureApplePayWebOptions=this.configureApplePayWebOptions.bind(this),this.sdkLoader=new A,this.sdkLoader.load().then(this.defineApplePayVersionNumber).then(this.configureApplePayWebOptions).catch(e=>{this.handleError(e)})}}S(E,"type",l.applepay),S(E,"defaultProps",i);export{E as default};
1
+ import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import r from"./components/ApplePayButton.js";import o from"./services/ApplePayService.js";import s from"../../utils/base64.js";import i from"./defaultProps.js";import{httpPost as n}from"../../core/Services/http.js";import{preparePaymentRequest as a}from"./utils/payment-request.js";import p from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as l}from"../tx-variants.js";import{sanitizeResponse as d,verifyPaymentDidNotFail as c}from"../internal/UIElement/utils.js";import{ANALYTICS_RENDERED_STR as h,ANALYTICS_INSTANT_PAYMENT_BUTTON as u,ANALYTICS_SELECTED_STR as y,ANALYTICS_EXPRESS_PAGES_ARRAY as m}from"../../core/Analytics/constants.js";import{resolveSupportedVersion as P}from"./utils/resolve-supported-version.js";import{formatApplePayContactToAdyenAddressFormat as b}from"./utils/format-applepay-contact-to-adyen-format.js";import{mapBrands as f}from"./utils/map-adyen-brands-to-applepay-brands.js";import A from"./services/ApplePaySdkLoader.js";import{detectInIframe as v}from"../../utils/detectInIframe.js";import{AnalyticsInfoEvent as g}from"../../core/Analytics/AnalyticsInfoEvent.js";function S(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function w(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){S(e,t,r[t])})}return e}function O(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}class E extends t{formatProps(e){var t,r,o;const s=(null===(t=e.brands)||void 0===t?void 0:t.length)?f(e.brands):e.supportedNetworks;var i,n;return O(w({},e),{configuration:e.configuration,supportedNetworks:s,buttonLocale:null!==(i=e.buttonLocale)&&void 0!==i?i:null===(r=e.i18n)||void 0===r?void 0:r.locale,totalPriceLabel:e.totalPriceLabel||(null===(o=e.configuration)||void 0===o?void 0:o.merchantName),renderApplePayCodeAs:null!==(n=e.renderApplePayCodeAs)&&void 0!==n?n:v()?"window":"modal"})}formatData(){const{applePayToken:e,billingAddress:t,deliveryAddress:r}=this.state,{isExpress:o}=this.props;return w({paymentMethod:w({type:E.type,applePayToken:e},o&&{subtype:"express"})},t&&{billingAddress:t},r&&{deliveryAddress:r})}submitAnalytics(e){if(e instanceof g&&e.type===h){const{isExpress:t,expressPage:r}=this.props,o=r&&m.includes(r);"boolean"==typeof t&&(e.isExpress=t),!0===t&&o&&(e.expressPage=r)}super.submitAnalytics(e)}get isValid(){return!0}async applePayCapabilities(e){const t=e||this.props.configuration.merchantId;try{var r;return await this.sdkLoader.isSdkLoaded(),await(null===(r=ApplePaySession)||void 0===r?void 0:r.applePayCapabilities(t))}catch(e){throw new p("ERROR","Apple Pay: Error when requesting applePayCapabilities()",{cause:e})}}async isAvailable(){if("https:"!==window.location.protocol)return Promise.reject(new p("IMPLEMENTATION_ERROR","Trying to start an Apple Pay session from an insecure document"));try{var e;return await this.sdkLoader.isSdkLoaded(),(null===(e=ApplePaySession)||void 0===e?void 0:e.canMakePayments())?Promise.resolve():Promise.reject(new p("ERROR","Apple Pay is not available on this device"))}catch(e){return Promise.reject(new p("ERROR","Apple Pay SDK failed to load",{cause:e}))}}defineApplePayVersionNumber(){"https:"===window.location.protocol&&(this.applePayVersionNumber=this.props.version||P(14))}configureApplePayWebOptions(){if(window.ApplePayWebOptions){const{renderApplePayCodeAs:e,onApplePayCodeClose:t}=this.props;window.ApplePayWebOptions.set(w({renderApplePayCodeAs:e},t&&{onApplePayCodeClose:t}))}}startSession(){const{onValidateMerchant:e,onPaymentMethodSelected:t,onShippingMethodSelected:r,onShippingContactSelected:s}=this.props,i=a(w({companyName:this.props.configuration.merchantName,countryCode:this.core.options.countryCode},this.props)),n=new o(i,{version:this.applePayVersionNumber,onError:e=>{this.handleError(new p("ERROR","ApplePay - Something went wrong on ApplePayService",{cause:e}))},onCancel:e=>{this.handleError(new p("CANCEL","ApplePay UI dismissed",{cause:e}))},onPaymentMethodSelected:t,onShippingMethodSelected:r,onShippingContactSelected:s,onValidateMerchant:e||this.validateMerchant,onPaymentAuthorized:(e,t,r)=>{const o=b(r.payment.billingContact),s=b(r.payment.shippingContact,!0);this.setState(w({applePayToken:btoa(JSON.stringify(r.payment.token.paymentData)),authorizedEvent:r},o&&{billingAddress:o},s&&{deliveryAddress:s})),this.handleAuthorization().then(this.makePaymentsCall).then(d).then(c).then(this.collectOrderTrackingDetailsIfNeeded).then(({paymentResponse:t,orderDetails:r})=>(e(w({status:ApplePaySession.STATUS_SUCCESS},r&&{orderDetails:r})),t)).then(e=>{this.handleResponse(e)}).catch(e=>{var r;const o=null==e||null===(r=e.error)||void 0===r?void 0:r.applePayError;t({status:ApplePaySession.STATUS_FAILURE,errors:o?Array.isArray(o)?o:[o]:void 0});const s=O(w({},e),{error:{applePayError:o}});this.handleFailedResult(s)})}});return new Promise((e,t)=>this.props.onClick(e,t)).then(()=>{n.begin()}).catch(()=>({}))}async handleAuthorization(){return new Promise((e,t)=>{this.props.onAuthorized||e();const{authorizedEvent:r,billingAddress:o,deliveryAddress:s}=this.state;this.props.onAuthorized(w({authorizedEvent:r},o&&{billingAddress:o},s&&{deliveryAddress:s}),{resolve:e,reject:t})}).catch(e=>{const t={error:{applePayError:e}};return Promise.reject(t)})}async collectOrderTrackingDetailsIfNeeded(e){return new Promise((e,t)=>{if(!this.props.onOrderTrackingRequest)return e();this.props.onOrderTrackingRequest(e,t)}).then(t=>w({paymentResponse:e},t&&{orderDetails:t})).catch(()=>({paymentResponse:e}))}async validateMerchant(e,t){const{hostname:r}=window.location,{clientKey:o,configuration:i,loadingContext:a,initiative:p,domainName:l}=this.props,{merchantName:d,merchantId:c}=i,h={loadingContext:a,path:`v1/applePay/sessions?clientKey=${o}`},u={displayName:d,domainName:l||r,initiative:p,merchantIdentifier:c};try{const r=await n(h,u),o=s.decode(r.data);if(o.success){e(JSON.parse(o.data))}else t("Could not decode Apple Pay session")}catch(e){t("Could not get Apple Pay session")}}render(){return this.props.showPayButton?e(r,{buttonStyle:this.props.buttonColor,buttonType:this.props.buttonType,buttonLocale:this.props.buttonLocale,onClick:this.submit}):null}constructor(e,t){super(e,t),S(this,"sdkLoader",void 0),S(this,"applePayVersionNumber",void 0),S(this,"submit",()=>{if(this.props.isInstantPayment){const e=new g({type:y,target:u});this.submitAnalytics(e)}this.startSession()});const{isExpress:r,onShippingContactSelected:o,onShippingMethodSelected:s}=this.props;if(!1===r&&(o||s))throw new p("IMPLEMENTATION_ERROR",'ApplePay - You must set "isExpress" flag to "true" in order to use "onShippingContactSelected" and/or "onShippingMethodSelected" callbacks');this.startSession=this.startSession.bind(this),this.submit=this.submit.bind(this),this.validateMerchant=this.validateMerchant.bind(this),this.collectOrderTrackingDetailsIfNeeded=this.collectOrderTrackingDetailsIfNeeded.bind(this),this.handleAuthorization=this.handleAuthorization.bind(this),this.defineApplePayVersionNumber=this.defineApplePayVersionNumber.bind(this),this.configureApplePayWebOptions=this.configureApplePayWebOptions.bind(this),this.sdkLoader=new A({analytics:this.analytics}),this.sdkLoader.load().then(this.defineApplePayVersionNumber).then(this.configureApplePayWebOptions).catch(e=>{this.handleError(e)})}}S(E,"type",l.applepay),S(E,"defaultProps",i);export{E as default};
2
2
  //# sourceMappingURL=ApplePay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApplePay.js","sources":["../../../../src/components/ApplePay/ApplePay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport ApplePayButton from './components/ApplePayButton';\nimport ApplePayService from './services/ApplePayService';\nimport base64 from '../../utils/base64';\nimport defaultProps from './defaultProps';\nimport { httpPost } from '../../core/Services/http';\nimport { preparePaymentRequest } from './utils/payment-request';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { DecodeObject } from '../../types/global-types';\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';\nimport { resolveSupportedVersion } from './utils/resolve-supported-version';\nimport { formatApplePayContactToAdyenAddressFormat } from './utils/format-applepay-contact-to-adyen-format';\nimport { mapBrands } from './utils/map-adyen-brands-to-applepay-brands';\nimport ApplePaySdkLoader from './services/ApplePaySdkLoader';\nimport { detectInIframe } from '../../utils/detectInIframe';\nimport type { ApplePayConfiguration, ApplePayElementData, ApplePayPaymentOrderDetails, ApplePaySessionRequest } from './types';\nimport type { ICore } from '../../core/types';\nimport type { PaymentResponseData, RawPaymentResponse } from '../../types/global-types';\nimport { AnalyticsEvent } from '../../core/Analytics/AnalyticsEvent';\nimport { AnalyticsInfoEvent } from '../../core/Analytics/AnalyticsInfoEvent';\n\nconst LATEST_APPLE_PAY_VERSION = 14;\n\nclass ApplePayElement extends UIElement<ApplePayConfiguration> {\n public static type = TxVariants.applepay;\n\n protected static defaultProps = defaultProps;\n\n private sdkLoader: ApplePaySdkLoader;\n private applePayVersionNumber: number = undefined;\n\n constructor(checkout: ICore, props?: ApplePayConfiguration) {\n super(checkout, props);\n\n const { isExpress, onShippingContactSelected, onShippingMethodSelected } = this.props;\n\n if (isExpress === false && (onShippingContactSelected || onShippingMethodSelected)) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'ApplePay - You must set \"isExpress\" flag to \"true\" in order to use \"onShippingContactSelected\" and/or \"onShippingMethodSelected\" callbacks'\n );\n }\n\n this.startSession = this.startSession.bind(this);\n this.submit = this.submit.bind(this);\n this.validateMerchant = this.validateMerchant.bind(this);\n this.collectOrderTrackingDetailsIfNeeded = this.collectOrderTrackingDetailsIfNeeded.bind(this);\n this.handleAuthorization = this.handleAuthorization.bind(this);\n this.defineApplePayVersionNumber = this.defineApplePayVersionNumber.bind(this);\n this.configureApplePayWebOptions = this.configureApplePayWebOptions.bind(this);\n\n this.sdkLoader = new ApplePaySdkLoader();\n\n void this.sdkLoader\n .load()\n .then(this.defineApplePayVersionNumber)\n .then(this.configureApplePayWebOptions)\n .catch(error => {\n this.handleError(error);\n });\n }\n\n /**\n * Formats the component props\n */\n protected override formatProps(props: ApplePayConfiguration): ApplePayConfiguration {\n // @ts-ignore TODO: Fix brands prop\n const supportedNetworks = props.brands?.length ? mapBrands(props.brands) : props.supportedNetworks;\n\n return {\n ...props,\n configuration: props.configuration,\n supportedNetworks,\n buttonLocale: props.buttonLocale ?? props.i18n?.locale,\n totalPriceLabel: props.totalPriceLabel || props.configuration?.merchantName,\n renderApplePayCodeAs: props.renderApplePayCodeAs ?? (detectInIframe() ? 'window' : 'modal')\n };\n }\n\n /**\n * Formats the component data output\n */\n protected override formatData(): ApplePayElementData {\n const { applePayToken, billingAddress, deliveryAddress } = this.state;\n const { isExpress } = this.props;\n\n return {\n paymentMethod: {\n type: ApplePayElement.type,\n applePayToken,\n ...(isExpress && { subtype: 'express' })\n },\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 public override submit = (): void => {\n // Analytics\n if (this.props.isInstantPayment) {\n const event = new AnalyticsInfoEvent({\n type: ANALYTICS_SELECTED_STR,\n target: ANALYTICS_INSTANT_PAYMENT_BUTTON\n });\n this.submitAnalytics(event);\n }\n void this.startSession();\n };\n\n public get isValid(): boolean {\n return true;\n }\n\n /**\n * This API is only intended for upstreaming or defaulting to Apple Pay, all other scenarios should continue to\n * use canMakePayments(). For Safari browsers, this API will indicate whether there is a card available to make\n * payments. For third-party browsers a new status of paymentCredentialStatusUnknown will be returned. This does\n * not mean there are no cards available, it means the status cannot be determined and as such defaulting\n * and upstreaming should still be considered.\n *\n * {@link https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/4440085-applepaycapabilities}\n * @param merchantIdentifier\n */\n public async applePayCapabilities(merchantIdentifier?: string): Promise<ApplePayJS.PaymentCredentialStatusResponse> {\n const identifier = merchantIdentifier || this.props.configuration.merchantId;\n\n try {\n await this.sdkLoader.isSdkLoaded();\n return await ApplePaySession?.applePayCapabilities(identifier);\n } catch (error) {\n throw new AdyenCheckoutError('ERROR', 'Apple Pay: Error when requesting applePayCapabilities()', { cause: error });\n }\n }\n\n /**\n * Determines if Apple Pay component can be displayed or not\n */\n public override async isAvailable(): Promise<void> {\n if (window.location.protocol !== 'https:') {\n return Promise.reject(new AdyenCheckoutError('IMPLEMENTATION_ERROR', 'Trying to start an Apple Pay session from an insecure document'));\n }\n\n try {\n await this.sdkLoader.isSdkLoaded();\n\n if (ApplePaySession?.canMakePayments()) {\n return Promise.resolve();\n }\n\n return Promise.reject(new AdyenCheckoutError('ERROR', 'Apple Pay is not available on this device'));\n } catch (error) {\n return Promise.reject(new AdyenCheckoutError('ERROR', 'Apple Pay SDK failed to load', { cause: error }));\n }\n }\n\n /**\n * Sets the Apple Pay version available for the shopper.\n * This code needs to be executed once the Apple Pay SDK is fully loaded\n * @private\n */\n private defineApplePayVersionNumber() {\n if (window.location.protocol !== 'https:') return;\n this.applePayVersionNumber = this.props.version || resolveSupportedVersion(LATEST_APPLE_PAY_VERSION);\n }\n\n /**\n * Sets the configuration/callbacks that pertain to the Apple Pay code overlay/modal.\n * @private\n */\n private configureApplePayWebOptions() {\n if (window.ApplePayWebOptions) {\n const { renderApplePayCodeAs, onApplePayCodeClose } = this.props;\n\n window.ApplePayWebOptions.set({\n renderApplePayCodeAs,\n ...(onApplePayCodeClose && { onApplePayCodeClose })\n });\n }\n }\n\n private startSession() {\n const { onValidateMerchant, onPaymentMethodSelected, onShippingMethodSelected, onShippingContactSelected } = this.props;\n\n const paymentRequest = preparePaymentRequest({\n companyName: this.props.configuration.merchantName,\n countryCode: this.core.options.countryCode,\n ...this.props\n });\n\n const session = new ApplePayService(paymentRequest, {\n version: this.applePayVersionNumber,\n onError: (error: unknown) => {\n this.handleError(\n new AdyenCheckoutError('ERROR', 'ApplePay - Something went wrong on ApplePayService', {\n cause: error\n })\n );\n },\n onCancel: event => {\n this.handleError(new AdyenCheckoutError('CANCEL', 'ApplePay UI dismissed', { cause: event }));\n },\n onPaymentMethodSelected,\n onShippingMethodSelected,\n onShippingContactSelected,\n onValidateMerchant: onValidateMerchant || this.validateMerchant,\n onPaymentAuthorized: (resolve, reject, event) => {\n const billingAddress = formatApplePayContactToAdyenAddressFormat(event.payment.billingContact);\n const deliveryAddress = formatApplePayContactToAdyenAddressFormat(event.payment.shippingContact, true);\n\n this.setState({\n applePayToken: btoa(JSON.stringify(event.payment.token.paymentData)),\n authorizedEvent: event,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n this.handleAuthorization()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then(this.collectOrderTrackingDetailsIfNeeded)\n .then(({ paymentResponse, orderDetails }) => {\n resolve({\n status: ApplePaySession.STATUS_SUCCESS,\n ...(orderDetails && { orderDetails })\n });\n return paymentResponse;\n })\n .then(paymentResponse => {\n this.handleResponse(paymentResponse);\n })\n .catch((paymentResponse?: RawPaymentResponse) => {\n const errors = paymentResponse?.error?.applePayError;\n\n reject({\n status: ApplePaySession.STATUS_FAILURE,\n errors: errors ? (Array.isArray(errors) ? errors : [errors]) : undefined\n });\n\n const responseWithError: RawPaymentResponse = {\n ...paymentResponse,\n error: {\n applePayError: errors\n }\n };\n\n this.handleFailedResult(responseWithError);\n });\n }\n });\n\n return new Promise((resolve, reject) => this.props.onClick(resolve, reject))\n .then(() => {\n session.begin();\n })\n .catch(() => ({\n // Swallow exception triggered by onClick reject\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\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?: ApplePayJS.ApplePayError) => {\n // Format error in a way that the 'catch' of the 'onPaymentAuthorize' block accepts it\n const data = { error: { applePayError: error } };\n return Promise.reject(data);\n });\n }\n\n /**\n * Verify if the 'onOrderTrackingRequest' is provided. If so, triggers the callback expecting an\n * Apple Pay order details back\n *\n * @private\n */\n private async collectOrderTrackingDetailsIfNeeded(\n paymentResponse: PaymentResponseData\n ): Promise<{ orderDetails?: ApplePayPaymentOrderDetails; paymentResponse: PaymentResponseData }> {\n return new Promise<ApplePayPaymentOrderDetails | void>((resolve, reject) => {\n if (!this.props.onOrderTrackingRequest) {\n return resolve();\n }\n\n this.props.onOrderTrackingRequest(resolve, reject);\n })\n .then(orderDetails => {\n return {\n paymentResponse,\n ...(orderDetails && { orderDetails })\n };\n })\n .catch(() => {\n return { paymentResponse };\n });\n }\n\n private async validateMerchant(resolve, reject) {\n const { hostname: domainName } = window.location;\n const { clientKey, configuration, loadingContext, initiative } = this.props;\n const { merchantName, merchantId } = configuration;\n const path = `v1/applePay/sessions?clientKey=${clientKey}`;\n const options = { loadingContext, path };\n const request: ApplePaySessionRequest = {\n displayName: merchantName,\n domainName,\n initiative,\n merchantIdentifier: merchantId\n };\n\n try {\n const response = await httpPost(options, request);\n const decodedData: DecodeObject = base64.decode(response.data);\n if (!decodedData.success) {\n reject('Could not decode Apple Pay session');\n } else {\n const session = JSON.parse(decodedData.data);\n resolve(session);\n }\n } catch (e) {\n reject('Could not get Apple Pay session');\n }\n }\n\n render() {\n if (!this.props.showPayButton) {\n return null;\n }\n\n return (\n <ApplePayButton\n buttonStyle={this.props.buttonColor}\n buttonType={this.props.buttonType}\n buttonLocale={this.props.buttonLocale}\n onClick={this.submit}\n />\n );\n }\n}\n\nexport default ApplePayElement;\n"],"names":["ApplePayElement","UIElement","formatProps","props","supportedNetworks","brands","length","mapBrands","_object_spread_props","_object_spread","configuration","buttonLocale","i18n","locale","totalPriceLabel","merchantName","renderApplePayCodeAs","detectInIframe","formatData","applePayToken","billingAddress","deliveryAddress","this","state","isExpress","paymentMethod","type","subtype","submitAnalytics","analyticsObj","AnalyticsInfoEvent","ANALYTICS_RENDERED_STR","expressPage","hasExpressPage","ANALYTICS_EXPRESS_PAGES_ARRAY","includes","super","isValid","applePayCapabilities","merchantIdentifier","identifier","merchantId","ApplePaySession","sdkLoader","isSdkLoaded","error","AdyenCheckoutError","cause","isAvailable","window","location","protocol","Promise","reject","canMakePayments","resolve","defineApplePayVersionNumber","applePayVersionNumber","version","resolveSupportedVersion","configureApplePayWebOptions","ApplePayWebOptions","onApplePayCodeClose","set","startSession","onValidateMerchant","onPaymentMethodSelected","onShippingMethodSelected","onShippingContactSelected","paymentRequest","preparePaymentRequest","companyName","countryCode","core","options","session","ApplePayService","onError","handleError","onCancel","event","validateMerchant","onPaymentAuthorized","formatApplePayContactToAdyenAddressFormat","payment","billingContact","shippingContact","setState","btoa","JSON","stringify","token","paymentData","authorizedEvent","handleAuthorization","then","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","collectOrderTrackingDetailsIfNeeded","paymentResponse","orderDetails","status","STATUS_SUCCESS","handleResponse","catch","errors","applePayError","STATUS_FAILURE","Array","isArray","undefined","responseWithError","handleFailedResult","onClick","begin","onAuthorized","data","onOrderTrackingRequest","hostname","domainName","clientKey","loadingContext","initiative","path","request","displayName","response","httpPost","decodedData","base64","decode","success","parse","e","render","showPayButton","h","ApplePayButton","buttonStyle","buttonColor","buttonType","submit","constructor","checkout","_define_property","isInstantPayment","ANALYTICS_SELECTED_STR","target","ANALYTICS_INSTANT_PAYMENT_BUTTON","bind","ApplePaySdkLoader","load","TxVariants","applepay","defaultProps"],"mappings":"ogEA+BA,MAAMA,UAAwBC,EA0CPC,WAAAA,CAAYC,GAEDA,IAAAA,EAMcA,EACMA,EAP9C,MAAMC,GAAgC,QAAZD,EAAAA,EAAME,cAANF,IAAAA,OAAAA,EAAAA,EAAcG,QAASC,EAAUJ,EAAME,QAAUF,EAAMC,sBAM/DD,EAEQA,EAN1B,OAAOK,EAAAC,EAAA,CAAA,EACAN,GAAAA,CACHO,cAAeP,EAAMO,cACrBN,oBACAO,aAAgC,QAAlBR,EAAAA,EAAMQ,oBAANR,IAAAA,EAAAA,EAAgC,QAAVA,EAAAA,EAAMS,YAANT,IAAAA,OAAAA,EAAAA,EAAYU,OAChDC,gBAAiBX,EAAMW,kBAAsC,QAAnBX,EAAAA,EAAMO,qBAANP,IAAAA,OAAAA,EAAAA,EAAqBY,cAC/DC,6BAAsBb,EAAAA,EAAMa,4BAANb,IAAAA,EAAAA,EAA+Bc,IAAmB,SAAW,SAE3F,CAKA,UAAAC,GACI,MAAMC,cAAEA,EAAaC,eAAEA,EAAcC,gBAAEA,GAAoBC,KAAKC,OAC1DC,UAAEA,GAAcF,KAAKnB,MAE3B,OAAOM,EAAA,CACHgB,cAAehB,EAAA,CACXiB,KAAM1B,EAAgB0B,KACtBP,iBACIK,GAAa,CAAEG,QAAS,aAE5BP,GAAkB,CAAEA,kBACpBC,GAAmB,CAAEA,mBAEjC,CAEUO,eAAAA,CAAgBC,GAEtB,GAAIA,aAAwBC,GAAsBD,EAAaH,OAASK,EAAwB,CAC5F,MAAMP,UAAEA,EAASQ,YAAEA,GAAgBV,KAAKnB,MAClC8B,EAAiBD,GAAeE,EAA8BC,SAASH,GAEpD,kBAAdR,IACPK,EAAaL,UAAYA,IAGX,IAAdA,GAAsBS,IACtBJ,EAAaG,YAAcA,EAEnC,CAEAI,MAAMR,gBAAgBC,EAC1B,CAcA,WAAWQ,GACP,OAAO,CACX,CAYA,0BAAaC,CAAqBC,GAC9B,MAAMC,EAAaD,GAAsBjB,KAAKnB,MAAMO,cAAc+B,WAElE,IAEiBC,IAAAA,EAAb,aADMpB,KAAKqB,UAAUC,oBACRF,QAAAA,EAAAA,uBAAAA,IAAAA,OAAAA,EAAAA,EAAiBJ,qBAAqBE,GACvD,CAAE,MAAOK,GACL,MAAM,IAAIC,EAAmB,QAAS,0DAA2D,CAAEC,MAAOF,GAC9G,CACJ,CAKA,iBAAsBG,GAClB,GAAiC,WAA7BC,OAAOC,SAASC,SAChB,OAAOC,QAAQC,OAAO,IAAIP,EAAmB,uBAAwB,mEAGzE,IAGQJ,IAAAA,EAAJ,aAFMpB,KAAKqB,UAAUC,eAEjBF,QAAAA,EAAAA,uBAAAA,IAAAA,OAAAA,EAAAA,EAAiBY,mBACVF,QAAQG,UAGZH,QAAQC,OAAO,IAAIP,EAAmB,QAAS,6CAC1D,CAAE,MAAOD,GACL,OAAOO,QAAQC,OAAO,IAAIP,EAAmB,QAAS,+BAAgC,CAAEC,MAAOF,IACnG,CACJ,CAOA,2BAAAW,GACqC,WAA7BP,OAAOC,SAASC,WACpB7B,KAAKmC,sBAAwBnC,KAAKnB,MAAMuD,SAAWC,EA/J1B,IAgK7B,CAMA,2BAAAC,GACI,GAAIX,OAAOY,mBAAoB,CAC3B,MAAM7C,qBAAEA,EAAoB8C,oBAAEA,GAAwBxC,KAAKnB,MAE3D8C,OAAOY,mBAAmBE,IAAItD,EAAA,CAC1BO,wBACI8C,GAAuB,CAAEA,wBAErC,CACJ,CAEQE,YAAAA,GACJ,MAAMC,mBAAEA,EAAkBC,wBAAEA,EAAuBC,yBAAEA,EAAwBC,0BAAEA,GAA8B9C,KAAKnB,MAE5GkE,EAAiBC,EAAsB7D,EAAA,CACzC8D,YAAajD,KAAKnB,MAAMO,cAAcK,aACtCyD,YAAalD,KAAKmD,KAAKC,QAAQF,aAC5BlD,KAAKnB,QAGNwE,EAAU,IAAIC,EAAgBP,EAAgB,CAChDX,QAASpC,KAAKmC,sBACdoB,QAAUhC,IACNvB,KAAKwD,YACD,IAAIhC,EAAmB,QAAS,qDAAsD,CAClFC,MAAOF,MAInBkC,SAAUC,IACN1D,KAAKwD,YAAY,IAAIhC,EAAmB,SAAU,wBAAyB,CAAEC,MAAOiC,MAExFd,0BACAC,2BACAC,4BACAH,mBAAoBA,GAAsB3C,KAAK2D,iBAC/CC,oBAAqB,CAAC3B,EAASF,EAAQ2B,KACnC,MAAM5D,EAAiB+D,EAA0CH,EAAMI,QAAQC,gBACzEhE,EAAkB8D,EAA0CH,EAAMI,QAAQE,iBAAiB,GAEjGhE,KAAKiE,SAAS9E,EAAA,CACVU,cAAeqE,KAAKC,KAAKC,UAAUV,EAAMI,QAAQO,MAAMC,cACvDC,gBAAiBb,GACb5D,GAAkB,CAAEA,kBACpBC,GAAmB,CAAEA,qBAG7BC,KAAKwE,sBACAC,KAAKzE,KAAK0E,kBACVD,KAAKE,GACLF,KAAKG,GACLH,KAAKzE,KAAK6E,qCACVJ,KAAK,EAAGK,kBAAiBC,mBACtB9C,EAAQ9C,EAAA,CACJ6F,OAAQ5D,gBAAgB6D,gBACpBF,GAAgB,CAAEA,kBAEnBD,IAEVL,KAAKK,IACF9E,KAAKkF,eAAeJ,KAEvBK,MAAOL,IACWA,IAAAA,EAAf,MAAMM,EAASN,SAAsB,QAAtBA,EAAAA,EAAiBvD,aAAjBuD,IAAAA,OAAAA,EAAAA,EAAwBO,cAEvCtD,EAAO,CACHiD,OAAQ5D,gBAAgBkE,eACxBF,OAAQA,EAAUG,MAAMC,QAAQJ,GAAUA,EAAS,CAACA,QAAWK,IAGnE,MAAMC,EAAwCxG,EAAAC,EAAA,CAAA,EACvC2F,GAAAA,CACHvD,MAAO,CACH8D,cAAeD,KAIvBpF,KAAK2F,mBAAmBD,QAKxC,OAAO,IAAI5D,QAAQ,CAACG,EAASF,IAAW/B,KAAKnB,MAAM+G,QAAQ3D,EAASF,IAC/D0C,KAAK,KACFpB,EAAQwC,UAEXV,MAAM,KAAA,CAEP,GACR,CAQA,yBAAcX,GACV,OAAO,IAAI1C,QAAc,CAACG,EAASF,KAC1B/B,KAAKnB,MAAMiH,cACZ7D,IAGJ,MAAMsC,gBAAEA,EAAezE,eAAEA,EAAcC,gBAAEA,GAAoBC,KAAKC,MAElED,KAAKnB,MAAMiH,aACP3G,EAAA,CACIoF,mBACIzE,GAAkB,CAAEA,kBACpBC,GAAmB,CAAEA,oBAE7B,CAAEkC,UAASF,aAEhBoD,MAAO5D,IAEN,MAAMwE,EAAO,CAAExE,MAAO,CAAE8D,cAAe9D,IACvC,OAAOO,QAAQC,OAAOgE,IAE9B,CAQA,yCAAclB,CACVC,GAEA,OAAO,IAAIhD,QAA4C,CAACG,EAASF,KAC7D,IAAK/B,KAAKnB,MAAMmH,uBACZ,OAAO/D,IAGXjC,KAAKnB,MAAMmH,uBAAuB/D,EAASF,KAE1C0C,KAAKM,GACK5F,EAAA,CACH2F,mBACIC,GAAgB,CAAEA,kBAG7BI,MAAM,KACI,CAAEL,oBAErB,CAEA,sBAAcnB,CAAiB1B,EAASF,GACpC,MAAQkE,SAAUC,GAAevE,OAAOC,UAClCuE,UAAEA,EAAS/G,cAAEA,EAAagH,eAAEA,EAAcC,WAAEA,GAAerG,KAAKnB,OAChEY,aAAEA,EAAY0B,WAAEA,GAAe/B,EAE/BgE,EAAU,CAAEgD,iBAAgBE,KADrB,kCAAkCH,KAEzCI,EAAkC,CACpCC,YAAa/G,EACbyG,aACAG,aACApF,mBAAoBE,GAGxB,IACI,MAAMsF,QAAiBC,EAAStD,EAASmD,GACnCI,EAA4BC,EAAOC,OAAOJ,EAASV,MACzD,GAAKY,EAAYG,QAEV,CAEH7E,EADgBkC,KAAK4C,MAAMJ,EAAYZ,MAE3C,MAJIhE,EAAO,qCAKf,CAAE,MAAOiF,GACLjF,EAAO,kCACX,CACJ,CAEAkF,MAAAA,GACI,OAAKjH,KAAKnB,MAAMqI,cAKZC,EAACC,EAAAA,CACGC,YAAarH,KAAKnB,MAAMyI,YACxBC,WAAYvH,KAAKnB,MAAM0I,WACvBlI,aAAcW,KAAKnB,MAAMQ,aACzBuG,QAAS5F,KAAKwH,SARX,IAWf,CAvVA,WAAAC,CAAYC,EAAiB7I,GACzBiC,MAAM4G,EAAU7I,GAJpB8I,EAAA3H,KAAQqB,iBAAR,GACAsG,EAAA3H,KAAQmC,6BAAgCsD,GAsFxCkC,EAAA3H,KAAgBwH,SAAS,KAErB,GAAIxH,KAAKnB,MAAM+I,iBAAkB,CAC7B,MAAMlE,EAAQ,IAAIlD,EAAmB,CACjCJ,KAAMyH,EACNC,OAAQC,IAEZ/H,KAAKM,gBAAgBoD,EACzB,CACK1D,KAAK0C,iBA1FV,MAAMxC,UAAEA,EAAS4C,0BAAEA,EAAyBD,yBAAEA,GAA6B7C,KAAKnB,MAEhF,IAAkB,IAAdqB,IAAwB4C,GAA6BD,GACrD,MAAM,IAAIrB,EACN,uBACA,8IAIRxB,KAAK0C,aAAe1C,KAAK0C,aAAasF,KAAKhI,MAC3CA,KAAKwH,OAASxH,KAAKwH,OAAOQ,KAAKhI,MAC/BA,KAAK2D,iBAAmB3D,KAAK2D,iBAAiBqE,KAAKhI,MACnDA,KAAK6E,oCAAsC7E,KAAK6E,oCAAoCmD,KAAKhI,MACzFA,KAAKwE,oBAAsBxE,KAAKwE,oBAAoBwD,KAAKhI,MACzDA,KAAKkC,4BAA8BlC,KAAKkC,4BAA4B8F,KAAKhI,MACzEA,KAAKsC,4BAA8BtC,KAAKsC,4BAA4B0F,KAAKhI,MAEzEA,KAAKqB,UAAY,IAAI4G,EAEhBjI,KAAKqB,UACL6G,OACAzD,KAAKzE,KAAKkC,6BACVuC,KAAKzE,KAAKsC,6BACV6C,MAAM5D,IACHvB,KAAKwD,YAAYjC,IAE7B,EApCAoG,EADEjJ,EACY0B,OAAO+H,EAAWC,UAEhCT,EAHEjJ,EAGe2J,eAAeA"}
1
+ {"version":3,"file":"ApplePay.js","sources":["../../../../src/components/ApplePay/ApplePay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport ApplePayButton from './components/ApplePayButton';\nimport ApplePayService from './services/ApplePayService';\nimport base64 from '../../utils/base64';\nimport defaultProps from './defaultProps';\nimport { httpPost } from '../../core/Services/http';\nimport { preparePaymentRequest } from './utils/payment-request';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { DecodeObject } from '../../types/global-types';\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';\nimport { resolveSupportedVersion } from './utils/resolve-supported-version';\nimport { formatApplePayContactToAdyenAddressFormat } from './utils/format-applepay-contact-to-adyen-format';\nimport { mapBrands } from './utils/map-adyen-brands-to-applepay-brands';\nimport ApplePaySdkLoader from './services/ApplePaySdkLoader';\nimport { detectInIframe } from '../../utils/detectInIframe';\nimport type { ApplePayConfiguration, ApplePayElementData, ApplePayPaymentOrderDetails, ApplePaySessionRequest } from './types';\nimport type { ICore } from '../../core/types';\nimport type { PaymentResponseData, RawPaymentResponse } from '../../types/global-types';\nimport { AnalyticsEvent } from '../../core/Analytics/AnalyticsEvent';\nimport { AnalyticsInfoEvent } from '../../core/Analytics/AnalyticsInfoEvent';\n\nconst LATEST_APPLE_PAY_VERSION = 14;\n\nclass ApplePayElement extends UIElement<ApplePayConfiguration> {\n public static type = TxVariants.applepay;\n\n protected static defaultProps = defaultProps;\n\n private sdkLoader: ApplePaySdkLoader;\n private applePayVersionNumber: number = undefined;\n\n constructor(checkout: ICore, props?: ApplePayConfiguration) {\n super(checkout, props);\n\n const { isExpress, onShippingContactSelected, onShippingMethodSelected } = this.props;\n\n if (isExpress === false && (onShippingContactSelected || onShippingMethodSelected)) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'ApplePay - You must set \"isExpress\" flag to \"true\" in order to use \"onShippingContactSelected\" and/or \"onShippingMethodSelected\" callbacks'\n );\n }\n\n this.startSession = this.startSession.bind(this);\n this.submit = this.submit.bind(this);\n this.validateMerchant = this.validateMerchant.bind(this);\n this.collectOrderTrackingDetailsIfNeeded = this.collectOrderTrackingDetailsIfNeeded.bind(this);\n this.handleAuthorization = this.handleAuthorization.bind(this);\n this.defineApplePayVersionNumber = this.defineApplePayVersionNumber.bind(this);\n this.configureApplePayWebOptions = this.configureApplePayWebOptions.bind(this);\n\n this.sdkLoader = new ApplePaySdkLoader({ analytics: this.analytics });\n\n void this.sdkLoader\n .load()\n .then(this.defineApplePayVersionNumber)\n .then(this.configureApplePayWebOptions)\n .catch(error => {\n this.handleError(error);\n });\n }\n\n /**\n * Formats the component props\n */\n protected override formatProps(props: ApplePayConfiguration): ApplePayConfiguration {\n // @ts-ignore TODO: Fix brands prop\n const supportedNetworks = props.brands?.length ? mapBrands(props.brands) : props.supportedNetworks;\n\n return {\n ...props,\n configuration: props.configuration,\n supportedNetworks,\n buttonLocale: props.buttonLocale ?? props.i18n?.locale,\n totalPriceLabel: props.totalPriceLabel || props.configuration?.merchantName,\n renderApplePayCodeAs: props.renderApplePayCodeAs ?? (detectInIframe() ? 'window' : 'modal')\n };\n }\n\n /**\n * Formats the component data output\n */\n protected override formatData(): ApplePayElementData {\n const { applePayToken, billingAddress, deliveryAddress } = this.state;\n const { isExpress } = this.props;\n\n return {\n paymentMethod: {\n type: ApplePayElement.type,\n applePayToken,\n ...(isExpress && { subtype: 'express' })\n },\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 public override submit = (): void => {\n // Analytics\n if (this.props.isInstantPayment) {\n const event = new AnalyticsInfoEvent({\n type: ANALYTICS_SELECTED_STR,\n target: ANALYTICS_INSTANT_PAYMENT_BUTTON\n });\n this.submitAnalytics(event);\n }\n void this.startSession();\n };\n\n public get isValid(): boolean {\n return true;\n }\n\n /**\n * This API is only intended for upstreaming or defaulting to Apple Pay, all other scenarios should continue to\n * use canMakePayments(). For Safari browsers, this API will indicate whether there is a card available to make\n * payments. For third-party browsers a new status of paymentCredentialStatusUnknown will be returned. This does\n * not mean there are no cards available, it means the status cannot be determined and as such defaulting\n * and upstreaming should still be considered.\n *\n * {@link https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/4440085-applepaycapabilities}\n * @param merchantIdentifier\n */\n public async applePayCapabilities(merchantIdentifier?: string): Promise<ApplePayJS.PaymentCredentialStatusResponse> {\n const identifier = merchantIdentifier || this.props.configuration.merchantId;\n\n try {\n await this.sdkLoader.isSdkLoaded();\n return await ApplePaySession?.applePayCapabilities(identifier);\n } catch (error) {\n throw new AdyenCheckoutError('ERROR', 'Apple Pay: Error when requesting applePayCapabilities()', { cause: error });\n }\n }\n\n /**\n * Determines if Apple Pay component can be displayed or not\n */\n public override async isAvailable(): Promise<void> {\n if (window.location.protocol !== 'https:') {\n return Promise.reject(new AdyenCheckoutError('IMPLEMENTATION_ERROR', 'Trying to start an Apple Pay session from an insecure document'));\n }\n\n try {\n await this.sdkLoader.isSdkLoaded();\n\n if (ApplePaySession?.canMakePayments()) {\n return Promise.resolve();\n }\n\n return Promise.reject(new AdyenCheckoutError('ERROR', 'Apple Pay is not available on this device'));\n } catch (error) {\n return Promise.reject(new AdyenCheckoutError('ERROR', 'Apple Pay SDK failed to load', { cause: error }));\n }\n }\n\n /**\n * Sets the Apple Pay version available for the shopper.\n * This code needs to be executed once the Apple Pay SDK is fully loaded\n * @private\n */\n private defineApplePayVersionNumber() {\n if (window.location.protocol !== 'https:') return;\n this.applePayVersionNumber = this.props.version || resolveSupportedVersion(LATEST_APPLE_PAY_VERSION);\n }\n\n /**\n * Sets the configuration/callbacks that pertain to the Apple Pay code overlay/modal.\n * @private\n */\n private configureApplePayWebOptions() {\n if (window.ApplePayWebOptions) {\n const { renderApplePayCodeAs, onApplePayCodeClose } = this.props;\n\n window.ApplePayWebOptions.set({\n renderApplePayCodeAs,\n ...(onApplePayCodeClose && { onApplePayCodeClose })\n });\n }\n }\n\n private startSession() {\n const { onValidateMerchant, onPaymentMethodSelected, onShippingMethodSelected, onShippingContactSelected } = this.props;\n\n const paymentRequest = preparePaymentRequest({\n companyName: this.props.configuration.merchantName,\n countryCode: this.core.options.countryCode,\n ...this.props\n });\n\n const session = new ApplePayService(paymentRequest, {\n version: this.applePayVersionNumber,\n onError: (error: unknown) => {\n this.handleError(\n new AdyenCheckoutError('ERROR', 'ApplePay - Something went wrong on ApplePayService', {\n cause: error\n })\n );\n },\n onCancel: event => {\n this.handleError(new AdyenCheckoutError('CANCEL', 'ApplePay UI dismissed', { cause: event }));\n },\n onPaymentMethodSelected,\n onShippingMethodSelected,\n onShippingContactSelected,\n onValidateMerchant: onValidateMerchant || this.validateMerchant,\n onPaymentAuthorized: (resolve, reject, event) => {\n const billingAddress = formatApplePayContactToAdyenAddressFormat(event.payment.billingContact);\n const deliveryAddress = formatApplePayContactToAdyenAddressFormat(event.payment.shippingContact, true);\n\n this.setState({\n applePayToken: btoa(JSON.stringify(event.payment.token.paymentData)),\n authorizedEvent: event,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n this.handleAuthorization()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then(this.collectOrderTrackingDetailsIfNeeded)\n .then(({ paymentResponse, orderDetails }) => {\n resolve({\n status: ApplePaySession.STATUS_SUCCESS,\n ...(orderDetails && { orderDetails })\n });\n return paymentResponse;\n })\n .then(paymentResponse => {\n this.handleResponse(paymentResponse);\n })\n .catch((paymentResponse?: RawPaymentResponse) => {\n const errors = paymentResponse?.error?.applePayError;\n\n reject({\n status: ApplePaySession.STATUS_FAILURE,\n errors: errors ? (Array.isArray(errors) ? errors : [errors]) : undefined\n });\n\n const responseWithError: RawPaymentResponse = {\n ...paymentResponse,\n error: {\n applePayError: errors\n }\n };\n\n this.handleFailedResult(responseWithError);\n });\n }\n });\n\n return new Promise((resolve, reject) => this.props.onClick(resolve, reject))\n .then(() => {\n session.begin();\n })\n .catch(() => ({\n // Swallow exception triggered by onClick reject\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\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?: ApplePayJS.ApplePayError) => {\n // Format error in a way that the 'catch' of the 'onPaymentAuthorize' block accepts it\n const data = { error: { applePayError: error } };\n return Promise.reject(data);\n });\n }\n\n /**\n * Verify if the 'onOrderTrackingRequest' is provided. If so, triggers the callback expecting an\n * Apple Pay order details back\n *\n * @private\n */\n private async collectOrderTrackingDetailsIfNeeded(\n paymentResponse: PaymentResponseData\n ): Promise<{ orderDetails?: ApplePayPaymentOrderDetails; paymentResponse: PaymentResponseData }> {\n return new Promise<ApplePayPaymentOrderDetails | void>((resolve, reject) => {\n if (!this.props.onOrderTrackingRequest) {\n return resolve();\n }\n\n this.props.onOrderTrackingRequest(resolve, reject);\n })\n .then(orderDetails => {\n return {\n paymentResponse,\n ...(orderDetails && { orderDetails })\n };\n })\n .catch(() => {\n return { paymentResponse };\n });\n }\n\n private async validateMerchant(resolve, reject) {\n const { hostname } = window.location;\n const { clientKey, configuration, loadingContext, initiative, domainName } = this.props;\n const { merchantName, merchantId } = configuration;\n const path = `v1/applePay/sessions?clientKey=${clientKey}`;\n const options = { loadingContext, path };\n const request: ApplePaySessionRequest = {\n displayName: merchantName,\n domainName: domainName || hostname,\n initiative,\n merchantIdentifier: merchantId\n };\n\n try {\n const response = await httpPost(options, request);\n const decodedData: DecodeObject = base64.decode(response.data);\n if (!decodedData.success) {\n reject('Could not decode Apple Pay session');\n } else {\n const session = JSON.parse(decodedData.data);\n resolve(session);\n }\n } catch (e) {\n reject('Could not get Apple Pay session');\n }\n }\n\n render() {\n if (!this.props.showPayButton) {\n return null;\n }\n\n return (\n <ApplePayButton\n buttonStyle={this.props.buttonColor}\n buttonType={this.props.buttonType}\n buttonLocale={this.props.buttonLocale}\n onClick={this.submit}\n />\n );\n }\n}\n\nexport default ApplePayElement;\n"],"names":["ApplePayElement","UIElement","formatProps","props","supportedNetworks","brands","length","mapBrands","_object_spread_props","_object_spread","configuration","buttonLocale","i18n","locale","totalPriceLabel","merchantName","renderApplePayCodeAs","detectInIframe","formatData","applePayToken","billingAddress","deliveryAddress","this","state","isExpress","paymentMethod","type","subtype","submitAnalytics","analyticsObj","AnalyticsInfoEvent","ANALYTICS_RENDERED_STR","expressPage","hasExpressPage","ANALYTICS_EXPRESS_PAGES_ARRAY","includes","super","isValid","applePayCapabilities","merchantIdentifier","identifier","merchantId","ApplePaySession","sdkLoader","isSdkLoaded","error","AdyenCheckoutError","cause","isAvailable","window","location","protocol","Promise","reject","canMakePayments","resolve","defineApplePayVersionNumber","applePayVersionNumber","version","resolveSupportedVersion","configureApplePayWebOptions","ApplePayWebOptions","onApplePayCodeClose","set","startSession","onValidateMerchant","onPaymentMethodSelected","onShippingMethodSelected","onShippingContactSelected","paymentRequest","preparePaymentRequest","companyName","countryCode","core","options","session","ApplePayService","onError","handleError","onCancel","event","validateMerchant","onPaymentAuthorized","formatApplePayContactToAdyenAddressFormat","payment","billingContact","shippingContact","setState","btoa","JSON","stringify","token","paymentData","authorizedEvent","handleAuthorization","then","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","collectOrderTrackingDetailsIfNeeded","paymentResponse","orderDetails","status","STATUS_SUCCESS","handleResponse","catch","errors","applePayError","STATUS_FAILURE","Array","isArray","undefined","responseWithError","handleFailedResult","onClick","begin","onAuthorized","data","onOrderTrackingRequest","hostname","clientKey","loadingContext","initiative","domainName","path","request","displayName","response","httpPost","decodedData","base64","decode","success","parse","e","render","showPayButton","h","ApplePayButton","buttonStyle","buttonColor","buttonType","submit","constructor","checkout","_define_property","isInstantPayment","ANALYTICS_SELECTED_STR","target","ANALYTICS_INSTANT_PAYMENT_BUTTON","bind","ApplePaySdkLoader","analytics","load","TxVariants","applepay","defaultProps"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import o from"../../../utils/Script.js";import s from"../../../core/Errors/AdyenCheckoutError.js";const e="https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js";class r{async load(){try{var r;const s=new o(e,"body",{crossOrigin:"anonymous"});return this.sdkLoadingPromise=s.load(),await this.sdkLoadingPromise,null===(r=window)||void 0===r?void 0:r.ApplePaySession}catch(o){throw new s("SCRIPT_ERROR","ApplePaySDK failed to load",{cause:o})}}isSdkLoaded(){return void 0===this.sdkLoadingPromise?Promise.reject():this.sdkLoadingPromise}constructor(){var o,s,e;e=void 0,(s="sdkLoadingPromise")in(o=this)?Object.defineProperty(o,s,{value:e,enumerable:!0,configurable:!0,writable:!0}):o[s]=e}}export{e as APPLE_PAY_SDK_URL,r as default};
1
+ import s from"../../../utils/Script.js";import i from"../../../core/Errors/AdyenCheckoutError.js";function a(s,i,a){return i in s?Object.defineProperty(s,i,{value:a,enumerable:!0,configurable:!0,writable:!0}):s[i]=a,s}const o="https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js";class t{async load(){try{var a;const i=new s({src:o,component:"applepay",attributes:{crossOrigin:"anonymous"},analytics:this.analytics});return this.sdkLoadingPromise=i.load(),await this.sdkLoadingPromise,null===(a=window)||void 0===a?void 0:a.ApplePaySession}catch(s){throw new i("SCRIPT_ERROR","ApplePaySDK failed to load",{cause:s})}}isSdkLoaded(){return void 0===this.sdkLoadingPromise?Promise.reject():this.sdkLoadingPromise}constructor({analytics:s}){a(this,"sdkLoadingPromise",void 0),a(this,"analytics",void 0),this.analytics=s}}export{o as APPLE_PAY_SDK_URL,t as default};
2
2
  //# sourceMappingURL=ApplePaySdkLoader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApplePaySdkLoader.js","sources":["../../../../../src/components/ApplePay/services/ApplePaySdkLoader.ts"],"sourcesContent":["import Script from '../../../utils/Script';\nimport AdyenCheckoutError from '../../../core/Errors/AdyenCheckoutError';\n\nexport const APPLE_PAY_SDK_URL = 'https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js';\n\nclass ApplePaySdkLoader {\n private sdkLoadingPromise: Promise<void>;\n\n public async load(): Promise<ApplePaySession> {\n try {\n const scriptElement = new Script(APPLE_PAY_SDK_URL, 'body', { crossOrigin: 'anonymous' });\n this.sdkLoadingPromise = scriptElement.load();\n await this.sdkLoadingPromise;\n return window?.ApplePaySession;\n } catch (error) {\n throw new AdyenCheckoutError('SCRIPT_ERROR', 'ApplePaySDK failed to load', { cause: error });\n }\n }\n\n public isSdkLoaded(): Promise<void> {\n if (this.sdkLoadingPromise === undefined) {\n return Promise.reject();\n }\n\n return this.sdkLoadingPromise;\n }\n}\n\nexport default ApplePaySdkLoader;\n"],"names":["APPLE_PAY_SDK_URL","ApplePaySdkLoader","load","window","scriptElement","Script","crossOrigin","this","sdkLoadingPromise","ApplePaySession","error","AdyenCheckoutError","cause","isSdkLoaded","undefined","Promise","reject"],"mappings":"kGAGO,MAAMA,EAAoB,iEAEjC,MAAMC,EAGF,UAAaC,GACT,IAIWC,IAAAA,EAHP,MAAMC,EAAgB,IAAIC,EAAOL,EAAmB,OAAQ,CAAEM,YAAa,cAG3E,OAFAC,KAAKC,kBAAoBJ,EAAcF,aACjCK,KAAKC,kBACJL,QAAAA,EAAAA,cAAAA,IAAAA,OAAAA,EAAAA,EAAQM,eACnB,CAAE,MAAOC,GACL,MAAM,IAAIC,EAAmB,eAAgB,6BAA8B,CAAEC,MAAOF,GACxF,CACJ,CAEOG,WAAAA,GACH,YAA+BC,IAA3BP,KAAKC,kBACEO,QAAQC,SAGZT,KAAKC,iBAChB,gCAnBA,KAAQA,yBAARD"}
1
+ {"version":3,"file":"ApplePaySdkLoader.js","sources":["../../../../../src/components/ApplePay/services/ApplePaySdkLoader.ts"],"sourcesContent":["import Script from '../../../utils/Script';\nimport AdyenCheckoutError from '../../../core/Errors/AdyenCheckoutError';\nimport { AnalyticsModule } from '../../../types/global-types';\n\nexport const APPLE_PAY_SDK_URL = 'https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js';\n\nclass ApplePaySdkLoader {\n private sdkLoadingPromise: Promise<void>;\n private readonly analytics: AnalyticsModule;\n\n constructor({ analytics }: { analytics: AnalyticsModule }) {\n this.analytics = analytics;\n }\n\n public async load(): Promise<ApplePaySession> {\n try {\n const scriptElement = new Script({\n src: APPLE_PAY_SDK_URL,\n component: 'applepay',\n attributes: { crossOrigin: 'anonymous' },\n analytics: this.analytics\n });\n\n this.sdkLoadingPromise = scriptElement.load();\n await this.sdkLoadingPromise;\n\n return window?.ApplePaySession;\n } catch (error) {\n throw new AdyenCheckoutError('SCRIPT_ERROR', 'ApplePaySDK failed to load', { cause: error });\n }\n }\n\n public isSdkLoaded(): Promise<void> {\n if (this.sdkLoadingPromise === undefined) {\n return Promise.reject();\n }\n\n return this.sdkLoadingPromise;\n }\n}\n\nexport default ApplePaySdkLoader;\n"],"names":["APPLE_PAY_SDK_URL","ApplePaySdkLoader","load","window","scriptElement","Script","src","component","attributes","crossOrigin","analytics","this","sdkLoadingPromise","ApplePaySession","error","AdyenCheckoutError","cause","isSdkLoaded","undefined","Promise","reject","constructor","_define_property"],"mappings":"0NAIO,MAAMA,EAAoB,iEAEjC,MAAMC,EAQF,UAAaC,GACT,IAWWC,IAAAA,EAVP,MAAMC,EAAgB,IAAIC,EAAO,CAC7BC,IAAKN,EACLO,UAAW,WACXC,WAAY,CAAEC,YAAa,aAC3BC,UAAWC,KAAKD,YAMpB,OAHAC,KAAKC,kBAAoBR,EAAcF,aACjCS,KAAKC,kBAEJT,QAAAA,EAAAA,cAAAA,IAAAA,OAAAA,EAAAA,EAAQU,eACnB,CAAE,MAAOC,GACL,MAAM,IAAIC,EAAmB,eAAgB,6BAA8B,CAAEC,MAAOF,GACxF,CACJ,CAEOG,WAAAA,GACH,YAA+BC,IAA3BP,KAAKC,kBACEO,QAAQC,SAGZT,KAAKC,iBAChB,CA5BA,WAAAS,EAAYX,UAAEA,IAHdY,EAAAX,KAAQC,yBAAR,GACAU,EAAAX,KAAiBD,iBAAjB,GAGIC,KAAKD,UAAYA,CACrB"}
@@ -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 r}from"../../core/Context/CoreProvider.js";import n from"../internal/RedirectButton/RedirectButton.js";import s from"./components/BankTransferResult/BankTransferResult.js";import o from"./components/BankTransferInput/BankTransferInput.js";import{TxVariants as a}from"../tx-variants.js";function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function p(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),n.forEach(function(e){i(t,e,r[e])})}return t}function c(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 r=Object.getOwnPropertySymbols(t);e.push.apply(e,r)}return e}(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))}),t}class f extends e{get isValid(){return!!this.state.isValid}formatData(){const{shopperEmail:t}=this.state.data,e=this.type!==a.bankTransfer_IBAN?{subtype:"embedded"}:{};return p({paymentMethod:p({type:this.type},e)},t&&{shopperEmail:t})}render(){return this.props.reference?t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(s,c(p({},this.props),{onActionHandled:this.onActionHandled}))):t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.showEmailAddress&&t(o,c(p({setComponentRef:this.setComponentRef},this.props),{onChange:this.setState})),t(n,c(p({},this.props),{showPayButton:this.props.showPayButton,name:this.displayName,onSubmit:this.submit,payButton:this.payButton})))}constructor(...t){super(...t),i(this,"state",{isValid:!this.props.showEmailAddress,data:{}})}}i(f,"type",a.bankTransfer_IBAN),i(f,"txVariants",[a.bankTransfer_IBAN,a.bankTransfer_BE,a.bankTransfer_NL,a.bankTransfer_PL,a.bankTransfer_FR,a.bankTransfer_CH,a.bankTransfer_IE,a.bankTransfer_GB,a.bankTransfer_DE]),i(f,"defaultProps",{showEmailAddress:!0,showContextualElement:!0,data:{shopperEmail:""}});export{f as BankTransferElement,f as default};
1
+ import{createElement as r}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import{CoreProvider as t}from"../../core/Context/CoreProvider.js";import n from"../internal/RedirectButton/RedirectButton.js";import s from"./components/BankTransferResult/BankTransferResult.js";import a from"./components/BankTransferInput/BankTransferInput.js";import{TxVariants as o}from"../tx-variants.js";function i(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function p(r){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),n.forEach(function(e){i(r,e,t[e])})}return r}function f(r,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(e)):function(r){var e=Object.keys(r);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(r);e.push.apply(e,t)}return e}(Object(e)).forEach(function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(e,t))}),r}class b extends e{get isValid(){return!!this.state.isValid}formatData(){const{shopperEmail:r}=this.state.data,e=this.type!==o.bankTransfer_IBAN?{subtype:"embedded"}:{};return p({paymentMethod:p({type:this.type},e)},r&&{shopperEmail:r})}render(){return this.props.reference?r(t,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},r(s,f(p({},this.props),{onActionHandled:this.onActionHandled}))):r(t,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.showEmailAddress&&r(a,f(p({setComponentRef:this.setComponentRef},this.props),{onChange:this.setState})),r(n,f(p({},this.props),{showPayButton:this.props.showPayButton,name:this.displayName,onSubmit:this.submit,payButton:this.payButton})))}constructor(...r){super(...r),i(this,"state",{isValid:!this.props.showEmailAddress,data:{}})}}i(b,"type",o.bankTransfer_IBAN),i(b,"txVariants",[o.bankTransfer_IBAN,o.bankTransfer_BE,o.bankTransfer_NL,o.bankTransfer_PL,o.bankTransfer_FR,o.bankTransfer_CH,o.bankTransfer_IE,o.bankTransfer_GB,o.bankTransfer_DE,o.bankTransfer_AE,o.bankTransfer_AT,o.bankTransfer_AU,o.bankTransfer_BG,o.bankTransfer_CA,o.bankTransfer_EE,o.bankTransfer_ES,o.bankTransfer_FI,o.bankTransfer_HK,o.bankTransfer_HU,o.bankTransfer_IT,o.bankTransfer_JP,o.bankTransfer_LU,o.bankTransfer_NZ,o.bankTransfer_PT,o.bankTransfer_SG,o.bankTransfer_SK,o.bankTransfer_US]),i(b,"defaultProps",{showEmailAddress:!0,showContextualElement:!0,data:{shopperEmail:""}});export{b as BankTransferElement,b as default};
2
2
  //# sourceMappingURL=BankTransfer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BankTransfer.js","sources":["../../../../src/components/BankTransfer/BankTransfer.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectButton from '../internal/RedirectButton';\nimport { BankTransferConfiguration, BankTransferState } from './types';\nimport BankTransferResult from './components/BankTransferResult';\nimport BankTransferInput from './components/BankTransferInput';\nimport { TxVariants } from '../tx-variants';\n\nexport class BankTransferElement extends UIElement<BankTransferConfiguration> {\n public static type = TxVariants.bankTransfer_IBAN;\n public static txVariants = [\n TxVariants.bankTransfer_IBAN,\n TxVariants.bankTransfer_BE,\n TxVariants.bankTransfer_NL,\n TxVariants.bankTransfer_PL,\n TxVariants.bankTransfer_FR,\n TxVariants.bankTransfer_CH,\n TxVariants.bankTransfer_IE,\n TxVariants.bankTransfer_GB,\n TxVariants.bankTransfer_DE\n ];\n\n public static defaultProps = {\n showEmailAddress: true,\n showContextualElement: true,\n data: { shopperEmail: '' }\n };\n\n // @ts-ignore Double check why state extends all props\n public state: BankTransferState = {\n isValid: !this.props.showEmailAddress,\n data: {}\n };\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const { shopperEmail } = this.state.data;\n const subtype = this.type !== (TxVariants.bankTransfer_IBAN as string) ? { subtype: 'embedded' } : {};\n\n return {\n paymentMethod: {\n type: this.type,\n ...subtype\n },\n ...(shopperEmail && { shopperEmail })\n };\n }\n\n render() {\n if (this.props.reference) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <BankTransferResult {...this.props} onActionHandled={this.onActionHandled} />\n </CoreProvider>\n );\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.showEmailAddress && <BankTransferInput setComponentRef={this.setComponentRef} {...this.props} onChange={this.setState} />}\n <RedirectButton\n {...this.props}\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default BankTransferElement;\n"],"names":["BankTransferElement","UIElement","isValid","this","state","formatData","shopperEmail","data","subtype","type","TxVariants","bankTransfer_IBAN","_object_spread","paymentMethod","render","props","reference","h","CoreProvider","i18n","loadingContext","resources","BankTransferResult","onActionHandled","showEmailAddress","BankTransferInput","setComponentRef","onChange","setState","RedirectButton","showPayButton","name","displayName","onSubmit","submit","payButton","super","args","_define_property","txVariants","bankTransfer_BE","bankTransfer_NL","bankTransfer_PL","bankTransfer_FR","bankTransfer_CH","bankTransfer_IE","bankTransfer_GB","bankTransfer_DE","defaultProps","showContextualElement"],"mappings":"kuCASO,MAAMA,UAA4BC,EA0BrC,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAKAG,UAAAA,GACI,MAAMC,aAAEA,GAAiBH,KAAKC,MAAMG,KAC9BC,EAAUL,KAAKM,OAAUC,EAAWC,kBAA+B,CAAEH,QAAS,YAAe,CAAA,EAEnG,OAAOI,EAAA,CACHC,cAAeD,EAAA,CACXH,KAAMN,KAAKM,MACRD,IAEHF,GAAgB,CAAEA,gBAE9B,CAEAQ,MAAAA,GACI,OAAIX,KAAKY,MAAMC,UAEPC,EAACC,EAAAA,CAAaC,KAAMhB,KAAKY,MAAMI,KAAMC,eAAgBjB,KAAKY,MAAMK,eAAgBC,UAAWlB,KAAKkB,WAC5FJ,EAACK,EAAAA,EAAAA,EAAAA,GAAuBnB,KAAKY,OAAK,CAAEQ,gBAAiBpB,KAAKoB,oBAMlEN,EAACC,EAAAA,CAAaC,KAAMhB,KAAKY,MAAMI,KAAMC,eAAgBjB,KAAKY,MAAMK,eAAgBC,UAAWlB,KAAKkB,WAC3FlB,KAAKY,MAAMS,kBAAoBP,EAACQ,EAAAA,EAAAA,EAAAA,CAAkBC,gBAAiBvB,KAAKuB,iBAAqBvB,KAAKY,OAAK,CAAEY,SAAUxB,KAAKyB,YACzHX,EAACY,EAAAA,EAAAA,EAAAA,CAAAA,EACO1B,KAAKY,OAAK,CACde,cAAe3B,KAAKY,MAAMe,cAC1BC,KAAM5B,KAAK6B,YACXC,SAAU9B,KAAK+B,OACfC,UAAWhC,KAAKgC,aAIhC,mBAnEGC,SAAAC,GAqBHC,EAAAnC,KAAOC,QAA2B,CAC9BF,SAAUC,KAAKY,MAAMS,iBACrBjB,KAAM,CAAA,KAtBV+B,EADStC,EACKS,OAAOC,EAAWC,mBAChC2B,EAFStC,EAEKuC,aAAa,CACvB7B,EAAWC,kBACXD,EAAW8B,gBACX9B,EAAW+B,gBACX/B,EAAWgC,gBACXhC,EAAWiC,gBACXjC,EAAWkC,gBACXlC,EAAWmC,gBACXnC,EAAWoC,gBACXpC,EAAWqC,kBAGfT,EAdStC,EAcKgD,eAAe,CACzBxB,kBAAkB,EAClByB,uBAAuB,EACvB1C,KAAM,CAAED,aAAc"}
1
+ {"version":3,"file":"BankTransfer.js","sources":["../../../../src/components/BankTransfer/BankTransfer.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectButton from '../internal/RedirectButton';\nimport { BankTransferConfiguration, BankTransferState } from './types';\nimport BankTransferResult from './components/BankTransferResult';\nimport BankTransferInput from './components/BankTransferInput';\nimport { TxVariants } from '../tx-variants';\n\nexport class BankTransferElement extends UIElement<BankTransferConfiguration> {\n public static type = TxVariants.bankTransfer_IBAN;\n public static txVariants = [\n TxVariants.bankTransfer_IBAN,\n TxVariants.bankTransfer_BE,\n TxVariants.bankTransfer_NL,\n TxVariants.bankTransfer_PL,\n TxVariants.bankTransfer_FR,\n TxVariants.bankTransfer_CH,\n TxVariants.bankTransfer_IE,\n TxVariants.bankTransfer_GB,\n TxVariants.bankTransfer_DE,\n TxVariants.bankTransfer_AE,\n TxVariants.bankTransfer_AT,\n TxVariants.bankTransfer_AU,\n TxVariants.bankTransfer_BG,\n TxVariants.bankTransfer_CA,\n TxVariants.bankTransfer_EE,\n TxVariants.bankTransfer_ES,\n TxVariants.bankTransfer_FI,\n TxVariants.bankTransfer_HK,\n TxVariants.bankTransfer_HU,\n TxVariants.bankTransfer_IT,\n TxVariants.bankTransfer_JP,\n TxVariants.bankTransfer_LU,\n TxVariants.bankTransfer_NZ,\n TxVariants.bankTransfer_PT,\n TxVariants.bankTransfer_SG,\n TxVariants.bankTransfer_SK,\n TxVariants.bankTransfer_US\n ];\n\n public static defaultProps = {\n showEmailAddress: true,\n showContextualElement: true,\n data: { shopperEmail: '' }\n };\n\n // @ts-ignore Double check why state extends all props\n public state: BankTransferState = {\n isValid: !this.props.showEmailAddress,\n data: {}\n };\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const { shopperEmail } = this.state.data;\n const subtype = this.type !== (TxVariants.bankTransfer_IBAN as string) ? { subtype: 'embedded' } : {};\n\n return {\n paymentMethod: {\n type: this.type,\n ...subtype\n },\n ...(shopperEmail && { shopperEmail })\n };\n }\n\n render() {\n if (this.props.reference) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <BankTransferResult {...this.props} onActionHandled={this.onActionHandled} />\n </CoreProvider>\n );\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.showEmailAddress && <BankTransferInput setComponentRef={this.setComponentRef} {...this.props} onChange={this.setState} />}\n <RedirectButton\n {...this.props}\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default BankTransferElement;\n"],"names":["BankTransferElement","UIElement","isValid","this","state","formatData","shopperEmail","data","subtype","type","TxVariants","bankTransfer_IBAN","_object_spread","paymentMethod","render","props","reference","h","CoreProvider","i18n","loadingContext","resources","BankTransferResult","onActionHandled","showEmailAddress","BankTransferInput","setComponentRef","onChange","setState","RedirectButton","showPayButton","name","displayName","onSubmit","submit","payButton","super","args","_define_property","txVariants","bankTransfer_BE","bankTransfer_NL","bankTransfer_PL","bankTransfer_FR","bankTransfer_CH","bankTransfer_IE","bankTransfer_GB","bankTransfer_DE","bankTransfer_AE","bankTransfer_AT","bankTransfer_AU","bankTransfer_BG","bankTransfer_CA","bankTransfer_EE","bankTransfer_ES","bankTransfer_FI","bankTransfer_HK","bankTransfer_HU","bankTransfer_IT","bankTransfer_JP","bankTransfer_LU","bankTransfer_NZ","bankTransfer_PT","bankTransfer_SG","bankTransfer_SK","bankTransfer_US","defaultProps","showContextualElement"],"mappings":"kuCASO,MAAMA,UAA4BC,EA4CrC,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAKAG,UAAAA,GACI,MAAMC,aAAEA,GAAiBH,KAAKC,MAAMG,KAC9BC,EAAUL,KAAKM,OAAUC,EAAWC,kBAA+B,CAAEH,QAAS,YAAe,CAAA,EAEnG,OAAOI,EAAA,CACHC,cAAeD,EAAA,CACXH,KAAMN,KAAKM,MACRD,IAEHF,GAAgB,CAAEA,gBAE9B,CAEAQ,MAAAA,GACI,OAAIX,KAAKY,MAAMC,UAEPC,EAACC,EAAAA,CAAaC,KAAMhB,KAAKY,MAAMI,KAAMC,eAAgBjB,KAAKY,MAAMK,eAAgBC,UAAWlB,KAAKkB,WAC5FJ,EAACK,EAAAA,EAAAA,EAAAA,GAAuBnB,KAAKY,OAAK,CAAEQ,gBAAiBpB,KAAKoB,oBAMlEN,EAACC,EAAAA,CAAaC,KAAMhB,KAAKY,MAAMI,KAAMC,eAAgBjB,KAAKY,MAAMK,eAAgBC,UAAWlB,KAAKkB,WAC3FlB,KAAKY,MAAMS,kBAAoBP,EAACQ,EAAAA,EAAAA,EAAAA,CAAkBC,gBAAiBvB,KAAKuB,iBAAqBvB,KAAKY,OAAK,CAAEY,SAAUxB,KAAKyB,YACzHX,EAACY,EAAAA,EAAAA,EAAAA,CAAAA,EACO1B,KAAKY,OAAK,CACde,cAAe3B,KAAKY,MAAMe,cAC1BC,KAAM5B,KAAK6B,YACXC,SAAU9B,KAAK+B,OACfC,UAAWhC,KAAKgC,aAIhC,mBArFGC,SAAAC,GAuCHC,EAAAnC,KAAOC,QAA2B,CAC9BF,SAAUC,KAAKY,MAAMS,iBACrBjB,KAAM,CAAA,KAxCV+B,EADStC,EACKS,OAAOC,EAAWC,mBAChC2B,EAFStC,EAEKuC,aAAa,CACvB7B,EAAWC,kBACXD,EAAW8B,gBACX9B,EAAW+B,gBACX/B,EAAWgC,gBACXhC,EAAWiC,gBACXjC,EAAWkC,gBACXlC,EAAWmC,gBACXnC,EAAWoC,gBACXpC,EAAWqC,gBACXrC,EAAWsC,gBACXtC,EAAWuC,gBACXvC,EAAWwC,gBACXxC,EAAWyC,gBACXzC,EAAW0C,gBACX1C,EAAW2C,gBACX3C,EAAW4C,gBACX5C,EAAW6C,gBACX7C,EAAW8C,gBACX9C,EAAW+C,gBACX/C,EAAWgD,gBACXhD,EAAWiD,gBACXjD,EAAWkD,gBACXlD,EAAWmD,gBACXnD,EAAWoD,gBACXpD,EAAWqD,gBACXrD,EAAWsD,gBACXtD,EAAWuD,kBAGf3B,EAhCStC,EAgCKkE,eAAe,CACzB1C,kBAAkB,EAClB2C,uBAAuB,EACvB5D,KAAM,CAAED,aAAc"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useCoreContext as a}from"../../../../core/Context/CoreProvider.js";import r from"../../../../core/Context/useImage.js";import t from"../../../internal/DetailsTable/DetailsTable.js";import{BankTransferResultInstructions as n}from"./BankTransferResultInstructions.js";import o from"./BankTransferVoucher.js";function l(l){const{i18n:u}=a(),s=r();return e(o,{paymentMethodType:l.paymentMethodType,imageUrl:s()(l.paymentMethodType),onActionHandled:l.onActionHandled,amount:u.amount(l.totalAmount.value,l.totalAmount.currency),instructions:e(n,null),voucherDetails:e(t,{shouldShowCopyButton:!0,tableFields:[{label:u.get("bankTransfer.beneficiary"),value:l.beneficiary},{label:u.get("bankTransfer.accountNumber"),value:l.accountNumber},{label:u.get("bankTransfer.sortCode"),value:l.sortCode},{label:u.get("bankTransfer.routingNumber"),value:l.routingNumber},{label:u.get("bankTransfer.iban"),value:l.iban},{label:u.get("bankTransfer.bic"),value:l.bic},{label:u.get("bankTransfer.reference"),value:l.reference}]})})}export{l as default};
1
+ import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useCoreContext as a}from"../../../../core/Context/CoreProvider.js";import r from"../../../../core/Context/useImage.js";import n from"../../../internal/DetailsTable/DetailsTable.js";import{BankTransferResultInstructions as t}from"./BankTransferResultInstructions.js";import o from"./BankTransferVoucher.js";function l(l){const{i18n:b}=a(),u=r(),s=[{label:b.get("bankTransfer.beneficiary"),value:l.beneficiary},{label:b.get("bankTransfer.accountNumber"),value:l.accountNumber},{label:b.get("bankTransfer.sortCode"),value:l.sortCode},{label:b.get("bankTransfer.routingNumber"),value:l.routingNumber},{label:b.get("bankTransfer.iban"),value:l.iban},{label:b.get("bankTransfer.branchCode"),value:l.branchCode},{label:b.get("bankTransfer.bankCode"),value:l.bankCode},{label:b.get("bankTransfer.reference"),value:l.reference},{label:b.get("bankTransfer.bic"),value:l.bic}];return e(o,{paymentMethodType:l.paymentMethodType,imageUrl:u()(l.paymentMethodType),onActionHandled:l.onActionHandled,amount:b.amount(l.totalAmount.value,l.totalAmount.currency),instructions:e(t,null),voucherDetails:e(n,{shouldShowCopyButton:!0,tableFields:s})})}export{l as default};
2
2
  //# sourceMappingURL=BankTransferResult.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BankTransferResult.js","sources":["../../../../../../src/components/BankTransfer/components/BankTransferResult/BankTransferResult.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport useImage from '../../../../core/Context/useImage';\nimport DetailsTable from '../../../internal/DetailsTable';\nimport { BankTransferResultInstructions } from './BankTransferResultInstructions';\nimport BankTransferVoucher from './BankTransferVoucher';\nimport type { ActionHandledReturnObject } from '../../../../types/global-types';\n\nexport interface BankTransferResultProps {\n paymentMethodType?: string;\n reference?: string;\n totalAmount?: { value: number; currency: string };\n beneficiary?: string;\n iban?: string;\n bic?: string;\n accountNumber?: string;\n sortCode?: string;\n routingNumber?: string;\n onActionHandled?: (actionHandledObj: ActionHandledReturnObject) => void;\n}\n\nexport default function BankTransferResult(props: BankTransferResultProps) {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n\n return (\n <BankTransferVoucher\n paymentMethodType={props.paymentMethodType}\n imageUrl={getImage()(props.paymentMethodType)}\n onActionHandled={props.onActionHandled}\n amount={i18n.amount(props.totalAmount.value, props.totalAmount.currency)}\n instructions={<BankTransferResultInstructions />}\n voucherDetails={\n <DetailsTable\n shouldShowCopyButton\n tableFields={[\n { label: i18n.get('bankTransfer.beneficiary'), value: props.beneficiary },\n { label: i18n.get('bankTransfer.accountNumber'), value: props.accountNumber },\n { label: i18n.get('bankTransfer.sortCode'), value: props.sortCode },\n { label: i18n.get('bankTransfer.routingNumber'), value: props.routingNumber },\n { label: i18n.get('bankTransfer.iban'), value: props.iban },\n { label: i18n.get('bankTransfer.bic'), value: props.bic },\n { label: i18n.get('bankTransfer.reference'), value: props.reference }\n ]}\n />\n }\n />\n );\n}\n"],"names":["BankTransferResult","props","i18n","useCoreContext","getImage","useImage","h","BankTransferVoucher","paymentMethodType","imageUrl","onActionHandled","amount","totalAmount","value","currency","instructions","BankTransferResultInstructions","voucherDetails","DetailsTable","shouldShowCopyButton","tableFields","label","get","beneficiary","accountNumber","sortCode","routingNumber","iban","bic","reference"],"mappings":"oYAqBe,SAASA,EAAmBC,GACvC,MAAMC,KAAEA,GAASC,IACXC,EAAWC,IAEjB,OACIC,EAACC,EAAAA,CACGC,kBAAmBP,EAAMO,kBACzBC,SAAUL,IAAWH,EAAMO,mBAC3BE,gBAAiBT,EAAMS,gBACvBC,OAAQT,EAAKS,OAAOV,EAAMW,YAAYC,MAAOZ,EAAMW,YAAYE,UAC/DC,aAAcT,EAACU,EAAAA,MACfC,eACIX,EAACY,EAAAA,CACGC,sBAAAA,EACAC,YAAa,CACT,CAAEC,MAAOnB,EAAKoB,IAAI,4BAA6BT,MAAOZ,EAAMsB,aAC5D,CAAEF,MAAOnB,EAAKoB,IAAI,8BAA+BT,MAAOZ,EAAMuB,eAC9D,CAAEH,MAAOnB,EAAKoB,IAAI,yBAA0BT,MAAOZ,EAAMwB,UACzD,CAAEJ,MAAOnB,EAAKoB,IAAI,8BAA+BT,MAAOZ,EAAMyB,eAC9D,CAAEL,MAAOnB,EAAKoB,IAAI,qBAAsBT,MAAOZ,EAAM0B,MACrD,CAAEN,MAAOnB,EAAKoB,IAAI,oBAAqBT,MAAOZ,EAAM2B,KACpD,CAAEP,MAAOnB,EAAKoB,IAAI,0BAA2BT,MAAOZ,EAAM4B,eAMlF"}
1
+ {"version":3,"file":"BankTransferResult.js","sources":["../../../../../../src/components/BankTransfer/components/BankTransferResult/BankTransferResult.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport useImage from '../../../../core/Context/useImage';\nimport DetailsTable from '../../../internal/DetailsTable';\nimport { BankTransferResultInstructions } from './BankTransferResultInstructions';\nimport BankTransferVoucher from './BankTransferVoucher';\nimport type { ActionHandledReturnObject } from '../../../../types/global-types';\n\nexport interface BankTransferResultProps {\n paymentMethodType?: string;\n reference?: string;\n totalAmount?: { value: number; currency: string };\n beneficiary?: string;\n iban?: string;\n bic?: string;\n accountNumber?: string;\n sortCode?: string;\n routingNumber?: string;\n branchCode?: string;\n bankCode?: string;\n onActionHandled?: (actionHandledObj: ActionHandledReturnObject) => void;\n}\n\nexport default function BankTransferResult(props: BankTransferResultProps) {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n\n // we don't have to filter these values here, they get filtered inside the DetailsTable component\n const tableFields = [\n { label: i18n.get('bankTransfer.beneficiary'), value: props.beneficiary },\n { label: i18n.get('bankTransfer.accountNumber'), value: props.accountNumber },\n { label: i18n.get('bankTransfer.sortCode'), value: props.sortCode },\n { label: i18n.get('bankTransfer.routingNumber'), value: props.routingNumber },\n { label: i18n.get('bankTransfer.iban'), value: props.iban },\n { label: i18n.get('bankTransfer.branchCode'), value: props.branchCode },\n { label: i18n.get('bankTransfer.bankCode'), value: props.bankCode },\n { label: i18n.get('bankTransfer.reference'), value: props.reference },\n { label: i18n.get('bankTransfer.bic'), value: props.bic }\n ];\n\n return (\n <BankTransferVoucher\n paymentMethodType={props.paymentMethodType}\n imageUrl={getImage()(props.paymentMethodType)}\n onActionHandled={props.onActionHandled}\n amount={i18n.amount(props.totalAmount.value, props.totalAmount.currency)}\n instructions={<BankTransferResultInstructions />}\n voucherDetails={<DetailsTable shouldShowCopyButton tableFields={tableFields} />}\n />\n );\n}\n"],"names":["BankTransferResult","props","i18n","useCoreContext","getImage","useImage","tableFields","label","get","value","beneficiary","accountNumber","sortCode","routingNumber","iban","branchCode","bankCode","reference","bic","h","BankTransferVoucher","paymentMethodType","imageUrl","onActionHandled","amount","totalAmount","currency","instructions","BankTransferResultInstructions","voucherDetails","DetailsTable","shouldShowCopyButton"],"mappings":"oYAuBe,SAASA,EAAmBC,GACvC,MAAMC,KAAEA,GAASC,IACXC,EAAWC,IAGXC,EAAc,CAChB,CAAEC,MAAOL,EAAKM,IAAI,4BAA6BC,MAAOR,EAAMS,aAC5D,CAAEH,MAAOL,EAAKM,IAAI,8BAA+BC,MAAOR,EAAMU,eAC9D,CAAEJ,MAAOL,EAAKM,IAAI,yBAA0BC,MAAOR,EAAMW,UACzD,CAAEL,MAAOL,EAAKM,IAAI,8BAA+BC,MAAOR,EAAMY,eAC9D,CAAEN,MAAOL,EAAKM,IAAI,qBAAsBC,MAAOR,EAAMa,MACrD,CAAEP,MAAOL,EAAKM,IAAI,2BAA4BC,MAAOR,EAAMc,YAC3D,CAAER,MAAOL,EAAKM,IAAI,yBAA0BC,MAAOR,EAAMe,UACzD,CAAET,MAAOL,EAAKM,IAAI,0BAA2BC,MAAOR,EAAMgB,WAC1D,CAAEV,MAAOL,EAAKM,IAAI,oBAAqBC,MAAOR,EAAMiB,MAGxD,OACIC,EAACC,EAAAA,CACGC,kBAAmBpB,EAAMoB,kBACzBC,SAAUlB,IAAWH,EAAMoB,mBAC3BE,gBAAiBtB,EAAMsB,gBACvBC,OAAQtB,EAAKsB,OAAOvB,EAAMwB,YAAYhB,MAAOR,EAAMwB,YAAYC,UAC/DC,aAAcR,EAACS,EAAAA,MACfC,eAAgBV,EAACW,EAAAA,CAAaC,sBAAAA,EAAqBzB,YAAaA,KAG5E"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import o from"./components/CardInput/CardInput.js";import{CoreProvider as e}from"../../core/Context/CoreProvider.js";import i from"../../utils/browserInfo.js";import s from"../internal/SecuredFields/binLookup/triggerBinLookUp.js";import{fieldTypeToSnakeCase as n}from"../internal/SecuredFields/utils.js";import{reject as r}from"../../utils/commonUtils.js";import{hasValidInstallmentsObject as a,getCardConfigData as l}from"./components/CardInput/utils.js";import d from"../internal/ClickToPay/services/create-clicktopay-service.js";import u from"./components/ClickToPayWrapper.js";import c from"../../core/Errors/SRPanelProvider.js";import{TxVariants as p}from"../tx-variants.js";import{UIElement as h}from"../internal/UIElement/UIElement.js";import m from"../internal/PayButton/PayButton.js";import{ANALYTICS_RENDERED_STR as y,ANALYTICS_CONFIGURED_STR as f,ANALYTICS_FOCUS_STR as v,ANALYTICS_UNFOCUS_STR as b}from"../../core/Analytics/constants.js";import{ALL_SECURED_FIELDS as g}from"../internal/SecuredFields/lib/constants.js";import{hasOwnProperty as P}from"../../utils/hasOwnProperty.js";import C,{IMPLEMENTATION_ERROR as S}from"../../core/Errors/AdyenCheckoutError.js";import k from"./components/CardInput/defaultProps.js";import{AnalyticsInfoEvent as j}from"../../core/Analytics/AnalyticsInfoEvent.js";function O(t,o,e){return o in t?Object.defineProperty(t,o,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[o]=e,t}function R(t){for(var o=1;o<arguments.length;o++){var e=null!=arguments[o]?arguments[o]:{},i=Object.keys(e);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(e).filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.forEach(function(o){O(t,o,e[o])})}return t}function T(t,o){return o=null!=o?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):function(t){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);o.push.apply(o,e)}return o}(Object(o)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}),t}const B=["cartebancaire","bcmc","dankort"];class I extends h{setStatus(t,o){var e,i;return(null===(e=this.componentRef)||void 0===e?void 0:e.setStatus)&&this.componentRef.setStatus(t,o),(null===(i=this.clickToPayRef)||void 0===i?void 0:i.setStatus)&&this.clickToPayRef.setStatus(t,o),this}formatProps(t){var o,e,i,s,n,r,a,l,d,u,c,h,m,y,f,v,b,g,P,j;const O=null!==(j=null===(e=t.session)||void 0===e||null===(o=e.configuration)||void 0===o?void 0:o.enableStoreDetails)&&void 0!==j?j:t.enableStoreDetails,B=!(0===(null===(i=t.amount)||void 0===i?void 0:i.value))&&O,I=t.storedPaymentMethodId||t.id,w=I&&(null==t||null===(s=t.supportedShopperInteractions)||void 0===s?void 0:s.includes("Ecommerce"));if(I&&!w)throw new C(S,"You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions");var A,M;return R(T(R({},t),{holderNameRequired:!!t.hasHolderName&&t.holderNameRequired,hasCVC:!(t.brand&&"bcmc"===t.brand||t.hideCVC),billingAddressRequired:!t.storedPaymentMethodId&&t.billingAddressRequired,billingAddressMode:t.onAddressLookup?k.billingAddressMode:t.billingAddressMode,brand:null!==(A=t.brand)&&void 0!==A?A:p.card,countryCode:t.countryCode?t.countryCode.toLowerCase():null,configuration:T(R({},t.configuration),{socialSecurityNumberMode:null!==(M=null===(n=t.configuration)||void 0===n?void 0:n.socialSecurityNumberMode)&&void 0!==M?M:"auto"}),brandsConfiguration:t.brandsConfiguration||(null===(r=t.configuration)||void 0===r?void 0:r.brandsConfiguration)||{},icon:t.icon||(null===(a=t.configuration)||void 0===a?void 0:a.icon),installmentOptions:(null===(d=t.session)||void 0===d||null===(l=d.configuration)||void 0===l?void 0:l.installmentOptions)||t.installmentOptions,enableStoreDetails:O,showStoreDetailsCheckbox:B,clickToPayConfiguration:T(R({},t.clickToPayConfiguration),{disableOtpAutoFocus:(null===(u=t.clickToPayConfiguration)||void 0===u?void 0:u.disableOtpAutoFocus)||!1,shopperEmail:(null===(c=t.clickToPayConfiguration)||void 0===c?void 0:c.shopperEmail)||(null===(m=this.core.options)||void 0===m||null===(h=m.session)||void 0===h?void 0:h.shopperEmail),telephoneNumber:(null===(y=t.clickToPayConfiguration)||void 0===y?void 0:y.telephoneNumber)||(null===(v=this.core.options)||void 0===v||null===(f=v.session)||void 0===f?void 0:f.telephoneNumber),locale:(null===(b=t.clickToPayConfiguration)||void 0===b?void 0:b.locale)||(null===(P=t.i18n)||void 0===P||null===(g=P.locale)||void 0===g?void 0:g.replace("-","_"))})}),I&&{storedPaymentMethodId:I})}formatData(){const t=this.state.selectedBrandValue;var o;return T(R({paymentMethod:R({type:I.type},this.state.data,this.props.storedPaymentMethodId&&{storedPaymentMethodId:this.props.storedPaymentMethodId,holderName:null!==(o=this.props.holderName)&&void 0!==o?o:""},t&&{brand:t},this.props.fundingSource&&{fundingSource:this.props.fundingSource},this.state.fastlaneData&&{fastlaneData:btoa(JSON.stringify(this.state.fastlaneData))})},this.state.billingAddress&&{billingAddress:this.state.billingAddress},this.state.socialSecurityNumber&&{socialSecurityNumber:this.state.socialSecurityNumber},this.storePaymentMethodPayload,a(this.state.installments)&&{installments:this.state.installments}),{browserInfo:this.browserInfo,origin:!!window&&window.location.origin})}updateStyles(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.updateStyles)&&this.componentRef.updateStyles(t),this}setFocusOn(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.setFocusOn)&&this.componentRef.setFocusOn(t),this}processBinLookupResponse(t,o=!1){var e;return(null===(e=this.componentRef)||void 0===e?void 0:e.processBinLookupResponse)&&this.componentRef.processBinLookupResponse(t,o),this}handleUnsupportedCard(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.handleUnsupportedCard)&&this.componentRef.handleUnsupportedCard(t),this}onBinLookup(t){if(!t.isReset){var o,e;const i=r("supportedBrandsRaw").from(t);null===(o=(e=this.props).onBinLookup)||void 0===o||o.call(e,i)}}submitAnalytics(t){const o=t instanceof j;(o&&t.type===y||o&&t.type===f)&&("scheme"===this.constructor.type&&P(this.props,"supportedShopperInteractions")&&(t.isStoredPaymentMethod=!0,t.brand=this.props.brand),o&&t.type===y&&(t.configData=l(this.props))),super.submitAnalytics(t)}get storePaymentMethodPayload(){var t,o;if((null===(t=this.props.storedPaymentMethodId)||void 0===t?void 0:t.length)>0)return{};if(0===(null===(o=this.props.amount)||void 0===o?void 0:o.value))return this.props.enableStoreDetails?{storePaymentMethod:!0}:{};return this.props.showStoreDetailsCheckbox&&void 0!==this.state.storePaymentMethod?{storePaymentMethod:Boolean(this.state.storePaymentMethod)}:{}}get isValid(){return!!this.state.isValid}get icon(){var t;return null!==(t=this.props.icon)&&void 0!==t?t:this.resources.getImage()(this.props.brand)}get brands(){const{brands:t,brandsConfiguration:o}=this.props;return t?t.map(t=>{var e,i;return{icon:null!==(i=null===(e=o[t])||void 0===e?void 0:e.icon)&&void 0!==i?i:this.props.modules.resources.getImage()(t),name:t}}):[]}get displayName(){return this.props.storedPaymentMethodId?`•••• ${this.props.lastFour}`:this.props.name||I.type}get accessibleName(){return(this.props.name||I.type)+(this.props.storedPaymentMethodId?" "+this.props.i18n.get("creditCard.storedCard.description.ariaLabel").replace("%@",this.props.lastFour):"")}get browserInfo(){return i()}renderCardInput(e=!0){return t(o,T(R({setComponentRef:this.setComponentRef},this.props,this.state),{onSubmitAnalytics:this.submitAnalytics,onChange:this.setState,onSubmit:this.submit,handleKeyPress:this.handleKeyPress,payButton:this.payButton,onBrand:this.onBrand,onBinValue:this.onBinValue,brand:this.props.brand,brandsIcons:this.brands,isPayButtonPrimaryVariant:e,resources:this.resources,onFocus:this.onFocus,onBlur:this.onBlur,onConfigSuccess:this.onConfigSuccess}))}render(){return t(e,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(c,{srPanel:this.props.modules.srPanel},t(u,{amount:this.props.amount,configuration:this.props.clickToPayConfiguration,clickToPayService:this.clickToPayService,isStandaloneComponent:!1,setClickToPayRef:this.setClickToPayRef,onSetStatus:this.setElementStatus,onSubmit:this.handleClickToPaySubmit,onError:this.handleError},t=>this.renderCardInput(t))))}constructor(o,e){var i;(super(o,e),O(this,"clickToPayService",void 0),O(this,"clickToPayRef",null),O(this,"setClickToPayRef",t=>{this.clickToPayRef=t}),O(this,"onBrand",t=>{var o,e;null===(o=(e=this.props).onBrand)||void 0===o||o.call(e,t)}),O(this,"handleClickToPaySubmit",t=>{this.setState({data:R({},t),valid:{},errors:{},isValid:!0}),this.submit()}),O(this,"onConfigSuccess",t=>{var o,e;const i=new j({type:f});this.submitAnalytics(i),null===(o=(e=this.props).onConfigSuccess)||void 0===o||o.call(e,t)}),O(this,"onFocus",t=>{const o=new j({type:v,target:n(t.fieldType)});var e,i,s,r;(this.submitAnalytics(o),g.includes(t.fieldType))?null===(e=(i=this.props).onFocus)||void 0===e||e.call(i,t.event):null===(s=(r=this.props).onFocus)||void 0===s||s.call(r,t)}),O(this,"onBlur",t=>{const o=new j({type:b,target:n(t.fieldType)});var e,i,s,r;(this.submitAnalytics(o),g.includes(t.fieldType))?null===(e=(i=this.props).onBlur)||void 0===e||e.call(i,t.event):null===(s=(r=this.props).onBlur)||void 0===s||s.call(r,t)}),O(this,"onBinValue",s(this)),O(this,"payButton",o=>{var e,i;const s=0===(null===(e=this.props.amount)||void 0===e?void 0:e.value),n=(null===(i=this.props.storedPaymentMethodId)||void 0===i?void 0:i.length)>0;return t(m,T(R({},o),{amount:this.props.amount,secondaryAmount:this.props.secondaryAmount,label:s&&!n?this.props.i18n.get("payButton.saveDetails"):"",onClick:this.submit}))}),e&&!e._disableClickToPay)&&(this.clickToPayService=d(this.props.configuration,this.props.clickToPayConfiguration,this.props.environment),null===(i=this.clickToPayService)||void 0===i||i.initialize())}}O(I,"type",p.scheme),O(I,"defaultProps",R({showFormInstruction:!0,_disableClickToPay:!1,doBinLookup:!0},r(["type","setComponentRef"]).from(k)));export{I as CardElement,B as DUAL_BRANDS_THAT_NEED_SELECTION_MECHANISM,I as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import o from"./components/CardInput/CardInput.js";import{CoreProvider as e}from"../../core/Context/CoreProvider.js";import i from"../../utils/browserInfo.js";import s from"../internal/SecuredFields/binLookup/triggerBinLookUp.js";import{fieldTypeToSnakeCase as n}from"../internal/SecuredFields/utils.js";import{reject as r}from"../../utils/commonUtils.js";import{hasValidInstallmentsObject as a,getCardConfigData as l}from"./components/CardInput/utils.js";import d from"../internal/ClickToPay/services/create-clicktopay-service.js";import u from"./components/ClickToPayWrapper.js";import p from"../../core/Errors/SRPanelProvider.js";import{TxVariants as c}from"../tx-variants.js";import{UIElement as h}from"../internal/UIElement/UIElement.js";import m from"../internal/PayButton/PayButton.js";import{ANALYTICS_RENDERED_STR as y,ANALYTICS_CONFIGURED_STR as f,ANALYTICS_FOCUS_STR as v,ANALYTICS_UNFOCUS_STR as b}from"../../core/Analytics/constants.js";import{ALL_SECURED_FIELDS as g}from"../internal/SecuredFields/lib/constants.js";import{hasOwnProperty as P}from"../../utils/hasOwnProperty.js";import C,{IMPLEMENTATION_ERROR as S}from"../../core/Errors/AdyenCheckoutError.js";import k from"./components/CardInput/defaultProps.js";import{AnalyticsInfoEvent as j}from"../../core/Analytics/AnalyticsInfoEvent.js";function O(t,o,e){return o in t?Object.defineProperty(t,o,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[o]=e,t}function R(t){for(var o=1;o<arguments.length;o++){var e=null!=arguments[o]?arguments[o]:{},i=Object.keys(e);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(e).filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.forEach(function(o){O(t,o,e[o])})}return t}function T(t,o){return o=null!=o?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):function(t){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);o.push.apply(o,e)}return o}(Object(o)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}),t}class B extends h{setStatus(t,o){var e,i;return(null===(e=this.componentRef)||void 0===e?void 0:e.setStatus)&&this.componentRef.setStatus(t,o),(null===(i=this.clickToPayRef)||void 0===i?void 0:i.setStatus)&&this.clickToPayRef.setStatus(t,o),this}formatProps(t){var o,e,i,s,n,r,a,l,d,u,p,h,m,y,f,v,b,g,P,j;const O=null!==(j=null===(e=t.session)||void 0===e||null===(o=e.configuration)||void 0===o?void 0:o.enableStoreDetails)&&void 0!==j?j:t.enableStoreDetails,B=!(0===(null===(i=t.amount)||void 0===i?void 0:i.value))&&O,I=t.storedPaymentMethodId||t.id,w=I&&(null==t||null===(s=t.supportedShopperInteractions)||void 0===s?void 0:s.includes("Ecommerce"));if(I&&!w)throw new C(S,"You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions");var A,M;return R(T(R({},t),{holderNameRequired:!!t.hasHolderName&&t.holderNameRequired,hasCVC:!(t.brand&&"bcmc"===t.brand||t.hideCVC),billingAddressRequired:!t.storedPaymentMethodId&&t.billingAddressRequired,billingAddressMode:t.onAddressLookup?k.billingAddressMode:t.billingAddressMode,brand:null!==(A=t.brand)&&void 0!==A?A:c.card,countryCode:t.countryCode?t.countryCode.toLowerCase():null,configuration:T(R({},t.configuration),{socialSecurityNumberMode:null!==(M=null===(n=t.configuration)||void 0===n?void 0:n.socialSecurityNumberMode)&&void 0!==M?M:"auto"}),brandsConfiguration:t.brandsConfiguration||(null===(r=t.configuration)||void 0===r?void 0:r.brandsConfiguration)||{},icon:t.icon||(null===(a=t.configuration)||void 0===a?void 0:a.icon),installmentOptions:(null===(d=t.session)||void 0===d||null===(l=d.configuration)||void 0===l?void 0:l.installmentOptions)||t.installmentOptions,enableStoreDetails:O,showStoreDetailsCheckbox:B,clickToPayConfiguration:T(R({},t.clickToPayConfiguration),{disableOtpAutoFocus:(null===(u=t.clickToPayConfiguration)||void 0===u?void 0:u.disableOtpAutoFocus)||!1,shopperEmail:(null===(p=t.clickToPayConfiguration)||void 0===p?void 0:p.shopperEmail)||(null===(m=this.core.options)||void 0===m||null===(h=m.session)||void 0===h?void 0:h.shopperEmail),telephoneNumber:(null===(y=t.clickToPayConfiguration)||void 0===y?void 0:y.telephoneNumber)||(null===(v=this.core.options)||void 0===v||null===(f=v.session)||void 0===f?void 0:f.telephoneNumber),locale:(null===(b=t.clickToPayConfiguration)||void 0===b?void 0:b.locale)||(null===(P=t.i18n)||void 0===P||null===(g=P.locale)||void 0===g?void 0:g.replace("-","_"))})}),I&&{storedPaymentMethodId:I})}formatData(){const t=this.state.selectedBrandValue;var o;return T(R({paymentMethod:R({type:B.type},this.state.data,this.props.storedPaymentMethodId&&{storedPaymentMethodId:this.props.storedPaymentMethodId,holderName:null!==(o=this.props.holderName)&&void 0!==o?o:""},t&&{brand:t},this.props.fundingSource&&{fundingSource:this.props.fundingSource},this.state.fastlaneData&&{fastlaneData:btoa(JSON.stringify(this.state.fastlaneData))})},this.state.billingAddress&&{billingAddress:this.state.billingAddress},this.state.socialSecurityNumber&&{socialSecurityNumber:this.state.socialSecurityNumber},this.storePaymentMethodPayload,a(this.state.installments)&&{installments:this.state.installments}),{browserInfo:this.browserInfo,origin:!!window&&window.location.origin})}updateStyles(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.updateStyles)&&this.componentRef.updateStyles(t),this}setFocusOn(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.setFocusOn)&&this.componentRef.setFocusOn(t),this}processBinLookupResponse(t,o=!1){var e;return(null===(e=this.componentRef)||void 0===e?void 0:e.processBinLookupResponse)&&this.componentRef.processBinLookupResponse(t,o),this}handleUnsupportedCard(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.handleUnsupportedCard)&&this.componentRef.handleUnsupportedCard(t),this}onBinLookup(t){if(!t.isReset){var o,e;const i=r("supportedBrandsRaw").from(t);null===(o=(e=this.props).onBinLookup)||void 0===o||o.call(e,i)}}submitAnalytics(t){const o=t instanceof j;(o&&t.type===y||o&&t.type===f)&&("scheme"===this.constructor.type&&P(this.props,"supportedShopperInteractions")&&(t.isStoredPaymentMethod=!0,t.brand=this.props.brand),o&&t.type===y&&(t.configData=l(this.props))),super.submitAnalytics(t)}get storePaymentMethodPayload(){var t,o;if((null===(t=this.props.storedPaymentMethodId)||void 0===t?void 0:t.length)>0)return{};if(0===(null===(o=this.props.amount)||void 0===o?void 0:o.value))return this.props.enableStoreDetails?{storePaymentMethod:!0}:{};return this.props.showStoreDetailsCheckbox&&void 0!==this.state.storePaymentMethod?{storePaymentMethod:Boolean(this.state.storePaymentMethod)}:{}}get isValid(){return!!this.state.isValid}get icon(){var t;return null!==(t=this.props.icon)&&void 0!==t?t:this.resources.getImage()(this.props.brand)}get brands(){const{brands:t,brandsConfiguration:o}=this.props;return t?t.map(t=>{var e,i;return{icon:null!==(i=null===(e=o[t])||void 0===e?void 0:e.icon)&&void 0!==i?i:this.props.modules.resources.getImage()(t),name:t}}):[]}get displayName(){return this.props.storedPaymentMethodId?`•••• ${this.props.lastFour}`:this.props.name||B.type}get accessibleName(){return(this.props.name||B.type)+(this.props.storedPaymentMethodId?" "+this.props.i18n.get("creditCard.storedCard.description.ariaLabel").replace("%@",this.props.lastFour):"")}get browserInfo(){return i()}renderCardInput(e=!0){return t(o,T(R({setComponentRef:this.setComponentRef},this.props,this.state),{onSubmitAnalytics:this.submitAnalytics,onChange:this.setState,onSubmit:this.submit,handleKeyPress:this.handleKeyPress,payButton:this.payButton,onBrand:this.onBrand,onBinValue:this.onBinValue,brand:this.props.brand,brandsIcons:this.brands,isPayButtonPrimaryVariant:e,resources:this.resources,onFocus:this.onFocus,onBlur:this.onBlur,onConfigSuccess:this.onConfigSuccess}))}render(){return t(e,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(p,{srPanel:this.props.modules.srPanel},t(u,{amount:this.props.amount,configuration:this.props.clickToPayConfiguration,clickToPayService:this.clickToPayService,isStandaloneComponent:!1,setClickToPayRef:this.setClickToPayRef,onSetStatus:this.setElementStatus,onSubmit:this.handleClickToPaySubmit,onError:this.handleError},t=>this.renderCardInput(t))))}constructor(o,e){var i;(super(o,e),O(this,"clickToPayService",void 0),O(this,"clickToPayRef",null),O(this,"setClickToPayRef",t=>{this.clickToPayRef=t}),O(this,"onBrand",t=>{var o,e;null===(o=(e=this.props).onBrand)||void 0===o||o.call(e,t)}),O(this,"handleClickToPaySubmit",t=>{this.setState({data:R({},t),valid:{},errors:{},isValid:!0}),this.submit()}),O(this,"onConfigSuccess",t=>{var o,e;const i=new j({type:f});this.submitAnalytics(i),null===(o=(e=this.props).onConfigSuccess)||void 0===o||o.call(e,t)}),O(this,"onFocus",t=>{const o=new j({type:v,target:n(t.fieldType)});var e,i,s,r;(this.submitAnalytics(o),g.includes(t.fieldType))?null===(e=(i=this.props).onFocus)||void 0===e||e.call(i,t.event):null===(s=(r=this.props).onFocus)||void 0===s||s.call(r,t)}),O(this,"onBlur",t=>{const o=new j({type:b,target:n(t.fieldType)});var e,i,s,r;(this.submitAnalytics(o),g.includes(t.fieldType))?null===(e=(i=this.props).onBlur)||void 0===e||e.call(i,t.event):null===(s=(r=this.props).onBlur)||void 0===s||s.call(r,t)}),O(this,"onBinValue",s(this)),O(this,"payButton",o=>{var e,i;const s=0===(null===(e=this.props.amount)||void 0===e?void 0:e.value),n=(null===(i=this.props.storedPaymentMethodId)||void 0===i?void 0:i.length)>0;return t(m,T(R({},o),{amount:this.props.amount,secondaryAmount:this.props.secondaryAmount,label:s&&!n?this.props.i18n.get("payButton.saveDetails"):"",onClick:this.submit}))}),e&&!e._disableClickToPay)&&(this.clickToPayService=d(this.props.configuration,this.props.clickToPayConfiguration,this.props.environment,this.analytics),null===(i=this.clickToPayService)||void 0===i||i.initialize())}}O(B,"type",c.scheme),O(B,"defaultProps",R({showFormInstruction:!0,_disableClickToPay:!1,doBinLookup:!0},r(["type","setComponentRef"]).from(k)));export{B as CardElement,B as default};
2
2
  //# sourceMappingURL=Card.js.map