@adyen/adyen-web 6.0.0-beta.1 → 6.0.1

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 (536) hide show
  1. package/README.md +3 -3
  2. package/dist/cjs/adyen.css +9 -5
  3. package/dist/cjs/adyen.css.map +1 -1
  4. package/dist/cjs/index.cjs +2 -2
  5. package/dist/cjs/index.cjs.map +1 -1
  6. package/dist/cjs/index.d.cts +802 -849
  7. package/dist/es/adyen.css +9 -5
  8. package/dist/es/adyen.css.map +1 -1
  9. package/dist/es/components/ANCV/ANCV.js +1 -1
  10. package/dist/es/components/ANCV/ANCV.js.map +1 -1
  11. package/dist/es/components/Ach/components/AchInput/components/AchSFInput.js +1 -1
  12. package/dist/es/components/Ach/components/AchInput/components/AchSFInput.js.map +1 -1
  13. package/dist/es/components/Card/Card.js +1 -1
  14. package/dist/es/components/Card/Card.js.map +1 -1
  15. package/dist/es/components/Card/components/CardInput/CardInput.js +1 -1
  16. package/dist/es/components/Card/components/CardInput/CardInput.js.map +1 -1
  17. package/dist/es/components/Card/components/CardInput/components/CVC.js +1 -1
  18. package/dist/es/components/Card/components/CardInput/components/CVC.js.map +1 -1
  19. package/dist/es/components/Card/components/CardInput/components/CardNumber.js +1 -1
  20. package/dist/es/components/Card/components/CardInput/components/CardNumber.js.map +1 -1
  21. package/dist/es/components/Card/components/CardInput/components/ExpirationDate.js +1 -1
  22. package/dist/es/components/Card/components/CardInput/components/ExpirationDate.js.map +1 -1
  23. package/dist/es/components/Card/components/CardInput/components/{IframeLabelAlternative.js → FieldLabelAlternative.js} +1 -1
  24. package/dist/es/components/Card/components/CardInput/components/FieldLabelAlternative.js.map +1 -0
  25. package/dist/es/components/Card/components/CardInput/components/Installments/Installments.js +1 -1
  26. package/dist/es/components/Card/components/CardInput/components/Installments/Installments.js.map +1 -1
  27. package/dist/es/components/Card/components/CardInput/components/KCPAuthentication.js +1 -1
  28. package/dist/es/components/Card/components/CardInput/components/KCPAuthentication.js.map +1 -1
  29. package/dist/es/components/Card/components/CardInput/defaultProps.js +1 -1
  30. package/dist/es/components/Card/components/CardInput/defaultProps.js.map +1 -1
  31. package/dist/es/components/CustomCard/CustomCard.js +1 -1
  32. package/dist/es/components/CustomCard/CustomCard.js.map +1 -1
  33. package/dist/es/components/Donation/components/CampaignContent.js +1 -1
  34. package/dist/es/components/Donation/components/CampaignContent.js.map +1 -1
  35. package/dist/es/components/Donation/components/DonationComponent.js +1 -1
  36. package/dist/es/components/Donation/components/DonationComponent.js.map +1 -1
  37. package/dist/es/components/Donation/components/FixedAmounts.js +2 -0
  38. package/dist/es/components/Donation/components/FixedAmounts.js.map +1 -0
  39. package/dist/es/components/Donation/components/Roundup.js +2 -0
  40. package/dist/es/components/Donation/components/Roundup.js.map +1 -0
  41. package/dist/es/components/Donation/components/utils.js +2 -0
  42. package/dist/es/components/Donation/components/utils.js.map +1 -0
  43. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
  44. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
  45. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodList.js +1 -1
  46. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodList.js.map +1 -1
  47. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js +1 -1
  48. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js.map +1 -1
  49. package/dist/es/components/Dropin/elements/createElements.js +1 -1
  50. package/dist/es/components/Dropin/elements/createElements.js.map +1 -1
  51. package/dist/es/components/Dropin/elements/filters.js +1 -1
  52. package/dist/es/components/Dropin/elements/filters.js.map +1 -1
  53. package/dist/es/components/Giftcard/Giftcard.js.map +1 -1
  54. package/dist/es/components/Giftcard/components/GiftcardNumberField.js +1 -1
  55. package/dist/es/components/Giftcard/components/GiftcardNumberField.js.map +1 -1
  56. package/dist/es/components/Giftcard/components/GiftcardPinField.js +1 -1
  57. package/dist/es/components/Giftcard/components/GiftcardPinField.js.map +1 -1
  58. package/dist/es/components/GooglePay/GooglePay.js +1 -1
  59. package/dist/es/components/GooglePay/GooglePay.js.map +1 -1
  60. package/dist/es/components/GooglePay/components/GooglePayButton.js +1 -1
  61. package/dist/es/components/GooglePay/components/GooglePayButton.js.map +1 -1
  62. package/dist/es/components/MealVoucherFR/components/MealVoucherExpiryField.js +1 -1
  63. package/dist/es/components/MealVoucherFR/components/MealVoucherExpiryField.js.map +1 -1
  64. package/dist/es/components/PayPal/Paypal.js +1 -1
  65. package/dist/es/components/PayPal/Paypal.js.map +1 -1
  66. package/dist/es/components/PayPal/components/PaypalComponent.js +1 -1
  67. package/dist/es/components/PayPal/components/PaypalComponent.js.map +1 -1
  68. package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js +1 -1
  69. package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
  70. package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js +1 -1
  71. package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  72. package/dist/es/components/ThreeDS2/callSubmit3DS2Fingerprint.js +1 -1
  73. package/dist/es/components/ThreeDS2/callSubmit3DS2Fingerprint.js.map +1 -1
  74. package/dist/es/components/ThreeDS2/components/utils.js +1 -1
  75. package/dist/es/components/ThreeDS2/components/utils.js.map +1 -1
  76. package/dist/es/components/UPI/UPI.js +1 -1
  77. package/dist/es/components/UPI/UPI.js.map +1 -1
  78. package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
  79. package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
  80. package/dist/es/components/UPI/components/UPIComponent/constants.js +2 -0
  81. package/dist/es/components/UPI/components/UPIComponent/constants.js.map +1 -0
  82. package/dist/es/components/UPI/components/UPIComponent/useUpiSegmentedControlOptions.js +2 -0
  83. package/dist/es/components/UPI/components/UPIComponent/useUpiSegmentedControlOptions.js.map +1 -0
  84. package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js +2 -0
  85. package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js.map +1 -0
  86. package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js +2 -0
  87. package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js.map +1 -0
  88. package/dist/es/components/UPI/components/VpaInput/VpaInput.js +1 -1
  89. package/dist/es/components/UPI/components/VpaInput/VpaInput.js.map +1 -1
  90. package/dist/es/components/components-name-map.js +1 -1
  91. package/dist/es/components/components-name-map.js.map +1 -1
  92. package/dist/es/components/internal/Address/components/ReadOnlyAddress.js +1 -1
  93. package/dist/es/components/internal/Address/components/ReadOnlyAddress.js.map +1 -1
  94. package/dist/es/components/internal/Await/Await.js +1 -1
  95. package/dist/es/components/internal/Await/Await.js.map +1 -1
  96. package/dist/es/components/internal/Countdown/index.js +1 -1
  97. package/dist/es/components/internal/Countdown/index.js.map +1 -1
  98. package/dist/es/components/internal/DisclaimerMessage/DisclaimerMessage.js +1 -1
  99. package/dist/es/components/internal/DisclaimerMessage/DisclaimerMessage.js.map +1 -1
  100. package/dist/es/components/internal/ExpandButton/ExpandButton.js +2 -0
  101. package/dist/es/components/internal/ExpandButton/ExpandButton.js.map +1 -0
  102. package/dist/es/components/internal/FormFields/ConsentCheckbox/ConsentCheckbox.js +1 -1
  103. package/dist/es/components/internal/FormFields/ConsentCheckbox/ConsentCheckbox.js.map +1 -1
  104. package/dist/es/components/internal/FormFields/Field/Field.js +1 -1
  105. package/dist/es/components/internal/FormFields/Field/Field.js.map +1 -1
  106. package/dist/es/components/internal/FormFields/RadioGroup/RadioGroup.js +1 -1
  107. package/dist/es/components/internal/FormFields/RadioGroup/RadioGroup.js.map +1 -1
  108. package/dist/es/components/internal/FormFields/Select/Select.js +1 -1
  109. package/dist/es/components/internal/FormFields/Select/Select.js.map +1 -1
  110. package/dist/es/components/internal/FormFields/Select/components/SelectButton.js +1 -1
  111. package/dist/es/components/internal/FormFields/Select/components/SelectButton.js.map +1 -1
  112. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js +1 -1
  113. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js.map +1 -1
  114. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js +1 -1
  115. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
  116. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleEncryption.js +1 -1
  117. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleEncryption.js.map +1 -1
  118. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleValidation.js +1 -1
  119. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleValidation.js.map +1 -1
  120. package/dist/es/components/internal/SecuredFields/lib/CSF/initCSF.js +1 -1
  121. package/dist/es/components/internal/SecuredFields/lib/CSF/initCSF.js.map +1 -1
  122. package/dist/es/components/internal/SecuredFields/lib/CSF/partials/processBrand.js +1 -1
  123. package/dist/es/components/internal/SecuredFields/lib/CSF/partials/processBrand.js.map +1 -1
  124. package/dist/es/components/internal/SecuredFields/lib/CSF/utils/getCardGroupTypes.js +1 -1
  125. package/dist/es/components/internal/SecuredFields/lib/CSF/utils/getCardGroupTypes.js.map +1 -1
  126. package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
  127. package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
  128. package/dist/es/components/internal/SecuredFields/lib/utilities/commonUtils.js +1 -1
  129. package/dist/es/components/internal/SecuredFields/lib/utilities/commonUtils.js.map +1 -1
  130. package/dist/es/components/internal/SecuredFields/utils.js +1 -1
  131. package/dist/es/components/internal/SecuredFields/utils.js.map +1 -1
  132. package/dist/es/components/tx-variants.js +1 -1
  133. package/dist/es/components/tx-variants.js.map +1 -1
  134. package/dist/es/core/Analytics/analyticsPreProcessor.js +1 -1
  135. package/dist/es/core/Analytics/analyticsPreProcessor.js.map +1 -1
  136. package/dist/es/core/Analytics/utils.js +1 -1
  137. package/dist/es/core/Analytics/utils.js.map +1 -1
  138. package/dist/es/core/Environment/constants.js +1 -1
  139. package/dist/es/core/Environment/constants.js.map +1 -1
  140. package/dist/es/core/RiskModule/RiskModule.js +1 -1
  141. package/dist/es/core/RiskModule/RiskModule.js.map +1 -1
  142. package/dist/es/core/Services/analytics/collect-id.js +1 -1
  143. package/dist/es/core/Services/analytics/collect-id.js.map +1 -1
  144. package/dist/es/core/Services/get-translations.js +1 -1
  145. package/dist/es/core/Services/get-translations.js.map +1 -1
  146. package/dist/es/core/config.js +1 -1
  147. package/dist/es/core/config.js.map +1 -1
  148. package/dist/es/core/core.js +1 -1
  149. package/dist/es/core/core.js.map +1 -1
  150. package/dist/es/external/preact/dist/preact.js +1 -1
  151. package/dist/es/external/preact/dist/preact.js.map +1 -1
  152. package/dist/es/external/preact/hooks/dist/hooks.js +1 -1
  153. package/dist/es/external/preact/hooks/dist/hooks.js.map +1 -1
  154. package/dist/es/index.d.ts +802 -849
  155. package/dist/es/language/constants.js +1 -1
  156. package/dist/es/language/constants.js.map +1 -1
  157. package/dist/es/utils/amount-util.js.map +1 -1
  158. package/dist/es/utils/commonUtils.js +2 -0
  159. package/dist/es/utils/commonUtils.js.map +1 -0
  160. package/dist/es-legacy/adyen.css +9 -5
  161. package/dist/es-legacy/adyen.css.map +1 -1
  162. package/dist/es-legacy/components/ANCV/ANCV.js +1 -1
  163. package/dist/es-legacy/components/ANCV/ANCV.js.map +1 -1
  164. package/dist/es-legacy/components/Ach/Ach.js +1 -1
  165. package/dist/es-legacy/components/Ach/Ach.js.map +1 -1
  166. package/dist/es-legacy/components/Ach/components/AchInput/AchInput.js +1 -1
  167. package/dist/es-legacy/components/Ach/components/AchInput/AchInput.js.map +1 -1
  168. package/dist/es-legacy/components/Ach/components/AchInput/components/AchSFInput.js +1 -1
  169. package/dist/es-legacy/components/Ach/components/AchInput/components/AchSFInput.js.map +1 -1
  170. package/dist/es-legacy/components/Address/Address.js +1 -1
  171. package/dist/es-legacy/components/Address/Address.js.map +1 -1
  172. package/dist/es-legacy/components/Affirm/Affirm.js +1 -1
  173. package/dist/es-legacy/components/Affirm/Affirm.js.map +1 -1
  174. package/dist/es-legacy/components/AfterPay/AfterPay.js +1 -1
  175. package/dist/es-legacy/components/AfterPay/AfterPay.js.map +1 -1
  176. package/dist/es-legacy/components/AfterPay/AfterPayB2B.js +1 -1
  177. package/dist/es-legacy/components/AfterPay/AfterPayB2B.js.map +1 -1
  178. package/dist/es-legacy/components/AmazonPay/AmazonPay.js +1 -1
  179. package/dist/es-legacy/components/AmazonPay/AmazonPay.js.map +1 -1
  180. package/dist/es-legacy/components/AmazonPay/components/AmazonPayButton.js +1 -1
  181. package/dist/es-legacy/components/AmazonPay/components/AmazonPayButton.js.map +1 -1
  182. package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js +1 -1
  183. package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
  184. package/dist/es-legacy/components/AmazonPay/utils.js +1 -1
  185. package/dist/es-legacy/components/AmazonPay/utils.js.map +1 -1
  186. package/dist/es-legacy/components/ApplePay/ApplePay.js +1 -1
  187. package/dist/es-legacy/components/ApplePay/ApplePay.js.map +1 -1
  188. package/dist/es-legacy/components/Atome/Atome.js +1 -1
  189. package/dist/es-legacy/components/Atome/Atome.js.map +1 -1
  190. package/dist/es-legacy/components/Atome/config.js +1 -1
  191. package/dist/es-legacy/components/Atome/config.js.map +1 -1
  192. package/dist/es-legacy/components/BacsDD/BacsDD.js +1 -1
  193. package/dist/es-legacy/components/BacsDD/BacsDD.js.map +1 -1
  194. package/dist/es-legacy/components/BankTransfer/BankTransfer.js +1 -1
  195. package/dist/es-legacy/components/BankTransfer/BankTransfer.js.map +1 -1
  196. package/dist/es-legacy/components/BillDesk/BillDeskOnline.js +1 -1
  197. package/dist/es-legacy/components/BillDesk/BillDeskOnline.js.map +1 -1
  198. package/dist/es-legacy/components/BillDesk/BillDeskWallet.js +1 -1
  199. package/dist/es-legacy/components/BillDesk/BillDeskWallet.js.map +1 -1
  200. package/dist/es-legacy/components/Blik/Blik.js +1 -1
  201. package/dist/es-legacy/components/Blik/Blik.js.map +1 -1
  202. package/dist/es-legacy/components/Boleto/Boleto.js +1 -1
  203. package/dist/es-legacy/components/Boleto/Boleto.js.map +1 -1
  204. package/dist/es-legacy/components/Boleto/components/BoletoInput/BoletoInput.js +1 -1
  205. package/dist/es-legacy/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
  206. package/dist/es-legacy/components/Card/Bancontact.js +1 -1
  207. package/dist/es-legacy/components/Card/Bancontact.js.map +1 -1
  208. package/dist/es-legacy/components/Card/Card.js +1 -1
  209. package/dist/es-legacy/components/Card/Card.js.map +1 -1
  210. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js +1 -1
  211. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js.map +1 -1
  212. package/dist/es-legacy/components/Card/components/CardInput/components/CVC.js +1 -1
  213. package/dist/es-legacy/components/Card/components/CardInput/components/CVC.js.map +1 -1
  214. package/dist/es-legacy/components/Card/components/CardInput/components/CardNumber.js +1 -1
  215. package/dist/es-legacy/components/Card/components/CardInput/components/CardNumber.js.map +1 -1
  216. package/dist/es-legacy/components/Card/components/CardInput/components/ExpirationDate.js +1 -1
  217. package/dist/es-legacy/components/Card/components/CardInput/components/ExpirationDate.js.map +1 -1
  218. package/dist/es-legacy/components/Card/components/CardInput/components/FieldLabelAlternative.js +2 -0
  219. package/dist/es-legacy/components/Card/components/CardInput/components/FieldLabelAlternative.js.map +1 -0
  220. package/dist/es-legacy/components/Card/components/CardInput/components/Installments/Installments.js +1 -1
  221. package/dist/es-legacy/components/Card/components/CardInput/components/Installments/Installments.js.map +1 -1
  222. package/dist/es-legacy/components/Card/components/CardInput/components/KCPAuthentication.js +1 -1
  223. package/dist/es-legacy/components/Card/components/CardInput/components/KCPAuthentication.js.map +1 -1
  224. package/dist/es-legacy/components/Card/components/CardInput/components/StoredCardFields.js +1 -1
  225. package/dist/es-legacy/components/Card/components/CardInput/components/StoredCardFields.js.map +1 -1
  226. package/dist/es-legacy/components/Card/components/CardInput/defaultProps.js +1 -1
  227. package/dist/es-legacy/components/Card/components/CardInput/defaultProps.js.map +1 -1
  228. package/dist/es-legacy/components/CashAppPay/CashAppPay.js +1 -1
  229. package/dist/es-legacy/components/CashAppPay/CashAppPay.js.map +1 -1
  230. package/dist/es-legacy/components/ClickToPay/ClickToPay.js +1 -1
  231. package/dist/es-legacy/components/ClickToPay/ClickToPay.js.map +1 -1
  232. package/dist/es-legacy/components/CustomCard/CustomCard.js +1 -1
  233. package/dist/es-legacy/components/CustomCard/CustomCard.js.map +1 -1
  234. package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js +1 -1
  235. package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
  236. package/dist/es-legacy/components/Doku/Doku.js +1 -1
  237. package/dist/es-legacy/components/Doku/Doku.js.map +1 -1
  238. package/dist/es-legacy/components/Donation/Donation.js +1 -1
  239. package/dist/es-legacy/components/Donation/Donation.js.map +1 -1
  240. package/dist/es-legacy/components/Donation/components/CampaignContent.js +1 -1
  241. package/dist/es-legacy/components/Donation/components/CampaignContent.js.map +1 -1
  242. package/dist/es-legacy/components/Donation/components/DonationComponent.js +1 -1
  243. package/dist/es-legacy/components/Donation/components/DonationComponent.js.map +1 -1
  244. package/dist/es-legacy/components/Donation/components/FixedAmounts.js +2 -0
  245. package/dist/es-legacy/components/Donation/components/FixedAmounts.js.map +1 -0
  246. package/dist/es-legacy/components/Donation/components/Roundup.js +2 -0
  247. package/dist/es-legacy/components/Donation/components/Roundup.js.map +1 -0
  248. package/dist/es-legacy/components/Donation/components/utils.js +2 -0
  249. package/dist/es-legacy/components/Donation/components/utils.js.map +1 -0
  250. package/dist/es-legacy/components/Dragonpay/Dragonpay.js +1 -1
  251. package/dist/es-legacy/components/Dragonpay/Dragonpay.js.map +1 -1
  252. package/dist/es-legacy/components/Dragonpay/components/DragonpayInput/DragonpayInput.js +1 -1
  253. package/dist/es-legacy/components/Dragonpay/components/DragonpayInput/DragonpayInput.js.map +1 -1
  254. package/dist/es-legacy/components/Dropin/Dropin.js +1 -1
  255. package/dist/es-legacy/components/Dropin/Dropin.js.map +1 -1
  256. package/dist/es-legacy/components/Dropin/components/DropinComponent.js +1 -1
  257. package/dist/es-legacy/components/Dropin/components/DropinComponent.js.map +1 -1
  258. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
  259. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
  260. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodList.js +1 -1
  261. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodList.js.map +1 -1
  262. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js +1 -1
  263. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js.map +1 -1
  264. package/dist/es-legacy/components/Dropin/elements/createElements.js +1 -1
  265. package/dist/es-legacy/components/Dropin/elements/createElements.js.map +1 -1
  266. package/dist/es-legacy/components/Dropin/elements/createInstantPaymentElements.js +1 -1
  267. package/dist/es-legacy/components/Dropin/elements/createInstantPaymentElements.js.map +1 -1
  268. package/dist/es-legacy/components/Dropin/elements/createStoredElements.js +1 -1
  269. package/dist/es-legacy/components/Dropin/elements/createStoredElements.js.map +1 -1
  270. package/dist/es-legacy/components/Dropin/elements/filters.js +1 -1
  271. package/dist/es-legacy/components/Dropin/elements/filters.js.map +1 -1
  272. package/dist/es-legacy/components/EPS/index.js +1 -1
  273. package/dist/es-legacy/components/EPS/index.js.map +1 -1
  274. package/dist/es-legacy/components/Econtext/Econtext.js +1 -1
  275. package/dist/es-legacy/components/Econtext/Econtext.js.map +1 -1
  276. package/dist/es-legacy/components/FacilyPay/FacilyPay10x.js +1 -1
  277. package/dist/es-legacy/components/FacilyPay/FacilyPay10x.js.map +1 -1
  278. package/dist/es-legacy/components/FacilyPay/FacilyPay12x.js +1 -1
  279. package/dist/es-legacy/components/FacilyPay/FacilyPay12x.js.map +1 -1
  280. package/dist/es-legacy/components/FacilyPay/FacilyPay3x.js +1 -1
  281. package/dist/es-legacy/components/FacilyPay/FacilyPay3x.js.map +1 -1
  282. package/dist/es-legacy/components/FacilyPay/FacilyPay4x.js +1 -1
  283. package/dist/es-legacy/components/FacilyPay/FacilyPay4x.js.map +1 -1
  284. package/dist/es-legacy/components/FacilyPay/FacilyPay6x.js +1 -1
  285. package/dist/es-legacy/components/FacilyPay/FacilyPay6x.js.map +1 -1
  286. package/dist/es-legacy/components/Giftcard/Giftcard.js +1 -1
  287. package/dist/es-legacy/components/Giftcard/Giftcard.js.map +1 -1
  288. package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js +1 -1
  289. package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  290. package/dist/es-legacy/components/Giftcard/components/GiftcardFields.js +1 -1
  291. package/dist/es-legacy/components/Giftcard/components/GiftcardFields.js.map +1 -1
  292. package/dist/es-legacy/components/Giftcard/components/GiftcardNumberField.js +1 -1
  293. package/dist/es-legacy/components/Giftcard/components/GiftcardNumberField.js.map +1 -1
  294. package/dist/es-legacy/components/Giftcard/components/GiftcardPinField.js +1 -1
  295. package/dist/es-legacy/components/Giftcard/components/GiftcardPinField.js.map +1 -1
  296. package/dist/es-legacy/components/Giropay/Giropay.js +1 -1
  297. package/dist/es-legacy/components/Giropay/Giropay.js.map +1 -1
  298. package/dist/es-legacy/components/GooglePay/GooglePay.js +1 -1
  299. package/dist/es-legacy/components/GooglePay/GooglePay.js.map +1 -1
  300. package/dist/es-legacy/components/GooglePay/components/GooglePayButton.js +1 -1
  301. package/dist/es-legacy/components/GooglePay/components/GooglePayButton.js.map +1 -1
  302. package/dist/es-legacy/components/Klarna/KlarnaPayments.js +1 -1
  303. package/dist/es-legacy/components/Klarna/KlarnaPayments.js.map +1 -1
  304. package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js +1 -1
  305. package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js.map +1 -1
  306. package/dist/es-legacy/components/MBWay/MBWay.js +1 -1
  307. package/dist/es-legacy/components/MBWay/MBWay.js.map +1 -1
  308. package/dist/es-legacy/components/MBWay/components/MBWayInput/MBWayInput.js +1 -1
  309. package/dist/es-legacy/components/MBWay/components/MBWayInput/MBWayInput.js.map +1 -1
  310. package/dist/es-legacy/components/MealVoucherFR/MealVoucherFR.js +1 -1
  311. package/dist/es-legacy/components/MealVoucherFR/MealVoucherFR.js.map +1 -1
  312. package/dist/es-legacy/components/MealVoucherFR/components/MealVoucherExpiryField.js +1 -1
  313. package/dist/es-legacy/components/MealVoucherFR/components/MealVoucherExpiryField.js.map +1 -1
  314. package/dist/es-legacy/components/MealVoucherFR/components/MealVoucherFields.js +1 -1
  315. package/dist/es-legacy/components/MealVoucherFR/components/MealVoucherFields.js.map +1 -1
  316. package/dist/es-legacy/components/Multibanco/Multibanco.js +1 -1
  317. package/dist/es-legacy/components/Multibanco/Multibanco.js.map +1 -1
  318. package/dist/es-legacy/components/OnlineBankingCZ/index.js +1 -1
  319. package/dist/es-legacy/components/OnlineBankingCZ/index.js.map +1 -1
  320. package/dist/es-legacy/components/OnlineBankingIN/index.js +1 -1
  321. package/dist/es-legacy/components/OnlineBankingIN/index.js.map +1 -1
  322. package/dist/es-legacy/components/OnlineBankingPL/OnlineBankingPL.js +1 -1
  323. package/dist/es-legacy/components/OnlineBankingPL/OnlineBankingPL.js.map +1 -1
  324. package/dist/es-legacy/components/OnlineBankingSK/index.js +1 -1
  325. package/dist/es-legacy/components/OnlineBankingSK/index.js.map +1 -1
  326. package/dist/es-legacy/components/Oxxo/Oxxo.js +1 -1
  327. package/dist/es-legacy/components/Oxxo/Oxxo.js.map +1 -1
  328. package/dist/es-legacy/components/PayByBank/PayByBank.js +1 -1
  329. package/dist/es-legacy/components/PayByBank/PayByBank.js.map +1 -1
  330. package/dist/es-legacy/components/PayPal/Paypal.js +1 -1
  331. package/dist/es-legacy/components/PayPal/Paypal.js.map +1 -1
  332. package/dist/es-legacy/components/PayPal/components/PaypalButtons.js +1 -1
  333. package/dist/es-legacy/components/PayPal/components/PaypalButtons.js.map +1 -1
  334. package/dist/es-legacy/components/PayPal/components/PaypalComponent.js +1 -1
  335. package/dist/es-legacy/components/PayPal/components/PaypalComponent.js.map +1 -1
  336. package/dist/es-legacy/components/PayPal/utils/get-paypal-settings.js +1 -1
  337. package/dist/es-legacy/components/PayPal/utils/get-paypal-settings.js.map +1 -1
  338. package/dist/es-legacy/components/PayU/PayuCashcard.js +1 -1
  339. package/dist/es-legacy/components/PayU/PayuCashcard.js.map +1 -1
  340. package/dist/es-legacy/components/PayU/PayuNetBanking.js +1 -1
  341. package/dist/es-legacy/components/PayU/PayuNetBanking.js.map +1 -1
  342. package/dist/es-legacy/components/PersonalDetails/PersonalDetails.js +1 -1
  343. package/dist/es-legacy/components/PersonalDetails/PersonalDetails.js.map +1 -1
  344. package/dist/es-legacy/components/Pix/Pix.js +1 -1
  345. package/dist/es-legacy/components/Pix/Pix.js.map +1 -1
  346. package/dist/es-legacy/components/RatePay/RatePay.js +1 -1
  347. package/dist/es-legacy/components/RatePay/RatePay.js.map +1 -1
  348. package/dist/es-legacy/components/RatePay/RatePayDirectDebit.js +1 -1
  349. package/dist/es-legacy/components/RatePay/RatePayDirectDebit.js.map +1 -1
  350. package/dist/es-legacy/components/Redirect/Redirect.js +1 -1
  351. package/dist/es-legacy/components/Redirect/Redirect.js.map +1 -1
  352. package/dist/es-legacy/components/Riverty/Riverty.js +1 -1
  353. package/dist/es-legacy/components/Riverty/Riverty.js.map +1 -1
  354. package/dist/es-legacy/components/Sepa/Sepa.js +1 -1
  355. package/dist/es-legacy/components/Sepa/Sepa.js.map +1 -1
  356. package/dist/es-legacy/components/ThreeDS2/ThreeDS2Challenge.js +1 -1
  357. package/dist/es-legacy/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
  358. package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js +1 -1
  359. package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  360. package/dist/es-legacy/components/ThreeDS2/callSubmit3DS2Fingerprint.js +1 -1
  361. package/dist/es-legacy/components/ThreeDS2/callSubmit3DS2Fingerprint.js.map +1 -1
  362. package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
  363. package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
  364. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
  365. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
  366. package/dist/es-legacy/components/ThreeDS2/components/utils.js +1 -1
  367. package/dist/es-legacy/components/ThreeDS2/components/utils.js.map +1 -1
  368. package/dist/es-legacy/components/Trustly/Trustly.js +1 -1
  369. package/dist/es-legacy/components/Trustly/Trustly.js.map +1 -1
  370. package/dist/es-legacy/components/Twint/Twint.js +1 -1
  371. package/dist/es-legacy/components/Twint/Twint.js.map +1 -1
  372. package/dist/es-legacy/components/UPI/UPI.js +1 -1
  373. package/dist/es-legacy/components/UPI/UPI.js.map +1 -1
  374. package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
  375. package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
  376. package/dist/es-legacy/components/UPI/components/UPIComponent/constants.js +2 -0
  377. package/dist/es-legacy/components/UPI/components/UPIComponent/constants.js.map +1 -0
  378. package/dist/es-legacy/components/UPI/components/UPIComponent/useUpiSegmentedControlOptions.js +2 -0
  379. package/dist/es-legacy/components/UPI/components/UPIComponent/useUpiSegmentedControlOptions.js.map +1 -0
  380. package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js +2 -0
  381. package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js.map +1 -0
  382. package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js +2 -0
  383. package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js.map +1 -0
  384. package/dist/es-legacy/components/UPI/components/VpaInput/VpaInput.js +1 -1
  385. package/dist/es-legacy/components/UPI/components/VpaInput/VpaInput.js.map +1 -1
  386. package/dist/es-legacy/components/WalletIN/index.js +1 -1
  387. package/dist/es-legacy/components/WalletIN/index.js.map +1 -1
  388. package/dist/es-legacy/components/components-name-map.js +1 -1
  389. package/dist/es-legacy/components/components-name-map.js.map +1 -1
  390. package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js +1 -1
  391. package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  392. package/dist/es-legacy/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js +1 -1
  393. package/dist/es-legacy/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js.map +1 -1
  394. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  395. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  396. package/dist/es-legacy/components/internal/Address/Address.js +1 -1
  397. package/dist/es-legacy/components/internal/Address/Address.js.map +1 -1
  398. package/dist/es-legacy/components/internal/Address/components/CountryField.js +1 -1
  399. package/dist/es-legacy/components/internal/Address/components/CountryField.js.map +1 -1
  400. package/dist/es-legacy/components/internal/Address/components/ReadOnlyAddress.js +1 -1
  401. package/dist/es-legacy/components/internal/Address/components/ReadOnlyAddress.js.map +1 -1
  402. package/dist/es-legacy/components/internal/Await/Await.js +1 -1
  403. package/dist/es-legacy/components/internal/Await/Await.js.map +1 -1
  404. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js +1 -1
  405. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
  406. package/dist/es-legacy/components/internal/ClickToPay/services/ClickToPayService.js +1 -1
  407. package/dist/es-legacy/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
  408. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/MastercardSdk.js +1 -1
  409. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/MastercardSdk.js.map +1 -1
  410. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/VisaSdk.js +1 -1
  411. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/VisaSdk.js.map +1 -1
  412. package/dist/es-legacy/components/internal/CompanyDetails/CompanyDetails.js +1 -1
  413. package/dist/es-legacy/components/internal/CompanyDetails/CompanyDetails.js.map +1 -1
  414. package/dist/es-legacy/components/internal/Countdown/index.js +1 -1
  415. package/dist/es-legacy/components/internal/Countdown/index.js.map +1 -1
  416. package/dist/es-legacy/components/internal/DisclaimerMessage/DisclaimerMessage.js +1 -1
  417. package/dist/es-legacy/components/internal/DisclaimerMessage/DisclaimerMessage.js.map +1 -1
  418. package/dist/es-legacy/components/internal/ExpandButton/ExpandButton.js +2 -0
  419. package/dist/es-legacy/components/internal/ExpandButton/ExpandButton.js.map +1 -0
  420. package/dist/es-legacy/components/internal/FormFields/Checkbox/Checkbox.js +1 -1
  421. package/dist/es-legacy/components/internal/FormFields/Checkbox/Checkbox.js.map +1 -1
  422. package/dist/es-legacy/components/internal/FormFields/ConsentCheckbox/ConsentCheckbox.js +1 -1
  423. package/dist/es-legacy/components/internal/FormFields/ConsentCheckbox/ConsentCheckbox.js.map +1 -1
  424. package/dist/es-legacy/components/internal/FormFields/Field/Field.js +1 -1
  425. package/dist/es-legacy/components/internal/FormFields/Field/Field.js.map +1 -1
  426. package/dist/es-legacy/components/internal/FormFields/InputBase.js +1 -1
  427. package/dist/es-legacy/components/internal/FormFields/InputBase.js.map +1 -1
  428. package/dist/es-legacy/components/internal/FormFields/InputDate/InputDate.js +1 -1
  429. package/dist/es-legacy/components/internal/FormFields/InputDate/InputDate.js.map +1 -1
  430. package/dist/es-legacy/components/internal/FormFields/InputEmail.js +1 -1
  431. package/dist/es-legacy/components/internal/FormFields/InputEmail.js.map +1 -1
  432. package/dist/es-legacy/components/internal/FormFields/InputTelephone.js +1 -1
  433. package/dist/es-legacy/components/internal/FormFields/InputTelephone.js.map +1 -1
  434. package/dist/es-legacy/components/internal/FormFields/InputText.js +1 -1
  435. package/dist/es-legacy/components/internal/FormFields/InputText.js.map +1 -1
  436. package/dist/es-legacy/components/internal/FormFields/RadioGroup/RadioGroup.js +1 -1
  437. package/dist/es-legacy/components/internal/FormFields/RadioGroup/RadioGroup.js.map +1 -1
  438. package/dist/es-legacy/components/internal/FormFields/Select/Select.js +1 -1
  439. package/dist/es-legacy/components/internal/FormFields/Select/Select.js.map +1 -1
  440. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectButton.js +1 -1
  441. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectButton.js.map +1 -1
  442. package/dist/es-legacy/components/internal/IbanInput/IbanInput.js +1 -1
  443. package/dist/es-legacy/components/internal/IbanInput/IbanInput.js.map +1 -1
  444. package/dist/es-legacy/components/internal/Img/Img.js +1 -1
  445. package/dist/es-legacy/components/internal/Img/Img.js.map +1 -1
  446. package/dist/es-legacy/components/internal/IssuerList/IssuerButtonGroup/IssuerButtonGroup.js +1 -1
  447. package/dist/es-legacy/components/internal/IssuerList/IssuerButtonGroup/IssuerButtonGroup.js.map +1 -1
  448. package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js +1 -1
  449. package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
  450. package/dist/es-legacy/components/internal/PayButton/PayButton.js +1 -1
  451. package/dist/es-legacy/components/internal/PayButton/PayButton.js.map +1 -1
  452. package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js +1 -1
  453. package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
  454. package/dist/es-legacy/components/internal/PhoneInput/PhoneInput.js +1 -1
  455. package/dist/es-legacy/components/internal/PhoneInput/PhoneInput.js.map +1 -1
  456. package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js +1 -1
  457. package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js.map +1 -1
  458. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
  459. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  460. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js +1 -1
  461. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js.map +1 -1
  462. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js +1 -1
  463. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
  464. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleBrandFromBinLookup.js +1 -1
  465. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleBrandFromBinLookup.js.map +1 -1
  466. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleEncryption.js +1 -1
  467. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleEncryption.js.map +1 -1
  468. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleValidation.js +1 -1
  469. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleValidation.js.map +1 -1
  470. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/initCSF.js +1 -1
  471. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/initCSF.js.map +1 -1
  472. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/processBrand.js +1 -1
  473. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/processBrand.js.map +1 -1
  474. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/getCardGroupTypes.js +1 -1
  475. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/getCardGroupTypes.js.map +1 -1
  476. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
  477. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
  478. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/utils/processAriaConfig.js +1 -1
  479. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/utils/processAriaConfig.js.map +1 -1
  480. package/dist/es-legacy/components/internal/SecuredFields/lib/utilities/commonUtils.js +1 -1
  481. package/dist/es-legacy/components/internal/SecuredFields/lib/utilities/commonUtils.js.map +1 -1
  482. package/dist/es-legacy/components/internal/SecuredFields/utils.js +1 -1
  483. package/dist/es-legacy/components/internal/SecuredFields/utils.js.map +1 -1
  484. package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
  485. package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
  486. package/dist/es-legacy/components/tx-variants.js +1 -1
  487. package/dist/es-legacy/components/tx-variants.js.map +1 -1
  488. package/dist/es-legacy/core/Analytics/analyticsPreProcessor.js +1 -1
  489. package/dist/es-legacy/core/Analytics/analyticsPreProcessor.js.map +1 -1
  490. package/dist/es-legacy/core/Analytics/utils.js +1 -1
  491. package/dist/es-legacy/core/Analytics/utils.js.map +1 -1
  492. package/dist/es-legacy/core/Context/Resources.js +1 -1
  493. package/dist/es-legacy/core/Context/Resources.js.map +1 -1
  494. package/dist/es-legacy/core/Environment/constants.js +1 -1
  495. package/dist/es-legacy/core/Environment/constants.js.map +1 -1
  496. package/dist/es-legacy/core/Errors/SRPanel.js +1 -1
  497. package/dist/es-legacy/core/Errors/SRPanel.js.map +1 -1
  498. package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js +1 -1
  499. package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
  500. package/dist/es-legacy/core/ProcessResponse/PaymentMethods/utils.js +1 -1
  501. package/dist/es-legacy/core/ProcessResponse/PaymentMethods/utils.js.map +1 -1
  502. package/dist/es-legacy/core/ProcessResponse/process-response.js +1 -1
  503. package/dist/es-legacy/core/ProcessResponse/process-response.js.map +1 -1
  504. package/dist/es-legacy/core/RiskModule/RiskModule.js +1 -1
  505. package/dist/es-legacy/core/RiskModule/RiskModule.js.map +1 -1
  506. package/dist/es-legacy/core/Services/analytics/collect-id.js +1 -1
  507. package/dist/es-legacy/core/Services/analytics/collect-id.js.map +1 -1
  508. package/dist/es-legacy/core/Services/get-translations.js +1 -1
  509. package/dist/es-legacy/core/Services/get-translations.js.map +1 -1
  510. package/dist/es-legacy/core/Services/http.js +1 -1
  511. package/dist/es-legacy/core/Services/http.js.map +1 -1
  512. package/dist/es-legacy/core/config.js +1 -1
  513. package/dist/es-legacy/core/config.js.map +1 -1
  514. package/dist/es-legacy/core/core.js +1 -1
  515. package/dist/es-legacy/core/core.js.map +1 -1
  516. package/dist/es-legacy/core/core.registry.js +1 -1
  517. package/dist/es-legacy/core/core.registry.js.map +1 -1
  518. package/dist/es-legacy/external/preact/dist/preact.js +1 -1
  519. package/dist/es-legacy/external/preact/dist/preact.js.map +1 -1
  520. package/dist/es-legacy/external/preact/hooks/dist/hooks.js +1 -1
  521. package/dist/es-legacy/external/preact/hooks/dist/hooks.js.map +1 -1
  522. package/dist/es-legacy/language/constants.js +1 -1
  523. package/dist/es-legacy/language/constants.js.map +1 -1
  524. package/dist/es-legacy/utils/amount-util.js.map +1 -1
  525. package/dist/es-legacy/utils/commonUtils.js +2 -0
  526. package/dist/es-legacy/utils/commonUtils.js.map +1 -0
  527. package/dist/es-legacy/utils/useForm/reducer.js +1 -1
  528. package/dist/es-legacy/utils/useForm/reducer.js.map +1 -1
  529. package/package.json +21 -21
  530. package/dist/es/components/Card/components/CardInput/components/IframeLabelAlternative.js.map +0 -1
  531. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/ExpandButton.js +0 -2
  532. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/ExpandButton.js.map +0 -1
  533. package/dist/es-legacy/components/Card/components/CardInput/components/IframeLabelAlternative.js +0 -2
  534. package/dist/es-legacy/components/Card/components/CardInput/components/IframeLabelAlternative.js.map +0 -1
  535. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/ExpandButton.js +0 -2
  536. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/ExpandButton.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentMethodsContainer.js","sources":["../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.tsx"],"sourcesContent":["import { h } from 'preact';\nimport PaymentMethodItem from './PaymentMethodItem/PaymentMethodItem';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { useMemo } from 'preact/hooks';\nimport uuid from '../../../../utils/uuid';\nimport classNames from 'classnames';\nimport UIElement from '../../../internal/UIElement';\n\nexport interface PaymentMethodsContainerProps {\n label: string;\n classNameModifiers?: string[];\n paymentMethods: UIElement[];\n activePaymentMethod?: UIElement;\n /**\n * Map that keeps track of which Payment methods (UIElements) already got rendered in the UI\n */\n cachedPaymentMethods: Record<string, boolean>;\n showRemovePaymentMethodButton?: boolean;\n onSelect?: (paymentMethod: UIElement) => void;\n onDisableStoredPaymentMethod?: (storedPaymentMethod) => void;\n isDisablingPaymentMethod?: boolean;\n isLoading: boolean;\n showRadioButton?: boolean;\n}\n\nfunction PaymentMethodsContainer({\n label,\n classNameModifiers = [],\n paymentMethods = [],\n activePaymentMethod = null,\n cachedPaymentMethods = {},\n isLoading = false,\n isDisablingPaymentMethod = false,\n showRemovePaymentMethodButton,\n onDisableStoredPaymentMethod = () => {},\n onSelect,\n showRadioButton\n}: Readonly<PaymentMethodsContainerProps>) {\n const { i18n } = useCoreContext();\n const selectListId: string = useMemo(() => `select-${uuid()}`, []);\n const paymentMethodListClassnames = classNames([\n 'adyen-checkout__payment-methods-list',\n { 'adyen-checkout__payment-methods-list--loading': isLoading },\n ...classNameModifiers.map(m => `adyen-checkout__payment-methods-list--${m}`)\n ]);\n\n return (\n <div className=\"adyen-checkout-payment-methods-container\">\n {!!label.length && (\n <label htmlFor={selectListId} className=\"adyen-checkout-payment-methods-list-label\">\n {label}\n </label>\n )}\n {/* eslint-disable jsx-a11y/no-noninteractive-element-to-interactive-role */}\n <ul\n id={selectListId}\n className={paymentMethodListClassnames}\n role=\"radiogroup\"\n aria-label={i18n.get('paymentMethodsList.aria.label')}\n required\n >\n {paymentMethods.map((paymentMethod, index, paymentMethodsCollection) => {\n const isSelected = activePaymentMethod && activePaymentMethod._id === paymentMethod._id;\n const isLoaded = paymentMethod._id in cachedPaymentMethods;\n const isNextOneSelected =\n activePaymentMethod &&\n paymentMethodsCollection[index + 1] &&\n activePaymentMethod._id === paymentMethodsCollection[index + 1]._id;\n\n return (\n <PaymentMethodItem\n className={classNames({ 'adyen-checkout__payment-method--next-selected': isNextOneSelected })}\n standalone={paymentMethods.length === 1}\n paymentMethod={paymentMethod}\n isSelected={isSelected}\n isDisablingPaymentMethod={isSelected && isDisablingPaymentMethod}\n isLoaded={isLoaded}\n isLoading={isLoading}\n onSelect={onSelect}\n key={paymentMethod._id}\n showRemovePaymentMethodButton={showRemovePaymentMethodButton}\n showRadioButton={showRadioButton}\n onDisableStoredPaymentMethod={onDisableStoredPaymentMethod}\n />\n );\n })}\n </ul>\n </div>\n );\n}\n\nexport default PaymentMethodsContainer;\n"],"names":["PaymentMethodsContainer","label","classNameModifiers","paymentMethods","activePaymentMethod","cachedPaymentMethods","isLoading","isDisablingPaymentMethod","showRemovePaymentMethodButton","onDisableStoredPaymentMethod","onSelect","showRadioButton","i18n","useCoreContext","selectListId","useMemo","uuid","paymentMethodListClassnames","classNames","map","m","h","div","className","length","htmlFor","ul","id","role","aria-label","get","required","paymentMethod","index","paymentMethodsCollection","isSelected","_id","isLoaded","isNextOneSelected","PaymentMethodItem","standalone","key"],"mappings":"wXAyBA,SAASA,GAAwBC,MAC7BA,EAAKC,mBACLA,EAAqB,GAAEC,eACvBA,EAAiB,GAAEC,oBACnBA,EAAsB,KAAIC,qBAC1BA,EAAuB,CAAA,EAAEC,UACzBA,GAAY,EAAKC,yBACjBA,GAA2B,EAAKC,8BAChCA,EAA6BC,6BAC7BA,EAA+B,SAAQC,SACvCA,EAAQC,gBACRA,IAEA,MAAMC,KAAEA,GAASC,IACXC,EAAuBC,GAAQ,IAAM,UAAUC,OAAU,IACzDC,EAA8BC,EAAW,CAC3C,uCACA,CAAE,gDAAiDZ,MAChDJ,EAAmBiB,KAAIC,GAAK,yCAAyCA,QAG5E,OACIC,EAACC,MAAAA,CAAIC,UAAU,8CACRtB,EAAMuB,QACLH,EAACpB,QAAAA,CAAMwB,QAASX,EAAcS,UAAU,6CACnCtB,GAIToB,EAACK,KAAAA,CACGC,GAAIb,EACJS,UAAWN,EACXW,KAAK,aACLC,aAAYjB,EAAKkB,IAAI,iCACrBC,UAAAA,GAEC5B,EAAegB,KAAI,CAACa,EAAeC,EAAOC,KACvC,MAAMC,EAAa/B,GAAuBA,EAAoBgC,MAAQJ,EAAcI,IAC9EC,EAAWL,EAAcI,OAAO/B,EAChCiC,EACFlC,GACA8B,EAAyBD,EAAQ,IACjC7B,EAAoBgC,MAAQF,EAAyBD,EAAQ,GAAGG,IAEpE,OACIf,EAACkB,EAAAA,CACGhB,UAAWL,EAAW,CAAE,gDAAiDoB,IACzEE,WAAsC,IAA1BrC,EAAeqB,OAC3BQ,cAAeA,EACfG,WAAYA,EACZ5B,yBAA0B4B,GAAc5B,EACxC8B,SAAUA,EACV/B,UAAWA,EACXI,SAAUA,EACV+B,IAAKT,EAAcI,IACnB5B,8BAA+BA,EAC/BG,gBAAiBA,EACjBF,6BAA8BA,QAO1D"}
1
+ {"version":3,"file":"PaymentMethodsContainer.js","sources":["../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.tsx"],"sourcesContent":["import { h } from 'preact';\nimport PaymentMethodItem from './PaymentMethodItem/PaymentMethodItem';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { useMemo } from 'preact/hooks';\nimport uuid from '../../../../utils/uuid';\nimport classNames from 'classnames';\nimport UIElement from '../../../internal/UIElement';\n\nexport interface PaymentMethodsContainerProps {\n label: string;\n classNameModifiers?: string[];\n paymentMethods: UIElement[];\n activePaymentMethod?: UIElement;\n /**\n * Map that keeps track of which Payment methods (UIElements) already got rendered in the UI\n */\n cachedPaymentMethods: Record<string, boolean>;\n showRemovePaymentMethodButton?: boolean;\n onSelect?: (paymentMethod: UIElement) => void;\n onDisableStoredPaymentMethod?: (storedPaymentMethod) => void;\n isDisablingPaymentMethod?: boolean;\n isLoading: boolean;\n showRadioButton?: boolean;\n}\n\nfunction PaymentMethodsContainer({\n label,\n classNameModifiers = [],\n paymentMethods = [],\n activePaymentMethod = null,\n cachedPaymentMethods = {},\n isLoading = false,\n isDisablingPaymentMethod = false,\n showRemovePaymentMethodButton,\n onDisableStoredPaymentMethod = () => {},\n onSelect,\n showRadioButton\n}: Readonly<PaymentMethodsContainerProps>) {\n const { i18n } = useCoreContext();\n const selectListId: string = useMemo(() => `select-${uuid()}`, []);\n const paymentMethodListClassnames = classNames([\n 'adyen-checkout__payment-methods-list',\n { 'adyen-checkout__payment-methods-list--loading': isLoading },\n ...classNameModifiers.map(m => `adyen-checkout__payment-methods-list--${m}`)\n ]);\n\n return (\n <div className=\"adyen-checkout-payment-methods-container\">\n {!!label.length && (\n <label htmlFor={selectListId} className=\"adyen-checkout-payment-methods-list-label\">\n {label}\n </label>\n )}\n <div\n id={selectListId}\n className={paymentMethodListClassnames}\n role=\"radiogroup\"\n aria-label={i18n.get('paymentMethodsList.aria.label')}\n required\n >\n {paymentMethods.map((paymentMethod, index, paymentMethodsCollection) => {\n const isSelected = activePaymentMethod && activePaymentMethod._id === paymentMethod._id;\n const isLoaded = paymentMethod._id in cachedPaymentMethods;\n const isNextOneSelected =\n activePaymentMethod &&\n paymentMethodsCollection[index + 1] &&\n activePaymentMethod._id === paymentMethodsCollection[index + 1]._id;\n\n return (\n <PaymentMethodItem\n className={classNames({ 'adyen-checkout__payment-method--next-selected': isNextOneSelected })}\n standalone={paymentMethods.length === 1}\n paymentMethod={paymentMethod}\n isSelected={isSelected}\n isDisablingPaymentMethod={isSelected && isDisablingPaymentMethod}\n isLoaded={isLoaded}\n isLoading={isLoading}\n onSelect={onSelect}\n key={paymentMethod._id}\n showRemovePaymentMethodButton={showRemovePaymentMethodButton}\n showRadioButton={showRadioButton}\n onDisableStoredPaymentMethod={onDisableStoredPaymentMethod}\n />\n );\n })}\n </div>\n </div>\n );\n}\n\nexport default PaymentMethodsContainer;\n"],"names":["PaymentMethodsContainer","label","classNameModifiers","paymentMethods","activePaymentMethod","cachedPaymentMethods","isLoading","isDisablingPaymentMethod","showRemovePaymentMethodButton","onDisableStoredPaymentMethod","onSelect","showRadioButton","i18n","useCoreContext","selectListId","useMemo","uuid","paymentMethodListClassnames","classNames","map","m","h","div","className","length","htmlFor","id","role","aria-label","get","required","paymentMethod","index","paymentMethodsCollection","isSelected","_id","isLoaded","isNextOneSelected","PaymentMethodItem","standalone","key"],"mappings":"wXAyBA,SAASA,GAAwBC,MAC7BA,EAAKC,mBACLA,EAAqB,GAAEC,eACvBA,EAAiB,GAAEC,oBACnBA,EAAsB,KAAIC,qBAC1BA,EAAuB,CAAA,EAAEC,UACzBA,GAAY,EAAKC,yBACjBA,GAA2B,EAAKC,8BAChCA,EAA6BC,6BAC7BA,EAA+B,OAAQC,SACvCA,EAAQC,gBACRA,IAEA,MAAMC,KAAEA,GAASC,IACXC,EAAuBC,GAAQ,IAAM,UAAUC,OAAU,IACzDC,EAA8BC,EAAW,CAC3C,uCACA,CAAE,gDAAiDZ,MAChDJ,EAAmBiB,KAAIC,GAAK,yCAAyCA,QAG5E,OACIC,EAACC,MAAAA,CAAIC,UAAU,8CACRtB,EAAMuB,QACLH,EAACpB,QAAAA,CAAMwB,QAASX,EAAcS,UAAU,6CACnCtB,GAGToB,EAACC,MAAAA,CACGI,GAAIZ,EACJS,UAAWN,EACXU,KAAK,aACLC,aAAYhB,EAAKiB,IAAI,iCACrBC,UAAAA,GAEC3B,EAAegB,KAAI,CAACY,EAAeC,EAAOC,KACvC,MAAMC,EAAa9B,GAAuBA,EAAoB+B,MAAQJ,EAAcI,IAC9EC,EAAWL,EAAcI,OAAO9B,EAChCgC,EACFjC,GACA6B,EAAyBD,EAAQ,IACjC5B,EAAoB+B,MAAQF,EAAyBD,EAAQ,GAAGG,IAEpE,OACId,EAACiB,EAAAA,CACGf,UAAWL,EAAW,CAAE,gDAAiDmB,IACzEE,WAAsC,IAA1BpC,EAAeqB,OAC3BO,cAAeA,EACfG,WAAYA,EACZ3B,yBAA0B2B,GAAc3B,EACxC6B,SAAUA,EACV9B,UAAWA,EACXI,SAAUA,EACV8B,IAAKT,EAAcI,IACnB3B,8BAA+BA,EAC/BG,gBAAiBA,EACjBF,6BAA8BA,QAO1D"}
@@ -1,2 +1,2 @@
1
- import{filterPresent as t,filterUnsupported as o,filterAvailable as e}from"./filters.js";import{getComponentConfiguration as n}from"./getComponentConfiguration.js";import r from"../../components-name-map.js";const p=(p,s,i,m)=>{const a=p.map((t=>{const o=n(t.type,s,t.isStoredPaymentMethod),e=m.getComponent(t.type);if(!e)return console.warn(`\nDropin: You support the payment method '${t.type}' but this component has not been configured. Make sure to import the Class '${r(t.type)}' and then pass it in the Dropin's 'paymentMethodComponents' config property if you wish to offer this payment method.`),null;const p={...t,...i,...o};return new e(m,p)})).filter(t).filter(o);return e(a)};export{p as default};
1
+ import{optionallyFilterUpiSubTxVariants as t,filterPresent as e,filterUnsupported as o,filterAvailable as n}from"./filters.js";import{getComponentConfiguration as r}from"./getComponentConfiguration.js";import p from"../../components-name-map.js";const s=(s,i,m,a)=>{const f=t(s).map((t=>{const e="isStoredPaymentMethod"in t&&t.isStoredPaymentMethod,o=r(t.type,i,e),n=a.getComponent(t.type);if(!n)return console.warn(`\nDropin: You support the payment method '${t.type}' but this component has not been configured. Make sure to import the Class '${p(t.type)}' and then pass it in the Dropin's 'paymentMethodComponents' config property if you wish to offer this payment method.`),null;const s={...t,...m,...o};return new n(a,s)})).filter(e).filter(o);return n(f)};export{s as default};
2
2
  //# sourceMappingURL=createElements.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createElements.js","sources":["../../../../../src/components/Dropin/elements/createElements.ts"],"sourcesContent":["import { filterUnsupported, filterPresent, filterAvailable } from './filters';\nimport { getComponentConfiguration } from './getComponentConfiguration';\nimport getComponentNameOfPaymentType from '../../components-name-map';\nimport UIElement from '../../internal/UIElement';\nimport type { PaymentMethod, StoredPaymentMethod } from '../../../types/global-types';\nimport type { PaymentMethodsConfiguration } from '../types';\nimport type { ICore } from '../../../core/types';\n\n/**\n * Returns a filtered (available) list of component Elements\n *\n * @param paymentMethods - Array of PaymentMethod objects from the /paymentMethods response\n * @param paymentMethodsConfiguration - Dropin paymentMethodsConfiguration object\n * @param commonProps - High level props to be passed through to every component\n * @param core - Reference to the checkout core object\n */\nconst createElements = (\n paymentMethods: PaymentMethod[] | StoredPaymentMethod[],\n paymentMethodsConfiguration: PaymentMethodsConfiguration,\n commonProps,\n core: ICore\n): Promise<UIElement[]> => {\n const elements = paymentMethods\n .map(paymentMethod => {\n const paymentMethodConfigurationProps = getComponentConfiguration(\n paymentMethod.type,\n paymentMethodsConfiguration,\n paymentMethod.isStoredPaymentMethod\n );\n const PaymentMethodElement = core.getComponent(paymentMethod.type);\n\n if (!PaymentMethodElement) {\n console.warn(\n `\\nDropin: You support the payment method '${\n paymentMethod.type\n }' but this component has not been configured. Make sure to import the Class '${getComponentNameOfPaymentType(\n paymentMethod.type\n )}' and then pass it in the Dropin's 'paymentMethodComponents' config property if you wish to offer this payment method.`\n );\n return null;\n }\n\n const elementProps = { ...paymentMethod, ...commonProps, ...paymentMethodConfigurationProps };\n\n return new PaymentMethodElement(core, elementProps);\n })\n .filter(filterPresent)\n .filter(filterUnsupported);\n\n return filterAvailable(elements);\n};\n\nexport default createElements;\n"],"names":["createElements","paymentMethods","paymentMethodsConfiguration","commonProps","core","elements","map","paymentMethod","paymentMethodConfigurationProps","getComponentConfiguration","type","isStoredPaymentMethod","PaymentMethodElement","getComponent","console","warn","getComponentNameOfPaymentType","elementProps","filter","filterPresent","filterUnsupported","filterAvailable"],"mappings":"gNAgBMA,MAAAA,EAAiB,CACnBC,EACAC,EACAC,EACAC,KAEA,MAAMC,EAAWJ,EACZK,KAAIC,IACD,MAAMC,EAAkCC,EACpCF,EAAcG,KACdR,EACAK,EAAcI,uBAEZC,EAAuBR,EAAKS,aAAaN,EAAcG,MAE7D,IAAKE,EAQD,OAPAE,QAAQC,KACJ,6CACIR,EAAcG,qFAC+DM,EAC7ET,EAAcG,+HAGf,KAGX,MAAMO,EAAe,IAAKV,KAAkBJ,KAAgBK,GAE5D,OAAO,IAAII,EAAqBR,EAAMa,EAAAA,IAEzCC,OAAOC,GACPD,OAAOE,GAEZ,OAAOC,EAAgBhB,EAAAA"}
1
+ {"version":3,"file":"createElements.js","sources":["../../../../../src/components/Dropin/elements/createElements.ts"],"sourcesContent":["import { filterUnsupported, filterPresent, filterAvailable, optionallyFilterUpiSubTxVariants } from './filters';\nimport { getComponentConfiguration } from './getComponentConfiguration';\nimport getComponentNameOfPaymentType from '../../components-name-map';\nimport UIElement from '../../internal/UIElement';\nimport type { PaymentMethod, StoredPaymentMethod } from '../../../types/global-types';\nimport type { PaymentMethodsConfiguration } from '../types';\nimport type { ICore } from '../../../core/types';\n\n/**\n * Returns a filtered (available) list of component Elements\n *\n * @param paymentMethods - Array of PaymentMethod objects from the /paymentMethods response\n * @param paymentMethodsConfiguration - Dropin paymentMethodsConfiguration object\n * @param commonProps - High level props to be passed through to every component\n * @param core - Reference to the checkout core object\n */\nconst createElements = (\n paymentMethods: PaymentMethod[] | StoredPaymentMethod[],\n paymentMethodsConfiguration: PaymentMethodsConfiguration,\n commonProps,\n core: ICore\n): Promise<UIElement[]> => {\n const elements = optionallyFilterUpiSubTxVariants(paymentMethods)\n .map(paymentMethod => {\n const isStoredPaymentMethod = 'isStoredPaymentMethod' in paymentMethod && paymentMethod.isStoredPaymentMethod;\n const paymentMethodConfigurationProps = getComponentConfiguration(paymentMethod.type, paymentMethodsConfiguration, isStoredPaymentMethod);\n const PaymentMethodElement = core.getComponent(paymentMethod.type);\n\n if (!PaymentMethodElement) {\n console.warn(\n `\\nDropin: You support the payment method '${\n paymentMethod.type\n }' but this component has not been configured. Make sure to import the Class '${getComponentNameOfPaymentType(\n paymentMethod.type\n )}' and then pass it in the Dropin's 'paymentMethodComponents' config property if you wish to offer this payment method.`\n );\n return null;\n }\n\n const elementProps = { ...paymentMethod, ...commonProps, ...paymentMethodConfigurationProps };\n\n return new PaymentMethodElement(core, elementProps);\n })\n .filter(filterPresent)\n .filter(filterUnsupported);\n\n return filterAvailable(elements);\n};\n\nexport default createElements;\n"],"names":["createElements","paymentMethods","paymentMethodsConfiguration","commonProps","core","elements","optionallyFilterUpiSubTxVariants","map","paymentMethod","isStoredPaymentMethod","paymentMethodConfigurationProps","getComponentConfiguration","type","PaymentMethodElement","getComponent","console","warn","getComponentNameOfPaymentType","elementProps","filter","filterPresent","filterUnsupported","filterAvailable"],"mappings":"sPAgBMA,MAAAA,EAAiB,CACnBC,EACAC,EACAC,EACAC,KAEA,MAAMC,EAAWC,EAAiCL,GAC7CM,KAAIC,IACD,MAAMC,EAAwB,0BAA2BD,GAAiBA,EAAcC,sBAClFC,EAAkCC,EAA0BH,EAAcI,KAAMV,EAA6BO,GAC7GI,EAAuBT,EAAKU,aAAaN,EAAcI,MAE7D,IAAKC,EAQD,OAPAE,QAAQC,KACJ,6CACIR,EAAcI,qFAC+DK,EAC7ET,EAAcI,+HAGf,KAGX,MAAMM,EAAe,IAAKV,KAAkBL,KAAgBO,GAE5D,OAAO,IAAIG,EAAqBT,EAAMc,EAAAA,IAEzCC,OAAOC,GACPD,OAAOE,GAEZ,OAAOC,EAAgBjB,EAAAA"}
@@ -1,2 +1,2 @@
1
- import t from"../../../utils/promiseTimeout.js";const e=["androidpay","samsungpay","clicktopay"],s=t=>!e.includes(t.constructor.type),o=t=>!!t,r=e=>{const s=e.map((e=>{const{promise:s}=t(5e3,e.isAvailable(),{});return s}));return Promise.allSettled(s).then((t=>e.filter(((e,s)=>"fulfilled"===t[s].status))))};export{e as UNSUPPORTED_PAYMENT_METHODS,r as filterAvailable,o as filterPresent,s as filterUnsupported};
1
+ import t from"../../../utils/promiseTimeout.js";const e=["androidpay","samsungpay","clicktopay"],i=t=>!e.includes(t.constructor.type),r=t=>!!t,s=e=>{const i=e.map((e=>{const{promise:i}=t(5e3,e.isAvailable(),{});return i}));return Promise.allSettled(i).then((t=>e.filter(((e,i)=>"fulfilled"===t[i].status))))},o=t=>{if(!t.some((t=>"upi"===t?.type)))return t;const e=["upi_qr","upi_collect","upi_intent"];return t.filter((t=>!e.includes(t?.type)))};export{e as UNSUPPORTED_PAYMENT_METHODS,s as filterAvailable,r as filterPresent,i as filterUnsupported,o as optionallyFilterUpiSubTxVariants};
2
2
  //# sourceMappingURL=filters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"filters.js","sources":["../../../../../src/components/Dropin/elements/filters.ts"],"sourcesContent":["import promiseTimeout from '../../../utils/promiseTimeout';\nimport { UIElement } from '../../../types';\n\nexport const UNSUPPORTED_PAYMENT_METHODS = ['androidpay', 'samsungpay', 'clicktopay'];\n\n// filter payment methods that we don't support in the Drop-in\nexport const filterUnsupported = paymentMethod => !UNSUPPORTED_PAYMENT_METHODS.includes(paymentMethod.constructor['type']);\n\n// filter payment methods that we support (that are in the paymentMethods/index dictionary)\nexport const filterPresent = paymentMethod => !!paymentMethod;\n\n// filter payment methods that are available to the user\nexport const filterAvailable = (elements: UIElement[]) => {\n const elementIsAvailablePromises = elements.map(element => {\n const { promise } = promiseTimeout(5000, element.isAvailable(), {});\n return promise;\n });\n\n return Promise.allSettled(elementIsAvailablePromises).then(promiseResults => {\n return elements.filter((element, i) => promiseResults[i].status === 'fulfilled');\n });\n};\n"],"names":["UNSUPPORTED_PAYMENT_METHODS","filterUnsupported","paymentMethod","includes","constructor","filterPresent","filterAvailable","elements","elementIsAvailablePromises","map","element","promise","promiseTimeout","isAvailable","Promise","allSettled","then","promiseResults","filter","i","status"],"mappings":"sDAGaA,EAA8B,CAAC,aAAc,aAAc,cAG3DC,EAAoBC,IAAkBF,EAA4BG,SAASD,EAAcE,YAAY,MAGrGC,EAAgBH,KAAmBA,EAGnCI,EAAmBC,IAC5B,MAAMC,EAA6BD,EAASE,KAAIC,IAC5C,MAAMC,QAAEA,GAAYC,EAAe,IAAMF,EAAQG,cAAe,CAAA,GAChE,OAAOF,CAAAA,IAGX,OAAOG,QAAQC,WAAWP,GAA4BQ,MAAKC,GAChDV,EAASW,QAAO,CAACR,EAASS,IAAmC,cAA7BF,EAAeE,GAAGC,UAC7D"}
1
+ {"version":3,"file":"filters.js","sources":["../../../../../src/components/Dropin/elements/filters.ts"],"sourcesContent":["import promiseTimeout from '../../../utils/promiseTimeout';\nimport type { PaymentMethod, StoredPaymentMethod, UIElement } from '../../../types';\n\nexport const UNSUPPORTED_PAYMENT_METHODS = ['androidpay', 'samsungpay', 'clicktopay'];\n\n// filter payment methods that we don't support in the Drop-in\nexport const filterUnsupported = paymentMethod => !UNSUPPORTED_PAYMENT_METHODS.includes(paymentMethod.constructor['type']);\n\n// filter payment methods that we support (that are in the paymentMethods/index dictionary)\nexport const filterPresent = paymentMethod => !!paymentMethod;\n\n// filter payment methods that are available to the user\nexport const filterAvailable = (elements: UIElement[]) => {\n const elementIsAvailablePromises = elements.map(element => {\n const { promise } = promiseTimeout(5000, element.isAvailable(), {});\n return promise;\n });\n\n return Promise.allSettled(elementIsAvailablePromises).then(promiseResults => {\n return elements.filter((element, i) => promiseResults[i].status === 'fulfilled');\n });\n};\n\nexport const optionallyFilterUpiSubTxVariants = (paymentMethods: Array<PaymentMethod | StoredPaymentMethod>) => {\n const hasUpiParent = paymentMethods.some(pm => pm?.type === 'upi');\n // If we don't get the 'upi' parent, we render multiple upi components\n if (!hasUpiParent) return paymentMethods;\n\n // If we get the 'upi' parent, we remove upi sub tx_variant components\n const UPI_SUB_TX_VARIANTS = ['upi_qr', 'upi_collect', 'upi_intent'];\n return paymentMethods.filter(pm => !UPI_SUB_TX_VARIANTS.includes(pm?.type));\n};\n"],"names":["UNSUPPORTED_PAYMENT_METHODS","filterUnsupported","paymentMethod","includes","constructor","filterPresent","filterAvailable","elements","elementIsAvailablePromises","map","element","promise","promiseTimeout","isAvailable","Promise","allSettled","then","promiseResults","filter","i","status","optionallyFilterUpiSubTxVariants","paymentMethods","some","pm","type","UPI_SUB_TX_VARIANTS"],"mappings":"sDAGaA,EAA8B,CAAC,aAAc,aAAc,cAG3DC,EAAoBC,IAAkBF,EAA4BG,SAASD,EAAcE,YAAY,MAGrGC,EAAgBH,KAAmBA,EAGnCI,EAAmBC,IAC5B,MAAMC,EAA6BD,EAASE,KAAIC,IAC5C,MAAMC,QAAEA,GAAYC,EAAe,IAAMF,EAAQG,cAAe,CAAA,GAChE,OAAOF,CAAAA,IAGX,OAAOG,QAAQC,WAAWP,GAA4BQ,MAAKC,GAChDV,EAASW,QAAO,CAACR,EAASS,IAAmC,cAA7BF,EAAeE,GAAGC,UAC7D,EAGSC,EAAoCC,IAG7C,IAFqBA,EAAeC,MAAKC,GAAmB,QAAbA,GAAIC,OAEhC,OAAOH,EAG1B,MAAMI,EAAsB,CAAC,SAAU,cAAe,cACtD,OAAOJ,EAAeJ,QAAOM,IAAOE,EAAoBvB,SAASqB,GAAIC,OAAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Giftcard.js","sources":["../../../../src/components/Giftcard/Giftcard.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GiftcardComponent from './components/GiftcardComponent';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport PayButton from '../internal/PayButton';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { PaymentAmount } from '../../types//global-types';\nimport { GiftCardElementData, GiftCardConfiguration, balanceCheckResponseType } from './types';\nimport { TxVariants } from '../tx-variants';\n\nexport class GiftcardElement extends UIElement<GiftCardConfiguration> {\n public static type = TxVariants.giftcard;\n\n protected static defaultProps = {\n brandsConfiguration: {}\n };\n\n formatProps(props) {\n return {\n ...props?.configuration,\n ...props\n };\n }\n\n formatData(): GiftCardElementData {\n return {\n paymentMethod: {\n type: this.constructor['type'],\n brand: this.props.brand,\n encryptedCardNumber: this.state.data?.encryptedCardNumber,\n encryptedSecurityCode: this.state.data?.encryptedSecurityCode\n }\n };\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get icon() {\n return this.props.brandsConfiguration[this.props.brand]?.icon || this.props.icon || this.resources.getImage()(this.props.brand);\n }\n\n get displayName() {\n return this.props.brandsConfiguration[this.props.brand]?.name || this.props.name;\n }\n\n private handleBalanceCheck = (data: GiftCardElementData): Promise<balanceCheckResponseType> => {\n if (this.props.onBalanceCheck) {\n return new Promise((resolve, reject) => {\n void this.props.onBalanceCheck(resolve, reject, data);\n });\n }\n\n if (this.props.session) {\n return this.props.session.checkBalance(data);\n }\n };\n\n private onOrderRequest = data => {\n if (this.props.onOrderRequest)\n return new Promise((resolve, reject) => {\n void this.props.onOrderRequest(resolve, reject, data);\n });\n\n if (this.props.session) {\n return this.props.session.createOrder();\n }\n };\n\n public balanceCheck() {\n return this.onBalanceCheck();\n }\n\n private onBalanceCheck = (): void => {\n // skip balance check if no onBalanceCheck event has been defined\n const hasBalanceCheck = this.props.session || this.props.onBalanceCheck;\n if (!hasBalanceCheck) return super.submit();\n\n this.setStatus('loading');\n\n this.handleBalanceCheck(this.formatData())\n .then(({ balance, transactionLimit = {} as PaymentAmount }) => {\n if (!balance) throw new Error('card-error'); // card doesn't exist\n if (balance?.currency !== this.props.amount?.currency) throw new Error('currency-error');\n if (balance?.value <= 0) throw new Error('no-balance');\n\n this.componentRef.setBalance({ balance, transactionLimit });\n\n if (this.props.amount.value > balance.value || this.props.amount.value > transactionLimit.value) {\n if (this.props.order) {\n return super.submit();\n }\n\n return this.onOrderRequest(this.data).then((order: { orderData: string; pspReference: string }) => {\n this.setState({ order: { orderData: order.orderData, pspReference: order.pspReference } });\n return super.submit();\n });\n } else {\n return this.handleOnRequiringConfirmation().then(() => super.submit());\n }\n })\n .catch(error => {\n this.setStatus(error?.message || 'error');\n if (this.props.onError) this.handleError(new AdyenCheckoutError('ERROR', error));\n });\n };\n\n private handleOnRequiringConfirmation = (): Promise<any> => {\n if (this.props.onRequiringConfirmation) {\n return new Promise<void>((resolve, reject) => {\n void this.props.onRequiringConfirmation(resolve, reject);\n });\n }\n };\n\n public submit() {\n if (!this.isValid) {\n this.showValidation();\n return false;\n }\n\n this.balanceCheck();\n }\n\n // Giftcards override the regular payButton flow\n public payButton = props => {\n return <PayButton {...props} />;\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <GiftcardComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n handleKeyPress={this.handleKeyPress}\n showPayButton={this.props.showPayButton}\n onChange={this.setState}\n onBalanceCheck={this.onBalanceCheck}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default GiftcardElement;\n"],"names":["GiftcardElement","UIElement","static","TxVariants","giftcard","brandsConfiguration","formatProps","props","configuration","formatData","paymentMethod","type","this","constructor","brand","encryptedCardNumber","state","data","encryptedSecurityCode","isValid","icon","resources","getImage","displayName","name","handleBalanceCheck","onBalanceCheck","Promise","resolve","reject","session","checkBalance","onOrderRequest","createOrder","balanceCheck","super","submit","setStatus","then","balance","transactionLimit","Error","currency","amount","value","componentRef","setBalance","order","setState","orderData","pspReference","handleOnRequiringConfirmation","catch","error","message","onError","handleError","AdyenCheckoutError","onRequiringConfirmation","showValidation","payButton","h","PayButton","render","CoreProvider","i18n","loadingContext","GiftcardComponent","ref","handleKeyPress","showPayButton","onChange","onSubmit"],"mappings":"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"}
1
+ {"version":3,"file":"Giftcard.js","sources":["../../../../src/components/Giftcard/Giftcard.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GiftcardComponent from './components/GiftcardComponent';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport PayButton from '../internal/PayButton';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { PaymentAmount } from '../../types/global-types';\nimport { GiftCardElementData, GiftCardConfiguration, balanceCheckResponseType } from './types';\nimport { TxVariants } from '../tx-variants';\n\nexport class GiftcardElement extends UIElement<GiftCardConfiguration> {\n public static type = TxVariants.giftcard;\n\n protected static defaultProps = {\n brandsConfiguration: {}\n };\n\n formatProps(props) {\n return {\n ...props?.configuration,\n ...props\n };\n }\n\n formatData(): GiftCardElementData {\n return {\n paymentMethod: {\n type: this.constructor['type'],\n brand: this.props.brand,\n encryptedCardNumber: this.state.data?.encryptedCardNumber,\n encryptedSecurityCode: this.state.data?.encryptedSecurityCode\n }\n };\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get icon() {\n return this.props.brandsConfiguration[this.props.brand]?.icon || this.props.icon || this.resources.getImage()(this.props.brand);\n }\n\n get displayName() {\n return this.props.brandsConfiguration[this.props.brand]?.name || this.props.name;\n }\n\n private handleBalanceCheck = (data: GiftCardElementData): Promise<balanceCheckResponseType> => {\n if (this.props.onBalanceCheck) {\n return new Promise((resolve, reject) => {\n void this.props.onBalanceCheck(resolve, reject, data);\n });\n }\n\n if (this.props.session) {\n return this.props.session.checkBalance(data);\n }\n };\n\n private onOrderRequest = data => {\n if (this.props.onOrderRequest)\n return new Promise((resolve, reject) => {\n void this.props.onOrderRequest(resolve, reject, data);\n });\n\n if (this.props.session) {\n return this.props.session.createOrder();\n }\n };\n\n public balanceCheck() {\n return this.onBalanceCheck();\n }\n\n private onBalanceCheck = (): void => {\n // skip balance check if no onBalanceCheck event has been defined\n const hasBalanceCheck = this.props.session || this.props.onBalanceCheck;\n if (!hasBalanceCheck) return super.submit();\n\n this.setStatus('loading');\n\n this.handleBalanceCheck(this.formatData())\n .then(({ balance, transactionLimit = {} as PaymentAmount }) => {\n if (!balance) throw new Error('card-error'); // card doesn't exist\n if (balance?.currency !== this.props.amount?.currency) throw new Error('currency-error');\n if (balance?.value <= 0) throw new Error('no-balance');\n\n this.componentRef.setBalance({ balance, transactionLimit });\n\n if (this.props.amount.value > balance.value || this.props.amount.value > transactionLimit.value) {\n if (this.props.order) {\n return super.submit();\n }\n\n return this.onOrderRequest(this.data).then((order: { orderData: string; pspReference: string }) => {\n this.setState({ order: { orderData: order.orderData, pspReference: order.pspReference } });\n return super.submit();\n });\n } else {\n return this.handleOnRequiringConfirmation().then(() => super.submit());\n }\n })\n .catch(error => {\n this.setStatus(error?.message || 'error');\n if (this.props.onError) this.handleError(new AdyenCheckoutError('ERROR', error));\n });\n };\n\n private handleOnRequiringConfirmation = (): Promise<any> => {\n if (this.props.onRequiringConfirmation) {\n return new Promise<void>((resolve, reject) => {\n void this.props.onRequiringConfirmation(resolve, reject);\n });\n }\n };\n\n public submit() {\n if (!this.isValid) {\n this.showValidation();\n return false;\n }\n\n this.balanceCheck();\n }\n\n // Giftcards override the regular payButton flow\n public payButton = props => {\n return <PayButton {...props} />;\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <GiftcardComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n handleKeyPress={this.handleKeyPress}\n showPayButton={this.props.showPayButton}\n onChange={this.setState}\n onBalanceCheck={this.onBalanceCheck}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default GiftcardElement;\n"],"names":["GiftcardElement","UIElement","static","TxVariants","giftcard","brandsConfiguration","formatProps","props","configuration","formatData","paymentMethod","type","this","constructor","brand","encryptedCardNumber","state","data","encryptedSecurityCode","isValid","icon","resources","getImage","displayName","name","handleBalanceCheck","onBalanceCheck","Promise","resolve","reject","session","checkBalance","onOrderRequest","createOrder","balanceCheck","super","submit","setStatus","then","balance","transactionLimit","Error","currency","amount","value","componentRef","setBalance","order","setState","orderData","pspReference","handleOnRequiringConfirmation","catch","error","message","onError","handleError","AdyenCheckoutError","onRequiringConfirmation","showValidation","payButton","h","PayButton","render","CoreProvider","i18n","loadingContext","GiftcardComponent","ref","handleKeyPress","showPayButton","onChange","onSubmit"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import e from"../../Card/components/CardInput/components/DataSfSpan.js";import r from"../../../external/classnames/index.js";import t from"../../internal/FormFields/Field/Field.js";import{createElement as a}from"../../../external/preact/dist/preact.js";import{alternativeLabelContent as n}from"../../Card/components/CardInput/components/IframeLabelAlternative.js";const o=({i18n:o,classNameModifiers:d,sfpState:c,getCardErrorMessage:s,focusedElement:m,setFocusOn:i})=>a(t,{label:o.get("giftcard.cardNumber.label"),classNameModifiers:["number",...d],errorMessage:s(c),focused:"encryptedCardNumber"===m,onFocusField:()=>i("encryptedCardNumber"),dir:"ltr",name:"encryptedCardNumber",contextVisibleToScreenReader:!1,useLabelElement:!1,renderAlternativeToLabel:n},a(e,{encryptedFieldType:"encryptedCardNumber","data-info":'{"length":"15-32", "maskInterval":4}',className:r({"adyen-checkout__input":!0,"adyen-checkout__input--large":!0,"adyen-checkout__card__cardNumber__input":!0,"adyen-checkout__input--error":s(c),"adyen-checkout__input--focus":"encryptedCardNumber"===m})}));export{o as GiftcardNumberField};
1
+ import e from"../../Card/components/CardInput/components/DataSfSpan.js";import r from"../../../external/classnames/index.js";import t from"../../internal/FormFields/Field/Field.js";import{createElement as a}from"../../../external/preact/dist/preact.js";import{alternativeLabelContent as n}from"../../Card/components/CardInput/components/FieldLabelAlternative.js";const d=({i18n:d,classNameModifiers:o,sfpState:c,getCardErrorMessage:s,focusedElement:m,setFocusOn:i})=>a(t,{label:d.get("giftcard.cardNumber.label"),classNameModifiers:["number",...o],errorMessage:s(c),focused:"encryptedCardNumber"===m,onFocusField:()=>i("encryptedCardNumber"),dir:"ltr",name:"encryptedCardNumber",contextVisibleToScreenReader:!1,useLabelElement:!1,renderAlternativeToLabel:n},a(e,{encryptedFieldType:"encryptedCardNumber","data-info":'{"length":"15-32", "maskInterval":4}',className:r({"adyen-checkout__input":!0,"adyen-checkout__input--large":!0,"adyen-checkout__card__cardNumber__input":!0,"adyen-checkout__input--error":s(c),"adyen-checkout__input--focus":"encryptedCardNumber"===m})}));export{d as GiftcardNumberField};
2
2
  //# sourceMappingURL=GiftcardNumberField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GiftcardNumberField.js","sources":["../../../../../src/components/Giftcard/components/GiftcardNumberField.tsx"],"sourcesContent":["import DataSfSpan from '../../Card/components/CardInput/components/DataSfSpan';\nimport classNames from 'classnames';\nimport Field from '../../internal/FormFields/Field';\nimport { h } from 'preact';\nimport { GiftcardFieldProps } from './types';\nimport { alternativeLabelContent } from '../../Card/components/CardInput/components/IframeLabelAlternative';\n\nexport const GiftcardNumberField = ({ i18n, classNameModifiers, sfpState, getCardErrorMessage, focusedElement, setFocusOn }: GiftcardFieldProps) => {\n return (\n <Field\n label={i18n.get('giftcard.cardNumber.label')}\n classNameModifiers={['number', ...classNameModifiers]}\n errorMessage={getCardErrorMessage(sfpState)}\n focused={focusedElement === 'encryptedCardNumber'}\n onFocusField={() => setFocusOn('encryptedCardNumber')}\n dir={'ltr'}\n name={'encryptedCardNumber'}\n contextVisibleToScreenReader={false}\n useLabelElement={false}\n renderAlternativeToLabel={alternativeLabelContent}\n >\n <DataSfSpan\n encryptedFieldType=\"encryptedCardNumber\"\n data-info='{\"length\":\"15-32\", \"maskInterval\":4}'\n className={classNames({\n 'adyen-checkout__input': true,\n 'adyen-checkout__input--large': true,\n 'adyen-checkout__card__cardNumber__input': true,\n 'adyen-checkout__input--error': getCardErrorMessage(sfpState),\n 'adyen-checkout__input--focus': focusedElement === 'encryptedCardNumber'\n })}\n />\n </Field>\n );\n};\n"],"names":["GiftcardNumberField","i18n","classNameModifiers","sfpState","getCardErrorMessage","focusedElement","setFocusOn","h","Field","label","get","errorMessage","focused","onFocusField","dir","name","contextVisibleToScreenReader","useLabelElement","renderAlternativeToLabel","alternativeLabelContent","DataSfSpan","encryptedFieldType","data-info","className","classNames"],"mappings":"4WAOaA,MAAAA,EAAsB,EAAGC,OAAMC,qBAAoBC,WAAUC,sBAAqBC,iBAAgBC,gBAEvGC,EAACC,EAAAA,CACGC,MAAOR,EAAKS,IAAI,6BAChBR,mBAAoB,CAAC,YAAaA,GAClCS,aAAcP,EAAoBD,GAClCS,QAA4B,wBAAnBP,EACTQ,aAAc,IAAMP,EAAW,uBAC/BQ,IAAK,MACLC,KAAM,sBACNC,8BAA8B,EAC9BC,iBAAiB,EACjBC,yBAA0BC,GAE1BZ,EAACa,EAAAA,CACGC,mBAAmB,sBACnBC,YAAU,uCACVC,UAAWC,EAAW,CAClB,yBAAyB,EACzB,gCAAgC,EAChC,2CAA2C,EAC3C,+BAAgCpB,EAAoBD,GACpD,+BAAmD,wBAAnBE"}
1
+ {"version":3,"file":"GiftcardNumberField.js","sources":["../../../../../src/components/Giftcard/components/GiftcardNumberField.tsx"],"sourcesContent":["import DataSfSpan from '../../Card/components/CardInput/components/DataSfSpan';\nimport classNames from 'classnames';\nimport Field from '../../internal/FormFields/Field';\nimport { h } from 'preact';\nimport { GiftcardFieldProps } from './types';\nimport { alternativeLabelContent } from '../../Card/components/CardInput/components/FieldLabelAlternative';\n\nexport const GiftcardNumberField = ({ i18n, classNameModifiers, sfpState, getCardErrorMessage, focusedElement, setFocusOn }: GiftcardFieldProps) => {\n return (\n <Field\n label={i18n.get('giftcard.cardNumber.label')}\n classNameModifiers={['number', ...classNameModifiers]}\n errorMessage={getCardErrorMessage(sfpState)}\n focused={focusedElement === 'encryptedCardNumber'}\n onFocusField={() => setFocusOn('encryptedCardNumber')}\n dir={'ltr'}\n name={'encryptedCardNumber'}\n contextVisibleToScreenReader={false}\n useLabelElement={false}\n renderAlternativeToLabel={alternativeLabelContent}\n >\n <DataSfSpan\n encryptedFieldType=\"encryptedCardNumber\"\n data-info='{\"length\":\"15-32\", \"maskInterval\":4}'\n className={classNames({\n 'adyen-checkout__input': true,\n 'adyen-checkout__input--large': true,\n 'adyen-checkout__card__cardNumber__input': true,\n 'adyen-checkout__input--error': getCardErrorMessage(sfpState),\n 'adyen-checkout__input--focus': focusedElement === 'encryptedCardNumber'\n })}\n />\n </Field>\n );\n};\n"],"names":["GiftcardNumberField","i18n","classNameModifiers","sfpState","getCardErrorMessage","focusedElement","setFocusOn","h","Field","label","get","errorMessage","focused","onFocusField","dir","name","contextVisibleToScreenReader","useLabelElement","renderAlternativeToLabel","alternativeLabelContent","DataSfSpan","encryptedFieldType","data-info","className","classNames"],"mappings":"2WAOaA,MAAAA,EAAsB,EAAGC,OAAMC,qBAAoBC,WAAUC,sBAAqBC,iBAAgBC,gBAEvGC,EAACC,EAAAA,CACGC,MAAOR,EAAKS,IAAI,6BAChBR,mBAAoB,CAAC,YAAaA,GAClCS,aAAcP,EAAoBD,GAClCS,QAA4B,wBAAnBP,EACTQ,aAAc,IAAMP,EAAW,uBAC/BQ,IAAK,MACLC,KAAM,sBACNC,8BAA8B,EAC9BC,iBAAiB,EACjBC,yBAA0BC,GAE1BZ,EAACa,EAAAA,CACGC,mBAAmB,sBACnBC,YAAU,uCACVC,UAAWC,EAAW,CAClB,yBAAyB,EACzB,gCAAgC,EAChC,2CAA2C,EAC3C,+BAAgCpB,EAAoBD,GACpD,+BAAmD,wBAAnBE"}
@@ -1,2 +1,2 @@
1
- import e from"../../Card/components/CardInput/components/DataSfSpan.js";import r from"../../../external/classnames/index.js";import t from"../../internal/FormFields/Field/Field.js";import{createElement as n}from"../../../external/preact/dist/preact.js";import{alternativeLabelContent as o}from"../../Card/components/CardInput/components/IframeLabelAlternative.js";const c=({i18n:c,classNameModifiers:a,sfpState:d,focusedElement:i,setFocusOn:s,label:p=c.get("creditCard.pin.label")})=>n(t,{label:p,classNameModifiers:["pin",...a],errorMessage:d.errors.encryptedSecurityCode&&c.get(d.errors.encryptedSecurityCode),focused:"encryptedSecurityCode"===i,onFocusField:()=>s("encryptedSecurityCode"),dir:"ltr",name:"encryptedSecurityCode",contextVisibleToScreenReader:!1,useLabelElement:!1,renderAlternativeToLabel:o},n(e,{encryptedFieldType:"encryptedSecurityCode","data-info":'{"length":"3-10", "maskInterval": 0}',className:r({"adyen-checkout__input":!0,"adyen-checkout__input--large":!0,"adyen-checkout__card__cvc__input":!0,"adyen-checkout__input--error":d.errors.encryptedSecurityCode,"adyen-checkout__input--focus":"encryptedSecurityCode"===i})}));export{c as GiftcardPinField};
1
+ import e from"../../Card/components/CardInput/components/DataSfSpan.js";import r from"../../../external/classnames/index.js";import t from"../../internal/FormFields/Field/Field.js";import{createElement as n}from"../../../external/preact/dist/preact.js";import{alternativeLabelContent as o}from"../../Card/components/CardInput/components/FieldLabelAlternative.js";const c=({i18n:c,classNameModifiers:a,sfpState:d,focusedElement:i,setFocusOn:s,label:p=c.get("creditCard.pin.label")})=>n(t,{label:p,classNameModifiers:["pin",...a],errorMessage:d.errors.encryptedSecurityCode&&c.get(d.errors.encryptedSecurityCode),focused:"encryptedSecurityCode"===i,onFocusField:()=>s("encryptedSecurityCode"),dir:"ltr",name:"encryptedSecurityCode",contextVisibleToScreenReader:!1,useLabelElement:!1,renderAlternativeToLabel:o},n(e,{encryptedFieldType:"encryptedSecurityCode","data-info":'{"length":"3-10", "maskInterval": 0}',className:r({"adyen-checkout__input":!0,"adyen-checkout__input--large":!0,"adyen-checkout__card__cvc__input":!0,"adyen-checkout__input--error":d.errors.encryptedSecurityCode,"adyen-checkout__input--focus":"encryptedSecurityCode"===i})}));export{c as GiftcardPinField};
2
2
  //# sourceMappingURL=GiftcardPinField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GiftcardPinField.js","sources":["../../../../../src/components/Giftcard/components/GiftcardPinField.tsx"],"sourcesContent":["import DataSfSpan from '../../Card/components/CardInput/components/DataSfSpan';\nimport classNames from 'classnames';\nimport Field from '../../internal/FormFields/Field';\nimport { h } from 'preact';\nimport { GiftcardFieldProps } from './types';\nimport { alternativeLabelContent } from '../../Card/components/CardInput/components/IframeLabelAlternative';\n\nexport const GiftcardPinField = ({\n i18n,\n classNameModifiers,\n sfpState,\n focusedElement,\n setFocusOn,\n label = i18n.get('creditCard.pin.label')\n}: GiftcardFieldProps) => {\n return (\n <Field\n label={label}\n classNameModifiers={['pin', ...classNameModifiers]}\n errorMessage={sfpState.errors.encryptedSecurityCode && i18n.get(sfpState.errors.encryptedSecurityCode)}\n focused={focusedElement === 'encryptedSecurityCode'}\n onFocusField={() => setFocusOn('encryptedSecurityCode')}\n dir={'ltr'}\n name={'encryptedSecurityCode'}\n contextVisibleToScreenReader={false}\n useLabelElement={false}\n renderAlternativeToLabel={alternativeLabelContent}\n >\n <DataSfSpan\n encryptedFieldType=\"encryptedSecurityCode\"\n data-info='{\"length\":\"3-10\", \"maskInterval\": 0}'\n className={classNames({\n 'adyen-checkout__input': true,\n 'adyen-checkout__input--large': true,\n 'adyen-checkout__card__cvc__input': true,\n 'adyen-checkout__input--error': sfpState.errors.encryptedSecurityCode,\n 'adyen-checkout__input--focus': focusedElement === 'encryptedSecurityCode'\n })}\n />\n </Field>\n );\n};\n"],"names":["GiftcardPinField","i18n","classNameModifiers","sfpState","focusedElement","setFocusOn","label","get","h","Field","errorMessage","errors","encryptedSecurityCode","focused","onFocusField","dir","name","contextVisibleToScreenReader","useLabelElement","renderAlternativeToLabel","alternativeLabelContent","DataSfSpan","encryptedFieldType","data-info","className","classNames"],"mappings":"kXAOaA,EAAmB,EAC5BC,OACAC,qBACAC,WACAC,iBACAC,aACAC,QAAQL,EAAKM,IAAI,2BAGbC,EAACC,EAAAA,CACGH,MAAOA,EACPJ,mBAAoB,CAAC,SAAUA,GAC/BQ,aAAcP,EAASQ,OAAOC,uBAAyBX,EAAKM,IAAIJ,EAASQ,OAAOC,uBAChFC,QAA4B,0BAAnBT,EACTU,aAAc,IAAMT,EAAW,yBAC/BU,IAAK,MACLC,KAAM,wBACNC,8BAA8B,EAC9BC,iBAAiB,EACjBC,yBAA0BC,GAE1BZ,EAACa,EAAAA,CACGC,mBAAmB,wBACnBC,YAAU,uCACVC,UAAWC,EAAW,CAClB,yBAAyB,EACzB,gCAAgC,EAChC,oCAAoC,EACpC,+BAAgCtB,EAASQ,OAAOC,sBAChD,+BAAmD,0BAAnBR"}
1
+ {"version":3,"file":"GiftcardPinField.js","sources":["../../../../../src/components/Giftcard/components/GiftcardPinField.tsx"],"sourcesContent":["import DataSfSpan from '../../Card/components/CardInput/components/DataSfSpan';\nimport classNames from 'classnames';\nimport Field from '../../internal/FormFields/Field';\nimport { h } from 'preact';\nimport { GiftcardFieldProps } from './types';\nimport { alternativeLabelContent } from '../../Card/components/CardInput/components/FieldLabelAlternative';\n\nexport const GiftcardPinField = ({\n i18n,\n classNameModifiers,\n sfpState,\n focusedElement,\n setFocusOn,\n label = i18n.get('creditCard.pin.label')\n}: GiftcardFieldProps) => {\n return (\n <Field\n label={label}\n classNameModifiers={['pin', ...classNameModifiers]}\n errorMessage={sfpState.errors.encryptedSecurityCode && i18n.get(sfpState.errors.encryptedSecurityCode)}\n focused={focusedElement === 'encryptedSecurityCode'}\n onFocusField={() => setFocusOn('encryptedSecurityCode')}\n dir={'ltr'}\n name={'encryptedSecurityCode'}\n contextVisibleToScreenReader={false}\n useLabelElement={false}\n renderAlternativeToLabel={alternativeLabelContent}\n >\n <DataSfSpan\n encryptedFieldType=\"encryptedSecurityCode\"\n data-info='{\"length\":\"3-10\", \"maskInterval\": 0}'\n className={classNames({\n 'adyen-checkout__input': true,\n 'adyen-checkout__input--large': true,\n 'adyen-checkout__card__cvc__input': true,\n 'adyen-checkout__input--error': sfpState.errors.encryptedSecurityCode,\n 'adyen-checkout__input--focus': focusedElement === 'encryptedSecurityCode'\n })}\n />\n </Field>\n );\n};\n"],"names":["GiftcardPinField","i18n","classNameModifiers","sfpState","focusedElement","setFocusOn","label","get","h","Field","errorMessage","errors","encryptedSecurityCode","focused","onFocusField","dir","name","contextVisibleToScreenReader","useLabelElement","renderAlternativeToLabel","alternativeLabelContent","DataSfSpan","encryptedFieldType","data-info","className","classNames"],"mappings":"iXAOaA,EAAmB,EAC5BC,OACAC,qBACAC,WACAC,iBACAC,aACAC,QAAQL,EAAKM,IAAI,2BAGbC,EAACC,EAAAA,CACGH,MAAOA,EACPJ,mBAAoB,CAAC,SAAUA,GAC/BQ,aAAcP,EAASQ,OAAOC,uBAAyBX,EAAKM,IAAIJ,EAASQ,OAAOC,uBAChFC,QAA4B,0BAAnBT,EACTU,aAAc,IAAMT,EAAW,yBAC/BU,IAAK,MACLC,KAAM,wBACNC,8BAA8B,EAC9BC,iBAAiB,EACjBC,yBAA0BC,GAE1BZ,EAACa,EAAAA,CACGC,mBAAmB,wBACnBC,YAAU,uCACVC,UAAWC,EAAW,CAClB,yBAAyB,EACzB,gCAAgC,EAChC,oCAAoC,EACpC,+BAAgCtB,EAASQ,OAAOC,sBAChD,+BAAmD,0BAAnBR"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./GooglePayService.js";import s from"./components/GooglePayButton.js";import r from"./defaultProps.js";import{getGooglePayLocale as n,formatGooglePayContactToAdyenAddressFormat as a}from"./utils.js";import i from"../../utils/browserInfo.js";import l from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as h}from"../tx-variants.js";import{sanitizeResponse as p,verifyPaymentDidNotFail as d}from"../internal/UIElement/utils.js";import{ANALYTICS_SELECTED_STR as y,ANALYTICS_INSTANT_PAYMENT_BUTTON as g}from"../../core/Analytics/constants.js";class c extends e{static type=h.googlepay;static txVariants=[h.googlepay,h.paywithgoogle];static defaultProps=r;googlePay;constructor(t,e){super(t,e),this.handleAuthorization=this.handleAuthorization.bind(this);const{isExpress:s,paymentDataCallbacks:r}=this.props;if(!1===s&&r?.onPaymentDataChanged)throw new l("IMPLEMENTATION_ERROR",'GooglePay - You must set "isExpress" flag to "true" in order to use "onPaymentDataChanged" callback');this.googlePay=new o(this.props.environment,{...s&&r?.onPaymentDataChanged&&{onPaymentDataChanged:r.onPaymentDataChanged},onPaymentAuthorized:this.onPaymentAuthorized})}formatProps(t){const e=t.buttonSizeMode??(t.isDropin?"fill":"static"),o=n(t.buttonLocale??t.i18n?.locale),s=[...t.callbackIntents,"PAYMENT_AUTHORIZATION"];return{...t,configuration:t.configuration,buttonSizeMode:e,buttonLocale:o,callbackIntents:s}}formatData(){const{googlePayCardNetwork:t,googlePayToken:e,billingAddress:o,deliveryAddress:s}=this.state,{isExpress:r}=this.props;return{paymentMethod:{type:this.type,googlePayCardNetwork:t,googlePayToken:e,...r&&{subtype:"express"}},browserInfo:this.browserInfo,origin:!!window&&window.location.origin,...o&&{billingAddress:o},...s&&{deliveryAddress:s}}}submitAnalytics(t){super.submitAnalytics({...t},this.props)}submit=()=>{this.props.isInstantPayment&&this.submitAnalytics({type:y,target:g}),new Promise(((t,e)=>this.props.onClick(t,e))).then((()=>this.googlePay.initiatePayment(this.props,this.core.options.countryCode))).catch((t=>{"CANCELED"===t.statusCode?this.handleError(new l("CANCEL",t.toString(),{cause:t})):this.handleError(new l("ERROR",t.toString(),{cause:t}))}))};onPaymentAuthorized=async t=>{const e=a(t.paymentMethodData.info.billingAddress),o=a(t.shippingAddress,!0);return this.setState({authorizedEvent:t,googlePayToken:t.paymentMethodData.tokenizationData.token,googlePayCardNetwork:t.paymentMethodData.info.cardNetwork,...e&&{billingAddress:e},...o&&{deliveryAddress:o}}),new Promise((t=>{this.handleAuthorization().then(this.makePaymentsCall).then(p).then(d).then((e=>(t({transactionState:"SUCCESS"}),e))).then((t=>{this.handleResponse(t)})).catch((e=>{this.setElementStatus("ready");const o=e?.error?.googlePayError,s=this.props.i18n.get("error.subtitle.payment"),r="string"==typeof o?{intent:"PAYMENT_AUTHORIZATION",reason:"OTHER_ERROR",message:o||s}:{intent:o?.intent||"PAYMENT_AUTHORIZATION",reason:o?.reason||"OTHER_ERROR",message:o?.message||s};t({transactionState:"ERROR",error:r});const n={...e,error:{googlePayError:r}};this.handleFailedResult(n)}))}))};async handleAuthorization(){return new Promise(((t,e)=>{this.props.onAuthorized||t();const{authorizedEvent:o,billingAddress:s,deliveryAddress:r}=this.state;this.props.onAuthorized({authorizedEvent:o,...s&&{billingAddress:s},...r&&{deliveryAddress:r}},{resolve:t,reject:e})})).catch((t=>{const e={error:{googlePayError:t}};return Promise.reject(e)}))}get isValid(){return!!this.state.googlePayToken}async isAvailable(){return this.isReadyToPay().then((t=>{if(!t.result)throw new l("ERROR","GooglePay is not available");if(!1===t.paymentMethodPresent)throw new l("ERROR","GooglePay - No paymentMethodPresent");return Promise.resolve()})).catch((t=>Promise.reject(t)))}isReadyToPay=()=>this.googlePay.isReadyToPay(this.props);prefetch=()=>this.googlePay.prefetchPaymentData(this.props,this.core.options.countryCode);get browserInfo(){return i()}get icon(){return this.props.icon??this.resources.getImage()("googlepay")}render(){return this.props.showPayButton?t(s,{buttonColor:this.props.buttonColor,buttonType:this.props.buttonType,buttonSizeMode:this.props.buttonSizeMode,buttonLocale:this.props.buttonLocale,buttonRootNode:this.props.buttonRootNode,paymentsClient:this.googlePay.paymentsClient,onClick:this.submit}):null}}export{c as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./GooglePayService.js";import s from"./components/GooglePayButton.js";import r from"./defaultProps.js";import{getGooglePayLocale as n,formatGooglePayContactToAdyenAddressFormat as a}from"./utils.js";import i from"../../utils/browserInfo.js";import l from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as h}from"../tx-variants.js";import{sanitizeResponse as p,verifyPaymentDidNotFail as d}from"../internal/UIElement/utils.js";import{ANALYTICS_SELECTED_STR as y,ANALYTICS_INSTANT_PAYMENT_BUTTON as u}from"../../core/Analytics/constants.js";class g extends e{static type=h.googlepay;static txVariants=[h.googlepay,h.paywithgoogle];static defaultProps=r;googlePay;constructor(t,e){super(t,e),this.handleAuthorization=this.handleAuthorization.bind(this);const{isExpress:s,paymentDataCallbacks:r}=this.props;if(!1===s&&r?.onPaymentDataChanged)throw new l("IMPLEMENTATION_ERROR",'GooglePay - You must set "isExpress" flag to "true" in order to use "onPaymentDataChanged" callback');this.googlePay=new o(this.props.environment,{...s&&r?.onPaymentDataChanged&&{onPaymentDataChanged:r.onPaymentDataChanged},onPaymentAuthorized:this.onPaymentAuthorized})}formatProps(t){const e=t.buttonSizeMode??(t.isDropin?"fill":"static"),o=n(t.buttonLocale??t.i18n?.locale),s=[...t.callbackIntents,"PAYMENT_AUTHORIZATION"];return{...t,configuration:t.configuration,buttonSizeMode:e,buttonLocale:o,callbackIntents:s}}formatData(){const{googlePayCardNetwork:t,googlePayToken:e,billingAddress:o,deliveryAddress:s}=this.state,{isExpress:r}=this.props;return{paymentMethod:{type:this.type,googlePayCardNetwork:t,googlePayToken:e,...r&&{subtype:"express"}},browserInfo:this.browserInfo,origin:!!window&&window.location.origin,...o&&{billingAddress:o},...s&&{deliveryAddress:s}}}submitAnalytics(t){super.submitAnalytics({...t},this.props)}submit=()=>{this.props.isInstantPayment&&this.submitAnalytics({type:y,target:u}),new Promise(((t,e)=>this.props.onClick(t,e))).then((()=>this.googlePay.initiatePayment(this.props,this.core.options.countryCode))).catch((t=>{"CANCELED"===t.statusCode?this.handleError(new l("CANCEL",t.toString(),{cause:t})):this.handleError(new l("ERROR",t.toString(),{cause:t}))}))};onPaymentAuthorized=async t=>{const e=a(t.paymentMethodData.info.billingAddress),o=a(t.shippingAddress,!0);return this.setState({authorizedEvent:t,googlePayToken:t.paymentMethodData.tokenizationData.token,googlePayCardNetwork:t.paymentMethodData.info.cardNetwork,...e&&{billingAddress:e},...o&&{deliveryAddress:o}}),new Promise((t=>{this.handleAuthorization().then(this.makePaymentsCall).then(p).then(d).then((e=>(t({transactionState:"SUCCESS"}),e))).then((t=>{this.handleResponse(t)})).catch((e=>{this.setElementStatus("ready");const o=e?.error?.googlePayError,s=this.props.i18n.get("error.subtitle.payment"),r="string"==typeof o?{intent:"PAYMENT_AUTHORIZATION",reason:"OTHER_ERROR",message:o||s}:{intent:o?.intent||"PAYMENT_AUTHORIZATION",reason:o?.reason||"OTHER_ERROR",message:o?.message||s};t({transactionState:"ERROR",error:r});const n={...e,error:{googlePayError:r}};this.handleFailedResult(n)}))}))};async handleAuthorization(){return new Promise(((t,e)=>{this.props.onAuthorized||t();const{authorizedEvent:o,billingAddress:s,deliveryAddress:r}=this.state;this.props.onAuthorized({authorizedEvent:o,...s&&{billingAddress:s},...r&&{deliveryAddress:r}},{resolve:t,reject:e})})).catch((t=>{const e={error:{googlePayError:t}};return Promise.reject(e)}))}get isValid(){return!!this.state.googlePayToken}async isAvailable(){return this.isReadyToPay().then((t=>{if(!t.result)throw new l("ERROR","GooglePay is not available");if(!1===t.paymentMethodPresent)throw new l("ERROR","GooglePay - No paymentMethodPresent");return Promise.resolve()})).catch((t=>Promise.reject(t)))}isReadyToPay=()=>this.googlePay.isReadyToPay(this.props);prefetch=()=>this.googlePay.prefetchPaymentData(this.props,this.core.options.countryCode);get browserInfo(){return i()}get icon(){return this.props.icon??this.resources.getImage()("googlepay")}render(){return this.props.showPayButton?t(s,{buttonColor:this.props.buttonColor,buttonType:this.props.buttonType,buttonSizeMode:this.props.buttonSizeMode,buttonLocale:this.props.buttonLocale,buttonRootNode:this.props.buttonRootNode,buttonRadius:this.props.buttonRadius,paymentsClient:this.googlePay.paymentsClient,onClick:this.submit}):null}}export{g as default};
2
2
  //# sourceMappingURL=GooglePay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GooglePay.js","sources":["../../../../src/components/GooglePay/GooglePay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GooglePayService from './GooglePayService';\nimport GooglePayButton from './components/GooglePayButton';\nimport defaultProps from './defaultProps';\nimport { formatGooglePayContactToAdyenAddressFormat, getGooglePayLocale } from './utils';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { ANALYTICS_INSTANT_PAYMENT_BUTTON, ANALYTICS_SELECTED_STR } from '../../core/Analytics/constants';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\n\nimport type { AddressData, BrowserInfo, PaymentResponseData, RawPaymentResponse } from '../../types/global-types';\nimport type { GooglePayConfiguration } from './types';\nimport type { ICore } from '../../core/types';\n\nclass GooglePay extends UIElement<GooglePayConfiguration> {\n public static type = TxVariants.googlepay;\n public static txVariants = [TxVariants.googlepay, TxVariants.paywithgoogle];\n public static defaultProps = defaultProps;\n\n protected readonly googlePay;\n\n constructor(checkout: ICore, props?: GooglePayConfiguration) {\n super(checkout, props);\n this.handleAuthorization = this.handleAuthorization.bind(this);\n\n const { isExpress, paymentDataCallbacks } = this.props;\n\n if (isExpress === false && paymentDataCallbacks?.onPaymentDataChanged) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'GooglePay - You must set \"isExpress\" flag to \"true\" in order to use \"onPaymentDataChanged\" callback'\n );\n }\n\n this.googlePay = new GooglePayService(this.props.environment, {\n ...(isExpress && paymentDataCallbacks?.onPaymentDataChanged && { onPaymentDataChanged: paymentDataCallbacks.onPaymentDataChanged }),\n onPaymentAuthorized: this.onPaymentAuthorized\n });\n }\n\n protected override formatProps(props): GooglePayConfiguration {\n const buttonSizeMode = props.buttonSizeMode ?? (props.isDropin ? 'fill' : 'static');\n const buttonLocale = getGooglePayLocale(props.buttonLocale ?? props.i18n?.locale);\n\n const callbackIntents: google.payments.api.CallbackIntent[] = [...props.callbackIntents, 'PAYMENT_AUTHORIZATION'];\n\n return {\n ...props,\n configuration: props.configuration,\n buttonSizeMode,\n buttonLocale,\n callbackIntents\n };\n }\n\n /**\n * Formats the component data output\n */\n protected override formatData() {\n const { googlePayCardNetwork, googlePayToken, billingAddress, deliveryAddress } = this.state;\n const { isExpress } = this.props;\n\n return {\n paymentMethod: {\n type: this.type,\n googlePayCardNetwork,\n googlePayToken,\n ...(isExpress && { subtype: 'express' })\n },\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n };\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n super.submitAnalytics({ ...analyticsObj }, this.props);\n }\n\n public override submit = () => {\n // Analytics\n if (this.props.isInstantPayment) {\n this.submitAnalytics({ type: ANALYTICS_SELECTED_STR, target: ANALYTICS_INSTANT_PAYMENT_BUTTON });\n }\n\n new Promise((resolve, reject) => this.props.onClick(resolve, reject))\n .then(() => this.googlePay.initiatePayment(this.props, this.core.options.countryCode))\n .catch((error: google.payments.api.PaymentsError) => {\n if (error.statusCode === 'CANCELED') {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n this.handleError(new AdyenCheckoutError('CANCEL', error.toString(), { cause: error }));\n } else {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n this.handleError(new AdyenCheckoutError('ERROR', error.toString(), { cause: error }));\n }\n });\n };\n\n /**\n * Method called when the payment is authorized in the payment sheet\n *\n * @see https://developers.google.com/pay/api/web/reference/client#onPaymentAuthorized\n **/\n private onPaymentAuthorized = async (paymentData: google.payments.api.PaymentData): Promise<google.payments.api.PaymentAuthorizationResult> => {\n const billingAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.paymentMethodData.info.billingAddress);\n const deliveryAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.shippingAddress, true);\n\n this.setState({\n authorizedEvent: paymentData,\n googlePayToken: paymentData.paymentMethodData.tokenizationData.token,\n googlePayCardNetwork: paymentData.paymentMethodData.info.cardNetwork,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n return new Promise<google.payments.api.PaymentAuthorizationResult>(resolve => {\n this.handleAuthorization()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then((paymentResponse: PaymentResponseData) => {\n resolve({ transactionState: 'SUCCESS' });\n return paymentResponse;\n })\n .then(paymentResponse => {\n this.handleResponse(paymentResponse);\n })\n .catch((paymentResponse?: RawPaymentResponse) => {\n this.setElementStatus('ready');\n\n const googlePayError = paymentResponse?.error?.googlePayError;\n const fallbackMessage = this.props.i18n.get('error.subtitle.payment');\n\n const error: google.payments.api.PaymentDataError =\n typeof googlePayError === 'string' || undefined\n ? {\n intent: 'PAYMENT_AUTHORIZATION',\n reason: 'OTHER_ERROR',\n message: (googlePayError as string) || fallbackMessage\n }\n : {\n intent: googlePayError?.intent || 'PAYMENT_AUTHORIZATION',\n reason: googlePayError?.reason || 'OTHER_ERROR',\n message: googlePayError?.message || fallbackMessage\n };\n\n resolve({\n transactionState: 'ERROR',\n error\n });\n\n const responseWithError = {\n ...paymentResponse,\n error: {\n googlePayError: error\n }\n };\n\n this.handleFailedResult(responseWithError);\n });\n });\n };\n\n /**\n * Call the 'onAuthorized' callback if available.\n * Must be resolved/reject for the payment flow to continue\n */\n private async handleAuthorization(): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (!this.props.onAuthorized) {\n resolve();\n }\n\n const { authorizedEvent, billingAddress, deliveryAddress } = this.state;\n\n this.props.onAuthorized(\n {\n authorizedEvent,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n );\n }).catch((error?: google.payments.api.PaymentDataError | string) => {\n // Format error in a way that the 'catch' of the 'onPaymentAuthorize' block accepts it\n const data = { error: { googlePayError: error } };\n return Promise.reject(data);\n });\n }\n\n /**\n * Validation\n */\n get isValid(): boolean {\n return !!this.state.googlePayToken;\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public override async isAvailable(): Promise<void> {\n return this.isReadyToPay()\n .then(response => {\n if (!response.result) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay is not available');\n }\n\n if (response.paymentMethodPresent === false) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay - No paymentMethodPresent');\n }\n\n return Promise.resolve();\n })\n .catch(error => {\n return Promise.reject(error);\n });\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public isReadyToPay = (): Promise<google.payments.api.IsReadyToPayResponse> => {\n return this.googlePay.isReadyToPay(this.props);\n };\n\n /**\n * Use this method to prefetch a PaymentDataRequest configuration to improve loadPaymentData execution time on later user interaction. No value is returned.\n */\n public prefetch = (): void => {\n return this.googlePay.prefetchPaymentData(this.props, this.core.options.countryCode);\n };\n\n get browserInfo(): BrowserInfo {\n return collectBrowserInfo();\n }\n\n get icon(): string {\n return this.props.icon ?? this.resources.getImage()('googlepay');\n }\n\n render() {\n if (this.props.showPayButton) {\n return (\n <GooglePayButton\n buttonColor={this.props.buttonColor}\n buttonType={this.props.buttonType}\n buttonSizeMode={this.props.buttonSizeMode}\n buttonLocale={this.props.buttonLocale}\n buttonRootNode={this.props.buttonRootNode}\n paymentsClient={this.googlePay.paymentsClient}\n onClick={this.submit}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default GooglePay;\n"],"names":["GooglePay","UIElement","static","TxVariants","googlepay","paywithgoogle","defaultProps","googlePay","constructor","checkout","props","super","this","handleAuthorization","bind","isExpress","paymentDataCallbacks","onPaymentDataChanged","AdyenCheckoutError","GooglePayService","environment","onPaymentAuthorized","formatProps","buttonSizeMode","isDropin","buttonLocale","getGooglePayLocale","i18n","locale","callbackIntents","configuration","formatData","googlePayCardNetwork","googlePayToken","billingAddress","deliveryAddress","state","paymentMethod","type","subtype","browserInfo","origin","window","location","submitAnalytics","analyticsObj","submit","isInstantPayment","ANALYTICS_SELECTED_STR","target","ANALYTICS_INSTANT_PAYMENT_BUTTON","Promise","resolve","reject","onClick","then","initiatePayment","core","options","countryCode","catch","error","statusCode","handleError","toString","cause","async","paymentData","formatGooglePayContactToAdyenAddressFormat","paymentMethodData","info","shippingAddress","setState","authorizedEvent","tokenizationData","token","cardNetwork","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","paymentResponse","transactionState","handleResponse","setElementStatus","googlePayError","fallbackMessage","get","intent","reason","message","responseWithError","handleFailedResult","onAuthorized","data","isValid","isAvailable","isReadyToPay","response","result","paymentMethodPresent","prefetch","prefetchPaymentData","collectBrowserInfo","icon","resources","getImage","render","showPayButton","h","GooglePayButton","buttonColor","buttonType","buttonRootNode","paymentsClient"],"mappings":"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"}
1
+ {"version":3,"file":"GooglePay.js","sources":["../../../../src/components/GooglePay/GooglePay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GooglePayService from './GooglePayService';\nimport GooglePayButton from './components/GooglePayButton';\nimport defaultProps from './defaultProps';\nimport { formatGooglePayContactToAdyenAddressFormat, getGooglePayLocale } from './utils';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { ANALYTICS_INSTANT_PAYMENT_BUTTON, ANALYTICS_SELECTED_STR } from '../../core/Analytics/constants';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\n\nimport type { AddressData, BrowserInfo, PaymentResponseData, RawPaymentResponse } from '../../types/global-types';\nimport type { GooglePayConfiguration } from './types';\nimport type { ICore } from '../../core/types';\n\nclass GooglePay extends UIElement<GooglePayConfiguration> {\n public static type = TxVariants.googlepay;\n public static txVariants = [TxVariants.googlepay, TxVariants.paywithgoogle];\n public static defaultProps = defaultProps;\n\n protected readonly googlePay;\n\n constructor(checkout: ICore, props?: GooglePayConfiguration) {\n super(checkout, props);\n this.handleAuthorization = this.handleAuthorization.bind(this);\n\n const { isExpress, paymentDataCallbacks } = this.props;\n\n if (isExpress === false && paymentDataCallbacks?.onPaymentDataChanged) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'GooglePay - You must set \"isExpress\" flag to \"true\" in order to use \"onPaymentDataChanged\" callback'\n );\n }\n\n this.googlePay = new GooglePayService(this.props.environment, {\n ...(isExpress && paymentDataCallbacks?.onPaymentDataChanged && { onPaymentDataChanged: paymentDataCallbacks.onPaymentDataChanged }),\n onPaymentAuthorized: this.onPaymentAuthorized\n });\n }\n\n protected override formatProps(props): GooglePayConfiguration {\n const buttonSizeMode = props.buttonSizeMode ?? (props.isDropin ? 'fill' : 'static');\n const buttonLocale = getGooglePayLocale(props.buttonLocale ?? props.i18n?.locale);\n\n const callbackIntents: google.payments.api.CallbackIntent[] = [...props.callbackIntents, 'PAYMENT_AUTHORIZATION'];\n\n return {\n ...props,\n configuration: props.configuration,\n buttonSizeMode,\n buttonLocale,\n callbackIntents\n };\n }\n\n /**\n * Formats the component data output\n */\n protected override formatData() {\n const { googlePayCardNetwork, googlePayToken, billingAddress, deliveryAddress } = this.state;\n const { isExpress } = this.props;\n\n return {\n paymentMethod: {\n type: this.type,\n googlePayCardNetwork,\n googlePayToken,\n ...(isExpress && { subtype: 'express' })\n },\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n };\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n super.submitAnalytics({ ...analyticsObj }, this.props);\n }\n\n public override submit = () => {\n // Analytics\n if (this.props.isInstantPayment) {\n this.submitAnalytics({ type: ANALYTICS_SELECTED_STR, target: ANALYTICS_INSTANT_PAYMENT_BUTTON });\n }\n\n new Promise((resolve, reject) => this.props.onClick(resolve, reject))\n .then(() => this.googlePay.initiatePayment(this.props, this.core.options.countryCode))\n .catch((error: google.payments.api.PaymentsError) => {\n if (error.statusCode === 'CANCELED') {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n this.handleError(new AdyenCheckoutError('CANCEL', error.toString(), { cause: error }));\n } else {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n this.handleError(new AdyenCheckoutError('ERROR', error.toString(), { cause: error }));\n }\n });\n };\n\n /**\n * Method called when the payment is authorized in the payment sheet\n *\n * @see https://developers.google.com/pay/api/web/reference/client#onPaymentAuthorized\n **/\n private onPaymentAuthorized = async (paymentData: google.payments.api.PaymentData): Promise<google.payments.api.PaymentAuthorizationResult> => {\n const billingAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.paymentMethodData.info.billingAddress);\n const deliveryAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.shippingAddress, true);\n\n this.setState({\n authorizedEvent: paymentData,\n googlePayToken: paymentData.paymentMethodData.tokenizationData.token,\n googlePayCardNetwork: paymentData.paymentMethodData.info.cardNetwork,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n return new Promise<google.payments.api.PaymentAuthorizationResult>(resolve => {\n this.handleAuthorization()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then((paymentResponse: PaymentResponseData) => {\n resolve({ transactionState: 'SUCCESS' });\n return paymentResponse;\n })\n .then(paymentResponse => {\n this.handleResponse(paymentResponse);\n })\n .catch((paymentResponse?: RawPaymentResponse) => {\n this.setElementStatus('ready');\n\n const googlePayError = paymentResponse?.error?.googlePayError;\n const fallbackMessage = this.props.i18n.get('error.subtitle.payment');\n\n const error: google.payments.api.PaymentDataError =\n typeof googlePayError === 'string' || undefined\n ? {\n intent: 'PAYMENT_AUTHORIZATION',\n reason: 'OTHER_ERROR',\n message: (googlePayError as string) || fallbackMessage\n }\n : {\n intent: googlePayError?.intent || 'PAYMENT_AUTHORIZATION',\n reason: googlePayError?.reason || 'OTHER_ERROR',\n message: googlePayError?.message || fallbackMessage\n };\n\n resolve({\n transactionState: 'ERROR',\n error\n });\n\n const responseWithError = {\n ...paymentResponse,\n error: {\n googlePayError: error\n }\n };\n\n this.handleFailedResult(responseWithError);\n });\n });\n };\n\n /**\n * Call the 'onAuthorized' callback if available.\n * Must be resolved/reject for the payment flow to continue\n */\n private async handleAuthorization(): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (!this.props.onAuthorized) {\n resolve();\n }\n\n const { authorizedEvent, billingAddress, deliveryAddress } = this.state;\n\n this.props.onAuthorized(\n {\n authorizedEvent,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n );\n }).catch((error?: google.payments.api.PaymentDataError | string) => {\n // Format error in a way that the 'catch' of the 'onPaymentAuthorize' block accepts it\n const data = { error: { googlePayError: error } };\n return Promise.reject(data);\n });\n }\n\n /**\n * Validation\n */\n get isValid(): boolean {\n return !!this.state.googlePayToken;\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public override async isAvailable(): Promise<void> {\n return this.isReadyToPay()\n .then(response => {\n if (!response.result) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay is not available');\n }\n\n if (response.paymentMethodPresent === false) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay - No paymentMethodPresent');\n }\n\n return Promise.resolve();\n })\n .catch(error => {\n return Promise.reject(error);\n });\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public isReadyToPay = (): Promise<google.payments.api.IsReadyToPayResponse> => {\n return this.googlePay.isReadyToPay(this.props);\n };\n\n /**\n * Use this method to prefetch a PaymentDataRequest configuration to improve loadPaymentData execution time on later user interaction. No value is returned.\n */\n public prefetch = (): void => {\n return this.googlePay.prefetchPaymentData(this.props, this.core.options.countryCode);\n };\n\n get browserInfo(): BrowserInfo {\n return collectBrowserInfo();\n }\n\n get icon(): string {\n return this.props.icon ?? this.resources.getImage()('googlepay');\n }\n\n render() {\n if (this.props.showPayButton) {\n return (\n <GooglePayButton\n buttonColor={this.props.buttonColor}\n buttonType={this.props.buttonType}\n buttonSizeMode={this.props.buttonSizeMode}\n buttonLocale={this.props.buttonLocale}\n buttonRootNode={this.props.buttonRootNode}\n buttonRadius={this.props.buttonRadius}\n paymentsClient={this.googlePay.paymentsClient}\n onClick={this.submit}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default GooglePay;\n"],"names":["GooglePay","UIElement","static","TxVariants","googlepay","paywithgoogle","defaultProps","googlePay","constructor","checkout","props","super","this","handleAuthorization","bind","isExpress","paymentDataCallbacks","onPaymentDataChanged","AdyenCheckoutError","GooglePayService","environment","onPaymentAuthorized","formatProps","buttonSizeMode","isDropin","buttonLocale","getGooglePayLocale","i18n","locale","callbackIntents","configuration","formatData","googlePayCardNetwork","googlePayToken","billingAddress","deliveryAddress","state","paymentMethod","type","subtype","browserInfo","origin","window","location","submitAnalytics","analyticsObj","submit","isInstantPayment","ANALYTICS_SELECTED_STR","target","ANALYTICS_INSTANT_PAYMENT_BUTTON","Promise","resolve","reject","onClick","then","initiatePayment","core","options","countryCode","catch","error","statusCode","handleError","toString","cause","async","paymentData","formatGooglePayContactToAdyenAddressFormat","paymentMethodData","info","shippingAddress","setState","authorizedEvent","tokenizationData","token","cardNetwork","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","paymentResponse","transactionState","handleResponse","setElementStatus","googlePayError","fallbackMessage","get","intent","reason","message","responseWithError","handleFailedResult","onAuthorized","data","isValid","isAvailable","isReadyToPay","response","result","paymentMethodPresent","prefetch","prefetchPaymentData","collectBrowserInfo","icon","resources","getImage","render","showPayButton","h","GooglePayButton","buttonColor","buttonType","buttonRootNode","buttonRadius","paymentsClient"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../../external/preact/dist/preact.js";import{useRef as o,useEffect as e}from"../../../external/preact/hooks/dist/hooks.js";const n=n=>{const a=o(void 0);return e((()=>{const{onClick:t,buttonColor:o,buttonType:e,buttonLocale:u,buttonSizeMode:r,buttonRootNode:c,paymentsClient:s}=n;s.then((n=>n.createButton({onClick:t,buttonType:e,buttonColor:o,buttonLocale:u,buttonSizeMode:r,buttonRootNode:c}))).then((t=>{a.current&&a.current.appendChild(t)}))}),[n.buttonColor,n.buttonType,n.buttonLocale,n.buttonSizeMode,n.buttonRootNode,n.paymentsClient]),t("div",{"data-testid":"googlepay-button-container",className:"adyen-checkout__paywithgoogle",ref:a})};export{n as default};
1
+ import{createElement as t}from"../../../external/preact/dist/preact.js";import{useRef as o,useEffect as e}from"../../../external/preact/hooks/dist/hooks.js";const n=n=>{const a=o(void 0);return e((()=>{const{onClick:t,buttonRadius:o,buttonColor:e,buttonType:u,buttonLocale:r,buttonSizeMode:s,buttonRootNode:c,paymentsClient:i}=n;i.then((n=>n.createButton({onClick:t,buttonType:u,buttonColor:e,buttonLocale:r,buttonSizeMode:s,buttonRootNode:c,...o&&{buttonRadius:o}}))).then((t=>{a.current&&a.current.appendChild(t)}))}),[n.buttonColor,n.buttonType,n.buttonLocale,n.buttonSizeMode,n.buttonRootNode,n.paymentsClient]),t("div",{"data-testid":"googlepay-button-container",className:"adyen-checkout__paywithgoogle",ref:a})};export{n as default};
2
2
  //# sourceMappingURL=GooglePayButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GooglePayButton.js","sources":["../../../../../src/components/GooglePay/components/GooglePayButton.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useRef } from 'preact/hooks';\nimport './GooglePayButton.scss';\n\ninterface GooglePayButtonProps {\n buttonColor: google.payments.api.ButtonColor;\n buttonType: google.payments.api.ButtonType;\n buttonSizeMode: google.payments.api.ButtonSizeMode;\n buttonLocale: string;\n buttonRootNode?: HTMLDocument | ShadowRoot;\n paymentsClient: Promise<google.payments.api.PaymentsClient>;\n onClick: (e: Event) => void;\n}\n\nconst GooglePayButton = (props: GooglePayButtonProps) => {\n const googlePayWrapperRef = useRef<HTMLDivElement | undefined>(undefined);\n\n useEffect(() => {\n const { onClick, buttonColor, buttonType, buttonLocale, buttonSizeMode, buttonRootNode, paymentsClient } = props;\n\n void paymentsClient\n .then(client =>\n client.createButton({\n onClick,\n buttonType,\n buttonColor,\n buttonLocale,\n buttonSizeMode,\n buttonRootNode\n })\n )\n .then(googlePayButton => {\n if (googlePayWrapperRef.current) {\n googlePayWrapperRef.current.appendChild(googlePayButton);\n }\n });\n }, [props.buttonColor, props.buttonType, props.buttonLocale, props.buttonSizeMode, props.buttonRootNode, props.paymentsClient]);\n\n return <div data-testid=\"googlepay-button-container\" className={'adyen-checkout__paywithgoogle'} ref={googlePayWrapperRef} />;\n};\n\nexport default GooglePayButton;\n"],"names":["GooglePayButton","props","googlePayWrapperRef","useRef","undefined","useEffect","onClick","buttonColor","buttonType","buttonLocale","buttonSizeMode","buttonRootNode","paymentsClient","then","client","createButton","googlePayButton","current","appendChild","h","div","data-testid","className","ref"],"mappings":"6JAcA,MAAMA,EAAmBC,IACrB,MAAMC,EAAsBC,OAAmCC,GAuB/D,OArBAC,GAAU,KACN,MAAMC,QAAEA,EAAOC,YAAEA,EAAWC,WAAEA,EAAUC,aAAEA,EAAYC,eAAEA,EAAcC,eAAEA,EAAcC,eAAEA,GAAmBX,EAEtGW,EACAC,MAAKC,GACFA,EAAOC,aAAa,CAChBT,UACAE,aACAD,cACAE,eACAC,iBACAC,qBAGPE,MAAKG,IACEd,EAAoBe,SACpBf,EAAoBe,QAAQC,YAAYF,EAC5C,GACJ,GACL,CAACf,EAAMM,YAAaN,EAAMO,WAAYP,EAAMQ,aAAcR,EAAMS,eAAgBT,EAAMU,eAAgBV,EAAMW,iBAExGO,EAACC,MAAAA,CAAIC,cAAY,6BAA6BC,UAAW,gCAAiCC,IAAKrB"}
1
+ {"version":3,"file":"GooglePayButton.js","sources":["../../../../../src/components/GooglePay/components/GooglePayButton.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useRef } from 'preact/hooks';\nimport './GooglePayButton.scss';\n\ninterface GooglePayButtonProps {\n buttonColor: google.payments.api.ButtonColor;\n buttonType: google.payments.api.ButtonType;\n buttonSizeMode: google.payments.api.ButtonSizeMode;\n buttonLocale: string;\n buttonRadius?: number;\n buttonRootNode?: HTMLDocument | ShadowRoot;\n paymentsClient: Promise<google.payments.api.PaymentsClient>;\n onClick: (e: Event) => void;\n}\n\nconst GooglePayButton = (props: GooglePayButtonProps) => {\n const googlePayWrapperRef = useRef<HTMLDivElement | undefined>(undefined);\n\n useEffect(() => {\n const { onClick, buttonRadius, buttonColor, buttonType, buttonLocale, buttonSizeMode, buttonRootNode, paymentsClient } = props;\n\n void paymentsClient\n .then(client =>\n client.createButton({\n onClick,\n buttonType,\n buttonColor,\n buttonLocale,\n buttonSizeMode,\n buttonRootNode,\n ...(buttonRadius && { buttonRadius })\n })\n )\n .then(googlePayButton => {\n if (googlePayWrapperRef.current) {\n googlePayWrapperRef.current.appendChild(googlePayButton);\n }\n });\n }, [props.buttonColor, props.buttonType, props.buttonLocale, props.buttonSizeMode, props.buttonRootNode, props.paymentsClient]);\n\n return <div data-testid=\"googlepay-button-container\" className={'adyen-checkout__paywithgoogle'} ref={googlePayWrapperRef} />;\n};\n\nexport default GooglePayButton;\n"],"names":["GooglePayButton","props","googlePayWrapperRef","useRef","undefined","useEffect","onClick","buttonRadius","buttonColor","buttonType","buttonLocale","buttonSizeMode","buttonRootNode","paymentsClient","then","client","createButton","googlePayButton","current","appendChild","h","div","data-testid","className","ref"],"mappings":"6JAeA,MAAMA,EAAmBC,IACrB,MAAMC,EAAsBC,OAAmCC,GAwB/D,OAtBAC,GAAU,KACN,MAAMC,QAAEA,EAAOC,aAAEA,EAAYC,YAAEA,EAAWC,WAAEA,EAAUC,aAAEA,EAAYC,eAAEA,EAAcC,eAAEA,EAAcC,eAAEA,GAAmBZ,EAEpHY,EACAC,MAAKC,GACFA,EAAOC,aAAa,CAChBV,UACAG,aACAD,cACAE,eACAC,iBACAC,oBACIL,GAAgB,CAAEA,oBAG7BO,MAAKG,IACEf,EAAoBgB,SACpBhB,EAAoBgB,QAAQC,YAAYF,EAC5C,GACJ,GACL,CAAChB,EAAMO,YAAaP,EAAMQ,WAAYR,EAAMS,aAAcT,EAAMU,eAAgBV,EAAMW,eAAgBX,EAAMY,iBAExGO,EAACC,MAAAA,CAAIC,cAAY,6BAA6BC,UAAW,gCAAiCC,IAAKtB"}
@@ -1,2 +1,2 @@
1
- import e from"../../Card/components/CardInput/components/DataSfSpan.js";import r from"../../../external/classnames/index.js";import t from"../../internal/FormFields/Field/Field.js";import{createElement as a}from"../../../external/preact/dist/preact.js";import{alternativeLabelContent as n}from"../../Card/components/CardInput/components/IframeLabelAlternative.js";const p=({i18n:p,sfpState:c,focusedElement:i,setFocusOn:o})=>a(t,{label:p.get("giftcard.expiryDate.label"),classNameModifiers:["expireDate","50"],errorMessage:c.errors.encryptedExpiryDate&&p.get(c.errors.encryptedExpiryDate),focused:"encryptedExpiryDate"===i,onFocusField:()=>o("encryptedExpiryDate"),dir:"ltr",name:"encryptedExpiryDate",contextVisibleToScreenReader:!1,useLabelElement:!1,renderAlternativeToLabel:n},a(e,{encryptedFieldType:"encryptedExpiryDate",className:r("adyen-checkout__input","adyen-checkout__input--small","adyen-checkout__card__exp-date__input",{"adyen-checkout__input--error":c.errors.encryptedExpiryDate,"adyen-checkout__input--focus":"encryptedExpiryDate"===i,"adyen-checkout__input--valid":!!c.valid.encryptedExpiryMonth&&!!c.valid.encryptedExpiryYear})}));export{p as MealVoucherExpiryField};
1
+ import e from"../../Card/components/CardInput/components/DataSfSpan.js";import r from"../../../external/classnames/index.js";import t from"../../internal/FormFields/Field/Field.js";import{createElement as a}from"../../../external/preact/dist/preact.js";import{alternativeLabelContent as n}from"../../Card/components/CardInput/components/FieldLabelAlternative.js";const p=({i18n:p,sfpState:i,focusedElement:c,setFocusOn:o})=>a(t,{label:p.get("giftcard.expiryDate.label"),classNameModifiers:["expireDate","50"],errorMessage:i.errors.encryptedExpiryDate&&p.get(i.errors.encryptedExpiryDate),focused:"encryptedExpiryDate"===c,onFocusField:()=>o("encryptedExpiryDate"),dir:"ltr",name:"encryptedExpiryDate",contextVisibleToScreenReader:!1,useLabelElement:!1,renderAlternativeToLabel:n},a(e,{encryptedFieldType:"encryptedExpiryDate",className:r("adyen-checkout__input","adyen-checkout__input--small","adyen-checkout__card__exp-date__input",{"adyen-checkout__input--error":i.errors.encryptedExpiryDate,"adyen-checkout__input--focus":"encryptedExpiryDate"===c,"adyen-checkout__input--valid":!!i.valid.encryptedExpiryMonth&&!!i.valid.encryptedExpiryYear})}));export{p as MealVoucherExpiryField};
2
2
  //# sourceMappingURL=MealVoucherExpiryField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MealVoucherExpiryField.js","sources":["../../../../../src/components/MealVoucherFR/components/MealVoucherExpiryField.tsx"],"sourcesContent":["import DataSfSpan from '../../Card/components/CardInput/components/DataSfSpan';\nimport classNames from 'classnames';\nimport Field from '../../internal/FormFields/Field';\nimport { h } from 'preact';\nimport { GiftcardFieldProps } from '../../Giftcard/components/types';\nimport { alternativeLabelContent } from '../../Card/components/CardInput/components/IframeLabelAlternative';\n\nexport const MealVoucherExpiryField = ({ i18n, sfpState, focusedElement, setFocusOn }: GiftcardFieldProps) => {\n return (\n <Field\n label={i18n.get('giftcard.expiryDate.label')}\n classNameModifiers={['expireDate', '50']}\n errorMessage={sfpState.errors.encryptedExpiryDate && i18n.get(sfpState.errors.encryptedExpiryDate)}\n focused={focusedElement === 'encryptedExpiryDate'}\n onFocusField={() => setFocusOn('encryptedExpiryDate')}\n dir={'ltr'}\n name={'encryptedExpiryDate'}\n contextVisibleToScreenReader={false}\n useLabelElement={false}\n renderAlternativeToLabel={alternativeLabelContent}\n >\n <DataSfSpan\n encryptedFieldType={'encryptedExpiryDate'}\n className={classNames('adyen-checkout__input', 'adyen-checkout__input--small', 'adyen-checkout__card__exp-date__input', {\n 'adyen-checkout__input--error': sfpState.errors.encryptedExpiryDate,\n 'adyen-checkout__input--focus': focusedElement === 'encryptedExpiryDate',\n 'adyen-checkout__input--valid': !!sfpState.valid.encryptedExpiryMonth && !!sfpState.valid.encryptedExpiryYear\n })}\n />\n </Field>\n );\n};\n"],"names":["MealVoucherExpiryField","i18n","sfpState","focusedElement","setFocusOn","h","Field","label","get","classNameModifiers","errorMessage","errors","encryptedExpiryDate","focused","onFocusField","dir","name","contextVisibleToScreenReader","useLabelElement","renderAlternativeToLabel","alternativeLabelContent","DataSfSpan","encryptedFieldType","className","classNames","valid","encryptedExpiryMonth","encryptedExpiryYear"],"mappings":"4WAOO,MAAMA,EAAyB,EAAGC,OAAMC,WAAUC,iBAAgBC,gBAEjEC,EAACC,EAAAA,CACGC,MAAON,EAAKO,IAAI,6BAChBC,mBAAoB,CAAC,aAAc,MACnCC,aAAcR,EAASS,OAAOC,qBAAuBX,EAAKO,IAAIN,EAASS,OAAOC,qBAC9EC,QAA4B,wBAAnBV,EACTW,aAAc,IAAMV,EAAW,uBAC/BW,IAAK,MACLC,KAAM,sBACNC,8BAA8B,EAC9BC,iBAAiB,EACjBC,yBAA0BC,GAE1Bf,EAACgB,EAAAA,CACGC,mBAAoB,sBACpBC,UAAWC,EAAW,wBAAyB,+BAAgC,wCAAyC,CACpH,+BAAgCtB,EAASS,OAAOC,oBAChD,+BAAmD,wBAAnBT,EAChC,iCAAkCD,EAASuB,MAAMC,wBAA0BxB,EAASuB,MAAME"}
1
+ {"version":3,"file":"MealVoucherExpiryField.js","sources":["../../../../../src/components/MealVoucherFR/components/MealVoucherExpiryField.tsx"],"sourcesContent":["import DataSfSpan from '../../Card/components/CardInput/components/DataSfSpan';\nimport classNames from 'classnames';\nimport Field from '../../internal/FormFields/Field';\nimport { h } from 'preact';\nimport { GiftcardFieldProps } from '../../Giftcard/components/types';\nimport { alternativeLabelContent } from '../../Card/components/CardInput/components/FieldLabelAlternative';\n\nexport const MealVoucherExpiryField = ({ i18n, sfpState, focusedElement, setFocusOn }: GiftcardFieldProps) => {\n return (\n <Field\n label={i18n.get('giftcard.expiryDate.label')}\n classNameModifiers={['expireDate', '50']}\n errorMessage={sfpState.errors.encryptedExpiryDate && i18n.get(sfpState.errors.encryptedExpiryDate)}\n focused={focusedElement === 'encryptedExpiryDate'}\n onFocusField={() => setFocusOn('encryptedExpiryDate')}\n dir={'ltr'}\n name={'encryptedExpiryDate'}\n contextVisibleToScreenReader={false}\n useLabelElement={false}\n renderAlternativeToLabel={alternativeLabelContent}\n >\n <DataSfSpan\n encryptedFieldType={'encryptedExpiryDate'}\n className={classNames('adyen-checkout__input', 'adyen-checkout__input--small', 'adyen-checkout__card__exp-date__input', {\n 'adyen-checkout__input--error': sfpState.errors.encryptedExpiryDate,\n 'adyen-checkout__input--focus': focusedElement === 'encryptedExpiryDate',\n 'adyen-checkout__input--valid': !!sfpState.valid.encryptedExpiryMonth && !!sfpState.valid.encryptedExpiryYear\n })}\n />\n </Field>\n );\n};\n"],"names":["MealVoucherExpiryField","i18n","sfpState","focusedElement","setFocusOn","h","Field","label","get","classNameModifiers","errorMessage","errors","encryptedExpiryDate","focused","onFocusField","dir","name","contextVisibleToScreenReader","useLabelElement","renderAlternativeToLabel","alternativeLabelContent","DataSfSpan","encryptedFieldType","className","classNames","valid","encryptedExpiryMonth","encryptedExpiryYear"],"mappings":"2WAOO,MAAMA,EAAyB,EAAGC,OAAMC,WAAUC,iBAAgBC,gBAEjEC,EAACC,EAAAA,CACGC,MAAON,EAAKO,IAAI,6BAChBC,mBAAoB,CAAC,aAAc,MACnCC,aAAcR,EAASS,OAAOC,qBAAuBX,EAAKO,IAAIN,EAASS,OAAOC,qBAC9EC,QAA4B,wBAAnBV,EACTW,aAAc,IAAMV,EAAW,uBAC/BW,IAAK,MACLC,KAAM,sBACNC,8BAA8B,EAC9BC,iBAAiB,EACjBC,yBAA0BC,GAE1Bf,EAACgB,EAAAA,CACGC,mBAAoB,sBACpBC,UAAWC,EAAW,wBAAyB,+BAAgC,wCAAyC,CACpH,+BAAgCtB,EAASS,OAAOC,oBAChD,+BAAmD,wBAAnBT,EAChC,iCAAkCD,EAASuB,MAAMC,wBAA0BxB,EAASuB,MAAME"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import n from"./components/PaypalComponent.js";import i from"./defaultProps.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import s from"../../core/Errors/AdyenCheckoutError.js";import{ERRORS as a}from"./constants.js";import{TxVariants as o}from"../tx-variants.js";import{formatPaypalOrderContactToAdyenFormat as h}from"./utils/format-paypal-order-contact-to-adyen-format.js";class p extends e{static type=o.paypal;static subtype="sdk";paymentData=null;resolve=null;reject=null;static defaultProps=i;constructor(t,e){super(t,e),this.handleSubmit=this.handleSubmit.bind(this),this.handleOnShippingAddressChange=this.handleOnShippingAddressChange.bind(this),this.handleOnShippingOptionsChange=this.handleOnShippingOptionsChange.bind(this)}formatProps(t){const e=t.configuration?.merchantId,n=t.configuration?.intent,i=0===t.amount?.value?"tokenize":t.intent||n,r="tokenize"===i||t.vault,s="continue"===t.userAction;return{...t,commit:!s&&t.commit,vault:r,configuration:{intent:i,merchantId:e}}}submitAnalytics(t){super.submitAnalytics({...t},this.props)}submit=()=>{this.handleError(new s("IMPLEMENTATION_ERROR",a.SUBMIT_NOT_SUPPORTED))};updatePaymentData(t){t||console.warn("PayPal - Updating payment data with an invalid value"),this.paymentData=t}formatData(){const{isExpress:t,userAction:e}=this.props;return{paymentMethod:{type:p.type,userAction:e,subtype:t?"express":p.subtype}}}handleAction=t=>this.updateWithAction(t);updateWithAction=t=>{if(t.paymentMethodType!==this.type)throw new Error("Invalid Action");return t.paymentData&&(this.paymentData=t.paymentData),t.sdkData&&t.sdkData.token?this.handleResolve(t.sdkData.token):this.handleReject(a.NO_TOKEN_PROVIDED),null};get isValid(){return!0}handleOnApprove=(t,e)=>{const{onAuthorized:n}=this.props,i={data:{details:t,paymentData:this.paymentData}};if(n)return e.order.get().then((t=>{const e=h(t?.payer),i=h(t?.purchase_units?.[0].shipping,!0);return this.setState({authorizedEvent:t,...e&&{billingAddress:e},...i&&{deliveryAddress:i}}),new Promise(((r,s)=>n({authorizedEvent:t,...e&&{billingAddress:e},...i&&{deliveryAddress:i}},{resolve:r,reject:s})))})).then((()=>this.handleAdditionalDetails(i))).catch((t=>this.handleError(new s("ERROR","Something went wrong while parsing PayPal Order",{cause:t}))));this.handleAdditionalDetails(i)};handleResolve(t){if(!this.resolve)return this.handleError(new s("ERROR",a.WRONG_INSTANCE));this.resolve(t)}handleReject(t){if(!this.reject)return this.handleError(new s("ERROR",a.WRONG_INSTANCE));this.reject(new Error(t))}handleSubmit(){return super.submit(),new Promise(((t,e)=>{this.resolve=t,this.reject=e}))}handleOnShippingAddressChange(t,e){return this.props.onShippingAddressChange(t,e,this)}handleOnShippingOptionsChange(t,e){return this.props.onShippingOptionsChange(t,e,this)}render(){if(!this.props.showPayButton)return null;const{onShippingAddressChange:e,onShippingOptionsChange:i,...a}=this.props;return t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(n,{ref:t=>{this.componentRef=t},...a,...e&&{onShippingAddressChange:this.handleOnShippingAddressChange},...i&&{onShippingOptionsChange:this.handleOnShippingOptionsChange},onCancel:()=>this.handleError(new s("CANCEL")),onChange:this.setState,onApprove:void this.handleOnApprove,onError:t=>{this.handleError(new s("ERROR",t.toString(),{cause:t}))},onScriptLoadFailure:t=>this.handleError(t),onSubmit:this.handleSubmit}))}}export{p as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import n from"./components/PaypalComponent.js";import i from"./defaultProps.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import s from"../../core/Errors/AdyenCheckoutError.js";import{ERRORS as a}from"./constants.js";import{TxVariants as o}from"../tx-variants.js";import{formatPaypalOrderContactToAdyenFormat as h}from"./utils/format-paypal-order-contact-to-adyen-format.js";class p extends e{static type=o.paypal;static subtype="sdk";paymentData=null;resolve=null;reject=null;static defaultProps=i;constructor(t,e){super(t,e),this.handleSubmit=this.handleSubmit.bind(this),this.handleOnShippingAddressChange=this.handleOnShippingAddressChange.bind(this),this.handleOnShippingOptionsChange=this.handleOnShippingOptionsChange.bind(this)}formatProps(t){const e=t.configuration?.merchantId,n=t.configuration?.intent,i=0===t.amount?.value?"tokenize":t.intent||n,r="tokenize"===i||t.vault,s="continue"===t.userAction;return{...t,commit:!s&&t.commit,vault:r,configuration:{intent:i,merchantId:e}}}submitAnalytics(t){super.submitAnalytics({...t},this.props)}submit=()=>{this.handleError(new s("IMPLEMENTATION_ERROR",a.SUBMIT_NOT_SUPPORTED))};updatePaymentData(t){t||console.warn("PayPal - Updating payment data with an invalid value"),this.paymentData=t}formatData(){const{isExpress:t,userAction:e}=this.props;return{paymentMethod:{type:p.type,userAction:e,subtype:t?"express":p.subtype}}}handleAction=t=>this.updateWithAction(t);updateWithAction=t=>{if(t.paymentMethodType!==this.type)throw new Error("Invalid Action");return t.paymentData&&(this.paymentData=t.paymentData),t.sdkData&&t.sdkData.token?this.handleResolve(t.sdkData.token):this.handleReject(a.NO_TOKEN_PROVIDED),null};get isValid(){return!0}handleOnApprove=(t,e)=>{const{onAuthorized:n}=this.props,i={data:{details:t,paymentData:this.paymentData}};if(n)return e.order.get().then((t=>{const e=h(t?.payer),i=h(t?.purchase_units?.[0].shipping,!0);return this.setState({authorizedEvent:t,...e&&{billingAddress:e},...i&&{deliveryAddress:i}}),new Promise(((r,s)=>n({authorizedEvent:t,...e&&{billingAddress:e},...i&&{deliveryAddress:i}},{resolve:r,reject:s})))})).then((()=>this.handleAdditionalDetails(i))).catch((t=>this.handleError(new s("ERROR","Something went wrong while parsing PayPal Order",{cause:t}))));this.handleAdditionalDetails(i)};handleResolve(t){if(!this.resolve)return this.handleError(new s("ERROR",a.WRONG_INSTANCE));this.resolve(t)}handleReject(t){if(!this.reject)return this.handleError(new s("ERROR",a.WRONG_INSTANCE));this.reject(new Error(t))}handleSubmit(){return super.submit(),new Promise(((t,e)=>{this.resolve=t,this.reject=e}))}handleOnShippingAddressChange(t,e){return this.props.onShippingAddressChange(t,e,this)}handleOnShippingOptionsChange(t,e){return this.props.onShippingOptionsChange(t,e,this)}render(){if(!this.props.showPayButton)return null;const{onShippingAddressChange:e,onShippingOptionsChange:i,...a}=this.props;return t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(n,{ref:t=>{this.componentRef=t},...a,...e&&{onShippingAddressChange:this.handleOnShippingAddressChange},...i&&{onShippingOptionsChange:this.handleOnShippingOptionsChange},onCancel:()=>this.handleError(new s("CANCEL")),onChange:this.setState,onApprove:this.handleOnApprove,onError:t=>{this.handleError(new s("ERROR",t.toString(),{cause:t}))},onScriptLoadFailure:t=>this.handleError(t),onSubmit:this.handleSubmit}))}}export{p as default};
2
2
  //# sourceMappingURL=Paypal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Paypal.js","sources":["../../../../src/components/PayPal/Paypal.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport PaypalComponent from './components/PaypalComponent';\nimport defaultProps from './defaultProps';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { ERRORS } from './constants';\nimport { TxVariants } from '../tx-variants';\nimport { formatPaypalOrderContactToAdyenFormat } from './utils/format-paypal-order-contact-to-adyen-format';\n\nimport type { ICore } from '../../core/types';\nimport type { PaymentAction } from '../../types/global-types';\nimport type { Intent, PayPalConfiguration } from './types';\n\nimport './Paypal.scss';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\n\nclass PaypalElement extends UIElement<PayPalConfiguration> {\n public static type = TxVariants.paypal;\n public static subtype = 'sdk';\n\n public paymentData: string = null;\n\n private resolve = null;\n private reject = null;\n\n protected static defaultProps = defaultProps;\n\n constructor(checkout: ICore, props?: PayPalConfiguration) {\n super(checkout, props);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.handleOnShippingAddressChange = this.handleOnShippingAddressChange.bind(this);\n this.handleOnShippingOptionsChange = this.handleOnShippingOptionsChange.bind(this);\n }\n\n formatProps(props: PayPalConfiguration): PayPalConfiguration {\n const merchantId = props.configuration?.merchantId;\n const intentFromConfig = props.configuration?.intent;\n const isZeroAuth = props.amount?.value === 0;\n const intent: Intent = isZeroAuth ? 'tokenize' : props.intent || intentFromConfig;\n const vault = intent === 'tokenize' || props.vault;\n\n const displayContinueToReviewPageButton = props.userAction === 'continue';\n\n return {\n ...props,\n commit: displayContinueToReviewPageButton ? false : props.commit,\n vault,\n configuration: {\n intent,\n merchantId\n }\n };\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n super.submitAnalytics({ ...analyticsObj }, this.props);\n }\n\n public submit = () => {\n this.handleError(new AdyenCheckoutError('IMPLEMENTATION_ERROR', ERRORS.SUBMIT_NOT_SUPPORTED));\n };\n\n /**\n * Updates the paymentData value. It must be used in the PayPal Express flow, when patching the amount\n * @param paymentData - Payment data value\n */\n public updatePaymentData(paymentData: string): void {\n if (!paymentData) console.warn('PayPal - Updating payment data with an invalid value');\n this.paymentData = paymentData;\n }\n\n /**\n * Formats the component data output\n */\n protected formatData() {\n const { isExpress, userAction } = this.props;\n\n return {\n paymentMethod: {\n type: PaypalElement.type,\n userAction,\n subtype: isExpress ? 'express' : PaypalElement.subtype\n }\n };\n }\n\n public handleAction = (action: PaymentAction) => {\n return this.updateWithAction(action);\n };\n\n public updateWithAction = (action: PaymentAction) => {\n if (action.paymentMethodType !== this.type) throw new Error('Invalid Action');\n\n if (action.paymentData) {\n this.paymentData = action.paymentData;\n }\n\n if (action.sdkData && action.sdkData.token) {\n this.handleResolve(action.sdkData.token);\n } else {\n this.handleReject(ERRORS.NO_TOKEN_PROVIDED);\n }\n\n return null;\n };\n\n /**\n * Dropin Validation\n *\n * @remarks\n * Paypal does not require any specific Dropin validation\n */\n get isValid() {\n return true;\n }\n\n private handleOnApprove = (data: any, actions: any): Promise<void> | void => {\n const { onAuthorized } = this.props;\n const state = { data: { details: data, paymentData: this.paymentData } };\n\n if (!onAuthorized) {\n this.handleAdditionalDetails(state);\n return;\n }\n\n return actions.order\n .get()\n .then((paypalOrder: any) => {\n const billingAddress = formatPaypalOrderContactToAdyenFormat(paypalOrder?.payer);\n const deliveryAddress = formatPaypalOrderContactToAdyenFormat(paypalOrder?.purchase_units?.[0].shipping, true);\n\n this.setState({\n authorizedEvent: paypalOrder,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n return new Promise<void>((resolve, reject) =>\n onAuthorized(\n {\n authorizedEvent: paypalOrder,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n )\n );\n })\n .then(() => this.handleAdditionalDetails(state))\n .catch(error => this.handleError(new AdyenCheckoutError('ERROR', 'Something went wrong while parsing PayPal Order', { cause: error })));\n };\n\n handleResolve(token: string) {\n if (!this.resolve) return this.handleError(new AdyenCheckoutError('ERROR', ERRORS.WRONG_INSTANCE));\n this.resolve(token);\n }\n\n handleReject(errorMessage: string) {\n if (!this.reject) return this.handleError(new AdyenCheckoutError('ERROR', ERRORS.WRONG_INSTANCE));\n this.reject(new Error(errorMessage));\n }\n\n private handleSubmit(): Promise<void> {\n super.submit();\n\n return new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n\n /**\n * If the merchant provides the 'onShippingAddressChange' callback, then this method is used as a wrapper to it, in order\n * to expose to the merchant the 'component' instance. The merchant needs the 'component' in order to manipulate the\n * paymentData\n *\n * @param data - PayPal data\n * @param actions - PayPal actions.\n */\n private handleOnShippingAddressChange(data: any, actions: any): Promise<void> {\n return this.props.onShippingAddressChange(data, actions, this);\n }\n\n /**\n * If the merchant provides the 'onShippingOptionsChange' callback, then this method is used as a wrapper to it, in order\n * to expose to the merchant the 'component' instance. The merchant needs the 'component' in order to manipulate the\n * paymentData\n *\n * @param data - PayPal data\n * @param actions - PayPal actions.\n */\n private handleOnShippingOptionsChange(data: any, actions: any): Promise<void> {\n return this.props.onShippingOptionsChange(data, actions, this);\n }\n\n render() {\n if (!this.props.showPayButton) return null;\n\n const { onShippingAddressChange, onShippingOptionsChange, ...rest } = this.props;\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <PaypalComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n {...rest}\n {...(onShippingAddressChange && { onShippingAddressChange: this.handleOnShippingAddressChange })}\n {...(onShippingOptionsChange && { onShippingOptionsChange: this.handleOnShippingOptionsChange })}\n onCancel={() => this.handleError(new AdyenCheckoutError('CANCEL'))}\n onChange={this.setState}\n onApprove={void this.handleOnApprove}\n onError={error => {\n this.handleError(new AdyenCheckoutError('ERROR', error.toString(), { cause: error }));\n }}\n onScriptLoadFailure={error => this.handleError(error)}\n onSubmit={this.handleSubmit}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default PaypalElement;\n"],"names":["PaypalElement","UIElement","static","TxVariants","paypal","paymentData","resolve","reject","defaultProps","constructor","checkout","props","super","this","handleSubmit","bind","handleOnShippingAddressChange","handleOnShippingOptionsChange","formatProps","merchantId","configuration","intentFromConfig","intent","amount","value","vault","displayContinueToReviewPageButton","userAction","commit","submitAnalytics","analyticsObj","submit","handleError","AdyenCheckoutError","ERRORS","SUBMIT_NOT_SUPPORTED","updatePaymentData","console","warn","formatData","isExpress","paymentMethod","type","subtype","handleAction","action","updateWithAction","paymentMethodType","Error","sdkData","token","handleResolve","handleReject","NO_TOKEN_PROVIDED","isValid","handleOnApprove","data","actions","onAuthorized","state","details","order","get","then","paypalOrder","billingAddress","formatPaypalOrderContactToAdyenFormat","payer","deliveryAddress","purchase_units","shipping","setState","authorizedEvent","Promise","handleAdditionalDetails","catch","error","cause","WRONG_INSTANCE","errorMessage","onShippingAddressChange","onShippingOptionsChange","render","showPayButton","rest","h","CoreProvider","i18n","loadingContext","resources","PaypalComponent","ref","componentRef","onCancel","onChange","onApprove","onError","toString","onScriptLoadFailure","onSubmit"],"mappings":"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"}
1
+ {"version":3,"file":"Paypal.js","sources":["../../../../src/components/PayPal/Paypal.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport PaypalComponent from './components/PaypalComponent';\nimport defaultProps from './defaultProps';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { ERRORS } from './constants';\nimport { TxVariants } from '../tx-variants';\nimport { formatPaypalOrderContactToAdyenFormat } from './utils/format-paypal-order-contact-to-adyen-format';\n\nimport type { ICore } from '../../core/types';\nimport type { PaymentAction } from '../../types/global-types';\nimport type { Intent, PayPalConfiguration } from './types';\n\nimport './Paypal.scss';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\n\nclass PaypalElement extends UIElement<PayPalConfiguration> {\n public static type = TxVariants.paypal;\n public static subtype = 'sdk';\n\n public paymentData: string = null;\n\n private resolve = null;\n private reject = null;\n\n protected static defaultProps = defaultProps;\n\n constructor(checkout: ICore, props?: PayPalConfiguration) {\n super(checkout, props);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.handleOnShippingAddressChange = this.handleOnShippingAddressChange.bind(this);\n this.handleOnShippingOptionsChange = this.handleOnShippingOptionsChange.bind(this);\n }\n\n formatProps(props: PayPalConfiguration): PayPalConfiguration {\n const merchantId = props.configuration?.merchantId;\n const intentFromConfig = props.configuration?.intent;\n const isZeroAuth = props.amount?.value === 0;\n const intent: Intent = isZeroAuth ? 'tokenize' : props.intent || intentFromConfig;\n const vault = intent === 'tokenize' || props.vault;\n\n const displayContinueToReviewPageButton = props.userAction === 'continue';\n\n return {\n ...props,\n commit: displayContinueToReviewPageButton ? false : props.commit,\n vault,\n configuration: {\n intent,\n merchantId\n }\n };\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n super.submitAnalytics({ ...analyticsObj }, this.props);\n }\n\n public submit = () => {\n this.handleError(new AdyenCheckoutError('IMPLEMENTATION_ERROR', ERRORS.SUBMIT_NOT_SUPPORTED));\n };\n\n /**\n * Updates the paymentData value. It must be used in the PayPal Express flow, when patching the amount\n * @param paymentData - Payment data value\n */\n public updatePaymentData(paymentData: string): void {\n if (!paymentData) console.warn('PayPal - Updating payment data with an invalid value');\n this.paymentData = paymentData;\n }\n\n /**\n * Formats the component data output\n */\n protected formatData() {\n const { isExpress, userAction } = this.props;\n\n return {\n paymentMethod: {\n type: PaypalElement.type,\n userAction,\n subtype: isExpress ? 'express' : PaypalElement.subtype\n }\n };\n }\n\n public handleAction = (action: PaymentAction) => {\n return this.updateWithAction(action);\n };\n\n public updateWithAction = (action: PaymentAction) => {\n if (action.paymentMethodType !== this.type) throw new Error('Invalid Action');\n\n if (action.paymentData) {\n this.paymentData = action.paymentData;\n }\n\n if (action.sdkData && action.sdkData.token) {\n this.handleResolve(action.sdkData.token);\n } else {\n this.handleReject(ERRORS.NO_TOKEN_PROVIDED);\n }\n\n return null;\n };\n\n /**\n * Dropin Validation\n *\n * @remarks\n * Paypal does not require any specific Dropin validation\n */\n get isValid() {\n return true;\n }\n\n private handleOnApprove = (data: any, actions: any): Promise<void> | void => {\n const { onAuthorized } = this.props;\n const state = { data: { details: data, paymentData: this.paymentData } };\n\n if (!onAuthorized) {\n this.handleAdditionalDetails(state);\n return;\n }\n\n return actions.order\n .get()\n .then((paypalOrder: any) => {\n const billingAddress = formatPaypalOrderContactToAdyenFormat(paypalOrder?.payer);\n const deliveryAddress = formatPaypalOrderContactToAdyenFormat(paypalOrder?.purchase_units?.[0].shipping, true);\n\n this.setState({\n authorizedEvent: paypalOrder,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n return new Promise<void>((resolve, reject) =>\n onAuthorized(\n {\n authorizedEvent: paypalOrder,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n )\n );\n })\n .then(() => this.handleAdditionalDetails(state))\n .catch(error => this.handleError(new AdyenCheckoutError('ERROR', 'Something went wrong while parsing PayPal Order', { cause: error })));\n };\n\n handleResolve(token: string) {\n if (!this.resolve) return this.handleError(new AdyenCheckoutError('ERROR', ERRORS.WRONG_INSTANCE));\n this.resolve(token);\n }\n\n handleReject(errorMessage: string) {\n if (!this.reject) return this.handleError(new AdyenCheckoutError('ERROR', ERRORS.WRONG_INSTANCE));\n this.reject(new Error(errorMessage));\n }\n\n private handleSubmit(): Promise<void> {\n super.submit();\n\n return new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n\n /**\n * If the merchant provides the 'onShippingAddressChange' callback, then this method is used as a wrapper to it, in order\n * to expose to the merchant the 'component' instance. The merchant needs the 'component' in order to manipulate the\n * paymentData\n *\n * @param data - PayPal data\n * @param actions - PayPal actions.\n */\n private handleOnShippingAddressChange(data: any, actions: any): Promise<void> {\n return this.props.onShippingAddressChange(data, actions, this);\n }\n\n /**\n * If the merchant provides the 'onShippingOptionsChange' callback, then this method is used as a wrapper to it, in order\n * to expose to the merchant the 'component' instance. The merchant needs the 'component' in order to manipulate the\n * paymentData\n *\n * @param data - PayPal data\n * @param actions - PayPal actions.\n */\n private handleOnShippingOptionsChange(data: any, actions: any): Promise<void> {\n return this.props.onShippingOptionsChange(data, actions, this);\n }\n\n render() {\n if (!this.props.showPayButton) return null;\n\n const { onShippingAddressChange, onShippingOptionsChange, ...rest } = this.props;\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <PaypalComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n {...rest}\n {...(onShippingAddressChange && { onShippingAddressChange: this.handleOnShippingAddressChange })}\n {...(onShippingOptionsChange && { onShippingOptionsChange: this.handleOnShippingOptionsChange })}\n onCancel={() => this.handleError(new AdyenCheckoutError('CANCEL'))}\n onChange={this.setState}\n onApprove={this.handleOnApprove}\n onError={error => {\n this.handleError(new AdyenCheckoutError('ERROR', error.toString(), { cause: error }));\n }}\n onScriptLoadFailure={error => this.handleError(error)}\n onSubmit={this.handleSubmit}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default PaypalElement;\n"],"names":["PaypalElement","UIElement","static","TxVariants","paypal","paymentData","resolve","reject","defaultProps","constructor","checkout","props","super","this","handleSubmit","bind","handleOnShippingAddressChange","handleOnShippingOptionsChange","formatProps","merchantId","configuration","intentFromConfig","intent","amount","value","vault","displayContinueToReviewPageButton","userAction","commit","submitAnalytics","analyticsObj","submit","handleError","AdyenCheckoutError","ERRORS","SUBMIT_NOT_SUPPORTED","updatePaymentData","console","warn","formatData","isExpress","paymentMethod","type","subtype","handleAction","action","updateWithAction","paymentMethodType","Error","sdkData","token","handleResolve","handleReject","NO_TOKEN_PROVIDED","isValid","handleOnApprove","data","actions","onAuthorized","state","details","order","get","then","paypalOrder","billingAddress","formatPaypalOrderContactToAdyenFormat","payer","deliveryAddress","purchase_units","shipping","setState","authorizedEvent","Promise","handleAdditionalDetails","catch","error","cause","WRONG_INSTANCE","errorMessage","onShippingAddressChange","onShippingOptionsChange","render","showPayButton","rest","h","CoreProvider","i18n","loadingContext","resources","PaypalComponent","ref","componentRef","onCancel","onChange","onApprove","onError","toString","onScriptLoadFailure","onSubmit"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../external/preact/dist/preact.js";import{useState as a,useCallback as n,useEffect as o}from"../../../external/preact/hooks/dist/hooks.js";import t from"./PaypalButtons.js";import s from"../../internal/Spinner/Spinner.js";import{getPaypalUrl as r}from"../utils/get-paypal-url.js";import p from"../../../utils/Script.js";function c({onApprove:c,onCancel:i,onChange:l,onError:u,onSubmit:m,onScriptLoadFailure:d,...y}){const[_,f]=a("pending");this.setStatus=f;const h=n(((e,a)=>{f("processing"),c(e,a)}),[c]),g=()=>{f("ready")},N=e=>{d(e)};return o((()=>{const e=r(y),a={...y.cspNonce&&{nonce:y.cspNonce}},n={...y.cspNonce&&{cspNonce:y.cspNonce}},o=new p(e,"body",a,n);return o.load().then(g).catch(N),()=>{o.remove()}}),[]),"pending"===_?e("div",{className:"adyen-checkout__paypal","aria-live":"polite","aria-busy":"true"},e("div",{className:"adyen-checkout__paypal__status adyen-checkout__paypal__status--pending"},e(s,null))):e("div",{className:"adyen-checkout__paypal"},e(t,{...y,onCancel:i,onChange:l,onError:u,onSubmit:m,onApprove:h,isProcessingPayment:"processing"===_,paypalRef:window.paypal}))}export{c as default};
1
+ import{createElement as e}from"../../../external/preact/dist/preact.js";import{useState as a,useCallback as n,useEffect as o}from"../../../external/preact/hooks/dist/hooks.js";import t from"./PaypalButtons.js";import s from"../../internal/Spinner/Spinner.js";import{getPaypalUrl as r}from"../utils/get-paypal-url.js";import p from"../../../utils/Script.js";function c({onApprove:c,onCancel:i,onChange:l,onError:u,onSubmit:d,onScriptLoadFailure:m,...y}){const[_,f]=a("pending");this.setStatus=f;const h=n(((e,a)=>{f("processing"),c(e,a)}),[c]),g=()=>{f("ready")},N=e=>{m(e)};return o((()=>{const e=r(y),a={...y.cspNonce&&{nonce:y.cspNonce}},n={...y.cspNonce&&{cspNonce:y.cspNonce}},o=new p(e,"body",a,n);return o.load().then(g).catch(N),()=>{o.remove()}}),[]),"pending"===_?e("div",{className:"adyen-checkout__paypal","aria-live":"polite","aria-busy":"true"},e("div",{className:"adyen-checkout__paypal__status adyen-checkout__paypal__status--pending","data-testid":"paypal-loader"},e(s,null))):e("div",{className:"adyen-checkout__paypal"},e(t,{...y,onCancel:i,onChange:l,onError:u,onSubmit:d,onApprove:h,isProcessingPayment:"processing"===_,paypalRef:window.paypal}))}export{c as default};
2
2
  //# sourceMappingURL=PaypalComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaypalComponent.js","sources":["../../../../../src/components/PayPal/components/PaypalComponent.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useCallback } from 'preact/hooks';\nimport PaypalButtons from './PaypalButtons';\nimport Spinner from '../../internal/Spinner';\nimport { getPaypalUrl } from '../utils/get-paypal-url';\nimport Script from '../../../utils/Script';\nimport AdyenCheckoutError from '../../../core/Errors/AdyenCheckoutError';\nimport type { PayPalComponentProps } from './types';\n\nexport default function PaypalComponent({ onApprove, onCancel, onChange, onError, onSubmit, onScriptLoadFailure, ...props }: PayPalComponentProps) {\n const [status, setStatus] = useState('pending');\n\n this.setStatus = setStatus;\n\n const handleOnApprove = useCallback(\n (data: any, actions: any) => {\n setStatus('processing');\n onApprove(data, actions);\n },\n [onApprove]\n );\n\n const handlePaypalLoad = () => {\n setStatus('ready');\n };\n\n const handlePaypalLoadFailure = (error: AdyenCheckoutError) => {\n onScriptLoadFailure(error);\n };\n\n useEffect(() => {\n const src = getPaypalUrl(props);\n\n const attributes = { ...(props.cspNonce && { nonce: props.cspNonce }) },\n dataAttributes = { ...(props.cspNonce && { cspNonce: props.cspNonce }) };\n\n const script = new Script(src, 'body', attributes, dataAttributes);\n\n script.load().then(handlePaypalLoad).catch(handlePaypalLoadFailure);\n\n return () => {\n script.remove();\n };\n }, []);\n\n if (status === 'pending') {\n return (\n <div className=\"adyen-checkout__paypal\" aria-live=\"polite\" aria-busy=\"true\">\n <div className=\"adyen-checkout__paypal__status adyen-checkout__paypal__status--pending\">\n <Spinner />\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"adyen-checkout__paypal\">\n <PaypalButtons\n {...props}\n onCancel={onCancel}\n onChange={onChange}\n onError={onError}\n onSubmit={onSubmit}\n onApprove={handleOnApprove}\n isProcessingPayment={status === 'processing'}\n paypalRef={window.paypal}\n />\n </div>\n );\n}\n"],"names":["PaypalComponent","onApprove","onCancel","onChange","onError","onSubmit","onScriptLoadFailure","props","status","setStatus","useState","this","handleOnApprove","useCallback","data","actions","handlePaypalLoad","handlePaypalLoadFailure","error","useEffect","src","getPaypalUrl","attributes","cspNonce","nonce","dataAttributes","script","Script","load","then","catch","remove","h","div","className","aria-live","aria-busy","Spinner","PaypalButtons","isProcessingPayment","paypalRef","window","paypal"],"mappings":"qWASe,SAASA,GAAgBC,UAAEA,EAASC,SAAEA,EAAQC,SAAEA,EAAQC,QAAEA,EAAOC,SAAEA,EAAQC,oBAAEA,KAAwBC,IAChH,MAAOC,EAAQC,GAAaC,EAAS,WAErCC,KAAKF,UAAYA,EAEjB,MAAMG,EAAkBC,GACpB,CAACC,EAAWC,KACRN,EAAU,cACVR,EAAUa,EAAMC,EAAAA,GAEpB,CAACd,IAGCe,EAAmB,KACrBP,EAAU,QAAA,EAGRQ,EAA2BC,IAC7BZ,EAAoBY,EAAAA,EAkBxB,OAfAC,GAAU,KACN,MAAMC,EAAMC,EAAad,GAEnBe,EAAa,IAAMf,EAAMgB,UAAY,CAAEC,MAAOjB,EAAMgB,WACtDE,EAAiB,IAAMlB,EAAMgB,UAAY,CAAEA,SAAUhB,EAAMgB,WAEzDG,EAAS,IAAIC,EAAOP,EAAK,OAAQE,EAAYG,GAInD,OAFAC,EAAOE,OAAOC,KAAKb,GAAkBc,MAAMb,GAEpC,KACHS,EAAOK,QAAM,CACjB,GACD,IAEY,YAAXvB,EAEIwB,EAACC,MAAAA,CAAIC,UAAU,yBAAyBC,YAAU,SAASC,YAAU,QACjEJ,EAACC,MAAAA,CAAIC,UAAU,0EACXF,EAACK,EAAAA,QAObL,EAACC,MAAAA,CAAIC,UAAU,0BACXF,EAACM,EAAAA,IACO/B,EACJL,SAAUA,EACVC,SAAUA,EACVC,QAASA,EACTC,SAAUA,EACVJ,UAAWW,EACX2B,oBAAgC,eAAX/B,EACrBgC,UAAWC,OAAOC,SAIlC"}
1
+ {"version":3,"file":"PaypalComponent.js","sources":["../../../../../src/components/PayPal/components/PaypalComponent.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useCallback } from 'preact/hooks';\nimport PaypalButtons from './PaypalButtons';\nimport Spinner from '../../internal/Spinner';\nimport { getPaypalUrl } from '../utils/get-paypal-url';\nimport Script from '../../../utils/Script';\nimport AdyenCheckoutError from '../../../core/Errors/AdyenCheckoutError';\nimport type { PayPalComponentProps } from './types';\n\nexport default function PaypalComponent({ onApprove, onCancel, onChange, onError, onSubmit, onScriptLoadFailure, ...props }: PayPalComponentProps) {\n const [status, setStatus] = useState('pending');\n\n this.setStatus = setStatus;\n\n const handleOnApprove = useCallback(\n (data: any, actions: any) => {\n setStatus('processing');\n onApprove(data, actions);\n },\n [onApprove]\n );\n\n const handlePaypalLoad = () => {\n setStatus('ready');\n };\n\n const handlePaypalLoadFailure = (error: AdyenCheckoutError) => {\n onScriptLoadFailure(error);\n };\n\n useEffect(() => {\n const src = getPaypalUrl(props);\n\n const attributes = { ...(props.cspNonce && { nonce: props.cspNonce }) },\n dataAttributes = { ...(props.cspNonce && { cspNonce: props.cspNonce }) };\n\n const script = new Script(src, 'body', attributes, dataAttributes);\n\n script.load().then(handlePaypalLoad).catch(handlePaypalLoadFailure);\n\n return () => {\n script.remove();\n };\n }, []);\n\n if (status === 'pending') {\n return (\n <div className=\"adyen-checkout__paypal\" aria-live=\"polite\" aria-busy=\"true\">\n <div className=\"adyen-checkout__paypal__status adyen-checkout__paypal__status--pending\" data-testid={'paypal-loader'}>\n <Spinner />\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"adyen-checkout__paypal\">\n <PaypalButtons\n {...props}\n onCancel={onCancel}\n onChange={onChange}\n onError={onError}\n onSubmit={onSubmit}\n onApprove={handleOnApprove}\n isProcessingPayment={status === 'processing'}\n paypalRef={window.paypal}\n />\n </div>\n );\n}\n"],"names":["PaypalComponent","onApprove","onCancel","onChange","onError","onSubmit","onScriptLoadFailure","props","status","setStatus","useState","this","handleOnApprove","useCallback","data","actions","handlePaypalLoad","handlePaypalLoadFailure","error","useEffect","src","getPaypalUrl","attributes","cspNonce","nonce","dataAttributes","script","Script","load","then","catch","remove","h","div","className","aria-live","aria-busy","data-testid","Spinner","PaypalButtons","isProcessingPayment","paypalRef","window","paypal"],"mappings":"qWASe,SAASA,GAAgBC,UAAEA,EAASC,SAAEA,EAAQC,SAAEA,EAAQC,QAAEA,EAAOC,SAAEA,EAAQC,oBAAEA,KAAwBC,IAChH,MAAOC,EAAQC,GAAaC,EAAS,WAErCC,KAAKF,UAAYA,EAEjB,MAAMG,EAAkBC,GACpB,CAACC,EAAWC,KACRN,EAAU,cACVR,EAAUa,EAAMC,EAAAA,GAEpB,CAACd,IAGCe,EAAmB,KACrBP,EAAU,QAAA,EAGRQ,EAA2BC,IAC7BZ,EAAoBY,EAAAA,EAkBxB,OAfAC,GAAU,KACN,MAAMC,EAAMC,EAAad,GAEnBe,EAAa,IAAMf,EAAMgB,UAAY,CAAEC,MAAOjB,EAAMgB,WACtDE,EAAiB,IAAMlB,EAAMgB,UAAY,CAAEA,SAAUhB,EAAMgB,WAEzDG,EAAS,IAAIC,EAAOP,EAAK,OAAQE,EAAYG,GAInD,OAFAC,EAAOE,OAAOC,KAAKb,GAAkBc,MAAMb,GAEpC,KACHS,EAAOK,QAAM,CACjB,GACD,IAEY,YAAXvB,EAEIwB,EAACC,MAAAA,CAAIC,UAAU,yBAAyBC,YAAU,SAASC,YAAU,QACjEJ,EAACC,MAAAA,CAAIC,UAAU,yEAAyEG,cAAa,iBACjGL,EAACM,EAAAA,QAObN,EAACC,MAAAA,CAAIC,UAAU,0BACXF,EAACO,EAAAA,IACOhC,EACJL,SAAUA,EACVC,SAAUA,EACVC,QAASA,EACTC,SAAUA,EACVJ,UAAWW,EACX4B,oBAAgC,eAAXhC,EACrBiC,UAAWC,OAAOC,SAIlC"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/Challenge/PrepareChallenge3DS2.js";import{DEFAULT_CHALLENGE_WINDOW_SIZE as o,THREEDS2_CHALLENGE as s,THREEDS2_ERROR as i,THREEDS2_CHALLENGE_ERROR as n}from"./constants.js";import{existy as a}from"../internal/SecuredFields/lib/utilities/commonUtils.js";import{hasOwnProperty as p}from"../../utils/hasOwnProperty.js";import{TxVariants as m}from"../tx-variants.js";import l,{API_ERROR as c}from"../../core/Errors/AdyenCheckoutError.js";import{ANALYTICS_RENDERED_STR as h,Analytics3DS2Errors as u,ANALYTICS_API_ERROR as y}from"../../core/Analytics/constants.js";import{CoreProvider as d}from"../../core/Context/CoreProvider.js";class f extends e{static type=m.threeDS2Challenge;static defaultProps={dataKey:"threeDSResult",size:o,type:s};submitAnalytics=t=>{t.type!==h&&super.submitAnalytics(t)};onComplete(t){t&&super.onComplete(t),this.unmount()}render(){if(!a(this.props.paymentData)){const t=p(this.props,"isMDFlow")?"paymentData":"authorisationToken";return this.props.onError(new l(c,`No ${t} received. 3DS2 Challenge cannot proceed`)),this.submitAnalytics({type:i,code:u.ACTION_IS_MISSING_PAYMENT_DATA,errorType:y,message:`${n}: Missing 'paymentData' property from threeDS2 action`}),null}return t(d,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(r,{...this.props,onComplete:this.onComplete,onSubmitAnalytics:this.submitAnalytics,isMDFlow:this.props.paymentData.length<15}))}}export{f as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/Challenge/PrepareChallenge3DS2.js";import{DEFAULT_CHALLENGE_WINDOW_SIZE as o,THREEDS2_CHALLENGE as s,THREEDS2_ERROR as n,THREEDS2_CHALLENGE_ERROR as i}from"./constants.js";import{existy as a}from"../../utils/commonUtils.js";import{hasOwnProperty as p}from"../../utils/hasOwnProperty.js";import{TxVariants as m}from"../tx-variants.js";import l,{API_ERROR as c}from"../../core/Errors/AdyenCheckoutError.js";import{ANALYTICS_RENDERED_STR as h,Analytics3DS2Errors as u,ANALYTICS_API_ERROR as y}from"../../core/Analytics/constants.js";import{CoreProvider as f}from"../../core/Context/CoreProvider.js";class C extends e{static type=m.threeDS2Challenge;static defaultProps={dataKey:"threeDSResult",size:o,type:s};submitAnalytics=t=>{t.type!==h&&super.submitAnalytics(t)};onComplete(t){t&&super.onComplete(t),this.unmount()}render(){if(!a(this.props.paymentData)){const t=p(this.props,"isMDFlow")?"paymentData":"authorisationToken";return this.props.onError(new l(c,`No ${t} received. 3DS2 Challenge cannot proceed`)),this.submitAnalytics({type:n,code:u.ACTION_IS_MISSING_PAYMENT_DATA,errorType:y,message:`${i}: Missing 'paymentData' property from threeDS2 action`}),null}return t(f,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(r,{...this.props,onComplete:this.onComplete,onSubmitAnalytics:this.submitAnalytics,isMDFlow:this.props.paymentData.length<15}))}}export{C as default};
2
2
  //# sourceMappingURL=ThreeDS2Challenge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThreeDS2Challenge.js","sources":["../../../../src/components/ThreeDS2/ThreeDS2Challenge.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport PrepareChallenge from './components/Challenge';\nimport { DEFAULT_CHALLENGE_WINDOW_SIZE, THREEDS2_CHALLENGE, THREEDS2_CHALLENGE_ERROR, THREEDS2_ERROR } from './constants';\nimport { existy } from '../internal/SecuredFields/lib/utilities/commonUtils';\nimport { hasOwnProperty } from '../../utils/hasOwnProperty';\nimport { TxVariants } from '../tx-variants';\nimport { ThreeDS2ChallengeConfiguration } from './types';\nimport AdyenCheckoutError, { API_ERROR } from '../../core/Errors/AdyenCheckoutError';\nimport { ANALYTICS_API_ERROR, Analytics3DS2Errors, ANALYTICS_RENDERED_STR } from '../../core/Analytics/constants';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\n\nclass ThreeDS2Challenge extends UIElement<ThreeDS2ChallengeConfiguration> {\n public static type = TxVariants.threeDS2Challenge;\n\n public static defaultProps = {\n dataKey: 'threeDSResult',\n size: DEFAULT_CHALLENGE_WINDOW_SIZE,\n type: THREEDS2_CHALLENGE\n };\n\n protected submitAnalytics = (aObj: SendAnalyticsObject) => {\n if (aObj.type === ANALYTICS_RENDERED_STR) return; // suppress the rendered event (it will have the same timestamp as the \"creq sent\" event)\n\n super.submitAnalytics(aObj);\n };\n\n onComplete(state) {\n /**\n * Equals a call to onAdditionalDetails (as set in actionTypes.ts) for the regular, \"native\" flow.\n * However, if the action to create this component came from the 3DS2InMDFlow process it will instead equal a call to the onComplete callback\n * (as defined in the 3DS2InMDFlow and passed in as a config prop).\n */\n if (state) super.onComplete(state);\n this.unmount(); // re. fixing issue around back to back challenge calls\n }\n\n render() {\n // existy used because threeds2InMDFlow will send empty string for paymentData and we should be allowed to proceed with this\n if (!existy(this.props.paymentData)) {\n /**\n * The presence of props.isMDFlow indicates the action to create this component came from the threeds2InMDFlow process which passes (an empty) paymentsData.\n * The regular, \"native\" flow uses the authorisationToken from the 3DS2 action, which actionTypes.ts assigns to a property called paymentData\n */\n const dataTypeForError = hasOwnProperty(this.props, 'isMDFlow') ? 'paymentData' : 'authorisationToken';\n\n this.props.onError(new AdyenCheckoutError(API_ERROR, `No ${dataTypeForError} received. 3DS2 Challenge cannot proceed`));\n\n this.submitAnalytics({\n type: THREEDS2_ERROR,\n code: Analytics3DS2Errors.ACTION_IS_MISSING_PAYMENT_DATA,\n errorType: ANALYTICS_API_ERROR,\n message: `${THREEDS2_CHALLENGE_ERROR}: Missing 'paymentData' property from threeDS2 action`\n });\n\n return null;\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <PrepareChallenge\n {...this.props}\n onComplete={this.onComplete}\n onSubmitAnalytics={this.submitAnalytics}\n isMDFlow={this.props.paymentData.length < 15}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default ThreeDS2Challenge;\n"],"names":["ThreeDS2Challenge","UIElement","static","TxVariants","threeDS2Challenge","dataKey","size","DEFAULT_CHALLENGE_WINDOW_SIZE","type","THREEDS2_CHALLENGE","submitAnalytics","aObj","ANALYTICS_RENDERED_STR","super","onComplete","state","this","unmount","render","existy","props","paymentData","dataTypeForError","hasOwnProperty","onError","AdyenCheckoutError","API_ERROR","THREEDS2_ERROR","code","Analytics3DS2Errors","ACTION_IS_MISSING_PAYMENT_DATA","errorType","ANALYTICS_API_ERROR","message","THREEDS2_CHALLENGE_ERROR","h","CoreProvider","i18n","loadingContext","resources","PrepareChallenge","onSubmitAnalytics","isMDFlow","length"],"mappings":"+wBAaA,MAAMA,UAA0BC,EAC5BC,YAAqBC,EAAWC,kBAEhCF,oBAA6B,CACzBG,QAAS,gBACTC,KAAMC,EACNC,KAAMC,GAGAC,gBAAmBC,IACrBA,EAAKH,OAASI,GAElBC,MAAMH,gBAAgBC,EAAAA,EAG1BG,UAAAA,CAAWC,GAMHA,GAAOF,MAAMC,WAAWC,GAC5BC,KAAKC,SACT,CAEAC,MAAAA,GAEI,IAAKC,EAAOH,KAAKI,MAAMC,aAAc,CAKjC,MAAMC,EAAmBC,EAAeP,KAAKI,MAAO,YAAc,cAAgB,qBAWlF,OATAJ,KAAKI,MAAMI,QAAQ,IAAIC,EAAmBC,EAAW,MAAMJ,8CAE3DN,KAAKN,gBAAgB,CACjBF,KAAMmB,EACNC,KAAMC,EAAoBC,+BAC1BC,UAAWC,EACXC,QAAS,GAAGC,2DAGT,IACX,CAEA,OACIC,EAACC,EAAAA,CAAaC,KAAMrB,KAAKI,MAAMiB,KAAMC,eAAgBtB,KAAKI,MAAMkB,eAAgBC,UAAWvB,KAAKuB,WAC5FJ,EAACK,EAAAA,IACOxB,KAAKI,MACTN,WAAYE,KAAKF,WACjB2B,kBAAmBzB,KAAKN,gBACxBgC,SAAU1B,KAAKI,MAAMC,YAAYsB,OAAS,KAI1D"}
1
+ {"version":3,"file":"ThreeDS2Challenge.js","sources":["../../../../src/components/ThreeDS2/ThreeDS2Challenge.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport PrepareChallenge from './components/Challenge';\nimport { DEFAULT_CHALLENGE_WINDOW_SIZE, THREEDS2_CHALLENGE, THREEDS2_CHALLENGE_ERROR, THREEDS2_ERROR } from './constants';\nimport { existy } from '../../utils/commonUtils';\nimport { hasOwnProperty } from '../../utils/hasOwnProperty';\nimport { TxVariants } from '../tx-variants';\nimport { ThreeDS2ChallengeConfiguration } from './types';\nimport AdyenCheckoutError, { API_ERROR } from '../../core/Errors/AdyenCheckoutError';\nimport { ANALYTICS_API_ERROR, Analytics3DS2Errors, ANALYTICS_RENDERED_STR } from '../../core/Analytics/constants';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\n\nclass ThreeDS2Challenge extends UIElement<ThreeDS2ChallengeConfiguration> {\n public static type = TxVariants.threeDS2Challenge;\n\n public static defaultProps = {\n dataKey: 'threeDSResult',\n size: DEFAULT_CHALLENGE_WINDOW_SIZE,\n type: THREEDS2_CHALLENGE\n };\n\n protected submitAnalytics = (aObj: SendAnalyticsObject) => {\n if (aObj.type === ANALYTICS_RENDERED_STR) return; // suppress the rendered event (it will have the same timestamp as the \"creq sent\" event)\n\n super.submitAnalytics(aObj);\n };\n\n onComplete(state) {\n /**\n * Equals a call to onAdditionalDetails (as set in actionTypes.ts) for the regular, \"native\" flow.\n * However, if the action to create this component came from the 3DS2InMDFlow process it will instead equal a call to the onComplete callback\n * (as defined in the 3DS2InMDFlow and passed in as a config prop).\n */\n if (state) super.onComplete(state);\n this.unmount(); // re. fixing issue around back to back challenge calls\n }\n\n render() {\n // existy used because threeds2InMDFlow will send empty string for paymentData and we should be allowed to proceed with this\n if (!existy(this.props.paymentData)) {\n /**\n * The presence of props.isMDFlow indicates the action to create this component came from the threeds2InMDFlow process which passes (an empty) paymentsData.\n * The regular, \"native\" flow uses the authorisationToken from the 3DS2 action, which actionTypes.ts assigns to a property called paymentData\n */\n const dataTypeForError = hasOwnProperty(this.props, 'isMDFlow') ? 'paymentData' : 'authorisationToken';\n\n this.props.onError(new AdyenCheckoutError(API_ERROR, `No ${dataTypeForError} received. 3DS2 Challenge cannot proceed`));\n\n this.submitAnalytics({\n type: THREEDS2_ERROR,\n code: Analytics3DS2Errors.ACTION_IS_MISSING_PAYMENT_DATA,\n errorType: ANALYTICS_API_ERROR,\n message: `${THREEDS2_CHALLENGE_ERROR}: Missing 'paymentData' property from threeDS2 action`\n });\n\n return null;\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <PrepareChallenge\n {...this.props}\n onComplete={this.onComplete}\n onSubmitAnalytics={this.submitAnalytics}\n isMDFlow={this.props.paymentData.length < 15}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default ThreeDS2Challenge;\n"],"names":["ThreeDS2Challenge","UIElement","static","TxVariants","threeDS2Challenge","dataKey","size","DEFAULT_CHALLENGE_WINDOW_SIZE","type","THREEDS2_CHALLENGE","submitAnalytics","aObj","ANALYTICS_RENDERED_STR","super","onComplete","state","this","unmount","render","existy","props","paymentData","dataTypeForError","hasOwnProperty","onError","AdyenCheckoutError","API_ERROR","THREEDS2_ERROR","code","Analytics3DS2Errors","ACTION_IS_MISSING_PAYMENT_DATA","errorType","ANALYTICS_API_ERROR","message","THREEDS2_CHALLENGE_ERROR","h","CoreProvider","i18n","loadingContext","resources","PrepareChallenge","onSubmitAnalytics","isMDFlow","length"],"mappings":"mvBAaA,MAAMA,UAA0BC,EAC5BC,YAAqBC,EAAWC,kBAEhCF,oBAA6B,CACzBG,QAAS,gBACTC,KAAMC,EACNC,KAAMC,GAGAC,gBAAmBC,IACrBA,EAAKH,OAASI,GAElBC,MAAMH,gBAAgBC,EAAAA,EAG1BG,UAAAA,CAAWC,GAMHA,GAAOF,MAAMC,WAAWC,GAC5BC,KAAKC,SACT,CAEAC,MAAAA,GAEI,IAAKC,EAAOH,KAAKI,MAAMC,aAAc,CAKjC,MAAMC,EAAmBC,EAAeP,KAAKI,MAAO,YAAc,cAAgB,qBAWlF,OATAJ,KAAKI,MAAMI,QAAQ,IAAIC,EAAmBC,EAAW,MAAMJ,8CAE3DN,KAAKN,gBAAgB,CACjBF,KAAMmB,EACNC,KAAMC,EAAoBC,+BAC1BC,UAAWC,EACXC,QAAS,GAAGC,2DAGT,IACX,CAEA,OACIC,EAACC,EAAAA,CAAaC,KAAMrB,KAAKI,MAAMiB,KAAMC,eAAgBtB,KAAKI,MAAMkB,eAAgBC,UAAWvB,KAAKuB,WAC5FJ,EAACK,EAAAA,IACOxB,KAAKI,MACTN,WAAYE,KAAKF,WACjB2B,kBAAmBzB,KAAKN,gBACxBgC,SAAU1B,KAAKI,MAAMC,YAAYsB,OAAS,KAI1D"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/DeviceFingerprint/PrepareFingerprint3DS2.js";import i from"./callSubmit3DS2Fingerprint.js";import{existy as s}from"../internal/SecuredFields/lib/utilities/commonUtils.js";import{TxVariants as n}from"../tx-variants.js";import o,{API_ERROR as p}from"../../core/Errors/AdyenCheckoutError.js";import{ANALYTICS_RENDERED_STR as a,Analytics3DS2Errors as m,ANALYTICS_API_ERROR as l}from"../../core/Analytics/constants.js";import{THREEDS2_FINGERPRINT as c,THREEDS2_ERROR as u,THREEDS2_FINGERPRINT_ERROR as y}from"./constants.js";class h extends e{static type=n.threeDS2Fingerprint;static defaultProps={dataKey:"fingerprintResult",type:c};callSubmit3DS2Fingerprint=i.bind(this);submitAnalytics=t=>{t.type!==a&&super.submitAnalytics(t)};onComplete(t){super.onComplete(t),this.unmount()}render(){return s(this.props.paymentData)?t(r,{...this.props,onComplete:this.props.isMDFlow?this.onComplete:this.callSubmit3DS2Fingerprint,onSubmitAnalytics:this.submitAnalytics,isMDFlow:this.props.paymentData.length<15}):(this.props.onError(new o(p,"No paymentData received. 3DS2 Fingerprint cannot proceed")),this.submitAnalytics({type:u,code:m.ACTION_IS_MISSING_PAYMENT_DATA,errorType:l,message:`${y}: Missing 'paymentData' property from threeDS2 action`}),null)}}export{h as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as r}from"../internal/UIElement/UIElement.js";import e from"./components/DeviceFingerprint/PrepareFingerprint3DS2.js";import i from"./callSubmit3DS2Fingerprint.js";import{existy as s}from"../../utils/commonUtils.js";import{TxVariants as n}from"../tx-variants.js";import o,{API_ERROR as p}from"../../core/Errors/AdyenCheckoutError.js";import{ANALYTICS_RENDERED_STR as a,Analytics3DS2Errors as m,ANALYTICS_API_ERROR as l}from"../../core/Analytics/constants.js";import{THREEDS2_FINGERPRINT as c,THREEDS2_ERROR as u,THREEDS2_FINGERPRINT_ERROR as y}from"./constants.js";class h extends r{static type=n.threeDS2Fingerprint;static defaultProps={dataKey:"fingerprintResult",type:c};callSubmit3DS2Fingerprint=i.bind(this);submitAnalytics=t=>{t.type!==a&&super.submitAnalytics(t)};onComplete(t){super.onComplete(t),this.unmount()}render(){return s(this.props.paymentData)?t(e,{...this.props,onComplete:this.props.isMDFlow?this.onComplete:this.callSubmit3DS2Fingerprint,onSubmitAnalytics:this.submitAnalytics,isMDFlow:this.props.paymentData.length<15}):(this.props.onError(new o(p,"No paymentData received. 3DS2 Fingerprint cannot proceed")),this.submitAnalytics({type:u,code:m.ACTION_IS_MISSING_PAYMENT_DATA,errorType:l,message:`${y}: Missing 'paymentData' property from threeDS2 action`}),null)}}export{h as default};
2
2
  //# sourceMappingURL=ThreeDS2DeviceFingerprint.js.map