@adyen/adyen-web 6.6.0 → 6.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) hide show
  1. package/dist/cjs/adyen.css +3 -3
  2. package/dist/cjs/adyen.css.map +1 -1
  3. package/dist/cjs/index.cjs +2 -2
  4. package/dist/cjs/index.cjs.map +1 -1
  5. package/dist/cjs/index.d.cts +223 -140
  6. package/dist/es/adyen.css +3 -3
  7. package/dist/es/adyen.css.map +1 -1
  8. package/dist/es/components/ANCV/ANCV.js +1 -1
  9. package/dist/es/components/ANCV/ANCV.js.map +1 -1
  10. package/dist/es/components/Ach/components/AchInput/AchInput.js.map +1 -1
  11. package/dist/es/components/Ach/components/AchInput/defaultProps.js.map +1 -1
  12. package/dist/es/components/Ach/components/AchInput/defaultStyles.js.map +1 -1
  13. package/dist/es/components/AfterPay/AfterPayB2B.js.map +1 -1
  14. package/dist/es/components/AmazonPay/AmazonPay.js.map +1 -1
  15. package/dist/es/components/AmazonPay/components/AmazonPayButton.js.map +1 -1
  16. package/dist/es/components/BacsDD/BacsDD.js.map +1 -1
  17. package/dist/es/components/BacsDD/components/BacsInput.js.map +1 -1
  18. package/dist/es/components/BankTransfer/BankTransfer.js.map +1 -1
  19. package/dist/es/components/Boleto/Boleto.js.map +1 -1
  20. package/dist/es/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
  21. package/dist/es/components/Card/Card.js.map +1 -1
  22. package/dist/es/components/Card/components/CardInput/CardInput.js +1 -1
  23. package/dist/es/components/Card/components/CardInput/CardInput.js.map +1 -1
  24. package/dist/es/components/Card/components/CardInput/defaultProps.js.map +1 -1
  25. package/dist/es/components/Card/components/CardInput/handlers.js.map +1 -1
  26. package/dist/es/components/Card/components/CardInput/types.js.map +1 -1
  27. package/dist/es/components/CashAppPay/CashAppPay.js.map +1 -1
  28. package/dist/es/components/CustomCard/CustomCard.js +1 -1
  29. package/dist/es/components/CustomCard/CustomCard.js.map +1 -1
  30. package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js +1 -1
  31. package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
  32. package/dist/es/components/Doku/components/DokuInput/DokuInput.js.map +1 -1
  33. package/dist/es/components/Dropin/Dropin.js.map +1 -1
  34. package/dist/es/components/Dropin/components/DropinComponent.js.map +1 -1
  35. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
  36. package/dist/es/components/Dropin/components/PaymentMethod/useBrandLogoConfiguration.js.map +1 -1
  37. package/dist/es/components/Dropin/elements/filters.js.map +1 -1
  38. package/dist/es/components/Dropin/elements/getComponentConfiguration.js.map +1 -1
  39. package/dist/es/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
  40. package/dist/es/components/Giftcard/Giftcard.js +1 -1
  41. package/dist/es/components/Giftcard/Giftcard.js.map +1 -1
  42. package/dist/es/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  43. package/dist/es/components/GooglePay/components/GooglePayButton.js +1 -1
  44. package/dist/es/components/GooglePay/components/GooglePayButton.js.map +1 -1
  45. package/dist/es/components/GooglePay/requests.js.map +1 -1
  46. package/dist/es/components/Klarna/KlarnaPayments.js +1 -1
  47. package/dist/es/components/Klarna/KlarnaPayments.js.map +1 -1
  48. package/dist/es/components/Klarna/components/KlarnaWidget/KlarnaWidget.js.map +1 -1
  49. package/dist/es/components/MBWay/MBWay.js.map +1 -1
  50. package/dist/es/components/Multibanco/Multibanco.js.map +1 -1
  51. package/dist/es/components/Oxxo/Oxxo.js.map +1 -1
  52. package/dist/es/components/PayByBankUS/PayByBankUS.js.map +1 -1
  53. package/dist/es/components/PayPal/utils/get-paypal-styles.js.map +1 -1
  54. package/dist/es/components/Pix/Pix.js.map +1 -1
  55. package/dist/es/components/Redirect/Redirect.js.map +1 -1
  56. package/dist/es/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
  57. package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
  58. package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  59. package/dist/es/components/ThreeDS2/callSubmit3DS2Fingerprint.js +1 -1
  60. package/dist/es/components/ThreeDS2/callSubmit3DS2Fingerprint.js.map +1 -1
  61. package/dist/es/components/ThreeDS2/components/Form/ThreeDS2Form.js.map +1 -1
  62. package/dist/es/components/Twint/Twint.js.map +1 -1
  63. package/dist/es/components/UPI/UPI.js.map +1 -1
  64. package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  65. package/dist/es/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js.map +1 -1
  66. package/dist/es/components/internal/Address/Address.js.map +1 -1
  67. package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
  68. package/dist/es/components/internal/Button/Button.js.map +1 -1
  69. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js +1 -1
  70. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js.map +1 -1
  71. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js +1 -1
  72. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js.map +1 -1
  73. package/dist/es/components/internal/ClickToPay/components/CtPSection/CtPLogoutLink.js +1 -1
  74. package/dist/es/components/internal/ClickToPay/components/CtPSection/CtPLogoutLink.js.map +1 -1
  75. package/dist/es/components/internal/ClickToPay/context/ClickToPayProvider.js.map +1 -1
  76. package/dist/es/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
  77. package/dist/es/components/internal/CompanyDetails/CompanyDetails.js.map +1 -1
  78. package/dist/es/components/internal/FormFields/Select/Select.js.map +1 -1
  79. package/dist/es/components/internal/IFrame/Iframe.js.map +1 -1
  80. package/dist/es/components/internal/IbanInput/IbanInput.js.map +1 -1
  81. package/dist/es/components/internal/IssuerList/IssuerList.js.map +1 -1
  82. package/dist/es/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
  83. package/dist/es/components/internal/OpenInvoice/utils.js.map +1 -1
  84. package/dist/es/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
  85. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  86. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js.map +1 -1
  87. package/dist/es/components/internal/SecuredFields/SFP/defaultProps.js.map +1 -1
  88. package/dist/es/components/internal/SecuredFields/binLookup/triggerBinLookUp.js.map +1 -1
  89. package/dist/es/components/internal/SecuredFields/lib/CSF/AbstractCSF.js.map +1 -1
  90. package/dist/es/components/internal/SecuredFields/lib/CSF/CSF.js.map +1 -1
  91. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
  92. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleConfig.js.map +1 -1
  93. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleEncryption.js.map +1 -1
  94. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleIOSTouchEvents.js.map +1 -1
  95. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleValidation.js.map +1 -1
  96. package/dist/es/components/internal/SecuredFields/lib/CSF/partials/handleBinValue.js.map +1 -1
  97. package/dist/es/components/internal/SecuredFields/lib/CSF/partials/handleFocus.js.map +1 -1
  98. package/dist/es/components/internal/SecuredFields/lib/CSF/partials/handleIframeConfigFeedback.js.map +1 -1
  99. package/dist/es/components/internal/SecuredFields/lib/CSF/partials/isConfigured.js.map +1 -1
  100. package/dist/es/components/internal/SecuredFields/lib/CSF/partials/postMessageToAllIframes.js.map +1 -1
  101. package/dist/es/components/internal/SecuredFields/lib/CSF/partials/processAutoComplete.js.map +1 -1
  102. package/dist/es/components/internal/SecuredFields/lib/CSF/partials/processBrand.js.map +1 -1
  103. package/dist/es/components/internal/SecuredFields/lib/CSF/partials/validateForm.js.map +1 -1
  104. package/dist/es/components/internal/SecuredFields/lib/CSF/utils/callbackUtils.js.map +1 -1
  105. package/dist/es/components/internal/SecuredFields/lib/CSF/utils/destroySecuredFields.js.map +1 -1
  106. package/dist/es/components/internal/SecuredFields/lib/CSF/utils/processErrors.js.map +1 -1
  107. package/dist/es/components/internal/SecuredFields/lib/constants.js +1 -1
  108. package/dist/es/components/internal/SecuredFields/lib/constants.js.map +1 -1
  109. package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
  110. package/dist/es/components/internal/SecuredFields/lib/utilities/addContextTranslations.js.map +1 -1
  111. package/dist/es/components/internal/UIElement/UIElement.js +1 -1
  112. package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
  113. package/dist/es/components/internal/UIElement/utils.js.map +1 -1
  114. package/dist/es/components/internal/Voucher/utils.js.map +1 -1
  115. package/dist/es/core/Analytics/Analytics.js.map +1 -1
  116. package/dist/es/core/Analytics/constants.js.map +1 -1
  117. package/dist/es/core/Analytics/utils.js.map +1 -1
  118. package/dist/es/core/Errors/AdyenCheckoutError.js +1 -1
  119. package/dist/es/core/Errors/AdyenCheckoutError.js.map +1 -1
  120. package/dist/es/core/Errors/SRMessages.js.map +1 -1
  121. package/dist/es/core/Errors/constants.js.map +1 -1
  122. package/dist/es/core/Errors/utils.js.map +1 -1
  123. package/dist/es/core/Services/analytics/collect-id.js +1 -1
  124. package/dist/es/core/Services/http.js +1 -1
  125. package/dist/es/core/Services/http.js.map +1 -1
  126. package/dist/es/core/Services/sessions/constants.js +1 -1
  127. package/dist/es/core/Services/sessions/constants.js.map +1 -1
  128. package/dist/es/core/Services/sessions/create-order.js +1 -1
  129. package/dist/es/core/Services/sessions/create-order.js.map +1 -1
  130. package/dist/es/core/Services/sessions/make-payment.js +1 -1
  131. package/dist/es/core/Services/sessions/make-payment.js.map +1 -1
  132. package/dist/es/core/Services/sessions/setup-session.js.map +1 -1
  133. package/dist/es/core/Services/sessions/submit-details.js +1 -1
  134. package/dist/es/core/Services/sessions/submit-details.js.map +1 -1
  135. package/dist/es/core/core.js +1 -1
  136. package/dist/es/core/core.registry.js.map +1 -1
  137. package/dist/es/core/utils.js.map +1 -1
  138. package/dist/es/external/classnames/index.js.map +1 -1
  139. package/dist/es/external/preact/dist/preact.js +1 -1
  140. package/dist/es/external/preact/dist/preact.js.map +1 -1
  141. package/dist/es/index.d.ts +223 -140
  142. package/dist/es/language/Language.js.map +1 -1
  143. package/dist/es/language/utils.js.map +1 -1
  144. package/dist/es/utils/Storage.js.map +1 -1
  145. package/dist/es/utils/commonUtils.js.map +1 -1
  146. package/dist/es/utils/get-process-message-handler.js.map +1 -1
  147. package/dist/es/utils/getOrigin.js.map +1 -1
  148. package/dist/es/utils/useForm/reducer.js.map +1 -1
  149. package/dist/es/utils/useForm/useForm.js.map +1 -1
  150. package/dist/es-legacy/adyen.css +3 -3
  151. package/dist/es-legacy/adyen.css.map +1 -1
  152. package/dist/es-legacy/components/ANCV/ANCV.js +1 -1
  153. package/dist/es-legacy/components/ANCV/ANCV.js.map +1 -1
  154. package/dist/es-legacy/components/Ach/components/AchInput/AchInput.js.map +1 -1
  155. package/dist/es-legacy/components/Ach/components/AchInput/defaultProps.js.map +1 -1
  156. package/dist/es-legacy/components/Ach/components/AchInput/defaultStyles.js.map +1 -1
  157. package/dist/es-legacy/components/AfterPay/AfterPayB2B.js.map +1 -1
  158. package/dist/es-legacy/components/AmazonPay/AmazonPay.js.map +1 -1
  159. package/dist/es-legacy/components/AmazonPay/components/AmazonPayButton.js.map +1 -1
  160. package/dist/es-legacy/components/BacsDD/BacsDD.js.map +1 -1
  161. package/dist/es-legacy/components/BacsDD/components/BacsInput.js.map +1 -1
  162. package/dist/es-legacy/components/BankTransfer/BankTransfer.js.map +1 -1
  163. package/dist/es-legacy/components/Boleto/Boleto.js.map +1 -1
  164. package/dist/es-legacy/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
  165. package/dist/es-legacy/components/Card/Card.js.map +1 -1
  166. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js +1 -1
  167. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js.map +1 -1
  168. package/dist/es-legacy/components/Card/components/CardInput/defaultProps.js.map +1 -1
  169. package/dist/es-legacy/components/Card/components/CardInput/handlers.js.map +1 -1
  170. package/dist/es-legacy/components/Card/components/CardInput/types.js.map +1 -1
  171. package/dist/es-legacy/components/CashAppPay/CashAppPay.js.map +1 -1
  172. package/dist/es-legacy/components/CustomCard/CustomCard.js +1 -1
  173. package/dist/es-legacy/components/CustomCard/CustomCard.js.map +1 -1
  174. package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js +1 -1
  175. package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
  176. package/dist/es-legacy/components/Doku/components/DokuInput/DokuInput.js.map +1 -1
  177. package/dist/es-legacy/components/Dropin/Dropin.js.map +1 -1
  178. package/dist/es-legacy/components/Dropin/components/DropinComponent.js.map +1 -1
  179. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
  180. package/dist/es-legacy/components/Dropin/components/PaymentMethod/useBrandLogoConfiguration.js.map +1 -1
  181. package/dist/es-legacy/components/Dropin/elements/filters.js.map +1 -1
  182. package/dist/es-legacy/components/Dropin/elements/getComponentConfiguration.js.map +1 -1
  183. package/dist/es-legacy/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
  184. package/dist/es-legacy/components/Giftcard/Giftcard.js +1 -1
  185. package/dist/es-legacy/components/Giftcard/Giftcard.js.map +1 -1
  186. package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  187. package/dist/es-legacy/components/GooglePay/components/GooglePayButton.js +1 -1
  188. package/dist/es-legacy/components/GooglePay/components/GooglePayButton.js.map +1 -1
  189. package/dist/es-legacy/components/GooglePay/requests.js.map +1 -1
  190. package/dist/es-legacy/components/Klarna/KlarnaPayments.js +1 -1
  191. package/dist/es-legacy/components/Klarna/KlarnaPayments.js.map +1 -1
  192. package/dist/es-legacy/components/Klarna/components/KlarnaWidget/KlarnaWidget.js.map +1 -1
  193. package/dist/es-legacy/components/MBWay/MBWay.js.map +1 -1
  194. package/dist/es-legacy/components/Multibanco/Multibanco.js.map +1 -1
  195. package/dist/es-legacy/components/Oxxo/Oxxo.js.map +1 -1
  196. package/dist/es-legacy/components/PayByBankUS/PayByBankUS.js.map +1 -1
  197. package/dist/es-legacy/components/PayPal/utils/get-paypal-styles.js.map +1 -1
  198. package/dist/es-legacy/components/Pix/Pix.js.map +1 -1
  199. package/dist/es-legacy/components/Redirect/Redirect.js.map +1 -1
  200. package/dist/es-legacy/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
  201. package/dist/es-legacy/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
  202. package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  203. package/dist/es-legacy/components/ThreeDS2/callSubmit3DS2Fingerprint.js +1 -1
  204. package/dist/es-legacy/components/ThreeDS2/callSubmit3DS2Fingerprint.js.map +1 -1
  205. package/dist/es-legacy/components/ThreeDS2/components/Form/ThreeDS2Form.js.map +1 -1
  206. package/dist/es-legacy/components/Twint/Twint.js.map +1 -1
  207. package/dist/es-legacy/components/UPI/UPI.js.map +1 -1
  208. package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  209. package/dist/es-legacy/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js.map +1 -1
  210. package/dist/es-legacy/components/internal/Address/Address.js.map +1 -1
  211. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
  212. package/dist/es-legacy/components/internal/Button/Button.js.map +1 -1
  213. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js +1 -1
  214. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js.map +1 -1
  215. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js +1 -1
  216. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js.map +1 -1
  217. package/dist/es-legacy/components/internal/ClickToPay/components/CtPSection/CtPLogoutLink.js +1 -1
  218. package/dist/es-legacy/components/internal/ClickToPay/components/CtPSection/CtPLogoutLink.js.map +1 -1
  219. package/dist/es-legacy/components/internal/ClickToPay/context/ClickToPayProvider.js.map +1 -1
  220. package/dist/es-legacy/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
  221. package/dist/es-legacy/components/internal/CompanyDetails/CompanyDetails.js.map +1 -1
  222. package/dist/es-legacy/components/internal/FormFields/Select/Select.js.map +1 -1
  223. package/dist/es-legacy/components/internal/IFrame/Iframe.js.map +1 -1
  224. package/dist/es-legacy/components/internal/IbanInput/IbanInput.js.map +1 -1
  225. package/dist/es-legacy/components/internal/IssuerList/IssuerList.js.map +1 -1
  226. package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
  227. package/dist/es-legacy/components/internal/OpenInvoice/utils.js.map +1 -1
  228. package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
  229. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  230. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js.map +1 -1
  231. package/dist/es-legacy/components/internal/SecuredFields/SFP/defaultProps.js.map +1 -1
  232. package/dist/es-legacy/components/internal/SecuredFields/binLookup/extensions.js.map +1 -1
  233. package/dist/es-legacy/components/internal/SecuredFields/binLookup/triggerBinLookUp.js.map +1 -1
  234. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/AbstractCSF.js.map +1 -1
  235. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/CSF.js.map +1 -1
  236. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
  237. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleConfig.js.map +1 -1
  238. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleEncryption.js.map +1 -1
  239. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleIOSTouchEvents.js.map +1 -1
  240. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleValidation.js.map +1 -1
  241. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/handleBinValue.js.map +1 -1
  242. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/handleFocus.js.map +1 -1
  243. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/handleIframeConfigFeedback.js.map +1 -1
  244. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/isConfigured.js.map +1 -1
  245. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/postMessageToAllIframes.js.map +1 -1
  246. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/processAutoComplete.js.map +1 -1
  247. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/processBrand.js.map +1 -1
  248. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/validateForm.js.map +1 -1
  249. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/callbackUtils.js.map +1 -1
  250. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/destroySecuredFields.js.map +1 -1
  251. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/processErrors.js.map +1 -1
  252. package/dist/es-legacy/components/internal/SecuredFields/lib/constants.js +1 -1
  253. package/dist/es-legacy/components/internal/SecuredFields/lib/constants.js.map +1 -1
  254. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
  255. package/dist/es-legacy/components/internal/SecuredFields/lib/utilities/addContextTranslations.js.map +1 -1
  256. package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
  257. package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
  258. package/dist/es-legacy/components/internal/UIElement/utils.js.map +1 -1
  259. package/dist/es-legacy/components/internal/Voucher/utils.js.map +1 -1
  260. package/dist/es-legacy/core/Analytics/Analytics.js.map +1 -1
  261. package/dist/es-legacy/core/Analytics/constants.js.map +1 -1
  262. package/dist/es-legacy/core/Analytics/utils.js.map +1 -1
  263. package/dist/es-legacy/core/Errors/AdyenCheckoutError.js +1 -1
  264. package/dist/es-legacy/core/Errors/AdyenCheckoutError.js.map +1 -1
  265. package/dist/es-legacy/core/Errors/SRMessages.js.map +1 -1
  266. package/dist/es-legacy/core/Errors/constants.js.map +1 -1
  267. package/dist/es-legacy/core/Errors/utils.js.map +1 -1
  268. package/dist/es-legacy/core/Services/analytics/collect-id.js +1 -1
  269. package/dist/es-legacy/core/Services/http.js +1 -1
  270. package/dist/es-legacy/core/Services/http.js.map +1 -1
  271. package/dist/es-legacy/core/Services/sessions/constants.js +1 -1
  272. package/dist/es-legacy/core/Services/sessions/constants.js.map +1 -1
  273. package/dist/es-legacy/core/Services/sessions/create-order.js +1 -1
  274. package/dist/es-legacy/core/Services/sessions/create-order.js.map +1 -1
  275. package/dist/es-legacy/core/Services/sessions/make-payment.js +1 -1
  276. package/dist/es-legacy/core/Services/sessions/make-payment.js.map +1 -1
  277. package/dist/es-legacy/core/Services/sessions/setup-session.js.map +1 -1
  278. package/dist/es-legacy/core/Services/sessions/submit-details.js +1 -1
  279. package/dist/es-legacy/core/Services/sessions/submit-details.js.map +1 -1
  280. package/dist/es-legacy/core/core.js +1 -1
  281. package/dist/es-legacy/core/core.registry.js.map +1 -1
  282. package/dist/es-legacy/core/utils.js.map +1 -1
  283. package/dist/es-legacy/external/classnames/index.js.map +1 -1
  284. package/dist/es-legacy/external/preact/dist/preact.js +1 -1
  285. package/dist/es-legacy/external/preact/dist/preact.js.map +1 -1
  286. package/dist/es-legacy/language/Language.js.map +1 -1
  287. package/dist/es-legacy/language/utils.js.map +1 -1
  288. package/dist/es-legacy/utils/Storage.js.map +1 -1
  289. package/dist/es-legacy/utils/commonUtils.js.map +1 -1
  290. package/dist/es-legacy/utils/get-process-message-handler.js.map +1 -1
  291. package/dist/es-legacy/utils/getOrigin.js.map +1 -1
  292. package/dist/es-legacy/utils/useForm/reducer.js.map +1 -1
  293. package/dist/es-legacy/utils/useForm/useForm.js.map +1 -1
  294. package/package.json +19 -19
  295. package/styles/adyen.css +3 -3
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../external/preact/dist/preact.js";import{useRef as o,useState as n,useMemo as r,useEffect as t}from"../../../external/preact/hooks/dist/hooks.js";import a from"../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import s from"../../internal/SecuredFields/binLookup/extensions.js";function i(i){const l=o(null),[u,c]=n({}),[p,m]=n({}),[h,y]=n({}),[g,C]=n(!1),[S,f]=n(null),[F,V]=n([]),[B,E]=n(""),k=r((()=>s(i,{sfp:l},{dualBrandSelectElements:F,setDualBrandSelectElements:V,setSelectedBrandValue:E,issuingCountryCode:S,setIssuingCountryCode:f})),[F,S]);return this.processBinLookupResponse=(e,o)=>{k.processBinLookup(e,o)},this.dualBrandingChangeHandler=k.handleDualBrandSelection,t((()=>(this.setFocusOn=l.current.setFocusOn,this.updateStyles=l.current.updateStyles,this.showValidation=l.current.showValidation,this.handleUnsupportedCard=l.current.handleUnsupportedCard,()=>{l.current.destroy()})),[]),t((()=>{const e=l.current.mapErrorsToValidationRuleResult(),o={...u,...e};if(i.onChange({data:h,valid:p,errors:o,isValid:g,selectedBrandValue:B}),Object.keys(o).length){const e=Object.entries(o).map((([e,o])=>({fieldType:e,...o||{error:"",rootNode:this.props.rootNode}})));this.props.onValidationError?.(e)}}),[h,p,u,B]),e(a,{ref:l,...d(i),type:i.brand,onChange:e=>{y({...h,...e.data}),c({...u,...e.errors}),m({...p,...e.valid}),C(e.isSfpValid)},render:()=>null})}i.defaultProps={onChange:()=>{},onError:()=>{},onValidationError:()=>{}};const d=e=>({autoFocus:e.autoFocus,brands:e.brands,brandsConfiguration:e.brandsConfiguration,clientKey:e.clientKey,i18n:e.i18n,implementationType:e.implementationType,keypadFix:e.keypadFix,legacyInputMode:e.legacyInputMode,loadingContext:e.loadingContext,minimumExpiryDate:e.minimumExpiryDate,onAdditionalSFConfig:e.onAdditionalSFConfig,onAdditionalSFRemoved:e.onAdditionalSFRemoved,onAllValid:e.onAllValid,onAutoComplete:e.onAutoComplete,onBinValue:e.onBinValue,onBrand:e.onBrand,onConfigSuccess:e.onConfigSuccess,handleKeyPress:e.handleKeyPress,onError:e.onError,onFieldValid:e.onFieldValid,onFocus:e.onFocus,onLoad:e.onLoad,rootNode:e.rootNode,showWarnings:e.showWarnings,styles:e.styles,trimTrailingSeparator:e.trimTrailingSeparator,resources:e.resources,maskSecurityCode:e.maskSecurityCode,placeholders:e.placeholders});export{i as default};
1
+ import{createElement as e}from"../../../external/preact/dist/preact.js";import{useRef as o,useState as n,useMemo as r,useEffect as t}from"../../../external/preact/hooks/dist/hooks.js";import a from"../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import s from"../../internal/SecuredFields/binLookup/extensions.js";function i(i){const l=o(null),[u,c]=n({}),[p,m]=n({}),[h,y]=n({}),[C,f]=n(!1),[g,S]=n(null),[F,V]=n([]),[B,E]=n(""),k=r((()=>s(i,{sfp:l},{dualBrandSelectElements:F,setDualBrandSelectElements:V,setSelectedBrandValue:E,issuingCountryCode:g,setIssuingCountryCode:S})),[F,g]);return this.processBinLookupResponse=(e,o)=>{k.processBinLookup(e,o)},this.dualBrandingChangeHandler=k.handleDualBrandSelection,t((()=>(this.setFocusOn=l.current.setFocusOn,this.updateStyles=l.current.updateStyles,this.showValidation=l.current.showValidation,this.handleUnsupportedCard=l.current.handleUnsupportedCard,()=>{l.current.destroy()})),[]),t((()=>{const e=l.current.mapErrorsToValidationRuleResult(),o={...u,...e};if(i.onChange({data:h,valid:p,errors:o,isValid:C,selectedBrandValue:B}),Object.keys(o).length){const e=Object.entries(o).map((([e,o])=>({fieldType:e,...o||{error:"",rootNode:this.props.rootNode}})));this.props.onValidationError?.(e)}}),[h,p,u,B]),e(a,{ref:l,...d(i),type:i.brand,onChange:e=>{y({...h,...e.data}),c({...u,...e.errors}),m({...p,...e.valid}),f(e.isSfpValid)},render:()=>null})}i.defaultProps={onChange:()=>{},onError:()=>{},onValidationError:()=>{}};const d=e=>({autoFocus:e.autoFocus,brands:e.brands,brandsConfiguration:e.brandsConfiguration,clientKey:e.clientKey,forceCompat:e.forceCompat,i18n:e.i18n,implementationType:e.implementationType,keypadFix:e.keypadFix,legacyInputMode:e.legacyInputMode,loadingContext:e.loadingContext,minimumExpiryDate:e.minimumExpiryDate,onAdditionalSFConfig:e.onAdditionalSFConfig,onAdditionalSFRemoved:e.onAdditionalSFRemoved,onAllValid:e.onAllValid,onAutoComplete:e.onAutoComplete,onBinValue:e.onBinValue,onBrand:e.onBrand,onConfigSuccess:e.onConfigSuccess,handleKeyPress:e.handleKeyPress,onError:e.onError,onFieldValid:e.onFieldValid,onFocus:e.onFocus,onLoad:e.onLoad,rootNode:e.rootNode,showWarnings:e.showWarnings,styles:e.styles,trimTrailingSeparator:e.trimTrailingSeparator,resources:e.resources,maskSecurityCode:e.maskSecurityCode,placeholders:e.placeholders});export{i as default};
2
2
  //# sourceMappingURL=CustomCardInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CustomCardInput.js","sources":["../../../../../src/components/CustomCard/CustomCardInput/CustomCardInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef, useMemo } from 'preact/hooks';\nimport Language from '../../../language/Language';\nimport SecuredFieldsProvider from '../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport { SFPState } from '../../internal/SecuredFields/SFP/types';\nimport { BinLookupResponse, CardBrandsConfiguration } from '../../Card/types';\nimport SFExtensions from '../../internal/SecuredFields/binLookup/extensions';\nimport { StylesObject } from '../../internal/SecuredFields/lib/types';\nimport { Resources } from '../../../core/Context/Resources';\nimport { Placeholders, SFError } from '../../Card/components/CardInput/types';\nimport { ValidationError } from '../types';\n\ninterface SecuredFieldsProps {\n autoFocus?: boolean;\n brand?: string;\n brands?: string[];\n brandsConfiguration?: CardBrandsConfiguration;\n clientKey?: string;\n countryCode?: string;\n i18n: Language;\n implementationType?: string;\n keypadFix?: boolean;\n loadingContext?: string;\n legacyInputMode?: boolean;\n minimumExpiryDate?: string;\n onAdditionalSFConfig?: () => {};\n onAdditionalSFRemoved?: () => {};\n onAllValid?: () => {};\n onAutoComplete?: () => {};\n onBinValue?: () => {};\n onBrand?: () => {};\n onConfigSuccess?: () => {};\n onChange: (data) => void;\n handleKeyPress?: (obj: KeyboardEvent) => void;\n onError?: () => {};\n onFieldValid?: () => {};\n onFocus?: (e) => {};\n onLoad?: () => {};\n placeholders?: Placeholders;\n rootNode: HTMLElement;\n resources: Resources;\n showWarnings?: boolean;\n styles?: StylesObject;\n trimTrailingSeparator?: boolean;\n type: string;\n maskSecurityCode?: boolean;\n}\n\nconst defaultProps = {\n onChange: () => {},\n onError: () => {},\n onValidationError: () => {}\n};\n\nfunction CustomCardInput(props: SecuredFieldsProps) {\n const sfp = useRef(null);\n\n const [errors, setErrors] = useState({});\n const [valid, setValid] = useState({});\n const [data, setData] = useState({});\n\n const [isSfpValid, setIsSfpValid] = useState(false);\n\n const [issuingCountryCode, setIssuingCountryCode] = useState(null);\n\n const [dualBrandSelectElements, setDualBrandSelectElements] = useState([]);\n const [selectedBrandValue, setSelectedBrandValue] = useState('');\n\n const handleSecuredFieldsChange = (sfState: SFPState): void => {\n setData({ ...data, ...sfState.data });\n setErrors({ ...errors, ...sfState.errors });\n setValid({ ...valid, ...sfState.valid });\n\n setIsSfpValid(sfState.isSfpValid);\n };\n\n // Farm the handlers for binLookup related functionality out to another 'extensions' file\n const extensions = useMemo(\n () =>\n SFExtensions(\n props,\n { sfp },\n { dualBrandSelectElements, setDualBrandSelectElements, setSelectedBrandValue, issuingCountryCode, setIssuingCountryCode }\n ),\n [dualBrandSelectElements, issuingCountryCode]\n );\n\n /**\n * EXPECTED METHODS ON SecuredFields.this\n */\n this.processBinLookupResponse = (binLookupResponse: BinLookupResponse, isReset: boolean) => {\n extensions.processBinLookup(binLookupResponse, isReset);\n };\n\n this.dualBrandingChangeHandler = extensions.handleDualBrandSelection;\n\n /**\n * EFFECT HOOKS\n */\n useEffect(() => {\n // componentDidMount\n this.setFocusOn = sfp.current.setFocusOn;\n this.updateStyles = sfp.current.updateStyles;\n this.showValidation = sfp.current.showValidation;\n this.handleUnsupportedCard = sfp.current.handleUnsupportedCard;\n\n // componentWillUnmount\n return () => {\n sfp.current.destroy();\n };\n }, []);\n\n /**\n * Main 'componentDidUpdate' handler\n */\n useEffect(() => {\n const sfStateErrorsObj = sfp.current.mapErrorsToValidationRuleResult();\n\n const mappedErrors = { ...errors, ...sfStateErrorsObj }; // maps sfErrors\n\n props.onChange({\n data,\n valid,\n errors: mappedErrors,\n isValid: isSfpValid,\n selectedBrandValue\n });\n\n // Create an array of Validation error objects and send to callback\n if (Object.keys(mappedErrors).length) {\n const validationErrors: ValidationError[] = Object.entries(mappedErrors).map(([fieldType, error]) => {\n const valErr: ValidationError = {\n fieldType,\n ...(error ? (error as SFError) : { error: '', rootNode: this.props.rootNode })\n };\n return valErr;\n });\n this.props.onValidationError?.(validationErrors);\n }\n }, [data, valid, errors, selectedBrandValue]);\n\n /**\n * RENDER\n */\n // prettier-ignore\n return (\n <SecuredFieldsProvider\n ref={sfp}\n {...extractPropsForSFP(props)}\n type={props.brand}\n onChange={handleSecuredFieldsChange}\n render={() => null}\n />\n );\n}\n\nCustomCardInput.defaultProps = defaultProps;\n\nexport default CustomCardInput;\n\nconst extractPropsForSFP = (props: SecuredFieldsProps) => {\n return {\n autoFocus: props.autoFocus,\n brands: props.brands,\n brandsConfiguration: props.brandsConfiguration,\n clientKey: props.clientKey,\n // countryCode: props.countryCode, // only used for korean cards when koreanAuthenticationRequired is true\n i18n: props.i18n,\n implementationType: props.implementationType,\n keypadFix: props.keypadFix,\n legacyInputMode: props.legacyInputMode,\n loadingContext: props.loadingContext,\n minimumExpiryDate: props.minimumExpiryDate,\n onAdditionalSFConfig: props.onAdditionalSFConfig,\n onAdditionalSFRemoved: props.onAdditionalSFRemoved,\n onAllValid: props.onAllValid,\n onAutoComplete: props.onAutoComplete,\n onBinValue: props.onBinValue,\n onBrand: props.onBrand,\n // onChange // set directly\n onConfigSuccess: props.onConfigSuccess,\n handleKeyPress: props.handleKeyPress,\n onError: props.onError,\n onFieldValid: props.onFieldValid,\n onFocus: props.onFocus,\n onLoad: props.onLoad,\n // render // set directly\n rootNode: props.rootNode,\n showWarnings: props.showWarnings,\n styles: props.styles,\n trimTrailingSeparator: props.trimTrailingSeparator,\n resources: props.resources,\n maskSecurityCode: props.maskSecurityCode,\n placeholders: props.placeholders\n };\n};\n"],"names":["CustomCardInput","props","sfp","useRef","errors","setErrors","useState","valid","setValid","data","setData","isSfpValid","setIsSfpValid","issuingCountryCode","setIssuingCountryCode","dualBrandSelectElements","setDualBrandSelectElements","selectedBrandValue","setSelectedBrandValue","extensions","useMemo","SFExtensions","this","processBinLookupResponse","binLookupResponse","isReset","processBinLookup","dualBrandingChangeHandler","handleDualBrandSelection","useEffect","setFocusOn","current","updateStyles","showValidation","handleUnsupportedCard","destroy","sfStateErrorsObj","mapErrorsToValidationRuleResult","mappedErrors","onChange","isValid","Object","keys","length","validationErrors","entries","map","fieldType","error","rootNode","onValidationError","h","SecuredFieldsProvider","ref","extractPropsForSFP","type","brand","sfState","render","defaultProps","onError","autoFocus","brands","brandsConfiguration","clientKey","i18n","implementationType","keypadFix","legacyInputMode","loadingContext","minimumExpiryDate","onAdditionalSFConfig","onAdditionalSFRemoved","onAllValid","onAutoComplete","onBinValue","onBrand","onConfigSuccess","handleKeyPress","onFieldValid","onFocus","onLoad","showWarnings","styles","trimTrailingSeparator","resources","maskSecurityCode","placeholders"],"mappings":"qUAsDA,SAASA,EAAgBC,GACrB,MAAMC,EAAMC,EAAO,OAEZC,EAAQC,GAAaC,EAAS,CAAC,IAC/BC,EAAOC,GAAYF,EAAS,CAAC,IAC7BG,EAAMC,GAAWJ,EAAS,CAAC,IAE3BK,EAAYC,GAAiBN,GAAS,IAEtCO,EAAoBC,GAAyBR,EAAS,OAEtDS,EAAyBC,GAA8BV,EAAS,KAChEW,EAAoBC,GAAyBZ,EAAS,IAWvDa,EAAaC,GACf,IACIC,EACIpB,EACA,CAAEC,OACF,CAAEa,0BAAyBC,6BAA4BE,wBAAuBL,qBAAoBC,2BAE1G,CAACC,EAAyBF,IA6D9B,OAvDAS,KAAKC,yBAA2B,CAACC,EAAsCC,KACnEN,EAAWO,iBAAiBF,EAAmBC,EAAAA,EAGnDH,KAAKK,0BAA4BR,EAAWS,yBAK5CC,GAAU,KAENP,KAAKQ,WAAa5B,EAAI6B,QAAQD,WAC9BR,KAAKU,aAAe9B,EAAI6B,QAAQC,aAChCV,KAAKW,eAAiB/B,EAAI6B,QAAQE,eAClCX,KAAKY,sBAAwBhC,EAAI6B,QAAQG,sBAGlC,KACHhC,EAAI6B,QAAQI,SAAO,IAExB,IAKHN,GAAU,KACN,MAAMO,EAAmBlC,EAAI6B,QAAQM,kCAE/BC,EAAe,IAAKlC,KAAWgC,GAWrC,GATAnC,EAAMsC,SAAS,CACX9B,OACAF,QACAH,OAAQkC,EACRE,QAAS7B,EACTM,uBAIAwB,OAAOC,KAAKJ,GAAcK,OAAQ,CAClC,MAAMC,EAAsCH,OAAOI,QAAQP,GAAcQ,KAAI,EAAEC,EAAWC,MACtD,CAC5BD,eACIC,GAA6B,CAAEA,MAAO,GAAIC,SAAU3B,KAAKrB,MAAMgD,cAI3E3B,KAAKrB,MAAMiD,oBAAoBN,EACnC,IACD,CAACnC,EAAMF,EAAOH,EAAQa,IAOrBkC,EAACC,EAAAA,CACGC,IAAKnD,KACDoD,EAAmBrD,GACvBsD,KAAMtD,EAAMuD,MACZjB,SAlF2BkB,IAC/B/C,EAAQ,IAAKD,KAASgD,EAAQhD,OAC9BJ,EAAU,IAAKD,KAAWqD,EAAQrD,SAClCI,EAAS,IAAKD,KAAUkD,EAAQlD,QAEhCK,EAAc6C,EAAQ9C,WAAU,EA8E5B+C,OAAQ,IAAM,MAG1B,CAEA1D,EAAgB2D,aA5GK,CACjBpB,SAAU,OACVqB,QAAS,OACTV,kBAAmB,QA6GvB,MAAMI,EAAsBrD,IACjB,CACH4D,UAAW5D,EAAM4D,UACjBC,OAAQ7D,EAAM6D,OACdC,oBAAqB9D,EAAM8D,oBAC3BC,UAAW/D,EAAM+D,UAEjBC,KAAMhE,EAAMgE,KACZC,mBAAoBjE,EAAMiE,mBAC1BC,UAAWlE,EAAMkE,UACjBC,gBAAiBnE,EAAMmE,gBACvBC,eAAgBpE,EAAMoE,eACtBC,kBAAmBrE,EAAMqE,kBACzBC,qBAAsBtE,EAAMsE,qBAC5BC,sBAAuBvE,EAAMuE,sBAC7BC,WAAYxE,EAAMwE,WAClBC,eAAgBzE,EAAMyE,eACtBC,WAAY1E,EAAM0E,WAClBC,QAAS3E,EAAM2E,QAEfC,gBAAiB5E,EAAM4E,gBACvBC,eAAgB7E,EAAM6E,eACtBlB,QAAS3D,EAAM2D,QACfmB,aAAc9E,EAAM8E,aACpBC,QAAS/E,EAAM+E,QACfC,OAAQhF,EAAMgF,OAEdhC,SAAUhD,EAAMgD,SAChBiC,aAAcjF,EAAMiF,aACpBC,OAAQlF,EAAMkF,OACdC,sBAAuBnF,EAAMmF,sBAC7BC,UAAWpF,EAAMoF,UACjBC,iBAAkBrF,EAAMqF,iBACxBC,aAActF,EAAMsF"}
1
+ {"version":3,"file":"CustomCardInput.js","sources":["../../../../../src/components/CustomCard/CustomCardInput/CustomCardInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef, useMemo } from 'preact/hooks';\nimport Language from '../../../language/Language';\nimport SecuredFieldsProvider from '../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport { SFPState } from '../../internal/SecuredFields/SFP/types';\nimport { BinLookupResponse, CardBrandsConfiguration } from '../../Card/types';\nimport SFExtensions from '../../internal/SecuredFields/binLookup/extensions';\nimport { StylesObject } from '../../internal/SecuredFields/lib/types';\nimport { Resources } from '../../../core/Context/Resources';\nimport { Placeholders, SFError } from '../../Card/components/CardInput/types';\nimport { ValidationError } from '../types';\n\ninterface SecuredFieldsProps {\n autoFocus?: boolean;\n brand?: string;\n brands?: string[];\n brandsConfiguration?: CardBrandsConfiguration;\n clientKey?: string;\n countryCode?: string;\n forceCompat?: boolean;\n i18n: Language;\n implementationType?: string;\n keypadFix?: boolean;\n loadingContext?: string;\n legacyInputMode?: boolean;\n minimumExpiryDate?: string;\n onAdditionalSFConfig?: () => {};\n onAdditionalSFRemoved?: () => {};\n onAllValid?: () => {};\n onAutoComplete?: () => {};\n onBinValue?: () => {};\n onBrand?: () => {};\n onConfigSuccess?: () => {};\n onChange: (data) => void;\n handleKeyPress?: (obj: KeyboardEvent) => void;\n onError?: () => {};\n onFieldValid?: () => {};\n onFocus?: (e) => {};\n onLoad?: () => {};\n placeholders?: Placeholders;\n rootNode: HTMLElement;\n resources: Resources;\n showWarnings?: boolean;\n styles?: StylesObject;\n trimTrailingSeparator?: boolean;\n type: string;\n maskSecurityCode?: boolean;\n}\n\nconst defaultProps = {\n onChange: () => {},\n onError: () => {},\n onValidationError: () => {}\n};\n\nfunction CustomCardInput(props: SecuredFieldsProps) {\n const sfp = useRef(null);\n\n const [errors, setErrors] = useState({});\n const [valid, setValid] = useState({});\n const [data, setData] = useState({});\n\n const [isSfpValid, setIsSfpValid] = useState(false);\n\n const [issuingCountryCode, setIssuingCountryCode] = useState(null);\n\n const [dualBrandSelectElements, setDualBrandSelectElements] = useState([]);\n const [selectedBrandValue, setSelectedBrandValue] = useState('');\n\n const handleSecuredFieldsChange = (sfState: SFPState): void => {\n setData({ ...data, ...sfState.data });\n setErrors({ ...errors, ...sfState.errors });\n setValid({ ...valid, ...sfState.valid });\n\n setIsSfpValid(sfState.isSfpValid);\n };\n\n // Farm the handlers for binLookup related functionality out to another 'extensions' file\n const extensions = useMemo(\n () =>\n SFExtensions(\n props,\n { sfp },\n { dualBrandSelectElements, setDualBrandSelectElements, setSelectedBrandValue, issuingCountryCode, setIssuingCountryCode }\n ),\n [dualBrandSelectElements, issuingCountryCode]\n );\n\n /**\n * EXPECTED METHODS ON SecuredFields.this\n */\n this.processBinLookupResponse = (binLookupResponse: BinLookupResponse, isReset: boolean) => {\n extensions.processBinLookup(binLookupResponse, isReset);\n };\n\n this.dualBrandingChangeHandler = extensions.handleDualBrandSelection;\n\n /**\n * EFFECT HOOKS\n */\n useEffect(() => {\n // componentDidMount\n this.setFocusOn = sfp.current.setFocusOn;\n this.updateStyles = sfp.current.updateStyles;\n this.showValidation = sfp.current.showValidation;\n this.handleUnsupportedCard = sfp.current.handleUnsupportedCard;\n\n // componentWillUnmount\n return () => {\n sfp.current.destroy();\n };\n }, []);\n\n /**\n * Main 'componentDidUpdate' handler\n */\n useEffect(() => {\n const sfStateErrorsObj = sfp.current.mapErrorsToValidationRuleResult();\n\n const mappedErrors = { ...errors, ...sfStateErrorsObj }; // maps sfErrors\n\n props.onChange({\n data,\n valid,\n errors: mappedErrors,\n isValid: isSfpValid,\n selectedBrandValue\n });\n\n // Create an array of Validation error objects and send to callback\n if (Object.keys(mappedErrors).length) {\n const validationErrors: ValidationError[] = Object.entries(mappedErrors).map(([fieldType, error]) => {\n const valErr: ValidationError = {\n fieldType,\n ...(error ? (error as SFError) : { error: '', rootNode: this.props.rootNode })\n };\n return valErr;\n });\n this.props.onValidationError?.(validationErrors);\n }\n }, [data, valid, errors, selectedBrandValue]);\n\n /**\n * RENDER\n */\n // prettier-ignore\n return (\n <SecuredFieldsProvider\n ref={sfp}\n {...extractPropsForSFP(props)}\n type={props.brand}\n onChange={handleSecuredFieldsChange}\n render={() => null}\n />\n );\n}\n\nCustomCardInput.defaultProps = defaultProps;\n\nexport default CustomCardInput;\n\nconst extractPropsForSFP = (props: SecuredFieldsProps) => {\n return {\n autoFocus: props.autoFocus,\n brands: props.brands,\n brandsConfiguration: props.brandsConfiguration,\n clientKey: props.clientKey,\n forceCompat: props.forceCompat,\n // countryCode: props.countryCode, // only used for korean cards when koreanAuthenticationRequired is true\n i18n: props.i18n,\n implementationType: props.implementationType,\n keypadFix: props.keypadFix,\n legacyInputMode: props.legacyInputMode,\n loadingContext: props.loadingContext,\n minimumExpiryDate: props.minimumExpiryDate,\n onAdditionalSFConfig: props.onAdditionalSFConfig,\n onAdditionalSFRemoved: props.onAdditionalSFRemoved,\n onAllValid: props.onAllValid,\n onAutoComplete: props.onAutoComplete,\n onBinValue: props.onBinValue,\n onBrand: props.onBrand,\n // onChange // set directly\n onConfigSuccess: props.onConfigSuccess,\n handleKeyPress: props.handleKeyPress,\n onError: props.onError,\n onFieldValid: props.onFieldValid,\n onFocus: props.onFocus,\n onLoad: props.onLoad,\n // render // set directly\n rootNode: props.rootNode,\n showWarnings: props.showWarnings,\n styles: props.styles,\n trimTrailingSeparator: props.trimTrailingSeparator,\n resources: props.resources,\n maskSecurityCode: props.maskSecurityCode,\n placeholders: props.placeholders\n };\n};\n"],"names":["CustomCardInput","props","sfp","useRef","errors","setErrors","useState","valid","setValid","data","setData","isSfpValid","setIsSfpValid","issuingCountryCode","setIssuingCountryCode","dualBrandSelectElements","setDualBrandSelectElements","selectedBrandValue","setSelectedBrandValue","extensions","useMemo","SFExtensions","this","processBinLookupResponse","binLookupResponse","isReset","processBinLookup","dualBrandingChangeHandler","handleDualBrandSelection","useEffect","setFocusOn","current","updateStyles","showValidation","handleUnsupportedCard","destroy","sfStateErrorsObj","mapErrorsToValidationRuleResult","mappedErrors","onChange","isValid","Object","keys","length","validationErrors","entries","map","fieldType","error","rootNode","onValidationError","h","SecuredFieldsProvider","ref","extractPropsForSFP","type","brand","sfState","render","defaultProps","onError","autoFocus","brands","brandsConfiguration","clientKey","forceCompat","i18n","implementationType","keypadFix","legacyInputMode","loadingContext","minimumExpiryDate","onAdditionalSFConfig","onAdditionalSFRemoved","onAllValid","onAutoComplete","onBinValue","onBrand","onConfigSuccess","handleKeyPress","onFieldValid","onFocus","onLoad","showWarnings","styles","trimTrailingSeparator","resources","maskSecurityCode","placeholders"],"mappings":"qUAuDA,SAASA,EAAgBC,GACrB,MAAMC,EAAMC,EAAO,OAEZC,EAAQC,GAAaC,EAAS,CAAA,IAC9BC,EAAOC,GAAYF,EAAS,CAAA,IAC5BG,EAAMC,GAAWJ,EAAS,CAAA,IAE1BK,EAAYC,GAAiBN,GAAS,IAEtCO,EAAoBC,GAAyBR,EAAS,OAEtDS,EAAyBC,GAA8BV,EAAS,KAChEW,EAAoBC,GAAyBZ,EAAS,IAWvDa,EAAaC,GACf,IACIC,EACIpB,EACA,CAAEC,OACF,CAAEa,0BAAyBC,6BAA4BE,wBAAuBL,qBAAoBC,2BAE1G,CAACC,EAAyBF,IA6D9B,OAvDAS,KAAKC,yBAA2B,CAACC,EAAsCC,KACnEN,EAAWO,iBAAiBF,EAAmBC,EAAAA,EAGnDH,KAAKK,0BAA4BR,EAAWS,yBAK5CC,GAAU,KAENP,KAAKQ,WAAa5B,EAAI6B,QAAQD,WAC9BR,KAAKU,aAAe9B,EAAI6B,QAAQC,aAChCV,KAAKW,eAAiB/B,EAAI6B,QAAQE,eAClCX,KAAKY,sBAAwBhC,EAAI6B,QAAQG,sBAGlC,KACHhC,EAAI6B,QAAQI,SAAO,IAExB,IAKHN,GAAU,KACN,MAAMO,EAAmBlC,EAAI6B,QAAQM,kCAE/BC,EAAe,IAAKlC,KAAWgC,GAWrC,GATAnC,EAAMsC,SAAS,CACX9B,OACAF,QACAH,OAAQkC,EACRE,QAAS7B,EACTM,uBAIAwB,OAAOC,KAAKJ,GAAcK,OAAQ,CAClC,MAAMC,EAAsCH,OAAOI,QAAQP,GAAcQ,KAAI,EAAEC,EAAWC,MACtD,CAC5BD,eACIC,GAA6B,CAAEA,MAAO,GAAIC,SAAU3B,KAAKrB,MAAMgD,cAI3E3B,KAAKrB,MAAMiD,oBAAoBN,EACnC,IACD,CAACnC,EAAMF,EAAOH,EAAQa,IAOrBkC,EAACC,EAAAA,CACGC,IAAKnD,KACDoD,EAAmBrD,GACvBsD,KAAMtD,EAAMuD,MACZjB,SAlF2BkB,IAC/B/C,EAAQ,IAAKD,KAASgD,EAAQhD,OAC9BJ,EAAU,IAAKD,KAAWqD,EAAQrD,SAClCI,EAAS,IAAKD,KAAUkD,EAAQlD,QAEhCK,EAAc6C,EAAQ9C,WAAU,EA8E5B+C,OAAQ,IAAM,MAG1B,CAEA1D,EAAgB2D,aA5GK,CACjBpB,SAAU,OACVqB,QAAS,OACTV,kBAAmB,QA6GvB,MAAMI,EAAsBrD,IACjB,CACH4D,UAAW5D,EAAM4D,UACjBC,OAAQ7D,EAAM6D,OACdC,oBAAqB9D,EAAM8D,oBAC3BC,UAAW/D,EAAM+D,UACjBC,YAAahE,EAAMgE,YAEnBC,KAAMjE,EAAMiE,KACZC,mBAAoBlE,EAAMkE,mBAC1BC,UAAWnE,EAAMmE,UACjBC,gBAAiBpE,EAAMoE,gBACvBC,eAAgBrE,EAAMqE,eACtBC,kBAAmBtE,EAAMsE,kBACzBC,qBAAsBvE,EAAMuE,qBAC5BC,sBAAuBxE,EAAMwE,sBAC7BC,WAAYzE,EAAMyE,WAClBC,eAAgB1E,EAAM0E,eACtBC,WAAY3E,EAAM2E,WAClBC,QAAS5E,EAAM4E,QAEfC,gBAAiB7E,EAAM6E,gBACvBC,eAAgB9E,EAAM8E,eACtBnB,QAAS3D,EAAM2D,QACfoB,aAAc/E,EAAM+E,aACpBC,QAAShF,EAAMgF,QACfC,OAAQjF,EAAMiF,OAEdjC,SAAUhD,EAAMgD,SAChBkC,aAAclF,EAAMkF,aACpBC,OAAQnF,EAAMmF,OACdC,sBAAuBpF,EAAMoF,sBAC7BC,UAAWrF,EAAMqF,UACjBC,iBAAkBtF,EAAMsF,iBACxBC,aAAcvF,EAAMuF"}
@@ -1 +1 @@
1
- {"version":3,"file":"DokuInput.js","sources":["../../../../../../src/components/Doku/components/DokuInput/DokuInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useRef, useState } from 'preact/hooks';\nimport PersonalDetails from '../../../internal/PersonalDetails/PersonalDetails';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\n\nexport default function DokuInput(props) {\n const personalDetailsRef = useRef(null);\n const setPersonalDetailsRef = ref => {\n personalDetailsRef.current = ref;\n };\n\n const { i18n } = useCoreContext();\n\n const [status, setStatus] = useState('ready');\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const dokuRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(dokuRef.current).length) {\n props.setComponentRef?.(dokuRef.current);\n }\n\n dokuRef.current.showValidation = () => {\n personalDetailsRef.current?.showValidation();\n };\n\n dokuRef.current.setStatus = setStatus;\n\n return (\n <div className=\"adyen-checkout__doku-input__field\">\n <FormInstruction />\n\n <PersonalDetails\n data={props.data}\n requiredFields={['firstName', 'lastName', 'shopperEmail']}\n onChange={props.onChange}\n namePrefix=\"doku\"\n setComponentRef={setPersonalDetailsRef}\n />\n\n {props.showPayButton && props.payButton({ status, label: i18n.get('confirmPurchase') })}\n </div>\n );\n}\n"],"names":["DokuInput","props","personalDetailsRef","useRef","i18n","useCoreContext","status","setStatus","useState","dokuRef","Object","keys","current","length","setComponentRef","showValidation","h","div","className","FormInstruction","PersonalDetails","data","requiredFields","onChange","namePrefix","ref","showPayButton","payButton","label","get"],"mappings":"oXAOe,SAASA,EAAUC,GAC9B,MAAMC,EAAqBC,EAAO,OAK5BC,KAAEA,GAASC,KAEVC,EAAQC,GAAaC,EAAS,SAG/BC,EAAUN,EAA4B,CAAA,GAY5C,OAVKO,OAAOC,KAAKF,EAAQG,SAASC,QAC9BZ,EAAMa,kBAAkBL,EAAQG,SAGpCH,EAAQG,QAAQG,eAAiB,KAC7Bb,EAAmBU,SAASG,gBAAAA,EAGhCN,EAAQG,QAAQL,UAAYA,EAGxBS,EAACC,MAAAA,CAAIC,UAAU,qCACXF,EAACG,QAEDH,EAACI,EAAAA,CACGC,KAAMpB,EAAMoB,KACZC,eAAgB,CAAC,YAAa,WAAY,gBAC1CC,SAAUtB,EAAMsB,SAChBC,WAAW,OACXV,gBA9BkBW,IAC1BvB,EAAmBU,QAAUa,CAAAA,IAgCxBxB,EAAMyB,eAAiBzB,EAAM0B,UAAU,CAAErB,SAAQsB,MAAOxB,EAAKyB,IAAI,qBAG9E"}
1
+ {"version":3,"file":"DokuInput.js","sources":["../../../../../../src/components/Doku/components/DokuInput/DokuInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useRef, useState } from 'preact/hooks';\nimport PersonalDetails from '../../../internal/PersonalDetails/PersonalDetails';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\n\nexport default function DokuInput(props) {\n const personalDetailsRef = useRef(null);\n const setPersonalDetailsRef = ref => {\n personalDetailsRef.current = ref;\n };\n\n const { i18n } = useCoreContext();\n\n const [status, setStatus] = useState('ready');\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const dokuRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(dokuRef.current).length) {\n props.setComponentRef?.(dokuRef.current);\n }\n\n dokuRef.current.showValidation = () => {\n personalDetailsRef.current?.showValidation();\n };\n\n dokuRef.current.setStatus = setStatus;\n\n return (\n <div className=\"adyen-checkout__doku-input__field\">\n <FormInstruction />\n\n <PersonalDetails\n data={props.data}\n requiredFields={['firstName', 'lastName', 'shopperEmail']}\n onChange={props.onChange}\n namePrefix=\"doku\"\n setComponentRef={setPersonalDetailsRef}\n />\n\n {props.showPayButton && props.payButton({ status, label: i18n.get('confirmPurchase') })}\n </div>\n );\n}\n"],"names":["DokuInput","props","personalDetailsRef","useRef","i18n","useCoreContext","status","setStatus","useState","dokuRef","Object","keys","current","length","setComponentRef","showValidation","h","div","className","FormInstruction","PersonalDetails","data","requiredFields","onChange","namePrefix","ref","showPayButton","payButton","label","get"],"mappings":"oXAOe,SAASA,EAAUC,GAC9B,MAAMC,EAAqBC,EAAO,OAK5BC,KAAEA,GAASC,KAEVC,EAAQC,GAAaC,EAAS,SAG/BC,EAAUN,EAA4B,IAY5C,OAVKO,OAAOC,KAAKF,EAAQG,SAASC,QAC9BZ,EAAMa,kBAAkBL,EAAQG,SAGpCH,EAAQG,QAAQG,eAAiB,KAC7Bb,EAAmBU,SAASG,gBAAAA,EAGhCN,EAAQG,QAAQL,UAAYA,EAGxBS,EAACC,MAAAA,CAAIC,UAAU,qCACXF,EAACG,QAEDH,EAACI,EAAAA,CACGC,KAAMpB,EAAMoB,KACZC,eAAgB,CAAC,YAAa,WAAY,gBAC1CC,SAAUtB,EAAMsB,SAChBC,WAAW,OACXV,gBA9BkBW,IAC1BvB,EAAmBU,QAAUa,CAAAA,IAgCxBxB,EAAMyB,eAAiBzB,EAAM0B,UAAU,CAAErB,SAAQsB,MAAOxB,EAAKyB,IAAI,qBAG9E"}
@@ -1 +1 @@
1
- {"version":3,"file":"Dropin.js","sources":["../../../../src/components/Dropin/Dropin.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport defaultProps from './defaultProps';\nimport DropinComponent from '../../components/Dropin/components/DropinComponent';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { getCommonProps } from './components/utils';\nimport { createElements, createStoredElements } from './elements';\nimport createInstantPaymentElements from './elements/createInstantPaymentElements';\nimport { hasOwnProperty } from '../../utils/hasOwnProperty';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport splitPaymentMethods from './elements/splitPaymentMethods';\nimport { TxVariants } from '../tx-variants';\n\nimport type { DropinConfiguration, InstantPaymentTypes, PaymentMethodsConfiguration } from './types';\nimport type { PaymentAction, PaymentResponseData } from '../../types/global-types';\nimport type { ICore } from '../../core/types';\nimport type { IDropin } from './types';\n\nconst SUPPORTED_INSTANT_PAYMENTS = ['paywithgoogle', 'googlepay', 'applepay'];\n\nclass DropinElement extends UIElement<DropinConfiguration> implements IDropin {\n public static type = TxVariants.dropin;\n\n protected static defaultProps = defaultProps;\n\n public dropinRef = null;\n\n private paymentMethodsConfiguration: PaymentMethodsConfiguration;\n /**\n * Reference to the component created from `handleAction` (Ex.: ThreeDS2Challenge)\n */\n public componentFromAction?: UIElement;\n\n constructor(checkout: ICore, props?: DropinConfiguration) {\n super(checkout, props);\n this.submit = this.submit.bind(this);\n this.handleAction = this.handleAction.bind(this);\n\n this.props.paymentMethodComponents.forEach(PaymentMethod => this.core.register(PaymentMethod));\n this.paymentMethodsConfiguration = this.props.paymentMethodsConfiguration || {};\n }\n\n protected override storeElementRefOnCore() {\n this.core.storeElementReference(this);\n }\n\n formatProps(props) {\n return {\n type: 'dropin', // for analytics\n ...super.formatProps(props),\n instantPaymentTypes: Array.from<InstantPaymentTypes>(new Set(props.instantPaymentTypes)).filter(value =>\n SUPPORTED_INSTANT_PAYMENTS.includes(value)\n )\n };\n }\n\n get isValid() {\n return !!this.dropinRef && !!this.dropinRef.state.activePaymentMethod && !!this.dropinRef.state.activePaymentMethod.isValid;\n }\n\n showValidation() {\n if (this.dropinRef.state.activePaymentMethod) {\n this.dropinRef.state.activePaymentMethod.showValidation();\n }\n\n return this;\n }\n\n public setStatus(status, props = {}): this {\n this.dropinRef?.setStatus(status, props);\n return this;\n }\n\n get activePaymentMethod() {\n if (!this.dropinRef?.state && !this.dropinRef?.state.activePaymentMethod) {\n return null;\n }\n\n return this.dropinRef.state.activePaymentMethod;\n }\n\n get data() {\n if (!this.activePaymentMethod) {\n return null;\n }\n\n return this.dropinRef.state.activePaymentMethod.data;\n }\n\n public displayFinalAnimation(type: 'success' | 'error') {\n if (this.props.disableFinalAnimation) return;\n\n this.dropinRef.setStatus(type);\n }\n\n /**\n * Calls the onSubmit event with the state of the activePaymentMethod\n */\n public override submit(): void {\n if (!this.activePaymentMethod) {\n throw new Error('No active payment method.');\n }\n\n if (!this.activePaymentMethod.isValid) {\n this.activePaymentMethod.showValidation();\n }\n\n if (this.activePaymentMethod.isInstantPayment) {\n this.closeActivePaymentMethod();\n }\n\n this.activePaymentMethod.submit();\n }\n\n /**\n * Creates the Drop-in elements\n */\n private handleCreate = () => {\n const { paymentMethodsConfiguration, showStoredPaymentMethods, showPaymentMethods, instantPaymentTypes } = this.props;\n\n const { paymentMethods, storedPaymentMethods, instantPaymentMethods } = splitPaymentMethods(\n this.core.paymentMethodsResponse,\n instantPaymentTypes\n );\n\n const commonProps = getCommonProps({ ...this.props, elementRef: this.elementRef });\n\n const storedElements = showStoredPaymentMethods\n ? createStoredElements(storedPaymentMethods, paymentMethodsConfiguration, commonProps, this.core)\n : [];\n const elements = showPaymentMethods ? createElements(paymentMethods, paymentMethodsConfiguration, commonProps, this.core) : [];\n const instantPaymentElements = createInstantPaymentElements(instantPaymentMethods, paymentMethodsConfiguration, commonProps, this.core);\n\n return [storedElements, elements, instantPaymentElements];\n };\n\n public handleAction(action: PaymentAction, props = {}): this | null {\n if (!action || !action.type) {\n if (hasOwnProperty(action, 'action') && hasOwnProperty(action, 'resultCode')) {\n throw new Error(\n 'handleAction::Invalid Action - the passed action object itself has an \"action\" property and ' +\n 'a \"resultCode\": have you passed in the whole response object by mistake?'\n );\n }\n throw new Error('handleAction::Invalid Action - the passed action object does not have a \"type\" property');\n }\n\n if (action.type !== 'redirect' && this.activePaymentMethod?.updateWithAction) {\n return this.activePaymentMethod.updateWithAction(action);\n }\n\n if (this.elementRef instanceof DropinElement) {\n props = {\n ...this.elementRef.activePaymentMethod?.props,\n ...props\n };\n }\n\n const paymentAction: UIElement = this.core.createFromAction(action, {\n ...props,\n elementRef: this.elementRef, // maintain elementRef for 3DS2 flow\n onAdditionalDetails: this.handleAdditionalDetails,\n isDropin: true\n });\n\n if (paymentAction) {\n this.setStatus(paymentAction.props.statusType, { component: paymentAction });\n this.componentFromAction = paymentAction;\n return this;\n }\n\n return null;\n }\n\n /**\n * handleOrder is implemented so we don't trigger a callback like in the components\n * @param response - PaymentResponse\n */\n protected handleOrder = ({ order }: PaymentResponseData): void => {\n void this.updateParent({ order });\n };\n\n closeActivePaymentMethod() {\n this.dropinRef.closeActivePaymentMethod();\n }\n\n protected handleKeyPress(e: h.JSX.TargetedKeyboardEvent<HTMLInputElement> | KeyboardEvent) {\n if (e.key === 'Enter' || e.code === 'Enter') {\n // If the active element has role=\"radio\", we're on a header in the PMList, in which case we don't want to validate the form, or, prevent the default behaviour\n const isPMHeader = document?.activeElement?.getAttribute('role') === 'radio';\n if (isPMHeader) {\n return;\n }\n super.handleKeyPress(e);\n }\n }\n\n protected onEnterKeyPressed(activeElement: Element, component: UIElement) {\n // We want to have a ref to the activePM, if we can; not a ref to the Dropin\n const pmComponent = this.activePaymentMethod ?? component;\n this.activePaymentMethod?.onEnterKeyPressed(activeElement, pmComponent);\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <DropinComponent\n {...this.props}\n core={this.core}\n elementRef={this.elementRef}\n onCreateElements={this.handleCreate}\n ref={dropinRef => {\n this.dropinRef = dropinRef;\n }}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n}\n\nexport default DropinElement;\n"],"names":["SUPPORTED_INSTANT_PAYMENTS","DropinElement","UIElement","storeElementRefOnCore","this","core","storeElementReference","formatProps","props","type","super","instantPaymentTypes","Array","from","Set","filter","value","includes","isValid","dropinRef","state","activePaymentMethod","showValidation","setStatus","status","data","displayFinalAnimation","disableFinalAnimation","submit","Error","isInstantPayment","closeActivePaymentMethod","handleAction","action","hasOwnProperty","updateWithAction","elementRef","paymentAction","createFromAction","onAdditionalDetails","handleAdditionalDetails","isDropin","statusType","component","componentFromAction","handleKeyPress","e","key","code","document","activeElement","getAttribute","onEnterKeyPressed","pmComponent","render","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","DropinComponent","onCreateElements","handleCreate","ref","constructor","checkout","_define_property","paymentMethodsConfiguration","showStoredPaymentMethods","showPaymentMethods","paymentMethods","storedPaymentMethods","instantPaymentMethods","splitPaymentMethods","paymentMethodsResponse","commonProps","getCommonProps","createStoredElements","createElements","createInstantPaymentElements","handleOrder","order","updateParent","bind","paymentMethodComponents","forEach","PaymentMethod","register","TxVariants","dropin","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"Dropin.js","sources":["../../../../src/components/Dropin/Dropin.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport defaultProps from './defaultProps';\nimport DropinComponent from '../../components/Dropin/components/DropinComponent';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { getCommonProps } from './components/utils';\nimport { createElements, createStoredElements } from './elements';\nimport createInstantPaymentElements from './elements/createInstantPaymentElements';\nimport { hasOwnProperty } from '../../utils/hasOwnProperty';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport splitPaymentMethods from './elements/splitPaymentMethods';\nimport { TxVariants } from '../tx-variants';\n\nimport type { DropinConfiguration, InstantPaymentTypes, PaymentMethodsConfiguration } from './types';\nimport type { PaymentAction, PaymentResponseData } from '../../types/global-types';\nimport type { ICore } from '../../core/types';\nimport type { IDropin } from './types';\n\nconst SUPPORTED_INSTANT_PAYMENTS = ['paywithgoogle', 'googlepay', 'applepay'];\n\nclass DropinElement extends UIElement<DropinConfiguration> implements IDropin {\n public static type = TxVariants.dropin;\n\n protected static defaultProps = defaultProps;\n\n public dropinRef = null;\n\n private paymentMethodsConfiguration: PaymentMethodsConfiguration;\n /**\n * Reference to the component created from `handleAction` (Ex.: ThreeDS2Challenge)\n */\n public componentFromAction?: UIElement;\n\n constructor(checkout: ICore, props?: DropinConfiguration) {\n super(checkout, props);\n this.submit = this.submit.bind(this);\n this.handleAction = this.handleAction.bind(this);\n\n this.props.paymentMethodComponents.forEach(PaymentMethod => this.core.register(PaymentMethod));\n this.paymentMethodsConfiguration = this.props.paymentMethodsConfiguration || {};\n }\n\n protected override storeElementRefOnCore() {\n this.core.storeElementReference(this);\n }\n\n formatProps(props) {\n return {\n type: 'dropin', // for analytics\n ...super.formatProps(props),\n instantPaymentTypes: Array.from<InstantPaymentTypes>(new Set(props.instantPaymentTypes)).filter(value =>\n SUPPORTED_INSTANT_PAYMENTS.includes(value)\n )\n };\n }\n\n get isValid() {\n return !!this.dropinRef && !!this.dropinRef.state.activePaymentMethod && !!this.dropinRef.state.activePaymentMethod.isValid;\n }\n\n showValidation() {\n if (this.dropinRef.state.activePaymentMethod) {\n this.dropinRef.state.activePaymentMethod.showValidation();\n }\n\n return this;\n }\n\n public setStatus(status, props = {}): this {\n this.dropinRef?.setStatus(status, props);\n return this;\n }\n\n get activePaymentMethod() {\n if (!this.dropinRef?.state && !this.dropinRef?.state.activePaymentMethod) {\n return null;\n }\n\n return this.dropinRef.state.activePaymentMethod;\n }\n\n get data() {\n if (!this.activePaymentMethod) {\n return null;\n }\n\n return this.dropinRef.state.activePaymentMethod.data;\n }\n\n public displayFinalAnimation(type: 'success' | 'error') {\n if (this.props.disableFinalAnimation) return;\n\n this.dropinRef.setStatus(type);\n }\n\n /**\n * Calls the onSubmit event with the state of the activePaymentMethod\n */\n public override submit(): void {\n if (!this.activePaymentMethod) {\n throw new Error('No active payment method.');\n }\n\n if (!this.activePaymentMethod.isValid) {\n this.activePaymentMethod.showValidation();\n }\n\n if (this.activePaymentMethod.isInstantPayment) {\n this.closeActivePaymentMethod();\n }\n\n this.activePaymentMethod.submit();\n }\n\n /**\n * Creates the Drop-in elements\n */\n private handleCreate = () => {\n const { paymentMethodsConfiguration, showStoredPaymentMethods, showPaymentMethods, instantPaymentTypes } = this.props;\n\n const { paymentMethods, storedPaymentMethods, instantPaymentMethods } = splitPaymentMethods(\n this.core.paymentMethodsResponse,\n instantPaymentTypes\n );\n\n const commonProps = getCommonProps({ ...this.props, elementRef: this.elementRef });\n\n const storedElements = showStoredPaymentMethods\n ? createStoredElements(storedPaymentMethods, paymentMethodsConfiguration, commonProps, this.core)\n : [];\n const elements = showPaymentMethods ? createElements(paymentMethods, paymentMethodsConfiguration, commonProps, this.core) : [];\n const instantPaymentElements = createInstantPaymentElements(instantPaymentMethods, paymentMethodsConfiguration, commonProps, this.core);\n\n return [storedElements, elements, instantPaymentElements];\n };\n\n public handleAction(action: PaymentAction, props = {}): this | null {\n if (!action || !action.type) {\n if (hasOwnProperty(action, 'action') && hasOwnProperty(action, 'resultCode')) {\n throw new Error(\n 'handleAction::Invalid Action - the passed action object itself has an \"action\" property and ' +\n 'a \"resultCode\": have you passed in the whole response object by mistake?'\n );\n }\n throw new Error('handleAction::Invalid Action - the passed action object does not have a \"type\" property');\n }\n\n if (action.type !== 'redirect' && this.activePaymentMethod?.updateWithAction) {\n return this.activePaymentMethod.updateWithAction(action);\n }\n\n if (this.elementRef instanceof DropinElement) {\n props = {\n ...this.elementRef.activePaymentMethod?.props,\n ...props\n };\n }\n\n const paymentAction: UIElement = this.core.createFromAction(action, {\n ...props,\n elementRef: this.elementRef, // maintain elementRef for 3DS2 flow\n onAdditionalDetails: this.handleAdditionalDetails,\n isDropin: true\n });\n\n if (paymentAction) {\n this.setStatus(paymentAction.props.statusType, { component: paymentAction });\n this.componentFromAction = paymentAction;\n return this;\n }\n\n return null;\n }\n\n /**\n * handleOrder is implemented so we don't trigger a callback like in the components\n * @param response - PaymentResponse\n */\n protected handleOrder = ({ order }: PaymentResponseData): void => {\n void this.updateParent({ order });\n };\n\n closeActivePaymentMethod() {\n this.dropinRef.closeActivePaymentMethod();\n }\n\n protected handleKeyPress(e: h.JSX.TargetedKeyboardEvent<HTMLInputElement> | KeyboardEvent) {\n if (e.key === 'Enter' || e.code === 'Enter') {\n // If the active element has role=\"radio\", we're on a header in the PMList, in which case we don't want to validate the form, or, prevent the default behaviour\n const isPMHeader = document?.activeElement?.getAttribute('role') === 'radio';\n if (isPMHeader) {\n return;\n }\n super.handleKeyPress(e);\n }\n }\n\n protected onEnterKeyPressed(activeElement: Element, component: UIElement) {\n // We want to have a ref to the activePM, if we can; not a ref to the Dropin\n const pmComponent = this.activePaymentMethod ?? component;\n this.activePaymentMethod?.onEnterKeyPressed(activeElement, pmComponent);\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <DropinComponent\n {...this.props}\n core={this.core}\n elementRef={this.elementRef}\n onCreateElements={this.handleCreate}\n ref={dropinRef => {\n this.dropinRef = dropinRef;\n }}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n}\n\nexport default DropinElement;\n"],"names":["SUPPORTED_INSTANT_PAYMENTS","DropinElement","UIElement","storeElementRefOnCore","this","core","storeElementReference","formatProps","props","type","super","instantPaymentTypes","Array","from","Set","filter","value","includes","isValid","dropinRef","state","activePaymentMethod","showValidation","setStatus","status","data","displayFinalAnimation","disableFinalAnimation","submit","Error","isInstantPayment","closeActivePaymentMethod","handleAction","action","hasOwnProperty","updateWithAction","elementRef","paymentAction","createFromAction","onAdditionalDetails","handleAdditionalDetails","isDropin","statusType","component","componentFromAction","handleKeyPress","e","key","code","document","activeElement","getAttribute","onEnterKeyPressed","pmComponent","render","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","DropinComponent","onCreateElements","handleCreate","ref","constructor","checkout","_define_property","paymentMethodsConfiguration","showStoredPaymentMethods","showPaymentMethods","paymentMethods","storedPaymentMethods","instantPaymentMethods","splitPaymentMethods","paymentMethodsResponse","commonProps","getCommonProps","createStoredElements","createElements","createInstantPaymentElements","handleOrder","order","updateParent","bind","paymentMethodComponents","forEach","PaymentMethod","register","TxVariants","dropin","defaultProps"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DropinComponent.js","sources":["../../../../../src/components/Dropin/components/DropinComponent.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport PaymentMethodList from './PaymentMethod/PaymentMethodList';\nimport Status from './status';\nimport getOrderStatus from '../../../core/Services/order-status';\nimport { DropinComponentProps, DropinComponentState, DropinStatusProps, onOrderCancelData } from '../types';\nimport './DropinComponent.scss';\nimport { UIElementStatus } from '../../internal/UIElement/types';\nimport { sanitizeOrder } from '../../internal/UIElement/utils';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { ANALYTICS_RENDERED_STR } from '../../../core/Analytics/constants';\nimport AdyenCheckoutError from '../../../core/Errors/AdyenCheckoutError';\nimport UIElement from '../../internal/UIElement';\n\nexport class DropinComponent extends Component<DropinComponentProps, DropinComponentState> {\n public state: DropinComponentState = {\n elements: [],\n instantPaymentElements: [],\n storedPaymentElements: [],\n orderStatus: null,\n isDisabling: false,\n status: { type: 'loading', props: undefined },\n activePaymentMethod: null,\n cachedPaymentMethods: {}\n };\n\n componentDidMount() {\n this.prepareDropinData();\n }\n\n public prepareDropinData = () => {\n const { order, clientKey, loadingContext } = this.props;\n const [storedElementsPromises, elementsPromises, instantPaymentsPromises] = this.props.onCreateElements();\n const orderStatusPromise = order ? getOrderStatus({ clientKey, loadingContext }, order) : null;\n\n void Promise.all([storedElementsPromises, elementsPromises, instantPaymentsPromises, orderStatusPromise]).then(\n ([storedPaymentElements, elements, instantPaymentElements, orderStatus]) => {\n this.setState({ instantPaymentElements, elements, storedPaymentElements, orderStatus });\n this.setStatus('ready');\n\n this.props.modules?.analytics.sendAnalytics('dropin', {\n type: ANALYTICS_RENDERED_STR,\n configData: this.analyticConfigData\n });\n }\n );\n\n this.onOrderCancel = this.getOnOrderCancel();\n };\n\n get analyticConfigData() {\n return {\n openFirstStoredPaymentMethod: this.props.openFirstStoredPaymentMethod,\n showStoredPaymentMethods: this.props.showStoredPaymentMethods\n };\n }\n\n public setStatus = (status: UIElementStatus, props: DropinStatusProps = {}) => {\n this.setState({ status: { type: status, props } });\n };\n\n private setActivePaymentMethod = (paymentMethod: UIElement): void => {\n if (paymentMethod === this.state.activePaymentMethod) {\n return;\n }\n\n this.setState(prevState => ({\n activePaymentMethod: paymentMethod,\n cachedPaymentMethods: { ...prevState.cachedPaymentMethods, [paymentMethod._id]: true }\n }));\n\n if (this.state.cachedPaymentMethods[paymentMethod._id]) {\n paymentMethod.activate();\n }\n };\n\n componentDidUpdate(prevProps, prevState) {\n if (prevState.status.type !== this.state.status.type && this.state.activePaymentMethod) {\n this.state.activePaymentMethod.setStatus(this.state.status.type);\n }\n\n if (this.state.status.type === 'ready' && prevState.status.type !== 'ready' && this.props.onReady) {\n this.props.onReady();\n }\n }\n\n private handleOnSelectPaymentMethod = paymentMethod => {\n const { activePaymentMethod } = this.state;\n\n this.setActivePaymentMethod(paymentMethod);\n\n // onSelect event\n if ((activePaymentMethod && activePaymentMethod._id !== paymentMethod._id) || !activePaymentMethod) {\n this.props.onSelect?.(paymentMethod);\n\n paymentMethod.submitAnalytics({ type: ANALYTICS_RENDERED_STR });\n }\n };\n\n private handleDisableStoredPaymentMethod = storedPaymentMethod => {\n this.setState({ isDisabling: true });\n\n new Promise((resolve, reject) => this.props.onDisableStoredPaymentMethod(storedPaymentMethod.props.storedPaymentMethodId, resolve, reject))\n .then(() => {\n this.setState(prevState => ({\n storedPaymentElements: prevState.storedPaymentElements.filter(pm => pm._id !== storedPaymentMethod._id)\n }));\n this.setState({ isDisabling: false });\n })\n .catch(() => {\n this.setState({ isDisabling: false });\n });\n };\n\n closeActivePaymentMethod() {\n this.setState({ activePaymentMethod: null });\n }\n\n /**\n * getOnOrderCancel decides which onOrderCancel logic should be used, manual or sessions\n */\n private getOnOrderCancel = () => {\n if (this.props.onOrderCancel) {\n return (data: onOrderCancelData) => {\n const order = sanitizeOrder(data.order);\n new Promise<{ amount: PaymentAmount }>((resolve, reject) => {\n this.props.onOrderCancel({ order }, { resolve, reject });\n })\n .then(({ amount }) => this.props.elementRef.handleAdvanceFlowPaymentMethodsUpdate(null, amount))\n .catch(error => {\n throw new AdyenCheckoutError('NETWORK_ERROR', error);\n });\n };\n }\n if (this.props.session) {\n return (data: onOrderCancelData) =>\n this.props.session\n .cancelOrder(data)\n .then(() => this.props.core.update({ order: null }))\n .catch(error => {\n console.error(error);\n this.setStatus(error?.message || 'error');\n });\n }\n return null;\n };\n\n private onOrderCancel: (data: onOrderCancelData) => void;\n\n render(props, { elements, instantPaymentElements, storedPaymentElements, status, activePaymentMethod, cachedPaymentMethods }) {\n const isLoading = status.type === 'loading';\n const isRedirecting = status.type === 'redirect';\n const hasPaymentMethodsToBeDisplayed = elements?.length || instantPaymentElements?.length || storedPaymentElements?.length;\n\n switch (status.type) {\n case 'success':\n return <Status.Success message={props?.amount?.value === 0 ? 'resultMessages.preauthorized' : status.props?.message} />;\n\n case 'error':\n return <Status.Error message={status.props?.message} />;\n\n case 'custom':\n return status.props?.component?.render();\n\n default:\n return (\n <div className={`adyen-checkout__dropin adyen-checkout__dropin--${status.type}`}>\n {isRedirecting && status.props.component && status.props.component.render()}\n {isLoading && status.props && status.props.component && status.props.component.render()}\n {!!hasPaymentMethodsToBeDisplayed && (\n <PaymentMethodList\n isLoading={isLoading || isRedirecting}\n isDisablingPaymentMethod={this.state.isDisabling}\n paymentMethods={elements}\n instantPaymentMethods={instantPaymentElements}\n storedPaymentMethods={storedPaymentElements}\n activePaymentMethod={activePaymentMethod}\n cachedPaymentMethods={cachedPaymentMethods}\n order={this.props.order}\n orderStatus={this.state.orderStatus}\n onOrderCancel={this.onOrderCancel}\n onSelect={this.handleOnSelectPaymentMethod}\n openPaymentMethod={this.props.openPaymentMethod}\n openFirstPaymentMethod={this.props.openFirstPaymentMethod}\n openFirstStoredPaymentMethod={this.props.openFirstStoredPaymentMethod}\n onDisableStoredPaymentMethod={this.handleDisableStoredPaymentMethod}\n showRemovePaymentMethodButton={this.props.showRemovePaymentMethodButton}\n showRadioButton={this.props.showRadioButton}\n />\n )}\n </div>\n );\n }\n }\n}\n\nexport default DropinComponent;\n"],"names":["DropinComponent","Component","componentDidMount","this","prepareDropinData","analyticConfigData","openFirstStoredPaymentMethod","props","showStoredPaymentMethods","componentDidUpdate","prevProps","prevState","status","type","state","activePaymentMethod","setStatus","onReady","closeActivePaymentMethod","setState","render","elements","instantPaymentElements","storedPaymentElements","cachedPaymentMethods","isLoading","isRedirecting","hasPaymentMethodsToBeDisplayed","length","h","Status","Success","message","amount","value","Error","component","div","className","PaymentMethodList","isDisablingPaymentMethod","isDisabling","paymentMethods","instantPaymentMethods","storedPaymentMethods","order","orderStatus","onOrderCancel","onSelect","handleOnSelectPaymentMethod","openPaymentMethod","openFirstPaymentMethod","onDisableStoredPaymentMethod","handleDisableStoredPaymentMethod","showRemovePaymentMethodButton","showRadioButton","super","args","_define_property","undefined","clientKey","loadingContext","storedElementsPromises","elementsPromises","instantPaymentsPromises","onCreateElements","orderStatusPromise","getOrderStatus","Promise","all","then","modules","analytics","sendAnalytics","ANALYTICS_RENDERED_STR","configData","getOnOrderCancel","setActivePaymentMethod","paymentMethod","_id","activate","submitAnalytics","storedPaymentMethod","resolve","reject","storedPaymentMethodId","filter","pm","catch","data","sanitizeOrder","elementRef","handleAdvanceFlowPaymentMethodsUpdate","error","AdyenCheckoutError","session","cancelOrder","core","update","console"],"mappings":"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"}
1
+ {"version":3,"file":"DropinComponent.js","sources":["../../../../../src/components/Dropin/components/DropinComponent.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport PaymentMethodList from './PaymentMethod/PaymentMethodList';\nimport Status from './status';\nimport getOrderStatus from '../../../core/Services/order-status';\nimport { DropinComponentProps, DropinComponentState, DropinStatusProps, onOrderCancelData } from '../types';\nimport './DropinComponent.scss';\nimport { UIElementStatus } from '../../internal/UIElement/types';\nimport { sanitizeOrder } from '../../internal/UIElement/utils';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { ANALYTICS_RENDERED_STR } from '../../../core/Analytics/constants';\nimport AdyenCheckoutError from '../../../core/Errors/AdyenCheckoutError';\nimport UIElement from '../../internal/UIElement';\n\nexport class DropinComponent extends Component<DropinComponentProps, DropinComponentState> {\n public state: DropinComponentState = {\n elements: [],\n instantPaymentElements: [],\n storedPaymentElements: [],\n orderStatus: null,\n isDisabling: false,\n status: { type: 'loading', props: undefined },\n activePaymentMethod: null,\n cachedPaymentMethods: {}\n };\n\n componentDidMount() {\n this.prepareDropinData();\n }\n\n public prepareDropinData = () => {\n const { order, clientKey, loadingContext } = this.props;\n const [storedElementsPromises, elementsPromises, instantPaymentsPromises] = this.props.onCreateElements();\n const orderStatusPromise = order ? getOrderStatus({ clientKey, loadingContext }, order) : null;\n\n void Promise.all([storedElementsPromises, elementsPromises, instantPaymentsPromises, orderStatusPromise]).then(\n ([storedPaymentElements, elements, instantPaymentElements, orderStatus]) => {\n this.setState({ instantPaymentElements, elements, storedPaymentElements, orderStatus });\n this.setStatus('ready');\n\n this.props.modules?.analytics.sendAnalytics('dropin', {\n type: ANALYTICS_RENDERED_STR,\n configData: this.analyticConfigData\n });\n }\n );\n\n this.onOrderCancel = this.getOnOrderCancel();\n };\n\n get analyticConfigData() {\n return {\n openFirstStoredPaymentMethod: this.props.openFirstStoredPaymentMethod,\n showStoredPaymentMethods: this.props.showStoredPaymentMethods\n };\n }\n\n public setStatus = (status: UIElementStatus, props: DropinStatusProps = {}) => {\n this.setState({ status: { type: status, props } });\n };\n\n private setActivePaymentMethod = (paymentMethod: UIElement): void => {\n if (paymentMethod === this.state.activePaymentMethod) {\n return;\n }\n\n this.setState(prevState => ({\n activePaymentMethod: paymentMethod,\n cachedPaymentMethods: { ...prevState.cachedPaymentMethods, [paymentMethod._id]: true }\n }));\n\n if (this.state.cachedPaymentMethods[paymentMethod._id]) {\n paymentMethod.activate();\n }\n };\n\n componentDidUpdate(prevProps, prevState) {\n if (prevState.status.type !== this.state.status.type && this.state.activePaymentMethod) {\n this.state.activePaymentMethod.setStatus(this.state.status.type);\n }\n\n if (this.state.status.type === 'ready' && prevState.status.type !== 'ready' && this.props.onReady) {\n this.props.onReady();\n }\n }\n\n private handleOnSelectPaymentMethod = paymentMethod => {\n const { activePaymentMethod } = this.state;\n\n this.setActivePaymentMethod(paymentMethod);\n\n // onSelect event\n if ((activePaymentMethod && activePaymentMethod._id !== paymentMethod._id) || !activePaymentMethod) {\n this.props.onSelect?.(paymentMethod);\n\n paymentMethod.submitAnalytics({ type: ANALYTICS_RENDERED_STR });\n }\n };\n\n private handleDisableStoredPaymentMethod = storedPaymentMethod => {\n this.setState({ isDisabling: true });\n\n new Promise((resolve, reject) => this.props.onDisableStoredPaymentMethod(storedPaymentMethod.props.storedPaymentMethodId, resolve, reject))\n .then(() => {\n this.setState(prevState => ({\n storedPaymentElements: prevState.storedPaymentElements.filter(pm => pm._id !== storedPaymentMethod._id)\n }));\n this.setState({ isDisabling: false });\n })\n .catch(() => {\n this.setState({ isDisabling: false });\n });\n };\n\n closeActivePaymentMethod() {\n this.setState({ activePaymentMethod: null });\n }\n\n /**\n * getOnOrderCancel decides which onOrderCancel logic should be used, manual or sessions\n */\n private getOnOrderCancel = () => {\n if (this.props.onOrderCancel) {\n return (data: onOrderCancelData) => {\n const order = sanitizeOrder(data.order);\n new Promise<{ amount: PaymentAmount }>((resolve, reject) => {\n this.props.onOrderCancel({ order }, { resolve, reject });\n })\n .then(({ amount }) => this.props.elementRef.handleAdvanceFlowPaymentMethodsUpdate(null, amount))\n .catch(error => {\n throw new AdyenCheckoutError('NETWORK_ERROR', error);\n });\n };\n }\n if (this.props.session) {\n return (data: onOrderCancelData) =>\n this.props.session\n .cancelOrder(data)\n .then(() => this.props.core.update({ order: null }))\n .catch(error => {\n console.error(error);\n this.setStatus(error?.message || 'error');\n });\n }\n return null;\n };\n\n private onOrderCancel: (data: onOrderCancelData) => void;\n\n render(props, { elements, instantPaymentElements, storedPaymentElements, status, activePaymentMethod, cachedPaymentMethods }) {\n const isLoading = status.type === 'loading';\n const isRedirecting = status.type === 'redirect';\n const hasPaymentMethodsToBeDisplayed = elements?.length || instantPaymentElements?.length || storedPaymentElements?.length;\n\n switch (status.type) {\n case 'success':\n return <Status.Success message={props?.amount?.value === 0 ? 'resultMessages.preauthorized' : status.props?.message} />;\n\n case 'error':\n return <Status.Error message={status.props?.message} />;\n\n case 'custom':\n return status.props?.component?.render();\n\n default:\n return (\n <div className={`adyen-checkout__dropin adyen-checkout__dropin--${status.type}`}>\n {isRedirecting && status.props.component && status.props.component.render()}\n {isLoading && status.props && status.props.component && status.props.component.render()}\n {!!hasPaymentMethodsToBeDisplayed && (\n <PaymentMethodList\n isLoading={isLoading || isRedirecting}\n isDisablingPaymentMethod={this.state.isDisabling}\n paymentMethods={elements}\n instantPaymentMethods={instantPaymentElements}\n storedPaymentMethods={storedPaymentElements}\n activePaymentMethod={activePaymentMethod}\n cachedPaymentMethods={cachedPaymentMethods}\n order={this.props.order}\n orderStatus={this.state.orderStatus}\n onOrderCancel={this.onOrderCancel}\n onSelect={this.handleOnSelectPaymentMethod}\n openPaymentMethod={this.props.openPaymentMethod}\n openFirstPaymentMethod={this.props.openFirstPaymentMethod}\n openFirstStoredPaymentMethod={this.props.openFirstStoredPaymentMethod}\n onDisableStoredPaymentMethod={this.handleDisableStoredPaymentMethod}\n showRemovePaymentMethodButton={this.props.showRemovePaymentMethodButton}\n showRadioButton={this.props.showRadioButton}\n />\n )}\n </div>\n );\n }\n }\n}\n\nexport default DropinComponent;\n"],"names":["DropinComponent","Component","componentDidMount","this","prepareDropinData","analyticConfigData","openFirstStoredPaymentMethod","props","showStoredPaymentMethods","componentDidUpdate","prevProps","prevState","status","type","state","activePaymentMethod","setStatus","onReady","closeActivePaymentMethod","setState","render","elements","instantPaymentElements","storedPaymentElements","cachedPaymentMethods","isLoading","isRedirecting","hasPaymentMethodsToBeDisplayed","length","h","Status","Success","message","amount","value","Error","component","div","className","PaymentMethodList","isDisablingPaymentMethod","isDisabling","paymentMethods","instantPaymentMethods","storedPaymentMethods","order","orderStatus","onOrderCancel","onSelect","handleOnSelectPaymentMethod","openPaymentMethod","openFirstPaymentMethod","onDisableStoredPaymentMethod","handleDisableStoredPaymentMethod","showRemovePaymentMethodButton","showRadioButton","super","args","_define_property","undefined","clientKey","loadingContext","storedElementsPromises","elementsPromises","instantPaymentsPromises","onCreateElements","orderStatusPromise","getOrderStatus","Promise","all","then","modules","analytics","sendAnalytics","ANALYTICS_RENDERED_STR","configData","getOnOrderCancel","setActivePaymentMethod","paymentMethod","_id","activate","submitAnalytics","storedPaymentMethod","resolve","reject","storedPaymentMethodId","filter","pm","catch","data","sanitizeOrder","elementRef","handleAdvanceFlowPaymentMethodsUpdate","error","AdyenCheckoutError","session","cancelOrder","core","update","console"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentMethodItem.js","sources":["../../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport classNames from 'classnames';\nimport PaymentMethodDetails from '../PaymentMethodDetails';\nimport PaymentMethodIcon from '../PaymentMethodIcon';\nimport DisableOneClickConfirmation from '../DisableOneClickConfirmation';\nimport './PaymentMethodItem.scss';\nimport UIElement from '../../../../internal/UIElement/UIElement';\nimport PaymentMethodBrands from '../PaymentMethodBrands/PaymentMethodBrands';\nimport { BRAND_ICON_UI_EXCLUSION_LIST } from '../../../../internal/SecuredFields/lib/constants';\nimport PaymentMethodName from '../PaymentMethodName';\nimport { useCoreContext } from '../../../../../core/Context/CoreProvider';\nimport ExpandButton from '../../../../internal/ExpandButton';\n\nexport interface PaymentMethodItemProps {\n paymentMethod: UIElement;\n isSelected?: boolean;\n isLoaded?: boolean;\n isLoading?: boolean;\n isDisablingPaymentMethod: boolean;\n showRemovePaymentMethodButton: boolean;\n onDisableStoredPaymentMethod: (paymentMethod) => void;\n onSelect: (paymentMethod: UIElement) => void;\n standalone: boolean;\n className?: string;\n showRadioButton?: boolean;\n}\n\nclass PaymentMethodItem extends Component<PaymentMethodItemProps> {\n public static defaultProps = {\n paymentMethod: null,\n isSelected: false,\n isLoaded: false,\n isLoading: false,\n showDisableStoredPaymentMethodConfirmation: false,\n showRadioButton: false\n };\n\n public state = {\n showDisableStoredPaymentMethodConfirmation: false\n };\n\n public toggleDisableConfirmation = () => {\n this.setState({ showDisableStoredPaymentMethodConfirmation: !this.state.showDisableStoredPaymentMethodConfirmation });\n };\n\n public onDisableStoredPaymentMethod = () => {\n this.props.onDisableStoredPaymentMethod(this.props.paymentMethod);\n this.toggleDisableConfirmation();\n };\n\n private handleOnListItemClick = (): void => {\n const { onSelect, paymentMethod } = this.props;\n onSelect(paymentMethod);\n };\n\n // @ts-ignore need to refine the type for paymentMethod\n render({ paymentMethod, isSelected, isDisablingPaymentMethod, isLoaded, isLoading, standalone, showRadioButton }) {\n const { i18n } = useCoreContext();\n\n if (!paymentMethod) {\n return null;\n }\n\n const isCard = paymentMethod.props.type === 'card' || paymentMethod.props.type === 'scheme';\n\n const paymentMethodClassnames = classNames({\n 'adyen-checkout__payment-method': true,\n [`adyen-checkout__payment-method--${paymentMethod.props.type}`]: true,\n ...(isCard && { [`adyen-checkout__payment-method--${paymentMethod.props.fundingSource ?? 'credit'}`]: true }),\n 'adyen-checkout__payment-method--selected': isSelected,\n 'adyen-checkout__payment-method--loading': isLoading,\n 'adyen-checkout__payment-method--disabling': isDisablingPaymentMethod,\n 'adyen-checkout__payment-method--confirming': this.state.showDisableStoredPaymentMethodConfirmation,\n 'adyen-checkout__payment-method--standalone': standalone,\n [paymentMethod._id]: true,\n [this.props.className]: true\n });\n\n const showRemovePaymentMethodButton = this.props.showRemovePaymentMethodButton && paymentMethod.props.oneClick && isSelected;\n const disableConfirmationId = `remove-${paymentMethod._id}`;\n const containerId = `container-${paymentMethod._id}`;\n const buttonId = `button-${paymentMethod._id}`;\n\n const showBrands = !paymentMethod.props.oneClick && paymentMethod.brands && paymentMethod.brands.length > 0;\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions\n <div key={paymentMethod._id} className={paymentMethodClassnames} onClick={this.handleOnListItemClick}>\n <div className=\"adyen-checkout__payment-method__header\">\n <ExpandButton buttonId={buttonId} showRadioButton={showRadioButton} isSelected={isSelected} expandContentId={containerId}>\n <PaymentMethodIcon\n // Only add alt attribute to storedPaymentMethods (to avoid SR reading the PM name twice)\n {...(paymentMethod.props.oneClick && { altDescription: paymentMethod.props.name })}\n type={paymentMethod.type}\n src={paymentMethod.icon}\n />\n\n <PaymentMethodName\n displayName={paymentMethod.displayName}\n isSelected={isSelected}\n additionalInfo={paymentMethod.additionalInfo}\n />\n </ExpandButton>\n\n {showRemovePaymentMethodButton && (\n <button\n type=\"button\"\n className=\"adyen-checkout__button adyen-checkout__button--inline adyen-checkout__button--link\"\n onClick={this.toggleDisableConfirmation}\n aria-expanded={this.state.showDisableStoredPaymentMethodConfirmation}\n aria-controls={disableConfirmationId}\n >\n {i18n.get('storedPaymentMethod.disable.button')}\n </button>\n )}\n\n {showBrands && (\n <PaymentMethodBrands\n showOtherInsteafOfNumber={paymentMethod.props.showOtherInsteafOfNumber}\n keepBrandsVisible={paymentMethod.props.keepBrandsVisible}\n brands={paymentMethod.brands}\n excludedUIBrands={BRAND_ICON_UI_EXCLUSION_LIST}\n isPaymentMethodSelected={isSelected}\n />\n )}\n </div>\n\n <div className=\"adyen-checkout-pm-details-wrapper\" aria-hidden={!isSelected}>\n <div className=\"adyen-checkout__payment-method__details\" id={containerId}>\n {showRemovePaymentMethodButton && (\n <DisableOneClickConfirmation\n id={disableConfirmationId}\n open={this.state.showDisableStoredPaymentMethodConfirmation}\n onDisable={this.onDisableStoredPaymentMethod}\n onCancel={this.toggleDisableConfirmation}\n />\n )}\n\n <PaymentMethodDetails paymentMethodComponent={paymentMethod.render()} isLoaded={isLoaded} />\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default PaymentMethodItem;\n"],"names":["PaymentMethodItem","Component","render","paymentMethod","isSelected","isDisablingPaymentMethod","isLoaded","isLoading","standalone","showRadioButton","i18n","useCoreContext","isCard","props","type","paymentMethodClassnames","classNames","fundingSource","this","state","showDisableStoredPaymentMethodConfirmation","_id","className","showRemovePaymentMethodButton","oneClick","disableConfirmationId","containerId","buttonId","showBrands","brands","length","h","div","key","onClick","handleOnListItemClick","ExpandButton","expandContentId","PaymentMethodIcon","altDescription","name","src","icon","PaymentMethodName","displayName","additionalInfo","button","toggleDisableConfirmation","aria-expanded","aria-controls","get","PaymentMethodBrands","showOtherInsteafOfNumber","keepBrandsVisible","excludedUIBrands","BRAND_ICON_UI_EXCLUSION_LIST","isPaymentMethodSelected","aria-hidden","id","DisableOneClickConfirmation","open","onDisable","onDisableStoredPaymentMethod","onCancel","PaymentMethodDetails","paymentMethodComponent","super","args","_define_property","setState","onSelect","defaultProps"],"mappings":"uuBA2BA,MAAMA,UAA0BC,EA6B5BC,MAAAA,EAAOC,cAAEA,EAAaC,WAAEA,EAAUC,yBAAEA,EAAwBC,SAAEA,EAAQC,UAAEA,EAASC,WAAEA,EAAUC,gBAAEA,IAC3F,MAAMC,KAAEA,GAASC,IAEjB,IAAKR,EACD,OAAO,KAGX,MAAMS,EAAsC,SAA7BT,EAAcU,MAAMC,MAAgD,WAA7BX,EAAcU,MAAMC,KAEpEC,EAA0BC,EAAW,CACvC,kCAAkC,EAClC,CAAC,mCAAmCb,EAAcU,MAAMC,SAAS,KAC7DF,GAAU,CAAE,CAAC,mCAAmCT,EAAcU,MAAMI,eAAiB,aAAa,GACtG,2CAA4Cb,EAC5C,0CAA2CG,EAC3C,4CAA6CF,EAC7C,6CAA8Ca,KAAKC,MAAMC,2CACzD,6CAA8CZ,EAC9C,CAACL,EAAckB,MAAM,EACrB,CAACH,KAAKL,MAAMS,YAAY,IAGtBC,EAAgCL,KAAKL,MAAMU,+BAAiCpB,EAAcU,MAAMW,UAAYpB,EAC5GqB,EAAwB,UAAUtB,EAAckB,MAChDK,EAAc,aAAavB,EAAckB,MACzCM,EAAW,UAAUxB,EAAckB,MAEnCO,GAAczB,EAAcU,MAAMW,UAAYrB,EAAc0B,QAAU1B,EAAc0B,OAAOC,OAAS,EAE1G,OAEIC,EAACC,MAAAA,CAAIC,IAAK9B,EAAckB,IAAKC,UAAWP,EAAyBmB,QAAShB,KAAKiB,uBAC3EJ,EAACC,MAAAA,CAAIV,UAAU,0CACXS,EAACK,EAAAA,CAAaT,SAAUA,EAAUlB,gBAAiBA,EAAiBL,WAAYA,EAAYiC,gBAAiBX,GACzGK,EAACO,EAAAA,IAEQnC,EAAcU,MAAMW,UAAY,CAAEe,eAAgBpC,EAAcU,MAAM2B,MAC3E1B,KAAMX,EAAcW,KACpB2B,IAAKtC,EAAcuC,OAGvBX,EAACY,EAAAA,CACGC,YAAazC,EAAcyC,YAC3BxC,WAAYA,EACZyC,eAAgB1C,EAAc0C,kBAIrCtB,GACGQ,EAACe,SAAAA,CACGhC,KAAK,SACLQ,UAAU,qFACVY,QAAShB,KAAK6B,0BACdC,gBAAe9B,KAAKC,MAAMC,2CAC1B6B,gBAAexB,GAEdf,EAAKwC,IAAI,uCAIjBtB,GACGG,EAACoB,EAAAA,CACGC,yBAA0BjD,EAAcU,MAAMuC,yBAC9CC,kBAAmBlD,EAAcU,MAAMwC,kBACvCxB,OAAQ1B,EAAc0B,OACtByB,iBAAkBC,EAClBC,wBAAyBpD,KAKrC2B,EAACC,MAAAA,CAAIV,UAAU,oCAAoCmC,eAAcrD,GAC7D2B,EAACC,MAAAA,CAAIV,UAAU,0CAA0CoC,GAAIhC,GACxDH,GACGQ,EAAC4B,EAAAA,CACGD,GAAIjC,EACJmC,KAAM1C,KAAKC,MAAMC,2CACjByC,UAAW3C,KAAK4C,6BAChBC,SAAU7C,KAAK6B,4BAIvBhB,EAACiC,EAAAA,CAAqBC,uBAAwB9D,EAAcD,SAAUI,SAAUA,MAKpG,mBA1GA4D,SAAAC,GAAAC,EAAAlD,KAAOC,QAAQ,CACXC,4CAA4C,IAGhDgD,OAAOrB,6BAA4B,KAC/B7B,KAAKmD,SAAS,CAAEjD,4CAA6CF,KAAKC,MAAMC,4CAA2C,IAGvHgD,OAAON,gCAA+B,KAClC5C,KAAKL,MAAMiD,6BAA6B5C,KAAKL,MAAMV,eACnDe,KAAK6B,2BAAyB,IAGlCqB,OAAQjC,yBAAwB,KAC5B,MAAMmC,SAAEA,EAAQnE,cAAEA,GAAkBe,KAAKL,MACzCyD,EAASnE,EAAAA,KAxBbiE,EADEpE,EACYuE,eAAe,CACzBpE,cAAe,KACfC,YAAY,EACZE,UAAU,EACVC,WAAW,EACXa,4CAA4C,EAC5CX,iBAAiB"}
1
+ {"version":3,"file":"PaymentMethodItem.js","sources":["../../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport classNames from 'classnames';\nimport PaymentMethodDetails from '../PaymentMethodDetails';\nimport PaymentMethodIcon from '../PaymentMethodIcon';\nimport DisableOneClickConfirmation from '../DisableOneClickConfirmation';\nimport './PaymentMethodItem.scss';\nimport UIElement from '../../../../internal/UIElement/UIElement';\nimport PaymentMethodBrands from '../PaymentMethodBrands/PaymentMethodBrands';\nimport { BRAND_ICON_UI_EXCLUSION_LIST } from '../../../../internal/SecuredFields/lib/constants';\nimport PaymentMethodName from '../PaymentMethodName';\nimport { useCoreContext } from '../../../../../core/Context/CoreProvider';\nimport ExpandButton from '../../../../internal/ExpandButton';\n\nexport interface PaymentMethodItemProps {\n paymentMethod: UIElement;\n isSelected?: boolean;\n isLoaded?: boolean;\n isLoading?: boolean;\n isDisablingPaymentMethod: boolean;\n showRemovePaymentMethodButton: boolean;\n onDisableStoredPaymentMethod: (paymentMethod) => void;\n onSelect: (paymentMethod: UIElement) => void;\n standalone: boolean;\n className?: string;\n showRadioButton?: boolean;\n}\n\nclass PaymentMethodItem extends Component<PaymentMethodItemProps> {\n public static defaultProps = {\n paymentMethod: null,\n isSelected: false,\n isLoaded: false,\n isLoading: false,\n showDisableStoredPaymentMethodConfirmation: false,\n showRadioButton: false\n };\n\n public state = {\n showDisableStoredPaymentMethodConfirmation: false\n };\n\n public toggleDisableConfirmation = () => {\n this.setState({ showDisableStoredPaymentMethodConfirmation: !this.state.showDisableStoredPaymentMethodConfirmation });\n };\n\n public onDisableStoredPaymentMethod = () => {\n this.props.onDisableStoredPaymentMethod(this.props.paymentMethod);\n this.toggleDisableConfirmation();\n };\n\n private handleOnListItemClick = (): void => {\n const { onSelect, paymentMethod } = this.props;\n onSelect(paymentMethod);\n };\n\n // @ts-ignore need to refine the type for paymentMethod\n render({ paymentMethod, isSelected, isDisablingPaymentMethod, isLoaded, isLoading, standalone, showRadioButton }) {\n const { i18n } = useCoreContext();\n\n if (!paymentMethod) {\n return null;\n }\n\n const isCard = paymentMethod.props.type === 'card' || paymentMethod.props.type === 'scheme';\n\n const paymentMethodClassnames = classNames({\n 'adyen-checkout__payment-method': true,\n [`adyen-checkout__payment-method--${paymentMethod.props.type}`]: true,\n ...(isCard && { [`adyen-checkout__payment-method--${paymentMethod.props.fundingSource ?? 'credit'}`]: true }),\n 'adyen-checkout__payment-method--selected': isSelected,\n 'adyen-checkout__payment-method--loading': isLoading,\n 'adyen-checkout__payment-method--disabling': isDisablingPaymentMethod,\n 'adyen-checkout__payment-method--confirming': this.state.showDisableStoredPaymentMethodConfirmation,\n 'adyen-checkout__payment-method--standalone': standalone,\n [paymentMethod._id]: true,\n [this.props.className]: true\n });\n\n const showRemovePaymentMethodButton = this.props.showRemovePaymentMethodButton && paymentMethod.props.oneClick && isSelected;\n const disableConfirmationId = `remove-${paymentMethod._id}`;\n const containerId = `container-${paymentMethod._id}`;\n const buttonId = `button-${paymentMethod._id}`;\n\n const showBrands = !paymentMethod.props.oneClick && paymentMethod.brands && paymentMethod.brands.length > 0;\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions\n <div key={paymentMethod._id} className={paymentMethodClassnames} onClick={this.handleOnListItemClick}>\n <div className=\"adyen-checkout__payment-method__header\">\n <ExpandButton buttonId={buttonId} showRadioButton={showRadioButton} isSelected={isSelected} expandContentId={containerId}>\n <PaymentMethodIcon\n // Only add alt attribute to storedPaymentMethods (to avoid SR reading the PM name twice)\n {...(paymentMethod.props.oneClick && { altDescription: paymentMethod.props.name })}\n type={paymentMethod.type}\n src={paymentMethod.icon}\n />\n\n <PaymentMethodName\n displayName={paymentMethod.displayName}\n isSelected={isSelected}\n additionalInfo={paymentMethod.additionalInfo}\n />\n </ExpandButton>\n\n {showRemovePaymentMethodButton && (\n <button\n type=\"button\"\n className=\"adyen-checkout__button adyen-checkout__button--inline adyen-checkout__button--link\"\n onClick={this.toggleDisableConfirmation}\n aria-expanded={this.state.showDisableStoredPaymentMethodConfirmation}\n aria-controls={disableConfirmationId}\n >\n {i18n.get('storedPaymentMethod.disable.button')}\n </button>\n )}\n\n {showBrands && (\n <PaymentMethodBrands\n showOtherInsteafOfNumber={paymentMethod.props.showOtherInsteafOfNumber}\n keepBrandsVisible={paymentMethod.props.keepBrandsVisible}\n brands={paymentMethod.brands}\n excludedUIBrands={BRAND_ICON_UI_EXCLUSION_LIST}\n isPaymentMethodSelected={isSelected}\n />\n )}\n </div>\n\n <div className=\"adyen-checkout-pm-details-wrapper\" aria-hidden={!isSelected}>\n <div className=\"adyen-checkout__payment-method__details\" id={containerId}>\n {showRemovePaymentMethodButton && (\n <DisableOneClickConfirmation\n id={disableConfirmationId}\n open={this.state.showDisableStoredPaymentMethodConfirmation}\n onDisable={this.onDisableStoredPaymentMethod}\n onCancel={this.toggleDisableConfirmation}\n />\n )}\n\n <PaymentMethodDetails paymentMethodComponent={paymentMethod.render()} isLoaded={isLoaded} />\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default PaymentMethodItem;\n"],"names":["PaymentMethodItem","Component","render","paymentMethod","isSelected","isDisablingPaymentMethod","isLoaded","isLoading","standalone","showRadioButton","i18n","useCoreContext","isCard","props","type","paymentMethodClassnames","classNames","fundingSource","this","state","showDisableStoredPaymentMethodConfirmation","_id","className","showRemovePaymentMethodButton","oneClick","disableConfirmationId","containerId","buttonId","showBrands","brands","length","h","div","key","onClick","handleOnListItemClick","ExpandButton","expandContentId","PaymentMethodIcon","altDescription","name","src","icon","PaymentMethodName","displayName","additionalInfo","button","toggleDisableConfirmation","aria-expanded","aria-controls","get","PaymentMethodBrands","showOtherInsteafOfNumber","keepBrandsVisible","excludedUIBrands","BRAND_ICON_UI_EXCLUSION_LIST","isPaymentMethodSelected","aria-hidden","id","DisableOneClickConfirmation","open","onDisable","onDisableStoredPaymentMethod","onCancel","PaymentMethodDetails","paymentMethodComponent","super","args","_define_property","setState","onSelect","defaultProps"],"mappings":"uuBA2BA,MAAMA,UAA0BC,EA6B5BC,MAAAA,EAAOC,cAAEA,EAAaC,WAAEA,EAAUC,yBAAEA,EAAwBC,SAAEA,EAAQC,UAAEA,EAASC,WAAEA,EAAUC,gBAAEA,IAC3F,MAAMC,KAAEA,GAASC,IAEjB,IAAKR,EACD,OAAO,KAGX,MAAMS,EAAsC,SAA7BT,EAAcU,MAAMC,MAAgD,WAA7BX,EAAcU,MAAMC,KAEpEC,EAA0BC,EAAW,CACvC,kCAAkC,EAClC,CAAC,mCAAmCb,EAAcU,MAAMC,SAAS,KAC7DF,GAAU,CAAE,CAAC,mCAAmCT,EAAcU,MAAMI,eAAiB,aAAa,GACtG,2CAA4Cb,EAC5C,0CAA2CG,EAC3C,4CAA6CF,EAC7C,6CAA8Ca,KAAKC,MAAMC,2CACzD,6CAA8CZ,EAC9C,CAACL,EAAckB,MAAM,EACrB,CAACH,KAAKL,MAAMS,YAAY,IAGtBC,EAAgCL,KAAKL,MAAMU,+BAAiCpB,EAAcU,MAAMW,UAAYpB,EAC5GqB,EAAwB,UAAUtB,EAAckB,MAChDK,EAAc,aAAavB,EAAckB,MACzCM,EAAW,UAAUxB,EAAckB,MAEnCO,GAAczB,EAAcU,MAAMW,UAAYrB,EAAc0B,QAAU1B,EAAc0B,OAAOC,OAAS,EAE1G,OAEIC,EAACC,MAAAA,CAAIC,IAAK9B,EAAckB,IAAKC,UAAWP,EAAyBmB,QAAShB,KAAKiB,uBAC3EJ,EAACC,MAAAA,CAAIV,UAAU,0CACXS,EAACK,EAAAA,CAAaT,SAAUA,EAAUlB,gBAAiBA,EAAiBL,WAAYA,EAAYiC,gBAAiBX,GACzGK,EAACO,EAAAA,IAEQnC,EAAcU,MAAMW,UAAY,CAAEe,eAAgBpC,EAAcU,MAAM2B,MAC3E1B,KAAMX,EAAcW,KACpB2B,IAAKtC,EAAcuC,OAGvBX,EAACY,EAAAA,CACGC,YAAazC,EAAcyC,YAC3BxC,WAAYA,EACZyC,eAAgB1C,EAAc0C,kBAIrCtB,GACGQ,EAACe,SAAAA,CACGhC,KAAK,SACLQ,UAAU,qFACVY,QAAShB,KAAK6B,0BACdC,gBAAe9B,KAAKC,MAAMC,2CAC1B6B,gBAAexB,GAEdf,EAAKwC,IAAI,uCAIjBtB,GACGG,EAACoB,EAAAA,CACGC,yBAA0BjD,EAAcU,MAAMuC,yBAC9CC,kBAAmBlD,EAAcU,MAAMwC,kBACvCxB,OAAQ1B,EAAc0B,OACtByB,iBAAkBC,EAClBC,wBAAyBpD,KAKrC2B,EAACC,MAAAA,CAAIV,UAAU,oCAAoCmC,eAAcrD,GAC7D2B,EAACC,MAAAA,CAAIV,UAAU,0CAA0CoC,GAAIhC,GACxDH,GACGQ,EAAC4B,EAAAA,CACGD,GAAIjC,EACJmC,KAAM1C,KAAKC,MAAMC,2CACjByC,UAAW3C,KAAK4C,6BAChBC,SAAU7C,KAAK6B,4BAIvBhB,EAACiC,EAAAA,CAAqBC,uBAAwB9D,EAAcD,SAAUI,SAAUA,MAKpG,mBApHJ4D,SAAAC,GAUIC,OAAOjD,QAAQ,CACXC,4CAA4C,IAGhDgD,OAAOrB,6BAA4B,KAC/B7B,KAAKmD,SAAS,CAAEjD,4CAA6CF,KAAKC,MAAMC,4CAA2C,IAGvHgD,OAAON,gCAA+B,KAClC5C,KAAKL,MAAMiD,6BAA6B5C,KAAKL,MAAMV,eACnDe,KAAK6B,2BAAyB,IAGlCqB,OAAQjC,yBAAwB,KAC5B,MAAMmC,SAAEA,EAAQnE,cAAEA,GAAkBe,KAAKL,MACzCyD,EAASnE,EAAAA,KAxBbiE,EADEpE,EACYuE,eAAe,CACzBpE,cAAe,KACfC,YAAY,EACZE,UAAU,EACVC,WAAW,EACXa,4CAA4C,EAC5CX,iBAAiB"}
@@ -1 +1 @@
1
- {"version":3,"file":"useBrandLogoConfiguration.js","sources":["../../../../../../src/components/Dropin/components/PaymentMethod/useBrandLogoConfiguration.ts"],"sourcesContent":["import { useEffect, useState } from 'preact/hooks';\nimport UIElement from '../../../internal/UIElement/UIElement';\n\ntype BrandLogoConfiguration = {\n [key: string]: string;\n};\n\nexport function useBrandLogoConfiguration(paymentMethods: UIElement[]): BrandLogoConfiguration {\n const [brandLogoConfiguration, setBrandLogoConfiguration] = useState<BrandLogoConfiguration>({});\n\n useEffect(() => {\n setBrandLogoConfiguration(\n paymentMethods.reduce(\n (accumulator, paymentMethod) => ({\n ...accumulator,\n ...(paymentMethod.props['brand'] && paymentMethod.icon && { [paymentMethod.props['brand']]: paymentMethod.icon })\n }),\n {}\n )\n );\n }, [paymentMethods]);\n\n return brandLogoConfiguration;\n}\n"],"names":["useBrandLogoConfiguration","paymentMethods","brandLogoConfiguration","setBrandLogoConfiguration","useState","useEffect","reduce","accumulator","paymentMethod","props","icon"],"mappings":"0FAOO,SAASA,EAA0BC,GACtC,MAAOC,EAAwBC,GAA6BC,EAAiC,CAAC,GAc9F,OAZAC,GAAU,KACNF,EACIF,EAAeK,QACX,CAACC,EAAaC,KAAmB,IAC1BD,KACCC,EAAcC,aAAkBD,EAAcE,MAAQ,CAAE,CAACF,EAAcC,aAAiBD,EAAcE,SAE9G,CAAC,GAAA,GAGV,CAACT,IAEGC,CACX"}
1
+ {"version":3,"file":"useBrandLogoConfiguration.js","sources":["../../../../../../src/components/Dropin/components/PaymentMethod/useBrandLogoConfiguration.ts"],"sourcesContent":["import { useEffect, useState } from 'preact/hooks';\nimport UIElement from '../../../internal/UIElement/UIElement';\n\ntype BrandLogoConfiguration = {\n [key: string]: string;\n};\n\nexport function useBrandLogoConfiguration(paymentMethods: UIElement[]): BrandLogoConfiguration {\n const [brandLogoConfiguration, setBrandLogoConfiguration] = useState<BrandLogoConfiguration>({});\n\n useEffect(() => {\n setBrandLogoConfiguration(\n paymentMethods.reduce(\n (accumulator, paymentMethod) => ({\n ...accumulator,\n ...(paymentMethod.props['brand'] && paymentMethod.icon && { [paymentMethod.props['brand']]: paymentMethod.icon })\n }),\n {}\n )\n );\n }, [paymentMethods]);\n\n return brandLogoConfiguration;\n}\n"],"names":["useBrandLogoConfiguration","paymentMethods","brandLogoConfiguration","setBrandLogoConfiguration","useState","useEffect","reduce","accumulator","paymentMethod","props","icon"],"mappings":"0FAOO,SAASA,EAA0BC,GACtC,MAAOC,EAAwBC,GAA6BC,EAAiC,CAAA,GAc7F,OAZAC,GAAU,KACNF,EACIF,EAAeK,QACX,CAACC,EAAaC,KAAmB,IAC1BD,KACCC,EAAcC,aAAkBD,EAAcE,MAAQ,CAAE,CAACF,EAAcC,aAAiBD,EAAcE,SAE9G,CAAC,GAAA,GAGV,CAACT,IAEGC,CACX"}
@@ -1 +1 @@
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/**\n * Filter out payment methods that are not supported by Drop-in\n * @param paymentMethod - Payment method object from /paymentMethods response\n */\nexport const filterUnsupportedPaymentMethod = (paymentMethod: PaymentMethod | StoredPaymentMethod) =>\n !UNSUPPORTED_PAYMENT_METHODS.includes(paymentMethod.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","filterUnsupportedPaymentMethod","paymentMethod","includes","type","filterPresent","filterAvailable","elements","elementIsAvailablePromises","map","element","promise","promiseTimeout","isAvailable","Promise","allSettled","then","promiseResults","filter","i","status","optionallyFilterUpiSubTxVariants","paymentMethods","some","pm","UPI_SUB_TX_VARIANTS"],"mappings":"sDAGaA,EAA8B,CAAC,aAAc,aAAc,cAM3DC,EAAkCC,IAC1CF,EAA4BG,SAASD,EAAcE,MAG3CC,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,GAAIpB,OAEhC,OAAOkB,EAG1B,MAAMG,EAAsB,CAAC,SAAU,cAAe,cACtD,OAAOH,EAAeJ,QAAOM,IAAOC,EAAoBtB,SAASqB,GAAIpB,OAAAA"}
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/**\n * Filter out payment methods that are not supported by Drop-in\n * @param paymentMethod - Payment method object from /paymentMethods response\n */\nexport const filterUnsupportedPaymentMethod = (paymentMethod: PaymentMethod | StoredPaymentMethod) =>\n !UNSUPPORTED_PAYMENT_METHODS.includes(paymentMethod.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","filterUnsupportedPaymentMethod","paymentMethod","includes","type","filterPresent","filterAvailable","elements","elementIsAvailablePromises","map","element","promise","promiseTimeout","isAvailable","Promise","allSettled","then","promiseResults","filter","i","status","optionallyFilterUpiSubTxVariants","paymentMethods","some","pm","UPI_SUB_TX_VARIANTS"],"mappings":"sDAGaA,EAA8B,CAAC,aAAc,aAAc,cAM3DC,EAAkCC,IAC1CF,EAA4BG,SAASD,EAAcE,MAG3CC,EAAgBH,KAAmBA,EAGnCI,EAAmBC,IAC5B,MAAMC,EAA6BD,EAASE,KAAIC,IAC5C,MAAMC,QAAEA,GAAYC,EAAe,IAAMF,EAAQG,cAAe,IAChE,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,GAAIpB,OAEhC,OAAOkB,EAG1B,MAAMG,EAAsB,CAAC,SAAU,cAAe,cACtD,OAAOH,EAAeJ,QAAOM,IAAOC,EAAoBtB,SAASqB,GAAIpB,OAAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getComponentConfiguration.js","sources":["../../../../../src/components/Dropin/elements/getComponentConfiguration.ts"],"sourcesContent":["import { PaymentMethodsConfiguration } from '../types';\n\nexport const getComponentConfiguration = (type: string, paymentMethodsConfiguration: PaymentMethodsConfiguration = {}, isStoredCard = false) => {\n const pmType = type === 'scheme' ? 'card' : type;\n\n if (pmType === 'card' && isStoredCard) {\n return paymentMethodsConfiguration['storedCard'] || {};\n }\n\n return paymentMethodsConfiguration[pmType] || {};\n};\n"],"names":["getComponentConfiguration","type","paymentMethodsConfiguration","isStoredCard","pmType"],"mappings":"AAEO,MAAMA,EAA4B,CAACC,EAAcC,EAA2D,CAAA,EAAIC,GAAe,KAClI,MAAMC,EAAkB,WAATH,EAAoB,OAASA,EAE5C,MAAe,SAAXG,GAAqBD,EACdD,EAAyC,YAAI,GAGjDA,EAA4BE,IAAW,EAAC"}
1
+ {"version":3,"file":"getComponentConfiguration.js","sources":["../../../../../src/components/Dropin/elements/getComponentConfiguration.ts"],"sourcesContent":["import { PaymentMethodsConfiguration } from '../types';\n\nexport const getComponentConfiguration = (type: string, paymentMethodsConfiguration: PaymentMethodsConfiguration = {}, isStoredCard = false) => {\n const pmType = type === 'scheme' ? 'card' : type;\n\n if (pmType === 'card' && isStoredCard) {\n return paymentMethodsConfiguration['storedCard'] || {};\n }\n\n return paymentMethodsConfiguration[pmType] || {};\n};\n"],"names":["getComponentConfiguration","type","paymentMethodsConfiguration","isStoredCard","pmType"],"mappings":"AAEO,MAAMA,EAA4B,CAACC,EAAcC,EAA2D,CAAA,EAAIC,GAAe,KAClI,MAAMC,EAAkB,WAATH,EAAoB,OAASA,EAE5C,MAAe,SAAXG,GAAqBD,EACdD,EAAyC,YAAI,CAAC,EAGlDA,EAA4BE,IAAW,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"EcontextInput.js","sources":["../../../../../../src/components/Econtext/components/EcontextInput/EcontextInput.tsx"],"sourcesContent":["import { Fragment, h, VNode } from 'preact';\nimport { useRef, useState } from 'preact/hooks';\nimport PersonalDetails from '../../../internal/PersonalDetails/PersonalDetails';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { econtextValidationRules } from '../../validate';\nimport { PersonalDetailsSchema } from '../../../../types/global-types';\nimport './EcontextInput.scss';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\n\ninterface EcontextInputProps {\n personalDetailsRequired?: boolean;\n data?: PersonalDetailsSchema;\n showPayButton: boolean;\n payButton(config: any): VNode;\n onChange?(data: any): void;\n onSubmit?(state: any, component: any): void;\n [key: string]: any;\n}\n\nexport default function EcontextInput({ personalDetailsRequired = true, data, onChange, showPayButton, payButton, ...props }: EcontextInputProps) {\n const personalDetailsRef = useRef(null);\n const setPersonalDetailsRef = ref => {\n personalDetailsRef.current = ref;\n };\n const { i18n } = useCoreContext();\n\n const [status, setStatus] = useState('ready');\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const econtextRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(econtextRef.current).length) {\n props.setComponentRef?.(econtextRef.current);\n }\n\n econtextRef.current.showValidation = () => {\n personalDetailsRef.current?.showValidation();\n };\n\n econtextRef.current.setStatus = setStatus;\n\n return (\n <div className=\"adyen-checkout__econtext-input__field\">\n {personalDetailsRequired && (\n <Fragment>\n <FormInstruction />\n <PersonalDetails\n data={data}\n requiredFields={['firstName', 'lastName', 'telephoneNumber', 'shopperEmail']}\n onChange={onChange}\n namePrefix=\"econtext\"\n setComponentRef={setPersonalDetailsRef}\n validationRules={econtextValidationRules}\n />\n </Fragment>\n )}\n {showPayButton && payButton({ status, label: i18n.get('confirmPurchase') })}\n </div>\n );\n}\n"],"names":["EcontextInput","personalDetailsRequired","data","onChange","showPayButton","payButton","props","personalDetailsRef","useRef","i18n","useCoreContext","status","setStatus","useState","econtextRef","Object","keys","current","length","setComponentRef","showValidation","h","div","className","Fragment","FormInstruction","PersonalDetails","requiredFields","namePrefix","ref","validationRules","econtextValidationRules","label","get"],"mappings":"8bAoBe,SAASA,GAAcC,wBAAEA,GAA0B,EAAIC,KAAEA,EAAIC,SAAEA,EAAQC,cAAEA,EAAaC,UAAEA,KAAcC,IACjH,MAAMC,EAAqBC,EAAO,OAI5BC,KAAEA,GAASC,KAEVC,EAAQC,GAAaC,EAAS,SAG/BC,EAAcN,EAA4B,CAAA,GAYhD,OAVKO,OAAOC,KAAKF,EAAYG,SAASC,QAClCZ,EAAMa,kBAAkBL,EAAYG,SAGxCH,EAAYG,QAAQG,eAAiB,KACjCb,EAAmBU,SAASG,gBAAAA,EAGhCN,EAAYG,QAAQL,UAAYA,EAG5BS,EAACC,MAAAA,CAAIC,UAAU,yCACVtB,GACGoB,EAACG,EAAAA,KACGH,EAACI,EAAAA,MACDJ,EAACK,EAAAA,CACGxB,KAAMA,EACNyB,eAAgB,CAAC,YAAa,WAAY,kBAAmB,gBAC7DxB,SAAUA,EACVyB,WAAW,WACXT,gBA9BUU,IAC1BtB,EAAmBU,QAAUY,CAAAA,EA8BbC,gBAAiBC,KAI5B3B,GAAiBC,EAAU,CAAEM,SAAQqB,MAAOvB,EAAKwB,IAAI,qBAGlE"}
1
+ {"version":3,"file":"EcontextInput.js","sources":["../../../../../../src/components/Econtext/components/EcontextInput/EcontextInput.tsx"],"sourcesContent":["import { Fragment, h, VNode } from 'preact';\nimport { useRef, useState } from 'preact/hooks';\nimport PersonalDetails from '../../../internal/PersonalDetails/PersonalDetails';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { econtextValidationRules } from '../../validate';\nimport { PersonalDetailsSchema } from '../../../../types/global-types';\nimport './EcontextInput.scss';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\n\ninterface EcontextInputProps {\n personalDetailsRequired?: boolean;\n data?: PersonalDetailsSchema;\n showPayButton: boolean;\n payButton(config: any): VNode;\n onChange?(data: any): void;\n onSubmit?(state: any, component: any): void;\n [key: string]: any;\n}\n\nexport default function EcontextInput({ personalDetailsRequired = true, data, onChange, showPayButton, payButton, ...props }: EcontextInputProps) {\n const personalDetailsRef = useRef(null);\n const setPersonalDetailsRef = ref => {\n personalDetailsRef.current = ref;\n };\n const { i18n } = useCoreContext();\n\n const [status, setStatus] = useState('ready');\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const econtextRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(econtextRef.current).length) {\n props.setComponentRef?.(econtextRef.current);\n }\n\n econtextRef.current.showValidation = () => {\n personalDetailsRef.current?.showValidation();\n };\n\n econtextRef.current.setStatus = setStatus;\n\n return (\n <div className=\"adyen-checkout__econtext-input__field\">\n {personalDetailsRequired && (\n <Fragment>\n <FormInstruction />\n <PersonalDetails\n data={data}\n requiredFields={['firstName', 'lastName', 'telephoneNumber', 'shopperEmail']}\n onChange={onChange}\n namePrefix=\"econtext\"\n setComponentRef={setPersonalDetailsRef}\n validationRules={econtextValidationRules}\n />\n </Fragment>\n )}\n {showPayButton && payButton({ status, label: i18n.get('confirmPurchase') })}\n </div>\n );\n}\n"],"names":["EcontextInput","personalDetailsRequired","data","onChange","showPayButton","payButton","props","personalDetailsRef","useRef","i18n","useCoreContext","status","setStatus","useState","econtextRef","Object","keys","current","length","setComponentRef","showValidation","h","div","className","Fragment","FormInstruction","PersonalDetails","requiredFields","namePrefix","ref","validationRules","econtextValidationRules","label","get"],"mappings":"8bAoBe,SAASA,GAAcC,wBAAEA,GAA0B,EAAIC,KAAEA,EAAIC,SAAEA,EAAQC,cAAEA,EAAaC,UAAEA,KAAcC,IACjH,MAAMC,EAAqBC,EAAO,OAI5BC,KAAEA,GAASC,KAEVC,EAAQC,GAAaC,EAAS,SAG/BC,EAAcN,EAA4B,IAYhD,OAVKO,OAAOC,KAAKF,EAAYG,SAASC,QAClCZ,EAAMa,kBAAkBL,EAAYG,SAGxCH,EAAYG,QAAQG,eAAiB,KACjCb,EAAmBU,SAASG,gBAAAA,EAGhCN,EAAYG,QAAQL,UAAYA,EAG5BS,EAACC,MAAAA,CAAIC,UAAU,yCACVtB,GACGoB,EAACG,EAAAA,KACGH,EAACI,EAAAA,MACDJ,EAACK,EAAAA,CACGxB,KAAMA,EACNyB,eAAgB,CAAC,YAAa,WAAY,kBAAmB,gBAC7DxB,SAAUA,EACVyB,WAAW,WACXT,gBA9BUU,IAC1BtB,EAAmBU,QAAUY,CAAAA,EA8BbC,gBAAiBC,KAI5B3B,GAAiBC,EAAU,CAAEM,SAAQqB,MAAOvB,EAAKwB,IAAI,qBAGlE"}
@@ -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/GiftcardComponent.js";import{CoreProvider as s}from"../../core/Context/CoreProvider.js";import n from"../internal/PayButton/PayButton.js";import o from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as i}from"../tx-variants.js";function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}class p extends e{formatProps(t){return{...t?.configuration,...t}}formatData(){return{paymentMethod:{type:this.constructor.type,brand:this.props.brand,encryptedCardNumber:this.state.data?.encryptedCardNumber,encryptedSecurityCode:this.state.data?.encryptedSecurityCode}}}get isValid(){return!!this.state.isValid}get icon(){return this.props.brandsConfiguration[this.props.brand]?.icon||this.props.icon||this.resources.getImage()(this.props.brand)}get displayName(){return this.props.brandsConfiguration[this.props.brand]?.name||this.props.name}balanceCheck(){return this.onBalanceCheck()}submit(){if(!this.isValid)return this.showValidation(),!1;this.balanceCheck()}render(){return t(s,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(r,{ref:t=>{this.componentRef=t},...this.props,handleKeyPress:this.handleKeyPress,showPayButton:this.props.showPayButton,onChange:this.setState,onBalanceCheck:this.onBalanceCheck,onSubmit:this.submit,payButton:this.payButton}))}constructor(...e){super(...e),a(this,"handleBalanceCheck",(t=>this.props.onBalanceCheck?new Promise(((e,r)=>{this.props.onBalanceCheck(e,r,t)})):this.props.session?this.props.session.checkBalance(t):void 0)),a(this,"onOrderRequest",(t=>this.props.onOrderRequest?new Promise(((e,r)=>{this.props.onOrderRequest(e,r,t)})):this.props.session?this.props.session.createOrder():void 0)),a(this,"onBalanceCheck",(()=>{if(!(this.props.session||this.props.onBalanceCheck))return super.submit();this.setStatus("loading"),this.handleBalanceCheck(this.formatData()).then((({balance:t,transactionLimit:e={}})=>{if(!t)throw new Error("card-error");if(t?.currency!==this.props.amount?.currency)throw new Error("currency-error");if(t?.value<=0)throw new Error("no-balance");return this.componentRef.setBalance({balance:t,transactionLimit:e}),this.props.amount.value>t.value||this.props.amount.value>e.value?this.props.order?super.submit():this.onOrderRequest(this.data).then((t=>(this.setState({order:{orderData:t.orderData,pspReference:t.pspReference}}),super.submit()))):this.handleOnRequiringConfirmation().then((()=>super.submit()))})).catch((t=>{this.setStatus(t?.message||"error"),this.props.onError&&this.handleError(new o("ERROR",t))}))})),a(this,"handleOnRequiringConfirmation",(()=>{if(this.props.onRequiringConfirmation)return new Promise(((t,e)=>{this.props.onRequiringConfirmation(t,e)}))})),a(this,"payButton",(e=>t(n,e)))}}a(p,"type",i.giftcard),a(p,"defaultProps",{brandsConfiguration:{}});export{p as GiftcardElement,p 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/GiftcardComponent.js";import{CoreProvider as s}from"../../core/Context/CoreProvider.js";import n from"../internal/PayButton/PayButton.js";import o from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as i}from"../tx-variants.js";function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}class p extends e{formatProps(t){return{...t?.configuration,...t}}formatData(){return{paymentMethod:{type:this.constructor.type,brand:this.props.brand,encryptedCardNumber:this.state.data?.encryptedCardNumber,encryptedSecurityCode:this.state.data?.encryptedSecurityCode}}}get isValid(){return!!this.state.isValid}get icon(){return this.props.brandsConfiguration[this.props.brand]?.icon||this.props.icon||this.resources.getImage()(this.props.brand)}get displayName(){return this.props.brandsConfiguration[this.props.brand]?.name||this.props.name}balanceCheck(){return this.onBalanceCheck()}submit(){if(!this.isValid)return this.showValidation(),!1;this.balanceCheck()}render(){return t(s,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(r,{ref:t=>{this.componentRef=t},...this.props,handleKeyPress:this.handleKeyPress,showPayButton:this.props.showPayButton,onChange:this.setState,onBalanceCheck:this.onBalanceCheck,onSubmit:this.submit,payButton:this.payButton}))}constructor(...e){super(...e),a(this,"handleBalanceCheck",(t=>this.props.onBalanceCheck?new Promise(((e,r)=>{this.props.onBalanceCheck(e,r,t)})):this.props.session?this.props.session.checkBalance(t):void 0)),a(this,"onOrderRequest",(t=>this.props.onOrderRequest?new Promise(((e,r)=>{this.props.onOrderRequest(e,r,t)})):this.props.session?this.props.session.createOrder():void 0)),a(this,"onBalanceCheck",(()=>{if(!(this.props.session||this.props.onBalanceCheck))return super.submit();this.setStatus("loading"),this.handleBalanceCheck(this.formatData()).then((({balance:t,transactionLimit:e={}})=>{if(!t)throw new Error("card-error");if(t?.currency!==this.props.amount?.currency)throw new Error("currency-error");if(t?.value<=0)throw new Error("no-balance");return this.componentRef.setBalance({balance:t,transactionLimit:e}),this.props.amount.value>t.value||this.props.amount.value>e.value?this.props.order?super.submit():this.onOrderRequest(this.data).then((t=>(this.setState({order:{orderData:t.orderData,pspReference:t.pspReference}}),super.submit()))):this.handleOnRequiringConfirmation().then((()=>super.submit()))})).catch((t=>{this.setStatus(t?.message||"error"),this.props.onError&&(t instanceof o?this.handleError(t):this.handleError(new o("ERROR",t)))}))})),a(this,"handleOnRequiringConfirmation",(()=>{if(this.props.onRequiringConfirmation)return new Promise(((t,e)=>{this.props.onRequiringConfirmation(t,e)}))})),a(this,"payButton",(e=>t(n,e)))}}a(p,"type",i.giftcard),a(p,"defaultProps",{brandsConfiguration:{}});export{p as GiftcardElement,p as default};
2
2
  //# sourceMappingURL=Giftcard.js.map
@@ -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","formatProps","props","configuration","formatData","paymentMethod","type","this","constructor","brand","encryptedCardNumber","state","data","encryptedSecurityCode","isValid","icon","brandsConfiguration","resources","getImage","displayName","name","balanceCheck","onBalanceCheck","submit","showValidation","render","h","CoreProvider","i18n","loadingContext","GiftcardComponent","ref","componentRef","handleKeyPress","showPayButton","onChange","setState","onSubmit","payButton","super","args","_define_property","handleBalanceCheck","Promise","resolve","reject","session","checkBalance","onOrderRequest","createOrder","setStatus","then","balance","transactionLimit","Error","currency","amount","value","setBalance","order","orderData","pspReference","handleOnRequiringConfirmation","catch","error","message","onError","handleError","AdyenCheckoutError","onRequiringConfirmation","PayButton","TxVariants","giftcard","defaultProps"],"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 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) {\n if (error instanceof AdyenCheckoutError) {\n this.handleError(error);\n } else {\n this.handleError(new AdyenCheckoutError('ERROR', error));\n }\n }\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","formatProps","props","configuration","formatData","paymentMethod","type","this","constructor","brand","encryptedCardNumber","state","data","encryptedSecurityCode","isValid","icon","brandsConfiguration","resources","getImage","displayName","name","balanceCheck","onBalanceCheck","submit","showValidation","render","h","CoreProvider","i18n","loadingContext","GiftcardComponent","ref","componentRef","handleKeyPress","showPayButton","onChange","setState","onSubmit","payButton","super","args","_define_property","handleBalanceCheck","Promise","resolve","reject","session","checkBalance","onOrderRequest","createOrder","setStatus","then","balance","transactionLimit","Error","currency","amount","value","setBalance","order","orderData","pspReference","handleOnRequiringConfirmation","catch","error","message","onError","AdyenCheckoutError","handleError","onRequiringConfirmation","PayButton","TxVariants","giftcard","defaultProps"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"GiftcardComponent.js","sources":["../../../../../src/components/Giftcard/components/GiftcardComponent.tsx"],"sourcesContent":["import { Component, FunctionComponent, h } from 'preact';\nimport SecuredFieldsProvider from '../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport Alert from '../../internal/Alert';\nimport GiftcardResult from './GiftcardResult';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { GIFT_CARD } from '../../internal/SecuredFields/lib/constants';\nimport { GiftCardFields } from './GiftcardFields';\nimport { GiftcardFieldsProps, Placeholders } from './types';\n\ninterface GiftcardComponentProps {\n onChange: (state) => void;\n onFocus: (event) => void;\n onBlur: (event) => void;\n onSubmit: (event) => void;\n onBalanceCheck: (event) => void;\n\n amount?: PaymentAmount;\n showPayButton: boolean;\n payButton: (config) => any;\n\n pinRequired: boolean;\n expiryDateRequired?: boolean;\n fieldsLayoutComponent: FunctionComponent<GiftcardFieldsProps>;\n placeholders?: Placeholders;\n handleKeyPress?: (o: KeyboardEvent) => void;\n}\n\nclass Giftcard extends Component<GiftcardComponentProps> {\n public state = {\n status: 'ready',\n data: {},\n balance: null,\n transactionLimit: null,\n focusedElement: false,\n isValid: false\n };\n\n public static defaultProps = {\n pinRequired: true,\n expiryDateRequired: false,\n onChange: () => {},\n onFocus: () => {},\n onBlur: () => {},\n fieldsLayoutComponent: GiftCardFields\n };\n\n public sfp;\n\n public onChange = sfpState => {\n this.props.onChange({\n data: sfpState.data,\n isValid: sfpState.isSfpValid\n });\n };\n\n public showValidation = () => {\n this.sfp.showValidation();\n };\n\n setStatus(status) {\n this.setState({ status });\n }\n\n public handleFocus = e => {\n this.setState({ focusedElement: e.currentFocusObject });\n\n const isFocused = e.focus === true;\n if (isFocused) {\n this.props.onFocus(e);\n } else {\n this.props.onBlur(e);\n }\n };\n\n public setBalance = ({ balance, transactionLimit }) => {\n this.setState({ balance, transactionLimit });\n };\n\n render(props, { focusedElement, balance, transactionLimit }) {\n const { i18n } = useCoreContext();\n\n const transactionAmount = transactionLimit?.value < balance?.value ? transactionLimit : balance;\n const hasEnoughBalance = transactionAmount?.value >= this.props.amount?.value;\n\n if (transactionAmount && hasEnoughBalance) {\n return <GiftcardResult balance={balance} transactionLimit={transactionLimit} onSubmit={props.onSubmit} {...props} />;\n }\n\n const getCardErrorMessage = sfpState => {\n if (sfpState.errors.encryptedCardNumber) return i18n.get(sfpState.errors.encryptedCardNumber);\n\n switch (this.state.status) {\n case 'no-balance':\n return i18n.get('error.giftcard.no-balance');\n case 'card-error':\n return i18n.get('error.giftcard.card-error');\n case 'currency-error':\n return i18n.get('error.giftcard.currency-error');\n default:\n return null;\n }\n };\n\n return (\n <div className=\"adyen-checkout__giftcard\">\n {this.state.status === 'error' && <Alert icon={'cross'}>{i18n.get('error.message.unknown')}</Alert>}\n\n <SecuredFieldsProvider\n {...this.props}\n ref={ref => {\n this.sfp = ref;\n }}\n onChange={this.onChange}\n onFocus={this.handleFocus}\n type={GIFT_CARD}\n render={({ setRootNode, setFocusOn }, sfpState) =>\n this.props.fieldsLayoutComponent({\n i18n: i18n,\n pinRequired: this.props.pinRequired,\n focusedElement: focusedElement,\n getCardErrorMessage: getCardErrorMessage,\n setRootNode: setRootNode,\n setFocusOn: setFocusOn,\n sfpState: sfpState\n })\n }\n />\n\n {this.props.showPayButton &&\n this.props.payButton({\n status: this.state.status,\n onClick: this.props.onSubmit,\n label: i18n.get('applyGiftcard')\n })}\n </div>\n );\n }\n}\n\nexport default Giftcard;\n"],"names":["Giftcard","Component","setStatus","status","this","setState","render","props","focusedElement","balance","transactionLimit","i18n","useCoreContext","transactionAmount","value","hasEnoughBalance","amount","h","GiftcardResult","onSubmit","getCardErrorMessage","sfpState","errors","encryptedCardNumber","get","state","div","className","Alert","icon","SecuredFieldsProvider","ref","sfp","onChange","onFocus","handleFocus","type","GIFT_CARD","setRootNode","setFocusOn","fieldsLayoutComponent","pinRequired","showPayButton","payButton","onClick","label","super","args","_define_property","data","isValid","isSfpValid","showValidation","e","currentFocusObject","focus","onBlur","setBalance","defaultProps","expiryDateRequired","GiftCardFields"],"mappings":"8iBA4BA,MAAMA,UAAiBC,EAgCnBC,SAAAA,CAAUC,GACNC,KAAKC,SAAS,CAAEF,UACpB,CAiBAG,MAAAA,CAAOC,GAAOC,eAAEA,EAAcC,QAAEA,EAAOC,iBAAEA,IACrC,MAAMC,KAAEA,GAASC,IAEXC,EAAoBH,GAAkBI,MAAQL,GAASK,MAAQJ,EAAmBD,EAClFM,EAAmBF,GAAmBC,OAASV,KAAKG,MAAMS,QAAQF,MAExE,GAAID,GAAqBE,EACrB,OAAOE,EAACC,EAAAA,CAAeT,QAASA,EAASC,iBAAkBA,EAAkBS,SAAUZ,EAAMY,YAAcZ,IAG/G,MAAMa,EAAsBC,IACxB,GAAIA,EAASC,OAAOC,oBAAqB,OAAOZ,EAAKa,IAAIH,EAASC,OAAOC,qBAEzE,OAAQnB,KAAKqB,MAAMtB,QACf,IAAK,aACD,OAAOQ,EAAKa,IAAI,6BACpB,IAAK,aACD,OAAOb,EAAKa,IAAI,6BACpB,IAAK,iBACD,OAAOb,EAAKa,IAAI,iCACpB,QACI,OAAO,KACf,EAGJ,OACIP,EAACS,MAAAA,CAAIC,UAAU,4BACY,UAAtBvB,KAAKqB,MAAMtB,QAAsBc,EAACW,EAAAA,CAAMC,KAAM,SAAUlB,EAAKa,IAAI,0BAElEP,EAACa,EAAAA,IACO1B,KAAKG,MACTwB,IAAKA,IACD3B,KAAK4B,IAAMD,CAAAA,EAEfE,SAAU7B,KAAK6B,SACfC,QAAS9B,KAAK+B,YACdC,KAAMC,EACN/B,OAAQ,EAAGgC,cAAaC,cAAclB,IAClCjB,KAAKG,MAAMiC,sBAAsB,CAC7B7B,KAAMA,EACN8B,YAAarC,KAAKG,MAAMkC,YACxBjC,eAAgBA,EAChBY,oBAAqBA,EACrBkB,YAAaA,EACbC,WAAYA,EACZlB,SAAUA,MAKrBjB,KAAKG,MAAMmC,eACRtC,KAAKG,MAAMoC,UAAU,CACjBxC,OAAQC,KAAKqB,MAAMtB,OACnByC,QAASxC,KAAKG,MAAMY,SACpB0B,MAAOlC,EAAKa,IAAI,mBAIpC,mBA5GAsB,SAAAC,GAAAC,EAAA5C,KAAOqB,QAAQ,CACXtB,OAAQ,QACR8C,KAAM,CAAC,EACPxC,QAAS,KACTC,iBAAkB,KAClBF,gBAAgB,EAChB0C,SAAS,IAYbF,OAAOhB,WAAP,GAEAgB,EAAA5C,KAAO6B,YAAWZ,IACdjB,KAAKG,MAAM0B,SAAS,CAChBgB,KAAM5B,EAAS4B,KACfC,QAAS7B,EAAS8B,YACtB,IAGJH,OAAOI,kBAAiB,KACpBhD,KAAK4B,IAAIoB,gBAAc,IAO3BJ,EAAA5C,KAAO+B,eAAckB,IACjBjD,KAAKC,SAAS,CAAEG,eAAgB6C,EAAEC,sBAEJ,IAAZD,EAAEE,MAEhBnD,KAAKG,MAAM2B,QAAQmB,GAEnBjD,KAAKG,MAAMiD,OAAOH,EACtB,IAGJL,OAAOS,cAAa,EAAGhD,UAASC,uBAC5BN,KAAKC,SAAS,CAAEI,UAASC,oBAAiB,KAtC9CsC,EAVEhD,EAUY0D,eAAe,CACzBjB,aAAa,EACbkB,oBAAoB,EACpB1B,SAAU,OACVC,QAAS,OACTsB,OAAQ,OACRhB,sBAAuBoB"}
1
+ {"version":3,"file":"GiftcardComponent.js","sources":["../../../../../src/components/Giftcard/components/GiftcardComponent.tsx"],"sourcesContent":["import { Component, FunctionComponent, h } from 'preact';\nimport SecuredFieldsProvider from '../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport Alert from '../../internal/Alert';\nimport GiftcardResult from './GiftcardResult';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { GIFT_CARD } from '../../internal/SecuredFields/lib/constants';\nimport { GiftCardFields } from './GiftcardFields';\nimport { GiftcardFieldsProps, Placeholders } from './types';\n\ninterface GiftcardComponentProps {\n onChange: (state) => void;\n onFocus: (event) => void;\n onBlur: (event) => void;\n onSubmit: (event) => void;\n onBalanceCheck: (event) => void;\n\n amount?: PaymentAmount;\n showPayButton: boolean;\n payButton: (config) => any;\n\n pinRequired: boolean;\n expiryDateRequired?: boolean;\n fieldsLayoutComponent: FunctionComponent<GiftcardFieldsProps>;\n placeholders?: Placeholders;\n handleKeyPress?: (o: KeyboardEvent) => void;\n}\n\nclass Giftcard extends Component<GiftcardComponentProps> {\n public state = {\n status: 'ready',\n data: {},\n balance: null,\n transactionLimit: null,\n focusedElement: false,\n isValid: false\n };\n\n public static defaultProps = {\n pinRequired: true,\n expiryDateRequired: false,\n onChange: () => {},\n onFocus: () => {},\n onBlur: () => {},\n fieldsLayoutComponent: GiftCardFields\n };\n\n public sfp;\n\n public onChange = sfpState => {\n this.props.onChange({\n data: sfpState.data,\n isValid: sfpState.isSfpValid\n });\n };\n\n public showValidation = () => {\n this.sfp.showValidation();\n };\n\n setStatus(status) {\n this.setState({ status });\n }\n\n public handleFocus = e => {\n this.setState({ focusedElement: e.currentFocusObject });\n\n const isFocused = e.focus === true;\n if (isFocused) {\n this.props.onFocus(e);\n } else {\n this.props.onBlur(e);\n }\n };\n\n public setBalance = ({ balance, transactionLimit }) => {\n this.setState({ balance, transactionLimit });\n };\n\n render(props, { focusedElement, balance, transactionLimit }) {\n const { i18n } = useCoreContext();\n\n const transactionAmount = transactionLimit?.value < balance?.value ? transactionLimit : balance;\n const hasEnoughBalance = transactionAmount?.value >= this.props.amount?.value;\n\n if (transactionAmount && hasEnoughBalance) {\n return <GiftcardResult balance={balance} transactionLimit={transactionLimit} onSubmit={props.onSubmit} {...props} />;\n }\n\n const getCardErrorMessage = sfpState => {\n if (sfpState.errors.encryptedCardNumber) return i18n.get(sfpState.errors.encryptedCardNumber);\n\n switch (this.state.status) {\n case 'no-balance':\n return i18n.get('error.giftcard.no-balance');\n case 'card-error':\n return i18n.get('error.giftcard.card-error');\n case 'currency-error':\n return i18n.get('error.giftcard.currency-error');\n default:\n return null;\n }\n };\n\n return (\n <div className=\"adyen-checkout__giftcard\">\n {this.state.status === 'error' && <Alert icon={'cross'}>{i18n.get('error.message.unknown')}</Alert>}\n\n <SecuredFieldsProvider\n {...this.props}\n ref={ref => {\n this.sfp = ref;\n }}\n onChange={this.onChange}\n onFocus={this.handleFocus}\n type={GIFT_CARD}\n render={({ setRootNode, setFocusOn }, sfpState) =>\n this.props.fieldsLayoutComponent({\n i18n: i18n,\n pinRequired: this.props.pinRequired,\n focusedElement: focusedElement,\n getCardErrorMessage: getCardErrorMessage,\n setRootNode: setRootNode,\n setFocusOn: setFocusOn,\n sfpState: sfpState\n })\n }\n />\n\n {this.props.showPayButton &&\n this.props.payButton({\n status: this.state.status,\n onClick: this.props.onSubmit,\n label: i18n.get('applyGiftcard')\n })}\n </div>\n );\n }\n}\n\nexport default Giftcard;\n"],"names":["Giftcard","Component","setStatus","status","this","setState","render","props","focusedElement","balance","transactionLimit","i18n","useCoreContext","transactionAmount","value","hasEnoughBalance","amount","h","GiftcardResult","onSubmit","getCardErrorMessage","sfpState","errors","encryptedCardNumber","get","state","div","className","Alert","icon","SecuredFieldsProvider","ref","sfp","onChange","onFocus","handleFocus","type","GIFT_CARD","setRootNode","setFocusOn","fieldsLayoutComponent","pinRequired","showPayButton","payButton","onClick","label","super","args","_define_property","data","isValid","isSfpValid","showValidation","e","currentFocusObject","focus","onBlur","setBalance","defaultProps","expiryDateRequired","GiftCardFields"],"mappings":"8iBA4BA,MAAMA,UAAiBC,EAgCnBC,SAAAA,CAAUC,GACNC,KAAKC,SAAS,CAAEF,UACpB,CAiBAG,MAAAA,CAAOC,GAAOC,eAAEA,EAAcC,QAAEA,EAAOC,iBAAEA,IACrC,MAAMC,KAAEA,GAASC,IAEXC,EAAoBH,GAAkBI,MAAQL,GAASK,MAAQJ,EAAmBD,EAClFM,EAAmBF,GAAmBC,OAASV,KAAKG,MAAMS,QAAQF,MAExE,GAAID,GAAqBE,EACrB,OAAOE,EAACC,EAAAA,CAAeT,QAASA,EAASC,iBAAkBA,EAAkBS,SAAUZ,EAAMY,YAAcZ,IAG/G,MAAMa,EAAsBC,IACxB,GAAIA,EAASC,OAAOC,oBAAqB,OAAOZ,EAAKa,IAAIH,EAASC,OAAOC,qBAEzE,OAAQnB,KAAKqB,MAAMtB,QACf,IAAK,aACD,OAAOQ,EAAKa,IAAI,6BACpB,IAAK,aACD,OAAOb,EAAKa,IAAI,6BACpB,IAAK,iBACD,OAAOb,EAAKa,IAAI,iCACpB,QACI,OAAO,KACf,EAGJ,OACIP,EAACS,MAAAA,CAAIC,UAAU,4BACY,UAAtBvB,KAAKqB,MAAMtB,QAAsBc,EAACW,EAAAA,CAAMC,KAAM,SAAUlB,EAAKa,IAAI,0BAElEP,EAACa,EAAAA,IACO1B,KAAKG,MACTwB,IAAKA,IACD3B,KAAK4B,IAAMD,CAAAA,EAEfE,SAAU7B,KAAK6B,SACfC,QAAS9B,KAAK+B,YACdC,KAAMC,EACN/B,OAAQ,EAAGgC,cAAaC,cAAclB,IAClCjB,KAAKG,MAAMiC,sBAAsB,CAC7B7B,KAAMA,EACN8B,YAAarC,KAAKG,MAAMkC,YACxBjC,eAAgBA,EAChBY,oBAAqBA,EACrBkB,YAAaA,EACbC,WAAYA,EACZlB,SAAUA,MAKrBjB,KAAKG,MAAMmC,eACRtC,KAAKG,MAAMoC,UAAU,CACjBxC,OAAQC,KAAKqB,MAAMtB,OACnByC,QAASxC,KAAKG,MAAMY,SACpB0B,MAAOlC,EAAKa,IAAI,mBAIpC,mBA7GJsB,SAAAC,GACIC,OAAOvB,QAAQ,CACXtB,OAAQ,QACR8C,KAAM,CAAC,EACPxC,QAAS,KACTC,iBAAkB,KAClBF,gBAAgB,EAChB0C,SAAS,IAYbF,OAAOhB,WAAP,GAEAgB,EAAA5C,KAAO6B,YAAWZ,IACdjB,KAAKG,MAAM0B,SAAS,CAChBgB,KAAM5B,EAAS4B,KACfC,QAAS7B,EAAS8B,YACtB,IAGJH,OAAOI,kBAAiB,KACpBhD,KAAK4B,IAAIoB,gBAAc,IAO3BJ,EAAA5C,KAAO+B,eAAckB,IACjBjD,KAAKC,SAAS,CAAEG,eAAgB6C,EAAEC,sBAEJ,IAAZD,EAAEE,MAEhBnD,KAAKG,MAAM2B,QAAQmB,GAEnBjD,KAAKG,MAAMiD,OAAOH,EACtB,IAGJL,OAAOS,cAAa,EAAGhD,UAASC,uBAC5BN,KAAKC,SAAS,CAAEI,UAASC,oBAAiB,KAtC9CsC,EAVEhD,EAUY0D,eAAe,CACzBjB,aAAa,EACbkB,oBAAoB,EACpB1B,SAAU,OACVC,QAAS,OACTsB,OAAQ,OACRhB,sBAAuBoB"}
@@ -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,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};
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,...void 0!==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 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
+ {"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 !== undefined && { 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,yBACqBR,IAAjBG,GAA8B,CAAEA,oBAG3CO,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 +1 @@
1
- {"version":3,"file":"requests.js","sources":["../../../../src/components/GooglePay/requests.ts"],"sourcesContent":["import { getDecimalAmount } from '../../utils/amount-util';\nimport config from './config';\nimport { GooglePaymentDataRequest, GooglePayConfiguration } from './types';\n\n/**\n * Configure your site's support for payment methods supported by the Google Pay API.\n *\n * @see {@link https://developers.google.com/pay/api/web/reference/object#IsReadyToPayRequest|isReadyToPayRequest}\n * @returns Google Pay API version, payment methods supported by the site\n */\nexport function isReadyToPayRequest({\n allowedAuthMethods,\n allowedCardNetworks,\n existingPaymentMethodRequired = false\n}: Pick<\n GooglePayConfiguration,\n 'allowedAuthMethods' | 'allowedCardNetworks' | 'existingPaymentMethodRequired'\n>): google.payments.api.IsReadyToPayRequest {\n return {\n apiVersion: config.API_VERSION,\n apiVersionMinor: config.API_VERSION_MINOR,\n allowedPaymentMethods: [\n {\n type: 'CARD',\n parameters: {\n allowedAuthMethods,\n allowedCardNetworks\n },\n tokenizationSpecification: {\n type: 'PAYMENT_GATEWAY',\n parameters: {}\n }\n }\n ],\n existingPaymentMethodRequired\n };\n}\n\n/**\n * Provide Google Pay API with a payment amount, currency, and amount status\n *\n * @see {@link https://developers.google.com/pay/api/web/reference/object#TransactionInfo|TransactionInfo}\n * @returns transaction info, suitable for use as transactionInfo property of PaymentDataRequest\n */\nexport function getTransactionInfo({\n amount,\n countryCode = 'US',\n totalPriceStatus = 'FINAL',\n ...props\n}: GooglePayConfiguration): google.payments.api.TransactionInfo {\n const formattedPrice = String(getDecimalAmount(amount.value, amount.currency));\n\n return {\n countryCode,\n currencyCode: amount.currency,\n totalPrice: formattedPrice,\n totalPriceStatus: totalPriceStatus,\n ...props.transactionInfo\n };\n}\n\nexport function initiatePaymentRequest({ configuration, ...props }: GooglePayConfiguration, countryCode: string): GooglePaymentDataRequest {\n return {\n apiVersion: config.API_VERSION,\n apiVersionMinor: config.API_VERSION_MINOR,\n transactionInfo: getTransactionInfo({ countryCode, ...props }),\n merchantInfo: {\n merchantId: configuration.merchantId,\n merchantName: configuration.merchantName,\n ...(configuration.merchantOrigin ? { merchantOrigin: configuration.merchantOrigin } : {}),\n ...(configuration.authJwt ? { authJwt: configuration.authJwt } : {})\n },\n allowedPaymentMethods: [\n {\n type: 'CARD',\n tokenizationSpecification: {\n type: 'PAYMENT_GATEWAY',\n parameters: {\n gateway: config.GATEWAY,\n gatewayMerchantId: configuration.gatewayMerchantId\n }\n },\n parameters: {\n allowedAuthMethods: props.allowedAuthMethods,\n allowedCardNetworks: props.allowedCardNetworks,\n assuranceDetailsRequired: props.assuranceDetailsRequired,\n allowPrepaidCards: props.allowPrepaidCards,\n allowCreditCards: props.allowCreditCards,\n billingAddressRequired: props.billingAddressRequired,\n billingAddressParameters: props.billingAddressParameters\n }\n }\n ],\n emailRequired: props.emailRequired,\n shippingAddressRequired: props.shippingAddressRequired,\n shippingAddressParameters: props.shippingAddressParameters,\n shippingOptionRequired: props.shippingOptionRequired,\n shippingOptionParameters: props.shippingOptionParameters,\n callbackIntents: props.callbackIntents\n };\n}\n"],"names":["isReadyToPayRequest","allowedAuthMethods","allowedCardNetworks","existingPaymentMethodRequired","apiVersion","config","API_VERSION","apiVersionMinor","API_VERSION_MINOR","allowedPaymentMethods","type","parameters","tokenizationSpecification","getTransactionInfo","amount","countryCode","totalPriceStatus","props","formattedPrice","String","getDecimalAmount","value","currency","currencyCode","totalPrice","transactionInfo","initiatePaymentRequest","configuration","merchantInfo","merchantId","merchantName","merchantOrigin","authJwt","gateway","GATEWAY","gatewayMerchantId","assuranceDetailsRequired","allowPrepaidCards","allowCreditCards","billingAddressRequired","billingAddressParameters","emailRequired","shippingAddressRequired","shippingAddressParameters","shippingOptionRequired","shippingOptionParameters","callbackIntents"],"mappings":"yFAUO,SAASA,GAAoBC,mBAChCA,EAAkBC,oBAClBA,EAAmBC,8BACnBA,GAAgC,IAKhC,MAAO,CACHC,WAAYC,EAAOC,YACnBC,gBAAiBF,EAAOG,kBACxBC,sBAAuB,CACnB,CACIC,KAAM,OACNC,WAAY,CACRV,qBACAC,uBAEJU,0BAA2B,CACvBF,KAAM,kBACNC,WAAY,CAAC,KAIzBR,gCAER,CAQO,SAASU,GAAmBC,OAC/BA,EAAMC,YACNA,EAAc,KAAIC,iBAClBA,EAAmB,WAChBC,IAEH,MAAMC,EAAiBC,OAAOC,EAAiBN,EAAOO,MAAOP,EAAOQ,WAEpE,MAAO,CACHP,cACAQ,aAAcT,EAAOQ,SACrBE,WAAYN,EACZF,iBAAkBA,KACfC,EAAMQ,gBAEjB,CAEO,SAASC,GAAuBC,cAAEA,KAAkBV,GAAiCF,GACxF,MAAO,CACHX,WAAYC,EAAOC,YACnBC,gBAAiBF,EAAOG,kBACxBiB,gBAAiBZ,EAAmB,CAAEE,iBAAgBE,IACtDW,aAAc,CACVC,WAAYF,EAAcE,WAC1BC,aAAcH,EAAcG,gBACxBH,EAAcI,eAAiB,CAAEA,eAAgBJ,EAAcI,gBAAmB,CAAE,KACpFJ,EAAcK,QAAU,CAAEA,QAASL,EAAcK,SAAY,CAAE,GAEvEvB,sBAAuB,CACnB,CACIC,KAAM,OACNE,0BAA2B,CACvBF,KAAM,kBACNC,WAAY,CACRsB,QAAS5B,EAAO6B,QAChBC,kBAAmBR,EAAcQ,oBAGzCxB,WAAY,CACRV,mBAAoBgB,EAAMhB,mBAC1BC,oBAAqBe,EAAMf,oBAC3BkC,yBAA0BnB,EAAMmB,yBAChCC,kBAAmBpB,EAAMoB,kBACzBC,iBAAkBrB,EAAMqB,iBACxBC,uBAAwBtB,EAAMsB,uBAC9BC,yBAA0BvB,EAAMuB,4BAI5CC,cAAexB,EAAMwB,cACrBC,wBAAyBzB,EAAMyB,wBAC/BC,0BAA2B1B,EAAM0B,0BACjCC,uBAAwB3B,EAAM2B,uBAC9BC,yBAA0B5B,EAAM4B,yBAChCC,gBAAiB7B,EAAM6B,gBAE/B"}
1
+ {"version":3,"file":"requests.js","sources":["../../../../src/components/GooglePay/requests.ts"],"sourcesContent":["import { getDecimalAmount } from '../../utils/amount-util';\nimport config from './config';\nimport { GooglePaymentDataRequest, GooglePayConfiguration } from './types';\n\n/**\n * Configure your site's support for payment methods supported by the Google Pay API.\n *\n * @see {@link https://developers.google.com/pay/api/web/reference/object#IsReadyToPayRequest|isReadyToPayRequest}\n * @returns Google Pay API version, payment methods supported by the site\n */\nexport function isReadyToPayRequest({\n allowedAuthMethods,\n allowedCardNetworks,\n existingPaymentMethodRequired = false\n}: Pick<\n GooglePayConfiguration,\n 'allowedAuthMethods' | 'allowedCardNetworks' | 'existingPaymentMethodRequired'\n>): google.payments.api.IsReadyToPayRequest {\n return {\n apiVersion: config.API_VERSION,\n apiVersionMinor: config.API_VERSION_MINOR,\n allowedPaymentMethods: [\n {\n type: 'CARD',\n parameters: {\n allowedAuthMethods,\n allowedCardNetworks\n },\n tokenizationSpecification: {\n type: 'PAYMENT_GATEWAY',\n parameters: {}\n }\n }\n ],\n existingPaymentMethodRequired\n };\n}\n\n/**\n * Provide Google Pay API with a payment amount, currency, and amount status\n *\n * @see {@link https://developers.google.com/pay/api/web/reference/object#TransactionInfo|TransactionInfo}\n * @returns transaction info, suitable for use as transactionInfo property of PaymentDataRequest\n */\nexport function getTransactionInfo({\n amount,\n countryCode = 'US',\n totalPriceStatus = 'FINAL',\n ...props\n}: GooglePayConfiguration): google.payments.api.TransactionInfo {\n const formattedPrice = String(getDecimalAmount(amount.value, amount.currency));\n\n return {\n countryCode,\n currencyCode: amount.currency,\n totalPrice: formattedPrice,\n totalPriceStatus: totalPriceStatus,\n ...props.transactionInfo\n };\n}\n\nexport function initiatePaymentRequest({ configuration, ...props }: GooglePayConfiguration, countryCode: string): GooglePaymentDataRequest {\n return {\n apiVersion: config.API_VERSION,\n apiVersionMinor: config.API_VERSION_MINOR,\n transactionInfo: getTransactionInfo({ countryCode, ...props }),\n merchantInfo: {\n merchantId: configuration.merchantId,\n merchantName: configuration.merchantName,\n ...(configuration.merchantOrigin ? { merchantOrigin: configuration.merchantOrigin } : {}),\n ...(configuration.authJwt ? { authJwt: configuration.authJwt } : {})\n },\n allowedPaymentMethods: [\n {\n type: 'CARD',\n tokenizationSpecification: {\n type: 'PAYMENT_GATEWAY',\n parameters: {\n gateway: config.GATEWAY,\n gatewayMerchantId: configuration.gatewayMerchantId\n }\n },\n parameters: {\n allowedAuthMethods: props.allowedAuthMethods,\n allowedCardNetworks: props.allowedCardNetworks,\n assuranceDetailsRequired: props.assuranceDetailsRequired,\n allowPrepaidCards: props.allowPrepaidCards,\n allowCreditCards: props.allowCreditCards,\n billingAddressRequired: props.billingAddressRequired,\n billingAddressParameters: props.billingAddressParameters\n }\n }\n ],\n emailRequired: props.emailRequired,\n shippingAddressRequired: props.shippingAddressRequired,\n shippingAddressParameters: props.shippingAddressParameters,\n shippingOptionRequired: props.shippingOptionRequired,\n shippingOptionParameters: props.shippingOptionParameters,\n callbackIntents: props.callbackIntents\n };\n}\n"],"names":["isReadyToPayRequest","allowedAuthMethods","allowedCardNetworks","existingPaymentMethodRequired","apiVersion","config","API_VERSION","apiVersionMinor","API_VERSION_MINOR","allowedPaymentMethods","type","parameters","tokenizationSpecification","getTransactionInfo","amount","countryCode","totalPriceStatus","props","formattedPrice","String","getDecimalAmount","value","currency","currencyCode","totalPrice","transactionInfo","initiatePaymentRequest","configuration","merchantInfo","merchantId","merchantName","merchantOrigin","authJwt","gateway","GATEWAY","gatewayMerchantId","assuranceDetailsRequired","allowPrepaidCards","allowCreditCards","billingAddressRequired","billingAddressParameters","emailRequired","shippingAddressRequired","shippingAddressParameters","shippingOptionRequired","shippingOptionParameters","callbackIntents"],"mappings":"yFAUO,SAASA,GAAoBC,mBAChCA,EAAkBC,oBAClBA,EAAmBC,8BACnBA,GAAgC,IAKhC,MAAO,CACHC,WAAYC,EAAOC,YACnBC,gBAAiBF,EAAOG,kBACxBC,sBAAuB,CACnB,CACIC,KAAM,OACNC,WAAY,CACRV,qBACAC,uBAEJU,0BAA2B,CACvBF,KAAM,kBACNC,WAAY,CAAA,KAIxBR,gCAER,CAQO,SAASU,GAAmBC,OAC/BA,EAAMC,YACNA,EAAc,KAAIC,iBAClBA,EAAmB,WAChBC,IAEH,MAAMC,EAAiBC,OAAOC,EAAiBN,EAAOO,MAAOP,EAAOQ,WAEpE,MAAO,CACHP,cACAQ,aAAcT,EAAOQ,SACrBE,WAAYN,EACZF,iBAAkBA,KACfC,EAAMQ,gBAEjB,CAEO,SAASC,GAAuBC,cAAEA,KAAkBV,GAAiCF,GACxF,MAAO,CACHX,WAAYC,EAAOC,YACnBC,gBAAiBF,EAAOG,kBACxBiB,gBAAiBZ,EAAmB,CAAEE,iBAAgBE,IACtDW,aAAc,CACVC,WAAYF,EAAcE,WAC1BC,aAAcH,EAAcG,gBACxBH,EAAcI,eAAiB,CAAEA,eAAgBJ,EAAcI,gBAAmB,CAAE,KACpFJ,EAAcK,QAAU,CAAEA,QAASL,EAAcK,SAAY,CAAA,GAErEvB,sBAAuB,CACnB,CACIC,KAAM,OACNE,0BAA2B,CACvBF,KAAM,kBACNC,WAAY,CACRsB,QAAS5B,EAAO6B,QAChBC,kBAAmBR,EAAcQ,oBAGzCxB,WAAY,CACRV,mBAAoBgB,EAAMhB,mBAC1BC,oBAAqBe,EAAMf,oBAC3BkC,yBAA0BnB,EAAMmB,yBAChCC,kBAAmBpB,EAAMoB,kBACzBC,iBAAkBrB,EAAMqB,iBACxBC,uBAAwBtB,EAAMsB,uBAC9BC,yBAA0BvB,EAAMuB,4BAI5CC,cAAexB,EAAMwB,cACrBC,wBAAyBzB,EAAMyB,wBAC/BC,0BAA2B1B,EAAM0B,0BACjCC,uBAAwB3B,EAAM2B,uBAC9BC,yBAA0B5B,EAAM4B,yBAChCC,gBAAiB7B,EAAM6B,gBAE/B"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import n from"../internal/PayButton/PayButton.js";import{KlarnaContainer as i}from"./components/KlarnaContainer/KlarnaContainer.js";import{TxVariants as s}from"../tx-variants.js";function a(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}class r extends e{get isValid(){return!0}formatData(){return{paymentMethod:{type:this.type,...this.props.useKlarnaWidget?{subtype:"sdk"}:{}}}}updateWithAction(t){if(t.paymentMethodType!==this.type)throw new Error("Invalid Action");this.componentRef.setAction(t)}onLoaded(){this.setElementStatus("ready")}activate(){this.componentRef.reinitializeWidget()}onComplete(t){this.handleAdditionalDetails(t)}render(){return t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(i,{...this.props,setComponentRef:this.setComponentRef,displayName:this.displayName,onComplete:this.onComplete,onError:this.props.onError,payButton:this.payButton,onLoaded:this.onLoaded,showPayButton:this.props.showPayButton,onActionHandled:this.onActionHandled,type:this.props.type}))}constructor(e,o){super(e,o),a(this,"componentRef",void 0),a(this,"payButton",(e=>t(n,{amount:this.props.amount,onClick:this.submit,...e}))),this.onComplete=this.onComplete.bind(this),this.updateWithAction=this.updateWithAction.bind(this),this.submit=this.submit.bind(this),this.onLoaded=this.onLoaded.bind(this)}}a(r,"type",s.klarna),a(r,"txVariants",[s.klarna,s.klarna_account,s.klarna_paynow,s.klarna_b2b]),a(r,"defaultProps",{useKlarnaWidget:!1});export{r as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import{CoreProvider as n}from"../../core/Context/CoreProvider.js";import o from"../internal/PayButton/PayButton.js";import{KlarnaContainer as i}from"./components/KlarnaContainer/KlarnaContainer.js";import{TxVariants as s}from"../tx-variants.js";function a(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}class r extends e{get isValid(){return!0}formatData(){return{paymentMethod:{type:this.type,...this.props.useKlarnaWidget?{subtype:"sdk"}:{}}}}handleAction(t,e={}){if("sdk"!==t.type)return super.handleAction(t,e);this.updateWithAction(t)}updateWithAction(t){if(t.paymentMethodType!==this.type)throw new Error("Invalid Action");this.componentRef.setAction(t)}onLoaded(){this.setElementStatus("ready")}activate(){this.componentRef.reinitializeWidget()}onComplete(t){this.handleAdditionalDetails(t)}render(){return t(n,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(i,{...this.props,setComponentRef:this.setComponentRef,displayName:this.displayName,onComplete:this.onComplete,onError:this.props.onError,payButton:this.payButton,onLoaded:this.onLoaded,showPayButton:this.props.showPayButton,onActionHandled:this.onActionHandled,type:this.props.type}))}constructor(e,n){super(e,n),a(this,"componentRef",void 0),a(this,"payButton",(e=>t(o,{amount:this.props.amount,onClick:this.submit,...e}))),this.onComplete=this.onComplete.bind(this),this.updateWithAction=this.updateWithAction.bind(this),this.submit=this.submit.bind(this),this.onLoaded=this.onLoaded.bind(this)}}a(r,"type",s.klarna),a(r,"txVariants",[s.klarna,s.klarna_account,s.klarna_paynow,s.klarna_b2b]),a(r,"defaultProps",{useKlarnaWidget:!1});export{r as default};
2
2
  //# sourceMappingURL=KlarnaPayments.js.map