@adyen/adyen-web 6.0.0-alpha.2 → 6.0.0-alpha.3

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 (322) hide show
  1. package/README.md +166 -0
  2. package/dist/cjs/adyen.css +2 -2
  3. package/dist/cjs/index.cjs +2 -2
  4. package/dist/cjs/index.cjs.map +1 -1
  5. package/dist/cjs/index.d.cts +1932 -1968
  6. package/dist/es/adyen.css +2 -2
  7. package/dist/es/components/AmazonPay/AmazonPay.js +1 -1
  8. package/dist/es/components/AmazonPay/AmazonPay.js.map +1 -1
  9. package/dist/es/components/AmazonPay/components/AmazonPayComponent.js +1 -1
  10. package/dist/es/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
  11. package/dist/es/components/ApplePay/ApplePay.js +1 -1
  12. package/dist/es/components/ApplePay/ApplePay.js.map +1 -1
  13. package/dist/es/components/ApplePay/defaultProps.js +1 -1
  14. package/dist/es/components/ApplePay/defaultProps.js.map +1 -1
  15. package/dist/es/components/ApplePay/payment-request.js.map +1 -1
  16. package/dist/es/components/Boleto/components/BoletoInput/validate.js +1 -1
  17. package/dist/es/components/Boleto/components/BoletoInput/validate.js.map +1 -1
  18. package/dist/es/components/Card/Card.js +1 -1
  19. package/dist/es/components/Card/Card.js.map +1 -1
  20. package/dist/es/components/Card/components/CardInput/CardInput.js +1 -1
  21. package/dist/es/components/Card/components/CardInput/CardInput.js.map +1 -1
  22. package/dist/es/components/Card/components/CardInput/components/CardFieldsWrapper.js +1 -1
  23. package/dist/es/components/Card/components/CardInput/components/CardFieldsWrapper.js.map +1 -1
  24. package/dist/es/components/Card/components/CardInput/components/CardHolderName.js +1 -1
  25. package/dist/es/components/Card/components/CardInput/components/CardHolderName.js.map +1 -1
  26. package/dist/es/components/Card/components/CardInput/components/KCPAuthentication.js +1 -1
  27. package/dist/es/components/Card/components/CardInput/components/KCPAuthentication.js.map +1 -1
  28. package/dist/es/components/Card/components/CardInput/types.js.map +1 -1
  29. package/dist/es/components/Card/components/CardInput/utils.js +1 -1
  30. package/dist/es/components/Card/components/CardInput/utils.js.map +1 -1
  31. package/dist/es/components/Card/components/CardInput/validate.js +1 -1
  32. package/dist/es/components/Card/components/CardInput/validate.js.map +1 -1
  33. package/dist/es/components/CashAppPay/defaultProps.js +1 -1
  34. package/dist/es/components/CashAppPay/defaultProps.js.map +1 -1
  35. package/dist/es/components/Donation/Donation.js.map +1 -1
  36. package/dist/es/components/Dragonpay/Dragonpay.js +1 -1
  37. package/dist/es/components/Dragonpay/Dragonpay.js.map +1 -1
  38. package/dist/es/components/Dropin/components/DropinComponent.js +1 -1
  39. package/dist/es/components/Dropin/components/DropinComponent.js.map +1 -1
  40. package/dist/es/components/Econtext/Econtext.js +1 -1
  41. package/dist/es/components/Econtext/Econtext.js.map +1 -1
  42. package/dist/es/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
  43. package/dist/es/components/Giftcard/Giftcard.js +1 -1
  44. package/dist/es/components/Giftcard/Giftcard.js.map +1 -1
  45. package/dist/es/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  46. package/dist/es/components/Giropay/Giropay.js +1 -1
  47. package/dist/es/components/Giropay/Giropay.js.map +1 -1
  48. package/dist/es/components/GooglePay/GooglePay.js +1 -1
  49. package/dist/es/components/GooglePay/GooglePay.js.map +1 -1
  50. package/dist/es/components/GooglePay/GooglePayService.js +1 -1
  51. package/dist/es/components/GooglePay/GooglePayService.js.map +1 -1
  52. package/dist/es/components/GooglePay/defaultProps.js +1 -1
  53. package/dist/es/components/GooglePay/defaultProps.js.map +1 -1
  54. package/dist/es/components/GooglePay/requests.js.map +1 -1
  55. package/dist/es/components/Multibanco/Multibanco.js +1 -1
  56. package/dist/es/components/Multibanco/Multibanco.js.map +1 -1
  57. package/dist/es/components/Pix/Pix.js +1 -1
  58. package/dist/es/components/Pix/Pix.js.map +1 -1
  59. package/dist/es/components/Pix/PixInput/PixInput.js +1 -1
  60. package/dist/es/components/Pix/PixInput/PixInput.js.map +1 -1
  61. package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js +1 -1
  62. package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  63. package/dist/es/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js +1 -1
  64. package/dist/es/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js.map +1 -1
  65. package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
  66. package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
  67. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
  68. package/dist/es/components/ThreeDS2/components/utils.js +1 -1
  69. package/dist/es/components/ThreeDS2/components/utils.js.map +1 -1
  70. package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js +1 -1
  71. package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  72. package/dist/es/components/internal/Address/Address.js +1 -1
  73. package/dist/es/components/internal/Address/Address.js.map +1 -1
  74. package/dist/es/components/internal/Address/validate.js +1 -1
  75. package/dist/es/components/internal/Address/validate.js.map +1 -1
  76. package/dist/es/components/internal/BaseElement/BaseElement.js +1 -1
  77. package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
  78. package/dist/es/components/internal/CompanyDetails/validate.js +1 -1
  79. package/dist/es/components/internal/CompanyDetails/validate.js.map +1 -1
  80. package/dist/es/components/internal/IbanInput/IbanInput.js.map +1 -1
  81. package/dist/es/components/internal/Img/Img.js +1 -1
  82. package/dist/es/components/internal/Img/Img.js.map +1 -1
  83. package/dist/es/components/internal/PersonalDetails/PersonalDetails.js +1 -1
  84. package/dist/es/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
  85. package/dist/es/components/internal/PersonalDetails/validate.js +1 -1
  86. package/dist/es/components/internal/PersonalDetails/validate.js.map +1 -1
  87. package/dist/es/components/internal/SecuredFields/SFP/SFPUtils.js +1 -1
  88. package/dist/es/components/internal/SecuredFields/SFP/SFPUtils.js.map +1 -1
  89. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
  90. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  91. package/dist/es/components/internal/SecuredFields/binLookup/triggerBinLookUp.js +1 -1
  92. package/dist/es/components/internal/SecuredFields/binLookup/triggerBinLookUp.js.map +1 -1
  93. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
  94. package/dist/es/components/internal/SecuredFields/lib/CSF/utils/cardType.js +1 -1
  95. package/dist/es/components/internal/SecuredFields/lib/CSF/utils/cardType.js.map +1 -1
  96. package/dist/es/components/internal/SecuredFields/lib/CSF/utils/processErrors.js +1 -1
  97. package/dist/es/components/internal/SecuredFields/lib/CSF/utils/processErrors.js.map +1 -1
  98. package/dist/es/components/internal/SecuredFields/lib/configuration/constants.js +1 -1
  99. package/dist/es/components/internal/SecuredFields/lib/configuration/constants.js.map +1 -1
  100. package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
  101. package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
  102. package/dist/es/components/internal/SecuredFields/lib/securedField/utils/processAriaConfig.js.map +1 -1
  103. package/dist/es/components/internal/SecuredFields/lib/securedField/utils/processPlaceholders.js.map +1 -1
  104. package/dist/es/components/internal/SecuredFields/lib/utilities/addContextTranslations.js.map +1 -1
  105. package/dist/es/components/internal/SegmentedControl/SegmentedControl.js +1 -1
  106. package/dist/es/components/internal/SegmentedControl/SegmentedControl.js.map +1 -1
  107. package/dist/es/components/internal/UIElement/UIElement.js +1 -1
  108. package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
  109. package/dist/es/components/internal/UIElement/utils.js +1 -1
  110. package/dist/es/components/internal/UIElement/utils.js.map +1 -1
  111. package/dist/es/core/Analytics/Analytics.js +1 -1
  112. package/dist/es/core/Analytics/Analytics.js.map +1 -1
  113. package/dist/es/core/Analytics/constants.js +1 -1
  114. package/dist/es/core/Analytics/constants.js.map +1 -1
  115. package/dist/es/core/Analytics/utils.js +1 -1
  116. package/dist/es/core/Analytics/utils.js.map +1 -1
  117. package/dist/es/core/Errors/constants.js +1 -1
  118. package/dist/es/core/Errors/constants.js.map +1 -1
  119. package/dist/es/core/Errors/utils.js +1 -1
  120. package/dist/es/core/Errors/utils.js.map +1 -1
  121. package/dist/es/core/ProcessResponse/PaymentAction/actionTypes.js +1 -1
  122. package/dist/es/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
  123. package/dist/es/core/Services/analytics/collect-id.js +1 -1
  124. package/dist/es/core/Services/analytics/log-event.js +1 -1
  125. package/dist/es/core/core.js +1 -1
  126. package/dist/es/core/core.js.map +1 -1
  127. package/dist/es/core/utils.js +1 -1
  128. package/dist/es/core/utils.js.map +1 -1
  129. package/dist/es/index.d.ts +1932 -1968
  130. package/dist/es/language/locales/ar.json.js +1 -1
  131. package/dist/es/language/locales/cs-CZ.json.js +1 -1
  132. package/dist/es/language/locales/da-DK.json.js +1 -1
  133. package/dist/es/language/locales/de-DE.json.js +1 -1
  134. package/dist/es/language/locales/el-GR.json.js +1 -1
  135. package/dist/es/language/locales/en-US.json.js +1 -1
  136. package/dist/es/language/locales/es-ES.json.js +1 -1
  137. package/dist/es/language/locales/fi-FI.json.js +1 -1
  138. package/dist/es/language/locales/fr-FR.json.js +1 -1
  139. package/dist/es/language/locales/hr-HR.json.js +1 -1
  140. package/dist/es/language/locales/hu-HU.json.js +1 -1
  141. package/dist/es/language/locales/it-IT.json.js +1 -1
  142. package/dist/es/language/locales/ja-JP.json.js +1 -1
  143. package/dist/es/language/locales/ko-KR.json.js +1 -1
  144. package/dist/es/language/locales/nl-NL.json.js +1 -1
  145. package/dist/es/language/locales/no-NO.json.js +1 -1
  146. package/dist/es/language/locales/pl-PL.json.js +1 -1
  147. package/dist/es/language/locales/pt-BR.json.js +1 -1
  148. package/dist/es/language/locales/pt-PT.json.js +1 -1
  149. package/dist/es/language/locales/ro-RO.json.js +1 -1
  150. package/dist/es/language/locales/ru-RU.json.js +1 -1
  151. package/dist/es/language/locales/sk-SK.json.js +1 -1
  152. package/dist/es/language/locales/sl-SI.json.js +1 -1
  153. package/dist/es/language/locales/sv-SE.json.js +1 -1
  154. package/dist/es/language/locales/zh-CN.json.js +1 -1
  155. package/dist/es/language/locales/zh-TW.json.js +1 -1
  156. package/dist/es/utils/Formatters/formatters.js.map +1 -1
  157. package/dist/es/utils/Validator/defaultRules.js +1 -1
  158. package/dist/es/utils/Validator/defaultRules.js.map +1 -1
  159. package/dist/es/utils/base64.js +1 -1
  160. package/dist/es/utils/base64.js.map +1 -1
  161. package/dist/es/utils/getErrorMessage.js +1 -1
  162. package/dist/es/utils/getErrorMessage.js.map +1 -1
  163. package/dist/es-legacy/adyen.css +2 -2
  164. package/dist/es-legacy/components/AmazonPay/AmazonPay.js +1 -1
  165. package/dist/es-legacy/components/AmazonPay/AmazonPay.js.map +1 -1
  166. package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js +1 -1
  167. package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
  168. package/dist/es-legacy/components/ApplePay/ApplePay.js +1 -1
  169. package/dist/es-legacy/components/ApplePay/ApplePay.js.map +1 -1
  170. package/dist/es-legacy/components/ApplePay/defaultProps.js +1 -1
  171. package/dist/es-legacy/components/ApplePay/defaultProps.js.map +1 -1
  172. package/dist/es-legacy/components/ApplePay/payment-request.js.map +1 -1
  173. package/dist/es-legacy/components/Boleto/components/BoletoInput/validate.js +1 -1
  174. package/dist/es-legacy/components/Boleto/components/BoletoInput/validate.js.map +1 -1
  175. package/dist/es-legacy/components/Card/Card.js +1 -1
  176. package/dist/es-legacy/components/Card/Card.js.map +1 -1
  177. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js +1 -1
  178. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js.map +1 -1
  179. package/dist/es-legacy/components/Card/components/CardInput/components/CardFieldsWrapper.js +1 -1
  180. package/dist/es-legacy/components/Card/components/CardInput/components/CardFieldsWrapper.js.map +1 -1
  181. package/dist/es-legacy/components/Card/components/CardInput/components/CardHolderName.js +1 -1
  182. package/dist/es-legacy/components/Card/components/CardInput/components/CardHolderName.js.map +1 -1
  183. package/dist/es-legacy/components/Card/components/CardInput/components/KCPAuthentication.js +1 -1
  184. package/dist/es-legacy/components/Card/components/CardInput/components/KCPAuthentication.js.map +1 -1
  185. package/dist/es-legacy/components/Card/components/CardInput/types.js.map +1 -1
  186. package/dist/es-legacy/components/Card/components/CardInput/utils.js +1 -1
  187. package/dist/es-legacy/components/Card/components/CardInput/utils.js.map +1 -1
  188. package/dist/es-legacy/components/Card/components/CardInput/validate.js +1 -1
  189. package/dist/es-legacy/components/Card/components/CardInput/validate.js.map +1 -1
  190. package/dist/es-legacy/components/CashAppPay/defaultProps.js +1 -1
  191. package/dist/es-legacy/components/CashAppPay/defaultProps.js.map +1 -1
  192. package/dist/es-legacy/components/Donation/Donation.js.map +1 -1
  193. package/dist/es-legacy/components/Dragonpay/Dragonpay.js +1 -1
  194. package/dist/es-legacy/components/Dragonpay/Dragonpay.js.map +1 -1
  195. package/dist/es-legacy/components/Dropin/components/DropinComponent.js +1 -1
  196. package/dist/es-legacy/components/Dropin/components/DropinComponent.js.map +1 -1
  197. package/dist/es-legacy/components/Econtext/Econtext.js +1 -1
  198. package/dist/es-legacy/components/Econtext/Econtext.js.map +1 -1
  199. package/dist/es-legacy/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
  200. package/dist/es-legacy/components/Giftcard/Giftcard.js +1 -1
  201. package/dist/es-legacy/components/Giftcard/Giftcard.js.map +1 -1
  202. package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  203. package/dist/es-legacy/components/Giropay/Giropay.js +1 -1
  204. package/dist/es-legacy/components/Giropay/Giropay.js.map +1 -1
  205. package/dist/es-legacy/components/GooglePay/GooglePay.js +1 -1
  206. package/dist/es-legacy/components/GooglePay/GooglePay.js.map +1 -1
  207. package/dist/es-legacy/components/GooglePay/GooglePayService.js +1 -1
  208. package/dist/es-legacy/components/GooglePay/GooglePayService.js.map +1 -1
  209. package/dist/es-legacy/components/GooglePay/defaultProps.js +1 -1
  210. package/dist/es-legacy/components/GooglePay/defaultProps.js.map +1 -1
  211. package/dist/es-legacy/components/GooglePay/requests.js.map +1 -1
  212. package/dist/es-legacy/components/Multibanco/Multibanco.js +1 -1
  213. package/dist/es-legacy/components/Multibanco/Multibanco.js.map +1 -1
  214. package/dist/es-legacy/components/Pix/Pix.js +1 -1
  215. package/dist/es-legacy/components/Pix/Pix.js.map +1 -1
  216. package/dist/es-legacy/components/Pix/PixInput/PixInput.js +1 -1
  217. package/dist/es-legacy/components/Pix/PixInput/PixInput.js.map +1 -1
  218. package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js +1 -1
  219. package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  220. package/dist/es-legacy/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js +1 -1
  221. package/dist/es-legacy/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js.map +1 -1
  222. package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
  223. package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
  224. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
  225. package/dist/es-legacy/components/ThreeDS2/components/utils.js +1 -1
  226. package/dist/es-legacy/components/ThreeDS2/components/utils.js.map +1 -1
  227. package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js +1 -1
  228. package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  229. package/dist/es-legacy/components/internal/Address/Address.js +1 -1
  230. package/dist/es-legacy/components/internal/Address/Address.js.map +1 -1
  231. package/dist/es-legacy/components/internal/Address/validate.js +1 -1
  232. package/dist/es-legacy/components/internal/Address/validate.js.map +1 -1
  233. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js +1 -1
  234. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
  235. package/dist/es-legacy/components/internal/CompanyDetails/validate.js +1 -1
  236. package/dist/es-legacy/components/internal/CompanyDetails/validate.js.map +1 -1
  237. package/dist/es-legacy/components/internal/IbanInput/IbanInput.js.map +1 -1
  238. package/dist/es-legacy/components/internal/Img/Img.js +1 -1
  239. package/dist/es-legacy/components/internal/Img/Img.js.map +1 -1
  240. package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js +1 -1
  241. package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
  242. package/dist/es-legacy/components/internal/PersonalDetails/validate.js +1 -1
  243. package/dist/es-legacy/components/internal/PersonalDetails/validate.js.map +1 -1
  244. package/dist/es-legacy/components/internal/SecuredFields/SFP/SFPUtils.js +1 -1
  245. package/dist/es-legacy/components/internal/SecuredFields/SFP/SFPUtils.js.map +1 -1
  246. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
  247. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  248. package/dist/es-legacy/components/internal/SecuredFields/binLookup/triggerBinLookUp.js +1 -1
  249. package/dist/es-legacy/components/internal/SecuredFields/binLookup/triggerBinLookUp.js.map +1 -1
  250. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
  251. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/cardType.js +1 -1
  252. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/cardType.js.map +1 -1
  253. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/processErrors.js +1 -1
  254. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/processErrors.js.map +1 -1
  255. package/dist/es-legacy/components/internal/SecuredFields/lib/configuration/constants.js +1 -1
  256. package/dist/es-legacy/components/internal/SecuredFields/lib/configuration/constants.js.map +1 -1
  257. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
  258. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
  259. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/utils/processAriaConfig.js.map +1 -1
  260. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/utils/processPlaceholders.js.map +1 -1
  261. package/dist/es-legacy/components/internal/SecuredFields/lib/utilities/addContextTranslations.js.map +1 -1
  262. package/dist/es-legacy/components/internal/SegmentedControl/SegmentedControl.js +1 -1
  263. package/dist/es-legacy/components/internal/SegmentedControl/SegmentedControl.js.map +1 -1
  264. package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
  265. package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
  266. package/dist/es-legacy/components/internal/UIElement/utils.js +1 -1
  267. package/dist/es-legacy/components/internal/UIElement/utils.js.map +1 -1
  268. package/dist/es-legacy/core/Analytics/Analytics.js +1 -1
  269. package/dist/es-legacy/core/Analytics/Analytics.js.map +1 -1
  270. package/dist/es-legacy/core/Analytics/constants.js +1 -1
  271. package/dist/es-legacy/core/Analytics/constants.js.map +1 -1
  272. package/dist/es-legacy/core/Analytics/utils.js +1 -1
  273. package/dist/es-legacy/core/Analytics/utils.js.map +1 -1
  274. package/dist/es-legacy/core/Errors/constants.js +1 -1
  275. package/dist/es-legacy/core/Errors/constants.js.map +1 -1
  276. package/dist/es-legacy/core/Errors/utils.js +1 -1
  277. package/dist/es-legacy/core/Errors/utils.js.map +1 -1
  278. package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js +1 -1
  279. package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
  280. package/dist/es-legacy/core/Services/analytics/collect-id.js +1 -1
  281. package/dist/es-legacy/core/Services/analytics/log-event.js +1 -1
  282. package/dist/es-legacy/core/core.js +1 -1
  283. package/dist/es-legacy/core/core.js.map +1 -1
  284. package/dist/es-legacy/core/utils.js +1 -1
  285. package/dist/es-legacy/core/utils.js.map +1 -1
  286. package/dist/es-legacy/language/locales/ar.json.js +1 -1
  287. package/dist/es-legacy/language/locales/cs-CZ.json.js +1 -1
  288. package/dist/es-legacy/language/locales/da-DK.json.js +1 -1
  289. package/dist/es-legacy/language/locales/de-DE.json.js +1 -1
  290. package/dist/es-legacy/language/locales/el-GR.json.js +1 -1
  291. package/dist/es-legacy/language/locales/en-US.json.js +1 -1
  292. package/dist/es-legacy/language/locales/es-ES.json.js +1 -1
  293. package/dist/es-legacy/language/locales/fi-FI.json.js +1 -1
  294. package/dist/es-legacy/language/locales/fr-FR.json.js +1 -1
  295. package/dist/es-legacy/language/locales/hr-HR.json.js +1 -1
  296. package/dist/es-legacy/language/locales/hu-HU.json.js +1 -1
  297. package/dist/es-legacy/language/locales/it-IT.json.js +1 -1
  298. package/dist/es-legacy/language/locales/ja-JP.json.js +1 -1
  299. package/dist/es-legacy/language/locales/ko-KR.json.js +1 -1
  300. package/dist/es-legacy/language/locales/nl-NL.json.js +1 -1
  301. package/dist/es-legacy/language/locales/no-NO.json.js +1 -1
  302. package/dist/es-legacy/language/locales/pl-PL.json.js +1 -1
  303. package/dist/es-legacy/language/locales/pt-BR.json.js +1 -1
  304. package/dist/es-legacy/language/locales/pt-PT.json.js +1 -1
  305. package/dist/es-legacy/language/locales/ro-RO.json.js +1 -1
  306. package/dist/es-legacy/language/locales/ru-RU.json.js +1 -1
  307. package/dist/es-legacy/language/locales/sk-SK.json.js +1 -1
  308. package/dist/es-legacy/language/locales/sl-SI.json.js +1 -1
  309. package/dist/es-legacy/language/locales/sv-SE.json.js +1 -1
  310. package/dist/es-legacy/language/locales/zh-CN.json.js +1 -1
  311. package/dist/es-legacy/language/locales/zh-TW.json.js +1 -1
  312. package/dist/es-legacy/utils/Formatters/formatters.js.map +1 -1
  313. package/dist/es-legacy/utils/Validator/defaultRules.js +1 -1
  314. package/dist/es-legacy/utils/Validator/defaultRules.js.map +1 -1
  315. package/dist/es-legacy/utils/base64.js +1 -1
  316. package/dist/es-legacy/utils/base64.js.map +1 -1
  317. package/dist/es-legacy/utils/getErrorMessage.js +1 -1
  318. package/dist/es-legacy/utils/getErrorMessage.js.map +1 -1
  319. package/dist/umd/adyen.css +2 -2
  320. package/dist/umd/adyen.js +2 -2
  321. package/dist/umd/adyen.js.map +1 -1
  322. package/package.json +1 -1
package/dist/es/adyen.css CHANGED
@@ -32,7 +32,7 @@
32
32
  @keyframes card-bounce{0%{animation-timing-function:cubic-bezier(.17,.17,.32,1);-webkit-translate:0 -60%;-moz-translate:0 -60%;-ms-translate:0 -60%;translate:0 -60%}9.70874%{animation-timing-function:cubic-bezier(.41,0,.49,1);-webkit-translate:0 8.5%;-moz-translate:0 8.5%;-ms-translate:0 8.5%;translate:0 8.5%}23.4466%{animation-timing-function:cubic-bezier(.29,0,.26,1);-webkit-translate:0 -22.5%;-moz-translate:0 -22.5%;-ms-translate:0 -22.5%;translate:0 -22.5%}47.7184%{-webkit-translate:0;-moz-translate:0;-ms-translate:0;translate:0}63.8835%{animation-timing-function:cubic-bezier(1,0,.78,1);-webkit-translate:0;-moz-translate:0;-ms-translate:0;translate:0}86.5534%{-webkit-translate:0 40.7%;-moz-translate:0 40.7%;-ms-translate:0 40.7%;translate:0 40.7%}to{-webkit-translate:0 40.7%;-moz-translate:0 40.7%;-ms-translate:0 40.7%;translate:0 40.7%}}@keyframes card-fade-100{0%{animation-timing-function:linear;opacity:0}8.1068%{opacity:1}78.4466%{opacity:1}86.5534%{opacity:0}to{opacity:0}}@keyframes card-fade-60{0%{animation-timing-function:linear;opacity:0}8.1068%{opacity:.6}78.4466%{opacity:.6}86.5534%{opacity:0}to{opacity:0}}@keyframes card-fade-20{0%{animation-timing-function:linear;opacity:0}8.1068%{opacity:.2}78.4466%{opacity:.2}86.5534%{opacity:0}to{opacity:0}}.adyen-checkout-ctp__card-animation{aspect-ratio:1/.438;filter:grayscale(1);margin:40px auto 50px;max-width:100%;position:relative;width:140px}.adyen-checkout-ctp__card-animation>.adyen-checkout-ctp__card-animation-layer{background-size:contain!important;height:100%;opacity:0;position:absolute;width:100%}.adyen-checkout-ctp__card-animation>.adyen-checkout-ctp__card-animation-layer:first-of-type{animation:card-bounce 2.06s linear infinite both,card-fade-100 2.06s linear infinite both;animation-delay:.1s;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1064' height='466' fill='none'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='m895.31 228.862-46.416-10.988c-1.172-.381-2.528-.481-3.565-.203-1.582.424-1.825 1.567-.543 2.554.676.52 1.641.893 2.634 1.067l42.816 10.545-.537 21.742-2.328.624-6.897 1.848 1.146-20.056q.002-.019.003-.037h.005c.061-.536-.274-1.054-.864-1.494-.563-.447-1.399-.831-2.462-1.065l-.003.001-.072-.016-46.587-10.849-.032-.008c-1.18-.39-2.554-.496-3.601-.215l-16.926 4.535c-1.582.424-1.825 1.568-.542 2.555.389.299.859.593 1.407.742l44.453 10.938-.526 19.429c-.021.101.234 2.007-2.662 2.783l-22.831 6.118c-3.105.832-7.644.01-10.253-1.998l-32.227-24.8c-2.271-1.748-2.029-4.233 1.146-5.083l14.204-3.806c1.674-.449 1.938-1.481.58-2.526s-3.556-1.501-5.23-1.053l-14.297 3.879c-6.795 1.82-6.817 6.539-2.199 10.093l32.275 24.837c4.972 3.826 14.615 5.636 20.567 4.042l22.824-6.116c1.151-.309 2.067-.696 2.797-1.118q.156-.091.301-.183c2.32-1.48 2.521-3.296 2.528-3.671l1.19-21.406c.081-.992-1.14-2.073-3.289-2.548l-.003.002-.072-.017-39.385-9.196 7.065-1.893 2.329-.624 41.998 10.256-.496 22.836q0 .01.093.032c.113.304.361.618.75.918 1.283.987 3.605 1.443 5.187 1.02l16.925-4.535c1.048-.281 1.507-.878 1.326-1.536l1.612-23.779.002-.037.005-.001c.123-1.083-1.369-2.092-3.323-2.539'/%3E%3Cpath stroke='%23fff' d='m895.31 228.862-46.416-10.988c-1.172-.381-2.528-.481-3.565-.203-1.582.424-1.825 1.567-.543 2.554.676.52 1.641.893 2.634 1.067l42.816 10.545-.537 21.742-2.328.624-6.897 1.848 1.146-20.056q.002-.019.003-.037h.005c.061-.536-.274-1.054-.864-1.494-.563-.447-1.399-.831-2.462-1.065l-.003.001-.072-.016-46.587-10.849-.032-.008c-1.18-.39-2.554-.496-3.601-.215l-16.926 4.535c-1.582.424-1.825 1.568-.542 2.555.389.299.859.593 1.407.742l44.453 10.938-.526 19.429c-.021.101.234 2.007-2.662 2.783l-22.831 6.118c-3.105.832-7.644.01-10.253-1.998l-32.227-24.8c-2.271-1.748-2.029-4.233 1.146-5.083l14.204-3.806c1.674-.449 1.938-1.481.58-2.526s-3.556-1.501-5.23-1.053l-14.297 3.879c-6.795 1.82-6.817 6.539-2.199 10.093l32.275 24.837c4.972 3.826 14.615 5.636 20.567 4.042l22.824-6.116c1.151-.309 2.067-.696 2.797-1.118q.156-.091.301-.183c2.32-1.48 2.521-3.296 2.528-3.671l1.19-21.406c.081-.992-1.14-2.073-3.289-2.548l-.003.002-.072-.017-39.385-9.196 7.065-1.893 2.329-.624 41.998 10.256-.496 22.836q0 .01.093.032c.113.304.361.618.75.918 1.283.987 3.605 1.443 5.187 1.02l16.925-4.535c1.048-.281 1.507-.878 1.326-1.536l1.612-23.779.002-.037.005-.001c.123-1.083-1.369-2.092-3.323-2.539'/%3E%3Cpath fill='%23fff' fill-opacity='.9' fill-rule='evenodd' d='M418.95 242.813c-1.166.08-3.042-.372-4.121-.994-.702-.405-.941-.755-1.527-2.243-2.373-6.017-6.517-11.028-13.679-16.54-6.921-5.325-13.863-9.053-24.178-12.987-2.215-.844-4.182-1.652-4.368-1.795-.687-.528-.979-1.482-.612-1.986.505-.691 2.349-1.081 3.824-.809.567.103 2.521.743 4.345 1.421 7.215 2.687 13.99 5.937 20.009 9.598 3.723 2.267 9.803 6.823 12.219 9.164 4.462 4.317 7.493 8.422 9.4 12.73 1.153 2.604 1.269 3.77.4 4.003a2.4 2.4 0 0 0-.548.23c-.132.08-.653.173-1.164.208m-16.069-.701c-1.791.122-4.29-.719-4.965-1.671-.163-.23-.697-1.349-1.19-2.485-2.083-4.815-6.346-9.43-12.427-13.455-4.994-3.305-8.797-5.218-15.392-7.737-4.424-1.69-4.929-2-5.087-3.117-.146-1.06 1.961-1.804 4.061-1.431 1.457.258 8.467 2.972 11.969 4.634 11.594 5.498 19.993 12.484 23.913 19.889 2.008 3.792 1.779 5.192-.882 5.373m-16.492-.659c-1.224-.015-2.768-.406-3.758-.951-.603-.332-.912-.797-1.614-2.437-2.575-6.024-8.768-10.833-18.898-14.676-4.447-1.688-5.038-2.104-4.718-3.324.158-.605.358-.757 1.34-1.02 1.642-.44 3.175-.146 7.121 1.365 6.068 2.325 10.298 4.621 14.525 7.881 4.345 3.352 6.465 5.882 8.069 9.62.915 2.141.839 2.79-.389 3.282-.375.149-1.131.266-1.678.26m-15.379-.611c-.949.006-2.546-.385-3.476-.851-1.035-.519-1.424-1.045-1.796-2.434-.477-1.786-1.147-2.632-3.558-4.488s-3.719-2.531-6.931-3.584c-1.089-.356-2.302-.809-2.698-1.003-1.658-.818-1.914-2.296-.508-2.936 1.187-.544 2.67-.406 5.617.522 8.533 2.685 14.934 7.611 15.941 12.27.357 1.645-.521 2.495-2.591 2.504'/%3E%3Crect width='110' height='74' fill='url(%23a)' rx='10' transform='matrix(.96593 -.25882 .7925 .60987 199.717 245.906)'/%3E%3Cg stroke='%23000' stroke-opacity='.8' stroke-width='2'%3E%3Cpath d='m233.447 236.868 46.846 36.05c.876.673.72 1.451-.347 1.737l-31.799 8.521M266.657 262.424l-33.731 9.038m17.126-21.816-33.73 9.038m115.215 13.423-46.846-36.05c-.875-.673-.72-1.451.347-1.737l31.799-8.52M298.327 246.551l33.731-9.038m-17.126 21.816 33.731-9.038'/%3E%3Crect width='112' height='76' x='-1.758' y='-.351' rx='11' style='mix-blend-mode:soft-light' transform='matrix(.96593 -.25882 .7925 .60987 199.935 245.314)'/%3E%3C/g%3E%3Cdefs%3E%3ClinearGradient id='a' x1='-12.604' x2='99.193' y1='0' y2='88.114' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23fff'/%3E%3Cstop offset='.484' stop-color='%23b3b3b3'/%3E%3Cstop offset='1' stop-color='%23fff'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E") 0 0 no-repeat,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1064' height='466' fill='none'%3E%3Cg clip-path='url(%23a)'%3E%3Crect width='728' height='455' fill='url(%23b)' rx='24' transform='matrix(.96593 -.25882 .7925 .60987 0 188.42)'/%3E%3Cg fill='%23033783'%3E%3Cpath fill-opacity='.2' d='M638.209-50.009C376.564 99.506 477.408 320.518 560.535 412.335L1063.78 277.49z'/%3E%3Cpath fill-opacity='.4' d='M711.119 6.099C494.132 130.043 577.63 313.21 646.503 389.3l417.277-111.81z'/%3E%3C/g%3E%3Cpath fill='%23003780' d='M791.162 67.695C624.04 163.343 688.839 304.87 742.129 363.677l321.651-86.187z'/%3E%3C/g%3E%3Cdefs%3E%3ClinearGradient id='b' x1='72.545' x2='249.224' y1='26.435' y2='498.002' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%233382ea'/%3E%3Cstop offset='1' stop-color='%23003ea9'/%3E%3C/linearGradient%3E%3CclipPath id='a'%3E%3Crect width='728' height='455' fill='%23fff' rx='24' transform='matrix(.96593 -.25882 .7925 .60987 0 188.42)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E") 0 0 no-repeat;opacity:1;z-index:3}.adyen-checkout-ctp__card-animation>.adyen-checkout-ctp__card-animation-layer:nth-of-type(2){animation:card-bounce 2.06s linear infinite both,card-fade-60 2.06s linear infinite both;animation-delay:50ms;opacity:.6;transform:translateY(25%);z-index:2}.adyen-checkout-ctp__card-animation>.adyen-checkout-ctp__card-animation-layer:nth-of-type(2),.adyen-checkout-ctp__card-animation>.adyen-checkout-ctp__card-animation-layer:nth-of-type(3){background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1064' height='466' fill='none'%3E%3Cg clip-path='url(%23a)'%3E%3Crect width='728' height='455' fill='url(%23b)' rx='24' transform='matrix(.96593 -.25882 .7925 .60987 0 188.42)'/%3E%3Cg fill='%23033783'%3E%3Cpath fill-opacity='.2' d='M638.209-50.009C376.564 99.506 477.408 320.518 560.535 412.335L1063.78 277.49z'/%3E%3Cpath fill-opacity='.4' d='M711.119 6.099C494.132 130.043 577.63 313.21 646.503 389.3l417.277-111.81z'/%3E%3C/g%3E%3Cpath fill='%23003780' d='M791.162 67.695C624.04 163.343 688.839 304.87 742.129 363.677l321.651-86.187z'/%3E%3C/g%3E%3Cdefs%3E%3ClinearGradient id='b' x1='72.545' x2='249.224' y1='26.435' y2='498.002' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%233382ea'/%3E%3Cstop offset='1' stop-color='%23003ea9'/%3E%3C/linearGradient%3E%3CclipPath id='a'%3E%3Crect width='728' height='455' fill='%23fff' rx='24' transform='matrix(.96593 -.25882 .7925 .60987 0 188.42)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E") 0 0 no-repeat}.adyen-checkout-ctp__card-animation>.adyen-checkout-ctp__card-animation-layer:nth-of-type(3){animation:card-bounce 2.06s linear infinite both,card-fade-20 2.06s linear infinite both;opacity:.2;transform:translateY(50%);z-index:1}.adyen-checkout-ctp__loading-subtitle{font-size:var(--adyen-checkout-spacer-070);line-height:var(--adyen-checkout-text-caption-line-height);margin:0 auto 58px;max-width:280px;text-align:center}
33
33
  .adyen-checkout-ctp__section>.adyen-checkout__field.adyen-checkout__field--shopperLogin{margin-bottom:var(--adyen-checkout-spacer-080)}
34
34
  .adyen-checkout__content-separator{align-items:center;color:var(--adyen-checkout-color-label-secondary);display:flex;font-size:13px;justify-content:center;line-height:var(--adyen-checkout-text-caption-line-height);margin-bottom:var(--adyen-checkout-spacer-070);margin-top:var(--adyen-checkout-spacer-070);white-space:nowrap}.adyen-checkout__content-separator:after,.adyen-checkout__content-separator:before{border-bottom:1px solid var(--adyen-checkout-color-outline-tertiary);content:"";flex:1}.adyen-checkout__content-separator:after{margin-left:var(--adyen-checkout-spacer-080)}.adyen-checkout__content-separator:before{margin-right:var(--adyen-checkout-spacer-080)}
35
- :root{--adyen-checkout-font-size-large:1.5em;--adyen-checkout-font-size-medium:1em;--adyen-checkout-font-size-small:0.81em;--adyen-checkout-font-size-xsmall:0.75em;--adyen-checkout-font-size-xxsmall:0.68em;--adyen-checkout-spacer-090:24px;--adyen-checkout-spacer-080:20px;--adyen-checkout-spacer-070:16px;--adyen-checkout-spacer-060:12px;--adyen-checkout-spacer-050:10px;--adyen-checkout-spacer-040:8px;--adyen-checkout-spacer-030:6px;--adyen-checkout-spacer-020:4px;--adyen-checkout-spacer-010:2px;--adyen-checkout-spacer-000:0px;--adyen-checkout-spacer-140:64px;--adyen-checkout-spacer-130:56px;--adyen-checkout-spacer-120:48px;--adyen-checkout-spacer-110:40px;--adyen-checkout-spacer-100:32px;--adyen-checkout-line-height-600:30px;--adyen-checkout-line-height-400:26px;--adyen-checkout-line-height-200:20px;--adyen-checkout-line-height-100:18px;--adyen-checkout-font-weight-200:200;--adyen-checkout-font-weight-500:500;--adyen-checkout-font-weight-600:600;--adyen-checkout-font-weight-700:700;--adyen-checkout-border-width-l:3px;--adyen-checkout-border-width-m:2px;--adyen-checkout-border-width-s:1px;--adyen-checkout-border-radius-xl:24px;--adyen-checkout-border-radius-l:12px;--adyen-checkout-border-radius-m:8px;--adyen-checkout-border-radius-s:4px;--adyen-checkout-border-radius-xs:2px;--adyen-checkout-color-focus:rgba(0,112,245,0.8);--adyen-checkout-color-black:#000000;--adyen-checkout-color-white:#ffffff;--adyen-checkout-color-red:#e22d2d;--adyen-checkout-color-grey-3200:#00112c;--adyen-checkout-color-grey-1900:#5c687c;--adyen-checkout-color-grey-1300:#8d95a3;--adyen-checkout-color-grey-600:#c9cdd3;--adyen-checkout-color-grey-400:#dbdee2;--adyen-checkout-color-grey-200:#eeeff1;--adyen-checkout-color-grey-100:#f7f7f8;--adyen-checkout-color-green:#07893c;--adyen-checkout-color-blue:#0070f5;--adyen-checkout-text-title-font-weight:600;--adyen-checkout-text-title-line-height:var(--adyen-checkout-line-height-600);--adyen-checkout-text-body-font-size:14px;--adyen-checkout-text-body-font-weight:400;--adyen-checkout-text-body-stronger-font-weight:500;--adyen-checkout-text-body-strongest-font-weight:600;--adyen-checkout-text-caption-line-height:var(--adyen-checkout-line-height-100);--adyen-checkout-text-subtitle-line-height:var(--adyen-checkout-line-height-400);--adyen-checkout-text-subtitle-font-size:var(--adyen-checkout-font-size-medium);--adyen-checkout-text-subtitle-font-weight:var(--adyen-checkout-font-weight-500);--adyen-checkout-text-subtitle-stronger-font-weight:var(--adyen-checkout-font-weight-600);--adyen-checkout-focus-ring-color:var(--adyen-checkout-color-focus);--adyen-checkout-color-separator-primary:var(--adyen-checkout-color-grey-200);--adyen-checkout-color-outline-active:var(--adyen-checkout-color-grey-3200);--adyen-checkout-color-outline-tertiary:var(--adyen-checkout-color-grey-1300);--adyen-checkout-color-outline-secondary:var(--adyen-checkout-color-grey-600);--adyen-checkout-color-outline-primary:var(--adyen-checkout-color-grey-400);--adyen-checkout-color-on-interactive-disabled:var(--adyen-checkout-color-grey-1300);--adyen-checkout-color-interactive-disabled:var(--adyen-checkout-color-grey-200);--adyen-checkout-color-interactive-readonly:var(--adyen-checkout-color-grey-1900);--adyen-checkout-color-interactive-primary-pressed:var(--adyen-checkout-color-grey-1300);--adyen-checkout-color-interactive-primary-hovered:var(--adyen-checkout-color-grey-1900);--adyen-checkout-color-label-success:var(--adyen-checkout-color-green);--adyen-checkout-color-label-critical:var(--adyen-checkout-color-red);--adyen-checkout-color-label-primary:var(--adyen-checkout-color-grey-3200);--adyen-checkout-color-label-secondary:var(--adyen-checkout-color-grey-1900);--adyen-checkout-color-label-tertiary:var(--adyen-checkout-color-grey-1300);--adyen-checkout-color-surface-modal:var(--adyen-checkout-color-white);--adyen-checkout-color-surface-inverse:var(--adyen-checkout-color-grey-3200);--adyen-checkout-color-surface-primary:var(--adyen-checkout-color-white);--adyen-checkout-color-background-always-dark:var(--adyen-checkout-color-grey-3200);--adyen-checkout-color-background-primary:var(--adyen-checkout-color-white);--adyen-checkout-color-background-secondary:var(--adyen-checkout-color-grey-100);--adyen-checkout-dropin-payment-list-gap:var(--adyen-checkout-spacer-100);--adyen-checkout-dropin-payment-item-gap:var(--adyen-checkout-spacer-070);--adyen-checkout-dropin-payment-item-border-color:var(--adyen-checkout-color-separator-primary);--adyen-checkout-dropin-payment-item-border-radius:var(--adyen-checkout-border-radius-m);--adyen-checkout-dropin-payment-item-border-width:var(--adyen-checkout-border-width-s);--adyen-checkout-dropin-selected-item-background:var(--adyen-checkout-color-grey-100);--adyen-checkout-dropin-selected-item-border-color:var(--adyen-checkout-color-outline-active);--adyen-checkout-dropin-hover-item-border-color:var(--adyen-checkout-color-outline-secondary);--adyen-checkout-dropin-list-label-color:var(--adyen-checkout-color-label-primary);--adyen-checkout-loading-indicator-color:var(--adyen-checkout-color-surface-inverse);--adyen-checkout-loading-indicator-background-color:var(--adyen-checkout-color-surface-inverse);--adyen-checkout-input-field-input-color:var(--adyen-checkout-color-label-primary);--adyen-checkout-input-wrapper-background:var(--adyen-checkout-color-background-primary);--adyen-checkout-input-wrapper-inactive-background:var(--adyen-checkout-color-interactive-disabled);--adyen-checkout-input-wrapper-border-color:var(--adyen-checkout-color-outline-primary);--adyen-checkout-input-wrapper-border-radius:var(--adyen-checkout-border-radius-m);--adyen-checkout-input-wrapper-border-width:var(--adyen-checkout-border-width-s);--adyen-checkout-input-wrapper-focus-border-color:var(--adyen-checkout-color-outline-active);--adyen-checkout-input-wrapper-hover-border-color:var(--adyen-checkout-color-outline-tertiary);--adyen-checkout-input-field-height:var(--adyen-checkout-spacer-110);--adyen-checkout-input-field-label-color:var(--adyen-checkout-color-label-primary);--adyen-checkout-input-field-context-color:var(--adyen-checkout-color-label-primary);--adyen-checkout-input-field-label-margin-bottom:var(--adyen-checkout-spacer-020);--adyen-checkout-input-field-context-margin-top:var(--adyen-checkout-spacer-020);--adyen-checkout-link-text-color:var(--adyen-checkout-color-blue);--adyen-checkout-link-text-decoration:underline;--adyen-checkout-link-border-radius:var(--adyen-checkout-border-radius-xs);--adyen-checkout-button-background-color:var(--adyen-checkout-color-background-always-dark);--adyen-checkout-button-color:var(--adyen-checkout-color-surface-modal);--adyen-checkout-button-border-radius:var(--adyen-checkout-border-radius-m);--adyen-checkout-button-font-size:var(--adyen-checkout-font-size-medium);--adyen-checkout-button-font-weight:var(--adyen-checkout-text-body-stronger-font-weight);--adyen-checkout-button-height:var(--adyen-checkout-spacer-120)}.adyen-checkout-link{--text-decoration:none;color:var(--adyen-checkout-link-text-color);-webkit-text-decoration:var(--text-decoration);text-decoration:var(--text-decoration)}.adyen-checkout-link:focus-visible{outline:none}.adyen-checkout-link:active,.adyen-checkout-link:hover{--text-decoration:var(--adyen-checkout-link-text-decoration)}.adyen-checkout-link:focus-visible{border-radius:var(--adyen-checkout-link-border-radius);box-shadow:0 0 0 1px #fff,0 0 0 3px var(--adyen-checkout-focus-ring-color);transition:.1s cubic-bezier(.785,.135,.15,.86)}[class^=adyen-checkout],[class^=adyen-checkout] *,[class^=adyen-checkout] :after,[class^=adyen-checkout] :before,[class^=adyen-checkout]:after,[class^=adyen-checkout]:before{box-sizing:border-box}
35
+ :root{--adyen-checkout-font-size-large:1.5em;--adyen-checkout-font-size-medium:1em;--adyen-checkout-font-size-small:0.81em;--adyen-checkout-font-size-xsmall:0.75em;--adyen-checkout-font-size-xxsmall:0.68em;--adyen-checkout-line-height-600:30px;--adyen-checkout-line-height-400:26px;--adyen-checkout-line-height-200:20px;--adyen-checkout-line-height-100:18px;--adyen-checkout-font-weight-200:200;--adyen-checkout-font-weight-500:500;--adyen-checkout-font-weight-600:600;--adyen-checkout-font-weight-700:700;--adyen-checkout-text-title-font-weight:600;--adyen-checkout-text-body-font-size:14px;--adyen-checkout-text-body-font-weight:400;--adyen-checkout-text-body-stronger-font-weight:500;--adyen-checkout-text-body-strongest-font-weight:600;--adyen-checkout-text-title-line-height:var(--adyen-checkout-line-height-600);--adyen-checkout-text-caption-line-height:var(--adyen-checkout-line-height-100);--adyen-checkout-text-subtitle-line-height:var(--adyen-checkout-line-height-400);--adyen-checkout-text-subtitle-font-size:var(--adyen-checkout-font-size-medium);--adyen-checkout-text-subtitle-font-weight:var(--adyen-checkout-font-weight-500);--adyen-checkout-text-subtitle-stronger-font-weight:var(--adyen-checkout-font-weight-600);--adyen-checkout-spacer-090:24px;--adyen-checkout-spacer-080:20px;--adyen-checkout-spacer-070:16px;--adyen-checkout-spacer-060:12px;--adyen-checkout-spacer-050:10px;--adyen-checkout-spacer-040:8px;--adyen-checkout-spacer-030:6px;--adyen-checkout-spacer-020:4px;--adyen-checkout-spacer-010:2px;--adyen-checkout-spacer-000:0px;--adyen-checkout-spacer-140:64px;--adyen-checkout-spacer-130:56px;--adyen-checkout-spacer-120:48px;--adyen-checkout-spacer-110:40px;--adyen-checkout-spacer-100:32px;--adyen-checkout-border-width-l:3px;--adyen-checkout-border-width-m:2px;--adyen-checkout-border-width-s:1px;--adyen-checkout-border-radius-xl:24px;--adyen-checkout-border-radius-l:12px;--adyen-checkout-border-radius-m:8px;--adyen-checkout-border-radius-s:4px;--adyen-checkout-border-radius-xs:2px;--adyen-checkout-color-focus:rgba(0,112,245,0.8);--adyen-checkout-color-black:#000000;--adyen-checkout-color-white:#ffffff;--adyen-checkout-color-red:#e22d2d;--adyen-checkout-color-grey-3200:#00112c;--adyen-checkout-color-grey-1900:#5c687c;--adyen-checkout-color-grey-1300:#8d95a3;--adyen-checkout-color-grey-600:#c9cdd3;--adyen-checkout-color-grey-400:#dbdee2;--adyen-checkout-color-grey-200:#eeeff1;--adyen-checkout-color-grey-100:#f7f7f8;--adyen-checkout-color-green:#07893c;--adyen-checkout-color-blue:#0070f5;--adyen-checkout-color-separator-primary:var(--adyen-checkout-color-grey-200);--adyen-checkout-color-outline-active:var(--adyen-checkout-color-grey-3200);--adyen-checkout-color-outline-tertiary:var(--adyen-checkout-color-grey-1300);--adyen-checkout-color-outline-secondary:var(--adyen-checkout-color-grey-600);--adyen-checkout-color-outline-primary:var(--adyen-checkout-color-grey-400);--adyen-checkout-color-on-interactive-disabled:var(--adyen-checkout-color-grey-1300);--adyen-checkout-color-interactive-disabled:var(--adyen-checkout-color-grey-200);--adyen-checkout-color-interactive-readonly:var(--adyen-checkout-color-grey-1900);--adyen-checkout-color-interactive-primary-pressed:var(--adyen-checkout-color-grey-1300);--adyen-checkout-color-interactive-primary-hovered:var(--adyen-checkout-color-grey-1900);--adyen-checkout-color-label-success:var(--adyen-checkout-color-green);--adyen-checkout-color-label-critical:var(--adyen-checkout-color-red);--adyen-checkout-color-label-primary:var(--adyen-checkout-color-grey-3200);--adyen-checkout-color-label-secondary:var(--adyen-checkout-color-grey-1900);--adyen-checkout-color-label-tertiary:var(--adyen-checkout-color-grey-1300);--adyen-checkout-color-surface-modal:var(--adyen-checkout-color-white);--adyen-checkout-color-surface-inverse:var(--adyen-checkout-color-grey-3200);--adyen-checkout-color-surface-primary:var(--adyen-checkout-color-white);--adyen-checkout-color-background-always-dark:var(--adyen-checkout-color-grey-3200);--adyen-checkout-color-background-primary:var(--adyen-checkout-color-white);--adyen-checkout-color-background-secondary:var(--adyen-checkout-color-grey-100);--adyen-checkout-color-background-tertiary:var(--adyen-checkout-color-grey-200);--adyen-checkout-focus-ring-color:var(--adyen-checkout-color-focus);--adyen-checkout-dropin-payment-list-gap:var(--adyen-checkout-spacer-100);--adyen-checkout-dropin-payment-item-gap:var(--adyen-checkout-spacer-070);--adyen-checkout-dropin-payment-item-border-color:var(--adyen-checkout-color-separator-primary);--adyen-checkout-dropin-payment-item-border-radius:var(--adyen-checkout-border-radius-m);--adyen-checkout-dropin-payment-item-border-width:var(--adyen-checkout-border-width-s);--adyen-checkout-dropin-selected-item-background:var(--adyen-checkout-color-grey-100);--adyen-checkout-dropin-selected-item-border-color:var(--adyen-checkout-color-outline-active);--adyen-checkout-dropin-hover-item-border-color:var(--adyen-checkout-color-outline-secondary);--adyen-checkout-dropin-list-label-color:var(--adyen-checkout-color-label-primary);--adyen-checkout-loading-indicator-color:var(--adyen-checkout-color-surface-inverse);--adyen-checkout-loading-indicator-background-color:var(--adyen-checkout-color-surface-inverse);--adyen-checkout-input-field-input-color:var(--adyen-checkout-color-label-primary);--adyen-checkout-input-wrapper-background:var(--adyen-checkout-color-background-primary);--adyen-checkout-input-wrapper-inactive-background:var(--adyen-checkout-color-interactive-disabled);--adyen-checkout-input-wrapper-border-color:var(--adyen-checkout-color-outline-primary);--adyen-checkout-input-wrapper-border-radius:var(--adyen-checkout-border-radius-m);--adyen-checkout-input-wrapper-border-width:var(--adyen-checkout-border-width-s);--adyen-checkout-input-wrapper-focus-border-color:var(--adyen-checkout-color-outline-active);--adyen-checkout-input-wrapper-hover-border-color:var(--adyen-checkout-color-outline-tertiary);--adyen-checkout-input-field-height:var(--adyen-checkout-spacer-110);--adyen-checkout-input-field-label-color:var(--adyen-checkout-color-label-primary);--adyen-checkout-input-field-context-color:var(--adyen-checkout-color-label-primary);--adyen-checkout-input-field-label-margin-bottom:var(--adyen-checkout-spacer-020);--adyen-checkout-input-field-context-margin-top:var(--adyen-checkout-spacer-020);--adyen-checkout-link-text-color:var(--adyen-checkout-color-blue);--adyen-checkout-link-text-decoration:underline;--adyen-checkout-link-border-radius:var(--adyen-checkout-border-radius-xs);--adyen-checkout-button-background-color:var(--adyen-checkout-color-background-always-dark);--adyen-checkout-button-color:var(--adyen-checkout-color-surface-modal);--adyen-checkout-button-border-radius:var(--adyen-checkout-border-radius-m);--adyen-checkout-button-font-size:var(--adyen-checkout-font-size-medium);--adyen-checkout-button-font-weight:var(--adyen-checkout-text-body-stronger-font-weight);--adyen-checkout-button-height:var(--adyen-checkout-spacer-120)}.adyen-checkout-link{--text-decoration:none;color:var(--adyen-checkout-link-text-color);-webkit-text-decoration:var(--text-decoration);text-decoration:var(--text-decoration)}.adyen-checkout-link:focus-visible{outline:none}.adyen-checkout-link:active,.adyen-checkout-link:hover{--text-decoration:var(--adyen-checkout-link-text-decoration)}.adyen-checkout-link:focus-visible{border-radius:var(--adyen-checkout-link-border-radius);box-shadow:0 0 0 1px #fff,0 0 0 3px var(--adyen-checkout-focus-ring-color);transition:.1s cubic-bezier(.785,.135,.15,.86)}[class^=adyen-checkout],[class^=adyen-checkout] *,[class^=adyen-checkout] :after,[class^=adyen-checkout] :before,[class^=adyen-checkout]:after,[class^=adyen-checkout]:before{box-sizing:border-box}
36
36
  .adyen-checkout__threeds2__challenge,.adyen-checkout__threeds2__challenge-container{background-color:transparent;display:block;height:inherit;min-height:400px;overflow:hidden;position:relative;width:100%}.adyen-checkout__threeds2__challenge--01,.adyen-checkout__threeds2__challenge--01 .adyen-checkout__iframe--threeDSIframe{height:400px;width:250px}.adyen-checkout__threeds2__challenge--02,.adyen-checkout__threeds2__challenge--02 .adyen-checkout__iframe--threeDSIframe{height:400px;width:390px}.adyen-checkout__threeds2__challenge--03,.adyen-checkout__threeds2__challenge--03 .adyen-checkout__iframe--threeDSIframe{height:600px;width:500px}.adyen-checkout__threeds2__challenge--04,.adyen-checkout__threeds2__challenge--04 .adyen-checkout__iframe--threeDSIframe{height:400px;width:600px}.adyen-checkout__threeds2__challenge--05,.adyen-checkout__threeds2__challenge--05 .adyen-checkout__iframe--threeDSIframe{height:100%;width:100%}.adyen-checkout__iframe--threeDSIframe{border:0;left:0;position:absolute;top:0}
37
37
  .adyen-checkout__threeds2-challenge-error .adyen-checkout__status__icon{display:block;margin:var(--adyen-checkout-spacer-130) auto var(--adyen-checkout-spacer-100)}.adyen-checkout__threeds2-challenge-error .adyen-checkout__status__text{color:var(--adyen-checkout-color-label-critical);margin-bottom:var(--adyen-checkout-spacer-130);text-align:center}
38
38
  .adyen-checkout__loading-input__form{transition:opacity .25s ease-out}.adyen-checkout__pm__holderName{margin-bottom:0}.adyen-checkout__pm__holderName .adyen-checkout__input{max-height:100px}.adyen-checkout__fieldset__title+.adyen-checkout__ach-sf__form{margin-top:0}.adyen-checkout__ach-input .adyen-checkout__fieldset--address,.adyen-checkout__ach-sf__form{margin-top:var(--adyen-checkout-spacer-070)}.sf-input__wrapper{position:relative}
@@ -62,7 +62,7 @@
62
62
  .adyen-checkout__loading-input__form{transition:opacity .25s ease-out}
63
63
  .adyen-checkout__fieldset--phone-input{direction:ltr}.adyen-checkout__fieldset--phone-input .adyen-checkout__fieldset__fields{gap:var(--adyen-checkout-spacer-070)}.adyen-checkout__fieldset--phone-input .adyen-checkout__fieldset__fields>.adyen-checkout__field{margin-bottom:0}.adyen-checkout-field--phone-prefix{width:144px}.adyen-checkout-field--phone-number{flex:1}
64
64
  .adyen-checkout__field--vpa{margin-bottom:0}
65
- .adyen-checkout__segmented-control{background:var(--adyen-checkout-color-surface-primary);border:var(--adyen-checkout-border-width-s) solid var(--adyen-checkout-color-outline-secondary);border-radius:var(--adyen-checkout-border-radius-m);display:flex;gap:var(--adyen-checkout-spacer-020);justify-content:space-between;padding:var(--adyen-checkout-spacer-020) 5px}.adyen-checkout__segmented-control--disabled{pointer-events:none}.adyen-checkout__segmented-control--disabled>.adyen-checkout__segmented-control-segment{color:#8390a3}.adyen-checkout__segmented-control--disabled>.adyen-checkout__segmented-control-segment--selected{background:#f3f6f9;border:1.5px solid #8390a3}.adyen-checkout__segmented-control-segment{background:var(--adyen-checkout-color-surface-primary);border:0;border-radius:6px;color:var(--adyen-checkout-color-label-primary);cursor:pointer;flex-grow:1;font-weight:var(--adyen-checkout-text-body-stronger-font-weight);height:var(--adyen-checkout-spacer-110);text-align:center;transition:background .3s ease-out;width:100%}.adyen-checkout__segmented-control-segment:active,.adyen-checkout__segmented-control-segment:not(.adyen-checkout__segmented-control-segment--selected):hover{background-color:var(--adyen-checkout-color-background-secondary)}.adyen-checkout__segmented-control-segment:active{border:1.5px solid var(--adyen-checkout-color-outline-tertiary)}.adyen-checkout__segmented-control-segment--selected{background:var(--adyen-checkout-color-background-always-dark);box-shadow:0 1px var(--adyen-checkout-spacer-010) 0 rgba(0,17,44,.02),0 var(--adyen-checkout-spacer-010) var(--adyen-checkout-spacer-020) 0 rgba(0,17,44,.04);color:var(--adyen-checkout-color-surface-primary);font-weight:var(--adyen-checkout-text-body-stronger-font-weight)}
65
+ .adyen-checkout-checkmark{--checkmark-color:var(--adyen-checkout-color-label-primary);border-bottom:1.5px solid var(--checkmark-color);border-right:1.5px solid var(--checkmark-color);height:var(--adyen-checkout-spacer-060);transform:rotate(45deg);width:var(--adyen-checkout-spacer-030)}.adyen-checkout__segmented-control{background:var(--adyen-checkout-color-background-tertiary);border-radius:var(--adyen-checkout-border-radius-l);display:flex;gap:var(--adyen-checkout-spacer-020);justify-content:space-between;padding:var(--adyen-checkout-spacer-030)}.adyen-checkout__segmented-control--disabled{pointer-events:none}.adyen-checkout__segmented-control--disabled>.adyen-checkout__segmented-control-segment{color:var(--adyen-checkout-color-on-interactive-disabled)}.adyen-checkout__segmented-control--disabled>.adyen-checkout__segmented-control-segment--selected .adyen-checkout-checkmark{--checkmark-color:var(--adyen-checkout-color-on-interactive-disabled)}.adyen-checkout__segmented-control-segment{align-items:center;border:0;border-radius:var(--adyen-checkout-border-radius-m);color:var(--adyen-checkout-color-label-primary);cursor:pointer;display:flex;flex-grow:1;font-weight:var(--adyen-checkout-text-body-stronger-font-weight);gap:var(--adyen-checkout-spacer-050);height:var(--adyen-checkout-spacer-110);justify-content:center;text-align:center;transition:background .3s ease-out;width:100%}.adyen-checkout__segmented-control-segment:active,.adyen-checkout__segmented-control-segment:not(.adyen-checkout__segmented-control-segment--selected):hover{background-color:var(--adyen-checkout-color-background-secondary)}.adyen-checkout__segmented-control-segment--selected{background:var(--adyen-checkout-color-background-primary);box-shadow:0 1px var(--adyen-checkout-spacer-010) 0 rgba(0,17,44,.02),0 var(--adyen-checkout-spacer-010) var(--adyen-checkout-spacer-020) 0 rgba(0,17,44,.04);color:var(--adyen-checkout-color-label-primary)}
66
66
  .adyen-checkout_upi-mode-selection-text{font-size:13px;font-weight:var(--adyen-checkout-text-body-font-weight);line-height:var(--adyen-checkout-text-caption-line-height);margin-bottom:7px;margin-top:0}.adyen-checkout__segmented-control--upi-margin-bottom{margin-bottom:var(--adyen-checkout-spacer-070)}
67
67
  .adyen-checkout__alert-message{border-radius:var(--adyen-checkout-border-radius-m);display:flex;font-size:var(--adyen-checkout-font-size-small);margin:0 0 var(--adyen-checkout-spacer-070);padding:var(--adyen-checkout-spacer-060);text-align:left}.adyen-checkout__alert-message--error{background:var(--adyen-checkout-color-label-critical)}.adyen-checkout__alert-message--warning{background:var(--adyen-checkout-alert-severity-warning-background-color)}.adyen-checkout__alert-message--info{background:var(--adyen-checkout-color-background-secondary)}.adyen-checkout__alert-message__icon{height:14px;margin-right:var(--adyen-checkout-spacer-040);width:14px}
68
68
  .adyen-checkout__giftcard-result__header{align-items:center;display:flex;flex-wrap:nowrap;font-size:1em;font-weight:var(--adyen-checkout-text-body-font-weight);justify-content:space-between;position:relative;width:100%}.adyen-checkout__giftcard-result__header__title{align-items:center;display:flex}.adyen-checkout__giftcard-result__name{margin-left:var(--adyen-checkout-spacer-040)}.adyen-checkout__giftcard-result__balance{list-style:none;margin:var(--adyen-checkout-spacer-070) 0 0;padding:0}.adyen-checkout__giftcard-result__balance__item{display:flex;justify-content:space-between;margin-bottom:var(--adyen-checkout-spacer-040)}.adyen-checkout__giftcard-result__balance__item .adyen-checkout__giftcard-result__balance__title--transactionLimit{color:var(--adyen-checkout-color-outline-tertiary)}.adyen-checkout__giftcard-result__balance__item:last-child{margin-bottom:0}.adyen-checkout__giftcard-result__balance__value--amount{font-weight:700}.adyen-checkout__giftcard-result__remaining-balance{color:var(--adyen-checkout-color-label-secondary);font-size:13px;line-height:var(--adyen-checkout-text-caption-line-height);margin:var(--adyen-checkout-spacer-040) auto 0;text-align:center}
@@ -1,2 +1,2 @@
1
- import{createElement as o}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import t from"../../core/Context/CoreProvider.js";import r from"../../utils/browserInfo.js";import s from"./components/AmazonPayComponent.js";import n from"./defaultProps.js";import{getCheckoutDetails as i}from"./services.js";import{TxVariants as p}from"../tx-variants.js";class c extends e{static type=p.amazonpay;static defaultProps=n;formatProps(o){return{...o,checkoutMode:o.isDropin?"ProcessOrder":o.checkoutMode,environment:o.environment.toUpperCase(),locale:o.locale.replace("-","_"),productType:o.isDropin&&!o.addressDetails?"PayOnly":o.productType}}formatData(){const{amazonCheckoutSessionId:o}=this.props;return{paymentMethod:{type:c.type,...o&&{checkoutSessionId:o}},browserInfo:this.browserInfo}}getShopperDetails(){const{amazonCheckoutSessionId:o,configuration:e={},loadingContext:t,clientKey:r}=this.props;if(!o)return console.error("Could not shopper details. Missing checkoutSessionId.");const s={checkoutSessionId:o,getDeliveryAddress:!0,publicKeyId:e.publicKeyId,region:e.region};return i(t,r,s)}handleDeclineFlow(){const{amazonCheckoutSessionId:o,configuration:e={},loadingContext:t,clientKey:r}=this.props;if(!o)return console.error("Could handle the decline flow. Missing checkoutSessionId.");const s={checkoutSessionId:o,getDeclineFlowUrl:!0,publicKeyId:e.publicKeyId,region:e.region};i(t,r,s).then(((o={})=>{if(!o?.declineFlowUrl)throw o;window.location.assign(o.declineFlowUrl)})).catch((o=>{this.props.onError&&this.props.onError(o,this.componentRef)}))}get isValid(){return!0}get browserInfo(){return r()}submit(){const{data:o,isValid:e}=this,{onSubmit:t=(()=>{})}=this.props;return this.componentRef&&this.componentRef.submit?this.componentRef.submit():t({data:o,isValid:e},this)}render(){return o(t,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},o(s,{ref:o=>{this.componentRef=o},showPayButton:this.props.showPayButton,onClick:this.props.onClick,onError:this.props.onError,onSignOut:this.props.onSignOut,...this.props}))}}export{c as AmazonPayElement,c as default};
1
+ import{createElement as o}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import t 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 p}from"../tx-variants.js";import{sanitizeResponse as c,verifyPaymentDidNotFail as a}from"../internal/UIElement/utils.js";class l extends e{static type=p.amazonpay;static defaultProps=s;formatProps(o){return{...o,checkoutMode:o.isDropin?"ProcessOrder":o.checkoutMode,environment:o.environment.toUpperCase(),locale:o.locale.replace("-","_"),productType:o.isDropin&&!o.addressDetails?"PayOnly":o.productType}}formatData(){const{amazonCheckoutSessionId:o}=this.props;return{paymentMethod:{type:l.type,...o&&{checkoutSessionId:o}},browserInfo:this.browserInfo}}getShopperDetails(){const{amazonCheckoutSessionId:o,configuration:e={},loadingContext:t,clientKey:r}=this.props;if(!o)return console.error("Could not shopper details. Missing checkoutSessionId.");const n={checkoutSessionId:o,getDeliveryAddress:!0,publicKeyId:e.publicKeyId,region:e.region};return i(t,r,n)}handleDeclineFlow(){const{amazonCheckoutSessionId:o,configuration:e={},loadingContext:t,clientKey:r}=this.props;if(!o)return console.error("Could handle the decline flow. Missing checkoutSessionId.");const n={checkoutSessionId:o,getDeclineFlowUrl:!0,publicKeyId:e.publicKeyId,region:e.region};i(t,r,n).then(((o={})=>{if(!o?.declineFlowUrl)throw o;window.location.assign(o.declineFlowUrl)})).catch((o=>{this.props.onError&&this.props.onError(o,this.componentRef)}))}get isValid(){return!0}get browserInfo(){return r()}submit(){const o=this.componentRef&&this.componentRef.getSubmitFunction();if(o)return o();this.makePaymentsCall().then(c).then(a).then(this.handleResponse).catch(this.handleFailedResult)}render(){return o(t,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},o(n,{ref:o=>{this.componentRef=o},showPayButton:this.props.showPayButton,onClick:this.props.onClick,onError:this.props.onError,onSignOut:this.props.onSignOut,...this.props}))}}export{l as AmazonPayElement,l 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';\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 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 submit() {\n const { data, isValid } = this;\n const { onSubmit = () => {} } = this.props;\n\n if (this.componentRef && this.componentRef.submit) return this.componentRef.submit();\n return onSubmit({ data, isValid }, this);\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","static","TxVariants","amazonpay","defaultProps","formatProps","props","checkoutMode","isDropin","environment","toUpperCase","locale","replace","productType","addressDetails","formatData","amazonCheckoutSessionId","checkoutSessionId","this","paymentMethod","type","browserInfo","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","data","onSubmit","render","h","CoreProvider","i18n","resources","AmazonPayComponent","ref","showPayButton","onClick","onSignOut"],"mappings":"qZAWO,MAAMA,UAAyBC,EAClCC,YAAqBC,EAAWC,UAEhCF,oBAAgCG,EAEhCC,WAAAA,CAAYC,GACR,MAAO,IACAA,EACHC,aAAcD,EAAME,SAAW,eAAiBF,EAAMC,aACtDE,YAAaH,EAAMG,YAAYC,cAC/BC,OAAQL,EAAMK,OAAOC,QAAQ,IAAK,KAClCC,YAAaP,EAAME,WAAaF,EAAMQ,eAAiB,UAAYR,EAAMO,YAEjF,CAKAE,UAAAA,GACI,MAAQC,wBAAyBC,GAAsBC,KAAKZ,MAC5D,MAAO,CACHa,cAAe,CACXC,KAAMrB,EAAiBqB,QACnBH,GAAqB,CAAEA,sBAE/BI,YAAaH,KAAKG,YAE1B,CAEAC,iBAAAA,GACI,MAAMN,wBAAEA,EAAuBO,cAAEA,EAAgB,CAAE,EAAAC,eAAEA,EAAcC,UAAEA,GAAcP,KAAKZ,MACxF,IAAKU,EAAyB,OAAOU,QAAQC,MAAM,yDAEnD,MAAMC,EAAkC,CACpCX,kBAAmBD,EACnBa,oBAAoB,EACpBC,YAAaP,EAAcO,YAC3BC,OAAQR,EAAcQ,QAG1B,OAAOC,EAAmBR,EAAgBC,EAAWG,EACzD,CAEOK,iBAAAA,GACH,MAAMjB,wBAAEA,EAAuBO,cAAEA,EAAgB,CAAE,EAAAC,eAAEA,EAAcC,UAAEA,GAAcP,KAAKZ,MACxF,IAAKU,EAAyB,OAAOU,QAAQC,MAAM,6DAEnD,MAAMC,EAAkC,CACpCX,kBAAmBD,EACnBkB,mBAAmB,EACnBJ,YAAaP,EAAcO,YAC3BC,OAAQR,EAAcQ,QAG1BC,EAAmBR,EAAgBC,EAAWG,GACzCO,MAAK,CAACC,EAAW,MACd,IAAKA,GAAUC,eAAgB,MAAMD,EACrCE,OAAOC,SAASC,OAAOJ,EAASC,eAAc,IAEjDI,OAAMd,IACCT,KAAKZ,MAAMoC,SAASxB,KAAKZ,MAAMoC,QAAQf,EAAOT,KAAKyB,aAAY,GAE/E,CAEA,WAAIC,GACA,OAAO,CACX,CAEA,eAAIvB,GACA,OAAOwB,GACX,CAEAC,MAAAA,GACI,MAAMC,KAAEA,EAAIH,QAAEA,GAAY1B,MACpB8B,SAAEA,EAAW,UAAa9B,KAAKZ,MAErC,OAAIY,KAAKyB,cAAgBzB,KAAKyB,aAAaG,OAAe5B,KAAKyB,aAAaG,SACrEE,EAAS,CAAED,OAAMH,WAAW1B,KACvC,CAEA+B,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMlC,KAAKZ,MAAM8C,KAAM5B,eAAgBN,KAAKZ,MAAMkB,eAAgB6B,UAAWnC,KAAKmC,WAC5FH,EAACI,EAAAA,CACGC,IAAKA,IACDrC,KAAKyB,aAAeY,CAAAA,EAExBC,cAAetC,KAAKZ,MAAMkD,cAC1BC,QAASvC,KAAKZ,MAAMmD,QACpBf,QAASxB,KAAKZ,MAAMoC,QACpBgB,UAAWxC,KAAKZ,MAAMoD,aAClBxC,KAAKZ,QAIzB"}
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';\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 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","static","TxVariants","amazonpay","defaultProps","formatProps","props","checkoutMode","isDropin","environment","toUpperCase","locale","replace","productType","addressDetails","formatData","amazonCheckoutSessionId","checkoutSessionId","this","paymentMethod","type","browserInfo","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"],"mappings":"ofAYO,MAAMA,UAAyBC,EAClCC,YAAqBC,EAAWC,UAEhCF,oBAAgCG,EAEhCC,WAAAA,CAAYC,GACR,MAAO,IACAA,EACHC,aAAcD,EAAME,SAAW,eAAiBF,EAAMC,aACtDE,YAAaH,EAAMG,YAAYC,cAC/BC,OAAQL,EAAMK,OAAOC,QAAQ,IAAK,KAClCC,YAAaP,EAAME,WAAaF,EAAMQ,eAAiB,UAAYR,EAAMO,YAEjF,CAKAE,UAAAA,GACI,MAAQC,wBAAyBC,GAAsBC,KAAKZ,MAC5D,MAAO,CACHa,cAAe,CACXC,KAAMrB,EAAiBqB,QACnBH,GAAqB,CAAEA,sBAE/BI,YAAaH,KAAKG,YAE1B,CAEAC,iBAAAA,GACI,MAAMN,wBAAEA,EAAuBO,cAAEA,EAAgB,CAAE,EAAAC,eAAEA,EAAcC,UAAEA,GAAcP,KAAKZ,MACxF,IAAKU,EAAyB,OAAOU,QAAQC,MAAM,yDAEnD,MAAMC,EAAkC,CACpCX,kBAAmBD,EACnBa,oBAAoB,EACpBC,YAAaP,EAAcO,YAC3BC,OAAQR,EAAcQ,QAG1B,OAAOC,EAAmBR,EAAgBC,EAAWG,EACzD,CAEOK,iBAAAA,GACH,MAAMjB,wBAAEA,EAAuBO,cAAEA,EAAgB,CAAE,EAAAC,eAAEA,EAAcC,UAAEA,GAAcP,KAAKZ,MACxF,IAAKU,EAAyB,OAAOU,QAAQC,MAAM,6DAEnD,MAAMC,EAAkC,CACpCX,kBAAmBD,EACnBkB,mBAAmB,EACnBJ,YAAaP,EAAcO,YAC3BC,OAAQR,EAAcQ,QAG1BC,EAAmBR,EAAgBC,EAAWG,GACzCO,MAAK,CAACC,EAAW,MACd,IAAKA,GAAUC,eAAgB,MAAMD,EACrCE,OAAOC,SAASC,OAAOJ,EAASC,eAAc,IAEjDI,OAAMd,IACCT,KAAKZ,MAAMoC,SAASxB,KAAKZ,MAAMoC,QAAQf,EAAOT,KAAKyB,aAAY,GAE/E,CAEA,WAAIC,GACA,OAAO,CACX,CAEA,eAAIvB,GACA,OAAOwB,GACX,CAEOC,MAAAA,GACH,MAAMC,EAAwB7B,KAAKyB,cAAgBzB,KAAKyB,aAAaK,oBACrE,GAAID,EACA,OAAOA,IAEX7B,KAAK+B,mBAAmBd,KAAKe,GAAkBf,KAAKgB,GAAyBhB,KAAKjB,KAAKkC,gBAAgBX,MAAMvB,KAAKmC,mBACtH,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMvC,KAAKZ,MAAMmD,KAAMjC,eAAgBN,KAAKZ,MAAMkB,eAAgBkC,UAAWxC,KAAKwC,WAC5FH,EAACI,EAAAA,CACGC,IAAKA,IACD1C,KAAKyB,aAAeiB,CAAAA,EAExBC,cAAe3C,KAAKZ,MAAMuD,cAC1BC,QAAS5C,KAAKZ,MAAMwD,QACpBpB,QAASxB,KAAKZ,MAAMoC,QACpBqB,UAAW7C,KAAKZ,MAAMyD,aAClB7C,KAAKZ,QAIzB"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../external/preact/dist/preact.js";import{useState as n,useRef as a,useEffect as o}from"../../../external/preact/hooks/dist/hooks.js";import t from"../../internal/Spinner/Spinner.js";import{getAmazonPayUrl as r}from"../utils.js";import i from"./AmazonPayButton.js";import s from"./ChangePaymentDetailsButton.js";import u from"./OrderButton.js";import c from"./SignOutButton.js";import m from"../../../utils/Script.js";function d(d){const[p,l]=n("pending"),h=a(null),f=a(null),y=()=>{l("ready")};return this.submit=()=>h.current&&h.current.initCheckout?h.current.initCheckout():f.current&&f.current.createOrder?f.current.createOrder():void 0,o((()=>{const e=r(d.configuration.region),n=new m(e);return window.amazon?y():n.load().then(y),()=>{n.remove()}}),[]),"pending"===p?e("div",{className:"adyen-checkout__amazonpay"},e("div",{className:"adyen-checkout__amazonpay__status adyen-checkout__amazonpay__status--pending"},e(t,null))):d.showSignOutButton?e("div",{className:"adyen-checkout__amazonpay"},e(c,{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:d.configuration?.publicKeyId,region:d.configuration?.region,returnUrl:d.returnUrl,ref:f}),d.showChangePaymentDetailsButton&&e(s,{amazonCheckoutSessionId:d.amazonCheckoutSessionId,amazonRef:window.amazon})):e("div",{className:"adyen-checkout__amazonpay"},e(i,{...d,amazonRef:window.amazon,ref:h}))}export{d as default};
1
+ import{createElement as n}from"../../../external/preact/dist/preact.js";import{useState as e,useRef as o,useEffect as t}from"../../../external/preact/hooks/dist/hooks.js";import a from"../../internal/Spinner/Spinner.js";import{getAmazonPayUrl as r}from"../utils.js";import i from"./AmazonPayButton.js";import s from"./ChangePaymentDetailsButton.js";import u from"./OrderButton.js";import c from"./SignOutButton.js";import m from"../../../utils/Script.js";function d(d){const[p,h]=e("pending"),l=o(null),y=o(null),f=()=>{h("ready")};return this.getSubmitFunction=()=>l.current&&l.current.initCheckout?()=>l.current.initCheckout():y.current&&y.current.createOrder?()=>y.current.createOrder():void 0,t((()=>{const n=r(d.configuration.region),e=new m(n);return window.amazon?f():e.load().then(f),()=>{e.remove()}}),[]),"pending"===p?n("div",{className:"adyen-checkout__amazonpay"},n("div",{className:"adyen-checkout__amazonpay__status adyen-checkout__amazonpay__status--pending"},n(a,null))):d.showSignOutButton?n("div",{className:"adyen-checkout__amazonpay"},n(c,{amazonRef:window.amazon,onSignOut:d.onSignOut})):d.amazonCheckoutSessionId?n("div",{className:"adyen-checkout__amazonpay"},d.showOrderButton&&n(u,{amazonCheckoutSessionId:d.amazonCheckoutSessionId,amount:d.amount,chargePermissionType:d.chargePermissionType,recurringMetadata:d.recurringMetadata,clientKey:d.clientKey,onError:d.onError,publicKeyId:d.configuration?.publicKeyId,region:d.configuration?.region,returnUrl:d.returnUrl,ref:y}),d.showChangePaymentDetailsButton&&n(s,{amazonCheckoutSessionId:d.amazonCheckoutSessionId,amazonRef:window.amazon})):n("div",{className:"adyen-checkout__amazonpay"},n(i,{...d,showPayButton:this.props.showPayButton,amazonRef:window.amazon,ref:l}))}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.submit = () => {\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 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} amazonRef={window.amazon} ref={amazonPayButtonRef} />\n </div>\n );\n}\n"],"names":["AmazonPayComponent","props","status","setStatus","useState","amazonPayButtonRef","useRef","orderButtonRef","handleLoad","this","submit","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"],"mappings":"ucAWe,SAASA,EAAmBC,GACvC,MAAOC,EAAQC,GAAaC,EAAS,WAC/BC,EAAqBC,EAAO,MAC5BC,EAAiBD,EAAO,MAExBE,EAAa,KACfL,EAAU,QAAA,EAsBd,OAnBAM,KAAKC,OAAS,IACNL,EAAmBM,SAAWN,EAAmBM,QAAQC,aAAqBP,EAAmBM,QAAQC,eACzGL,EAAeI,SAAWJ,EAAeI,QAAQE,YAAoBN,EAAeI,QAAQE,mBAAhG,EAGJC,GAAU,KACN,MAAMC,EAAMC,EAAgBf,EAAMgB,cAAcC,QAC1CC,EAAS,IAAIC,EAAOL,GAO1B,OANIM,OAAOC,OACPd,IAEAW,EAAOI,OAAOC,KAAKhB,GAGhB,KACHW,EAAOM,QAAM,CACjB,GACD,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,YAAazC,EAAMgB,eAAeyB,YAClCxB,OAAQjB,EAAMgB,eAAeC,OAC7ByB,UAAW1C,EAAM0C,UACjBC,IAAKrC,IAIZN,EAAM4C,gCACHnB,EAACoB,EAAAA,CAA2BZ,wBAAyBjC,EAAMiC,wBAAyBF,UAAWX,OAAOC,UAOlHI,EAACC,MAAAA,CAAIC,UAAU,6BACXF,EAACqB,EAAAA,IAAoB9C,EAAO+B,UAAWX,OAAOC,OAAQsB,IAAKvC,IAGvE"}
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 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":"ucAWe,SAASA,EAAmBC,GACvC,MAAOC,EAAQC,GAAaC,EAAS,WAC/BC,EAAqBC,EAAO,MAC5BC,EAAiBD,EAAO,MAExBE,EAAa,KACfL,EAAU,QAAA,EAsBd,OAnBAM,KAAKC,kBAAoB,IACjBL,EAAmBM,SAAWN,EAAmBM,QAAQC,aAAqB,IAAMP,EAAmBM,QAAQC,eAC/GL,EAAeI,SAAWJ,EAAeI,QAAQE,YAAoB,IAAMN,EAAeI,QAAQE,mBAAtG,EAGJC,GAAU,KACN,MAAMC,EAAMC,EAAgBf,EAAMgB,cAAcC,QAC1CC,EAAS,IAAIC,EAAOL,GAO1B,OANIM,OAAOC,OACPd,IAEAW,EAAOI,OAAOC,KAAKhB,GAGhB,KACHW,EAAOM,QAAM,CACjB,GACD,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,YAAazC,EAAMgB,eAAeyB,YAClCxB,OAAQjB,EAAMgB,eAAeC,OAC7ByB,UAAW1C,EAAM0C,UACjBC,IAAKrC,IAIZN,EAAM4C,gCACHnB,EAACoB,EAAAA,CAA2BZ,wBAAyBjC,EAAMiC,wBAAyBF,UAAWX,OAAOC,UAOlHI,EAACC,MAAAA,CAAIC,UAAU,6BACXF,EAACqB,EAAAA,IAAoB9C,EAAO+C,cAAevC,KAAKR,MAAM+C,cAAehB,UAAWX,OAAOC,OAAQsB,IAAKvC,IAGhH"}
@@ -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 s from"./ApplePayService.js";import n from"../../utils/base64.js";import o from"./defaultProps.js";import{httpPost as i}from"../../core/Services/http.js";import{APPLEPAY_SESSION_ENDPOINT as a}from"./config.js";import{preparePaymentRequest as p}from"./payment-request.js";import{resolveSupportedVersion as l,mapBrands as c,formatApplePayContactToAdyenAddressFormat as d}from"./utils.js";import h from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as m}from"../tx-variants.js";import{sanitizeResponse as y,verifyPaymentDidNotFail as u}from"../internal/UIElement/utils.js";import{ANALYTICS_SELECTED_STR as A,ANALYTICS_INSTANT_PAYMENT_BUTTON as P}from"../../core/Analytics/constants.js";class f extends t{static type=m.applepay;static defaultProps=o;constructor(e,t){super(e,t),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)}formatProps(e){const t=e.version||l(14),r=e.brands?.length?c(e.brands):e.supportedNetworks;return{...e,configuration:e.configuration,supportedNetworks:r,version:t,totalPriceLabel:e.totalPriceLabel||e.configuration?.merchantName}}formatData(){const{applePayToken:e,billingAddress:t,deliveryAddress:r}=this.state;return{paymentMethod:{type:f.type,applePayToken:e},...t&&{billingAddress:t},...r&&{deliveryAddress:r}}}submit=()=>{this.props.isInstantPayment&&this.submitAnalytics({type:A,target:P}),this.startSession()};startSession(){const{version:e,onValidateMerchant:t,onPaymentMethodSelected:r,onShippingMethodSelected:n,onShippingContactSelected:o}=this.props,i=p({companyName:this.props.configuration.merchantName,countryCode:this.core.options.countryCode,...this.props}),a=new s(i,{version:e,onError:e=>{this.handleError(new h("ERROR","ApplePay - Something went wrong on ApplePayService",{cause:e}))},onCancel:e=>{this.handleError(new h("CANCEL","ApplePay UI dismissed",{cause:e}))},onPaymentMethodSelected:r,onShippingMethodSelected:n,onShippingContactSelected:o,onValidateMerchant:t||this.validateMerchant,onPaymentAuthorized:(e,t,r)=>{const s=d(r.payment.billingContact),n=d(r.payment.shippingContact,!0);this.setState({applePayToken:btoa(JSON.stringify(r.payment.token.paymentData)),authorizedEvent:r,...s&&{billingAddress:s},...n&&{deliveryAddress:n}}),this.handleAuthorization().then(this.makePaymentsCall).then(y).then(u).then(this.collectOrderTrackingDetailsIfNeeded).then((({paymentResponse:t,orderDetails:r})=>(e({status:ApplePaySession.STATUS_SUCCESS,...r&&{orderDetails:r}}),t))).then((e=>{this.handleResponse(e)})).catch((e=>{const r=e?.error?.applePayError;t({status:ApplePaySession.STATUS_FAILURE,errors:r?Array.isArray(r)?r:[r]:void 0});const s={...e,error:{applePayError:r}};this.handleFailedResult(s)}))}});return new Promise(((e,t)=>this.props.onClick(e,t))).then((()=>{a.begin()})).catch((()=>({})))}async handleAuthorization(){return new Promise(((e,t)=>{this.props.onAuthorized||e();const{authorizedEvent:r,billingAddress:s,deliveryAddress:n}=this.state;this.props.onAuthorized({authorizedEvent:r,...s&&{billingAddress:s},...n&&{deliveryAddress:n}},{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=>({paymentResponse:e,...t&&{orderDetails:t}}))).catch((()=>({paymentResponse:e})))}async validateMerchant(e,t){const{hostname:r}=window.location,{clientKey:s,configuration:o,loadingContext:p,initiative:l}=this.props,{merchantName:c,merchantId:d}=o,h={loadingContext:p,path:`${a}?clientKey=${s}`},m={displayName:c,domainName:r,initiative:l,merchantIdentifier:d};try{const r=await i(h,m),s=n.decode(r.data);s||t("Could not decode Apple Pay session");e(JSON.parse(s))}catch(e){t("Could not get Apple Pay session")}}get isValid(){return!0}async isAvailable(){if("https:"!==document.location.protocol)return Promise.reject(new h("IMPLEMENTATION_ERROR","Trying to start an Apple Pay session from an insecure document"));if(!this.props.onValidateMerchant&&!this.props.clientKey)return Promise.reject(new h("IMPLEMENTATION_ERROR","clientKey was not provided"));try{if(window.ApplePaySession&&ApplePaySession.canMakePayments()&&ApplePaySession.supportsVersion(this.props.version))return Promise.resolve()}catch(e){console.warn(e)}return Promise.reject(new h("ERROR","Apple Pay is not available on this device"))}render(){return this.props.showPayButton?e(r,{i18n:this.props.i18n,buttonColor:this.props.buttonColor,buttonType:this.props.buttonType,onClick:e=>{e.preventDefault(),this.submit()}}):null}}export{f as default};
1
+ import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import s from"./components/ApplePayButton.js";import r from"./ApplePayService.js";import n from"../../utils/base64.js";import o from"./defaultProps.js";import{httpPost as i}from"../../core/Services/http.js";import{APPLEPAY_SESSION_ENDPOINT as a}from"./config.js";import{preparePaymentRequest as p}from"./payment-request.js";import{resolveSupportedVersion as l,mapBrands as c,formatApplePayContactToAdyenAddressFormat as d}from"./utils.js";import h from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as m}from"../tx-variants.js";import{sanitizeResponse as u,verifyPaymentDidNotFail as y}from"../internal/UIElement/utils.js";import{ANALYTICS_SELECTED_STR as A,ANALYTICS_INSTANT_PAYMENT_BUTTON as P}from"../../core/Analytics/constants.js";class S extends t{static type=m.applepay;static defaultProps=o;constructor(e,t){super(e,t);const{isExpress:s,onShippingContactSelected:r,onShippingMethodSelected:n}=this.props;if(!1===s&&(r||n))throw new h("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)}formatProps(e){const t=e.version||l(14),s=e.brands?.length?c(e.brands):e.supportedNetworks;return{...e,configuration:e.configuration,supportedNetworks:s,version:t,totalPriceLabel:e.totalPriceLabel||e.configuration?.merchantName}}formatData(){const{applePayToken:e,billingAddress:t,deliveryAddress:s}=this.state,{isExpress:r}=this.props;return{paymentMethod:{type:S.type,applePayToken:e,...r&&{subtype:"express"}},...t&&{billingAddress:t},...s&&{deliveryAddress:s}}}submit=()=>{this.props.isInstantPayment&&this.submitAnalytics({type:A,target:P}),this.startSession()};startSession(){const{version:e,onValidateMerchant:t,onPaymentMethodSelected:s,onShippingMethodSelected:n,onShippingContactSelected:o}=this.props,i=p({companyName:this.props.configuration.merchantName,countryCode:this.core.options.countryCode,...this.props}),a=new r(i,{version:e,onError:e=>{this.handleError(new h("ERROR","ApplePay - Something went wrong on ApplePayService",{cause:e}))},onCancel:e=>{this.handleError(new h("CANCEL","ApplePay UI dismissed",{cause:e}))},onPaymentMethodSelected:s,onShippingMethodSelected:n,onShippingContactSelected:o,onValidateMerchant:t||this.validateMerchant,onPaymentAuthorized:(e,t,s)=>{const r=d(s.payment.billingContact),n=d(s.payment.shippingContact,!0);this.setState({applePayToken:btoa(JSON.stringify(s.payment.token.paymentData)),authorizedEvent:s,...r&&{billingAddress:r},...n&&{deliveryAddress:n}}),this.handleAuthorization().then(this.makePaymentsCall).then(u).then(y).then(this.collectOrderTrackingDetailsIfNeeded).then((({paymentResponse:t,orderDetails:s})=>(e({status:ApplePaySession.STATUS_SUCCESS,...s&&{orderDetails:s}}),t))).then((e=>{this.handleResponse(e)})).catch((e=>{const s=e?.error?.applePayError;t({status:ApplePaySession.STATUS_FAILURE,errors:s?Array.isArray(s)?s:[s]:void 0});const r={...e,error:{applePayError:s}};this.handleFailedResult(r)}))}});return new Promise(((e,t)=>this.props.onClick(e,t))).then((()=>{a.begin()})).catch((()=>({})))}async handleAuthorization(){return new Promise(((e,t)=>{this.props.onAuthorized||e();const{authorizedEvent:s,billingAddress:r,deliveryAddress:n}=this.state;this.props.onAuthorized({authorizedEvent:s,...r&&{billingAddress:r},...n&&{deliveryAddress:n}},{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=>({paymentResponse:e,...t&&{orderDetails:t}}))).catch((()=>({paymentResponse:e})))}async validateMerchant(e,t){const{hostname:s}=window.location,{clientKey:r,configuration:o,loadingContext:p,initiative:l}=this.props,{merchantName:c,merchantId:d}=o,h={loadingContext:p,path:`${a}?clientKey=${r}`},m={displayName:c,domainName:s,initiative:l,merchantIdentifier:d};try{const s=await i(h,m),r=n.decode(s.data);if(r.success){e(JSON.parse(r.data))}else t("Could not decode Apple Pay session")}catch(e){t("Could not get Apple Pay session")}}get isValid(){return!0}async isAvailable(){if("https:"!==document.location.protocol)return Promise.reject(new h("IMPLEMENTATION_ERROR","Trying to start an Apple Pay session from an insecure document"));if(!this.props.onValidateMerchant&&!this.props.clientKey)return Promise.reject(new h("IMPLEMENTATION_ERROR","clientKey was not provided"));try{if(window.ApplePaySession&&ApplePaySession.canMakePayments()&&ApplePaySession.supportsVersion(this.props.version))return Promise.resolve()}catch(e){console.warn(e)}return Promise.reject(new h("ERROR","Apple Pay is not available on this device"))}render(){return this.props.showPayButton?e(s,{i18n:this.props.i18n,buttonColor:this.props.buttonColor,buttonType:this.props.buttonType,onClick:e=>{e.preventDefault(),this.submit()}}):null}}export{S 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 './ApplePayService';\nimport base64 from '../../utils/base64';\nimport defaultProps from './defaultProps';\nimport { httpPost } from '../../core/Services/http';\nimport { APPLEPAY_SESSION_ENDPOINT } from './config';\nimport { preparePaymentRequest } from './payment-request';\nimport { resolveSupportedVersion, mapBrands, formatApplePayContactToAdyenAddressFormat } from './utils';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { ANALYTICS_INSTANT_PAYMENT_BUTTON, ANALYTICS_SELECTED_STR } from '../../core/Analytics/constants';\nimport type { ApplePayConfiguration, ApplePayElementData, ApplePayPaymentOrderDetails, ApplePaySessionRequest } from './types';\nimport type { ICore } from '../../core/types';\nimport type { PaymentResponseData, RawPaymentResponse } from '../../types/global-types';\n\nconst latestSupportedVersion = 14;\n\nclass ApplePayElement extends UIElement<ApplePayConfiguration> {\n public static type = TxVariants.applepay;\n protected static defaultProps = defaultProps;\n\n constructor(checkout: ICore, props?: ApplePayConfiguration) {\n super(checkout, props);\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 }\n\n /**\n * Formats the component props\n */\n protected formatProps(props) {\n const version = props.version || resolveSupportedVersion(latestSupportedVersion);\n const supportedNetworks = props.brands?.length ? mapBrands(props.brands) : props.supportedNetworks;\n\n return {\n ...props,\n configuration: props.configuration,\n supportedNetworks,\n version,\n totalPriceLabel: props.totalPriceLabel || props.configuration?.merchantName\n };\n }\n\n /**\n * Formats the component data output\n */\n protected formatData(): ApplePayElementData {\n const { applePayToken, billingAddress, deliveryAddress } = this.state;\n\n return {\n paymentMethod: {\n type: ApplePayElement.type,\n applePayToken\n },\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n };\n }\n\n public submit = (): void => {\n // Analytics\n if (this.props.isInstantPayment) {\n this.submitAnalytics({ type: ANALYTICS_SELECTED_STR, target: ANALYTICS_INSTANT_PAYMENT_BUTTON });\n }\n void this.startSession();\n };\n\n private startSession() {\n const { version, 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,\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 = `${APPLEPAY_SESSION_ENDPOINT}?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 = base64.decode(response.data);\n if (!decodedData) reject('Could not decode Apple Pay session');\n const session = JSON.parse(decodedData as string);\n resolve(session);\n } catch (e) {\n reject('Could not get Apple Pay session');\n }\n }\n\n /**\n * Validation\n *\n * @remarks\n * Apple Pay does not require any specific validation\n */\n get isValid(): boolean {\n return true;\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from Apple Pay.\n * @returns Promise Resolve/Reject whether the shopper can use Apple Pay\n */\n public override async isAvailable(): Promise<void> {\n if (document.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 if (!this.props.onValidateMerchant && !this.props.clientKey) {\n return Promise.reject(new AdyenCheckoutError('IMPLEMENTATION_ERROR', 'clientKey was not provided'));\n }\n\n try {\n if (window.ApplePaySession && ApplePaySession.canMakePayments() && ApplePaySession.supportsVersion(this.props.version)) {\n return Promise.resolve();\n }\n } catch (error) {\n console.warn(error);\n }\n\n return Promise.reject(new AdyenCheckoutError('ERROR', 'Apple Pay is not available on this device'));\n }\n\n /**\n * Renders the Apple Pay button or nothing in the Dropin\n */\n render() {\n if (this.props.showPayButton) {\n return (\n <ApplePayButton\n i18n={this.props.i18n}\n buttonColor={this.props.buttonColor}\n buttonType={this.props.buttonType}\n onClick={e => {\n e.preventDefault();\n this.submit();\n }}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default ApplePayElement;\n"],"names":["ApplePayElement","UIElement","static","TxVariants","applepay","defaultProps","constructor","checkout","props","super","this","startSession","bind","submit","validateMerchant","collectOrderTrackingDetailsIfNeeded","handleAuthorization","formatProps","version","resolveSupportedVersion","supportedNetworks","brands","length","mapBrands","configuration","totalPriceLabel","merchantName","formatData","applePayToken","billingAddress","deliveryAddress","state","paymentMethod","type","isInstantPayment","submitAnalytics","ANALYTICS_SELECTED_STR","target","ANALYTICS_INSTANT_PAYMENT_BUTTON","onValidateMerchant","onPaymentMethodSelected","onShippingMethodSelected","onShippingContactSelected","paymentRequest","preparePaymentRequest","companyName","countryCode","core","options","session","ApplePayService","onError","error","handleError","AdyenCheckoutError","cause","onCancel","event","onPaymentAuthorized","resolve","reject","formatApplePayContactToAdyenAddressFormat","payment","billingContact","shippingContact","setState","btoa","JSON","stringify","token","paymentData","authorizedEvent","then","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","paymentResponse","orderDetails","status","ApplePaySession","STATUS_SUCCESS","handleResponse","catch","errors","applePayError","STATUS_FAILURE","Array","isArray","undefined","responseWithError","handleFailedResult","Promise","onClick","begin","onAuthorized","data","onOrderTrackingRequest","hostname","domainName","window","location","clientKey","loadingContext","initiative","merchantId","path","APPLEPAY_SESSION_ENDPOINT","request","displayName","merchantIdentifier","response","httpPost","decodedData","base64","decode","parse","e","isValid","isAvailable","document","protocol","canMakePayments","supportsVersion","console","warn","render","showPayButton","h","ApplePayButton","i18n","buttonColor","buttonType","preventDefault"],"mappings":"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"}
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 './ApplePayService';\nimport base64 from '../../utils/base64';\nimport defaultProps from './defaultProps';\nimport { httpPost } from '../../core/Services/http';\nimport { APPLEPAY_SESSION_ENDPOINT } from './config';\nimport { preparePaymentRequest } from './payment-request';\nimport { resolveSupportedVersion, mapBrands, formatApplePayContactToAdyenAddressFormat } from './utils';\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 { ANALYTICS_INSTANT_PAYMENT_BUTTON, ANALYTICS_SELECTED_STR } from '../../core/Analytics/constants';\n\nimport type { ApplePayConfiguration, ApplePayElementData, ApplePayPaymentOrderDetails, ApplePaySessionRequest } from './types';\nimport type { ICore } from '../../core/types';\nimport type { PaymentResponseData, RawPaymentResponse } from '../../types/global-types';\n\nconst latestSupportedVersion = 14;\n\nclass ApplePayElement extends UIElement<ApplePayConfiguration> {\n public static type = TxVariants.applepay;\n protected static defaultProps = defaultProps;\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 }\n\n /**\n * Formats the component props\n */\n protected override formatProps(props) {\n const version = props.version || resolveSupportedVersion(latestSupportedVersion);\n const supportedNetworks = props.brands?.length ? mapBrands(props.brands) : props.supportedNetworks;\n\n return {\n ...props,\n configuration: props.configuration,\n supportedNetworks,\n version,\n totalPriceLabel: props.totalPriceLabel || props.configuration?.merchantName\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 public override submit = (): void => {\n // Analytics\n if (this.props.isInstantPayment) {\n this.submitAnalytics({ type: ANALYTICS_SELECTED_STR, target: ANALYTICS_INSTANT_PAYMENT_BUTTON });\n }\n void this.startSession();\n };\n\n private startSession() {\n const { version, 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,\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 = `${APPLEPAY_SESSION_ENDPOINT}?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 /**\n * Validation\n *\n * @remarks\n * Apple Pay does not require any specific validation\n */\n get isValid(): boolean {\n return true;\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from Apple Pay.\n * @returns Promise Resolve/Reject whether the shopper can use Apple Pay\n */\n public override async isAvailable(): Promise<void> {\n if (document.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 if (!this.props.onValidateMerchant && !this.props.clientKey) {\n return Promise.reject(new AdyenCheckoutError('IMPLEMENTATION_ERROR', 'clientKey was not provided'));\n }\n\n try {\n if (window.ApplePaySession && ApplePaySession.canMakePayments() && ApplePaySession.supportsVersion(this.props.version)) {\n return Promise.resolve();\n }\n } catch (error) {\n console.warn(error);\n }\n\n return Promise.reject(new AdyenCheckoutError('ERROR', 'Apple Pay is not available on this device'));\n }\n\n /**\n * Renders the Apple Pay button or nothing in the Dropin\n */\n render() {\n if (this.props.showPayButton) {\n return (\n <ApplePayButton\n i18n={this.props.i18n}\n buttonColor={this.props.buttonColor}\n buttonType={this.props.buttonType}\n onClick={e => {\n e.preventDefault();\n this.submit();\n }}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default ApplePayElement;\n"],"names":["ApplePayElement","UIElement","static","TxVariants","applepay","defaultProps","constructor","checkout","props","super","isExpress","onShippingContactSelected","onShippingMethodSelected","this","AdyenCheckoutError","startSession","bind","submit","validateMerchant","collectOrderTrackingDetailsIfNeeded","handleAuthorization","formatProps","version","resolveSupportedVersion","supportedNetworks","brands","length","mapBrands","configuration","totalPriceLabel","merchantName","formatData","applePayToken","billingAddress","deliveryAddress","state","paymentMethod","type","subtype","isInstantPayment","submitAnalytics","ANALYTICS_SELECTED_STR","target","ANALYTICS_INSTANT_PAYMENT_BUTTON","onValidateMerchant","onPaymentMethodSelected","paymentRequest","preparePaymentRequest","companyName","countryCode","core","options","session","ApplePayService","onError","error","handleError","cause","onCancel","event","onPaymentAuthorized","resolve","reject","formatApplePayContactToAdyenAddressFormat","payment","billingContact","shippingContact","setState","btoa","JSON","stringify","token","paymentData","authorizedEvent","then","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","paymentResponse","orderDetails","status","ApplePaySession","STATUS_SUCCESS","handleResponse","catch","errors","applePayError","STATUS_FAILURE","Array","isArray","undefined","responseWithError","handleFailedResult","Promise","onClick","begin","onAuthorized","data","onOrderTrackingRequest","hostname","domainName","window","location","clientKey","loadingContext","initiative","merchantId","path","APPLEPAY_SESSION_ENDPOINT","request","displayName","merchantIdentifier","response","httpPost","decodedData","base64","decode","success","parse","e","isValid","isAvailable","document","protocol","canMakePayments","supportsVersion","console","warn","render","showPayButton","h","ApplePayButton","i18n","buttonColor","buttonType","preventDefault"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- const i={amount:{currency:"USD",value:0},countryCode:"US",totalPriceStatus:"final",totalPriceLabel:void 0,configuration:{merchantName:"",merchantId:""},initiative:"web",lineItems:void 0,merchantCapabilities:["supports3DS"],shippingMethods:void 0,shippingType:void 0,supportedCountries:void 0,supportedNetworks:["amex","discover","masterCard","visa"],requiredBillingContactFields:void 0,requiredShippingContactFields:void 0,billingContact:void 0,shippingContact:void 0,applicationData:void 0,onClick:i=>i(),onPaymentMethodSelected:null,onShippingContactSelected:null,onShippingMethodSelected:null,buttonType:"plain",buttonColor:"black",showPayButton:!0};export{i as default};
1
+ const t={isExpress:!1,amount:{currency:"USD",value:0},totalPriceStatus:"final",initiative:"web",merchantCapabilities:["supports3DS"],supportedNetworks:["amex","discover","masterCard","visa"],buttonType:"plain",buttonColor:"black",onClick:t=>t()};export{t as default};
2
2
  //# sourceMappingURL=defaultProps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaultProps.js","sources":["../../../../src/components/ApplePay/defaultProps.ts"],"sourcesContent":["const defaultProps = {\n // Transaction Information\n amount: { currency: 'USD', value: 0 },\n\n /**\n * The merchant’s two-letter ISO 3166 country code.\n */\n countryCode: 'US',\n\n totalPriceStatus: 'final',\n totalPriceLabel: undefined,\n\n configuration: {\n merchantName: '',\n merchantId: ''\n },\n\n initiative: 'web',\n\n /**\n * https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymentrequest/1916120-lineitems\n * A set of line items that explain recurring payments and additional charges and discounts.\n */\n lineItems: undefined,\n\n /**\n * https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymentrequest/1916123-merchantcapabilities\n * The payment capabilities supported by the merchant.\n */\n merchantCapabilities: ['supports3DS'],\n\n /**\n * https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymentrequest/1916121-shippingmethods\n * A list of available methods for shipping physical goods.\n */\n shippingMethods: undefined,\n\n /**\n * https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymentrequest/1916128-shippingtype\n * An optional value that indicates how purchased items are to be shipped.\n */\n shippingType: undefined,\n\n /**\n * https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymentrequest/2928612-supportedcountries\n * A list of two-character country codes you provide, used to limit payments to cards from specific countries.\n */\n supportedCountries: undefined,\n\n /**\n * https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymentrequest/1916122-supportednetworks\n * The payment networks supported by the merchant.\n */\n supportedNetworks: ['amex', 'discover', 'masterCard', 'visa'],\n\n // Requested Billing and Shipping Contact Information\n\n /**\n * The fields of billing information that you require from the user to process the transaction.\n */\n requiredBillingContactFields: undefined,\n\n /**\n * The fields of shipping information that you require from the user to fulfill the order.\n */\n requiredShippingContactFields: undefined,\n\n // Known Contact Information\n\n billingContact: undefined, // Billing contact information for the user.\n shippingContact: undefined, // Shipping contact information for the user.\n\n // Custom Data\n\n applicationData: undefined, // A Base64-encoded string used to contain your application-specific data.\n\n // Events\n onClick: resolve => resolve(),\n onPaymentMethodSelected: null,\n onShippingContactSelected: null,\n onShippingMethodSelected: null,\n\n // ButtonOptions\n buttonType: 'plain',\n buttonColor: 'black',\n showPayButton: true // show or hide the Apple Pay button\n};\n\nexport default defaultProps;\n"],"names":["defaultProps","amount","currency","value","countryCode","totalPriceStatus","totalPriceLabel","undefined","configuration","merchantName","merchantId","initiative","lineItems","merchantCapabilities","shippingMethods","shippingType","supportedCountries","supportedNetworks","requiredBillingContactFields","requiredShippingContactFields","billingContact","shippingContact","applicationData","onClick","resolve","onPaymentMethodSelected","onShippingContactSelected","onShippingMethodSelected","buttonType","buttonColor","showPayButton"],"mappings":"AAAA,MAAMA,EAAe,CAEjBC,OAAQ,CAAEC,SAAU,MAAOC,MAAO,GAKlCC,YAAa,KAEbC,iBAAkB,QAClBC,qBAAiBC,EAEjBC,cAAe,CACXC,aAAc,GACdC,WAAY,IAGhBC,WAAY,MAMZC,eAAWL,EAMXM,qBAAsB,CAAC,eAMvBC,qBAAiBP,EAMjBQ,kBAAcR,EAMdS,wBAAoBT,EAMpBU,kBAAmB,CAAC,OAAQ,WAAY,aAAc,QAOtDC,kCAA8BX,EAK9BY,mCAA+BZ,EAI/Ba,oBAAgBb,EAChBc,qBAAiBd,EAIjBe,qBAAiBf,EAGjBgB,QAASC,GAAWA,IACpBC,wBAAyB,KACzBC,0BAA2B,KAC3BC,yBAA0B,KAG1BC,WAAY,QACZC,YAAa,QACbC,eAAe"}
1
+ {"version":3,"file":"defaultProps.js","sources":["../../../../src/components/ApplePay/defaultProps.ts"],"sourcesContent":["import { ApplePayConfiguration } from './types';\n\nconst defaultProps: ApplePayConfiguration = {\n isExpress: false,\n amount: { currency: 'USD', value: 0 },\n totalPriceStatus: 'final',\n initiative: 'web',\n merchantCapabilities: ['supports3DS'],\n supportedNetworks: ['amex', 'discover', 'masterCard', 'visa'],\n buttonType: 'plain',\n buttonColor: 'black',\n onClick: resolve => resolve()\n};\n\nexport default defaultProps;\n"],"names":["defaultProps","isExpress","amount","currency","value","totalPriceStatus","initiative","merchantCapabilities","supportedNetworks","buttonType","buttonColor","onClick","resolve"],"mappings":"AAEA,MAAMA,EAAsC,CACxCC,WAAW,EACXC,OAAQ,CAAEC,SAAU,MAAOC,MAAO,GAClCC,iBAAkB,QAClBC,WAAY,MACZC,qBAAsB,CAAC,eACvBC,kBAAmB,CAAC,OAAQ,WAAY,aAAc,QACtDC,WAAY,QACZC,YAAa,QACbC,QAASC,GAAWA"}
@@ -1 +1 @@
1
- {"version":3,"file":"payment-request.js","sources":["../../../../src/components/ApplePay/payment-request.ts"],"sourcesContent":["import { getDecimalAmount } from '../../utils/amount-util';\nimport { PaymentAmount } from '../../types/global-types';\n\nconst formatAmount = (amount: PaymentAmount) => String(getDecimalAmount(amount.value, amount.currency));\n\nexport const preparePaymentRequest = (paymentRequest): ApplePayJS.ApplePayPaymentRequest => {\n const { countryCode, companyName, amount, ...props } = paymentRequest;\n const formattedAmount = formatAmount(amount);\n\n if (!countryCode) {\n console.warn('ApplePay - Make sure to set the countryCode in the AdyenCheckout configuration or in the Checkout Session creation');\n }\n\n return {\n countryCode,\n currencyCode: amount.currency,\n\n total: {\n label: props.totalPriceLabel,\n amount: formattedAmount,\n type: props.totalPriceStatus\n },\n\n lineItems: props.lineItems,\n shippingMethods: props.shippingMethods,\n shippingType: props.shippingType,\n\n // @ts-ignore 'recurringPaymentRequest' isn't defined in the @types/applepayjs\n recurringPaymentRequest: props.recurringPaymentRequest,\n\n merchantCapabilities: props.merchantCapabilities,\n supportedCountries: props.supportedCountries,\n supportedNetworks: props.supportedNetworks,\n\n requiredShippingContactFields: props.requiredShippingContactFields,\n requiredBillingContactFields: props.requiredBillingContactFields,\n\n billingContact: props.billingContact,\n shippingContact: props.shippingContact,\n\n applicationData: props.applicationData\n };\n};\n\nexport default preparePaymentRequest;\n"],"names":["preparePaymentRequest","paymentRequest","countryCode","companyName","amount","props","formattedAmount","String","getDecimalAmount","value","currency","formatAmount","console","warn","currencyCode","total","label","totalPriceLabel","type","totalPriceStatus","lineItems","shippingMethods","shippingType","recurringPaymentRequest","merchantCapabilities","supportedCountries","supportedNetworks","requiredShippingContactFields","requiredBillingContactFields","billingContact","shippingContact","applicationData"],"mappings":"8DAGA,MAEaA,EAAyBC,IAClC,MAAMC,YAAEA,EAAWC,YAAEA,EAAWC,OAAEA,KAAWC,GAAUJ,EACjDK,EAJW,CAACF,GAA0BG,OAAOC,EAAiBJ,EAAOK,MAAOL,EAAOM,WAIjEC,CAAaP,GAMrC,OAJKF,GACDU,QAAQC,KAAK,sHAGV,CACHX,cACAY,aAAcV,EAAOM,SAErBK,MAAO,CACHC,MAAOX,EAAMY,gBACbb,OAAQE,EACRY,KAAMb,EAAMc,kBAGhBC,UAAWf,EAAMe,UACjBC,gBAAiBhB,EAAMgB,gBACvBC,aAAcjB,EAAMiB,aAGpBC,wBAAyBlB,EAAMkB,wBAE/BC,qBAAsBnB,EAAMmB,qBAC5BC,mBAAoBpB,EAAMoB,mBAC1BC,kBAAmBrB,EAAMqB,kBAEzBC,8BAA+BtB,EAAMsB,8BACrCC,6BAA8BvB,EAAMuB,6BAEpCC,eAAgBxB,EAAMwB,eACtBC,gBAAiBzB,EAAMyB,gBAEvBC,gBAAiB1B,EAAM0B,gBAC3B"}
1
+ {"version":3,"file":"payment-request.js","sources":["../../../../src/components/ApplePay/payment-request.ts"],"sourcesContent":["import { getDecimalAmount } from '../../utils/amount-util';\nimport { PaymentAmount } from '../../types/global-types';\n\nconst formatAmount = (amount: PaymentAmount) => String(getDecimalAmount(amount.value, amount.currency));\n\nexport const preparePaymentRequest = (paymentRequest): ApplePayJS.ApplePayPaymentRequest => {\n const { countryCode, companyName, amount, ...props } = paymentRequest;\n const formattedAmount = formatAmount(amount);\n\n if (!countryCode) {\n console.warn('ApplePay - Make sure to set the countryCode in the AdyenCheckout configuration or in the Checkout Session creation');\n }\n\n return {\n countryCode,\n currencyCode: amount.currency,\n\n total: {\n label: props.totalPriceLabel,\n amount: formattedAmount,\n type: props.totalPriceStatus\n },\n\n lineItems: props.lineItems,\n shippingMethods: props.shippingMethods,\n shippingType: props.shippingType,\n\n recurringPaymentRequest: props.recurringPaymentRequest,\n\n merchantCapabilities: props.merchantCapabilities,\n supportedCountries: props.supportedCountries,\n supportedNetworks: props.supportedNetworks,\n\n requiredShippingContactFields: props.requiredShippingContactFields,\n requiredBillingContactFields: props.requiredBillingContactFields,\n\n billingContact: props.billingContact,\n shippingContact: props.shippingContact,\n\n applicationData: props.applicationData\n };\n};\n\nexport default preparePaymentRequest;\n"],"names":["preparePaymentRequest","paymentRequest","countryCode","companyName","amount","props","formattedAmount","String","getDecimalAmount","value","currency","formatAmount","console","warn","currencyCode","total","label","totalPriceLabel","type","totalPriceStatus","lineItems","shippingMethods","shippingType","recurringPaymentRequest","merchantCapabilities","supportedCountries","supportedNetworks","requiredShippingContactFields","requiredBillingContactFields","billingContact","shippingContact","applicationData"],"mappings":"8DAGA,MAEaA,EAAyBC,IAClC,MAAMC,YAAEA,EAAWC,YAAEA,EAAWC,OAAEA,KAAWC,GAAUJ,EACjDK,EAJW,CAACF,GAA0BG,OAAOC,EAAiBJ,EAAOK,MAAOL,EAAOM,WAIjEC,CAAaP,GAMrC,OAJKF,GACDU,QAAQC,KAAK,sHAGV,CACHX,cACAY,aAAcV,EAAOM,SAErBK,MAAO,CACHC,MAAOX,EAAMY,gBACbb,OAAQE,EACRY,KAAMb,EAAMc,kBAGhBC,UAAWf,EAAMe,UACjBC,gBAAiBhB,EAAMgB,gBACvBC,aAAcjB,EAAMiB,aAEpBC,wBAAyBlB,EAAMkB,wBAE/BC,qBAAsBnB,EAAMmB,qBAC5BC,mBAAoBpB,EAAMoB,mBAC1BC,kBAAmBrB,EAAMqB,kBAEzBC,8BAA+BtB,EAAMsB,8BACrCC,6BAA8BvB,EAAMuB,6BAEpCC,eAAgBxB,EAAMwB,eACtBC,gBAAiBzB,EAAMyB,gBAEvBC,gBAAiB1B,EAAM0B,gBAC3B"}
@@ -1,2 +1,2 @@
1
- import e from"../../../internal/SocialSecurityNumberBrazil/validate.js";import{validationRules as r}from"../../../../utils/Validator/defaultRules.js";const a={socialSecurityNumber:{validate:e,errorMessage:"error.va.gen.02",modes:["blur"]},shopperEmail:r.emailRule,default:{validate:e=>!!e&&e.length>0,errorMessage:"error.va.gen.02",modes:["blur"]},firstName:{validate:e=>!!e&&e.length>0,errorMessage:"firstName.invalid",modes:["blur"]},lastName:{validate:e=>!!e&&e.length>0,errorMessage:"lastName.invalid",modes:["blur"]}};export{a as boletoValidationRules};
1
+ import e from"../../../internal/SocialSecurityNumberBrazil/validate.js";import{validationRules as r}from"../../../../utils/Validator/defaultRules.js";import{BOLETO_SOCIAL_SECURITY_NUMBER_INVALID as a,SF_ErrorCodes as l}from"../../../../core/Errors/constants.js";const s={socialSecurityNumber:{validate:e,errorMessage:a,modes:["blur"]},shopperEmail:r.emailRule,default:{validate:e=>!!e&&e.length>0,errorMessage:l.ERROR_MSG_INVALID_FIELD,modes:["blur"]},firstName:{validate:e=>!!e&&e.length>0,errorMessage:"firstName.invalid",modes:["blur"]},lastName:{validate:e=>!!e&&e.length>0,errorMessage:"lastName.invalid",modes:["blur"]}};export{s as boletoValidationRules};
2
2
  //# sourceMappingURL=validate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sources":["../../../../../../src/components/Boleto/components/BoletoInput/validate.ts"],"sourcesContent":["import { ValidatorRules } from '../../../../utils/Validator/types';\nimport validateSSN from '../../../internal/SocialSecurityNumberBrazil/validate';\nimport { validationRules } from '../../../../utils/Validator/defaultRules';\n\nexport const boletoValidationRules: ValidatorRules = {\n socialSecurityNumber: {\n validate: validateSSN,\n errorMessage: 'error.va.gen.02',\n modes: ['blur']\n },\n shopperEmail: validationRules.emailRule,\n default: {\n validate: value => !!value && value.length > 0,\n errorMessage: 'error.va.gen.02',\n modes: ['blur']\n },\n firstName: {\n validate: value => !!value && value.length > 0,\n errorMessage: 'firstName.invalid',\n modes: ['blur']\n },\n lastName: {\n validate: value => !!value && value.length > 0,\n errorMessage: 'lastName.invalid',\n modes: ['blur']\n }\n};\n"],"names":["boletoValidationRules","socialSecurityNumber","validate","validateSSN","errorMessage","modes","shopperEmail","validationRules","emailRule","default","value","length","firstName","lastName"],"mappings":"4JAIaA,EAAwC,CACjDC,qBAAsB,CAClBC,SAAUC,EACVC,aAAc,kBACdC,MAAO,CAAC,SAEZC,aAAcC,EAAgBC,UAC9BC,QAAS,CACLP,SAAUQ,KAAWA,GAASA,EAAMC,OAAS,EAC7CP,aAAc,kBACdC,MAAO,CAAC,SAEZO,UAAW,CACPV,SAAUQ,KAAWA,GAASA,EAAMC,OAAS,EAC7CP,aAAc,oBACdC,MAAO,CAAC,SAEZQ,SAAU,CACNX,SAAUQ,KAAWA,GAASA,EAAMC,OAAS,EAC7CP,aAAc,mBACdC,MAAO,CAAC"}
1
+ {"version":3,"file":"validate.js","sources":["../../../../../../src/components/Boleto/components/BoletoInput/validate.ts"],"sourcesContent":["import { ValidatorRules } from '../../../../utils/Validator/types';\nimport validateSSN from '../../../internal/SocialSecurityNumberBrazil/validate';\nimport { validationRules } from '../../../../utils/Validator/defaultRules';\nimport { BOLETO_SOCIAL_SECURITY_NUMBER_INVALID, SF_ErrorCodes } from '../../../../core/Errors/constants';\n\nexport const boletoValidationRules: ValidatorRules = {\n socialSecurityNumber: {\n validate: validateSSN,\n errorMessage: BOLETO_SOCIAL_SECURITY_NUMBER_INVALID,\n modes: ['blur']\n },\n shopperEmail: validationRules.emailRule,\n default: {\n validate: value => !!value && value.length > 0,\n errorMessage: SF_ErrorCodes.ERROR_MSG_INVALID_FIELD,\n modes: ['blur']\n },\n firstName: {\n validate: value => !!value && value.length > 0,\n errorMessage: 'firstName.invalid',\n modes: ['blur']\n },\n lastName: {\n validate: value => !!value && value.length > 0,\n errorMessage: 'lastName.invalid',\n modes: ['blur']\n }\n};\n"],"names":["boletoValidationRules","socialSecurityNumber","validate","validateSSN","errorMessage","BOLETO_SOCIAL_SECURITY_NUMBER_INVALID","modes","shopperEmail","validationRules","emailRule","default","value","length","SF_ErrorCodes","ERROR_MSG_INVALID_FIELD","firstName","lastName"],"mappings":"4QAKaA,EAAwC,CACjDC,qBAAsB,CAClBC,SAAUC,EACVC,aAAcC,EACdC,MAAO,CAAC,SAEZC,aAAcC,EAAgBC,UAC9BC,QAAS,CACLR,SAAUS,KAAWA,GAASA,EAAMC,OAAS,EAC7CR,aAAcS,EAAcC,wBAC5BR,MAAO,CAAC,SAEZS,UAAW,CACPb,SAAUS,KAAWA,GAASA,EAAMC,OAAS,EAC7CR,aAAc,oBACdE,MAAO,CAAC,SAEZU,SAAU,CACNd,SAAUS,KAAWA,GAASA,EAAMC,OAAS,EAC7CR,aAAc,mBACdE,MAAO,CAAC"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import o from"./components/CardInput/CardInput.js";import e from"../../core/Context/CoreProvider.js";import s from"../../utils/browserInfo.js";import r from"../internal/SecuredFields/binLookup/triggerBinLookUp.js";import{reject as i,fieldTypeToSnakeCase as n}from"../internal/SecuredFields/utils.js";import{hasValidInstallmentsObject as a}from"./components/CardInput/utils.js";import p from"../internal/ClickToPay/services/create-clicktopay-service.js";import c from"./components/ClickToPayWrapper.js";import u from"../../core/Errors/SRPanelProvider.js";import{TxVariants as l}from"../tx-variants.js";import{UIElement as d}from"../internal/UIElement/UIElement.js";import h from"../internal/PayButton/PayButton.js";import{ANALYTICS_RENDERED_STR as m,ANALYTICS_CONFIGURED_STR as y,ANALYTICS_FOCUS_STR as f,ANALYTICS_UNFOCUS_STR as b,ANALYTICS_VALIDATION_ERROR_STR as g}from"../../core/Analytics/constants.js";import{ALL_SECURED_FIELDS as C}from"../internal/SecuredFields/lib/configuration/constants.js";import{hasOwnProperty as P}from"../../utils/hasOwnProperty.js";import S,{IMPLEMENTATION_ERROR as k}from"../../core/Errors/AdyenCheckoutError.js";class T extends d{static type=l.scheme;clickToPayService;clickToPayRef=null;constructor(t,o){super(t,o),o&&!o._disableClickToPay&&(this.clickToPayService=p(this.props.configuration,this.props.clickToPayConfiguration,this.props.environment),this.clickToPayService?.initialize())}static defaultProps={onBinLookup:()=>{},showFormInstruction:!0,_disableClickToPay:!1};setStatus(t,o){return this.componentRef?.setStatus&&this.componentRef.setStatus(t,o),this.clickToPayRef?.setStatus&&this.clickToPayRef.setStatus(t,o),this}setClickToPayRef=t=>{this.clickToPayRef=t};formatProps(t){const o=!(0===t.amount?.value)&&(t.session?.configuration?.enableStoreDetails||t.enableStoreDetails),e=t.storedPaymentMethodId||t.id,s=e&&t?.supportedShopperInteractions?.includes("Ecommerce");if(e&&!s)throw new S(k,"You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions");return{...t,holderNameRequired:!!t.hasHolderName&&t.holderNameRequired,hasCVC:!(t.brand&&"bcmc"===t.brand||t.hideCVC),billingAddressRequired:!t.storedPaymentMethodId&&t.billingAddressRequired,brand:t.brand??l.card,countryCode:t.countryCode?t.countryCode.toLowerCase():null,configuration:{...t.configuration,socialSecurityNumberMode:t.configuration?.socialSecurityNumberMode??"auto"},brandsConfiguration:t.brandsConfiguration||t.configuration?.brandsConfiguration||{},icon:t.icon||t.configuration?.icon,installmentOptions:t.session?.configuration?.installmentOptions||t.installmentOptions,enableStoreDetails:o,clickToPayConfiguration:{...t.clickToPayConfiguration,disableOtpAutoFocus:t.clickToPayConfiguration?.disableOtpAutoFocus||!1,shopperEmail:t.clickToPayConfiguration?.shopperEmail||this.core.options?.session?.shopperEmail,telephoneNumber:t.clickToPayConfiguration?.telephoneNumber||this.core.options?.session?.telephoneNumber,locale:t.clickToPayConfiguration?.locale||t.i18n?.locale?.replace("-","_")},...e&&{storedPaymentMethodId:e}}}formatData(){const t=this.state.selectedBrandValue,o=this.props.enableStoreDetails&&void 0!==this.state.storePaymentMethod;return{paymentMethod:{type:T.type,...this.state.data,...this.props.storedPaymentMethodId&&{storedPaymentMethodId:this.props.storedPaymentMethodId},...t&&{brand:t},...this.props.fundingSource&&{fundingSource:this.props.fundingSource}},...this.state.billingAddress&&{billingAddress:this.state.billingAddress},...this.state.socialSecurityNumber&&{socialSecurityNumber:this.state.socialSecurityNumber},...o&&{storePaymentMethod:Boolean(this.state.storePaymentMethod)},...a(this.state.installments)&&{installments:this.state.installments},browserInfo:this.browserInfo,origin:!!window&&window.location.origin}}updateStyles(t){return this.componentRef?.updateStyles&&this.componentRef.updateStyles(t),this}setFocusOn(t){return this.componentRef?.setFocusOn&&this.componentRef.setFocusOn(t),this}onBrand=t=>{this.props.onBrand?.(t)};processBinLookupResponse(t,o=!1){return this.componentRef?.processBinLookupResponse&&this.componentRef.processBinLookupResponse(t,o),this}handleUnsupportedCard(t){return this.componentRef?.handleUnsupportedCard&&this.componentRef.handleUnsupportedCard(t),this}handleClickToPaySubmit=t=>{this.setState({data:{...t},valid:{},errors:{},isValid:!0}),this.submit()};onBinLookup(t){if(!t.isReset){const o=i("supportedBrandsRaw").from(t);this.props.onBinLookup(o)}}submitAnalytics(t){const{type:o}=t;o!==m&&o!==y||"scheme"===this.constructor.type&&P(this.props,"supportedShopperInteractions")&&(t.isStoredPaymentMethod=!0,t.brand=this.props.brand),super.submitAnalytics(t)}onConfigSuccess=t=>{this.submitAnalytics({type:y}),this.props.onConfigSuccess?.(t)};onFocus=t=>{this.submitAnalytics({type:f,target:n(t.fieldType)}),C.includes(t.fieldType)?this.props.onFocus?.(t.event):this.props.onFocus?.(t)};onBlur=t=>{this.submitAnalytics({type:b,target:n(t.fieldType)}),C.includes(t.fieldType)?this.props.onBlur?.(t.event):this.props.onBlur?.(t)};onErrorAnalytics=t=>{this.submitAnalytics({type:g,target:n(t.fieldType),validationErrorCode:t.errorCode,validationErrorMessage:t.errorMessage})};onBinValue=r(this);get isValid(){return!!this.state.isValid}get icon(){return this.props.icon??this.resources.getImage()(this.props.brand)}get brands(){const{brands:t,brandsConfiguration:o}=this.props;return t?t.map((t=>({icon:o[t]?.icon??this.props.modules.resources.getImage()(t),name:t}))):[]}get displayName(){return this.props.storedPaymentMethodId?`•••• ${this.props.lastFour}`:this.props.name||T.type}get accessibleName(){return(this.props.name||T.type)+(this.props.storedPaymentMethodId?" "+this.props.i18n.get("creditCard.storedCard.description.ariaLabel").replace("%@",this.props.lastFour):"")}get browserInfo(){return s()}payButton=o=>{const e=0===this.props.amount?.value,s=this.props.storedPaymentMethodId?.length>0;return t(h,{...o,amount:this.props.amount,secondaryAmount:this.props.secondaryAmount,label:e&&!s?this.props.i18n.get("payButton.saveDetails"):"",onClick:this.submit})};renderCardInput(e=!0){return t(o,{setComponentRef:this.setComponentRef,...this.props,...this.state,onChange:this.setState,onSubmit:this.submit,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,onErrorAnalytics:this.onErrorAnalytics,onConfigSuccess:this.onConfigSuccess})}render(){return t(e,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(u,{srPanel:this.props.modules.srPanel},t(c,{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)))))}}export{T as CardElement,T as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import o from"./components/CardInput/CardInput.js";import e from"../../core/Context/CoreProvider.js";import s from"../../utils/browserInfo.js";import r from"../internal/SecuredFields/binLookup/triggerBinLookUp.js";import{reject as i,fieldTypeToSnakeCase as n}from"../internal/SecuredFields/utils.js";import{hasValidInstallmentsObject as a}from"./components/CardInput/utils.js";import p from"../internal/ClickToPay/services/create-clicktopay-service.js";import c from"./components/ClickToPayWrapper.js";import u from"../../core/Errors/SRPanelProvider.js";import{TxVariants as l}from"../tx-variants.js";import{UIElement as d}from"../internal/UIElement/UIElement.js";import h from"../internal/PayButton/PayButton.js";import{ANALYTICS_RENDERED_STR as m,ANALYTICS_CONFIGURED_STR as y,ANALYTICS_FOCUS_STR as f,ANALYTICS_UNFOCUS_STR as b,ANALYTICS_VALIDATION_ERROR_STR as g}from"../../core/Analytics/constants.js";import{ALL_SECURED_FIELDS as C}from"../internal/SecuredFields/lib/configuration/constants.js";import{hasOwnProperty as P}from"../../utils/hasOwnProperty.js";import S,{IMPLEMENTATION_ERROR as k}from"../../core/Errors/AdyenCheckoutError.js";import{getErrorMessageFromCode as T}from"../../core/Errors/utils.js";import{SF_ErrorCodes as B}from"../../core/Errors/constants.js";class R extends d{static type=l.scheme;clickToPayService;clickToPayRef=null;constructor(t,o){super(t,o),o&&!o._disableClickToPay&&(this.clickToPayService=p(this.props.configuration,this.props.clickToPayConfiguration,this.props.environment),this.clickToPayService?.initialize())}static defaultProps={onBinLookup:()=>{},showFormInstruction:!0,_disableClickToPay:!1};setStatus(t,o){return this.componentRef?.setStatus&&this.componentRef.setStatus(t,o),this.clickToPayRef?.setStatus&&this.clickToPayRef.setStatus(t,o),this}setClickToPayRef=t=>{this.clickToPayRef=t};formatProps(t){const o=t.session?.configuration?.enableStoreDetails??t.enableStoreDetails,e=!(0===t.amount?.value)&&o,s=t.storedPaymentMethodId||t.id,r=s&&t?.supportedShopperInteractions?.includes("Ecommerce");if(s&&!r)throw new S(k,"You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions");return{...t,holderNameRequired:!!t.hasHolderName&&t.holderNameRequired,hasCVC:!(t.brand&&"bcmc"===t.brand||t.hideCVC),billingAddressRequired:!t.storedPaymentMethodId&&t.billingAddressRequired,brand:t.brand??l.card,countryCode:t.countryCode?t.countryCode.toLowerCase():null,configuration:{...t.configuration,socialSecurityNumberMode:t.configuration?.socialSecurityNumberMode??"auto"},brandsConfiguration:t.brandsConfiguration||t.configuration?.brandsConfiguration||{},icon:t.icon||t.configuration?.icon,installmentOptions:t.session?.configuration?.installmentOptions||t.installmentOptions,enableStoreDetails:o,showStoreDetailsCheckbox:e,clickToPayConfiguration:{...t.clickToPayConfiguration,disableOtpAutoFocus:t.clickToPayConfiguration?.disableOtpAutoFocus||!1,shopperEmail:t.clickToPayConfiguration?.shopperEmail||this.core.options?.session?.shopperEmail,telephoneNumber:t.clickToPayConfiguration?.telephoneNumber||this.core.options?.session?.telephoneNumber,locale:t.clickToPayConfiguration?.locale||t.i18n?.locale?.replace("-","_")},...s&&{storedPaymentMethodId:s}}}formatData(){const t=this.state.selectedBrandValue;return{paymentMethod:{type:R.type,...this.state.data,...this.props.storedPaymentMethodId&&{storedPaymentMethodId:this.props.storedPaymentMethodId},...t&&{brand:t},...this.props.fundingSource&&{fundingSource:this.props.fundingSource}},...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){return this.componentRef?.updateStyles&&this.componentRef.updateStyles(t),this}setFocusOn(t){return this.componentRef?.setFocusOn&&this.componentRef.setFocusOn(t),this}onBrand=t=>{this.props.onBrand?.(t)};processBinLookupResponse(t,o=!1){return this.componentRef?.processBinLookupResponse&&this.componentRef.processBinLookupResponse(t,o),this}handleUnsupportedCard(t){return this.componentRef?.handleUnsupportedCard&&this.componentRef.handleUnsupportedCard(t),this}handleClickToPaySubmit=t=>{this.setState({data:{...t},valid:{},errors:{},isValid:!0}),this.submit()};onBinLookup(t){if(!t.isReset){const o=i("supportedBrandsRaw").from(t);this.props.onBinLookup(o)}}submitAnalytics(t){const{type:o}=t;o!==m&&o!==y||"scheme"===this.constructor.type&&P(this.props,"supportedShopperInteractions")&&(t.isStoredPaymentMethod=!0,t.brand=this.props.brand),super.submitAnalytics(t)}onConfigSuccess=t=>{this.submitAnalytics({type:y}),this.props.onConfigSuccess?.(t)};onFocus=t=>{this.submitAnalytics({type:f,target:n(t.fieldType)}),C.includes(t.fieldType)?this.props.onFocus?.(t.event):this.props.onFocus?.(t)};onBlur=t=>{this.submitAnalytics({type:b,target:n(t.fieldType)}),C.includes(t.fieldType)?this.props.onBlur?.(t.event):this.props.onBlur?.(t)};onValidationErrorAnalytics=t=>{this.submitAnalytics({type:g,target:n(t.fieldType),validationErrorCode:t.errorCode,validationErrorMessage:T(t.errorCode,B)})};onBinValue=r(this);get storePaymentMethodPayload(){if(this.props.storedPaymentMethodId?.length>0)return{};if(0===this.props.amount?.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(){return this.props.icon??this.resources.getImage()(this.props.brand)}get brands(){const{brands:t,brandsConfiguration:o}=this.props;return t?t.map((t=>({icon:o[t]?.icon??this.props.modules.resources.getImage()(t),name:t}))):[]}get displayName(){return this.props.storedPaymentMethodId?`•••• ${this.props.lastFour}`:this.props.name||R.type}get accessibleName(){return(this.props.name||R.type)+(this.props.storedPaymentMethodId?" "+this.props.i18n.get("creditCard.storedCard.description.ariaLabel").replace("%@",this.props.lastFour):"")}get browserInfo(){return s()}payButton=o=>{const e=0===this.props.amount?.value,s=this.props.storedPaymentMethodId?.length>0;return t(h,{...o,amount:this.props.amount,secondaryAmount:this.props.secondaryAmount,label:e&&!s?this.props.i18n.get("payButton.saveDetails"):"",onClick:this.submit})};renderCardInput(e=!0){return t(o,{setComponentRef:this.setComponentRef,...this.props,...this.state,onChange:this.setState,onSubmit:this.submit,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,onValidationErrorAnalytics:this.onValidationErrorAnalytics,onConfigSuccess:this.onConfigSuccess})}render(){return t(e,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(u,{srPanel:this.props.modules.srPanel},t(c,{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)))))}}export{R as CardElement,R as default};
2
2
  //# sourceMappingURL=Card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","sources":["../../../../src/components/Card/Card.tsx"],"sourcesContent":["import { h } from 'preact';\nimport CardInput from './components/CardInput';\nimport CoreProvider from '../../core/Context/CoreProvider';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport { BinLookupResponse, CardElementData, CardConfiguration } from './types';\nimport triggerBinLookUp from '../internal/SecuredFields/binLookup/triggerBinLookUp';\nimport { CbObjOnBinLookup, CbObjOnConfigSuccess, CbObjOnFocus } from '../internal/SecuredFields/lib/types';\nimport { fieldTypeToSnakeCase, reject } from '../internal/SecuredFields/utils';\nimport { hasValidInstallmentsObject } from './components/CardInput/utils';\nimport createClickToPayService from '../internal/ClickToPay/services/create-clicktopay-service';\nimport { ClickToPayCheckoutPayload, IClickToPayService } from '../internal/ClickToPay/services/types';\nimport ClickToPayWrapper from './components/ClickToPayWrapper';\nimport { ComponentFocusObject } from '../../types/global-types';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport { TxVariants } from '../tx-variants';\nimport { UIElementStatus } from '../internal/UIElement/types';\nimport UIElement from '../internal/UIElement';\nimport PayButton from '../internal/PayButton';\nimport { PayButtonProps } from '../internal/PayButton/PayButton';\nimport type { ICore } from '../../core/types';\nimport {\n ANALYTICS_FOCUS_STR,\n ANALYTICS_CONFIGURED_STR,\n ANALYTICS_UNFOCUS_STR,\n ANALYTICS_VALIDATION_ERROR_STR,\n ANALYTICS_RENDERED_STR\n} from '../../core/Analytics/constants';\nimport { ALL_SECURED_FIELDS } from '../internal/SecuredFields/lib/configuration/constants';\nimport { FieldErrorAnalyticsObject, SendAnalyticsObject } from '../../core/Analytics/types';\nimport { hasOwnProperty } from '../../utils/hasOwnProperty';\nimport AdyenCheckoutError, { IMPLEMENTATION_ERROR } from '../../core/Errors/AdyenCheckoutError';\n\nexport class CardElement extends UIElement<CardConfiguration> {\n public static type = TxVariants.scheme;\n\n private readonly clickToPayService: IClickToPayService | null;\n\n /**\n * Reference to the 'ClickToPayComponent'\n */\n private clickToPayRef = null;\n\n constructor(checkout: ICore, props?: CardConfiguration) {\n super(checkout, props);\n\n if (props && !props._disableClickToPay) {\n this.clickToPayService = createClickToPayService(this.props.configuration, this.props.clickToPayConfiguration, this.props.environment);\n this.clickToPayService?.initialize();\n }\n }\n\n protected static defaultProps = {\n onBinLookup: () => {},\n showFormInstruction: true,\n _disableClickToPay: false\n };\n\n public setStatus(status: UIElementStatus, props?): this {\n if (this.componentRef?.setStatus) {\n this.componentRef.setStatus(status, props);\n }\n if (this.clickToPayRef?.setStatus) {\n this.clickToPayRef.setStatus(status, props);\n }\n return this;\n }\n\n private setClickToPayRef = ref => {\n this.clickToPayRef = ref;\n };\n\n formatProps(props: CardConfiguration) {\n const isZeroAuth = props.amount?.value === 0;\n const enableStoreDetails = isZeroAuth ? false : props.session?.configuration?.enableStoreDetails || props.enableStoreDetails;\n\n const storedCardID = props.storedPaymentMethodId || props.id; // check if we've been passed a (checkout) processed storedCard or one that merchant has pulled from the PMs response\n const isEcommerceStoredCard = storedCardID && props?.supportedShopperInteractions?.includes('Ecommerce'); // If we have a storedCard does it support Ecommerce (it might not if the merchant has pulled it from the PMs response)\n\n // If we have a storedPM but it doesn't support Ecommerce - we can't make a storedCard component from it\n if (storedCardID && !isEcommerceStoredCard) {\n // TODO - Decide if an error is too severe? Would a console.warning suffice?\n throw new AdyenCheckoutError(\n IMPLEMENTATION_ERROR,\n 'You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions'\n );\n }\n\n return {\n ...props,\n // Mismatch between hasHolderName & holderNameRequired which can mean card can never be valid\n holderNameRequired: !props.hasHolderName ? false : props.holderNameRequired,\n // False for *stored* BCMC cards & if merchant explicitly wants to hide the CVC field\n hasCVC: !((props.brand && props.brand === 'bcmc') || props.hideCVC),\n // billingAddressRequired only available for non-stored cards\n billingAddressRequired: props.storedPaymentMethodId ? false : props.billingAddressRequired,\n // ...(props.brands && !props.groupTypes && { groupTypes: props.brands }),\n /** props.brand will be specified in the case of a StoredCard or a Bancontact component, for a regular Card we default it to 'card' */\n brand: props.brand ?? TxVariants.card,\n countryCode: props.countryCode ? props.countryCode.toLowerCase() : null,\n // Required for transition period (until configuration object becomes the norm)\n // - if merchant has defined value directly in props, use this instead\n configuration: {\n ...props.configuration,\n socialSecurityNumberMode: props.configuration?.socialSecurityNumberMode ?? 'auto'\n },\n brandsConfiguration: props.brandsConfiguration || props.configuration?.brandsConfiguration || {},\n icon: props.icon || props.configuration?.icon,\n // installmentOptions of a session should be used before falling back to the merchant configuration\n installmentOptions: props.session?.configuration?.installmentOptions || props.installmentOptions,\n enableStoreDetails,\n /**\n * Click to Pay configuration\n * - If email is set explicitly in the configuration, then it can override the one used in the session creation\n */\n clickToPayConfiguration: {\n ...props.clickToPayConfiguration,\n disableOtpAutoFocus: props.clickToPayConfiguration?.disableOtpAutoFocus || false,\n shopperEmail: props.clickToPayConfiguration?.shopperEmail || this.core.options?.session?.shopperEmail,\n telephoneNumber: props.clickToPayConfiguration?.telephoneNumber || this.core.options?.session?.telephoneNumber,\n locale: props.clickToPayConfiguration?.locale || props.i18n?.locale?.replace('-', '_')\n },\n ...(storedCardID && { storedPaymentMethodId: storedCardID })\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): CardElementData {\n /**\n * this.state.selectedBrandValue will be set when:\n * - /binLookup detects a single brand,\n * - when /binLookup detects a dual-branded card and the shopper makes a brand selection\n * - or, in the case of a storedCard\n */\n const cardBrand = this.state.selectedBrandValue;\n const includeStorePaymentMethod = this.props.enableStoreDetails && typeof this.state.storePaymentMethod !== 'undefined';\n\n return {\n paymentMethod: {\n type: CardElement.type,\n ...this.state.data,\n ...(this.props.storedPaymentMethodId && { storedPaymentMethodId: this.props.storedPaymentMethodId }),\n ...(cardBrand && { brand: cardBrand }),\n ...(this.props.fundingSource && { fundingSource: this.props.fundingSource })\n },\n ...(this.state.billingAddress && { billingAddress: this.state.billingAddress }),\n ...(this.state.socialSecurityNumber && { socialSecurityNumber: this.state.socialSecurityNumber }),\n ...(includeStorePaymentMethod && { storePaymentMethod: Boolean(this.state.storePaymentMethod) }),\n ...(hasValidInstallmentsObject(this.state.installments) && { installments: this.state.installments }),\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin\n };\n }\n\n updateStyles(stylesObj) {\n if (this.componentRef?.updateStyles) this.componentRef.updateStyles(stylesObj);\n return this;\n }\n\n setFocusOn(fieldName) {\n if (this.componentRef?.setFocusOn) this.componentRef.setFocusOn(fieldName);\n return this;\n }\n\n public onBrand = event => {\n this.props.onBrand?.(event);\n };\n\n processBinLookupResponse(binLookupResponse: BinLookupResponse, isReset = false) {\n if (this.componentRef?.processBinLookupResponse) this.componentRef.processBinLookupResponse(binLookupResponse, isReset);\n return this;\n }\n\n handleUnsupportedCard(errObj) {\n if (this.componentRef?.handleUnsupportedCard) this.componentRef.handleUnsupportedCard(errObj);\n return this;\n }\n\n private handleClickToPaySubmit = (payload: ClickToPayCheckoutPayload) => {\n this.setState({ data: { ...payload }, valid: {}, errors: {}, isValid: true });\n this.submit();\n };\n\n onBinLookup(obj: CbObjOnBinLookup) {\n // Handler for regular card comp doesn't need this 'raw' data or to know about 'resets'\n if (!obj.isReset) {\n const nuObj = reject('supportedBrandsRaw').from(obj);\n this.props.onBinLookup(nuObj);\n }\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n const { type } = analyticsObj;\n\n if (type === ANALYTICS_RENDERED_STR || type === ANALYTICS_CONFIGURED_STR) {\n // Check if it's a storedCard\n if (this.constructor['type'] === 'scheme') {\n if (hasOwnProperty(this.props, 'supportedShopperInteractions')) {\n analyticsObj.isStoredPaymentMethod = true;\n analyticsObj.brand = this.props.brand;\n }\n }\n }\n\n super.submitAnalytics(analyticsObj);\n }\n\n private onConfigSuccess = (obj: CbObjOnConfigSuccess) => {\n this.submitAnalytics({\n type: ANALYTICS_CONFIGURED_STR\n });\n\n this.props.onConfigSuccess?.(obj);\n };\n\n private onFocus = (obj: ComponentFocusObject) => {\n this.submitAnalytics({\n type: ANALYTICS_FOCUS_STR,\n target: fieldTypeToSnakeCase(obj.fieldType)\n });\n\n // Call merchant defined callback\n if (ALL_SECURED_FIELDS.includes(obj.fieldType)) {\n this.props.onFocus?.(obj.event as CbObjOnFocus);\n } else {\n this.props.onFocus?.(obj);\n }\n };\n\n private onBlur = (obj: ComponentFocusObject) => {\n this.submitAnalytics({\n type: ANALYTICS_UNFOCUS_STR,\n target: fieldTypeToSnakeCase(obj.fieldType)\n });\n\n // Call merchant defined callback\n if (ALL_SECURED_FIELDS.includes(obj.fieldType)) {\n this.props.onBlur?.(obj.event as CbObjOnFocus);\n } else {\n this.props.onBlur?.(obj);\n }\n };\n\n private onErrorAnalytics = (obj: FieldErrorAnalyticsObject) => {\n this.submitAnalytics({\n type: ANALYTICS_VALIDATION_ERROR_STR,\n target: fieldTypeToSnakeCase(obj.fieldType),\n validationErrorCode: obj.errorCode,\n validationErrorMessage: obj.errorMessage\n });\n };\n\n public onBinValue = triggerBinLookUp(this);\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get icon() {\n return this.props.icon ?? this.resources.getImage()(this.props.brand);\n }\n\n get brands(): { icon: any; name: string }[] {\n const { brands, brandsConfiguration } = this.props;\n if (brands) {\n return brands.map(brand => {\n const brandIcon = brandsConfiguration[brand]?.icon ?? this.props.modules.resources.getImage()(brand);\n return { icon: brandIcon, name: brand };\n });\n }\n\n return [];\n }\n\n get displayName(): string {\n if (this.props.storedPaymentMethodId) {\n return `•••• ${this.props.lastFour}`;\n }\n\n return this.props.name || CardElement.type;\n }\n\n get accessibleName(): string {\n // Use display name, unless it's a stored payment method, there inform user\n return (\n (this.props.name || CardElement.type) +\n (this.props.storedPaymentMethodId\n ? ' ' + this.props.i18n.get('creditCard.storedCard.description.ariaLabel').replace('%@', this.props.lastFour)\n : '')\n );\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n // Override\n protected payButton = (props: PayButtonProps) => {\n const isZeroAuth = this.props.amount?.value === 0;\n const isStoredCard = this.props.storedPaymentMethodId?.length > 0;\n return (\n <PayButton\n {...props}\n amount={this.props.amount}\n secondaryAmount={this.props.secondaryAmount}\n label={isZeroAuth && !isStoredCard ? this.props.i18n.get('payButton.saveDetails') : ''}\n onClick={this.submit}\n />\n );\n };\n\n private renderCardInput(isCardPrimaryInput = true): h.JSX.Element {\n return (\n <CardInput\n setComponentRef={this.setComponentRef}\n {...this.props}\n {...this.state}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n onBrand={this.onBrand}\n onBinValue={this.onBinValue}\n brand={this.props.brand}\n brandsIcons={this.brands}\n isPayButtonPrimaryVariant={isCardPrimaryInput}\n resources={this.resources}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onErrorAnalytics={this.onErrorAnalytics}\n onConfigSuccess={this.onConfigSuccess}\n />\n );\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <ClickToPayWrapper\n amount={this.props.amount}\n configuration={this.props.clickToPayConfiguration}\n clickToPayService={this.clickToPayService}\n isStandaloneComponent={false}\n setClickToPayRef={this.setClickToPayRef}\n onSetStatus={this.setElementStatus}\n onSubmit={this.handleClickToPaySubmit}\n onError={this.handleError}\n >\n {isCardPrimaryInput => this.renderCardInput(isCardPrimaryInput)}\n </ClickToPayWrapper>\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n}\n\nexport default CardElement;\n"],"names":["CardElement","UIElement","static","TxVariants","scheme","clickToPayService","clickToPayRef","constructor","checkout","props","super","_disableClickToPay","this","createClickToPayService","configuration","clickToPayConfiguration","environment","initialize","onBinLookup","showFormInstruction","setStatus","status","componentRef","setClickToPayRef","ref","formatProps","enableStoreDetails","amount","value","session","storedCardID","storedPaymentMethodId","id","isEcommerceStoredCard","supportedShopperInteractions","includes","AdyenCheckoutError","IMPLEMENTATION_ERROR","holderNameRequired","hasHolderName","hasCVC","brand","hideCVC","billingAddressRequired","card","countryCode","toLowerCase","socialSecurityNumberMode","brandsConfiguration","icon","installmentOptions","disableOtpAutoFocus","shopperEmail","core","options","telephoneNumber","locale","i18n","replace","formatData","cardBrand","state","selectedBrandValue","includeStorePaymentMethod","storePaymentMethod","paymentMethod","type","data","fundingSource","billingAddress","socialSecurityNumber","Boolean","hasValidInstallmentsObject","installments","browserInfo","origin","window","location","updateStyles","stylesObj","setFocusOn","fieldName","onBrand","event","processBinLookupResponse","binLookupResponse","isReset","handleUnsupportedCard","errObj","handleClickToPaySubmit","payload","setState","valid","errors","isValid","submit","obj","nuObj","reject","from","submitAnalytics","analyticsObj","ANALYTICS_RENDERED_STR","ANALYTICS_CONFIGURED_STR","hasOwnProperty","isStoredPaymentMethod","onConfigSuccess","onFocus","ANALYTICS_FOCUS_STR","target","fieldTypeToSnakeCase","fieldType","ALL_SECURED_FIELDS","onBlur","ANALYTICS_UNFOCUS_STR","onErrorAnalytics","ANALYTICS_VALIDATION_ERROR_STR","validationErrorCode","errorCode","validationErrorMessage","errorMessage","onBinValue","triggerBinLookUp","resources","getImage","brands","map","modules","name","displayName","lastFour","accessibleName","get","collectBrowserInfo","payButton","isZeroAuth","isStoredCard","length","h","PayButton","secondaryAmount","label","onClick","renderCardInput","isCardPrimaryInput","CardInput","setComponentRef","onChange","onSubmit","brandsIcons","isPayButtonPrimaryVariant","render","CoreProvider","loadingContext","SRPanelProvider","srPanel","ClickToPayWrapper","isStandaloneComponent","onSetStatus","setElementStatus","onError","handleError"],"mappings":"+rCAgCO,MAAMA,UAAoBC,EAC7BC,YAAqBC,EAAWC,OAEfC,kBAKTC,cAAgB,KAExBC,WAAAA,CAAYC,EAAiBC,GACzBC,MAAMF,EAAUC,GAEZA,IAAUA,EAAME,qBAChBC,KAAKP,kBAAoBQ,EAAwBD,KAAKH,MAAMK,cAAeF,KAAKH,MAAMM,wBAAyBH,KAAKH,MAAMO,aAC1HJ,KAAKP,mBAAmBY,aAEhC,CAEAf,oBAAgC,CAC5BgB,YAAa,OACbC,qBAAqB,EACrBR,oBAAoB,GAGjBS,SAAAA,CAAUC,EAAyBZ,GAOtC,OANIG,KAAKU,cAAcF,WACnBR,KAAKU,aAAaF,UAAUC,EAAQZ,GAEpCG,KAAKN,eAAec,WACpBR,KAAKN,cAAcc,UAAUC,EAAQZ,GAElCG,IACX,CAEQW,iBAAmBC,IACvBZ,KAAKN,cAAgBkB,CAAAA,EAGzBC,WAAAA,CAAYhB,GACR,MACMiB,IADqC,IAAxBjB,EAAMkB,QAAQC,SACenB,EAAMoB,SAASf,eAAeY,oBAAsBjB,EAAMiB,oBAEpGI,EAAerB,EAAMsB,uBAAyBtB,EAAMuB,GACpDC,EAAwBH,GAAgBrB,GAAOyB,8BAA8BC,SAAS,aAG5F,GAAIL,IAAiBG,EAEjB,MAAM,IAAIG,EACNC,EACA,uGAIR,MAAO,IACA5B,EAEH6B,qBAAqB7B,EAAM8B,eAAwB9B,EAAM6B,mBAEzDE,SAAU/B,EAAOgC,OAAyB,SAAhBhC,EAAMgC,OAAqBhC,EAAMiC,SAE3DC,wBAAwBlC,EAAMsB,uBAAgCtB,EAAMkC,uBAGpEF,MAAOhC,EAAMgC,OAAStC,EAAWyC,KACjCC,YAAapC,EAAMoC,YAAcpC,EAAMoC,YAAYC,cAAgB,KAGnEhC,cAAe,IACRL,EAAMK,cACTiC,yBAA0BtC,EAAMK,eAAeiC,0BAA4B,QAE/EC,oBAAqBvC,EAAMuC,qBAAuBvC,EAAMK,eAAekC,qBAAuB,CAAC,EAC/FC,KAAMxC,EAAMwC,MAAQxC,EAAMK,eAAemC,KAEzCC,mBAAoBzC,EAAMoB,SAASf,eAAeoC,oBAAsBzC,EAAMyC,mBAC9ExB,qBAKAX,wBAAyB,IAClBN,EAAMM,wBACToC,oBAAqB1C,EAAMM,yBAAyBoC,sBAAuB,EAC3EC,aAAc3C,EAAMM,yBAAyBqC,cAAgBxC,KAAKyC,KAAKC,SAASzB,SAASuB,aACzFG,gBAAiB9C,EAAMM,yBAAyBwC,iBAAmB3C,KAAKyC,KAAKC,SAASzB,SAAS0B,gBAC/FC,OAAQ/C,EAAMM,yBAAyByC,QAAU/C,EAAMgD,MAAMD,QAAQE,QAAQ,IAAK,SAElF5B,GAAgB,CAAEC,sBAAuBD,GAErD,CAKA6B,UAAAA,GAOI,MAAMC,EAAYhD,KAAKiD,MAAMC,mBACvBC,EAA4BnD,KAAKH,MAAMiB,yBAA+D,IAAlCd,KAAKiD,MAAMG,mBAErF,MAAO,CACHC,cAAe,CACXC,KAAMlE,EAAYkE,QACftD,KAAKiD,MAAMM,QACVvD,KAAKH,MAAMsB,uBAAyB,CAAEA,sBAAuBnB,KAAKH,MAAMsB,0BACxE6B,GAAa,CAAEnB,MAAOmB,MACtBhD,KAAKH,MAAM2D,eAAiB,CAAEA,cAAexD,KAAKH,MAAM2D,mBAE5DxD,KAAKiD,MAAMQ,gBAAkB,CAAEA,eAAgBzD,KAAKiD,MAAMQ,mBAC1DzD,KAAKiD,MAAMS,sBAAwB,CAAEA,qBAAsB1D,KAAKiD,MAAMS,yBACtEP,GAA6B,CAAEC,mBAAoBO,QAAQ3D,KAAKiD,MAAMG,wBACtEQ,EAA2B5D,KAAKiD,MAAMY,eAAiB,CAAEA,aAAc7D,KAAKiD,MAAMY,cACtFC,YAAa9D,KAAK8D,YAClBC,SAAUC,QAAUA,OAAOC,SAASF,OAE5C,CAEAG,YAAAA,CAAaC,GAET,OADInE,KAAKU,cAAcwD,cAAclE,KAAKU,aAAawD,aAAaC,GAC7DnE,IACX,CAEAoE,UAAAA,CAAWC,GAEP,OADIrE,KAAKU,cAAc0D,YAAYpE,KAAKU,aAAa0D,WAAWC,GACzDrE,IACX,CAEOsE,QAAUC,IACbvE,KAAKH,MAAMyE,UAAUC,EAAAA,EAGzBC,wBAAAA,CAAyBC,EAAsCC,GAAU,GAErE,OADI1E,KAAKU,cAAc8D,0BAA0BxE,KAAKU,aAAa8D,yBAAyBC,EAAmBC,GACxG1E,IACX,CAEA2E,qBAAAA,CAAsBC,GAElB,OADI5E,KAAKU,cAAciE,uBAAuB3E,KAAKU,aAAaiE,sBAAsBC,GAC/E5E,IACX,CAEQ6E,uBAA0BC,IAC9B9E,KAAK+E,SAAS,CAAExB,KAAM,IAAKuB,GAAWE,MAAO,CAAC,EAAGC,OAAQ,CAAC,EAAGC,SAAS,IACtElF,KAAKmF,QAAM,EAGf7E,WAAAA,CAAY8E,GAER,IAAKA,EAAIV,QAAS,CACd,MAAMW,EAAQC,EAAO,sBAAsBC,KAAKH,GAChDpF,KAAKH,MAAMS,YAAY+E,EAC3B,CACJ,CAEUG,eAAAA,CAAgBC,GACtB,MAAMnC,KAAEA,GAASmC,EAEbnC,IAASoC,GAA0BpC,IAASqC,GAEX,WAA7B3F,KAAKL,YAAY,MACbiG,EAAe5F,KAAKH,MAAO,kCAC3B4F,EAAaI,uBAAwB,EACrCJ,EAAa5D,MAAQ7B,KAAKH,MAAMgC,OAK5C/B,MAAM0F,gBAAgBC,EAC1B,CAEQK,gBAAmBV,IACvBpF,KAAKwF,gBAAgB,CACjBlC,KAAMqC,IAGV3F,KAAKH,MAAMiG,kBAAkBV,EAAAA,EAGzBW,QAAWX,IACfpF,KAAKwF,gBAAgB,CACjBlC,KAAM0C,EACNC,OAAQC,EAAqBd,EAAIe,aAIjCC,EAAmB7E,SAAS6D,EAAIe,WAChCnG,KAAKH,MAAMkG,UAAUX,EAAIb,OAEzBvE,KAAKH,MAAMkG,UAAUX,EACzB,EAGIiB,OAAUjB,IACdpF,KAAKwF,gBAAgB,CACjBlC,KAAMgD,EACNL,OAAQC,EAAqBd,EAAIe,aAIjCC,EAAmB7E,SAAS6D,EAAIe,WAChCnG,KAAKH,MAAMwG,SAASjB,EAAIb,OAExBvE,KAAKH,MAAMwG,SAASjB,EACxB,EAGImB,iBAAoBnB,IACxBpF,KAAKwF,gBAAgB,CACjBlC,KAAMkD,EACNP,OAAQC,EAAqBd,EAAIe,WACjCM,oBAAqBrB,EAAIsB,UACzBC,uBAAwBvB,EAAIwB,cAChC,EAGGC,WAAaC,EAAiB9G,MAErC,WAAIkF,GACA,QAASlF,KAAKiD,MAAMiC,OACxB,CAEA,QAAI7C,GACA,OAAOrC,KAAKH,MAAMwC,MAAQrC,KAAK+G,UAAUC,UAAfhH,CAA0BA,KAAKH,MAAMgC,MACnE,CAEA,UAAIoF,GACA,MAAMA,OAAEA,EAAM7E,oBAAEA,GAAwBpC,KAAKH,MAC7C,OAAIoH,EACOA,EAAOC,KAAIrF,IAEP,CAAEQ,KADSD,EAAoBP,IAAQQ,MAAQrC,KAAKH,MAAMsH,QAAQJ,UAAUC,UAA7BhH,CAAwC6B,GACpEuF,KAAMvF,MAIjC,EACX,CAEA,eAAIwF,GACA,OAAIrH,KAAKH,MAAMsB,sBACJ,QAAQnB,KAAKH,MAAMyH,WAGvBtH,KAAKH,MAAMuH,MAAQhI,EAAYkE,IAC1C,CAEA,kBAAIiE,GAEA,OACKvH,KAAKH,MAAMuH,MAAQhI,EAAYkE,OAC/BtD,KAAKH,MAAMsB,sBACN,IAAMnB,KAAKH,MAAMgD,KAAK2E,IAAI,+CAA+C1E,QAAQ,KAAM9C,KAAKH,MAAMyH,UAClG,GAEd,CAEA,eAAIxD,GACA,OAAO2D,GACX,CAEUC,UAAa7H,IACnB,MAAM8H,EAA0C,IAA7B3H,KAAKH,MAAMkB,QAAQC,MAChC4G,EAAe5H,KAAKH,MAAMsB,uBAAuB0G,OAAS,EAChE,OACIC,EAACC,EAAAA,IACOlI,EACJkB,OAAQf,KAAKH,MAAMkB,OACnBiH,gBAAiBhI,KAAKH,MAAMmI,gBAC5BC,MAAON,IAAeC,EAAe5H,KAAKH,MAAMgD,KAAK2E,IAAI,yBAA2B,GACpFU,QAASlI,KAAKmF,UAKlBgD,eAAAA,CAAgBC,GAAqB,GACzC,OACIN,EAACO,EAAAA,CACGC,gBAAiBtI,KAAKsI,mBAClBtI,KAAKH,SACLG,KAAKiD,MACTsF,SAAUvI,KAAK+E,SACfyD,SAAUxI,KAAKmF,OACfuC,UAAW1H,KAAK0H,UAChBpD,QAAStE,KAAKsE,QACduC,WAAY7G,KAAK6G,WACjBhF,MAAO7B,KAAKH,MAAMgC,MAClB4G,YAAazI,KAAKiH,OAClByB,0BAA2BN,EAC3BrB,UAAW/G,KAAK+G,UAChBhB,QAAS/F,KAAK+F,QACdM,OAAQrG,KAAKqG,OACbE,iBAAkBvG,KAAKuG,iBACvBT,gBAAiB9F,KAAK8F,iBAGlC,CAEA6C,MAAAA,GACI,OACIb,EAACc,EAAAA,CAAa/F,KAAM7C,KAAKH,MAAMgD,KAAMgG,eAAgB7I,KAAKH,MAAMgJ,eAAgB9B,UAAW/G,KAAK+G,WAC5Fe,EAACgB,EAAAA,CAAgBC,QAAS/I,KAAKH,MAAMsH,QAAQ4B,SACzCjB,EAACkB,EAAAA,CACGjI,OAAQf,KAAKH,MAAMkB,OACnBb,cAAeF,KAAKH,MAAMM,wBAC1BV,kBAAmBO,KAAKP,kBACxBwJ,uBAAuB,EACvBtI,iBAAkBX,KAAKW,iBACvBuI,YAAalJ,KAAKmJ,iBAClBX,SAAUxI,KAAK6E,uBACfuE,QAASpJ,KAAKqJ,cAEbjB,GAAsBpI,KAAKmI,gBAAgBC,MAKhE"}
1
+ {"version":3,"file":"Card.js","sources":["../../../../src/components/Card/Card.tsx"],"sourcesContent":["import { h } from 'preact';\nimport CardInput from './components/CardInput';\nimport CoreProvider from '../../core/Context/CoreProvider';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport { BinLookupResponse, CardElementData, CardConfiguration } from './types';\nimport triggerBinLookUp from '../internal/SecuredFields/binLookup/triggerBinLookUp';\nimport { CbObjOnBinLookup, CbObjOnConfigSuccess, CbObjOnFocus } from '../internal/SecuredFields/lib/types';\nimport { fieldTypeToSnakeCase, reject } from '../internal/SecuredFields/utils';\nimport { hasValidInstallmentsObject } from './components/CardInput/utils';\nimport createClickToPayService from '../internal/ClickToPay/services/create-clicktopay-service';\nimport { ClickToPayCheckoutPayload, IClickToPayService } from '../internal/ClickToPay/services/types';\nimport ClickToPayWrapper from './components/ClickToPayWrapper';\nimport { ComponentFocusObject } from '../../types/global-types';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport { TxVariants } from '../tx-variants';\nimport { UIElementStatus } from '../internal/UIElement/types';\nimport UIElement from '../internal/UIElement';\nimport PayButton from '../internal/PayButton';\nimport { PayButtonProps } from '../internal/PayButton/PayButton';\nimport type { ICore } from '../../core/types';\nimport {\n ANALYTICS_FOCUS_STR,\n ANALYTICS_CONFIGURED_STR,\n ANALYTICS_UNFOCUS_STR,\n ANALYTICS_VALIDATION_ERROR_STR,\n ANALYTICS_RENDERED_STR\n} from '../../core/Analytics/constants';\nimport { ALL_SECURED_FIELDS } from '../internal/SecuredFields/lib/configuration/constants';\nimport { FieldErrorAnalyticsObject, SendAnalyticsObject } from '../../core/Analytics/types';\nimport { hasOwnProperty } from '../../utils/hasOwnProperty';\nimport AdyenCheckoutError, { IMPLEMENTATION_ERROR } from '../../core/Errors/AdyenCheckoutError';\nimport { getErrorMessageFromCode } from '../../core/Errors/utils';\nimport { SF_ErrorCodes } from '../../core/Errors/constants';\n\nexport class CardElement extends UIElement<CardConfiguration> {\n public static type = TxVariants.scheme;\n\n private readonly clickToPayService: IClickToPayService | null;\n\n /**\n * Reference to the 'ClickToPayComponent'\n */\n private clickToPayRef = null;\n\n constructor(checkout: ICore, props?: CardConfiguration) {\n super(checkout, props);\n\n if (props && !props._disableClickToPay) {\n this.clickToPayService = createClickToPayService(this.props.configuration, this.props.clickToPayConfiguration, this.props.environment);\n this.clickToPayService?.initialize();\n }\n }\n\n protected static defaultProps = {\n onBinLookup: () => {},\n showFormInstruction: true,\n _disableClickToPay: false\n };\n\n public setStatus(status: UIElementStatus, props?): this {\n if (this.componentRef?.setStatus) {\n this.componentRef.setStatus(status, props);\n }\n if (this.clickToPayRef?.setStatus) {\n this.clickToPayRef.setStatus(status, props);\n }\n return this;\n }\n\n private setClickToPayRef = ref => {\n this.clickToPayRef = ref;\n };\n\n formatProps(props: CardConfiguration) {\n // The value from a session should be used, before falling back to the merchant configuration\n const enableStoreDetails = props.session?.configuration?.enableStoreDetails ?? props.enableStoreDetails;\n\n const isZeroAuth = props.amount?.value === 0;\n const showStoreDetailsCheckbox = isZeroAuth ? false : enableStoreDetails;\n\n const storedCardID = props.storedPaymentMethodId || props.id; // check if we've been passed a (checkout) processed storedCard or one that merchant has pulled from the PMs response\n const isEcommerceStoredCard = storedCardID && props?.supportedShopperInteractions?.includes('Ecommerce'); // If we have a storedCard does it support Ecommerce (it might not if the merchant has pulled it from the PMs response)\n\n // If we have a storedPM but it doesn't support Ecommerce - we can't make a storedCard component from it\n if (storedCardID && !isEcommerceStoredCard) {\n // TODO - Decide if an error is too severe? Would a console.warning suffice?\n throw new AdyenCheckoutError(\n IMPLEMENTATION_ERROR,\n 'You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions'\n );\n }\n\n return {\n ...props,\n // Mismatch between hasHolderName & holderNameRequired which can mean card can never be valid\n holderNameRequired: !props.hasHolderName ? false : props.holderNameRequired,\n // False for *stored* BCMC cards & if merchant explicitly wants to hide the CVC field\n hasCVC: !((props.brand && props.brand === 'bcmc') || props.hideCVC),\n // billingAddressRequired only available for non-stored cards\n billingAddressRequired: props.storedPaymentMethodId ? false : props.billingAddressRequired,\n // ...(props.brands && !props.groupTypes && { groupTypes: props.brands }),\n /** props.brand will be specified in the case of a StoredCard or a Bancontact component, for a regular Card we default it to 'card' */\n brand: props.brand ?? TxVariants.card,\n countryCode: props.countryCode ? props.countryCode.toLowerCase() : null,\n // Required for transition period (until configuration object becomes the norm)\n // - if merchant has defined value directly in props, use this instead\n configuration: {\n ...props.configuration,\n socialSecurityNumberMode: props.configuration?.socialSecurityNumberMode ?? 'auto'\n },\n brandsConfiguration: props.brandsConfiguration || props.configuration?.brandsConfiguration || {},\n icon: props.icon || props.configuration?.icon,\n // installmentOptions of a session should be used before falling back to the merchant configuration\n installmentOptions: props.session?.configuration?.installmentOptions || props.installmentOptions,\n enableStoreDetails,\n showStoreDetailsCheckbox,\n /**\n * Click to Pay configuration\n * - If email is set explicitly in the configuration, then it can override the one used in the session creation\n */\n clickToPayConfiguration: {\n ...props.clickToPayConfiguration,\n disableOtpAutoFocus: props.clickToPayConfiguration?.disableOtpAutoFocus || false,\n shopperEmail: props.clickToPayConfiguration?.shopperEmail || this.core.options?.session?.shopperEmail,\n telephoneNumber: props.clickToPayConfiguration?.telephoneNumber || this.core.options?.session?.telephoneNumber,\n locale: props.clickToPayConfiguration?.locale || props.i18n?.locale?.replace('-', '_')\n },\n ...(storedCardID && { storedPaymentMethodId: storedCardID })\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): CardElementData {\n /**\n * this.state.selectedBrandValue will be set when:\n * - /binLookup detects a single brand,\n * - when /binLookup detects a dual-branded card and the shopper makes a brand selection\n * - or, in the case of a storedCard\n */\n const cardBrand = this.state.selectedBrandValue;\n\n return {\n paymentMethod: {\n type: CardElement.type,\n ...this.state.data,\n ...(this.props.storedPaymentMethodId && { storedPaymentMethodId: this.props.storedPaymentMethodId }),\n ...(cardBrand && { brand: cardBrand }),\n ...(this.props.fundingSource && { fundingSource: this.props.fundingSource })\n },\n ...(this.state.billingAddress && { billingAddress: this.state.billingAddress }),\n ...(this.state.socialSecurityNumber && { socialSecurityNumber: this.state.socialSecurityNumber }),\n ...this.storePaymentMethodPayload,\n ...(hasValidInstallmentsObject(this.state.installments) && { installments: this.state.installments }),\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin\n };\n }\n\n updateStyles(stylesObj) {\n if (this.componentRef?.updateStyles) this.componentRef.updateStyles(stylesObj);\n return this;\n }\n\n setFocusOn(fieldName) {\n if (this.componentRef?.setFocusOn) this.componentRef.setFocusOn(fieldName);\n return this;\n }\n\n public onBrand = event => {\n this.props.onBrand?.(event);\n };\n\n processBinLookupResponse(binLookupResponse: BinLookupResponse, isReset = false) {\n if (this.componentRef?.processBinLookupResponse) this.componentRef.processBinLookupResponse(binLookupResponse, isReset);\n return this;\n }\n\n handleUnsupportedCard(errObj) {\n if (this.componentRef?.handleUnsupportedCard) this.componentRef.handleUnsupportedCard(errObj);\n return this;\n }\n\n private handleClickToPaySubmit = (payload: ClickToPayCheckoutPayload) => {\n this.setState({ data: { ...payload }, valid: {}, errors: {}, isValid: true });\n this.submit();\n };\n\n onBinLookup(obj: CbObjOnBinLookup) {\n // Handler for regular card comp doesn't need this 'raw' data or to know about 'resets'\n if (!obj.isReset) {\n const nuObj = reject('supportedBrandsRaw').from(obj);\n this.props.onBinLookup(nuObj);\n }\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n const { type } = analyticsObj;\n\n if (type === ANALYTICS_RENDERED_STR || type === ANALYTICS_CONFIGURED_STR) {\n // Check if it's a storedCard\n if (this.constructor['type'] === 'scheme') {\n if (hasOwnProperty(this.props, 'supportedShopperInteractions')) {\n analyticsObj.isStoredPaymentMethod = true;\n analyticsObj.brand = this.props.brand;\n }\n }\n }\n\n super.submitAnalytics(analyticsObj);\n }\n\n private onConfigSuccess = (obj: CbObjOnConfigSuccess) => {\n this.submitAnalytics({\n type: ANALYTICS_CONFIGURED_STR\n });\n\n this.props.onConfigSuccess?.(obj);\n };\n\n private onFocus = (obj: ComponentFocusObject) => {\n this.submitAnalytics({\n type: ANALYTICS_FOCUS_STR,\n target: fieldTypeToSnakeCase(obj.fieldType)\n });\n\n // Call merchant defined callback\n if (ALL_SECURED_FIELDS.includes(obj.fieldType)) {\n this.props.onFocus?.(obj.event as CbObjOnFocus);\n } else {\n this.props.onFocus?.(obj);\n }\n };\n\n private onBlur = (obj: ComponentFocusObject) => {\n this.submitAnalytics({\n type: ANALYTICS_UNFOCUS_STR,\n target: fieldTypeToSnakeCase(obj.fieldType)\n });\n\n // Call merchant defined callback\n if (ALL_SECURED_FIELDS.includes(obj.fieldType)) {\n this.props.onBlur?.(obj.event as CbObjOnFocus);\n } else {\n this.props.onBlur?.(obj);\n }\n };\n\n private onValidationErrorAnalytics = (obj: FieldErrorAnalyticsObject) => {\n this.submitAnalytics({\n type: ANALYTICS_VALIDATION_ERROR_STR,\n target: fieldTypeToSnakeCase(obj.fieldType),\n validationErrorCode: obj.errorCode,\n validationErrorMessage: getErrorMessageFromCode(obj.errorCode, SF_ErrorCodes)\n });\n };\n\n public onBinValue = triggerBinLookUp(this);\n\n get storePaymentMethodPayload() {\n const isStoredCard = this.props.storedPaymentMethodId?.length > 0;\n if (isStoredCard) {\n return {};\n }\n\n /**\n * For regular card, zero auth payments, we store the payment method, *if* the configuration says we should:\n * - For sessions, this means if the session has been created with storePaymentMethodMode: 'askForConsent'\n * - For the advanced flow, this means if the merchant has still set enableStoreDetails: true\n *\n * What we are doing is.. if for a normal payment we would show the \"Save for my next payment\" checkbox,\n * for a zero-auth payment we effectively click the checkbox on behalf of the shopper.\n */\n const isZeroAuth = this.props.amount?.value === 0;\n if (isZeroAuth) {\n return this.props.enableStoreDetails ? { storePaymentMethod: true } : {};\n }\n\n // For regular card, non-zero auth payments, we store the payment method based on the checkbox value.\n // const includeStorePaymentMethod = this.props.enableStoreDetails && typeof this.state.storePaymentMethod !== 'undefined';\n const includeStorePaymentMethod = this.props.showStoreDetailsCheckbox && typeof this.state.storePaymentMethod !== 'undefined';\n return includeStorePaymentMethod ? { storePaymentMethod: Boolean(this.state.storePaymentMethod) } : {};\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get icon() {\n return this.props.icon ?? this.resources.getImage()(this.props.brand);\n }\n\n get brands(): { icon: any; name: string }[] {\n const { brands, brandsConfiguration } = this.props;\n if (brands) {\n return brands.map(brand => {\n const brandIcon = brandsConfiguration[brand]?.icon ?? this.props.modules.resources.getImage()(brand);\n return { icon: brandIcon, name: brand };\n });\n }\n\n return [];\n }\n\n get displayName(): string {\n if (this.props.storedPaymentMethodId) {\n return `•••• ${this.props.lastFour}`;\n }\n\n return this.props.name || CardElement.type;\n }\n\n get accessibleName(): string {\n // Use display name, unless it's a stored payment method, there inform user\n return (\n (this.props.name || CardElement.type) +\n (this.props.storedPaymentMethodId\n ? ' ' + this.props.i18n.get('creditCard.storedCard.description.ariaLabel').replace('%@', this.props.lastFour)\n : '')\n );\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n // Override\n protected payButton = (props: PayButtonProps) => {\n const isZeroAuth = this.props.amount?.value === 0;\n const isStoredCard = this.props.storedPaymentMethodId?.length > 0;\n return (\n <PayButton\n {...props}\n amount={this.props.amount}\n secondaryAmount={this.props.secondaryAmount}\n label={isZeroAuth && !isStoredCard ? this.props.i18n.get('payButton.saveDetails') : ''}\n onClick={this.submit}\n />\n );\n };\n\n private renderCardInput(isCardPrimaryInput = true): h.JSX.Element {\n return (\n <CardInput\n setComponentRef={this.setComponentRef}\n {...this.props}\n {...this.state}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n onBrand={this.onBrand}\n onBinValue={this.onBinValue}\n brand={this.props.brand}\n brandsIcons={this.brands}\n isPayButtonPrimaryVariant={isCardPrimaryInput}\n resources={this.resources}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onValidationErrorAnalytics={this.onValidationErrorAnalytics}\n onConfigSuccess={this.onConfigSuccess}\n />\n );\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <ClickToPayWrapper\n amount={this.props.amount}\n configuration={this.props.clickToPayConfiguration}\n clickToPayService={this.clickToPayService}\n isStandaloneComponent={false}\n setClickToPayRef={this.setClickToPayRef}\n onSetStatus={this.setElementStatus}\n onSubmit={this.handleClickToPaySubmit}\n onError={this.handleError}\n >\n {isCardPrimaryInput => this.renderCardInput(isCardPrimaryInput)}\n </ClickToPayWrapper>\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n}\n\nexport default CardElement;\n"],"names":["CardElement","UIElement","static","TxVariants","scheme","clickToPayService","clickToPayRef","constructor","checkout","props","super","_disableClickToPay","this","createClickToPayService","configuration","clickToPayConfiguration","environment","initialize","onBinLookup","showFormInstruction","setStatus","status","componentRef","setClickToPayRef","ref","formatProps","enableStoreDetails","session","showStoreDetailsCheckbox","amount","value","storedCardID","storedPaymentMethodId","id","isEcommerceStoredCard","supportedShopperInteractions","includes","AdyenCheckoutError","IMPLEMENTATION_ERROR","holderNameRequired","hasHolderName","hasCVC","brand","hideCVC","billingAddressRequired","card","countryCode","toLowerCase","socialSecurityNumberMode","brandsConfiguration","icon","installmentOptions","disableOtpAutoFocus","shopperEmail","core","options","telephoneNumber","locale","i18n","replace","formatData","cardBrand","state","selectedBrandValue","paymentMethod","type","data","fundingSource","billingAddress","socialSecurityNumber","storePaymentMethodPayload","hasValidInstallmentsObject","installments","browserInfo","origin","window","location","updateStyles","stylesObj","setFocusOn","fieldName","onBrand","event","processBinLookupResponse","binLookupResponse","isReset","handleUnsupportedCard","errObj","handleClickToPaySubmit","payload","setState","valid","errors","isValid","submit","obj","nuObj","reject","from","submitAnalytics","analyticsObj","ANALYTICS_RENDERED_STR","ANALYTICS_CONFIGURED_STR","hasOwnProperty","isStoredPaymentMethod","onConfigSuccess","onFocus","ANALYTICS_FOCUS_STR","target","fieldTypeToSnakeCase","fieldType","ALL_SECURED_FIELDS","onBlur","ANALYTICS_UNFOCUS_STR","onValidationErrorAnalytics","ANALYTICS_VALIDATION_ERROR_STR","validationErrorCode","errorCode","validationErrorMessage","getErrorMessageFromCode","SF_ErrorCodes","onBinValue","triggerBinLookUp","length","storePaymentMethod","Boolean","resources","getImage","brands","map","modules","name","displayName","lastFour","accessibleName","get","collectBrowserInfo","payButton","isZeroAuth","isStoredCard","h","PayButton","secondaryAmount","label","onClick","renderCardInput","isCardPrimaryInput","CardInput","setComponentRef","onChange","onSubmit","brandsIcons","isPayButtonPrimaryVariant","render","CoreProvider","loadingContext","SRPanelProvider","srPanel","ClickToPayWrapper","isStandaloneComponent","onSetStatus","setElementStatus","onError","handleError"],"mappings":"m0CAkCO,MAAMA,UAAoBC,EAC7BC,YAAqBC,EAAWC,OAEfC,kBAKTC,cAAgB,KAExBC,WAAAA,CAAYC,EAAiBC,GACzBC,MAAMF,EAAUC,GAEZA,IAAUA,EAAME,qBAChBC,KAAKP,kBAAoBQ,EAAwBD,KAAKH,MAAMK,cAAeF,KAAKH,MAAMM,wBAAyBH,KAAKH,MAAMO,aAC1HJ,KAAKP,mBAAmBY,aAEhC,CAEAf,oBAAgC,CAC5BgB,YAAa,OACbC,qBAAqB,EACrBR,oBAAoB,GAGjBS,SAAAA,CAAUC,EAAyBZ,GAOtC,OANIG,KAAKU,cAAcF,WACnBR,KAAKU,aAAaF,UAAUC,EAAQZ,GAEpCG,KAAKN,eAAec,WACpBR,KAAKN,cAAcc,UAAUC,EAAQZ,GAElCG,IACX,CAEQW,iBAAmBC,IACvBZ,KAAKN,cAAgBkB,CAAAA,EAGzBC,WAAAA,CAAYhB,GAER,MAAMiB,EAAqBjB,EAAMkB,SAASb,eAAeY,oBAAsBjB,EAAMiB,mBAG/EE,IADqC,IAAxBnB,EAAMoB,QAAQC,QACqBJ,EAEhDK,EAAetB,EAAMuB,uBAAyBvB,EAAMwB,GACpDC,EAAwBH,GAAgBtB,GAAO0B,8BAA8BC,SAAS,aAG5F,GAAIL,IAAiBG,EAEjB,MAAM,IAAIG,EACNC,EACA,uGAIR,MAAO,IACA7B,EAEH8B,qBAAqB9B,EAAM+B,eAAwB/B,EAAM8B,mBAEzDE,SAAUhC,EAAOiC,OAAyB,SAAhBjC,EAAMiC,OAAqBjC,EAAMkC,SAE3DC,wBAAwBnC,EAAMuB,uBAAgCvB,EAAMmC,uBAGpEF,MAAOjC,EAAMiC,OAASvC,EAAW0C,KACjCC,YAAarC,EAAMqC,YAAcrC,EAAMqC,YAAYC,cAAgB,KAGnEjC,cAAe,IACRL,EAAMK,cACTkC,yBAA0BvC,EAAMK,eAAekC,0BAA4B,QAE/EC,oBAAqBxC,EAAMwC,qBAAuBxC,EAAMK,eAAemC,qBAAuB,CAAC,EAC/FC,KAAMzC,EAAMyC,MAAQzC,EAAMK,eAAeoC,KAEzCC,mBAAoB1C,EAAMkB,SAASb,eAAeqC,oBAAsB1C,EAAM0C,mBAC9EzB,qBACAE,2BAKAb,wBAAyB,IAClBN,EAAMM,wBACTqC,oBAAqB3C,EAAMM,yBAAyBqC,sBAAuB,EAC3EC,aAAc5C,EAAMM,yBAAyBsC,cAAgBzC,KAAK0C,KAAKC,SAAS5B,SAAS0B,aACzFG,gBAAiB/C,EAAMM,yBAAyByC,iBAAmB5C,KAAK0C,KAAKC,SAAS5B,SAAS6B,gBAC/FC,OAAQhD,EAAMM,yBAAyB0C,QAAUhD,EAAMiD,MAAMD,QAAQE,QAAQ,IAAK,SAElF5B,GAAgB,CAAEC,sBAAuBD,GAErD,CAKA6B,UAAAA,GAOI,MAAMC,EAAYjD,KAAKkD,MAAMC,mBAE7B,MAAO,CACHC,cAAe,CACXC,KAAMjE,EAAYiE,QACfrD,KAAKkD,MAAMI,QACVtD,KAAKH,MAAMuB,uBAAyB,CAAEA,sBAAuBpB,KAAKH,MAAMuB,0BACxE6B,GAAa,CAAEnB,MAAOmB,MACtBjD,KAAKH,MAAM0D,eAAiB,CAAEA,cAAevD,KAAKH,MAAM0D,mBAE5DvD,KAAKkD,MAAMM,gBAAkB,CAAEA,eAAgBxD,KAAKkD,MAAMM,mBAC1DxD,KAAKkD,MAAMO,sBAAwB,CAAEA,qBAAsBzD,KAAKkD,MAAMO,yBACvEzD,KAAK0D,6BACJC,EAA2B3D,KAAKkD,MAAMU,eAAiB,CAAEA,aAAc5D,KAAKkD,MAAMU,cACtFC,YAAa7D,KAAK6D,YAClBC,SAAUC,QAAUA,OAAOC,SAASF,OAE5C,CAEAG,YAAAA,CAAaC,GAET,OADIlE,KAAKU,cAAcuD,cAAcjE,KAAKU,aAAauD,aAAaC,GAC7DlE,IACX,CAEAmE,UAAAA,CAAWC,GAEP,OADIpE,KAAKU,cAAcyD,YAAYnE,KAAKU,aAAayD,WAAWC,GACzDpE,IACX,CAEOqE,QAAUC,IACbtE,KAAKH,MAAMwE,UAAUC,EAAAA,EAGzBC,wBAAAA,CAAyBC,EAAsCC,GAAU,GAErE,OADIzE,KAAKU,cAAc6D,0BAA0BvE,KAAKU,aAAa6D,yBAAyBC,EAAmBC,GACxGzE,IACX,CAEA0E,qBAAAA,CAAsBC,GAElB,OADI3E,KAAKU,cAAcgE,uBAAuB1E,KAAKU,aAAagE,sBAAsBC,GAC/E3E,IACX,CAEQ4E,uBAA0BC,IAC9B7E,KAAK8E,SAAS,CAAExB,KAAM,IAAKuB,GAAWE,MAAO,CAAC,EAAGC,OAAQ,CAAC,EAAGC,SAAS,IACtEjF,KAAKkF,QAAM,EAGf5E,WAAAA,CAAY6E,GAER,IAAKA,EAAIV,QAAS,CACd,MAAMW,EAAQC,EAAO,sBAAsBC,KAAKH,GAChDnF,KAAKH,MAAMS,YAAY8E,EAC3B,CACJ,CAEUG,eAAAA,CAAgBC,GACtB,MAAMnC,KAAEA,GAASmC,EAEbnC,IAASoC,GAA0BpC,IAASqC,GAEX,WAA7B1F,KAAKL,YAAY,MACbgG,EAAe3F,KAAKH,MAAO,kCAC3B2F,EAAaI,uBAAwB,EACrCJ,EAAa1D,MAAQ9B,KAAKH,MAAMiC,OAK5ChC,MAAMyF,gBAAgBC,EAC1B,CAEQK,gBAAmBV,IACvBnF,KAAKuF,gBAAgB,CACjBlC,KAAMqC,IAGV1F,KAAKH,MAAMgG,kBAAkBV,EAAAA,EAGzBW,QAAWX,IACfnF,KAAKuF,gBAAgB,CACjBlC,KAAM0C,EACNC,OAAQC,EAAqBd,EAAIe,aAIjCC,EAAmB3E,SAAS2D,EAAIe,WAChClG,KAAKH,MAAMiG,UAAUX,EAAIb,OAEzBtE,KAAKH,MAAMiG,UAAUX,EACzB,EAGIiB,OAAUjB,IACdnF,KAAKuF,gBAAgB,CACjBlC,KAAMgD,EACNL,OAAQC,EAAqBd,EAAIe,aAIjCC,EAAmB3E,SAAS2D,EAAIe,WAChClG,KAAKH,MAAMuG,SAASjB,EAAIb,OAExBtE,KAAKH,MAAMuG,SAASjB,EACxB,EAGImB,2BAA8BnB,IAClCnF,KAAKuF,gBAAgB,CACjBlC,KAAMkD,EACNP,OAAQC,EAAqBd,EAAIe,WACjCM,oBAAqBrB,EAAIsB,UACzBC,uBAAwBC,EAAwBxB,EAAIsB,UAAWG,IACnE,EAGGC,WAAaC,EAAiB9G,MAErC,6BAAI0D,GAEA,GADqB1D,KAAKH,MAAMuB,uBAAuB2F,OAAS,EAE5D,MAAO,GAYX,GADgD,IAA7B/G,KAAKH,MAAMoB,QAAQC,MAElC,OAAOlB,KAAKH,MAAMiB,mBAAqB,CAAEkG,oBAAoB,GAAS,GAM1E,OADkChH,KAAKH,MAAMmB,+BAAqE,IAAlChB,KAAKkD,MAAM8D,mBACxD,CAAEA,mBAAoBC,QAAQjH,KAAKkD,MAAM8D,qBAAwB,EACxG,CAEA,WAAI/B,GACA,QAASjF,KAAKkD,MAAM+B,OACxB,CAEA,QAAI3C,GACA,OAAOtC,KAAKH,MAAMyC,MAAQtC,KAAKkH,UAAUC,UAAfnH,CAA0BA,KAAKH,MAAMiC,MACnE,CAEA,UAAIsF,GACA,MAAMA,OAAEA,EAAM/E,oBAAEA,GAAwBrC,KAAKH,MAC7C,OAAIuH,EACOA,EAAOC,KAAIvF,IAEP,CAAEQ,KADSD,EAAoBP,IAAQQ,MAAQtC,KAAKH,MAAMyH,QAAQJ,UAAUC,UAA7BnH,CAAwC8B,GACpEyF,KAAMzF,MAIjC,EACX,CAEA,eAAI0F,GACA,OAAIxH,KAAKH,MAAMuB,sBACJ,QAAQpB,KAAKH,MAAM4H,WAGvBzH,KAAKH,MAAM0H,MAAQnI,EAAYiE,IAC1C,CAEA,kBAAIqE,GAEA,OACK1H,KAAKH,MAAM0H,MAAQnI,EAAYiE,OAC/BrD,KAAKH,MAAMuB,sBACN,IAAMpB,KAAKH,MAAMiD,KAAK6E,IAAI,+CAA+C5E,QAAQ,KAAM/C,KAAKH,MAAM4H,UAClG,GAEd,CAEA,eAAI5D,GACA,OAAO+D,GACX,CAEUC,UAAahI,IACnB,MAAMiI,EAA0C,IAA7B9H,KAAKH,MAAMoB,QAAQC,MAChC6G,EAAe/H,KAAKH,MAAMuB,uBAAuB2F,OAAS,EAChE,OACIiB,EAACC,EAAAA,IACOpI,EACJoB,OAAQjB,KAAKH,MAAMoB,OACnBiH,gBAAiBlI,KAAKH,MAAMqI,gBAC5BC,MAAOL,IAAeC,EAAe/H,KAAKH,MAAMiD,KAAK6E,IAAI,yBAA2B,GACpFS,QAASpI,KAAKkF,UAKlBmD,eAAAA,CAAgBC,GAAqB,GACzC,OACIN,EAACO,EAAAA,CACGC,gBAAiBxI,KAAKwI,mBAClBxI,KAAKH,SACLG,KAAKkD,MACTuF,SAAUzI,KAAK8E,SACf4D,SAAU1I,KAAKkF,OACf2C,UAAW7H,KAAK6H,UAChBxD,QAASrE,KAAKqE,QACdwC,WAAY7G,KAAK6G,WACjB/E,MAAO9B,KAAKH,MAAMiC,MAClB6G,YAAa3I,KAAKoH,OAClBwB,0BAA2BN,EAC3BpB,UAAWlH,KAAKkH,UAChBpB,QAAS9F,KAAK8F,QACdM,OAAQpG,KAAKoG,OACbE,2BAA4BtG,KAAKsG,2BACjCT,gBAAiB7F,KAAK6F,iBAGlC,CAEAgD,MAAAA,GACI,OACIb,EAACc,EAAAA,CAAahG,KAAM9C,KAAKH,MAAMiD,KAAMiG,eAAgB/I,KAAKH,MAAMkJ,eAAgB7B,UAAWlH,KAAKkH,WAC5Fc,EAACgB,EAAAA,CAAgBC,QAASjJ,KAAKH,MAAMyH,QAAQ2B,SACzCjB,EAACkB,EAAAA,CACGjI,OAAQjB,KAAKH,MAAMoB,OACnBf,cAAeF,KAAKH,MAAMM,wBAC1BV,kBAAmBO,KAAKP,kBACxB0J,uBAAuB,EACvBxI,iBAAkBX,KAAKW,iBACvByI,YAAapJ,KAAKqJ,iBAClBX,SAAU1I,KAAK4E,uBACf0E,QAAStJ,KAAKuJ,cAEbjB,GAAsBtI,KAAKqI,gBAAgBC,MAKhE"}