@adyen/adyen-web 6.32.1 → 6.34.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 (360) hide show
  1. package/dist/cjs/adyen.css +5 -4
  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 +197 -102
  6. package/dist/es/adyen.css +5 -4
  7. package/dist/es/adyen.css.map +1 -1
  8. package/dist/es/components/Ach/Ach.js.map +1 -1
  9. package/dist/es/components/Ach/components/AchComponent.js.map +1 -1
  10. package/dist/es/components/AmazonPay/AmazonPay.js +1 -1
  11. package/dist/es/components/AmazonPay/AmazonPay.js.map +1 -1
  12. package/dist/es/components/AmazonPay/components/AmazonPayButton.js +1 -1
  13. package/dist/es/components/AmazonPay/components/AmazonPayButton.js.map +1 -1
  14. package/dist/es/components/AmazonPay/components/AmazonPayComponent.js +1 -1
  15. package/dist/es/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
  16. package/dist/es/components/AmazonPay/components/ChangePaymentDetailsButton.js +1 -1
  17. package/dist/es/components/AmazonPay/components/ChangePaymentDetailsButton.js.map +1 -1
  18. package/dist/es/components/AmazonPay/components/SignOutButton.js +1 -1
  19. package/dist/es/components/AmazonPay/components/SignOutButton.js.map +1 -1
  20. package/dist/es/components/AmazonPay/defaultProps.js +1 -1
  21. package/dist/es/components/AmazonPay/defaultProps.js.map +1 -1
  22. package/dist/es/components/AmazonPay/services.js.map +1 -1
  23. package/dist/es/components/ApplePay/ApplePay.js +1 -1
  24. package/dist/es/components/ApplePay/ApplePay.js.map +1 -1
  25. package/dist/es/components/ApplePay/services/ApplePayService.js +1 -1
  26. package/dist/es/components/ApplePay/services/ApplePayService.js.map +1 -1
  27. package/dist/es/components/ApplePay/utils/payment-request.js +1 -1
  28. package/dist/es/components/ApplePay/utils/payment-request.js.map +1 -1
  29. package/dist/es/components/Boleto/Boleto.js +1 -1
  30. package/dist/es/components/Boleto/Boleto.js.map +1 -1
  31. package/dist/es/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
  32. package/dist/es/components/Card/Card.js +1 -1
  33. package/dist/es/components/Card/Card.js.map +1 -1
  34. package/dist/es/components/Card/components/CardInput/CardInput.js +1 -1
  35. package/dist/es/components/Card/components/CardInput/CardInput.js.map +1 -1
  36. package/dist/es/components/Card/components/CardInput/components/AvailableBrands/AvailableBrands.js +1 -1
  37. package/dist/es/components/Card/components/CardInput/components/AvailableBrands/AvailableBrands.js.map +1 -1
  38. package/dist/es/components/Card/components/CardInput/components/BrandIcon.js +1 -1
  39. package/dist/es/components/Card/components/CardInput/components/BrandIcon.js.map +1 -1
  40. package/dist/es/components/Card/components/CardInput/components/ExpirationDate.js +1 -1
  41. package/dist/es/components/Card/components/CardInput/components/ExpirationDate.js.map +1 -1
  42. package/dist/es/components/Card/components/CardInput/defaultProps.js +1 -1
  43. package/dist/es/components/Card/components/CardInput/defaultProps.js.map +1 -1
  44. package/dist/es/components/Card/components/CardInput/types.js.map +1 -1
  45. package/dist/es/components/Card/components/CardInput/utils.js.map +1 -1
  46. package/dist/es/components/Card/components/CardInput/validate.js +1 -1
  47. package/dist/es/components/Card/components/CardInput/validate.js.map +1 -1
  48. package/dist/es/components/Card/components/Fastlane/FastlaneSignup.js.map +1 -1
  49. package/dist/es/components/CashAppPay/CashAppPay.js +1 -1
  50. package/dist/es/components/CashAppPay/CashAppPay.js.map +1 -1
  51. package/dist/es/components/CashAppPay/components/CashAppComponent.js +1 -1
  52. package/dist/es/components/CashAppPay/components/CashAppComponent.js.map +1 -1
  53. package/dist/es/components/CashAppPay/services/types.js.map +1 -1
  54. package/dist/es/components/Doku/Doku.js +1 -1
  55. package/dist/es/components/Doku/Doku.js.map +1 -1
  56. package/dist/es/components/Dropin/components/PaymentMethod/DisableOneClickConfirmation.js +1 -1
  57. package/dist/es/components/Dropin/components/PaymentMethod/DisableOneClickConfirmation.js.map +1 -1
  58. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodBrands/PaymentMethodBrands.js +1 -1
  59. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodBrands/PaymentMethodBrands.js.map +1 -1
  60. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodBrands/utils.js +2 -0
  61. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodBrands/utils.js.map +1 -0
  62. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodIcon.js +1 -1
  63. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodIcon.js.map +1 -1
  64. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
  65. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
  66. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodName.js +1 -1
  67. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodName.js.map +1 -1
  68. package/dist/es/components/Giftcard/components/useSRPanelForGiftcardErrors.js.map +1 -1
  69. package/dist/es/components/Iris/Iris.js +1 -1
  70. package/dist/es/components/Iris/Iris.js.map +1 -1
  71. package/dist/es/components/Multibanco/Multibanco.js +1 -1
  72. package/dist/es/components/Multibanco/Multibanco.js.map +1 -1
  73. package/dist/es/components/Multibanco/components/MultibancoVoucherResult/MultibancoVoucherResult.js.map +1 -1
  74. package/dist/es/components/Oxxo/Oxxo.js +1 -1
  75. package/dist/es/components/Oxxo/Oxxo.js.map +1 -1
  76. package/dist/es/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.js.map +1 -1
  77. package/dist/es/components/PayByBankUS/PayByBankUS.js.map +1 -1
  78. package/dist/es/components/PayPal/Paypal.js +1 -1
  79. package/dist/es/components/PayPal/Paypal.js.map +1 -1
  80. package/dist/es/components/PayPal/components/PaypalButtons.js +1 -1
  81. package/dist/es/components/PayPal/components/PaypalButtons.js.map +1 -1
  82. package/dist/es/components/PayPal/components/PaypalComponent.js +1 -1
  83. package/dist/es/components/PayPal/components/PaypalComponent.js.map +1 -1
  84. package/dist/es/components/PayPal/utils/format-paypal-order-contact-to-adyen-format.js +1 -1
  85. package/dist/es/components/PayPal/utils/format-paypal-order-contact-to-adyen-format.js.map +1 -1
  86. package/dist/es/components/PayPal/utils/get-paypal-styles.js.map +1 -1
  87. package/dist/es/components/PayPalFastlane/Fastlane.js.map +1 -1
  88. package/dist/es/components/Pix/Pix.js +1 -1
  89. package/dist/es/components/Pix/Pix.js.map +1 -1
  90. package/dist/es/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js.map +1 -1
  91. package/dist/es/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
  92. package/dist/es/components/UPI/UPI.js +1 -1
  93. package/dist/es/components/UPI/UPI.js.map +1 -1
  94. package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
  95. package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
  96. package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js +1 -1
  97. package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js.map +1 -1
  98. package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js +1 -1
  99. package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js.map +1 -1
  100. package/dist/es/components/UPI/constants.js +1 -1
  101. package/dist/es/components/UPI/constants.js.map +1 -1
  102. package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  103. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  104. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  105. package/dist/es/components/internal/BrandIcons/BrandIcons.js +2 -0
  106. package/dist/es/components/internal/BrandIcons/BrandIcons.js.map +1 -0
  107. package/dist/es/components/internal/BrandIcons/BrandIcons.module.scss.js +2 -0
  108. package/dist/es/components/internal/BrandIcons/BrandIcons.module.scss.js.map +1 -0
  109. package/dist/es/components/internal/{Brand/Brand.js → BrandImage/BrandImage.js} +2 -2
  110. package/dist/es/components/internal/BrandImage/BrandImage.js.map +1 -0
  111. package/dist/es/components/internal/Button/Button.js +1 -1
  112. package/dist/es/components/internal/Button/Button.js.map +1 -1
  113. package/dist/es/components/internal/ExpandButton/ExpandButton.js +1 -1
  114. package/dist/es/components/internal/ExpandButton/ExpandButton.js.map +1 -1
  115. package/dist/es/components/internal/RedirectButton/RedirectButton.js.map +1 -1
  116. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  117. package/dist/es/components/internal/SecuredFields/lib/CSF/AbstractCSF.js.map +1 -1
  118. package/dist/es/components/internal/SecuredFields/lib/CSF/CSF.js +1 -1
  119. package/dist/es/components/internal/SecuredFields/lib/CSF/CSF.js.map +1 -1
  120. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/configureCallbacks.js.map +1 -1
  121. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
  122. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleEncryption.js +1 -1
  123. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleEncryption.js.map +1 -1
  124. package/dist/es/components/internal/SecuredFields/lib/CSF/utils/processErrors.js.map +1 -1
  125. package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
  126. package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
  127. package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
  128. package/dist/es/components/internal/Tooltip/Tooltip.js.map +1 -1
  129. package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
  130. package/dist/es/core/Analytics/Analytics.js +1 -1
  131. package/dist/es/core/Analytics/Analytics.js.map +1 -1
  132. package/dist/es/core/Analytics/AnalyticsEventQueue.js +1 -1
  133. package/dist/es/core/Analytics/AnalyticsEventQueue.js.map +1 -1
  134. package/dist/es/core/Environment/constants.js +1 -1
  135. package/dist/es/core/Environment/constants.js.map +1 -1
  136. package/dist/es/core/config.js +1 -1
  137. package/dist/es/core/config.js.map +1 -1
  138. package/dist/es/core/core.js +1 -1
  139. package/dist/es/core/core.js.map +1 -1
  140. package/dist/es/external/preact/compat/dist/compat.js +1 -1
  141. package/dist/es/external/preact/compat/dist/compat.js.map +1 -1
  142. package/dist/es/external/preact/dist/preact.js +1 -1
  143. package/dist/es/external/preact/dist/preact.js.map +1 -1
  144. package/dist/es/external/preact/hooks/dist/hooks.js +1 -1
  145. package/dist/es/external/preact/hooks/dist/hooks.js.map +1 -1
  146. package/dist/es/index.d.ts +197 -102
  147. package/dist/es/language/Language.js +1 -1
  148. package/dist/es/language/Language.js.map +1 -1
  149. package/dist/es/language/LanguageService.js +2 -0
  150. package/dist/es/language/LanguageService.js.map +1 -0
  151. package/dist/es/language/constants.js +1 -1
  152. package/dist/es/language/constants.js.map +1 -1
  153. package/dist/es/language/utils.js +1 -1
  154. package/dist/es/language/utils.js.map +1 -1
  155. package/dist/es/packages/server/translations/en-US.json.js +2 -0
  156. package/dist/es/packages/server/translations/en-US.json.js.map +1 -0
  157. package/dist/es-legacy/adyen.css +5 -4
  158. package/dist/es-legacy/adyen.css.map +1 -1
  159. package/dist/es-legacy/components/Ach/Ach.js.map +1 -1
  160. package/dist/es-legacy/components/Ach/components/AchComponent.js.map +1 -1
  161. package/dist/es-legacy/components/AmazonPay/AmazonPay.js +1 -1
  162. package/dist/es-legacy/components/AmazonPay/AmazonPay.js.map +1 -1
  163. package/dist/es-legacy/components/AmazonPay/components/AmazonPayButton.js +1 -1
  164. package/dist/es-legacy/components/AmazonPay/components/AmazonPayButton.js.map +1 -1
  165. package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js +1 -1
  166. package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
  167. package/dist/es-legacy/components/AmazonPay/components/ChangePaymentDetailsButton.js +1 -1
  168. package/dist/es-legacy/components/AmazonPay/components/ChangePaymentDetailsButton.js.map +1 -1
  169. package/dist/es-legacy/components/AmazonPay/components/SignOutButton.js +1 -1
  170. package/dist/es-legacy/components/AmazonPay/components/SignOutButton.js.map +1 -1
  171. package/dist/es-legacy/components/AmazonPay/defaultProps.js +1 -1
  172. package/dist/es-legacy/components/AmazonPay/defaultProps.js.map +1 -1
  173. package/dist/es-legacy/components/AmazonPay/services.js.map +1 -1
  174. package/dist/es-legacy/components/ApplePay/ApplePay.js +1 -1
  175. package/dist/es-legacy/components/ApplePay/ApplePay.js.map +1 -1
  176. package/dist/es-legacy/components/ApplePay/services/ApplePayService.js +1 -1
  177. package/dist/es-legacy/components/ApplePay/services/ApplePayService.js.map +1 -1
  178. package/dist/es-legacy/components/ApplePay/utils/payment-request.js +1 -1
  179. package/dist/es-legacy/components/ApplePay/utils/payment-request.js.map +1 -1
  180. package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferVoucher.js +1 -1
  181. package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferVoucher.js.map +1 -1
  182. package/dist/es-legacy/components/Boleto/Boleto.js +1 -1
  183. package/dist/es-legacy/components/Boleto/Boleto.js.map +1 -1
  184. package/dist/es-legacy/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
  185. package/dist/es-legacy/components/Card/Card.js +1 -1
  186. package/dist/es-legacy/components/Card/Card.js.map +1 -1
  187. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js +1 -1
  188. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js.map +1 -1
  189. package/dist/es-legacy/components/Card/components/CardInput/components/AvailableBrands/AvailableBrands.js +1 -1
  190. package/dist/es-legacy/components/Card/components/CardInput/components/AvailableBrands/AvailableBrands.js.map +1 -1
  191. package/dist/es-legacy/components/Card/components/CardInput/components/BrandIcon.js +1 -1
  192. package/dist/es-legacy/components/Card/components/CardInput/components/BrandIcon.js.map +1 -1
  193. package/dist/es-legacy/components/Card/components/CardInput/components/ExpirationDate.js +1 -1
  194. package/dist/es-legacy/components/Card/components/CardInput/components/ExpirationDate.js.map +1 -1
  195. package/dist/es-legacy/components/Card/components/CardInput/defaultProps.js +1 -1
  196. package/dist/es-legacy/components/Card/components/CardInput/defaultProps.js.map +1 -1
  197. package/dist/es-legacy/components/Card/components/CardInput/types.js.map +1 -1
  198. package/dist/es-legacy/components/Card/components/CardInput/useSRPanelForCardInputErrors.js +1 -1
  199. package/dist/es-legacy/components/Card/components/CardInput/useSRPanelForCardInputErrors.js.map +1 -1
  200. package/dist/es-legacy/components/Card/components/CardInput/utils.js.map +1 -1
  201. package/dist/es-legacy/components/Card/components/CardInput/validate.js +1 -1
  202. package/dist/es-legacy/components/Card/components/CardInput/validate.js.map +1 -1
  203. package/dist/es-legacy/components/Card/components/ClickToPayWrapper.js +1 -1
  204. package/dist/es-legacy/components/Card/components/ClickToPayWrapper.js.map +1 -1
  205. package/dist/es-legacy/components/Card/components/Fastlane/FastlaneSignup.js.map +1 -1
  206. package/dist/es-legacy/components/CashAppPay/CashAppPay.js +1 -1
  207. package/dist/es-legacy/components/CashAppPay/CashAppPay.js.map +1 -1
  208. package/dist/es-legacy/components/CashAppPay/components/CashAppComponent.js +1 -1
  209. package/dist/es-legacy/components/CashAppPay/components/CashAppComponent.js.map +1 -1
  210. package/dist/es-legacy/components/CashAppPay/services/types.js.map +1 -1
  211. package/dist/es-legacy/components/Doku/Doku.js +1 -1
  212. package/dist/es-legacy/components/Doku/Doku.js.map +1 -1
  213. package/dist/es-legacy/components/Dropin/components/PaymentMethod/DisableOneClickConfirmation.js +1 -1
  214. package/dist/es-legacy/components/Dropin/components/PaymentMethod/DisableOneClickConfirmation.js.map +1 -1
  215. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodBrands/PaymentMethodBrands.js +1 -1
  216. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodBrands/PaymentMethodBrands.js.map +1 -1
  217. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodBrands/utils.js +2 -0
  218. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodBrands/utils.js.map +1 -0
  219. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodIcon.js +1 -1
  220. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodIcon.js.map +1 -1
  221. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
  222. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
  223. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodList.js +1 -1
  224. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodList.js.map +1 -1
  225. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodName.js +1 -1
  226. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodName.js.map +1 -1
  227. package/dist/es-legacy/components/Giftcard/components/useSRPanelForGiftcardErrors.js.map +1 -1
  228. package/dist/es-legacy/components/GooglePay/requests.js +1 -1
  229. package/dist/es-legacy/components/GooglePay/requests.js.map +1 -1
  230. package/dist/es-legacy/components/Iris/Iris.js +1 -1
  231. package/dist/es-legacy/components/Iris/Iris.js.map +1 -1
  232. package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js +1 -1
  233. package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js.map +1 -1
  234. package/dist/es-legacy/components/Klarna/components/KlarnaWidget/KlarnaWidget.js +1 -1
  235. package/dist/es-legacy/components/Klarna/components/KlarnaWidget/KlarnaWidget.js.map +1 -1
  236. package/dist/es-legacy/components/Multibanco/Multibanco.js +1 -1
  237. package/dist/es-legacy/components/Multibanco/Multibanco.js.map +1 -1
  238. package/dist/es-legacy/components/Multibanco/components/MultibancoVoucherResult/MultibancoVoucherResult.js.map +1 -1
  239. package/dist/es-legacy/components/Oxxo/Oxxo.js +1 -1
  240. package/dist/es-legacy/components/Oxxo/Oxxo.js.map +1 -1
  241. package/dist/es-legacy/components/Oxxo/components/OxxoVoucherResult/OxxoVoucherResult.js.map +1 -1
  242. package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js +1 -1
  243. package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js.map +1 -1
  244. package/dist/es-legacy/components/PayByBankUS/PayByBankUS.js.map +1 -1
  245. package/dist/es-legacy/components/PayPal/Paypal.js +1 -1
  246. package/dist/es-legacy/components/PayPal/Paypal.js.map +1 -1
  247. package/dist/es-legacy/components/PayPal/components/PaypalButtons.js +1 -1
  248. package/dist/es-legacy/components/PayPal/components/PaypalButtons.js.map +1 -1
  249. package/dist/es-legacy/components/PayPal/components/PaypalComponent.js +1 -1
  250. package/dist/es-legacy/components/PayPal/components/PaypalComponent.js.map +1 -1
  251. package/dist/es-legacy/components/PayPal/utils/format-paypal-order-contact-to-adyen-format.js +1 -1
  252. package/dist/es-legacy/components/PayPal/utils/format-paypal-order-contact-to-adyen-format.js.map +1 -1
  253. package/dist/es-legacy/components/PayPal/utils/get-paypal-styles.js.map +1 -1
  254. package/dist/es-legacy/components/PayPalFastlane/Fastlane.js.map +1 -1
  255. package/dist/es-legacy/components/Pix/Pix.js +1 -1
  256. package/dist/es-legacy/components/Pix/Pix.js.map +1 -1
  257. package/dist/es-legacy/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js.map +1 -1
  258. package/dist/es-legacy/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
  259. package/dist/es-legacy/components/UPI/UPI.js +1 -1
  260. package/dist/es-legacy/components/UPI/UPI.js.map +1 -1
  261. package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
  262. package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
  263. package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js +1 -1
  264. package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js.map +1 -1
  265. package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js +1 -1
  266. package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js.map +1 -1
  267. package/dist/es-legacy/components/UPI/constants.js +1 -1
  268. package/dist/es-legacy/components/UPI/constants.js.map +1 -1
  269. package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  270. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  271. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  272. package/dist/es-legacy/components/internal/BrandIcons/BrandIcons.js +2 -0
  273. package/dist/es-legacy/components/internal/BrandIcons/BrandIcons.js.map +1 -0
  274. package/dist/es-legacy/components/internal/BrandIcons/BrandIcons.module.scss.js +2 -0
  275. package/dist/es-legacy/components/internal/BrandIcons/BrandIcons.module.scss.js.map +1 -0
  276. package/dist/es-legacy/components/internal/{Brand/Brand.js → BrandImage/BrandImage.js} +2 -2
  277. package/dist/es-legacy/components/internal/BrandImage/BrandImage.js.map +1 -0
  278. package/dist/es-legacy/components/internal/Button/Button.js +1 -1
  279. package/dist/es-legacy/components/internal/Button/Button.js.map +1 -1
  280. package/dist/es-legacy/components/internal/ExpandButton/ExpandButton.js +1 -1
  281. package/dist/es-legacy/components/internal/ExpandButton/ExpandButton.js.map +1 -1
  282. package/dist/es-legacy/components/internal/FormFields/Checkbox/Checkbox.js +1 -1
  283. package/dist/es-legacy/components/internal/FormFields/Checkbox/Checkbox.js.map +1 -1
  284. package/dist/es-legacy/components/internal/FormFields/ConsentCheckbox/ConsentCheckbox.js +1 -1
  285. package/dist/es-legacy/components/internal/FormFields/ConsentCheckbox/ConsentCheckbox.js.map +1 -1
  286. package/dist/es-legacy/components/internal/FormFields/InputBase.js +1 -1
  287. package/dist/es-legacy/components/internal/FormFields/InputBase.js.map +1 -1
  288. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectButton.js +1 -1
  289. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectButton.js.map +1 -1
  290. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectList.js +1 -1
  291. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectList.js.map +1 -1
  292. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectListItem.js +1 -1
  293. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectListItem.js.map +1 -1
  294. package/dist/es-legacy/components/internal/IssuerList/IssuerList.js +1 -1
  295. package/dist/es-legacy/components/internal/IssuerList/IssuerList.js.map +1 -1
  296. package/dist/es-legacy/components/internal/Modal/Modal.js +1 -1
  297. package/dist/es-legacy/components/internal/Modal/Modal.js.map +1 -1
  298. package/dist/es-legacy/components/internal/OpenInvoice/useSRPanelForOpenInvoiceErrors.js +1 -1
  299. package/dist/es-legacy/components/internal/OpenInvoice/useSRPanelForOpenInvoiceErrors.js.map +1 -1
  300. package/dist/es-legacy/components/internal/PayButton/PayButton.js +1 -1
  301. package/dist/es-legacy/components/internal/PayButton/PayButton.js.map +1 -1
  302. package/dist/es-legacy/components/internal/PhoneInput/PhoneInputFields.js +1 -1
  303. package/dist/es-legacy/components/internal/PhoneInput/PhoneInputFields.js.map +1 -1
  304. package/dist/es-legacy/components/internal/QRLoader/QRLoaderDetailsProvider.js +1 -1
  305. package/dist/es-legacy/components/internal/QRLoader/QRLoaderDetailsProvider.js.map +1 -1
  306. package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js +1 -1
  307. package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js.map +1 -1
  308. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  309. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/AbstractCSF.js.map +1 -1
  310. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/CSF.js +1 -1
  311. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/CSF.js.map +1 -1
  312. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/configureCallbacks.js.map +1 -1
  313. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js +1 -1
  314. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
  315. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleEncryption.js +1 -1
  316. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleEncryption.js.map +1 -1
  317. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/processErrors.js.map +1 -1
  318. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
  319. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
  320. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
  321. package/dist/es-legacy/components/internal/StoreDetails/StoreDetails.js +1 -1
  322. package/dist/es-legacy/components/internal/StoreDetails/StoreDetails.js.map +1 -1
  323. package/dist/es-legacy/components/internal/Tooltip/Tooltip.js.map +1 -1
  324. package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
  325. package/dist/es-legacy/core/Analytics/Analytics.js +1 -1
  326. package/dist/es-legacy/core/Analytics/Analytics.js.map +1 -1
  327. package/dist/es-legacy/core/Analytics/AnalyticsEventQueue.js +1 -1
  328. package/dist/es-legacy/core/Analytics/AnalyticsEventQueue.js.map +1 -1
  329. package/dist/es-legacy/core/Context/Resources.js +1 -1
  330. package/dist/es-legacy/core/Context/Resources.js.map +1 -1
  331. package/dist/es-legacy/core/Environment/constants.js +1 -1
  332. package/dist/es-legacy/core/Environment/constants.js.map +1 -1
  333. package/dist/es-legacy/core/config.js +1 -1
  334. package/dist/es-legacy/core/config.js.map +1 -1
  335. package/dist/es-legacy/core/core.js +1 -1
  336. package/dist/es-legacy/core/core.js.map +1 -1
  337. package/dist/es-legacy/external/preact/compat/dist/compat.js +1 -1
  338. package/dist/es-legacy/external/preact/compat/dist/compat.js.map +1 -1
  339. package/dist/es-legacy/external/preact/dist/preact.js +1 -1
  340. package/dist/es-legacy/external/preact/dist/preact.js.map +1 -1
  341. package/dist/es-legacy/external/preact/hooks/dist/hooks.js +1 -1
  342. package/dist/es-legacy/external/preact/hooks/dist/hooks.js.map +1 -1
  343. package/dist/es-legacy/language/Language.js +1 -1
  344. package/dist/es-legacy/language/Language.js.map +1 -1
  345. package/dist/es-legacy/language/LanguageService.js +2 -0
  346. package/dist/es-legacy/language/LanguageService.js.map +1 -0
  347. package/dist/es-legacy/language/constants.js +1 -1
  348. package/dist/es-legacy/language/constants.js.map +1 -1
  349. package/dist/es-legacy/language/utils.js +1 -1
  350. package/dist/es-legacy/language/utils.js.map +1 -1
  351. package/dist/es-legacy/packages/server/translations/en-US.json.js +2 -0
  352. package/dist/es-legacy/packages/server/translations/en-US.json.js.map +1 -0
  353. package/package.json +8 -7
  354. package/styles/adyen.css +5 -4
  355. package/dist/es/components/internal/Brand/Brand.js.map +0 -1
  356. package/dist/es/core/Services/get-translations.js +0 -2
  357. package/dist/es/core/Services/get-translations.js.map +0 -1
  358. package/dist/es-legacy/components/internal/Brand/Brand.js.map +0 -1
  359. package/dist/es-legacy/core/Services/get-translations.js +0 -2
  360. package/dist/es-legacy/core/Services/get-translations.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ApplePayService.js","sources":["../../../../../src/components/ApplePay/services/ApplePayService.ts"],"sourcesContent":["import { ApplePayConfiguration, ApplePayPaymentAuthorizationResult } from '../types';\n\nexport interface ApplePayServiceOptions {\n version: number;\n onError: (error?: unknown) => void;\n onCancel?: (event: ApplePayJS.Event) => void;\n onValidateMerchant: ApplePayConfiguration['onValidateMerchant'];\n onPaymentMethodSelected?: ApplePayConfiguration['onPaymentMethodSelected'];\n onShippingMethodSelected?: ApplePayConfiguration['onShippingMethodSelected'];\n onShippingContactSelected?: ApplePayConfiguration['onShippingContactSelected'];\n onPaymentAuthorized: (\n resolve: (result: ApplePayPaymentAuthorizationResult) => void,\n reject: (result: ApplePayPaymentAuthorizationResult) => void,\n event: ApplePayJS.ApplePayPaymentAuthorizedEvent\n ) => void;\n}\n\nclass ApplePayService {\n private session: ApplePaySession;\n private readonly options: ApplePayServiceOptions;\n\n constructor(paymentRequest: ApplePayJS.ApplePayPaymentRequest, options: ApplePayServiceOptions) {\n this.options = options;\n\n this.session = new ApplePaySession(options.version, paymentRequest);\n this.session.onvalidatemerchant = event => {\n void this.onvalidatemerchant(event, options.onValidateMerchant);\n };\n this.session.onpaymentauthorized = event => {\n void this.onpaymentauthorized(event, options.onPaymentAuthorized);\n };\n\n this.session.oncancel = event => {\n this.oncancel(event, options.onCancel);\n };\n\n if (typeof options.onPaymentMethodSelected === 'function') {\n this.session.onpaymentmethodselected = event => {\n void this.onpaymentmethodselected(event, options.onPaymentMethodSelected);\n };\n }\n\n if (typeof options.onShippingContactSelected === 'function') {\n this.session.onshippingcontactselected = event => {\n void this.onshippingcontactselected(event, options.onShippingContactSelected);\n };\n }\n\n if (typeof options.onShippingMethodSelected === 'function') {\n this.session.onshippingmethodselected = event => {\n void this.onshippingmethodselected(event, options.onShippingMethodSelected);\n };\n }\n }\n\n /**\n * Begins the merchant validation process.\n * When this method is called, the payment sheet is presented and the merchant validation process is initiated.\n * @see {@link https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/1778001-begin}\n */\n begin() {\n return this.session.begin();\n }\n\n /**\n * An event handler that is called when the payment sheet is displayed.\n * Use this attribute to request and return a merchant session.\n * @param event - An ApplePayValidateMerchantEvent object (contains validationURL)\n * @param onValidateMerchant - A promise implemented by the merchant that will resolve with the merchantSession\n * @see {@link https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_js_api/providing_merchant_validation}\n */\n onvalidatemerchant(event: ApplePayJS.ApplePayValidateMerchantEvent, onValidateMerchant: ApplePayConfiguration['onValidateMerchant']) {\n return new Promise((resolve, reject) => {\n void onValidateMerchant(resolve, reject, event.validationURL);\n })\n .then(response => {\n this.session.completeMerchantValidation(response);\n })\n .catch(error => {\n console.error(error);\n this.session.abort();\n this.options.onError(error);\n });\n }\n\n /**\n * An event handler that is called when the user has authorized the Apple Pay payment with Touch ID, Face ID, or passcode.\n * The onpaymentauthorized function must complete the payment and respond by calling completePayment before the 30 second timeout.\n *\n * @param event - The event parameter contains the payment (ApplePayPayment) attribute.\n * @param onPaymentAuthorized - A promise that will complete the payment when resolved. Use this promise to process the payment.\n * @see {@link https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/1778020-onpaymentauthorized}\n */\n onpaymentauthorized(\n event: ApplePayJS.ApplePayPaymentAuthorizedEvent,\n onPaymentAuthorized: ApplePayServiceOptions['onPaymentAuthorized']\n ): Promise<void> {\n return new Promise((resolve, reject) => onPaymentAuthorized(resolve, reject, event))\n .then((result: ApplePayPaymentAuthorizationResult) => {\n this.session.completePayment(result);\n })\n .catch((result: ApplePayPaymentAuthorizationResult) => {\n this.session.completePayment(result);\n });\n }\n\n /**\n * An event handler that is called when a new payment method is selected.\n * The onpaymentmethodselected function must resolve before the 30 second timeout\n *\n * @param event - The event parameter contains the payment (ApplePayPayment) attribute.\n * @param onPaymentMethodSelected - A promise that will complete the payment when resolved. Use this promise to process the payment.\n * @see {@link https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/1778013-onpaymentmethodselected}\n */\n onpaymentmethodselected(\n event: ApplePayJS.ApplePayPaymentMethodSelectedEvent,\n onPaymentMethodSelected: ApplePayServiceOptions['onPaymentMethodSelected']\n ) {\n return new Promise((resolve, reject) => onPaymentMethodSelected(resolve, reject, event))\n .then((paymentMethodUpdate: ApplePayJS.ApplePayPaymentMethodUpdate) => {\n this.session.completePaymentMethodSelection(paymentMethodUpdate);\n })\n .catch((paymentMethodUpdate: ApplePayJS.ApplePayPaymentMethodUpdate) => {\n this.session.completePaymentMethodSelection(paymentMethodUpdate);\n });\n }\n\n /**\n * An event handler that is called when a new payment method is selected.\n * The onpaymentmethodselected function must resolve before the 30 second timeout\n * @param event - The event parameter contains the shippingContact attribute.\n * @param onShippingContactSelected - A promise that will complete the selection of a shipping contact with an update.\n * @see {@link https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/1778009-onshippingcontactselected}\n */\n onshippingcontactselected(\n event: ApplePayJS.ApplePayShippingContactSelectedEvent,\n onShippingContactSelected: ApplePayConfiguration['onShippingContactSelected']\n ) {\n return new Promise((resolve, reject) => onShippingContactSelected(resolve, reject, event))\n .then((shippingContactUpdate: ApplePayJS.ApplePayShippingContactUpdate) => {\n this.session.completeShippingContactSelection(shippingContactUpdate);\n })\n .catch((shippingContactUpdate: ApplePayJS.ApplePayShippingContactUpdate) => {\n this.session.completeShippingContactSelection(shippingContactUpdate);\n });\n }\n\n /**\n * An event handler that is called when a new payment method is selected.\n * The onpaymentmethodselected function must resolve before the 30 second timeout\n * @param event - The event parameter contains the shippingMethod attribute.\n * @param onShippingMethodSelected - A promise that will complete the selection of a shipping method with an update.\n * @see {@link https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/1778009-onshippingcontactselected}\n */\n onshippingmethodselected(\n event: ApplePayJS.ApplePayShippingMethodSelectedEvent,\n onShippingMethodSelected: ApplePayConfiguration['onShippingMethodSelected']\n ) {\n return new Promise((resolve, reject) => onShippingMethodSelected(resolve, reject, event))\n .then((shippingMethodUpdate: ApplePayJS.ApplePayShippingMethodUpdate) => {\n this.session.completeShippingMethodSelection(shippingMethodUpdate);\n })\n .catch((shippingMethodUpdate: ApplePayJS.ApplePayShippingMethodUpdate) => {\n this.session.completeShippingMethodSelection(shippingMethodUpdate);\n });\n }\n\n /**\n * An event handler that is automatically called when the payment UI is dismissed.\n * This function can be called even after an onpaymentauthorized event has been dispatched.\n * @param event -\n * @param onCancel -\n * @see {@link https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/1778029-oncancel}\n */\n oncancel(event: ApplePayJS.Event, onCancel: (event: ApplePayJS.Event) => void): void {\n onCancel(event);\n }\n}\n\nexport default ApplePayService;\n"],"names":["ApplePayService","begin","this","session","onvalidatemerchant","event","onValidateMerchant","Promise","resolve","reject","validationURL","then","response","completeMerchantValidation","catch","error","console","abort","options","onError","onpaymentauthorized","onPaymentAuthorized","result","completePayment","onpaymentmethodselected","onPaymentMethodSelected","paymentMethodUpdate","completePaymentMethodSelection","onshippingcontactselected","onShippingContactSelected","shippingContactUpdate","completeShippingContactSelection","onshippingmethodselected","onShippingMethodSelected","shippingMethodUpdate","completeShippingMethodSelection","oncancel","onCancel","constructor","paymentRequest","_define_property","ApplePaySession","version"],"mappings":"wHAiBA,MAAMA,EA2CFC,KAAAA,GACI,OAAOC,KAAKC,QAAQF,OACxB,CASAG,kBAAAA,CAAmBC,EAAiDC,GAChE,OAAO,IAAIC,QAAQ,CAACC,EAASC,KACpBH,EAAmBE,EAASC,EAAQJ,EAAMK,iBAE9CC,KAAKC,IACFV,KAAKC,QAAQU,2BAA2BD,KAE3CE,MAAMC,IACHC,QAAQD,MAAMA,GACdb,KAAKC,QAAQc,QACbf,KAAKgB,QAAQC,QAAQJ,IAEjC,CAUAK,mBAAAA,CACIf,EACAgB,GAEA,OAAO,IAAId,QAAQ,CAACC,EAASC,IAAWY,EAAoBb,EAASC,EAAQJ,IACxEM,KAAMW,IACHpB,KAAKC,QAAQoB,gBAAgBD,KAEhCR,MAAOQ,IACJpB,KAAKC,QAAQoB,gBAAgBD,IAEzC,CAUAE,uBAAAA,CACInB,EACAoB,GAEA,OAAO,IAAIlB,QAAQ,CAACC,EAASC,IAAWgB,EAAwBjB,EAASC,EAAQJ,IAC5EM,KAAMe,IACHxB,KAAKC,QAAQwB,+BAA+BD,KAE/CZ,MAAOY,IACJxB,KAAKC,QAAQwB,+BAA+BD,IAExD,CASAE,yBAAAA,CACIvB,EACAwB,GAEA,OAAO,IAAItB,QAAQ,CAACC,EAASC,IAAWoB,EAA0BrB,EAASC,EAAQJ,IAC9EM,KAAMmB,IACH5B,KAAKC,QAAQ4B,iCAAiCD,KAEjDhB,MAAOgB,IACJ5B,KAAKC,QAAQ4B,iCAAiCD,IAE1D,CASAE,wBAAAA,CACI3B,EACA4B,GAEA,OAAO,IAAI1B,QAAQ,CAACC,EAASC,IAAWwB,EAAyBzB,EAASC,EAAQJ,IAC7EM,KAAMuB,IACHhC,KAAKC,QAAQgC,gCAAgCD,KAEhDpB,MAAOoB,IACJhC,KAAKC,QAAQgC,gCAAgCD,IAEzD,CASAE,QAAAA,CAAS/B,EAAyBgC,GAC9BA,EAAShC,EACb,CA3JA,WAAAiC,CAAYC,EAAmDrB,GAH/DsB,EAAAtC,KAAQC,kBACRqC,EAAAtC,KAAiBgB,kBAGbhB,KAAKgB,QAAUA,EAEfhB,KAAKC,QAAU,IAAIsC,gBAAgBvB,EAAQwB,QAASH,GACpDrC,KAAKC,QAAQC,mBAAqBC,IACzBH,KAAKE,mBAAmBC,EAAOa,EAAQZ,qBAEhDJ,KAAKC,QAAQiB,oBAAsBf,IAC1BH,KAAKkB,oBAAoBf,EAAOa,EAAQG,sBAGjDnB,KAAKC,QAAQiC,SAAW/B,IACpBH,KAAKkC,SAAS/B,EAAOa,EAAQmB,WAGc,mBAApCnB,EAAQO,0BACfvB,KAAKC,QAAQqB,wBAA0BnB,IAC9BH,KAAKsB,wBAAwBnB,EAAOa,EAAQO,2BAIR,mBAAtCP,EAAQW,4BACf3B,KAAKC,QAAQyB,0BAA4BvB,IAChCH,KAAK0B,0BAA0BvB,EAAOa,EAAQW,6BAIX,mBAArCX,EAAQe,2BACf/B,KAAKC,QAAQ6B,yBAA2B3B,IAC/BH,KAAK8B,yBAAyB3B,EAAOa,EAAQe,2BAG9D"}
1
+ {"version":3,"file":"ApplePayService.js","sources":["../../../../../src/components/ApplePay/services/ApplePayService.ts"],"sourcesContent":["import { ApplePayConfiguration, ApplePayPaymentAuthorizationResult } from '../types';\n\nexport interface ApplePayServiceOptions {\n version: number;\n onError: (error?: unknown) => void;\n onCancel?: (event: ApplePayJS.Event) => void;\n onValidateMerchant: ApplePayConfiguration['onValidateMerchant'];\n onCouponCodeChanged?: ApplePayConfiguration['onCouponCodeChanged'];\n onPaymentMethodSelected?: ApplePayConfiguration['onPaymentMethodSelected'];\n onShippingMethodSelected?: ApplePayConfiguration['onShippingMethodSelected'];\n onShippingContactSelected?: ApplePayConfiguration['onShippingContactSelected'];\n onPaymentAuthorized: (\n resolve: (result: ApplePayPaymentAuthorizationResult) => void,\n reject: (result: ApplePayPaymentAuthorizationResult) => void,\n event: ApplePayJS.ApplePayPaymentAuthorizedEvent\n ) => void;\n}\n\nclass ApplePayService {\n private session: ApplePaySession;\n private readonly options: ApplePayServiceOptions;\n\n constructor(paymentRequest: ApplePayJS.ApplePayPaymentRequest, options: ApplePayServiceOptions) {\n this.options = options;\n\n this.session = new ApplePaySession(options.version, paymentRequest);\n this.session.onvalidatemerchant = event => {\n void this.onvalidatemerchant(event, options.onValidateMerchant);\n };\n this.session.onpaymentauthorized = event => {\n void this.onpaymentauthorized(event, options.onPaymentAuthorized);\n };\n\n this.session.oncancel = event => {\n this.oncancel(event, options.onCancel);\n };\n\n if (typeof options.onPaymentMethodSelected === 'function') {\n this.session.onpaymentmethodselected = event => {\n void this.onpaymentmethodselected(event, options.onPaymentMethodSelected);\n };\n }\n\n if (typeof options.onShippingContactSelected === 'function') {\n this.session.onshippingcontactselected = event => {\n void this.onshippingcontactselected(event, options.onShippingContactSelected);\n };\n }\n\n if (typeof options.onShippingMethodSelected === 'function') {\n this.session.onshippingmethodselected = event => {\n void this.onshippingmethodselected(event, options.onShippingMethodSelected);\n };\n }\n\n if (typeof options.onCouponCodeChanged === 'function') {\n this.session.oncouponcodechanged = event => {\n void this.oncouponcodechanged(event, options.onCouponCodeChanged);\n };\n }\n }\n\n /**\n * Begins the merchant validation process.\n * When this method is called, the payment sheet is presented and the merchant validation process is initiated.\n * @see {@link https://developer.apple.com/documentation/applepayontheweb/applepaysession/1778001-begin}\n */\n begin() {\n return this.session.begin();\n }\n\n /**\n * An event handler that is called when the payment sheet is displayed.\n * Use this attribute to request and return a merchant session.\n * @param event - An ApplePayValidateMerchantEvent object (contains validationURL)\n * @param onValidateMerchant - A promise implemented by the merchant that will resolve with the merchantSession\n * @see {@link https://developer.apple.com/documentation/applepayontheweb/apple_pay_js_api/providing_merchant_validation}\n */\n onvalidatemerchant(event: ApplePayJS.ApplePayValidateMerchantEvent, onValidateMerchant: ApplePayConfiguration['onValidateMerchant']) {\n return new Promise((resolve, reject) => {\n void onValidateMerchant(resolve, reject, event.validationURL);\n })\n .then(response => {\n this.session.completeMerchantValidation(response);\n })\n .catch(error => {\n console.error(error);\n this.session.abort();\n this.options.onError(error);\n });\n }\n\n /**\n * An event handler that is called when the user has authorized the Apple Pay payment with Touch ID, Face ID, or passcode.\n * The onpaymentauthorized function must complete the payment and respond by calling completePayment before the 30 second timeout.\n *\n * @param event - The event parameter contains the payment (ApplePayPayment) attribute.\n * @param onPaymentAuthorized - A promise that will complete the payment when resolved. Use this promise to process the payment.\n * @see {@link https://developer.apple.com/documentation/applepayontheweb/applepaysession/1778020-onpaymentauthorized}\n */\n onpaymentauthorized(\n event: ApplePayJS.ApplePayPaymentAuthorizedEvent,\n onPaymentAuthorized: ApplePayServiceOptions['onPaymentAuthorized']\n ): Promise<void> {\n return new Promise((resolve, reject) => onPaymentAuthorized(resolve, reject, event))\n .then((result: ApplePayPaymentAuthorizationResult) => {\n this.session.completePayment(result);\n })\n .catch((result: ApplePayPaymentAuthorizationResult) => {\n this.session.completePayment(result);\n });\n }\n\n /**\n * An event handler that is called when a new payment method is selected.\n * The onpaymentmethodselected function must resolve before the 30 second timeout\n *\n * @param event - The event parameter contains the payment (ApplePayPayment) attribute.\n * @param onPaymentMethodSelected - A promise that will complete the payment when resolved. Use this promise to process the payment.\n * @see {@link https://developer.apple.com/documentation/applepayontheweb/applepaysession/1778013-onpaymentmethodselected}\n */\n onpaymentmethodselected(\n event: ApplePayJS.ApplePayPaymentMethodSelectedEvent,\n onPaymentMethodSelected: ApplePayServiceOptions['onPaymentMethodSelected']\n ) {\n return new Promise((resolve, reject) => onPaymentMethodSelected(resolve, reject, event))\n .then((paymentMethodUpdate: ApplePayJS.ApplePayPaymentMethodUpdate) => {\n this.session.completePaymentMethodSelection(paymentMethodUpdate);\n })\n .catch((paymentMethodUpdate: ApplePayJS.ApplePayPaymentMethodUpdate) => {\n this.session.completePaymentMethodSelection(paymentMethodUpdate);\n });\n }\n\n /**\n * An event handler that is called when a new payment method is selected.\n * The onpaymentmethodselected function must resolve before the 30 second timeout\n * @param event - The event parameter contains the shippingContact attribute.\n * @param onShippingContactSelected - A promise that will complete the selection of a shipping contact with an update.\n * @see {@link https://developer.apple.com/documentation/applepayontheweb/applepaysession/1778009-onshippingcontactselected}\n */\n onshippingcontactselected(\n event: ApplePayJS.ApplePayShippingContactSelectedEvent,\n onShippingContactSelected: ApplePayConfiguration['onShippingContactSelected']\n ) {\n return new Promise((resolve, reject) => onShippingContactSelected(resolve, reject, event))\n .then((shippingContactUpdate: ApplePayJS.ApplePayShippingContactUpdate) => {\n this.session.completeShippingContactSelection(shippingContactUpdate);\n })\n .catch((shippingContactUpdate: ApplePayJS.ApplePayShippingContactUpdate) => {\n this.session.completeShippingContactSelection(shippingContactUpdate);\n });\n }\n\n /**\n * An event handler that is called when a new payment method is selected.\n * The onpaymentmethodselected function must resolve before the 30 second timeout\n * @param event - The event parameter contains the shippingMethod attribute.\n * @param onShippingMethodSelected - A promise that will complete the selection of a shipping method with an update.\n * @see {@link https://developer.apple.com/documentation/applepayontheweb/applepaysession/1778009-onshippingcontactselected}\n */\n onshippingmethodselected(\n event: ApplePayJS.ApplePayShippingMethodSelectedEvent,\n onShippingMethodSelected: ApplePayConfiguration['onShippingMethodSelected']\n ) {\n return new Promise((resolve, reject) => onShippingMethodSelected(resolve, reject, event))\n .then((shippingMethodUpdate: ApplePayJS.ApplePayShippingMethodUpdate) => {\n this.session.completeShippingMethodSelection(shippingMethodUpdate);\n })\n .catch((shippingMethodUpdate: ApplePayJS.ApplePayShippingMethodUpdate) => {\n this.session.completeShippingMethodSelection(shippingMethodUpdate);\n });\n }\n\n oncouponcodechanged(event: ApplePayJS.ApplePayCouponCodeChangedEvent, onCouponCodeChanged: ApplePayConfiguration['onCouponCodeChanged']) {\n return new Promise((resolve, reject) => onCouponCodeChanged(resolve, reject, event))\n .then((couponCodeUpdate: ApplePayJS.ApplePayCouponCodeUpdate) => {\n this.session.completeCouponCodeChange(couponCodeUpdate);\n })\n .catch((couponCodeUpdate: ApplePayJS.ApplePayCouponCodeUpdate) => {\n this.session.completeCouponCodeChange(couponCodeUpdate);\n });\n }\n\n /**\n * An event handler that is automatically called when the payment UI is dismissed.\n * This function can be called even after an onpaymentauthorized event has been dispatched.\n * @param event -\n * @param onCancel -\n * @see {@link https://developer.apple.com/documentation/applepayontheweb/applepaysession/1778029-oncancel}\n */\n oncancel(event: ApplePayJS.Event, onCancel: (event: ApplePayJS.Event) => void): void {\n onCancel(event);\n }\n}\n\nexport default ApplePayService;\n"],"names":["ApplePayService","begin","this","session","onvalidatemerchant","event","onValidateMerchant","Promise","resolve","reject","validationURL","then","response","completeMerchantValidation","catch","error","console","abort","options","onError","onpaymentauthorized","onPaymentAuthorized","result","completePayment","onpaymentmethodselected","onPaymentMethodSelected","paymentMethodUpdate","completePaymentMethodSelection","onshippingcontactselected","onShippingContactSelected","shippingContactUpdate","completeShippingContactSelection","onshippingmethodselected","onShippingMethodSelected","shippingMethodUpdate","completeShippingMethodSelection","oncouponcodechanged","onCouponCodeChanged","couponCodeUpdate","completeCouponCodeChange","oncancel","onCancel","constructor","paymentRequest","_define_property","ApplePaySession","version"],"mappings":"wHAkBA,MAAMA,EAiDFC,KAAAA,GACI,OAAOC,KAAKC,QAAQF,OACxB,CASAG,kBAAAA,CAAmBC,EAAiDC,GAChE,OAAO,IAAIC,QAAQ,CAACC,EAASC,KACpBH,EAAmBE,EAASC,EAAQJ,EAAMK,iBAE9CC,KAAKC,IACFV,KAAKC,QAAQU,2BAA2BD,KAE3CE,MAAMC,IACHC,QAAQD,MAAMA,GACdb,KAAKC,QAAQc,QACbf,KAAKgB,QAAQC,QAAQJ,IAEjC,CAUAK,mBAAAA,CACIf,EACAgB,GAEA,OAAO,IAAId,QAAQ,CAACC,EAASC,IAAWY,EAAoBb,EAASC,EAAQJ,IACxEM,KAAMW,IACHpB,KAAKC,QAAQoB,gBAAgBD,KAEhCR,MAAOQ,IACJpB,KAAKC,QAAQoB,gBAAgBD,IAEzC,CAUAE,uBAAAA,CACInB,EACAoB,GAEA,OAAO,IAAIlB,QAAQ,CAACC,EAASC,IAAWgB,EAAwBjB,EAASC,EAAQJ,IAC5EM,KAAMe,IACHxB,KAAKC,QAAQwB,+BAA+BD,KAE/CZ,MAAOY,IACJxB,KAAKC,QAAQwB,+BAA+BD,IAExD,CASAE,yBAAAA,CACIvB,EACAwB,GAEA,OAAO,IAAItB,QAAQ,CAACC,EAASC,IAAWoB,EAA0BrB,EAASC,EAAQJ,IAC9EM,KAAMmB,IACH5B,KAAKC,QAAQ4B,iCAAiCD,KAEjDhB,MAAOgB,IACJ5B,KAAKC,QAAQ4B,iCAAiCD,IAE1D,CASAE,wBAAAA,CACI3B,EACA4B,GAEA,OAAO,IAAI1B,QAAQ,CAACC,EAASC,IAAWwB,EAAyBzB,EAASC,EAAQJ,IAC7EM,KAAMuB,IACHhC,KAAKC,QAAQgC,gCAAgCD,KAEhDpB,MAAOoB,IACJhC,KAAKC,QAAQgC,gCAAgCD,IAEzD,CAEAE,mBAAAA,CAAoB/B,EAAkDgC,GAClE,OAAO,IAAI9B,QAAQ,CAACC,EAASC,IAAW4B,EAAoB7B,EAASC,EAAQJ,IACxEM,KAAM2B,IACHpC,KAAKC,QAAQoC,yBAAyBD,KAEzCxB,MAAOwB,IACJpC,KAAKC,QAAQoC,yBAAyBD,IAElD,CASAE,QAAAA,CAASnC,EAAyBoC,GAC9BA,EAASpC,EACb,CA3KA,WAAAqC,CAAYC,EAAmDzB,GAH/D0B,EAAA1C,KAAQC,kBACRyC,EAAA1C,KAAiBgB,kBAGbhB,KAAKgB,QAAUA,EAEfhB,KAAKC,QAAU,IAAI0C,gBAAgB3B,EAAQ4B,QAASH,GACpDzC,KAAKC,QAAQC,mBAAqBC,IACzBH,KAAKE,mBAAmBC,EAAOa,EAAQZ,qBAEhDJ,KAAKC,QAAQiB,oBAAsBf,IAC1BH,KAAKkB,oBAAoBf,EAAOa,EAAQG,sBAGjDnB,KAAKC,QAAQqC,SAAWnC,IACpBH,KAAKsC,SAASnC,EAAOa,EAAQuB,WAGc,mBAApCvB,EAAQO,0BACfvB,KAAKC,QAAQqB,wBAA0BnB,IAC9BH,KAAKsB,wBAAwBnB,EAAOa,EAAQO,2BAIR,mBAAtCP,EAAQW,4BACf3B,KAAKC,QAAQyB,0BAA4BvB,IAChCH,KAAK0B,0BAA0BvB,EAAOa,EAAQW,6BAIX,mBAArCX,EAAQe,2BACf/B,KAAKC,QAAQ6B,yBAA2B3B,IAC/BH,KAAK8B,yBAAyB3B,EAAOa,EAAQe,4BAIf,mBAAhCf,EAAQmB,sBACfnC,KAAKC,QAAQiC,oBAAsB/B,IAC1BH,KAAKkC,oBAAoB/B,EAAOa,EAAQmB,sBAGzD"}
@@ -1,2 +1,2 @@
1
- import{getDecimalAmount as e}from"../../../utils/amount-util.js";function t(e,t){if(null==e)return{};var n,r,o,i={};if("undefined"!=typeof Reflect&&Reflect.ownKeys){for(n=Reflect.ownKeys(e),o=0;o<n.length;o++)r=n[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r]);return i}if(i=function(e,t){if(null==e)return{};var n,r,o={},i=Object.getOwnPropertyNames(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}(e,t),Object.getOwnPropertySymbols)for(n=Object.getOwnPropertySymbols(e),o=0;o<n.length;o++)r=n[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r]);return i}const n=n=>{const{countryCode:r,companyName:o,amount:i}=n,p=t(n,["countryCode","companyName","amount"]),a=(t=>String(e(t.value,t.currency)))(i);return r||console.warn("Apple Pay - Make sure to set the countryCode in the AdyenCheckout configuration or in the Checkout Session creation"),{countryCode:r,currencyCode:i.currency,total:{label:p.totalPriceLabel,amount:a,type:p.totalPriceStatus},lineItems:p.lineItems,shippingContactEditingMode:p.shippingContactEditingMode,shippingMethods:p.shippingMethods,shippingType:p.shippingType,recurringPaymentRequest:p.recurringPaymentRequest,merchantCapabilities:p.merchantCapabilities,supportedCountries:p.supportedCountries,supportedNetworks:p.supportedNetworks,requiredShippingContactFields:p.requiredShippingContactFields,requiredBillingContactFields:p.requiredBillingContactFields,billingContact:p.billingContact,shippingContact:p.shippingContact,applicationData:p.applicationData}};export{n as preparePaymentRequest};
1
+ import{getDecimalAmount as e}from"../../../utils/amount-util.js";function t(e,t){if(null==e)return{};var n,o,r,i={};if("undefined"!=typeof Reflect&&Reflect.ownKeys){for(n=Reflect.ownKeys(Object(e)),r=0;r<n.length;r++)o=n[r],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(i[o]=e[o]);return i}if(i=function(e,t){if(null==e)return{};var n,o,r={},i=Object.getOwnPropertyNames(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n]);return r}(e,t),Object.getOwnPropertySymbols)for(n=Object.getOwnPropertySymbols(e),r=0;r<n.length;r++)o=n[r],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(i[o]=e[o]);return i}const n=n=>{const{countryCode:o,companyName:r,amount:i}=n,p=t(n,["countryCode","companyName","amount"]),a=(t=>String(e(t.value,t.currency)))(i);return o||console.warn("Apple Pay - Make sure to set the countryCode in the AdyenCheckout configuration or in the Checkout Session creation"),{countryCode:o,currencyCode:i.currency,total:{label:p.totalPriceLabel,amount:a,type:p.totalPriceStatus},lineItems:p.lineItems,shippingContactEditingMode:p.shippingContactEditingMode,shippingMethods:p.shippingMethods,shippingType:p.shippingType,recurringPaymentRequest:p.recurringPaymentRequest,merchantCapabilities:p.merchantCapabilities,supportedCountries:p.supportedCountries,supportedNetworks:p.supportedNetworks,requiredShippingContactFields:p.requiredShippingContactFields,requiredBillingContactFields:p.requiredBillingContactFields,billingContact:p.billingContact,shippingContact:p.shippingContact,applicationData:p.applicationData,couponCode:p.couponCode,supportsCouponCode:p.supportsCouponCode}};export{n as preparePaymentRequest};
2
2
  //# sourceMappingURL=payment-request.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"payment-request.js","sources":["../../../../../src/components/ApplePay/utils/payment-request.ts"],"sourcesContent":["import { getDecimalAmount } from '../../../utils/amount-util';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { ApplePayConfiguration } from '../types';\n\nconst formatAmount = (amount: PaymentAmount) => String(getDecimalAmount(amount.value, amount.currency));\n\nexport const preparePaymentRequest = (\n paymentRequest: ApplePayConfiguration & {\n countryCode: string;\n companyName: string;\n }\n): ApplePayJS.ApplePayPaymentRequest => {\n const { countryCode, companyName, amount, ...props } = paymentRequest;\n const formattedAmount = formatAmount(amount);\n\n if (!countryCode) {\n console.warn('Apple Pay - Make sure to set the countryCode in the AdyenCheckout configuration or in the Checkout Session creation');\n }\n\n return {\n countryCode,\n currencyCode: amount.currency,\n\n total: {\n label: props.totalPriceLabel,\n amount: formattedAmount,\n type: props.totalPriceStatus\n },\n\n lineItems: props.lineItems,\n shippingContactEditingMode: props.shippingContactEditingMode,\n shippingMethods: props.shippingMethods,\n shippingType: props.shippingType,\n\n recurringPaymentRequest: props.recurringPaymentRequest,\n\n merchantCapabilities: props.merchantCapabilities,\n supportedCountries: props.supportedCountries,\n supportedNetworks: props.supportedNetworks,\n\n requiredShippingContactFields: props.requiredShippingContactFields,\n requiredBillingContactFields: props.requiredBillingContactFields,\n\n billingContact: props.billingContact,\n shippingContact: props.shippingContact,\n\n applicationData: props.applicationData\n };\n};\n\nexport default preparePaymentRequest;\n"],"names":["preparePaymentRequest","paymentRequest","countryCode","companyName","amount","props","formattedAmount","String","getDecimalAmount","value","currency","formatAmount","console","warn","currencyCode","total","label","totalPriceLabel","type","totalPriceStatus","lineItems","shippingContactEditingMode","shippingMethods","shippingType","recurringPaymentRequest","merchantCapabilities","supportedCountries","supportedNetworks","requiredShippingContactFields","requiredBillingContactFields","billingContact","shippingContact","applicationData"],"mappings":"krBAIA,MAEaA,EACTC,IAKA,MAAMC,YAAEA,EAAWC,YAAEA,EAAWC,OAAEA,GAAqBH,EAAVI,EAAAA,EAAUJ,EAAAA,wCACjDK,EATW,CAACF,GAA0BG,OAAOC,EAAiBJ,EAAOK,MAAOL,EAAOM,WASjEC,CAAaP,GAMrC,OAJKF,GACDU,QAAQC,KAAK,uHAGV,CACHX,cACAY,aAAcV,EAAOM,SAErBK,MAAO,CACHC,MAAOX,EAAMY,gBACbb,OAAQE,EACRY,KAAMb,EAAMc,kBAGhBC,UAAWf,EAAMe,UACjBC,2BAA4BhB,EAAMgB,2BAClCC,gBAAiBjB,EAAMiB,gBACvBC,aAAclB,EAAMkB,aAEpBC,wBAAyBnB,EAAMmB,wBAE/BC,qBAAsBpB,EAAMoB,qBAC5BC,mBAAoBrB,EAAMqB,mBAC1BC,kBAAmBtB,EAAMsB,kBAEzBC,8BAA+BvB,EAAMuB,8BACrCC,6BAA8BxB,EAAMwB,6BAEpCC,eAAgBzB,EAAMyB,eACtBC,gBAAiB1B,EAAM0B,gBAEvBC,gBAAiB3B,EAAM2B"}
1
+ {"version":3,"file":"payment-request.js","sources":["../../../../../src/components/ApplePay/utils/payment-request.ts"],"sourcesContent":["import { getDecimalAmount } from '../../../utils/amount-util';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { ApplePayConfiguration } from '../types';\n\nconst formatAmount = (amount: PaymentAmount) => String(getDecimalAmount(amount.value, amount.currency));\n\nexport const preparePaymentRequest = (\n paymentRequest: ApplePayConfiguration & {\n countryCode: string;\n companyName: string;\n }\n): ApplePayJS.ApplePayPaymentRequest => {\n const { countryCode, companyName, amount, ...props } = paymentRequest;\n const formattedAmount = formatAmount(amount);\n\n if (!countryCode) {\n console.warn('Apple Pay - Make sure to set the countryCode in the AdyenCheckout configuration or in the Checkout Session creation');\n }\n\n return {\n countryCode,\n currencyCode: amount.currency,\n\n total: {\n label: props.totalPriceLabel,\n amount: formattedAmount,\n type: props.totalPriceStatus\n },\n\n lineItems: props.lineItems,\n shippingContactEditingMode: props.shippingContactEditingMode,\n shippingMethods: props.shippingMethods,\n shippingType: props.shippingType,\n\n recurringPaymentRequest: props.recurringPaymentRequest,\n\n merchantCapabilities: props.merchantCapabilities,\n supportedCountries: props.supportedCountries,\n supportedNetworks: props.supportedNetworks,\n\n requiredShippingContactFields: props.requiredShippingContactFields,\n requiredBillingContactFields: props.requiredBillingContactFields,\n\n billingContact: props.billingContact,\n shippingContact: props.shippingContact,\n\n applicationData: props.applicationData,\n\n couponCode: props.couponCode,\n supportsCouponCode: props.supportsCouponCode\n };\n};\n\nexport default preparePaymentRequest;\n"],"names":["preparePaymentRequest","paymentRequest","countryCode","companyName","amount","props","formattedAmount","String","getDecimalAmount","value","currency","formatAmount","console","warn","currencyCode","total","label","totalPriceLabel","type","totalPriceStatus","lineItems","shippingContactEditingMode","shippingMethods","shippingType","recurringPaymentRequest","merchantCapabilities","supportedCountries","supportedNetworks","requiredShippingContactFields","requiredBillingContactFields","billingContact","shippingContact","applicationData","couponCode","supportsCouponCode"],"mappings":"0rBAIA,MAEaA,EACTC,IAKA,MAAMC,YAAEA,EAAWC,YAAEA,EAAWC,OAAEA,GAAqBH,EAAVI,EAAAA,EAAUJ,EAAAA,wCACjDK,EATW,CAACF,GAA0BG,OAAOC,EAAiBJ,EAAOK,MAAOL,EAAOM,WASjEC,CAAaP,GAMrC,OAJKF,GACDU,QAAQC,KAAK,uHAGV,CACHX,cACAY,aAAcV,EAAOM,SAErBK,MAAO,CACHC,MAAOX,EAAMY,gBACbb,OAAQE,EACRY,KAAMb,EAAMc,kBAGhBC,UAAWf,EAAMe,UACjBC,2BAA4BhB,EAAMgB,2BAClCC,gBAAiBjB,EAAMiB,gBACvBC,aAAclB,EAAMkB,aAEpBC,wBAAyBnB,EAAMmB,wBAE/BC,qBAAsBpB,EAAMoB,qBAC5BC,mBAAoBrB,EAAMqB,mBAC1BC,kBAAmBtB,EAAMsB,kBAEzBC,8BAA+BvB,EAAMuB,8BACrCC,6BAA8BxB,EAAMwB,6BAEpCC,eAAgBzB,EAAMyB,eACtBC,gBAAiB1B,EAAM0B,gBAEvBC,gBAAiB3B,EAAM2B,gBAEvBC,WAAY5B,EAAM4B,WAClBC,mBAAoB7B,EAAM6B"}
@@ -1,2 +1,2 @@
1
- import{createElement as e,Fragment as t}from"../../../../external/preact/dist/preact.js";import r from"../../../../_virtual/index.js";import{useCoreContext as a}from"../../../../core/Context/CoreProvider.js";function n(e,t){if(null==e)return{};var r,a,n,o={};if("undefined"!=typeof Reflect&&Reflect.ownKeys){for(r=Reflect.ownKeys(e),n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a]);return o}if(o=function(e,t){if(null==e)return{};var r,a,n={},o=Object.getOwnPropertyNames(e);for(a=0;a<o.length;a++)r=o[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r]);return n}(e,t),Object.getOwnPropertySymbols)for(r=Object.getOwnPropertySymbols(e),n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a]);return o}function o(o){let{voucherDetails:c,className:l=""}=o,s=n(o,["voucherDetails","className"]);var u;const{i18n:i}=a();return null===(u=s.onActionHandled)||void 0===u||u.call(s,{componentType:s.paymentMethodType,actionDescription:"voucher-presented"}),e("div",{className:r("adyen-checkout__voucher-result","adyen-checkout__voucher-result--bankTransfer",`adyen-checkout__voucher-result--${s.paymentMethodType}`,l)},e("div",{className:"adyen-checkout__voucher-result__top"},e("div",{className:"adyen-checkout__voucher-result__image"},!!s.imageUrl&&e("span",{className:"adyen-checkout__voucher-result__image__wrapper"},e("img",{alt:s.paymentMethodType,className:"adyen-checkout__voucher-result__image__brand",src:s.imageUrl}))),s.amount&&e("div",{className:"adyen-checkout__voucher-result__amount"},s.amount),s.instructions&&e(t,null,e("div",{className:"adyen-checkout__voucher-result-title"},i.get("bankTransfer.instruction.title")),s.instructions)),e("div",{className:"adyen-checkout__voucher-result__bottom"},c&&e(t,null,e("div",{className:"adyen-checkout__voucher-result-title"},i.get("bankTransfer.details.title")),c)))}export{o as default};
1
+ import{createElement as e,Fragment as t}from"../../../../external/preact/dist/preact.js";import r from"../../../../_virtual/index.js";import{useCoreContext as a}from"../../../../core/Context/CoreProvider.js";function n(e,t){if(null==e)return{};var r,a,n,o={};if("undefined"!=typeof Reflect&&Reflect.ownKeys){for(r=Reflect.ownKeys(Object(e)),n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a]);return o}if(o=function(e,t){if(null==e)return{};var r,a,n={},o=Object.getOwnPropertyNames(e);for(a=0;a<o.length;a++)r=o[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r]);return n}(e,t),Object.getOwnPropertySymbols)for(r=Object.getOwnPropertySymbols(e),n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a]);return o}function o(o){let{voucherDetails:c,className:l=""}=o,s=n(o,["voucherDetails","className"]);var u;const{i18n:i}=a();return null===(u=s.onActionHandled)||void 0===u||u.call(s,{componentType:s.paymentMethodType,actionDescription:"voucher-presented"}),e("div",{className:r("adyen-checkout__voucher-result","adyen-checkout__voucher-result--bankTransfer",`adyen-checkout__voucher-result--${s.paymentMethodType}`,l)},e("div",{className:"adyen-checkout__voucher-result__top"},e("div",{className:"adyen-checkout__voucher-result__image"},!!s.imageUrl&&e("span",{className:"adyen-checkout__voucher-result__image__wrapper"},e("img",{alt:s.paymentMethodType,className:"adyen-checkout__voucher-result__image__brand",src:s.imageUrl}))),s.amount&&e("div",{className:"adyen-checkout__voucher-result__amount"},s.amount),s.instructions&&e(t,null,e("div",{className:"adyen-checkout__voucher-result-title"},i.get("bankTransfer.instruction.title")),s.instructions)),e("div",{className:"adyen-checkout__voucher-result__bottom"},c&&e(t,null,e("div",{className:"adyen-checkout__voucher-result-title"},i.get("bankTransfer.details.title")),c)))}export{o as default};
2
2
  //# sourceMappingURL=BankTransferVoucher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BankTransferVoucher.js","sources":["../../../../../../src/components/BankTransfer/components/BankTransferResult/BankTransferVoucher.tsx"],"sourcesContent":["import { h, Fragment } from 'preact';\nimport classNames from 'classnames';\nimport { BankTransferVoucherProps } from './types';\nimport './BankTransferVoucher.scss';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\n\nexport default function BankTransferVoucher({ voucherDetails, className = '', ...props }: Readonly<BankTransferVoucherProps>) {\n const { i18n } = useCoreContext();\n props.onActionHandled?.({ componentType: props.paymentMethodType, actionDescription: 'voucher-presented' });\n\n return (\n <div\n className={classNames(\n 'adyen-checkout__voucher-result',\n 'adyen-checkout__voucher-result--bankTransfer',\n `adyen-checkout__voucher-result--${props.paymentMethodType}`,\n className\n )}\n >\n <div className=\"adyen-checkout__voucher-result__top\">\n <div className=\"adyen-checkout__voucher-result__image\">\n {!!props.imageUrl && (\n <span className=\"adyen-checkout__voucher-result__image__wrapper\">\n <img alt={props.paymentMethodType} className=\"adyen-checkout__voucher-result__image__brand\" src={props.imageUrl} />\n </span>\n )}\n </div>\n {props.amount && <div className=\"adyen-checkout__voucher-result__amount\">{props.amount}</div>}\n {props.instructions && (\n <Fragment>\n <div className=\"adyen-checkout__voucher-result-title\">{i18n.get('bankTransfer.instruction.title')}</div>\n {props.instructions}\n </Fragment>\n )}\n </div>\n\n <div className=\"adyen-checkout__voucher-result__bottom\">\n {voucherDetails && (\n <Fragment>\n <div className=\"adyen-checkout__voucher-result-title\">{i18n.get('bankTransfer.details.title')}</div>\n {voucherDetails}\n </Fragment>\n )}\n </div>\n </div>\n );\n}\n"],"names":["BankTransferVoucher","_0","voucherDetails","className","props","i18n","useCoreContext","onActionHandled","componentType","paymentMethodType","actionDescription","h","div","classNames","imageUrl","span","img","alt","src","amount","instructions","Fragment","get"],"mappings":"i0BAMe,SAASA,EAAoBC,GAAA,IAAAC,eAAEA,EAAcC,UAAEA,EAAY,IAAkDF,EAA3CG,EAAAA,EAAAA,EAAAA,gCAE7EA,IAAAA,EADA,MAAMC,KAAEA,GAASC,IAGjB,OAFqB,QAArBF,EAAAA,EAAMG,uBAANH,IAAAA,GAAAA,OAAAA,EAAwB,CAAEI,cAAeJ,EAAMK,kBAAmBC,kBAAmB,sBAGjFC,EAACC,MAAAA,CACGT,UAAWU,EACP,iCACA,+CACA,mCAAmCT,EAAMK,oBACzCN,IAGJQ,EAACC,MAAAA,CAAIT,UAAU,uCACXQ,EAACC,MAAAA,CAAIT,UAAU,2CACRC,EAAMU,UACLH,EAACI,OAAAA,CAAKZ,UAAU,kDACZQ,EAACK,MAAAA,CAAIC,IAAKb,EAAMK,kBAAmBN,UAAU,+CAA+Ce,IAAKd,EAAMU,aAIlHV,EAAMe,QAAUR,EAACC,MAAAA,CAAIT,UAAU,0CAA0CC,EAAMe,QAC/Ef,EAAMgB,cACHT,EAACU,OACGV,EAACC,MAAAA,CAAIT,UAAU,wCAAwCE,EAAKiB,IAAI,mCAC/DlB,EAAMgB,eAKnBT,EAACC,MAAAA,CAAIT,UAAU,0CACVD,GACGS,EAACU,OACGV,EAACC,MAAAA,CAAIT,UAAU,wCAAwCE,EAAKiB,IAAI,+BAC/DpB,IAMzB"}
1
+ {"version":3,"file":"BankTransferVoucher.js","sources":["../../../../../../src/components/BankTransfer/components/BankTransferResult/BankTransferVoucher.tsx"],"sourcesContent":["import { h, Fragment } from 'preact';\nimport classNames from 'classnames';\nimport { BankTransferVoucherProps } from './types';\nimport './BankTransferVoucher.scss';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\n\nexport default function BankTransferVoucher({ voucherDetails, className = '', ...props }: Readonly<BankTransferVoucherProps>) {\n const { i18n } = useCoreContext();\n props.onActionHandled?.({ componentType: props.paymentMethodType, actionDescription: 'voucher-presented' });\n\n return (\n <div\n className={classNames(\n 'adyen-checkout__voucher-result',\n 'adyen-checkout__voucher-result--bankTransfer',\n `adyen-checkout__voucher-result--${props.paymentMethodType}`,\n className\n )}\n >\n <div className=\"adyen-checkout__voucher-result__top\">\n <div className=\"adyen-checkout__voucher-result__image\">\n {!!props.imageUrl && (\n <span className=\"adyen-checkout__voucher-result__image__wrapper\">\n <img alt={props.paymentMethodType} className=\"adyen-checkout__voucher-result__image__brand\" src={props.imageUrl} />\n </span>\n )}\n </div>\n {props.amount && <div className=\"adyen-checkout__voucher-result__amount\">{props.amount}</div>}\n {props.instructions && (\n <Fragment>\n <div className=\"adyen-checkout__voucher-result-title\">{i18n.get('bankTransfer.instruction.title')}</div>\n {props.instructions}\n </Fragment>\n )}\n </div>\n\n <div className=\"adyen-checkout__voucher-result__bottom\">\n {voucherDetails && (\n <Fragment>\n <div className=\"adyen-checkout__voucher-result-title\">{i18n.get('bankTransfer.details.title')}</div>\n {voucherDetails}\n </Fragment>\n )}\n </div>\n </div>\n );\n}\n"],"names":["BankTransferVoucher","_0","voucherDetails","className","props","i18n","useCoreContext","onActionHandled","componentType","paymentMethodType","actionDescription","h","div","classNames","imageUrl","span","img","alt","src","amount","instructions","Fragment","get"],"mappings":"y0BAMe,SAASA,EAAoBC,GAAA,IAAAC,eAAEA,EAAcC,UAAEA,EAAY,IAAkDF,EAA3CG,EAAAA,EAAAA,EAAAA,gCAE7EA,IAAAA,EADA,MAAMC,KAAEA,GAASC,IAGjB,OAFqB,QAArBF,EAAAA,EAAMG,uBAANH,IAAAA,GAAAA,OAAAA,EAAwB,CAAEI,cAAeJ,EAAMK,kBAAmBC,kBAAmB,sBAGjFC,EAACC,MAAAA,CACGT,UAAWU,EACP,iCACA,+CACA,mCAAmCT,EAAMK,oBACzCN,IAGJQ,EAACC,MAAAA,CAAIT,UAAU,uCACXQ,EAACC,MAAAA,CAAIT,UAAU,2CACRC,EAAMU,UACLH,EAACI,OAAAA,CAAKZ,UAAU,kDACZQ,EAACK,MAAAA,CAAIC,IAAKb,EAAMK,kBAAmBN,UAAU,+CAA+Ce,IAAKd,EAAMU,aAIlHV,EAAMe,QAAUR,EAACC,MAAAA,CAAIT,UAAU,0CAA0CC,EAAMe,QAC/Ef,EAAMgB,cACHT,EAACU,OACGV,EAACC,MAAAA,CAAIT,UAAU,wCAAwCE,EAAKiB,IAAI,mCAC/DlB,EAAMgB,eAKnBT,EAACC,MAAAA,CAAIT,UAAU,0CACVD,GACGS,EAACU,OACGV,EAACC,MAAAA,CAAIT,UAAU,wCAAwCE,EAAKiB,IAAI,+BAC/DpB,IAMzB"}
@@ -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/BoletoInput/BoletoInput.js";import{cleanCPFCNPJ as o}from"../internal/SocialSecurityNumberBrazil/utils.js";import n from"./components/BoletoVoucherResult/BoletoVoucherResult.js";import{TxVariants as i}from"../tx-variants.js";function s(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),o.forEach(function(e){s(t,e,r[e])})}return t}function c(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e.push.apply(e,r)}return e}(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))}),t}class p extends e{get isValid(){return!!this.state.isValid}formatData(){const{data:t={}}=this.state,{billingAddress:e,shopperEmail:r,firstName:n,lastName:i,socialSecurityNumber:s=""}=t;return a({paymentMethod:{type:this.type}},e&&{billingAddress:e},r&&{shopperEmail:r},n&&i&&{shopperName:{firstName:n,lastName:i}},s&&{socialSecurityNumber:o(s)})}componentToRender(){return this.props.reference?t(n,c(a({ref:this.handleRef,icon:this.icon},this.props),{onActionHandled:this.onActionHandled})):t(r,c(a({setComponentRef:this.handleRef},this.props),{onChange:this.setState,onSubmit:this.submit,payButton:this.payButton}))}constructor(...t){super(...t),s(this,"handleRef",t=>{this.componentRef=t})}}s(p,"type",i.boletobancario),s(p,"txVariants",[i.boletobancario,i.boletobancario_itau,i.boletobancario_santander,i.primeiropay_boleto]);export{p as BoletoElement,p as default};
1
+ import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import r from"./components/BoletoInput/BoletoInput.js";import{cleanCPFCNPJ as o}from"../internal/SocialSecurityNumberBrazil/utils.js";import n from"./components/BoletoVoucherResult/BoletoVoucherResult.js";import{TxVariants as i}from"../tx-variants.js";function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){s(e,t,r[t])})}return e}function c(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}class p extends t{get isValid(){return!!this.state.isValid}formatData(){const{data:e={}}=this.state,{billingAddress:t,shopperEmail:r,firstName:n,lastName:i,socialSecurityNumber:s=""}=e;return a({paymentMethod:{type:this.type}},t&&{billingAddress:t},r&&{shopperEmail:r},n&&i&&{shopperName:{firstName:n,lastName:i}},s&&{socialSecurityNumber:o(s)})}componentToRender(){return this.props.reference?e(n,c(a({ref:this.handleRef,icon:this.icon},this.props),{onActionHandled:this.onActionHandled})):e(r,c(a({setComponentRef:this.handleRef},this.props),{onChange:this.setState,payButton:this.payButton}))}constructor(...e){super(...e),s(this,"handleRef",e=>{this.componentRef=e})}}s(p,"type",i.boletobancario),s(p,"txVariants",[i.boletobancario,i.boletobancario_itau,i.boletobancario_santander,i.primeiropay_boleto]);export{p as BoletoElement,p as default};
2
2
  //# sourceMappingURL=Boleto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Boleto.js","sources":["../../../../src/components/Boleto/Boleto.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport BoletoInput from './components/BoletoInput';\nimport { cleanCPFCNPJ } from '../internal/SocialSecurityNumberBrazil/utils';\nimport BoletoVoucherResult from './components/BoletoVoucherResult';\nimport { TxVariants } from '../tx-variants';\n\nimport type { BoletoConfiguration } from './types';\n\nexport class BoletoElement extends UIElement<BoletoConfiguration> {\n public static readonly type = TxVariants.boletobancario;\n\n public static readonly txVariants = [\n TxVariants.boletobancario,\n TxVariants.boletobancario_itau,\n TxVariants.boletobancario_santander,\n TxVariants.primeiropay_boleto\n ];\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const { data = {} } = this.state;\n const { billingAddress, shopperEmail, firstName, lastName, socialSecurityNumber = '' } = data;\n\n return {\n paymentMethod: {\n type: this.type\n },\n ...(billingAddress && { billingAddress }),\n ...(shopperEmail && { shopperEmail }),\n ...(firstName && lastName && { shopperName: { firstName, lastName } }),\n ...(socialSecurityNumber && { socialSecurityNumber: cleanCPFCNPJ(socialSecurityNumber) })\n };\n }\n\n private handleRef = ref => {\n this.componentRef = ref;\n };\n\n protected override componentToRender(): h.JSX.Element {\n return this.props.reference ? (\n <BoletoVoucherResult ref={this.handleRef} icon={this.icon} {...this.props} onActionHandled={this.onActionHandled} />\n ) : (\n <BoletoInput\n setComponentRef={this.handleRef}\n {...this.props}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n );\n }\n}\n\nexport default BoletoElement;\n"],"names":["BoletoElement","UIElement","isValid","this","state","formatData","data","billingAddress","shopperEmail","firstName","lastName","socialSecurityNumber","_object_spread","paymentMethod","type","shopperName","cleanCPFCNPJ","componentToRender","props","reference","h","BoletoVoucherResult","ref","handleRef","icon","onActionHandled","BoletoInput","setComponentRef","onChange","setState","onSubmit","submit","payButton","super","args","_define_property","componentRef","TxVariants","boletobancario","txVariants","boletobancario_itau","boletobancario_santander","primeiropay_boleto"],"mappings":"yqCASO,MAAMA,UAAsBC,EAU/B,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAKAG,UAAAA,GACI,MAAMC,KAAEA,EAAO,IAAOH,KAAKC,OACrBG,eAAEA,EAAcC,aAAEA,EAAYC,UAAEA,EAASC,SAAEA,EAAQC,qBAAEA,EAAuB,IAAOL,EAEzF,OAAOM,EAAA,CACHC,cAAe,CACXC,KAAMX,KAAKW,OAEXP,GAAkB,CAAEA,kBACpBC,GAAgB,CAAEA,gBAClBC,GAAaC,GAAY,CAAEK,YAAa,CAAEN,YAAWC,aACrDC,GAAwB,CAAEA,qBAAsBK,EAAaL,IAEzE,CAMmBM,iBAAAA,GACf,OAAOd,KAAKe,MAAMC,UACdC,EAACC,EAAAA,EAAAA,EAAAA,CAAoBC,IAAKnB,KAAKoB,UAAWC,KAAMrB,KAAKqB,MAAUrB,KAAKe,OAAK,CAAEO,gBAAiBtB,KAAKsB,mBAEjGL,EAACM,EAAAA,EAAAA,EAAAA,CACGC,gBAAiBxB,KAAKoB,WAClBpB,KAAKe,OAAK,CACdU,SAAUzB,KAAK0B,SACfC,SAAU3B,KAAK4B,OACfC,UAAW7B,KAAK6B,YAG5B,mBAhDGC,SAAAC,GAgCHC,EAAAhC,KAAQoB,YAAYD,IAChBnB,KAAKiC,aAAed,KAhCxBa,EADSnC,EACcc,OAAOuB,EAAWC,gBAEzCH,EAHSnC,EAGcuC,aAAa,CAChCF,EAAWC,eACXD,EAAWG,oBACXH,EAAWI,yBACXJ,EAAWK"}
1
+ {"version":3,"file":"Boleto.js","sources":["../../../../src/components/Boleto/Boleto.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport BoletoInput from './components/BoletoInput';\nimport { cleanCPFCNPJ } from '../internal/SocialSecurityNumberBrazil/utils';\nimport BoletoVoucherResult from './components/BoletoVoucherResult';\nimport { TxVariants } from '../tx-variants';\n\nimport type { BoletoConfiguration } from './types';\n\nexport class BoletoElement extends UIElement<BoletoConfiguration> {\n public static readonly type = TxVariants.boletobancario;\n\n public static readonly txVariants = [\n TxVariants.boletobancario,\n TxVariants.boletobancario_itau,\n TxVariants.boletobancario_santander,\n TxVariants.primeiropay_boleto\n ];\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const { data = {} } = this.state;\n const { billingAddress, shopperEmail, firstName, lastName, socialSecurityNumber = '' } = data;\n\n return {\n paymentMethod: {\n type: this.type\n },\n ...(billingAddress && { billingAddress }),\n ...(shopperEmail && { shopperEmail }),\n ...(firstName && lastName && { shopperName: { firstName, lastName } }),\n ...(socialSecurityNumber && { socialSecurityNumber: cleanCPFCNPJ(socialSecurityNumber) })\n };\n }\n\n private handleRef = ref => {\n this.componentRef = ref;\n };\n\n protected override componentToRender(): h.JSX.Element {\n return this.props.reference ? (\n <BoletoVoucherResult ref={this.handleRef} icon={this.icon} {...this.props} onActionHandled={this.onActionHandled} />\n ) : (\n <BoletoInput setComponentRef={this.handleRef} {...this.props} onChange={this.setState} payButton={this.payButton} />\n );\n }\n}\n\nexport default BoletoElement;\n"],"names":["BoletoElement","UIElement","isValid","this","state","formatData","data","billingAddress","shopperEmail","firstName","lastName","socialSecurityNumber","_object_spread","paymentMethod","type","shopperName","cleanCPFCNPJ","componentToRender","props","reference","h","BoletoVoucherResult","ref","handleRef","icon","onActionHandled","BoletoInput","setComponentRef","onChange","setState","payButton","super","args","_define_property","componentRef","TxVariants","boletobancario","txVariants","boletobancario_itau","boletobancario_santander","primeiropay_boleto"],"mappings":"yqCASO,MAAMA,UAAsBC,EAU/B,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAKAG,UAAAA,GACI,MAAMC,KAAEA,EAAO,IAAOH,KAAKC,OACrBG,eAAEA,EAAcC,aAAEA,EAAYC,UAAEA,EAASC,SAAEA,EAAQC,qBAAEA,EAAuB,IAAOL,EAEzF,OAAOM,EAAA,CACHC,cAAe,CACXC,KAAMX,KAAKW,OAEXP,GAAkB,CAAEA,kBACpBC,GAAgB,CAAEA,gBAClBC,GAAaC,GAAY,CAAEK,YAAa,CAAEN,YAAWC,aACrDC,GAAwB,CAAEA,qBAAsBK,EAAaL,IAEzE,CAMmBM,iBAAAA,GACf,OAAOd,KAAKe,MAAMC,UACdC,EAACC,EAAAA,EAAAA,EAAAA,CAAoBC,IAAKnB,KAAKoB,UAAWC,KAAMrB,KAAKqB,MAAUrB,KAAKe,OAAK,CAAEO,gBAAiBtB,KAAKsB,mBAEjGL,EAACM,EAAAA,EAAAA,EAAAA,CAAYC,gBAAiBxB,KAAKoB,WAAepB,KAAKe,OAAK,CAAEU,SAAUzB,KAAK0B,SAAUC,UAAW3B,KAAK2B,YAE/G,mBA1CGC,SAAAC,GAgCHC,EAAA9B,KAAQoB,YAAYD,IAChBnB,KAAK+B,aAAeZ,KAhCxBW,EADSjC,EACcc,OAAOqB,EAAWC,gBAEzCH,EAHSjC,EAGcqC,aAAa,CAChCF,EAAWC,eACXD,EAAWG,oBACXH,EAAWI,yBACXJ,EAAWK"}
@@ -1 +1 @@
1
- {"version":3,"file":"BoletoInput.js","sources":["../../../../../../src/components/Boleto/components/BoletoInput/BoletoInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef } from 'preact/hooks';\nimport Address from '../../../internal/Address';\nimport { boletoValidationRules } from './validate';\nimport { boletoFormatters } from './utils';\nimport SendCopyToEmail from '../../../internal/SendCopyToEmail/SendCopyToEmail';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { BoletoInputDataState } from '../../types';\nimport useForm from '../../../../utils/useForm';\nimport { BrazilPersonalDetail } from '../../../internal/SocialSecurityNumberBrazil/BrazilPersonalDetail';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\nimport type { PayButtonProps } from '../../../internal/PayButton/PayButton';\n\ninterface BoletoInputProps {\n onChange(data: any): void;\n payButton: (props: PayButtonProps) => h.JSX.Element;\n [key: string]: any;\n}\n\nfunction BoletoInput(props: Readonly<BoletoInputProps>) {\n const { i18n } = useCoreContext();\n const addressRef = useRef(null);\n const setAddressRef = ref => {\n addressRef.current = ref;\n };\n const { handleChangeFor, triggerValidation, setSchema, setData, setValid, setErrors, data, valid, errors, isValid } =\n useForm<BoletoInputDataState>({\n schema: ['firstName', 'lastName', 'socialSecurityNumber', 'billingAddress', 'shopperEmail'],\n defaultData: props.data,\n rules: boletoValidationRules,\n formatters: boletoFormatters\n });\n\n // Email field toggle\n const [showingEmail, setShowingEmail] = useState<boolean>(false);\n const toggleEmailField = () => setShowingEmail(!showingEmail);\n\n // Handle form schema updates\n useEffect(() => {\n const newSchema = [\n ...(props.personalDetailsRequired ? ['firstName', 'lastName', 'socialSecurityNumber'] : []),\n ...(props.billingAddressRequired ? ['billingAddress'] : []),\n ...(showingEmail ? ['shopperEmail'] : [])\n ];\n setSchema(newSchema);\n }, [showingEmail, props.personalDetailsRequired, props.billingAddressRequired]);\n\n const handleAddress = address => {\n setData('billingAddress', address.data);\n setValid('billingAddress', address.isValid);\n setErrors('billingAddress', address.errors);\n };\n\n const [status, setStatus] = useState('ready');\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const boletoRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(boletoRef.current).length) {\n props.setComponentRef?.(boletoRef.current);\n }\n\n boletoRef.current.showValidation = () => {\n triggerValidation();\n if (props.billingAddressRequired) {\n addressRef.current.showValidation();\n }\n };\n\n boletoRef.current.setStatus = setStatus;\n\n useEffect(() => {\n const billingAddressValid = props.billingAddressRequired ? Boolean(valid.billingAddress) : true;\n props.onChange({ data, valid, errors, isValid: isValid && billingAddressValid });\n }, [data, valid, errors]);\n\n const buttonModifiers = [...(!props.personalDetailsRequired && !props.billingAddressRequired && !props.showEmailAddress ? ['standalone'] : [])];\n\n const showFormInstruction = props.personalDetailsRequired || props.billingAddressRequired;\n\n return (\n <div className=\"adyen-checkout__boleto-input__field\">\n {showFormInstruction && <FormInstruction />}\n\n {props.personalDetailsRequired && (\n <BrazilPersonalDetail i18n={i18n} data={data} handleChangeFor={handleChangeFor} errors={errors} valid={valid} />\n )}\n\n {props.billingAddressRequired && (\n <Address\n allowedCountries={['BR']}\n label=\"billingAddress\"\n data={{ ...props.data.billingAddress, country: 'BR' }}\n onChange={handleAddress}\n requiredFields={['country', 'street', 'houseNumberOrName', 'postalCode', 'city', 'stateOrProvince']}\n setComponentRef={setAddressRef}\n />\n )}\n\n {props.showEmailAddress && (\n <SendCopyToEmail\n value={data.shopperEmail}\n errors={errors.shopperEmail}\n onToggle={toggleEmailField}\n onInput={handleChangeFor('shopperEmail', 'input')}\n onBlur={handleChangeFor('shopperEmail', 'blur')}\n />\n )}\n\n {props.showPayButton &&\n props.payButton({\n status,\n label: i18n.get('boletobancario.btnLabel'),\n classNameModifiers: buttonModifiers\n })}\n </div>\n );\n}\n\nBoletoInput.defaultProps = {\n data: {},\n showEmailAddress: true,\n personalDetailsRequired: true,\n billingAddressRequired: true\n};\n\nexport default BoletoInput;\n"],"names":["BoletoInput","props","i18n","useCoreContext","addressRef","useRef","handleChangeFor","triggerValidation","setSchema","setData","setValid","setErrors","data","valid","errors","isValid","useForm","schema","defaultData","rules","boletoValidationRules","formatters","boletoFormatters","showingEmail","setShowingEmail","useState","useEffect","newSchema","personalDetailsRequired","billingAddressRequired","status","setStatus","boletoRef","Object","keys","current","length","setComponentRef","showValidation","billingAddressValid","Boolean","billingAddress","onChange","buttonModifiers","showEmailAddress","showFormInstruction","h","div","className","FormInstruction","BrazilPersonalDetail","Address","allowedCountries","label","_object_spread_props","_object_spread","country","address","requiredFields","ref","SendCopyToEmail","value","shopperEmail","onToggle","onInput","onBlur","showPayButton","payButton","get","classNameModifiers","defaultProps"],"mappings":"o+CAoBA,SAASA,EAAYC,GACjB,MAAMC,KAAEA,GAASC,IACXC,EAAaC,EAAO,OAIpBC,gBAAEA,EAAeC,kBAAEA,EAAiBC,UAAEA,EAASC,QAAEA,EAAOC,SAAEA,EAAQC,UAAEA,EAASC,KAAEA,EAAIC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GACtGC,EAA8B,CAC1BC,OAAQ,CAAC,YAAa,WAAY,uBAAwB,iBAAkB,gBAC5EC,YAAajB,EAAMW,KACnBO,MAAOC,EACPC,WAAYC,KAIbC,EAAcC,GAAmBC,GAAkB,GAI1DC,EAAU,KACN,MAAMC,EAAY,IACV1B,EAAM2B,wBAA0B,CAAC,YAAa,WAAY,wBAA0B,MACpF3B,EAAM4B,uBAAyB,CAAC,kBAAoB,MACpDN,EAAe,CAAC,gBAAkB,IAE1Cf,EAAUmB,IACX,CAACJ,EAActB,EAAM2B,wBAAyB3B,EAAM4B,yBAEvD,MAMOC,EAAQC,GAAaN,EAAS,SAG/BO,EAAY3B,EAA4B,IAG1CJ,IAAAA,EADCgC,OAAOC,KAAKF,EAAUG,SAASC,SACX,QAArBnC,EAAAA,EAAMoC,2BAANpC,GAAAA,EAAAA,KAAAA,EAAwB+B,EAAUG,UAGtCH,EAAUG,QAAQG,eAAiB,KAC/B/B,IACIN,EAAM4B,wBACNzB,EAAW+B,QAAQG,kBAI3BN,EAAUG,QAAQJ,UAAYA,EAE9BL,EAAU,KACN,MAAMa,GAAsBtC,EAAM4B,wBAAyBW,QAAQ3B,EAAM4B,gBACzExC,EAAMyC,SAAS,CAAE9B,OAAMC,QAAOC,SAAQC,QAASA,GAAWwB,KAC3D,CAAC3B,EAAMC,EAAOC,IAEjB,MAAM6B,EAAkB,IAAM1C,EAAM2B,yBAA4B3B,EAAM4B,wBAA2B5B,EAAM2C,iBAAoC,GAAjB,CAAC,eAErHC,EAAsB5C,EAAM2B,yBAA2B3B,EAAM4B,uBAEnE,OACIiB,EAACC,MAAAA,CAAIC,UAAU,uCACVH,GAAuBC,EAACG,EAAAA,MAExBhD,EAAM2B,yBACHkB,EAACI,EAAAA,CAAqBhD,KAAMA,EAAMU,KAAMA,EAAMN,gBAAiBA,EAAiBQ,OAAQA,EAAQD,MAAOA,IAG1GZ,EAAM4B,wBACHiB,EAACK,EAAAA,CACGC,iBAAkB,CAAC,MACnBC,MAAM,iBACNzC,KAAM0C,EAAAC,EAAA,CAAA,EAAKtD,EAAMW,KAAK6B,gBAAc,CAAEe,QAAS,OAC/Cd,SA9CMe,IAClBhD,EAAQ,iBAAkBgD,EAAQ7C,MAClCF,EAAS,iBAAkB+C,EAAQ1C,SACnCJ,EAAU,iBAAkB8C,EAAQ3C,SA4CxB4C,eAAgB,CAAC,UAAW,SAAU,oBAAqB,aAAc,OAAQ,mBACjFrB,gBAzEMsB,IAClBvD,EAAW+B,QAAUwB,KA4EhB1D,EAAM2C,kBACHE,EAACc,EAAAA,CACGC,MAAOjD,EAAKkD,aACZhD,OAAQA,EAAOgD,aACfC,SApES,IAAMvC,GAAiBD,GAqEhCyC,QAAS1D,EAAgB,eAAgB,SACzC2D,OAAQ3D,EAAgB,eAAgB,UAI/CL,EAAMiE,eACHjE,EAAMkE,UAAU,CACZrC,SACAuB,MAAOnD,EAAKkE,IAAI,2BAChBC,mBAAoB1B,IAIxC,CAEA3C,EAAYsE,aAAe,CACvB1D,KAAM,CAAA,EACNgC,kBAAkB,EAClBhB,yBAAyB,EACzBC,wBAAwB"}
1
+ {"version":3,"file":"BoletoInput.js","sources":["../../../../../../src/components/Boleto/components/BoletoInput/BoletoInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef } from 'preact/hooks';\nimport Address from '../../../internal/Address';\nimport { boletoValidationRules } from './validate';\nimport { boletoFormatters } from './utils';\nimport SendCopyToEmail from '../../../internal/SendCopyToEmail/SendCopyToEmail';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { BoletoInputDataState } from '../../types';\nimport useForm from '../../../../utils/useForm';\nimport { BrazilPersonalDetail } from '../../../internal/SocialSecurityNumberBrazil/BrazilPersonalDetail';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport type { ComponentMethodsRef } from '../../../internal/UIElement/types';\nimport type { PayButtonProps } from '../../../internal/PayButton/PayButton';\nimport type { ValidationRuleResult } from '../../../../utils/Validator/ValidationRuleResult';\n\nexport interface BoletoInputProps {\n setComponentRef: (ref: ComponentMethodsRef) => void;\n payButton: (props: PayButtonProps) => h.JSX.Element;\n onChange: (props: {\n data: BoletoInputDataState;\n errors: { [p: string]: ValidationRuleResult };\n valid: { [p: string]: boolean };\n isValid: boolean;\n }) => void;\n personalDetailsRequired?: boolean;\n billingAddressRequired?: boolean;\n showEmailAddress?: boolean;\n data?: BoletoInputDataState;\n showPayButton?: boolean;\n}\n\nfunction BoletoInput(props: Readonly<BoletoInputProps>) {\n const { i18n } = useCoreContext();\n const addressRef = useRef(null);\n const setAddressRef = ref => {\n addressRef.current = ref;\n };\n const { handleChangeFor, triggerValidation, setSchema, setData, setValid, setErrors, data, valid, errors, isValid } =\n useForm<BoletoInputDataState>({\n schema: ['firstName', 'lastName', 'socialSecurityNumber', 'billingAddress', 'shopperEmail'],\n defaultData: props.data,\n rules: boletoValidationRules,\n formatters: boletoFormatters\n });\n\n // Email field toggle\n const [showingEmail, setShowingEmail] = useState<boolean>(false);\n const toggleEmailField = () => setShowingEmail(!showingEmail);\n\n // Handle form schema updates\n useEffect(() => {\n const newSchema = [\n ...(props.personalDetailsRequired ? ['firstName', 'lastName', 'socialSecurityNumber'] : []),\n ...(props.billingAddressRequired ? ['billingAddress'] : []),\n ...(showingEmail ? ['shopperEmail'] : [])\n ];\n setSchema(newSchema);\n }, [showingEmail, props.personalDetailsRequired, props.billingAddressRequired]);\n\n const handleAddress = address => {\n setData('billingAddress', address.data);\n setValid('billingAddress', address.isValid);\n setErrors('billingAddress', address.errors);\n };\n\n const [status, setStatus] = useState('ready');\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const boletoRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(boletoRef.current).length) {\n props.setComponentRef?.(boletoRef.current);\n }\n\n boletoRef.current.showValidation = () => {\n triggerValidation();\n if (props.billingAddressRequired) {\n addressRef.current.showValidation();\n }\n };\n\n boletoRef.current.setStatus = setStatus;\n\n useEffect(() => {\n const billingAddressValid = props.billingAddressRequired ? Boolean(valid.billingAddress) : true;\n props.onChange({ data, valid, errors, isValid: isValid && billingAddressValid });\n }, [data, valid, errors]);\n\n const buttonModifiers = [...(!props.personalDetailsRequired && !props.billingAddressRequired && !props.showEmailAddress ? ['standalone'] : [])];\n\n const showFormInstruction = props.personalDetailsRequired || props.billingAddressRequired;\n\n return (\n <div className=\"adyen-checkout__boleto-input__field\">\n {showFormInstruction && <FormInstruction />}\n\n {props.personalDetailsRequired && (\n <BrazilPersonalDetail i18n={i18n} data={data} handleChangeFor={handleChangeFor} errors={errors} valid={valid} />\n )}\n\n {props.billingAddressRequired && (\n <Address\n allowedCountries={['BR']}\n label=\"billingAddress\"\n data={{ ...props.data.billingAddress, country: 'BR' }}\n onChange={handleAddress}\n requiredFields={['country', 'street', 'houseNumberOrName', 'postalCode', 'city', 'stateOrProvince']}\n setComponentRef={setAddressRef}\n />\n )}\n\n {props.showEmailAddress && (\n <SendCopyToEmail\n value={data.shopperEmail}\n errors={errors.shopperEmail}\n onToggle={toggleEmailField}\n onInput={handleChangeFor('shopperEmail', 'input')}\n onBlur={handleChangeFor('shopperEmail', 'blur')}\n />\n )}\n\n {props.showPayButton &&\n props.payButton({\n status,\n label: i18n.get('boletobancario.btnLabel'),\n classNameModifiers: buttonModifiers\n })}\n </div>\n );\n}\n\nBoletoInput.defaultProps = {\n data: {},\n showEmailAddress: true,\n personalDetailsRequired: true,\n billingAddressRequired: true\n};\n\nexport default BoletoInput;\n"],"names":["BoletoInput","props","i18n","useCoreContext","addressRef","useRef","handleChangeFor","triggerValidation","setSchema","setData","setValid","setErrors","data","valid","errors","isValid","useForm","schema","defaultData","rules","boletoValidationRules","formatters","boletoFormatters","showingEmail","setShowingEmail","useState","useEffect","newSchema","personalDetailsRequired","billingAddressRequired","status","setStatus","boletoRef","Object","keys","current","length","setComponentRef","showValidation","billingAddressValid","Boolean","billingAddress","onChange","buttonModifiers","showEmailAddress","showFormInstruction","h","div","className","FormInstruction","BrazilPersonalDetail","Address","allowedCountries","label","_object_spread_props","_object_spread","country","address","requiredFields","ref","SendCopyToEmail","value","shopperEmail","onToggle","onInput","onBlur","showPayButton","payButton","get","classNameModifiers","defaultProps"],"mappings":"o+CA+BA,SAASA,EAAYC,GACjB,MAAMC,KAAEA,GAASC,IACXC,EAAaC,EAAO,OAIpBC,gBAAEA,EAAeC,kBAAEA,EAAiBC,UAAEA,EAASC,QAAEA,EAAOC,SAAEA,EAAQC,UAAEA,EAASC,KAAEA,EAAIC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GACtGC,EAA8B,CAC1BC,OAAQ,CAAC,YAAa,WAAY,uBAAwB,iBAAkB,gBAC5EC,YAAajB,EAAMW,KACnBO,MAAOC,EACPC,WAAYC,KAIbC,EAAcC,GAAmBC,GAAkB,GAI1DC,EAAU,KACN,MAAMC,EAAY,IACV1B,EAAM2B,wBAA0B,CAAC,YAAa,WAAY,wBAA0B,MACpF3B,EAAM4B,uBAAyB,CAAC,kBAAoB,MACpDN,EAAe,CAAC,gBAAkB,IAE1Cf,EAAUmB,IACX,CAACJ,EAActB,EAAM2B,wBAAyB3B,EAAM4B,yBAEvD,MAMOC,EAAQC,GAAaN,EAAS,SAG/BO,EAAY3B,EAA4B,IAG1CJ,IAAAA,EADCgC,OAAOC,KAAKF,EAAUG,SAASC,SACX,QAArBnC,EAAAA,EAAMoC,2BAANpC,GAAAA,EAAAA,KAAAA,EAAwB+B,EAAUG,UAGtCH,EAAUG,QAAQG,eAAiB,KAC/B/B,IACIN,EAAM4B,wBACNzB,EAAW+B,QAAQG,kBAI3BN,EAAUG,QAAQJ,UAAYA,EAE9BL,EAAU,KACN,MAAMa,GAAsBtC,EAAM4B,wBAAyBW,QAAQ3B,EAAM4B,gBACzExC,EAAMyC,SAAS,CAAE9B,OAAMC,QAAOC,SAAQC,QAASA,GAAWwB,KAC3D,CAAC3B,EAAMC,EAAOC,IAEjB,MAAM6B,EAAkB,IAAM1C,EAAM2B,yBAA4B3B,EAAM4B,wBAA2B5B,EAAM2C,iBAAoC,GAAjB,CAAC,eAErHC,EAAsB5C,EAAM2B,yBAA2B3B,EAAM4B,uBAEnE,OACIiB,EAACC,MAAAA,CAAIC,UAAU,uCACVH,GAAuBC,EAACG,EAAAA,MAExBhD,EAAM2B,yBACHkB,EAACI,EAAAA,CAAqBhD,KAAMA,EAAMU,KAAMA,EAAMN,gBAAiBA,EAAiBQ,OAAQA,EAAQD,MAAOA,IAG1GZ,EAAM4B,wBACHiB,EAACK,EAAAA,CACGC,iBAAkB,CAAC,MACnBC,MAAM,iBACNzC,KAAM0C,EAAAC,EAAA,CAAA,EAAKtD,EAAMW,KAAK6B,gBAAc,CAAEe,QAAS,OAC/Cd,SA9CMe,IAClBhD,EAAQ,iBAAkBgD,EAAQ7C,MAClCF,EAAS,iBAAkB+C,EAAQ1C,SACnCJ,EAAU,iBAAkB8C,EAAQ3C,SA4CxB4C,eAAgB,CAAC,UAAW,SAAU,oBAAqB,aAAc,OAAQ,mBACjFrB,gBAzEMsB,IAClBvD,EAAW+B,QAAUwB,KA4EhB1D,EAAM2C,kBACHE,EAACc,EAAAA,CACGC,MAAOjD,EAAKkD,aACZhD,OAAQA,EAAOgD,aACfC,SApES,IAAMvC,GAAiBD,GAqEhCyC,QAAS1D,EAAgB,eAAgB,SACzC2D,OAAQ3D,EAAgB,eAAgB,UAI/CL,EAAMiE,eACHjE,EAAMkE,UAAU,CACZrC,SACAuB,MAAOnD,EAAKkE,IAAI,2BAChBC,mBAAoB1B,IAIxC,CAEA3C,EAAYsE,aAAe,CACvB1D,KAAM,CAAA,EACNgC,kBAAkB,EAClBhB,yBAAyB,EACzBC,wBAAwB"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import o from"./components/CardInput/CardInput.js";import e from"../../utils/browserInfo.js";import i from"../internal/SecuredFields/binLookup/triggerBinLookUp.js";import{fieldTypeToSnakeCase as n,isSecuredField as s}from"../internal/SecuredFields/utils.js";import{reject as r}from"../../utils/commonUtils.js";import{shouldIncludeInstallmentsInPaymentData as a}from"./components/CardInput/utils.js";import l from"../internal/ClickToPay/services/create-clicktopay-service.js";import d from"./components/ClickToPayWrapper.js";import{TxVariants as u}from"../tx-variants.js";import{UIElement as c}from"../internal/UIElement/UIElement.js";import p from"../internal/PayButton/PayButton.js";import h,{IMPLEMENTATION_ERROR as m}from"../../core/Errors/AdyenCheckoutError.js";import y from"./components/CardInput/defaultProps.js";import{AnalyticsInfoEvent as f,InfoEventType as v}from"../../core/Analytics/events/AnalyticsInfoEvent.js";function b(t,o,e){return o in t?Object.defineProperty(t,o,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[o]=e,t}function g(t){for(var o=1;o<arguments.length;o++){var e=null!=arguments[o]?arguments[o]:{},i=Object.keys(e);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(e).filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.forEach(function(o){b(t,o,e[o])})}return t}function P(t,o){return o=null!=o?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):function(t){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);o.push.apply(o,e)}return o}(Object(o)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}),t}class C extends c{setStatus(t,o){var e,i;return(null===(e=this.componentRef)||void 0===e?void 0:e.setStatus)&&this.componentRef.setStatus(t,o),(null===(i=this.clickToPayRef)||void 0===i?void 0:i.setStatus)&&this.clickToPayRef.setStatus(t,o),this}getPaymentMethodConfigFromResponse(t){var o;return(null==t?void 0:t.fundingSource)?null===(o=this.core.paymentMethodsResponse)||void 0===o?void 0:o.findByFundingSource(t.type,t.fundingSource):super.getPaymentMethodConfigFromResponse(t)}formatProps(t){var o,e,i,n,s,r,a,l,d,c,p,f,v,b,C,S,k,R,B,O,T,w;const j=null!==(o=null===(s=t.session)||void 0===s||null===(n=s.configuration)||void 0===n?void 0:n.enableStoreDetails)&&void 0!==o?o:t.enableStoreDetails,I=!(0===(null===(r=t.amount)||void 0===r?void 0:r.value))&&j,M=t.storedPaymentMethodId||t.id,A=M&&(null==t||null===(a=t.supportedShopperInteractions)||void 0===a?void 0:a.includes("Ecommerce"));if(M&&!A)throw new h(m,"You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions");return g(P(g({},t),{holderNameRequired:!!t.hasHolderName&&t.holderNameRequired,hasCVC:!(t.brand&&"bcmc"===t.brand||t.hideCVC),billingAddressRequired:!t.storedPaymentMethodId&&t.billingAddressRequired,billingAddressMode:t.onAddressLookup?y.billingAddressMode:t.billingAddressMode,brand:null!==(e=t.brand)&&void 0!==e?e:u.card,countryCode:t.countryCode?t.countryCode.toLowerCase():null,configuration:P(g({},t.configuration),{socialSecurityNumberMode:null!==(i=null===(l=t.configuration)||void 0===l?void 0:l.socialSecurityNumberMode)&&void 0!==i?i:"auto"}),brandsConfiguration:t.brandsConfiguration||(null===(d=t.configuration)||void 0===d?void 0:d.brandsConfiguration)||{},icon:t.icon||(null===(c=t.configuration)||void 0===c?void 0:c.icon),installmentOptions:(null===(f=t.session)||void 0===f||null===(p=f.configuration)||void 0===p?void 0:p.installmentOptions)||t.installmentOptions,enableStoreDetails:j,showStoreDetailsCheckbox:I,clickToPayConfiguration:P(g({},t.clickToPayConfiguration),{disableOtpAutoFocus:(null===(v=t.clickToPayConfiguration)||void 0===v?void 0:v.disableOtpAutoFocus)||!1,shopperEmail:(null===(b=t.clickToPayConfiguration)||void 0===b?void 0:b.shopperEmail)||(null===(S=this.core.options)||void 0===S||null===(C=S.session)||void 0===C?void 0:C.shopperEmail),telephoneNumber:(null===(k=t.clickToPayConfiguration)||void 0===k?void 0:k.telephoneNumber)||(null===(B=this.core.options)||void 0===B||null===(R=B.session)||void 0===R?void 0:R.telephoneNumber),locale:(null===(O=t.clickToPayConfiguration)||void 0===O?void 0:O.locale)||(null===(w=t.i18n)||void 0===w||null===(T=w.locale)||void 0===T?void 0:T.replace("-","_"))})}),M&&{storedPaymentMethodId:M})}formatData(){var t;const o=this.state.selectedBrandValue;return P(g({paymentMethod:g({type:C.type},this.state.data,this.props.storedPaymentMethodId&&{storedPaymentMethodId:this.props.storedPaymentMethodId,holderName:null!==(t=this.props.holderName)&&void 0!==t?t:""},o&&{brand:o},this.props.fundingSource&&{fundingSource:this.props.fundingSource},this.state.fastlaneData&&{fastlaneData:btoa(JSON.stringify(this.state.fastlaneData))})},this.state.billingAddress&&{billingAddress:this.state.billingAddress},this.state.socialSecurityNumber&&{socialSecurityNumber:this.state.socialSecurityNumber},this.storePaymentMethodPayload,a(this.state.installments)&&{installments:this.state.installments}),{browserInfo:this.browserInfo,origin:!!window&&window.location.origin})}beforeRender(t){if(null==t?void 0:t.originalAction)return;const o=new f(g({type:v.rendered,component:this.type,configData:P(g({},t),{showPayButton:this.props.showPayButton})},(null==t?void 0:t.oneClick)&&{isStoredPaymentMethod:!0,brand:t.brand}));this.analytics.sendAnalytics(o)}updateStyles(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.updateStyles)&&this.componentRef.updateStyles(t),this}setFocusOn(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.setFocusOn)&&this.componentRef.setFocusOn(t),this}processBinLookupResponse(t,o=!1){var e;return(null===(e=this.componentRef)||void 0===e?void 0:e.processBinLookupResponse)&&this.componentRef.processBinLookupResponse(t,o),this}handleUnsupportedCard(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.handleUnsupportedCard)&&this.componentRef.handleUnsupportedCard(t),this}onBinLookup(t){if(!t.isReset){var o,e;const i=r("supportedBrandsRaw").from(t);null===(o=(e=this.props).onBinLookup)||void 0===o||o.call(e,i)}}get storePaymentMethodPayload(){var t,o;if((null===(t=this.props.storedPaymentMethodId)||void 0===t?void 0:t.length)>0)return{};if(0===(null===(o=this.props.amount)||void 0===o?void 0:o.value))return this.props.enableStoreDetails?{storePaymentMethod:!0}:{};return this.props.showStoreDetailsCheckbox&&void 0!==this.state.storePaymentMethod?{storePaymentMethod:Boolean(this.state.storePaymentMethod)}:{}}get isValid(){return!!this.state.isValid}get icon(){var t;return null!==(t=this.props.icon)&&void 0!==t?t:this.resources.getImage()(this.props.brand)}get brands(){const{brands:t,brandsConfiguration:o}=this.props;return t?t.map(t=>{var e,i;return{icon:null!==(e=null===(i=o[t])||void 0===i?void 0:i.icon)&&void 0!==e?e:this.props.modules.resources.getImage()(t),name:t}}):[]}get displayName(){return this.props.storedPaymentMethodId?`•••• ${this.props.lastFour}`:this.props.name||C.type}get accessibleName(){return(this.props.name||C.type)+(this.props.storedPaymentMethodId?" "+this.props.i18n.get("creditCard.storedCard.description.ariaLabel").replace("%@",this.props.lastFour):"")}get browserInfo(){return e()}renderCardInput(e=!0){return t(o,P(g({setComponentRef:this.setComponentRef},this.props,this.state),{onSubmitAnalytics:this.submitAnalytics,onChange:this.setState,onSubmit:this.submit,handleKeyPress:this.handleKeyPress,payButton:this.payButton,onBrand:this.onBrand,onBinValue:this.onBinValue,brand:this.props.brand,brandsIcons:this.brands,isPayButtonPrimaryVariant:e,resources:this.resources,onFocus:this.onFocus,onBlur:this.onBlur,onConfigSuccess:this.onConfigSuccess}))}componentToRender(){return t(d,{configuration:this.props.clickToPayConfiguration,clickToPayService:this.clickToPayService,isStandaloneComponent:!1,setClickToPayRef:this.setClickToPayRef,onSetStatus:this.setElementStatus,onSubmit:this.handleClickToPaySubmit,onError:this.handleError},t=>this.renderCardInput(t))}constructor(o,e){var r;(super(o,e),b(this,"clickToPayService",void 0),b(this,"clickToPayRef",null),b(this,"setClickToPayRef",t=>{this.clickToPayRef=t}),b(this,"onBrand",t=>{var o,e;null===(o=(e=this.props).onBrand)||void 0===o||o.call(e,t)}),b(this,"handleClickToPaySubmit",t=>{this.setState({data:g({},t),valid:{},errors:{},isValid:!0}),this.submit()}),b(this,"onConfigSuccess",t=>{var o,e;const i=new f({component:this.type,type:v.configured});this.submitAnalytics(i),null===(o=(e=this.props).onConfigSuccess)||void 0===o||o.call(e,t)}),b(this,"onFocus",t=>{const o=new f({component:this.type,type:v.focus,target:n(t.fieldType)});var e,i,r,a;(this.submitAnalytics(o),s(t.fieldType))?null===(e=(i=this.props).onFocus)||void 0===e||e.call(i,t.event):null===(r=(a=this.props).onFocus)||void 0===r||r.call(a,t)}),b(this,"onBlur",t=>{const o=new f({component:this.type,type:v.unfocus,target:n(t.fieldType)});var e,i,r,a;(this.submitAnalytics(o),s(t.fieldType))?null===(e=(i=this.props).onBlur)||void 0===e||e.call(i,t.event):null===(r=(a=this.props).onBlur)||void 0===r||r.call(a,t)}),b(this,"onBinValue",i(this)),b(this,"payButton",o=>{var e,i;const n=0===(null===(e=this.props.amount)||void 0===e?void 0:e.value),s=(null===(i=this.props.storedPaymentMethodId)||void 0===i?void 0:i.length)>0;return t(p,P(g({},o),{label:n&&!s?this.props.i18n.get("payButton.saveDetails"):"",onClick:this.submit}))}),e&&!e._disableClickToPay&&"prepaid"!==this.props.fundingSource)&&(this.clickToPayService=l(this.props.configuration,this.props.clickToPayConfiguration,this.props.environment,this.analytics),null===(r=this.clickToPayService)||void 0===r||r.initialize())}}b(C,"type",u.scheme),b(C,"defaultProps",g({showFormInstruction:!0,_disableClickToPay:!1,doBinLookup:!0},r(["type","setComponentRef"]).from(y)));export{C as CardElement,C as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import o from"./components/CardInput/CardInput.js";import e from"../../utils/browserInfo.js";import i from"../internal/SecuredFields/binLookup/triggerBinLookUp.js";import{fieldTypeToSnakeCase as n,isSecuredField as s}from"../internal/SecuredFields/utils.js";import{reject as r}from"../../utils/commonUtils.js";import{shouldIncludeInstallmentsInPaymentData as a}from"./components/CardInput/utils.js";import l from"../internal/ClickToPay/services/create-clicktopay-service.js";import d from"./components/ClickToPayWrapper.js";import{TxVariants as u}from"../tx-variants.js";import{UIElement as c}from"../internal/UIElement/UIElement.js";import p from"../internal/PayButton/PayButton.js";import h,{IMPLEMENTATION_ERROR as m}from"../../core/Errors/AdyenCheckoutError.js";import y from"./components/CardInput/defaultProps.js";import{AnalyticsInfoEvent as f,InfoEventType as v}from"../../core/Analytics/events/AnalyticsInfoEvent.js";function b(t,o,e){return o in t?Object.defineProperty(t,o,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[o]=e,t}function g(t){for(var o=1;o<arguments.length;o++){var e=null!=arguments[o]?arguments[o]:{},i=Object.keys(e);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(e).filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.forEach(function(o){b(t,o,e[o])})}return t}function P(t,o){return o=null!=o?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):function(t){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);o.push.apply(o,e)}return o}(Object(o)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}),t}class C extends c{setStatus(t,o){var e,i;return(null===(e=this.componentRef)||void 0===e?void 0:e.setStatus)&&this.componentRef.setStatus(t,o),(null===(i=this.clickToPayRef)||void 0===i?void 0:i.setStatus)&&this.clickToPayRef.setStatus(t,o),this}getPaymentMethodConfigFromResponse(t){var o;return(null==t?void 0:t.fundingSource)?null===(o=this.core.paymentMethodsResponse)||void 0===o?void 0:o.findByFundingSource(t.type,t.fundingSource):super.getPaymentMethodConfigFromResponse(t)}formatProps(t){var o,e,i,n,s,r,a,l,d,c,p,f,v,b,C,S,k,R,B,O,T,w;const j=null!==(o=null===(s=t.session)||void 0===s||null===(n=s.configuration)||void 0===n?void 0:n.enableStoreDetails)&&void 0!==o?o:t.enableStoreDetails,I=!(0===(null===(r=t.amount)||void 0===r?void 0:r.value))&&j,M=t.storedPaymentMethodId||t.id,A=M&&(null==t||null===(a=t.supportedShopperInteractions)||void 0===a?void 0:a.includes("Ecommerce"));if(M&&!A)throw new h(m,"You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions");return g(P(g({},t),{holderNameRequired:!!t.hasHolderName&&t.holderNameRequired,hasCVC:!(t.brand&&"bcmc"===t.brand||t.hideCVC),billingAddressRequired:!t.storedPaymentMethodId&&t.billingAddressRequired,billingAddressMode:t.onAddressLookup?y.billingAddressMode:t.billingAddressMode,brand:null!==(e=t.brand)&&void 0!==e?e:u.card,countryCode:t.countryCode?t.countryCode.toLowerCase():null,configuration:P(g({},t.configuration),{socialSecurityNumberMode:null!==(i=null===(l=t.configuration)||void 0===l?void 0:l.socialSecurityNumberMode)&&void 0!==i?i:"auto"}),brandsConfiguration:t.brandsConfiguration||(null===(d=t.configuration)||void 0===d?void 0:d.brandsConfiguration)||{},icon:t.icon||(null===(c=t.configuration)||void 0===c?void 0:c.icon),installmentOptions:(null===(f=t.session)||void 0===f||null===(p=f.configuration)||void 0===p?void 0:p.installmentOptions)||t.installmentOptions,enableStoreDetails:j,showStoreDetailsCheckbox:I,clickToPayConfiguration:P(g({},t.clickToPayConfiguration),{disableOtpAutoFocus:(null===(v=t.clickToPayConfiguration)||void 0===v?void 0:v.disableOtpAutoFocus)||!1,shopperEmail:(null===(b=t.clickToPayConfiguration)||void 0===b?void 0:b.shopperEmail)||(null===(S=this.core.options)||void 0===S||null===(C=S.session)||void 0===C?void 0:C.shopperEmail),telephoneNumber:(null===(k=t.clickToPayConfiguration)||void 0===k?void 0:k.telephoneNumber)||(null===(B=this.core.options)||void 0===B||null===(R=B.session)||void 0===R?void 0:R.telephoneNumber),locale:(null===(O=t.clickToPayConfiguration)||void 0===O?void 0:O.locale)||(null===(w=t.i18n)||void 0===w||null===(T=w.locale)||void 0===T?void 0:T.replace("-","_"))})}),M&&{storedPaymentMethodId:M})}formatData(){var t;const o=this.state.selectedBrandValue;return P(g({paymentMethod:g({type:C.type},this.state.data,this.props.storedPaymentMethodId&&{storedPaymentMethodId:this.props.storedPaymentMethodId,holderName:null!==(t=this.props.holderName)&&void 0!==t?t:""},o&&{brand:o},this.props.fundingSource&&{fundingSource:this.props.fundingSource},this.state.fastlaneData&&{fastlaneData:btoa(JSON.stringify(this.state.fastlaneData))})},this.state.billingAddress&&{billingAddress:this.state.billingAddress},this.state.socialSecurityNumber&&{socialSecurityNumber:this.state.socialSecurityNumber},this.storePaymentMethodPayload,a(this.state.installments)&&{installments:this.state.installments}),{browserInfo:this.browserInfo,origin:!!window&&window.location.origin})}beforeRender(t){if(null==t?void 0:t.originalAction)return;const o=new f(g({type:v.rendered,component:this.type,configData:P(g({},t),{showPayButton:this.props.showPayButton})},(null==t?void 0:t.oneClick)&&{isStoredPaymentMethod:!0,brand:t.brand}));this.analytics.sendAnalytics(o)}updateStyles(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.updateStyles)&&this.componentRef.updateStyles(t),this}setFocusOn(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.setFocusOn)&&this.componentRef.setFocusOn(t),this}processBinLookupResponse(t,o=!1){var e;return(null===(e=this.componentRef)||void 0===e?void 0:e.processBinLookupResponse)&&this.componentRef.processBinLookupResponse(t,o),this}handleUnsupportedCard(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.handleUnsupportedCard)&&this.componentRef.handleUnsupportedCard(t),this}onBinLookup(t){if(!t.isReset){var o,e;const i=r("supportedBrandsRaw").from(t);null===(o=(e=this.props).onBinLookup)||void 0===o||o.call(e,i)}}get storePaymentMethodPayload(){var t,o;if((null===(t=this.props.storedPaymentMethodId)||void 0===t?void 0:t.length)>0)return{};if(0===(null===(o=this.props.amount)||void 0===o?void 0:o.value))return this.props.enableStoreDetails?{storePaymentMethod:!0}:{};return this.props.showStoreDetailsCheckbox&&void 0!==this.state.storePaymentMethod?{storePaymentMethod:Boolean(this.state.storePaymentMethod)}:{}}get isValid(){return!!this.state.isValid}get icon(){var t;return null!==(t=this.props.icon)&&void 0!==t?t:this.resources.getImage()(this.props.brand)}get brands(){const{brands:t,brandsConfiguration:o}=this.props;return t?t.map(t=>{var e,i;return{icon:null!==(e=null==o||null===(i=o[t])||void 0===i?void 0:i.icon)&&void 0!==e?e:this.props.modules.resources.getImage()(t),name:t}}):[]}get displayName(){return this.props.storedPaymentMethodId?`•••• ${this.props.lastFour}`:this.props.name||C.type}get accessibleName(){return(this.props.name||C.type)+(this.props.storedPaymentMethodId?" "+this.props.i18n.get("creditCard.storedCard.description.ariaLabel").replace("%@",this.props.lastFour):"")}get browserInfo(){return e()}renderCardInput(e=!0){return t(o,P(g({setComponentRef:this.setComponentRef},this.props,this.state),{onSubmitAnalytics:this.submitAnalytics,onChange:this.setState,onSubmit:this.submit,handleKeyPress:this.handleKeyPress,payButton:this.payButton,onBrand:this.onBrand,onBinValue:this.onBinValue,brand:this.props.brand,brandsIcons:this.brands,isPayButtonPrimaryVariant:e,resources:this.resources,onFocus:this.onFocus,onBlur:this.onBlur,onConfigSuccess:this.onConfigSuccess}))}componentToRender(){return t(d,{configuration:this.props.clickToPayConfiguration,clickToPayService:this.clickToPayService,isStandaloneComponent:!1,setClickToPayRef:this.setClickToPayRef,onSetStatus:this.setElementStatus,onSubmit:this.handleClickToPaySubmit,onError:this.handleError},t=>this.renderCardInput(t))}constructor(o,e){var r;(super(o,e),b(this,"clickToPayService",void 0),b(this,"clickToPayRef",null),b(this,"setClickToPayRef",t=>{this.clickToPayRef=t}),b(this,"onBrand",t=>{var o,e;null===(o=(e=this.props).onBrand)||void 0===o||o.call(e,t)}),b(this,"handleClickToPaySubmit",t=>{this.setState({data:g({},t),valid:{},errors:{},isValid:!0}),this.submit()}),b(this,"onConfigSuccess",t=>{var o,e;const i=new f({component:this.type,type:v.configured});this.submitAnalytics(i),null===(o=(e=this.props).onConfigSuccess)||void 0===o||o.call(e,t)}),b(this,"onFocus",t=>{const o=new f({component:this.type,type:v.focus,target:n(t.fieldType)});var e,i,r,a;(this.submitAnalytics(o),s(t.fieldType))?null===(e=(i=this.props).onFocus)||void 0===e||e.call(i,t.event):null===(r=(a=this.props).onFocus)||void 0===r||r.call(a,t)}),b(this,"onBlur",t=>{const o=new f({component:this.type,type:v.unfocus,target:n(t.fieldType)});var e,i,r,a;(this.submitAnalytics(o),s(t.fieldType))?null===(e=(i=this.props).onBlur)||void 0===e||e.call(i,t.event):null===(r=(a=this.props).onBlur)||void 0===r||r.call(a,t)}),b(this,"onBinValue",i(this)),b(this,"payButton",o=>{var e,i;const n=0===(null===(e=this.props.amount)||void 0===e?void 0:e.value),s=(null===(i=this.props.storedPaymentMethodId)||void 0===i?void 0:i.length)>0;return t(p,P(g({},o),{label:n&&!s?this.props.i18n.get("payButton.saveDetails"):"",onClick:this.submit}))}),e&&!e._disableClickToPay&&"prepaid"!==this.props.fundingSource)&&(this.clickToPayService=l(this.props.configuration,this.props.clickToPayConfiguration,this.props.environment,this.analytics),null===(r=this.clickToPayService)||void 0===r||r.initialize())}}b(C,"type",u.scheme),b(C,"defaultProps",g({showFormInstruction:!0,_disableClickToPay:!1,doBinLookup:!0},r(["type","setComponentRef"]).from(y)));export{C as CardElement,C as default};
2
2
  //# sourceMappingURL=Card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","sources":["../../../../src/components/Card/Card.tsx"],"sourcesContent":["import { h } from 'preact';\nimport CardInput from './components/CardInput';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport { BinLookupResponse, CardElementData, CardConfiguration } from './types';\nimport triggerBinLookUp from '../internal/SecuredFields/binLookup/triggerBinLookUp';\nimport { CardBinLookupData, CardConfigSuccessData, CardFocusData } from '../internal/SecuredFields/lib/types';\nimport { fieldTypeToSnakeCase, isSecuredField } from '../internal/SecuredFields/utils';\nimport { reject } from '../../utils/commonUtils';\nimport { shouldIncludeInstallmentsInPaymentData } from './components/CardInput/utils';\nimport createClickToPayService from '../internal/ClickToPay/services/create-clicktopay-service';\nimport { ClickToPayCheckoutPayload, IClickToPayService } from '../internal/ClickToPay/services/types';\nimport ClickToPayWrapper from './components/ClickToPayWrapper';\nimport { ComponentFocusObject } from '../../types/global-types';\nimport { TxVariants } from '../tx-variants';\nimport type { UIElementStatus } from '../internal/UIElement/types';\nimport UIElement from '../internal/UIElement';\nimport PayButton from '../internal/PayButton';\nimport type { ICore } from '../../core/types';\nimport AdyenCheckoutError, { IMPLEMENTATION_ERROR } from '../../core/Errors/AdyenCheckoutError';\nimport CardInputDefaultProps from './components/CardInput/defaultProps';\nimport { PayButtonProps } from '../internal/PayButton/PayButton';\nimport { AnalyticsInfoEvent, InfoEventType, UiTarget } from '../../core/Analytics/events/AnalyticsInfoEvent';\n\nexport class CardElement extends UIElement<CardConfiguration> {\n public static readonly type: TxVariants = TxVariants.scheme;\n\n private readonly clickToPayService: IClickToPayService | null;\n\n /**\n * Reference to the 'ClickToPayComponent'\n */\n private clickToPayRef = null;\n\n constructor(checkout: ICore, props?: CardConfiguration) {\n super(checkout, props);\n\n if (props && !props._disableClickToPay && this.props.fundingSource !== 'prepaid') {\n this.clickToPayService = createClickToPayService(\n this.props.configuration,\n this.props.clickToPayConfiguration,\n this.props.environment,\n this.analytics\n );\n\n void this.clickToPayService?.initialize();\n }\n }\n\n protected static readonly defaultProps = {\n showFormInstruction: true,\n _disableClickToPay: false,\n doBinLookup: true,\n // Merge most of CardInput's defaultProps\n ...reject(['type', 'setComponentRef']).from(CardInputDefaultProps)\n };\n\n public setStatus(status: UIElementStatus, props?): this {\n if (this.componentRef?.setStatus) {\n this.componentRef.setStatus(status, props);\n }\n if (this.clickToPayRef?.setStatus) {\n this.clickToPayRef.setStatus(status, props);\n }\n return this;\n }\n\n private setClickToPayRef = ref => {\n this.clickToPayRef = ref;\n };\n\n // This is the most self contained way of handling funding source matching\n // Alternatives would be to override getPaymentMethodConfigFromResponse and change it's signature\n protected override getPaymentMethodConfigFromResponse(componentProps: CardConfiguration) {\n if (componentProps?.fundingSource) {\n return this.core.paymentMethodsResponse?.findByFundingSource(componentProps.type, componentProps.fundingSource);\n }\n\n return super.getPaymentMethodConfigFromResponse(componentProps);\n }\n\n formatProps(props: CardConfiguration): CardConfiguration {\n // The value from a session should be used, before falling back to the merchant configuration\n const enableStoreDetails = props.session?.configuration?.enableStoreDetails ?? props.enableStoreDetails;\n\n const isZeroAuth = props.amount?.value === 0;\n const showStoreDetailsCheckbox = isZeroAuth ? false : enableStoreDetails;\n\n const storedCardID = props.storedPaymentMethodId || props.id; // check if we've been passed a (checkout) processed storedCard or one that merchant has pulled from the PMs response\n const isEcommerceStoredCard = storedCardID && props?.supportedShopperInteractions?.includes('Ecommerce'); // If we have a storedCard does it support Ecommerce (it might not if the merchant has pulled it from the PMs response)\n\n // If we have a storedPM but it doesn't support Ecommerce - we can't make a storedCard component from it\n if (storedCardID && !isEcommerceStoredCard) {\n // TODO - Decide if an error is too severe? Would a console.warning suffice?\n throw new AdyenCheckoutError(\n IMPLEMENTATION_ERROR,\n 'You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions'\n );\n }\n\n return {\n ...props,\n // Mismatch between hasHolderName & holderNameRequired which can mean card can never be valid\n holderNameRequired: !props.hasHolderName ? false : props.holderNameRequired,\n // False for *stored* BCMC cards & if merchant explicitly wants to hide the CVC field\n hasCVC: !((props.brand && props.brand === 'bcmc') || props.hideCVC),\n // billingAddressRequired only available for non-stored cards\n billingAddressRequired: props.storedPaymentMethodId ? false : props.billingAddressRequired,\n // edge case where merchant has defined both an onAddressLookup callback AND set billingAddressMode: 'partial' - which leads to some strange behaviour in the address UI\n billingAddressMode: props.onAddressLookup ? CardInputDefaultProps.billingAddressMode : props.billingAddressMode,\n /** props.brand will be specified in the case of a StoredCard or a Bancontact component, for a regular Card we default it to 'card' */\n brand: props.brand ?? TxVariants.card,\n countryCode: props.countryCode ? props.countryCode.toLowerCase() : null,\n // Required for transition period (until configuration object becomes the norm)\n // - if merchant has defined value directly in props, use this instead\n configuration: {\n ...props.configuration,\n socialSecurityNumberMode: props.configuration?.socialSecurityNumberMode ?? 'auto'\n },\n brandsConfiguration: props.brandsConfiguration || props.configuration?.brandsConfiguration || {},\n icon: props.icon || props.configuration?.icon,\n // installmentOptions of a session should be used before falling back to the merchant configuration\n installmentOptions: props.session?.configuration?.installmentOptions || props.installmentOptions,\n enableStoreDetails,\n showStoreDetailsCheckbox,\n /**\n * Click to Pay configuration\n * - If email is set explicitly in the configuration, then it can override the one used in the session creation\n */\n clickToPayConfiguration: {\n ...props.clickToPayConfiguration,\n disableOtpAutoFocus: props.clickToPayConfiguration?.disableOtpAutoFocus || false,\n shopperEmail: props.clickToPayConfiguration?.shopperEmail || this.core.options?.session?.shopperEmail,\n telephoneNumber: props.clickToPayConfiguration?.telephoneNumber || this.core.options?.session?.telephoneNumber,\n locale: props.clickToPayConfiguration?.locale || props.i18n?.locale?.replace('-', '_')\n },\n ...(storedCardID && { storedPaymentMethodId: storedCardID })\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): CardElementData {\n /**\n * this.state.selectedBrandValue will be set when:\n * - /binLookup detects a single brand,\n * - when /binLookup detects a dual-branded card and the shopper makes a brand selection\n * - or, in the case of a storedCard\n */\n const cardBrand = this.state.selectedBrandValue;\n\n return {\n paymentMethod: {\n type: CardElement.type,\n ...this.state.data,\n ...(this.props.storedPaymentMethodId && {\n storedPaymentMethodId: this.props.storedPaymentMethodId,\n holderName: this.props.holderName ?? ''\n }),\n ...(cardBrand && { brand: cardBrand }),\n ...(this.props.fundingSource && { fundingSource: this.props.fundingSource }),\n ...(this.state.fastlaneData && { fastlaneData: btoa(JSON.stringify(this.state.fastlaneData)) })\n },\n ...(this.state.billingAddress && { billingAddress: this.state.billingAddress }),\n ...(this.state.socialSecurityNumber && { socialSecurityNumber: this.state.socialSecurityNumber }),\n ...this.storePaymentMethodPayload,\n ...(shouldIncludeInstallmentsInPaymentData(this.state.installments) && { installments: this.state.installments }),\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin\n };\n }\n\n protected override beforeRender(configSetByMerchant?: CardConfiguration): void {\n // We don't send 'rendered' events when rendering actions\n if (configSetByMerchant?.originalAction) {\n return;\n }\n\n const event = new AnalyticsInfoEvent({\n type: InfoEventType.rendered,\n component: this.type,\n configData: { ...configSetByMerchant, showPayButton: this.props.showPayButton },\n ...(configSetByMerchant?.oneClick && {\n isStoredPaymentMethod: true,\n brand: configSetByMerchant.brand\n })\n });\n\n this.analytics.sendAnalytics(event);\n }\n\n updateStyles(stylesObj) {\n if (this.componentRef?.updateStyles) this.componentRef.updateStyles(stylesObj);\n return this;\n }\n\n setFocusOn(fieldName) {\n if (this.componentRef?.setFocusOn) this.componentRef.setFocusOn(fieldName);\n return this;\n }\n\n public onBrand = event => {\n this.props.onBrand?.(event);\n };\n\n processBinLookupResponse(binLookupResponse: BinLookupResponse, isReset = false) {\n if (this.componentRef?.processBinLookupResponse) this.componentRef.processBinLookupResponse(binLookupResponse, isReset);\n return this;\n }\n\n handleUnsupportedCard(errObj) {\n if (this.componentRef?.handleUnsupportedCard) this.componentRef.handleUnsupportedCard(errObj);\n return this;\n }\n\n private handleClickToPaySubmit = (payload: ClickToPayCheckoutPayload) => {\n this.setState({ data: { ...payload }, valid: {}, errors: {}, isValid: true });\n this.submit();\n };\n\n onBinLookup(obj: CardBinLookupData) {\n // Handler for regular card comp doesn't need this 'raw' data or to know about 'resets'\n if (!obj.isReset) {\n const nuObj = reject('supportedBrandsRaw').from(obj);\n this.props.onBinLookup?.(nuObj);\n }\n }\n\n private onConfigSuccess = (obj: CardConfigSuccessData) => {\n const event = new AnalyticsInfoEvent({ component: this.type, type: InfoEventType.configured });\n this.submitAnalytics(event);\n\n this.props.onConfigSuccess?.(obj);\n };\n\n private onFocus = (obj: ComponentFocusObject) => {\n const event = new AnalyticsInfoEvent({\n component: this.type,\n type: InfoEventType.focus,\n target: fieldTypeToSnakeCase(obj.fieldType) as UiTarget\n });\n this.submitAnalytics(event);\n\n // Call merchant defined callback\n if (isSecuredField(obj.fieldType)) {\n this.props.onFocus?.(obj.event as CardFocusData);\n } else {\n this.props.onFocus?.(obj);\n }\n };\n\n private onBlur = (obj: ComponentFocusObject) => {\n const event = new AnalyticsInfoEvent({\n component: this.type,\n type: InfoEventType.unfocus,\n target: fieldTypeToSnakeCase(obj.fieldType) as UiTarget\n });\n this.submitAnalytics(event);\n\n // Call merchant defined callback\n if (isSecuredField(obj.fieldType)) {\n this.props.onBlur?.(obj.event as CardFocusData);\n } else {\n this.props.onBlur?.(obj);\n }\n };\n\n public onBinValue = triggerBinLookUp(this);\n\n get storePaymentMethodPayload() {\n const isStoredCard = this.props.storedPaymentMethodId?.length > 0;\n if (isStoredCard) {\n return {};\n }\n\n /**\n * For regular card, zero auth payments, we store the payment method, *if* the configuration says we should:\n * - For sessions, this means if the session has been created with storePaymentMethodMode: 'askForConsent'\n * - For the advanced flow, this means if the merchant has still set enableStoreDetails: true\n *\n * What we are doing is.. if for a normal payment we would show the \"Save for my next payment\" checkbox,\n * for a zero-auth payment we effectively click the checkbox on behalf of the shopper.\n */\n const isZeroAuth = this.props.amount?.value === 0;\n if (isZeroAuth) {\n return this.props.enableStoreDetails ? { storePaymentMethod: true } : {};\n }\n\n // For regular card, non-zero auth payments, we store the payment method based on the checkbox value.\n const includeStorePaymentMethod = this.props.showStoreDetailsCheckbox && typeof this.state.storePaymentMethod !== 'undefined';\n return includeStorePaymentMethod ? { storePaymentMethod: Boolean(this.state.storePaymentMethod) } : {};\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get icon() {\n return this.props.icon ?? this.resources.getImage()(this.props.brand);\n }\n\n get brands(): { icon: any; name: string }[] {\n const { brands, brandsConfiguration } = this.props;\n if (brands) {\n return brands.map(brand => {\n const brandIcon = brandsConfiguration[brand]?.icon ?? this.props.modules.resources.getImage()(brand);\n return { icon: brandIcon, name: brand };\n });\n }\n\n return [];\n }\n\n get displayName(): string {\n if (this.props.storedPaymentMethodId) {\n return `•••• ${this.props.lastFour}`;\n }\n\n return this.props.name || CardElement.type;\n }\n\n get accessibleName(): string {\n // Use display name, unless it's a stored payment method, there inform user\n return (\n (this.props.name || CardElement.type) +\n (this.props.storedPaymentMethodId\n ? ' ' + this.props.i18n.get('creditCard.storedCard.description.ariaLabel').replace('%@', this.props.lastFour)\n : '')\n );\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n protected override payButton = (props: PayButtonProps): h.JSX.Element => {\n const isZeroAuth = this.props.amount?.value === 0;\n const isStoredCard = this.props.storedPaymentMethodId?.length > 0;\n return <PayButton {...props} label={isZeroAuth && !isStoredCard ? this.props.i18n.get('payButton.saveDetails') : ''} onClick={this.submit} />;\n };\n\n private renderCardInput(isCardPrimaryInput = true): h.JSX.Element {\n return (\n <CardInput\n setComponentRef={this.setComponentRef}\n {...this.props}\n {...this.state}\n onSubmitAnalytics={this.submitAnalytics}\n onChange={this.setState}\n onSubmit={this.submit}\n handleKeyPress={this.handleKeyPress}\n payButton={this.payButton}\n onBrand={this.onBrand}\n onBinValue={this.onBinValue}\n brand={this.props.brand}\n brandsIcons={this.brands}\n isPayButtonPrimaryVariant={isCardPrimaryInput}\n resources={this.resources}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onConfigSuccess={this.onConfigSuccess}\n />\n );\n }\n\n protected override componentToRender(): h.JSX.Element {\n return (\n <ClickToPayWrapper\n configuration={this.props.clickToPayConfiguration}\n clickToPayService={this.clickToPayService}\n isStandaloneComponent={false}\n setClickToPayRef={this.setClickToPayRef}\n onSetStatus={this.setElementStatus}\n onSubmit={this.handleClickToPaySubmit}\n onError={this.handleError}\n >\n {isCardPrimaryInput => this.renderCardInput(isCardPrimaryInput)}\n </ClickToPayWrapper>\n );\n }\n}\n\nexport default CardElement;\n"],"names":["CardElement","UIElement","setStatus","status","props","_this_componentRef","_this_clickToPayRef","this","componentRef","clickToPayRef","getPaymentMethodConfigFromResponse","componentProps","_this_core_paymentMethodsResponse","fundingSource","core","paymentMethodsResponse","findByFundingSource","type","super","formatProps","_this_core_options_session","_this_core_options","_this_core_options_session1","_this_core_options1","enableStoreDetails","session","configuration","_ref","showStoreDetailsCheckbox","amount","value","storedCardID","storedPaymentMethodId","id","isEcommerceStoredCard","supportedShopperInteractions","includes","AdyenCheckoutError","IMPLEMENTATION_ERROR","_object_spread","_object_spread_props","holderNameRequired","hasHolderName","hasCVC","brand","hideCVC","billingAddressRequired","billingAddressMode","onAddressLookup","CardInputDefaultProps","TxVariants","card","countryCode","toLowerCase","socialSecurityNumberMode","_ref1","brandsConfiguration","icon","installmentOptions","clickToPayConfiguration","disableOtpAutoFocus","shopperEmail","options","telephoneNumber","locale","i18n","replace","formatData","_this_props_holderName","cardBrand","state","selectedBrandValue","paymentMethod","data","holderName","fastlaneData","btoa","JSON","stringify","billingAddress","socialSecurityNumber","storePaymentMethodPayload","shouldIncludeInstallmentsInPaymentData","installments","browserInfo","origin","window","location","beforeRender","configSetByMerchant","originalAction","event","AnalyticsInfoEvent","InfoEventType","rendered","component","configData","showPayButton","oneClick","isStoredPaymentMethod","analytics","sendAnalytics","updateStyles","stylesObj","setFocusOn","fieldName","processBinLookupResponse","binLookupResponse","isReset","handleUnsupportedCard","errObj","onBinLookup","obj","_this_props_onBinLookup","_this_props","nuObj","reject","from","call","_this_props_storedPaymentMethodId","_this_props_amount","length","storePaymentMethod","Boolean","isValid","_this_props_icon","resources","getImage","brands","map","modules","name","displayName","lastFour","accessibleName","get","collectBrowserInfo","renderCardInput","isCardPrimaryInput","h","CardInput","setComponentRef","onSubmitAnalytics","submitAnalytics","onChange","setState","onSubmit","submit","handleKeyPress","payButton","onBrand","onBinValue","brandsIcons","isPayButtonPrimaryVariant","onFocus","onBlur","onConfigSuccess","componentToRender","ClickToPayWrapper","clickToPayService","isStandaloneComponent","setClickToPayRef","onSetStatus","setElementStatus","handleClickToPaySubmit","onError","handleError","constructor","checkout","_this_clickToPayService","_define_property","ref","_this_props_onBrand","payload","valid","errors","_this_props_onConfigSuccess","configured","focus","target","fieldTypeToSnakeCase","fieldType","_this_props_onFocus","_this_props_onFocus1","_this_props1","isSecuredField","unfocus","_this_props_onBlur","_this_props_onBlur1","triggerBinLookUp","isZeroAuth","isStoredCard","PayButton","label","onClick","_disableClickToPay","createClickToPayService","environment","initialize","scheme","defaultProps","showFormInstruction","doBinLookup"],"mappings":"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"}
1
+ {"version":3,"file":"Card.js","sources":["../../../../src/components/Card/Card.tsx"],"sourcesContent":["import { h } from 'preact';\nimport CardInput from './components/CardInput';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport { BinLookupResponse, CardElementData, CardConfiguration } from './types';\nimport triggerBinLookUp from '../internal/SecuredFields/binLookup/triggerBinLookUp';\nimport { CardBinLookupData, CardConfigSuccessData, CardFocusData } from '../internal/SecuredFields/lib/types';\nimport { fieldTypeToSnakeCase, isSecuredField } from '../internal/SecuredFields/utils';\nimport { reject } from '../../utils/commonUtils';\nimport { shouldIncludeInstallmentsInPaymentData } from './components/CardInput/utils';\nimport createClickToPayService from '../internal/ClickToPay/services/create-clicktopay-service';\nimport { ClickToPayCheckoutPayload, IClickToPayService } from '../internal/ClickToPay/services/types';\nimport ClickToPayWrapper from './components/ClickToPayWrapper';\nimport { ComponentFocusObject, PaymentMethodBrand } from '../../types/global-types';\nimport { TxVariants } from '../tx-variants';\nimport type { UIElementStatus } from '../internal/UIElement/types';\nimport UIElement from '../internal/UIElement';\nimport PayButton from '../internal/PayButton';\nimport type { ICore } from '../../core/types';\nimport AdyenCheckoutError, { IMPLEMENTATION_ERROR } from '../../core/Errors/AdyenCheckoutError';\nimport CardInputDefaultProps from './components/CardInput/defaultProps';\nimport { PayButtonProps } from '../internal/PayButton/PayButton';\nimport { AnalyticsInfoEvent, InfoEventType, UiTarget } from '../../core/Analytics/events/AnalyticsInfoEvent';\n\nexport class CardElement extends UIElement<CardConfiguration> {\n public static readonly type: TxVariants = TxVariants.scheme;\n\n private readonly clickToPayService: IClickToPayService | null;\n\n /**\n * Reference to the 'ClickToPayComponent'\n */\n private clickToPayRef = null;\n\n constructor(checkout: ICore, props?: CardConfiguration) {\n super(checkout, props);\n\n if (props && !props._disableClickToPay && this.props.fundingSource !== 'prepaid') {\n this.clickToPayService = createClickToPayService(\n this.props.configuration,\n this.props.clickToPayConfiguration,\n this.props.environment,\n this.analytics\n );\n\n void this.clickToPayService?.initialize();\n }\n }\n\n protected static readonly defaultProps = {\n showFormInstruction: true,\n _disableClickToPay: false,\n doBinLookup: true,\n // Merge most of CardInput's defaultProps\n ...reject(['type', 'setComponentRef']).from(CardInputDefaultProps)\n };\n\n public setStatus(status: UIElementStatus, props?): this {\n if (this.componentRef?.setStatus) {\n this.componentRef.setStatus(status, props);\n }\n if (this.clickToPayRef?.setStatus) {\n this.clickToPayRef.setStatus(status, props);\n }\n return this;\n }\n\n private setClickToPayRef = ref => {\n this.clickToPayRef = ref;\n };\n\n // This is the most self contained way of handling funding source matching\n // Alternatives would be to override getPaymentMethodConfigFromResponse and change it's signature\n protected override getPaymentMethodConfigFromResponse(componentProps: CardConfiguration) {\n if (componentProps?.fundingSource) {\n return this.core.paymentMethodsResponse?.findByFundingSource(componentProps.type, componentProps.fundingSource);\n }\n\n return super.getPaymentMethodConfigFromResponse(componentProps);\n }\n\n formatProps(props: CardConfiguration): CardConfiguration {\n // The value from a session should be used, before falling back to the merchant configuration\n const enableStoreDetails = props.session?.configuration?.enableStoreDetails ?? props.enableStoreDetails;\n\n const isZeroAuth = props.amount?.value === 0;\n const showStoreDetailsCheckbox = isZeroAuth ? false : enableStoreDetails;\n\n const storedCardID = props.storedPaymentMethodId || props.id; // check if we've been passed a (checkout) processed storedCard or one that merchant has pulled from the PMs response\n const isEcommerceStoredCard = storedCardID && props?.supportedShopperInteractions?.includes('Ecommerce'); // If we have a storedCard does it support Ecommerce (it might not if the merchant has pulled it from the PMs response)\n\n // If we have a storedPM but it doesn't support Ecommerce - we can't make a storedCard component from it\n if (storedCardID && !isEcommerceStoredCard) {\n // TODO - Decide if an error is too severe? Would a console.warning suffice?\n throw new AdyenCheckoutError(\n IMPLEMENTATION_ERROR,\n 'You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions'\n );\n }\n\n return {\n ...props,\n // Mismatch between hasHolderName & holderNameRequired which can mean card can never be valid\n holderNameRequired: !props.hasHolderName ? false : props.holderNameRequired,\n // False for *stored* BCMC cards & if merchant explicitly wants to hide the CVC field\n hasCVC: !((props.brand && props.brand === 'bcmc') || props.hideCVC),\n // billingAddressRequired only available for non-stored cards\n billingAddressRequired: props.storedPaymentMethodId ? false : props.billingAddressRequired,\n // edge case where merchant has defined both an onAddressLookup callback AND set billingAddressMode: 'partial' - which leads to some strange behaviour in the address UI\n billingAddressMode: props.onAddressLookup ? CardInputDefaultProps.billingAddressMode : props.billingAddressMode,\n /** props.brand will be specified in the case of a StoredCard or a Bancontact component, for a regular Card we default it to 'card' */\n brand: props.brand ?? TxVariants.card,\n countryCode: props.countryCode ? props.countryCode.toLowerCase() : null,\n // Required for transition period (until configuration object becomes the norm)\n // - if merchant has defined value directly in props, use this instead\n configuration: {\n ...props.configuration,\n socialSecurityNumberMode: props.configuration?.socialSecurityNumberMode ?? 'auto'\n },\n brandsConfiguration: props.brandsConfiguration || props.configuration?.brandsConfiguration || {},\n icon: props.icon || props.configuration?.icon,\n // installmentOptions of a session should be used before falling back to the merchant configuration\n installmentOptions: props.session?.configuration?.installmentOptions || props.installmentOptions,\n enableStoreDetails,\n showStoreDetailsCheckbox,\n /**\n * Click to Pay configuration\n * - If email is set explicitly in the configuration, then it can override the one used in the session creation\n */\n clickToPayConfiguration: {\n ...props.clickToPayConfiguration,\n disableOtpAutoFocus: props.clickToPayConfiguration?.disableOtpAutoFocus || false,\n shopperEmail: props.clickToPayConfiguration?.shopperEmail || this.core.options?.session?.shopperEmail,\n telephoneNumber: props.clickToPayConfiguration?.telephoneNumber || this.core.options?.session?.telephoneNumber,\n locale: props.clickToPayConfiguration?.locale || props.i18n?.locale?.replace('-', '_')\n },\n ...(storedCardID && { storedPaymentMethodId: storedCardID })\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): CardElementData {\n /**\n * this.state.selectedBrandValue will be set when:\n * - /binLookup detects a single brand,\n * - when /binLookup detects a dual-branded card and the shopper makes a brand selection\n * - or, in the case of a storedCard\n */\n const cardBrand = this.state.selectedBrandValue;\n\n return {\n paymentMethod: {\n type: CardElement.type,\n ...this.state.data,\n ...(this.props.storedPaymentMethodId && {\n storedPaymentMethodId: this.props.storedPaymentMethodId,\n holderName: this.props.holderName ?? ''\n }),\n ...(cardBrand && { brand: cardBrand }),\n ...(this.props.fundingSource && { fundingSource: this.props.fundingSource }),\n ...(this.state.fastlaneData && { fastlaneData: btoa(JSON.stringify(this.state.fastlaneData)) })\n },\n ...(this.state.billingAddress && { billingAddress: this.state.billingAddress }),\n ...(this.state.socialSecurityNumber && { socialSecurityNumber: this.state.socialSecurityNumber }),\n ...this.storePaymentMethodPayload,\n ...(shouldIncludeInstallmentsInPaymentData(this.state.installments) && { installments: this.state.installments }),\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin\n };\n }\n\n protected override beforeRender(configSetByMerchant?: CardConfiguration): void {\n // We don't send 'rendered' events when rendering actions\n if (configSetByMerchant?.originalAction) {\n return;\n }\n\n const event = new AnalyticsInfoEvent({\n type: InfoEventType.rendered,\n component: this.type,\n configData: { ...configSetByMerchant, showPayButton: this.props.showPayButton },\n ...(configSetByMerchant?.oneClick && {\n isStoredPaymentMethod: true,\n brand: configSetByMerchant.brand\n })\n });\n\n this.analytics.sendAnalytics(event);\n }\n\n updateStyles(stylesObj) {\n if (this.componentRef?.updateStyles) this.componentRef.updateStyles(stylesObj);\n return this;\n }\n\n setFocusOn(fieldName) {\n if (this.componentRef?.setFocusOn) this.componentRef.setFocusOn(fieldName);\n return this;\n }\n\n public onBrand = event => {\n this.props.onBrand?.(event);\n };\n\n processBinLookupResponse(binLookupResponse: BinLookupResponse, isReset = false) {\n if (this.componentRef?.processBinLookupResponse) this.componentRef.processBinLookupResponse(binLookupResponse, isReset);\n return this;\n }\n\n handleUnsupportedCard(errObj) {\n if (this.componentRef?.handleUnsupportedCard) this.componentRef.handleUnsupportedCard(errObj);\n return this;\n }\n\n private handleClickToPaySubmit = (payload: ClickToPayCheckoutPayload) => {\n this.setState({ data: { ...payload }, valid: {}, errors: {}, isValid: true });\n this.submit();\n };\n\n onBinLookup(obj: CardBinLookupData) {\n // Handler for regular card comp doesn't need this 'raw' data or to know about 'resets'\n if (!obj.isReset) {\n const nuObj = reject('supportedBrandsRaw').from(obj);\n this.props.onBinLookup?.(nuObj);\n }\n }\n\n private onConfigSuccess = (obj: CardConfigSuccessData) => {\n const event = new AnalyticsInfoEvent({ component: this.type, type: InfoEventType.configured });\n this.submitAnalytics(event);\n\n this.props.onConfigSuccess?.(obj);\n };\n\n private onFocus = (obj: ComponentFocusObject) => {\n const event = new AnalyticsInfoEvent({\n component: this.type,\n type: InfoEventType.focus,\n target: fieldTypeToSnakeCase(obj.fieldType) as UiTarget\n });\n this.submitAnalytics(event);\n\n // Call merchant defined callback\n if (isSecuredField(obj.fieldType)) {\n this.props.onFocus?.(obj.event as CardFocusData);\n } else {\n this.props.onFocus?.(obj);\n }\n };\n\n private onBlur = (obj: ComponentFocusObject) => {\n const event = new AnalyticsInfoEvent({\n component: this.type,\n type: InfoEventType.unfocus,\n target: fieldTypeToSnakeCase(obj.fieldType) as UiTarget\n });\n this.submitAnalytics(event);\n\n // Call merchant defined callback\n if (isSecuredField(obj.fieldType)) {\n this.props.onBlur?.(obj.event as CardFocusData);\n } else {\n this.props.onBlur?.(obj);\n }\n };\n\n public onBinValue = triggerBinLookUp(this);\n\n get storePaymentMethodPayload() {\n const isStoredCard = this.props.storedPaymentMethodId?.length > 0;\n if (isStoredCard) {\n return {};\n }\n\n /**\n * For regular card, zero auth payments, we store the payment method, *if* the configuration says we should:\n * - For sessions, this means if the session has been created with storePaymentMethodMode: 'askForConsent'\n * - For the advanced flow, this means if the merchant has still set enableStoreDetails: true\n *\n * What we are doing is.. if for a normal payment we would show the \"Save for my next payment\" checkbox,\n * for a zero-auth payment we effectively click the checkbox on behalf of the shopper.\n */\n const isZeroAuth = this.props.amount?.value === 0;\n if (isZeroAuth) {\n return this.props.enableStoreDetails ? { storePaymentMethod: true } : {};\n }\n\n // For regular card, non-zero auth payments, we store the payment method based on the checkbox value.\n const includeStorePaymentMethod = this.props.showStoreDetailsCheckbox && typeof this.state.storePaymentMethod !== 'undefined';\n return includeStorePaymentMethod ? { storePaymentMethod: Boolean(this.state.storePaymentMethod) } : {};\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get icon() {\n return this.props.icon ?? this.resources.getImage()(this.props.brand);\n }\n\n get brands(): PaymentMethodBrand[] {\n const { brands, brandsConfiguration } = this.props;\n if (brands) {\n return brands.map(brand => {\n const brandIcon = brandsConfiguration?.[brand]?.icon ?? this.props.modules.resources.getImage()(brand);\n return { icon: brandIcon, name: brand };\n });\n }\n\n return [];\n }\n\n get displayName(): string {\n if (this.props.storedPaymentMethodId) {\n return `•••• ${this.props.lastFour}`;\n }\n\n return this.props.name || CardElement.type;\n }\n\n get accessibleName(): string {\n // Use display name, unless it's a stored payment method, there inform user\n return (\n (this.props.name || CardElement.type) +\n (this.props.storedPaymentMethodId\n ? ' ' + this.props.i18n.get('creditCard.storedCard.description.ariaLabel').replace('%@', this.props.lastFour)\n : '')\n );\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n protected override payButton = (props: PayButtonProps): h.JSX.Element => {\n const isZeroAuth = this.props.amount?.value === 0;\n const isStoredCard = this.props.storedPaymentMethodId?.length > 0;\n return <PayButton {...props} label={isZeroAuth && !isStoredCard ? this.props.i18n.get('payButton.saveDetails') : ''} onClick={this.submit} />;\n };\n\n private renderCardInput(isCardPrimaryInput = true): h.JSX.Element {\n return (\n <CardInput\n setComponentRef={this.setComponentRef}\n {...this.props}\n {...this.state}\n onSubmitAnalytics={this.submitAnalytics}\n onChange={this.setState}\n onSubmit={this.submit}\n handleKeyPress={this.handleKeyPress}\n payButton={this.payButton}\n onBrand={this.onBrand}\n onBinValue={this.onBinValue}\n brand={this.props.brand}\n brandsIcons={this.brands}\n isPayButtonPrimaryVariant={isCardPrimaryInput}\n resources={this.resources}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onConfigSuccess={this.onConfigSuccess}\n />\n );\n }\n\n protected override componentToRender(): h.JSX.Element {\n return (\n <ClickToPayWrapper\n configuration={this.props.clickToPayConfiguration}\n clickToPayService={this.clickToPayService}\n isStandaloneComponent={false}\n setClickToPayRef={this.setClickToPayRef}\n onSetStatus={this.setElementStatus}\n onSubmit={this.handleClickToPaySubmit}\n onError={this.handleError}\n >\n {isCardPrimaryInput => this.renderCardInput(isCardPrimaryInput)}\n </ClickToPayWrapper>\n );\n }\n}\n\nexport default CardElement;\n"],"names":["CardElement","UIElement","setStatus","status","props","_this_componentRef","_this_clickToPayRef","this","componentRef","clickToPayRef","getPaymentMethodConfigFromResponse","componentProps","_this_core_paymentMethodsResponse","fundingSource","core","paymentMethodsResponse","findByFundingSource","type","super","formatProps","_this_core_options_session","_this_core_options","_this_core_options_session1","_this_core_options1","enableStoreDetails","session","configuration","_ref","showStoreDetailsCheckbox","amount","value","storedCardID","storedPaymentMethodId","id","isEcommerceStoredCard","supportedShopperInteractions","includes","AdyenCheckoutError","IMPLEMENTATION_ERROR","_object_spread","_object_spread_props","holderNameRequired","hasHolderName","hasCVC","brand","hideCVC","billingAddressRequired","billingAddressMode","onAddressLookup","CardInputDefaultProps","TxVariants","card","countryCode","toLowerCase","socialSecurityNumberMode","_ref1","brandsConfiguration","icon","installmentOptions","clickToPayConfiguration","disableOtpAutoFocus","shopperEmail","options","telephoneNumber","locale","i18n","replace","formatData","_this_props_holderName","cardBrand","state","selectedBrandValue","paymentMethod","data","holderName","fastlaneData","btoa","JSON","stringify","billingAddress","socialSecurityNumber","storePaymentMethodPayload","shouldIncludeInstallmentsInPaymentData","installments","browserInfo","origin","window","location","beforeRender","configSetByMerchant","originalAction","event","AnalyticsInfoEvent","InfoEventType","rendered","component","configData","showPayButton","oneClick","isStoredPaymentMethod","analytics","sendAnalytics","updateStyles","stylesObj","setFocusOn","fieldName","processBinLookupResponse","binLookupResponse","isReset","handleUnsupportedCard","errObj","onBinLookup","obj","_this_props_onBinLookup","_this_props","nuObj","reject","from","call","_this_props_storedPaymentMethodId","_this_props_amount","length","storePaymentMethod","Boolean","isValid","_this_props_icon","resources","getImage","brands","map","brandIcon","modules","name","displayName","lastFour","accessibleName","get","collectBrowserInfo","renderCardInput","isCardPrimaryInput","h","CardInput","setComponentRef","onSubmitAnalytics","submitAnalytics","onChange","setState","onSubmit","submit","handleKeyPress","payButton","onBrand","onBinValue","brandsIcons","isPayButtonPrimaryVariant","onFocus","onBlur","onConfigSuccess","componentToRender","ClickToPayWrapper","clickToPayService","isStandaloneComponent","setClickToPayRef","onSetStatus","setElementStatus","handleClickToPaySubmit","onError","handleError","constructor","checkout","_this_clickToPayService","_define_property","ref","_this_props_onBrand","payload","valid","errors","_this_props_onConfigSuccess","configured","focus","target","fieldTypeToSnakeCase","fieldType","_this_props_onFocus","_this_props_onFocus1","_this_props1","isSecuredField","unfocus","_this_props_onBlur","_this_props_onBlur1","triggerBinLookUp","isZeroAuth","isStoredCard","PayButton","label","onClick","_disableClickToPay","createClickToPayService","environment","initialize","scheme","defaultProps","showFormInstruction","doBinLookup"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{createElement as e,Fragment as r}from"../../../../external/preact/dist/preact.js";import{useRef as t,useMemo as n,useState as o,useCallback as s,useEffect as a}from"../../../../external/preact/hooks/dist/hooks.js";import i from"../../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import l from"./defaultProps.js";import{AddressModeOptions as d}from"./types.js";import{DATE_POLICY_REQUIRED as u,CVC_POLICY_REQUIRED as c,ENCRYPTED_CARD_NUMBER as m}from"../../../internal/SecuredFields/lib/constants.js";import{cardInputValidationRules as p,cardInputFormatters as y,getRuleByNameAndMode as f}from"./validate.js";import b from"../../../internal/SecuredFields/binLookup/extensions.js";import h from"../../../../utils/useForm/useForm.js";import{handlePartialAddressMode as S,shouldShowInstallmentsComponent as g,extractPropsForSFP as N,getLayout as A,extractPropsForCardFields as v}from"./utils.js";import j from"../../../internal/Address/Specifications.js";import{StoredCardFieldsWrapper as C}from"./components/StoredCardFieldsWrapper.js";import{CardFieldsWrapper as F}from"./components/CardFieldsWrapper.js";import{getAutoJumpHandler as O,getFocusHandler as P,getAddressHandler as w}from"./handlers.js";import E from"../../../../_virtual/index.js";import{getPartialAddressValidationRules as k}from"../../../internal/Address/validate.js";import x from"../../../../core/Context/useImage.js";import{getArrayDifferences as B}from"../../../../utils/arrayUtils.js";import R from"../../../internal/FormInstruction/FormInstruction.js";import{PREFIX as I}from"../../../internal/Icon/constants.js";import D from"./useSRPanelForCardInputErrors.js";import V from"../Fastlane/FastlaneSignup.js";import{fieldTypeToSnakeCase as q}from"../../../internal/SecuredFields/utils.js";import{getErrorMessageFromCode as M}from"../../../../core/Errors/utils.js";import{SF_ErrorCodes as _}from"../../../../core/Errors/constants.js";import{usePrevious as L}from"../../../../utils/hookUtils.js";import{AnalyticsInfoEvent as T,InfoEventType as K,UiTarget as U}from"../../../../core/Analytics/events/AnalyticsInfoEvent.js";import{useAmount as H}from"../../../../core/Context/AmountProvider.js";function z(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function W(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.forEach(function(r){z(e,r,t[r])})}return e}function $(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}),e}const G=l=>{var z,G,J,Q;const X=t(null),Y=t(!1),Z=x(),ee=t(null),re=e=>{ee.current=e},te=t({});Object.keys(te.current).length||l.setComponentRef(te.current);const ne=t(0),oe=t(!1),se=n(()=>new j(l.specifications),[l.specifications]),{amount:ae}=H();te.current.sfp=X;const[ie,le]=o("ready"),[de,ue]=o({}),[ce,me]=o(W({},l.holderNameRequired&&{holderName:!1})),[pe,ye]=o(W({},l.hasHolderName&&{holderName:null!==(z=l.data.holderName)&&void 0!==z?z:""})),[fe,be]=o(""),[he,Se]=o(!1),[ge,Ne]=o(u),[Ae,ve]=o(c),[je,Ce]=o(null),[Fe,Oe]=o([]),[Pe,we]=o(l.storedPaymentMethodId?l.brand:""),Ee=l.billingAddressMode!==d.none&&l.billingAddressRequired,ke=S(l.billingAddressMode),xe=t(ke&&(null===(Q=l.data)||void 0===Q||null===(J=Q.billingAddress)||void 0===J?void 0:J.country)),[Be,Re]=o(!1),[Ie,De]=o(Ee?l.data.billingAddress:null),[Ve,qe]=o(!1),[Me,_e]=o(""),[Le,Te]=o({value:null}),[Ke,Ue]=o(null),[He,ze]=o("card"),[We,$e]=o(!1),{handleChangeFor:Ge,triggerValidation:Je,data:Qe,valid:Xe,errors:Ye,setSchema:Ze,setData:er,setValid:rr,setErrors:tr}=h({schema:[],defaultData:l.data,formatters:y,rules:p}),nr=g({installmentOptions:l.installmentOptions,fundingSource:l.fundingSource,amount:ae}),or=null===(G=l.showInstallmentAmounts)||void 0===G||G,sr="kr"===(null!=je?je:l.countryCode),ar=l.configuration.koreanAuthenticationRequired&&sr,ir=Ve&&"auto"===l.configuration.socialSecurityNumberMode||"show"===l.configuration.socialSecurityNumberMode,lr=(e,r)=>{l.onFocus({fieldType:e,event:r})},dr=(e,r)=>{l.onBlur({fieldType:e,event:r})},ur=s(e=>{ze(e.brand),l.onBrand(e)},[]),cr=P(be,lr,dr),mr=()=>A(W({props:l,showKCP:ar,showBrazilianSSN:ir},l.billingAddressRequired&&{countrySpecificSchemas:se.getAddressSchemaForCountry(null==Ie?void 0:Ie.country),billingAddressRequiredFields:l.billingAddressRequiredFields})),pr=s(e=>{const r="webInternalElement"!==e.fieldType?e.fieldType:e.name;Ue(r)},[]),yr=w(er,rr,tr),fr=O(oe,X,mr()),br=s(e=>{hr(e)},[We,$e]),hr=e=>{e.status&&("loading"==e.status?$e(!1):$e(!0))},Sr=n(()=>b(l,{sfp:X},{dualBrandSelectElements:Fe,setDualBrandSelectElements:Oe,setSelectedBrandValue:we,issuingCountryCode:je,setIssuingCountryCode:Ce},ne),[Fe,je]);te.current.showValidation=()=>{Y.current=!0,null==Ar||Ar(),X.current.showValidation(),Je(["holderName","socialSecurityNumber","taxNumber"]),(null==ee?void 0:ee.current)&&ee.current.showValidation()},te.current.processBinLookupResponse=(e,r)=>{Sr.processBinLookup(e,r)},te.current.setStatus=le,a(()=>(te.current.setFocusOn=X.current.setFocusOn,te.current.updateStyles=X.current.updateStyles,te.current.handleUnsupportedCard=X.current.handleUnsupportedCard,()=>{X.current.destroy()}),[]),a(()=>{const e=[...l.hasHolderName?["holderName"]:[],...ir?["socialSecurityNumber"]:[],...ar?["taxNumber"]:[],...Ee?["billingAddress"]:[]];Ze(e)},[l.hasHolderName,ir,ar]),a(()=>{var e;ye($(W({},pe),{holderName:null!==(e=Qe.holderName)&&void 0!==e?e:"",taxNumber:Qe.taxNumber})),_e(Qe.socialSecurityNumber),Ee&&De(W({},Qe.billingAddress)),me($(W({},ce),{holderName:!l.holderNameRequired||Xe.holderName,socialSecurityNumber:!!Xe.socialSecurityNumber&&Xe.socialSecurityNumber,taxNumber:!!Xe.taxNumber&&Xe.taxNumber,billingAddress:!!Xe.billingAddress&&Xe.billingAddress}));const r=!!Ye.billingAddress&&Object.entries(Ye.billingAddress).reduce((e,[,r])=>e||null!=r,!1);ue($(W({},de),{holderName:l.holderNameRequired&&Ye.holderName?Ye.holderName:null,socialSecurityNumber:ir&&Ye.socialSecurityNumber?Ye.socialSecurityNumber:null,taxNumber:ar&&Ye.taxNumber?Ye.taxNumber:null,billingAddress:Ee&&r?Ye.billingAddress:null}))},[Qe,Xe,Ye]);const{sortedErrorList:gr,previousSortedErrors:Nr,clearSRPanel:Ar}=D({errors:de,props:l,isValidating:Y,retrieveLayout:mr,specifications:se,billingAddress:Ie,sfp:X});a(()=>{if(gr){const e=B(gr,Nr,"field");null==e||e.forEach(e=>{const r=new T({component:l.type,type:K.validationError,target:q(e.field),validationErrorCode:e.errorCode,validationErrorMessage:M(e.errorCode,_)});l.onSubmitAnalytics(r)})}},[gr]),a(()=>{const e=ce.holderName,r=he,t=!Ee||ce.billingAddress,n=!ar||!!ce.taxNumber&&!!ce.encryptedPassword,o=!ir||!!ce.socialSecurityNumber,s=r&&e&&t&&n&&o,a=X.current.mapErrorsToValidationRuleResult(),i=W({},de,a);l.onChange({data:pe,valid:ce,errors:i,isValid:s,billingAddress:Ie,selectedBrandValue:Pe,storePaymentMethod:Be,socialSecurityNumber:Me,installments:Le})},[pe,ce,de,Pe,Be,Le]),a(()=>{if(Fe.length>0&&Fe){const e=Fe.map(e=>e.id),r=e[0],t=e.toString(),n=new T({component:l.type,type:K.displayed,target:U.dualBrandButton,brand:r,configData:{dualBrands:t}});l.onSubmitAnalytics(n)}},[Fe]);const vr=L(Pe);a(()=>{if((null==vr?void 0:vr.length)&&(null==Pe?void 0:Pe.length)){const e=new T({component:l.type,type:K.selected,target:U.dualBrandButton,brand:Pe});l.onSubmitAnalytics(e)}},[Pe]);const jr=l.storedPaymentMethodId?C:F;return e(r,null,e(i,$(W({ref:X},N(l)),{styles:W({},l.styles),koreanAuthenticationRequired:l.configuration.koreanAuthenticationRequired,hasKoreanFields:!(!l.configuration.koreanAuthenticationRequired||"kr"!==l.countryCode),onSubmitAnalytics:l.onSubmitAnalytics,onChange:(e,r)=>{if(e.autoCompleteName){if(!l.hasHolderName)return;const r=f("holderName","blur")(e.autoCompleteName)?e.autoCompleteName:null;return void(r&&(er("holderName",r),rr("holderName",!0),tr("holderName",null)))}var t;l.autoFocus&&ne.current>0&&"handleOnFieldValid"===(null==r?void 0:r.event)&&(null==r?void 0:r.fieldType)===m&&e.valid.encryptedCardNumber&&fr(),ye(W({},pe,e.data)),ue(W({},de,(t=e.errors)?{encryptedCardNumber:!!t.encryptedCardNumber,encryptedExpiryDate:!!t.encryptedExpiryDate,encryptedSecurityCode:!!t.encryptedSecurityCode,encryptedPassword:!!t.encryptedPassword}:{})),me(W({},ce,e.valid)),Se(e.isSfpValid),ve(e.cvcPolicy),qe(e.showSocialSecurityNumber),Ne(e.expiryDatePolicy)},onBrand:ur,onFocus:cr,onStateUpdate:br,type:l.brand,componentType:l.type,disableIOSArrowKeys:l.disableIOSArrowKeys?pr:null,render:({setRootNode:r,setFocusOn:t},n)=>{var o;return e("div",{ref:r,className:E({"adyen-checkout__card-input":!0,"adyen-checkout-card-input__wrapper":!0,[`adyen-checkout__card-input--${null!==(o=l.fundingSource)&&void 0!==o?o:"credit"}`]:!0,"adyen-checkout__card-input--loading":"loading"===ie}),role:"form"},We&&e(R,null),e(jr,$(W({},v(l)),{data:pe,valid:ce,errors:de,handleChangeFor:Ge,focusedElement:fe,setFocusOn:t,sfpState:n,cvcPolicy:Ae,hasInstallments:nr,showAmountsInInstallments:or,handleInstallments:Te,brandsIcons:l.brandsIcons,formData:Qe,formErrors:Ye,formValid:Xe,expiryDatePolicy:ge,dualBrandSelectElements:Fe,extensions:Sr,selectedBrandValue:Pe,showKCP:ar,showBrazilianSSN:ir,socialSecurityNumber:Me,handleOnStoreDetails:Re,setAddressRef:re,billingAddress:Ie,billingAddressValidationRules:ke&&k(xe.current),partialAddressSchema:ke,handleAddress:yr,onAddressLookup:l.onAddressLookup,onAddressSelected:l.onAddressSelected,addressSearchDebounceMs:l.addressSearchDebounceMs,iOSFocusedField:Ke,onFieldFocusAnalytics:lr,onFieldBlurAnalytics:dr})))}})),l.fastlaneConfiguration&&e(V,$(W({},l.fastlaneConfiguration),{currentDetectedBrand:He,onChange:l.onChange,onSubmitAnalytics:l.onSubmitAnalytics,type:l.type})),We&&l.showPayButton&&l.payButton({status:ie,variant:l.isPayButtonPrimaryVariant?"primary":"secondary",icon:Z({imageFolder:"components/"})(`${I}lock`)}))};G.defaultProps=l;export{G as default};
1
+ import{createElement as e,Fragment as r}from"../../../../external/preact/dist/preact.js";import{useRef as t,useMemo as n,useState as o,useCallback as s,useEffect as a}from"../../../../external/preact/hooks/dist/hooks.js";import i from"../../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import l from"./defaultProps.js";import{AddressModeOptions as d}from"./types.js";import{DATE_POLICY_REQUIRED as u,CVC_POLICY_REQUIRED as c,ENCRYPTED_CARD_NUMBER as m}from"../../../internal/SecuredFields/lib/constants.js";import{cardInputValidationRules as p,cardInputFormatters as y,getRuleByNameAndMode as f}from"./validate.js";import b from"../../../internal/SecuredFields/binLookup/extensions.js";import h from"../../../../utils/useForm/useForm.js";import{handlePartialAddressMode as S,shouldShowInstallmentsComponent as g,extractPropsForSFP as N,getLayout as v,extractPropsForCardFields as A}from"./utils.js";import j from"../../../internal/Address/Specifications.js";import{StoredCardFieldsWrapper as C}from"./components/StoredCardFieldsWrapper.js";import{CardFieldsWrapper as F}from"./components/CardFieldsWrapper.js";import{getAutoJumpHandler as O,getFocusHandler as P,getAddressHandler as w}from"./handlers.js";import E from"../../../../_virtual/index.js";import{getPartialAddressValidationRules as k}from"../../../internal/Address/validate.js";import x from"../../../../core/Context/useImage.js";import{getArrayDifferences as B}from"../../../../utils/arrayUtils.js";import R from"../../../internal/FormInstruction/FormInstruction.js";import{PREFIX as I}from"../../../internal/Icon/constants.js";import D from"./useSRPanelForCardInputErrors.js";import V from"../Fastlane/FastlaneSignup.js";import{fieldTypeToSnakeCase as q}from"../../../internal/SecuredFields/utils.js";import{getErrorMessageFromCode as M}from"../../../../core/Errors/utils.js";import{SF_ErrorCodes as _}from"../../../../core/Errors/constants.js";import{usePrevious as L}from"../../../../utils/hookUtils.js";import{AnalyticsInfoEvent as T,InfoEventType as K,UiTarget as U}from"../../../../core/Analytics/events/AnalyticsInfoEvent.js";import{useAmount as H}from"../../../../core/Context/AmountProvider.js";function z(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function W(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.forEach(function(r){z(e,r,t[r])})}return e}function $(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}),e}const G=l=>{var z,G,J,Q,X,Y,Z;const ee=t(null),re=t(!1),te=x(),ne=t(null),oe=e=>{ne.current=e},se=t({});Object.keys(se.current).length||l.setComponentRef(se.current);const ae=t(0),ie=t(!1),le=n(()=>new j(l.specifications),[l.specifications]),{amount:de}=H();se.current.sfp=ee;const[ue,ce]=o("ready"),[me,pe]=o({}),[ye,fe]=o(W({},l.holderNameRequired&&{holderName:!1})),[be,he]=o(W({},l.hasHolderName&&{holderName:null!==(z=null===(Q=l.data)||void 0===Q?void 0:Q.holderName)&&void 0!==z?z:""})),[Se,ge]=o(""),[Ne,ve]=o(!1),[Ae,je]=o(u),[Ce,Fe]=o(c),[Oe,Pe]=o(null),[we,Ee]=o([]),[ke,xe]=o(l.storedPaymentMethodId?l.brand:""),Be=l.billingAddressMode!==d.none&&l.billingAddressRequired,Re=S(l.billingAddressMode),Ie=t(Re&&(null===(Y=l.data)||void 0===Y||null===(X=Y.billingAddress)||void 0===X?void 0:X.country)),[De,Ve]=o(!1),[qe,Me]=o(Be&&null!==(G=null===(Z=l.data)||void 0===Z?void 0:Z.billingAddress)&&void 0!==G?G:null),[_e,Le]=o(!1),[Te,Ke]=o(""),[Ue,He]=o({value:null}),[ze,We]=o(null),[$e,Ge]=o("card"),[Je,Qe]=o(!1),{handleChangeFor:Xe,triggerValidation:Ye,data:Ze,valid:er,errors:rr,setSchema:tr,setData:nr,setValid:or,setErrors:sr}=h({schema:[],defaultData:l.data,formatters:y,rules:p}),ar=g({installmentOptions:l.installmentOptions,fundingSource:l.fundingSource,amount:de}),ir=null===(J=l.showInstallmentAmounts)||void 0===J||J,lr="kr"===(null!=Oe?Oe:l.countryCode),dr=!!l.configuration.koreanAuthenticationRequired&&lr,ur=_e&&"auto"===l.configuration.socialSecurityNumberMode||"show"===l.configuration.socialSecurityNumberMode,cr=(e,r)=>{l.onFocus({fieldType:e,event:r})},mr=(e,r)=>{l.onBlur({fieldType:e,event:r})},pr=s(e=>{Ge(e.brand),l.onBrand(e)},[]),yr=P(ge,cr,mr),fr=()=>v(W({props:l,showKCP:dr,showBrazilianSSN:ur},l.billingAddressRequired&&{countrySpecificSchemas:le.getAddressSchemaForCountry(null==qe?void 0:qe.country),billingAddressRequiredFields:l.billingAddressRequiredFields})),br=s(e=>{const r="webInternalElement"!==e.fieldType?e.fieldType:e.name;We(r)},[]),hr=w(nr,or,sr),Sr=O(ie,ee,fr()),gr=s(e=>{Nr(e)},[Je,Qe]),Nr=e=>{e.status&&("loading"==e.status?Qe(!1):Qe(!0))},vr=n(()=>b(l,{sfp:ee},{dualBrandSelectElements:we,setDualBrandSelectElements:Ee,setSelectedBrandValue:xe,issuingCountryCode:Oe,setIssuingCountryCode:Pe},ae),[we,Oe]);se.current.showValidation=()=>{re.current=!0,null==Cr||Cr(),ee.current.showValidation(),Ye(["holderName","socialSecurityNumber","taxNumber"]),(null==ne?void 0:ne.current)&&ne.current.showValidation()},se.current.processBinLookupResponse=(e,r)=>{vr.processBinLookup(e,r)},se.current.setStatus=ce,a(()=>(se.current.setFocusOn=ee.current.setFocusOn,se.current.updateStyles=ee.current.updateStyles,se.current.handleUnsupportedCard=ee.current.handleUnsupportedCard,()=>{ee.current.destroy()}),[]),a(()=>{const e=[...l.hasHolderName?["holderName"]:[],...ur?["socialSecurityNumber"]:[],...dr?["taxNumber"]:[],...Be?["billingAddress"]:[]];tr(e)},[l.hasHolderName,ur,dr]),a(()=>{var e;he($(W({},be),{holderName:null!==(e=Ze.holderName)&&void 0!==e?e:"",taxNumber:Ze.taxNumber})),Ke(Ze.socialSecurityNumber),Be&&Me(W({},Ze.billingAddress)),fe($(W({},ye),{holderName:!l.holderNameRequired||er.holderName,socialSecurityNumber:!!er.socialSecurityNumber&&er.socialSecurityNumber,taxNumber:!!er.taxNumber&&er.taxNumber,billingAddress:!!er.billingAddress&&er.billingAddress}));const r=!!rr.billingAddress&&Object.entries(rr.billingAddress).reduce((e,[,r])=>e||null!=r,!1);pe($(W({},me),{holderName:l.holderNameRequired&&rr.holderName?rr.holderName:null,socialSecurityNumber:ur&&rr.socialSecurityNumber?rr.socialSecurityNumber:null,taxNumber:dr&&rr.taxNumber?rr.taxNumber:null,billingAddress:Be&&r?rr.billingAddress:null}))},[Ze,er,rr]);const{sortedErrorList:Ar,previousSortedErrors:jr,clearSRPanel:Cr}=D({errors:me,props:l,isValidating:re,retrieveLayout:fr,specifications:le,billingAddress:qe,sfp:ee});a(()=>{if(Ar){const e=B(Ar,jr,"field");null==e||e.forEach(e=>{const r=new T({component:l.type,type:K.validationError,target:q(e.field),validationErrorCode:e.errorCode,validationErrorMessage:M(e.errorCode,_)});l.onSubmitAnalytics(r)})}},[Ar]),a(()=>{const e=!!ye.holderName,r=Ne,t=!Be||!!ye.billingAddress,n=!dr||!!ye.taxNumber&&!!ye.encryptedPassword,o=!ur||!!ye.socialSecurityNumber,s=r&&e&&t&&n&&o,a=ee.current.mapErrorsToValidationRuleResult(),i=W({},me,a);l.onChange({data:be,valid:ye,errors:i,isValid:s,billingAddress:qe,selectedBrandValue:ke,storePaymentMethod:De,socialSecurityNumber:Te,installments:Ue})},[be,ye,me,ke,De,Ue]),a(()=>{if(we.length>0&&we){const e=we.map(e=>e.id),r=e[0],t=e.toString(),n=new T({component:l.type,type:K.displayed,target:U.dualBrandButton,brand:r,configData:{dualBrands:t}});l.onSubmitAnalytics(n)}},[we]);const Fr=L(ke);a(()=>{if((null==Fr?void 0:Fr.length)&&(null==ke?void 0:ke.length)){const e=new T({component:l.type,type:K.selected,target:U.dualBrandButton,brand:ke});l.onSubmitAnalytics(e)}},[ke]);const Or=l.storedPaymentMethodId?C:F;return e(r,null,e(i,$(W({ref:ee},N(l)),{styles:W({},l.styles),koreanAuthenticationRequired:l.configuration.koreanAuthenticationRequired,hasKoreanFields:!(!l.configuration.koreanAuthenticationRequired||"kr"!==l.countryCode),onSubmitAnalytics:l.onSubmitAnalytics,onChange:(e,r)=>{if(e.autoCompleteName){if(!l.hasHolderName)return;const r=f("holderName","blur"),t=(null==r?void 0:r(e.autoCompleteName,null))?e.autoCompleteName:null;return void(t&&(nr("holderName",t),or("holderName",!0),sr("holderName",null)))}var t;l.autoFocus&&ae.current>0&&"handleOnFieldValid"===(null==r?void 0:r.event)&&(null==r?void 0:r.fieldType)===m&&e.valid.encryptedCardNumber&&Sr(),he(W({},be,e.data)),pe(W({},me,(t=e.errors)?{encryptedCardNumber:!!t.encryptedCardNumber,encryptedExpiryDate:!!t.encryptedExpiryDate,encryptedSecurityCode:!!t.encryptedSecurityCode,encryptedPassword:!!t.encryptedPassword}:{})),fe(W({},ye,e.valid)),ve(e.isSfpValid),Fe(e.cvcPolicy),Le(e.showSocialSecurityNumber),je(e.expiryDatePolicy)},onBrand:pr,onFocus:yr,onStateUpdate:gr,type:l.brand,componentType:l.type,disableIOSArrowKeys:l.disableIOSArrowKeys?br:null,render:({setRootNode:r,setFocusOn:t},n)=>{var o;return e("div",{ref:r,className:E({"adyen-checkout__card-input":!0,"adyen-checkout-card-input__wrapper":!0,[`adyen-checkout__card-input--${null!==(o=l.fundingSource)&&void 0!==o?o:"credit"}`]:!0,"adyen-checkout__card-input--loading":"loading"===ue}),role:"form"},Je&&e(R,null),e(Or,$(W({},A(l)),{data:be,valid:ye,errors:me,handleChangeFor:Xe,focusedElement:Se,setFocusOn:t,sfpState:n,cvcPolicy:Ce,hasInstallments:ar,showAmountsInInstallments:ir,handleInstallments:He,brandsIcons:l.brandsIcons,formData:Ze,formErrors:rr,formValid:er,expiryDatePolicy:Ae,dualBrandSelectElements:we,extensions:vr,selectedBrandValue:ke,showKCP:dr,showBrazilianSSN:ur,socialSecurityNumber:Te,handleOnStoreDetails:Ve,setAddressRef:oe,billingAddress:qe,billingAddressValidationRules:Re&&k(Ie.current),partialAddressSchema:Re,handleAddress:hr,onAddressLookup:l.onAddressLookup,onAddressSelected:l.onAddressSelected,addressSearchDebounceMs:l.addressSearchDebounceMs,iOSFocusedField:ze,onFieldFocusAnalytics:cr,onFieldBlurAnalytics:mr})))}})),l.fastlaneConfiguration&&e(V,$(W({},l.fastlaneConfiguration),{currentDetectedBrand:$e,onChange:l.onChange,onSubmitAnalytics:l.onSubmitAnalytics,type:l.type})),Je&&l.showPayButton&&l.payButton({status:ue,variant:l.isPayButtonPrimaryVariant?"primary":"secondary",icon:te({imageFolder:"components/"})(`${I}lock`)}))};G.defaultProps=l;export{G as default};
2
2
  //# sourceMappingURL=CardInput.js.map