@adyen/adyen-web 6.25.0 → 6.26.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 (600) hide show
  1. package/dist/cjs/adyen.css +16 -13
  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 +2257 -2222
  6. package/dist/es/adyen.css +16 -13
  7. package/dist/es/adyen.css.map +1 -1
  8. package/dist/es/components/ANCV/ANCV.js +1 -1
  9. package/dist/es/components/ANCV/ANCV.js.map +1 -1
  10. package/dist/es/components/Ach/Ach.js +1 -1
  11. package/dist/es/components/Ach/Ach.js.map +1 -1
  12. package/dist/es/components/Address/Address.js +1 -1
  13. package/dist/es/components/Address/Address.js.map +1 -1
  14. package/dist/es/components/AmazonPay/AmazonPay.js +1 -1
  15. package/dist/es/components/AmazonPay/AmazonPay.js.map +1 -1
  16. package/dist/es/components/ApplePay/ApplePay.js +1 -1
  17. package/dist/es/components/ApplePay/ApplePay.js.map +1 -1
  18. package/dist/es/components/ApplePay/services/ApplePaySdkLoader.js.map +1 -1
  19. package/dist/es/components/ApplePay/utils/resolve-supported-version.js +1 -1
  20. package/dist/es/components/ApplePay/utils/resolve-supported-version.js.map +1 -1
  21. package/dist/es/components/BacsDD/BacsDD.js +1 -1
  22. package/dist/es/components/BacsDD/BacsDD.js.map +1 -1
  23. package/dist/es/components/BankTransfer/BankTransfer.js +1 -1
  24. package/dist/es/components/BankTransfer/BankTransfer.js.map +1 -1
  25. package/dist/es/components/Blik/Blik.js +1 -1
  26. package/dist/es/components/Blik/Blik.js.map +1 -1
  27. package/dist/es/components/Boleto/Boleto.js +1 -1
  28. package/dist/es/components/Boleto/Boleto.js.map +1 -1
  29. package/dist/es/components/Card/Card.js +1 -1
  30. package/dist/es/components/Card/Card.js.map +1 -1
  31. package/dist/es/components/Card/components/CardInput/CardInput.js +1 -1
  32. package/dist/es/components/Card/components/CardInput/CardInput.js.map +1 -1
  33. package/dist/es/components/Card/components/CardInput/components/AvailableBrands/AvailableBrands.js +1 -1
  34. package/dist/es/components/Card/components/CardInput/components/AvailableBrands/AvailableBrands.js.map +1 -1
  35. package/dist/es/components/Card/components/CardInput/components/BrandIcon.js +1 -1
  36. package/dist/es/components/Card/components/CardInput/components/BrandIcon.js.map +1 -1
  37. package/dist/es/components/Card/components/CardInput/components/CVC.js +1 -1
  38. package/dist/es/components/Card/components/CardInput/components/CVC.js.map +1 -1
  39. package/dist/es/components/Card/components/CardInput/components/CVCHint.js +1 -1
  40. package/dist/es/components/Card/components/CardInput/components/CVCHint.js.map +1 -1
  41. package/dist/es/components/Card/components/CardInput/components/CardNumber.js +1 -1
  42. package/dist/es/components/Card/components/CardInput/components/CardNumber.js.map +1 -1
  43. package/dist/es/components/Card/components/CardInput/components/ExpirationDate.js +1 -1
  44. package/dist/es/components/Card/components/CardInput/components/ExpirationDate.js.map +1 -1
  45. package/dist/es/components/Card/components/CardInput/types.js.map +1 -1
  46. package/dist/es/components/Card/components/CardInput/utils.js +1 -1
  47. package/dist/es/components/Card/components/CardInput/utils.js.map +1 -1
  48. package/dist/es/components/Card/components/Fastlane/FastlaneSignup.js +1 -1
  49. package/dist/es/components/Card/components/Fastlane/FastlaneSignup.js.map +1 -1
  50. package/dist/es/components/Card/components/Fastlane/InfoButton.js +1 -1
  51. package/dist/es/components/Card/components/Fastlane/InfoButton.js.map +1 -1
  52. package/dist/es/components/Card/components/Fastlane/InfoModal.js +1 -1
  53. package/dist/es/components/Card/components/Fastlane/InfoModal.js.map +1 -1
  54. package/dist/es/components/CashAppPay/CashAppPay.js +1 -1
  55. package/dist/es/components/CashAppPay/CashAppPay.js.map +1 -1
  56. package/dist/es/components/CashAppPay/services/CashAppSdkLoader.js.map +1 -1
  57. package/dist/es/components/ClickToPay/ClickToPay.js +1 -1
  58. package/dist/es/components/ClickToPay/ClickToPay.js.map +1 -1
  59. package/dist/es/components/CustomCard/CustomCard.js +1 -1
  60. package/dist/es/components/CustomCard/CustomCard.js.map +1 -1
  61. package/dist/es/components/Doku/Doku.js +1 -1
  62. package/dist/es/components/Doku/Doku.js.map +1 -1
  63. package/dist/es/components/Donation/Donation.js +1 -1
  64. package/dist/es/components/Donation/Donation.js.map +1 -1
  65. package/dist/es/components/Dragonpay/Dragonpay.js +1 -1
  66. package/dist/es/components/Dragonpay/Dragonpay.js.map +1 -1
  67. package/dist/es/components/Dropin/Dropin.js +1 -1
  68. package/dist/es/components/Dropin/Dropin.js.map +1 -1
  69. package/dist/es/components/Dropin/components/DropinComponent.js +1 -1
  70. package/dist/es/components/Dropin/components/DropinComponent.js.map +1 -1
  71. package/dist/es/components/Dropin/components/PaymentMethod/InstantPaymentMethods.js +1 -1
  72. package/dist/es/components/Dropin/components/PaymentMethod/InstantPaymentMethods.js.map +1 -1
  73. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodBrands/PaymentMethodBrands.js +1 -1
  74. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodBrands/PaymentMethodBrands.js.map +1 -1
  75. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodDetails.js +1 -1
  76. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodDetails.js.map +1 -1
  77. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodIcon.js +1 -1
  78. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodIcon.js.map +1 -1
  79. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
  80. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
  81. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodList.js +1 -1
  82. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodList.js.map +1 -1
  83. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js +1 -1
  84. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js.map +1 -1
  85. package/dist/es/components/Dropin/elements/createElements.js +1 -1
  86. package/dist/es/components/Dropin/elements/createElements.js.map +1 -1
  87. package/dist/es/components/Dropin/elements/createInstantPaymentElements.js +1 -1
  88. package/dist/es/components/Dropin/elements/createInstantPaymentElements.js.map +1 -1
  89. package/dist/es/components/Dropin/elements/createStoredElements.js.map +1 -1
  90. package/dist/es/components/Dropin/elements/filters.js.map +1 -1
  91. package/dist/es/components/Dropin/elements/splitPaymentMethods.js.map +1 -1
  92. package/dist/es/components/Econtext/Econtext.js +1 -1
  93. package/dist/es/components/Econtext/Econtext.js.map +1 -1
  94. package/dist/es/components/Giftcard/Giftcard.js +1 -1
  95. package/dist/es/components/Giftcard/Giftcard.js.map +1 -1
  96. package/dist/es/components/Giropay/Giropay.js +1 -1
  97. package/dist/es/components/Giropay/Giropay.js.map +1 -1
  98. package/dist/es/components/GooglePay/GooglePay.js +1 -1
  99. package/dist/es/components/GooglePay/GooglePay.js.map +1 -1
  100. package/dist/es/components/GooglePay/GooglePayService.js.map +1 -1
  101. package/dist/es/components/Klarna/KlarnaPayments.js +1 -1
  102. package/dist/es/components/Klarna/KlarnaPayments.js.map +1 -1
  103. package/dist/es/components/MBWay/MBWay.js +1 -1
  104. package/dist/es/components/MBWay/MBWay.js.map +1 -1
  105. package/dist/es/components/Multibanco/Multibanco.js +1 -1
  106. package/dist/es/components/Multibanco/Multibanco.js.map +1 -1
  107. package/dist/es/components/Oxxo/Oxxo.js +1 -1
  108. package/dist/es/components/Oxxo/Oxxo.js.map +1 -1
  109. package/dist/es/components/PayByBankPix/PayByBankPix.js +1 -1
  110. package/dist/es/components/PayByBankPix/PayByBankPix.js.map +1 -1
  111. package/dist/es/components/PayByBankPix/components/Enrollment/Enrollment.js +1 -1
  112. package/dist/es/components/PayByBankPix/components/Enrollment/Enrollment.js.map +1 -1
  113. package/dist/es/components/PayByBankPix/components/Enrollment/components/PayByBankPixAwait.js +1 -1
  114. package/dist/es/components/PayByBankPix/components/Enrollment/components/PayByBankPixAwait.js.map +1 -1
  115. package/dist/es/components/PayByBankPix/services/PasskeySdkLoader.js.map +1 -1
  116. package/dist/es/components/PayByBankPix/services/PasskeyService.js.map +1 -1
  117. package/dist/es/components/PayByBankUS/PayByBankUS.js +1 -1
  118. package/dist/es/components/PayByBankUS/PayByBankUS.js.map +1 -1
  119. package/dist/es/components/PayPal/Paypal.js +1 -1
  120. package/dist/es/components/PayPal/Paypal.js.map +1 -1
  121. package/dist/es/components/PayPalFastlane/Fastlane.js +1 -1
  122. package/dist/es/components/PayPalFastlane/Fastlane.js.map +1 -1
  123. package/dist/es/components/PayPalFastlane/FastlaneSDK.js +1 -1
  124. package/dist/es/components/PayPalFastlane/FastlaneSDK.js.map +1 -1
  125. package/dist/es/components/PayTo/PayTo.js +1 -1
  126. package/dist/es/components/PayTo/PayTo.js.map +1 -1
  127. package/dist/es/components/PersonalDetails/PersonalDetails.js +1 -1
  128. package/dist/es/components/PersonalDetails/PersonalDetails.js.map +1 -1
  129. package/dist/es/components/Pix/Pix.js +1 -1
  130. package/dist/es/components/Pix/Pix.js.map +1 -1
  131. package/dist/es/components/Pix/components/PixQRDetails.js +1 -1
  132. package/dist/es/components/Pix/components/PixQRDetails.js.map +1 -1
  133. package/dist/es/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js +1 -1
  134. package/dist/es/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js.map +1 -1
  135. package/dist/es/components/Redirect/Redirect.js +1 -1
  136. package/dist/es/components/Redirect/Redirect.js.map +1 -1
  137. package/dist/es/components/Sepa/Sepa.js +1 -1
  138. package/dist/es/components/Sepa/Sepa.js.map +1 -1
  139. package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js +1 -1
  140. package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
  141. package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js +1 -1
  142. package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  143. package/dist/es/components/ThreeDS2/callSubmit3DS2Fingerprint.js +1 -1
  144. package/dist/es/components/ThreeDS2/callSubmit3DS2Fingerprint.js.map +1 -1
  145. package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
  146. package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
  147. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
  148. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
  149. package/dist/es/components/Trustly/Trustly.js +1 -1
  150. package/dist/es/components/Trustly/Trustly.js.map +1 -1
  151. package/dist/es/components/UPI/UPI.js +1 -1
  152. package/dist/es/components/UPI/UPI.js.map +1 -1
  153. package/dist/es/components/UPI/components/VpaInput/VpaInput.js +1 -1
  154. package/dist/es/components/UPI/components/VpaInput/VpaInput.js.map +1 -1
  155. package/dist/es/components/UPI/components/VpaInput/validate.js +1 -1
  156. package/dist/es/components/UPI/components/VpaInput/validate.js.map +1 -1
  157. package/dist/es/components/WeChat/WeChat.js +1 -1
  158. package/dist/es/components/WeChat/WeChat.js.map +1 -1
  159. package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js +1 -1
  160. package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  161. package/dist/es/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js +1 -1
  162. package/dist/es/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js.map +1 -1
  163. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  164. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  165. package/dist/es/components/internal/Await/Await.js +1 -1
  166. package/dist/es/components/internal/Await/Await.js.map +1 -1
  167. package/dist/es/components/internal/Await/components/AwaitFinalState.js +2 -0
  168. package/dist/es/components/internal/Await/components/AwaitFinalState.js.map +1 -0
  169. package/dist/es/components/internal/BaseElement/BaseElement.js +1 -1
  170. package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
  171. package/dist/es/components/internal/Brand/Brand.js +2 -0
  172. package/dist/es/components/internal/Brand/Brand.js.map +1 -0
  173. package/dist/es/components/internal/Button/CopyButton.js +2 -0
  174. package/dist/es/components/internal/Button/CopyButton.js.map +1 -0
  175. package/dist/es/components/internal/Button/CopyIconButton.js +1 -1
  176. package/dist/es/components/internal/Button/CopyIconButton.js.map +1 -1
  177. package/dist/es/components/internal/Button/stopPropagationForActionKeys.js +2 -0
  178. package/dist/es/components/internal/Button/stopPropagationForActionKeys.js.map +1 -0
  179. package/dist/es/components/internal/ClickToPay/components/CtPCards/CtPCards.js +1 -1
  180. package/dist/es/components/internal/ClickToPay/components/CtPCards/CtPCards.js.map +1 -1
  181. package/dist/es/components/internal/ClickToPay/components/CtPCards/CtPCardsList/CtPCardsList.js +1 -1
  182. package/dist/es/components/internal/ClickToPay/components/CtPCards/CtPCardsList/CtPCardsList.js.map +1 -1
  183. package/dist/es/components/internal/ClickToPay/components/CtPInfo/CtPInfo.js +1 -1
  184. package/dist/es/components/internal/ClickToPay/components/CtPInfo/CtPInfo.js.map +1 -1
  185. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js +1 -1
  186. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js.map +1 -1
  187. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js +1 -1
  188. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js.map +1 -1
  189. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/validate.js +1 -1
  190. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/validate.js.map +1 -1
  191. package/dist/es/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
  192. package/dist/es/components/internal/ClickToPay/services/create-clicktopay-service.js.map +1 -1
  193. package/dist/es/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js.map +1 -1
  194. package/dist/es/components/internal/ClickToPay/services/sdks/MastercardSdk.js.map +1 -1
  195. package/dist/es/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js.map +1 -1
  196. package/dist/es/components/internal/ClickToPay/services/sdks/VisaSdk.js.map +1 -1
  197. package/dist/es/components/internal/FormFields/Field/Field.js +1 -1
  198. package/dist/es/components/internal/FormFields/Field/Field.js.map +1 -1
  199. package/dist/es/components/internal/FormFields/InputBase.js.map +1 -1
  200. package/dist/es/components/internal/FormFields/RadioGroupExtended/RadioGroupExtended.js +1 -1
  201. package/dist/es/components/internal/FormFields/RadioGroupExtended/RadioGroupExtended.js.map +1 -1
  202. package/dist/es/components/internal/FormFields/Select/components/SelectListItem.js +1 -1
  203. package/dist/es/components/internal/FormFields/Select/components/SelectListItem.js.map +1 -1
  204. package/dist/es/components/internal/Icon/Icon.js +1 -1
  205. package/dist/es/components/internal/Icon/Icon.js.map +1 -1
  206. package/dist/es/components/internal/Img/Img.js +1 -1
  207. package/dist/es/components/internal/Img/Img.js.map +1 -1
  208. package/dist/es/components/internal/IssuerList/IssuerList.js +1 -1
  209. package/dist/es/components/internal/IssuerList/IssuerList.js.map +1 -1
  210. package/dist/es/components/internal/PersonalDetails/PersonalDetails.js +1 -1
  211. package/dist/es/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
  212. package/dist/es/components/internal/PersonalDetails/utils.js +1 -1
  213. package/dist/es/components/internal/PersonalDetails/utils.js.map +1 -1
  214. package/dist/es/components/internal/PersonalDetails/validate.js +1 -1
  215. package/dist/es/components/internal/PersonalDetails/validate.js.map +1 -1
  216. package/dist/es/components/internal/QRLoader/QRLoader.js +1 -1
  217. package/dist/es/components/internal/QRLoader/QRLoader.js.map +1 -1
  218. package/dist/es/components/internal/QRLoader/QRLoaderDetailsProvider.js.map +1 -1
  219. package/dist/es/components/internal/QRLoader/components/QRCodeCopyButton.js +1 -1
  220. package/dist/es/components/internal/QRLoader/components/QRCodeCopyButton.js.map +1 -1
  221. package/dist/es/components/internal/QRLoader/components/QRCountdown.js +1 -1
  222. package/dist/es/components/internal/QRLoader/components/QRCountdown.js.map +1 -1
  223. package/dist/es/components/internal/QRLoader/components/QRDetails.js +1 -1
  224. package/dist/es/components/internal/QRLoader/components/QRDetails.js.map +1 -1
  225. package/dist/es/components/internal/QRLoader/components/QRImage.js +1 -1
  226. package/dist/es/components/internal/QRLoader/components/QRImage.js.map +1 -1
  227. package/dist/es/components/internal/QRLoader/components/QRIntructions.js +1 -1
  228. package/dist/es/components/internal/QRLoader/components/QRIntructions.js.map +1 -1
  229. package/dist/es/components/internal/QRLoader/components/QRProgressbar.js +1 -1
  230. package/dist/es/components/internal/QRLoader/components/QRProgressbar.js.map +1 -1
  231. package/dist/es/components/internal/UIElement/UIElement.js +1 -1
  232. package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
  233. package/dist/es/components/internal/UIElement/utils.js.map +1 -1
  234. package/dist/es/components/internal/Voucher/Voucher.js +1 -1
  235. package/dist/es/components/internal/Voucher/Voucher.js.map +1 -1
  236. package/dist/es/core/Analytics/Analytics.js +1 -1
  237. package/dist/es/core/Analytics/Analytics.js.map +1 -1
  238. package/dist/es/core/Analytics/AnalyticsEventQueue.js +2 -0
  239. package/dist/es/core/Analytics/AnalyticsEventQueue.js.map +1 -0
  240. package/dist/es/core/Analytics/AnalyticsService.js +2 -0
  241. package/dist/es/core/Analytics/AnalyticsService.js.map +1 -0
  242. package/dist/es/core/Analytics/constants.js +1 -1
  243. package/dist/es/core/Analytics/constants.js.map +1 -1
  244. package/dist/es/core/Analytics/events/AbstractAnalyticsEvent.js +2 -0
  245. package/dist/es/core/Analytics/events/AbstractAnalyticsEvent.js.map +1 -0
  246. package/dist/es/core/Analytics/events/AnalyticsErrorEvent.js +2 -0
  247. package/dist/es/core/Analytics/events/AnalyticsErrorEvent.js.map +1 -0
  248. package/dist/es/core/Analytics/events/AnalyticsInfoEvent.js +2 -0
  249. package/dist/es/core/Analytics/events/AnalyticsInfoEvent.js.map +1 -0
  250. package/dist/es/core/Analytics/events/AnalyticsLogEvent.js +2 -0
  251. package/dist/es/core/Analytics/events/AnalyticsLogEvent.js.map +1 -0
  252. package/dist/es/core/Analytics/utils.js +1 -1
  253. package/dist/es/core/Analytics/utils.js.map +1 -1
  254. package/dist/es/core/Context/CoreProvider.js +1 -1
  255. package/dist/es/core/Context/CoreProvider.js.map +1 -1
  256. package/dist/es/core/ProcessResponse/PaymentAction/actionTypes.js +1 -1
  257. package/dist/es/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
  258. package/dist/es/core/ProcessResponse/PaymentMethods/PaymentMethods.js +1 -1
  259. package/dist/es/core/ProcessResponse/PaymentMethods/PaymentMethods.js.map +1 -1
  260. package/dist/es/core/ProcessResponse/PaymentMethods/utils.js +1 -1
  261. package/dist/es/core/ProcessResponse/PaymentMethods/utils.js.map +1 -1
  262. package/dist/es/core/ProcessResponse/{process-response.js → PaymentStatus/PaymentStatus.js} +2 -2
  263. package/dist/es/core/ProcessResponse/PaymentStatus/PaymentStatus.js.map +1 -0
  264. package/dist/es/core/Services/http.js +1 -1
  265. package/dist/es/core/Services/http.js.map +1 -1
  266. package/dist/es/core/Services/payment-status.js.map +1 -1
  267. package/dist/es/core/config.js +1 -1
  268. package/dist/es/core/core.js +1 -1
  269. package/dist/es/core/core.js.map +1 -1
  270. package/dist/es/external/preact/compat/dist/compat.js +1 -1
  271. package/dist/es/external/preact/compat/dist/compat.js.map +1 -1
  272. package/dist/es/hooks/usePaymentStatusTimer/constants.js +2 -0
  273. package/dist/es/hooks/usePaymentStatusTimer/constants.js.map +1 -0
  274. package/dist/es/hooks/usePaymentStatusTimer/usePaymentStatusTimer.js +2 -0
  275. package/dist/es/hooks/usePaymentStatusTimer/usePaymentStatusTimer.js.map +1 -0
  276. package/dist/es/index.d.ts +2257 -2222
  277. package/dist/es/utils/Script.js +1 -1
  278. package/dist/es/utils/Script.js.map +1 -1
  279. package/dist/es/utils/amount-util.js.map +1 -1
  280. package/dist/es/utils/commonUtils.js +1 -1
  281. package/dist/es/utils/commonUtils.js.map +1 -1
  282. package/dist/es/utils/getErrorMessage.js +1 -1
  283. package/dist/es/utils/getErrorMessage.js.map +1 -1
  284. package/dist/es/utils/urls.js +2 -0
  285. package/dist/es/utils/urls.js.map +1 -0
  286. package/dist/es-legacy/adyen.css +16 -13
  287. package/dist/es-legacy/adyen.css.map +1 -1
  288. package/dist/es-legacy/components/ANCV/ANCV.js +1 -1
  289. package/dist/es-legacy/components/ANCV/ANCV.js.map +1 -1
  290. package/dist/es-legacy/components/Ach/Ach.js +1 -1
  291. package/dist/es-legacy/components/Ach/Ach.js.map +1 -1
  292. package/dist/es-legacy/components/Address/Address.js +1 -1
  293. package/dist/es-legacy/components/Address/Address.js.map +1 -1
  294. package/dist/es-legacy/components/AmazonPay/AmazonPay.js +1 -1
  295. package/dist/es-legacy/components/AmazonPay/AmazonPay.js.map +1 -1
  296. package/dist/es-legacy/components/ApplePay/ApplePay.js +1 -1
  297. package/dist/es-legacy/components/ApplePay/ApplePay.js.map +1 -1
  298. package/dist/es-legacy/components/ApplePay/services/ApplePaySdkLoader.js.map +1 -1
  299. package/dist/es-legacy/components/ApplePay/utils/resolve-supported-version.js +1 -1
  300. package/dist/es-legacy/components/ApplePay/utils/resolve-supported-version.js.map +1 -1
  301. package/dist/es-legacy/components/BacsDD/BacsDD.js +1 -1
  302. package/dist/es-legacy/components/BacsDD/BacsDD.js.map +1 -1
  303. package/dist/es-legacy/components/BankTransfer/BankTransfer.js +1 -1
  304. package/dist/es-legacy/components/BankTransfer/BankTransfer.js.map +1 -1
  305. package/dist/es-legacy/components/Blik/Blik.js +1 -1
  306. package/dist/es-legacy/components/Blik/Blik.js.map +1 -1
  307. package/dist/es-legacy/components/Boleto/Boleto.js +1 -1
  308. package/dist/es-legacy/components/Boleto/Boleto.js.map +1 -1
  309. package/dist/es-legacy/components/Card/Card.js +1 -1
  310. package/dist/es-legacy/components/Card/Card.js.map +1 -1
  311. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js +1 -1
  312. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js.map +1 -1
  313. package/dist/es-legacy/components/Card/components/CardInput/components/AvailableBrands/AvailableBrands.js +1 -1
  314. package/dist/es-legacy/components/Card/components/CardInput/components/AvailableBrands/AvailableBrands.js.map +1 -1
  315. package/dist/es-legacy/components/Card/components/CardInput/components/BrandIcon.js +1 -1
  316. package/dist/es-legacy/components/Card/components/CardInput/components/BrandIcon.js.map +1 -1
  317. package/dist/es-legacy/components/Card/components/CardInput/components/CVC.js +1 -1
  318. package/dist/es-legacy/components/Card/components/CardInput/components/CVC.js.map +1 -1
  319. package/dist/es-legacy/components/Card/components/CardInput/components/CVCHint.js +1 -1
  320. package/dist/es-legacy/components/Card/components/CardInput/components/CVCHint.js.map +1 -1
  321. package/dist/es-legacy/components/Card/components/CardInput/components/CardNumber.js +1 -1
  322. package/dist/es-legacy/components/Card/components/CardInput/components/CardNumber.js.map +1 -1
  323. package/dist/es-legacy/components/Card/components/CardInput/components/ExpirationDate.js +1 -1
  324. package/dist/es-legacy/components/Card/components/CardInput/components/ExpirationDate.js.map +1 -1
  325. package/dist/es-legacy/components/Card/components/CardInput/types.js.map +1 -1
  326. package/dist/es-legacy/components/Card/components/CardInput/utils.js +1 -1
  327. package/dist/es-legacy/components/Card/components/CardInput/utils.js.map +1 -1
  328. package/dist/es-legacy/components/Card/components/Fastlane/FastlaneSignup.js +1 -1
  329. package/dist/es-legacy/components/Card/components/Fastlane/FastlaneSignup.js.map +1 -1
  330. package/dist/es-legacy/components/Card/components/Fastlane/InfoButton.js +1 -1
  331. package/dist/es-legacy/components/Card/components/Fastlane/InfoButton.js.map +1 -1
  332. package/dist/es-legacy/components/Card/components/Fastlane/InfoModal.js +1 -1
  333. package/dist/es-legacy/components/Card/components/Fastlane/InfoModal.js.map +1 -1
  334. package/dist/es-legacy/components/CashAppPay/CashAppPay.js +1 -1
  335. package/dist/es-legacy/components/CashAppPay/CashAppPay.js.map +1 -1
  336. package/dist/es-legacy/components/CashAppPay/services/CashAppSdkLoader.js.map +1 -1
  337. package/dist/es-legacy/components/ClickToPay/ClickToPay.js +1 -1
  338. package/dist/es-legacy/components/ClickToPay/ClickToPay.js.map +1 -1
  339. package/dist/es-legacy/components/CustomCard/CustomCard.js +1 -1
  340. package/dist/es-legacy/components/CustomCard/CustomCard.js.map +1 -1
  341. package/dist/es-legacy/components/Doku/Doku.js +1 -1
  342. package/dist/es-legacy/components/Doku/Doku.js.map +1 -1
  343. package/dist/es-legacy/components/Donation/Donation.js +1 -1
  344. package/dist/es-legacy/components/Donation/Donation.js.map +1 -1
  345. package/dist/es-legacy/components/Dragonpay/Dragonpay.js +1 -1
  346. package/dist/es-legacy/components/Dragonpay/Dragonpay.js.map +1 -1
  347. package/dist/es-legacy/components/Dropin/Dropin.js +1 -1
  348. package/dist/es-legacy/components/Dropin/Dropin.js.map +1 -1
  349. package/dist/es-legacy/components/Dropin/components/DropinComponent.js +1 -1
  350. package/dist/es-legacy/components/Dropin/components/DropinComponent.js.map +1 -1
  351. package/dist/es-legacy/components/Dropin/components/PaymentMethod/InstantPaymentMethods.js +1 -1
  352. package/dist/es-legacy/components/Dropin/components/PaymentMethod/InstantPaymentMethods.js.map +1 -1
  353. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodBrands/PaymentMethodBrands.js +1 -1
  354. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodBrands/PaymentMethodBrands.js.map +1 -1
  355. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodDetails.js +1 -1
  356. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodDetails.js.map +1 -1
  357. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodIcon.js +1 -1
  358. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodIcon.js.map +1 -1
  359. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
  360. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
  361. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodList.js +1 -1
  362. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodList.js.map +1 -1
  363. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js +1 -1
  364. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js.map +1 -1
  365. package/dist/es-legacy/components/Dropin/elements/createElements.js +1 -1
  366. package/dist/es-legacy/components/Dropin/elements/createElements.js.map +1 -1
  367. package/dist/es-legacy/components/Dropin/elements/createInstantPaymentElements.js +1 -1
  368. package/dist/es-legacy/components/Dropin/elements/createInstantPaymentElements.js.map +1 -1
  369. package/dist/es-legacy/components/Dropin/elements/createStoredElements.js.map +1 -1
  370. package/dist/es-legacy/components/Dropin/elements/filters.js.map +1 -1
  371. package/dist/es-legacy/components/Dropin/elements/splitPaymentMethods.js.map +1 -1
  372. package/dist/es-legacy/components/Econtext/Econtext.js +1 -1
  373. package/dist/es-legacy/components/Econtext/Econtext.js.map +1 -1
  374. package/dist/es-legacy/components/Giftcard/Giftcard.js +1 -1
  375. package/dist/es-legacy/components/Giftcard/Giftcard.js.map +1 -1
  376. package/dist/es-legacy/components/Giropay/Giropay.js +1 -1
  377. package/dist/es-legacy/components/Giropay/Giropay.js.map +1 -1
  378. package/dist/es-legacy/components/GooglePay/GooglePay.js +1 -1
  379. package/dist/es-legacy/components/GooglePay/GooglePay.js.map +1 -1
  380. package/dist/es-legacy/components/GooglePay/GooglePayService.js.map +1 -1
  381. package/dist/es-legacy/components/Klarna/KlarnaPayments.js +1 -1
  382. package/dist/es-legacy/components/Klarna/KlarnaPayments.js.map +1 -1
  383. package/dist/es-legacy/components/MBWay/MBWay.js +1 -1
  384. package/dist/es-legacy/components/MBWay/MBWay.js.map +1 -1
  385. package/dist/es-legacy/components/Multibanco/Multibanco.js +1 -1
  386. package/dist/es-legacy/components/Multibanco/Multibanco.js.map +1 -1
  387. package/dist/es-legacy/components/Oxxo/Oxxo.js +1 -1
  388. package/dist/es-legacy/components/Oxxo/Oxxo.js.map +1 -1
  389. package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js +1 -1
  390. package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js.map +1 -1
  391. package/dist/es-legacy/components/PayByBankPix/components/Enrollment/Enrollment.js +1 -1
  392. package/dist/es-legacy/components/PayByBankPix/components/Enrollment/Enrollment.js.map +1 -1
  393. package/dist/es-legacy/components/PayByBankPix/components/Enrollment/components/PayByBankPixAwait.js +1 -1
  394. package/dist/es-legacy/components/PayByBankPix/components/Enrollment/components/PayByBankPixAwait.js.map +1 -1
  395. package/dist/es-legacy/components/PayByBankPix/services/PasskeySdkLoader.js.map +1 -1
  396. package/dist/es-legacy/components/PayByBankPix/services/PasskeyService.js.map +1 -1
  397. package/dist/es-legacy/components/PayByBankUS/PayByBankUS.js +1 -1
  398. package/dist/es-legacy/components/PayByBankUS/PayByBankUS.js.map +1 -1
  399. package/dist/es-legacy/components/PayPal/Paypal.js +1 -1
  400. package/dist/es-legacy/components/PayPal/Paypal.js.map +1 -1
  401. package/dist/es-legacy/components/PayPalFastlane/Fastlane.js +1 -1
  402. package/dist/es-legacy/components/PayPalFastlane/Fastlane.js.map +1 -1
  403. package/dist/es-legacy/components/PayPalFastlane/FastlaneSDK.js +1 -1
  404. package/dist/es-legacy/components/PayPalFastlane/FastlaneSDK.js.map +1 -1
  405. package/dist/es-legacy/components/PayTo/PayTo.js +1 -1
  406. package/dist/es-legacy/components/PayTo/PayTo.js.map +1 -1
  407. package/dist/es-legacy/components/PersonalDetails/PersonalDetails.js +1 -1
  408. package/dist/es-legacy/components/PersonalDetails/PersonalDetails.js.map +1 -1
  409. package/dist/es-legacy/components/Pix/Pix.js +1 -1
  410. package/dist/es-legacy/components/Pix/Pix.js.map +1 -1
  411. package/dist/es-legacy/components/Pix/components/PixQRDetails.js +1 -1
  412. package/dist/es-legacy/components/Pix/components/PixQRDetails.js.map +1 -1
  413. package/dist/es-legacy/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js +1 -1
  414. package/dist/es-legacy/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js.map +1 -1
  415. package/dist/es-legacy/components/Redirect/Redirect.js +1 -1
  416. package/dist/es-legacy/components/Redirect/Redirect.js.map +1 -1
  417. package/dist/es-legacy/components/Sepa/Sepa.js +1 -1
  418. package/dist/es-legacy/components/Sepa/Sepa.js.map +1 -1
  419. package/dist/es-legacy/components/ThreeDS2/ThreeDS2Challenge.js +1 -1
  420. package/dist/es-legacy/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
  421. package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js +1 -1
  422. package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  423. package/dist/es-legacy/components/ThreeDS2/callSubmit3DS2Fingerprint.js +1 -1
  424. package/dist/es-legacy/components/ThreeDS2/callSubmit3DS2Fingerprint.js.map +1 -1
  425. package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
  426. package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
  427. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
  428. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
  429. package/dist/es-legacy/components/Trustly/Trustly.js +1 -1
  430. package/dist/es-legacy/components/Trustly/Trustly.js.map +1 -1
  431. package/dist/es-legacy/components/UPI/UPI.js +1 -1
  432. package/dist/es-legacy/components/UPI/UPI.js.map +1 -1
  433. package/dist/es-legacy/components/UPI/components/VpaInput/VpaInput.js +1 -1
  434. package/dist/es-legacy/components/UPI/components/VpaInput/VpaInput.js.map +1 -1
  435. package/dist/es-legacy/components/UPI/components/VpaInput/validate.js +1 -1
  436. package/dist/es-legacy/components/UPI/components/VpaInput/validate.js.map +1 -1
  437. package/dist/es-legacy/components/WeChat/WeChat.js +1 -1
  438. package/dist/es-legacy/components/WeChat/WeChat.js.map +1 -1
  439. package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js +1 -1
  440. package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  441. package/dist/es-legacy/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js +1 -1
  442. package/dist/es-legacy/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js.map +1 -1
  443. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  444. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  445. package/dist/es-legacy/components/internal/Await/Await.js +1 -1
  446. package/dist/es-legacy/components/internal/Await/Await.js.map +1 -1
  447. package/dist/es-legacy/components/internal/Await/components/AwaitFinalState.js +2 -0
  448. package/dist/es-legacy/components/internal/Await/components/AwaitFinalState.js.map +1 -0
  449. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js +1 -1
  450. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
  451. package/dist/es-legacy/components/internal/Brand/Brand.js +2 -0
  452. package/dist/es-legacy/components/internal/Brand/Brand.js.map +1 -0
  453. package/dist/es-legacy/components/internal/Button/CopyButton.js +2 -0
  454. package/dist/es-legacy/components/internal/Button/CopyButton.js.map +1 -0
  455. package/dist/es-legacy/components/internal/Button/CopyIconButton.js +1 -1
  456. package/dist/es-legacy/components/internal/Button/CopyIconButton.js.map +1 -1
  457. package/dist/es-legacy/components/internal/Button/stopPropagationForActionKeys.js +2 -0
  458. package/dist/es-legacy/components/internal/Button/stopPropagationForActionKeys.js.map +1 -0
  459. package/dist/es-legacy/components/internal/ClickToPay/components/CtPCards/CtPCards.js +1 -1
  460. package/dist/es-legacy/components/internal/ClickToPay/components/CtPCards/CtPCards.js.map +1 -1
  461. package/dist/es-legacy/components/internal/ClickToPay/components/CtPCards/CtPCardsList/CtPCardsList.js +1 -1
  462. package/dist/es-legacy/components/internal/ClickToPay/components/CtPCards/CtPCardsList/CtPCardsList.js.map +1 -1
  463. package/dist/es-legacy/components/internal/ClickToPay/components/CtPInfo/CtPInfo.js +1 -1
  464. package/dist/es-legacy/components/internal/ClickToPay/components/CtPInfo/CtPInfo.js.map +1 -1
  465. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js +1 -1
  466. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js.map +1 -1
  467. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js +1 -1
  468. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js.map +1 -1
  469. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/validate.js +1 -1
  470. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/validate.js.map +1 -1
  471. package/dist/es-legacy/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
  472. package/dist/es-legacy/components/internal/ClickToPay/services/create-clicktopay-service.js.map +1 -1
  473. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js.map +1 -1
  474. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/MastercardSdk.js.map +1 -1
  475. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js.map +1 -1
  476. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/VisaSdk.js.map +1 -1
  477. package/dist/es-legacy/components/internal/FormFields/Field/Field.js +1 -1
  478. package/dist/es-legacy/components/internal/FormFields/Field/Field.js.map +1 -1
  479. package/dist/es-legacy/components/internal/FormFields/InputBase.js.map +1 -1
  480. package/dist/es-legacy/components/internal/FormFields/RadioGroupExtended/RadioGroupExtended.js +1 -1
  481. package/dist/es-legacy/components/internal/FormFields/RadioGroupExtended/RadioGroupExtended.js.map +1 -1
  482. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectListItem.js +1 -1
  483. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectListItem.js.map +1 -1
  484. package/dist/es-legacy/components/internal/Icon/Icon.js +1 -1
  485. package/dist/es-legacy/components/internal/Icon/Icon.js.map +1 -1
  486. package/dist/es-legacy/components/internal/Img/Img.js +1 -1
  487. package/dist/es-legacy/components/internal/Img/Img.js.map +1 -1
  488. package/dist/es-legacy/components/internal/IssuerList/IssuerList.js +1 -1
  489. package/dist/es-legacy/components/internal/IssuerList/IssuerList.js.map +1 -1
  490. package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js +1 -1
  491. package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
  492. package/dist/es-legacy/components/internal/PersonalDetails/utils.js +1 -1
  493. package/dist/es-legacy/components/internal/PersonalDetails/utils.js.map +1 -1
  494. package/dist/es-legacy/components/internal/PersonalDetails/validate.js +1 -1
  495. package/dist/es-legacy/components/internal/PersonalDetails/validate.js.map +1 -1
  496. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js +1 -1
  497. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js.map +1 -1
  498. package/dist/es-legacy/components/internal/QRLoader/QRLoaderDetailsProvider.js.map +1 -1
  499. package/dist/es-legacy/components/internal/QRLoader/components/QRCodeCopyButton.js +1 -1
  500. package/dist/es-legacy/components/internal/QRLoader/components/QRCodeCopyButton.js.map +1 -1
  501. package/dist/es-legacy/components/internal/QRLoader/components/QRCountdown.js +1 -1
  502. package/dist/es-legacy/components/internal/QRLoader/components/QRCountdown.js.map +1 -1
  503. package/dist/es-legacy/components/internal/QRLoader/components/QRDetails.js +1 -1
  504. package/dist/es-legacy/components/internal/QRLoader/components/QRDetails.js.map +1 -1
  505. package/dist/es-legacy/components/internal/QRLoader/components/QRImage.js +1 -1
  506. package/dist/es-legacy/components/internal/QRLoader/components/QRImage.js.map +1 -1
  507. package/dist/es-legacy/components/internal/QRLoader/components/QRIntructions.js +1 -1
  508. package/dist/es-legacy/components/internal/QRLoader/components/QRIntructions.js.map +1 -1
  509. package/dist/es-legacy/components/internal/QRLoader/components/QRProgressbar.js +1 -1
  510. package/dist/es-legacy/components/internal/QRLoader/components/QRProgressbar.js.map +1 -1
  511. package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
  512. package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
  513. package/dist/es-legacy/components/internal/UIElement/utils.js.map +1 -1
  514. package/dist/es-legacy/components/internal/Voucher/Voucher.js +1 -1
  515. package/dist/es-legacy/components/internal/Voucher/Voucher.js.map +1 -1
  516. package/dist/es-legacy/core/Analytics/Analytics.js +1 -1
  517. package/dist/es-legacy/core/Analytics/Analytics.js.map +1 -1
  518. package/dist/es-legacy/core/Analytics/AnalyticsEventQueue.js +2 -0
  519. package/dist/es-legacy/core/Analytics/AnalyticsEventQueue.js.map +1 -0
  520. package/dist/es-legacy/core/Analytics/AnalyticsService.js +2 -0
  521. package/dist/es-legacy/core/Analytics/AnalyticsService.js.map +1 -0
  522. package/dist/es-legacy/core/Analytics/constants.js +1 -1
  523. package/dist/es-legacy/core/Analytics/constants.js.map +1 -1
  524. package/dist/es-legacy/core/Analytics/events/AbstractAnalyticsEvent.js +2 -0
  525. package/dist/es-legacy/core/Analytics/events/AbstractAnalyticsEvent.js.map +1 -0
  526. package/dist/es-legacy/core/Analytics/events/AnalyticsErrorEvent.js +2 -0
  527. package/dist/es-legacy/core/Analytics/events/AnalyticsErrorEvent.js.map +1 -0
  528. package/dist/es-legacy/core/Analytics/events/AnalyticsInfoEvent.js +2 -0
  529. package/dist/es-legacy/core/Analytics/events/AnalyticsInfoEvent.js.map +1 -0
  530. package/dist/es-legacy/core/Analytics/events/AnalyticsLogEvent.js +2 -0
  531. package/dist/es-legacy/core/Analytics/events/AnalyticsLogEvent.js.map +1 -0
  532. package/dist/es-legacy/core/Analytics/utils.js +1 -1
  533. package/dist/es-legacy/core/Analytics/utils.js.map +1 -1
  534. package/dist/es-legacy/core/Context/CoreProvider.js +1 -1
  535. package/dist/es-legacy/core/Context/CoreProvider.js.map +1 -1
  536. package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js +1 -1
  537. package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
  538. package/dist/es-legacy/core/ProcessResponse/PaymentMethods/PaymentMethods.js +1 -1
  539. package/dist/es-legacy/core/ProcessResponse/PaymentMethods/PaymentMethods.js.map +1 -1
  540. package/dist/es-legacy/core/ProcessResponse/PaymentMethods/utils.js +1 -1
  541. package/dist/es-legacy/core/ProcessResponse/PaymentMethods/utils.js.map +1 -1
  542. package/dist/es-legacy/core/ProcessResponse/{process-response.js → PaymentStatus/PaymentStatus.js} +2 -2
  543. package/dist/es-legacy/core/ProcessResponse/PaymentStatus/PaymentStatus.js.map +1 -0
  544. package/dist/es-legacy/core/Services/http.js +1 -1
  545. package/dist/es-legacy/core/Services/http.js.map +1 -1
  546. package/dist/es-legacy/core/Services/payment-status.js.map +1 -1
  547. package/dist/es-legacy/core/config.js +1 -1
  548. package/dist/es-legacy/core/core.js +1 -1
  549. package/dist/es-legacy/core/core.js.map +1 -1
  550. package/dist/es-legacy/external/preact/compat/dist/compat.js +1 -1
  551. package/dist/es-legacy/external/preact/compat/dist/compat.js.map +1 -1
  552. package/dist/es-legacy/hooks/usePaymentStatusTimer/constants.js +2 -0
  553. package/dist/es-legacy/hooks/usePaymentStatusTimer/constants.js.map +1 -0
  554. package/dist/es-legacy/hooks/usePaymentStatusTimer/usePaymentStatusTimer.js +2 -0
  555. package/dist/es-legacy/hooks/usePaymentStatusTimer/usePaymentStatusTimer.js.map +1 -0
  556. package/dist/es-legacy/utils/Script.js +1 -1
  557. package/dist/es-legacy/utils/Script.js.map +1 -1
  558. package/dist/es-legacy/utils/amount-util.js.map +1 -1
  559. package/dist/es-legacy/utils/commonUtils.js +1 -1
  560. package/dist/es-legacy/utils/commonUtils.js.map +1 -1
  561. package/dist/es-legacy/utils/getErrorMessage.js +1 -1
  562. package/dist/es-legacy/utils/getErrorMessage.js.map +1 -1
  563. package/dist/es-legacy/utils/urls.js +2 -0
  564. package/dist/es-legacy/utils/urls.js.map +1 -0
  565. package/package.json +25 -27
  566. package/styles/adyen.css +16 -13
  567. package/dist/es/components/Card/components/CardInput/components/DualBrandingIcon/DualBrandingIcon.js +0 -2
  568. package/dist/es/components/Card/components/CardInput/components/DualBrandingIcon/DualBrandingIcon.js.map +0 -1
  569. package/dist/es/components/Dropin/components/utils.js +0 -2
  570. package/dist/es/components/Dropin/components/utils.js.map +0 -1
  571. package/dist/es/core/Analytics/AnalyticsErrorEvent.js +0 -2
  572. package/dist/es/core/Analytics/AnalyticsErrorEvent.js.map +0 -1
  573. package/dist/es/core/Analytics/AnalyticsEvent.js +0 -2
  574. package/dist/es/core/Analytics/AnalyticsEvent.js.map +0 -1
  575. package/dist/es/core/Analytics/AnalyticsInfoEvent.js +0 -2
  576. package/dist/es/core/Analytics/AnalyticsInfoEvent.js.map +0 -1
  577. package/dist/es/core/Analytics/AnalyticsLogEvent.js +0 -2
  578. package/dist/es/core/Analytics/AnalyticsLogEvent.js.map +0 -1
  579. package/dist/es/core/Analytics/EventsQueue.js +0 -2
  580. package/dist/es/core/Analytics/EventsQueue.js.map +0 -1
  581. package/dist/es/core/ProcessResponse/process-response.js.map +0 -1
  582. package/dist/es/core/Services/analytics/collect-id.js +0 -2
  583. package/dist/es/core/Services/analytics/collect-id.js.map +0 -1
  584. package/dist/es-legacy/components/Card/components/CardInput/components/DualBrandingIcon/DualBrandingIcon.js +0 -2
  585. package/dist/es-legacy/components/Card/components/CardInput/components/DualBrandingIcon/DualBrandingIcon.js.map +0 -1
  586. package/dist/es-legacy/components/Dropin/components/utils.js +0 -2
  587. package/dist/es-legacy/components/Dropin/components/utils.js.map +0 -1
  588. package/dist/es-legacy/core/Analytics/AnalyticsErrorEvent.js +0 -2
  589. package/dist/es-legacy/core/Analytics/AnalyticsErrorEvent.js.map +0 -1
  590. package/dist/es-legacy/core/Analytics/AnalyticsEvent.js +0 -2
  591. package/dist/es-legacy/core/Analytics/AnalyticsEvent.js.map +0 -1
  592. package/dist/es-legacy/core/Analytics/AnalyticsInfoEvent.js +0 -2
  593. package/dist/es-legacy/core/Analytics/AnalyticsInfoEvent.js.map +0 -1
  594. package/dist/es-legacy/core/Analytics/AnalyticsLogEvent.js +0 -2
  595. package/dist/es-legacy/core/Analytics/AnalyticsLogEvent.js.map +0 -1
  596. package/dist/es-legacy/core/Analytics/EventsQueue.js +0 -2
  597. package/dist/es-legacy/core/Analytics/EventsQueue.js.map +0 -1
  598. package/dist/es-legacy/core/ProcessResponse/process-response.js.map +0 -1
  599. package/dist/es-legacy/core/Services/analytics/collect-id.js +0 -2
  600. package/dist/es-legacy/core/Services/analytics/collect-id.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractSrcInitiator.js","sources":["../../../../../../../src/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.ts"],"sourcesContent":["import {\n CustomSdkConfiguration,\n SrcCheckoutParams,\n SrciCheckoutResponse,\n SrciCompleteIdentityValidationResponse,\n SrcIdentityLookupParams,\n SrciIdentityLookupResponse,\n SrciInitiateIdentityValidationResponse,\n SrciIsRecognizedResponse,\n SrcInitParams,\n SrcProfile\n} from './types';\nimport SrciError, { MastercardError, VisaError } from './SrciError';\nimport { ClickToPayScheme } from '../../types';\nimport Script from '../../../../../utils/Script';\nimport { AnalyticsModule } from '../../../../../types/global-types';\n\nexport interface ISrcInitiator {\n schemeName: ClickToPayScheme;\n // Loading 3rd party library\n loadSdkScript(): Promise<void>;\n removeSdkScript(): void;\n // SRCi specification methods\n init(params: SrcInitParams, srciTransactionId: string): Promise<void>;\n isRecognized(): Promise<SrciIsRecognizedResponse>;\n identityLookup(params: SrcIdentityLookupParams): Promise<SrciIdentityLookupResponse>;\n initiateIdentityValidation(): Promise<SrciInitiateIdentityValidationResponse>;\n completeIdentityValidation(validationData: string): Promise<SrciCompleteIdentityValidationResponse>;\n getSrcProfile(idTokens: string[]): Promise<SrcProfile>;\n checkout(params: SrcCheckoutParams): Promise<SrciCheckoutResponse>;\n unbindAppInstance(): Promise<void>;\n}\n\nexport default abstract class AbstractSrcInitiator implements ISrcInitiator {\n public schemeSdk: any;\n public abstract readonly schemeName: ClickToPayScheme;\n\n protected readonly customSdkConfiguration: CustomSdkConfiguration;\n\n private readonly analytics: AnalyticsModule;\n private readonly sdkUrl: string;\n private scriptElement: Script | null = null;\n\n protected constructor(sdkUrl: string, customSdkConfiguration: CustomSdkConfiguration, analytics: AnalyticsModule) {\n if (!sdkUrl) throw Error('AbstractSrcInitiator: Invalid SDK URL');\n\n this.sdkUrl = sdkUrl;\n this.customSdkConfiguration = customSdkConfiguration;\n this.analytics = analytics;\n }\n\n public async loadSdkScript(): Promise<void> {\n if (!this.isSdkIsAvailableOnWindow()) {\n this.scriptElement = new Script({\n src: this.sdkUrl,\n component: 'clicktopay',\n analytics: this.analytics\n });\n\n await this.scriptElement.load();\n }\n this.assignSdkReference();\n }\n\n public removeSdkScript(): void {\n this.scriptElement.remove();\n }\n\n /**\n * Verifies if SDK is already loaded on the window object.\n * Example: Merchant can preload the SDK to speed up the loading time\n */\n protected abstract isSdkIsAvailableOnWindow(): boolean;\n\n /**\n * Assign SchemeSDK object to 'schemeSdk' property.\n * Each scheme creates its own object reference on 'window' using different naming,\n * therefore this method should be implemented by the subclass to assign the property\n * accordingly\n */\n protected abstract assignSdkReference(): void;\n\n /**\n * Initializes the app with common state. The init method must be called before any other methods.\n */\n public abstract init(params: SrcInitParams, srciTransactionId: string): Promise<void>;\n\n /**\n * This method performs checkout using the specified card. If successful, the\n * response contains summary checkout information.\n */\n public async checkout(params: SrcCheckoutParams): Promise<SrciCheckoutResponse> {\n try {\n const checkoutResponse = await this.schemeSdk.checkout(params);\n return checkoutResponse;\n } catch (error) {\n const srciError = new SrciError(error as VisaError | MastercardError, 'checkout', this.schemeName);\n throw srciError;\n }\n }\n\n /**\n * This method disassociates the Consumer application / Consumer Device from the Consumer’s SRC Profile.\n */\n public async unbindAppInstance(): Promise<void> {\n try {\n await this.schemeSdk.unbindAppInstance();\n } catch (error) {\n const srciError = new SrciError(error as VisaError | MastercardError, 'unbindAppInstance', this.schemeName);\n throw srciError;\n }\n }\n\n /**\n * Determines whether the consumer is recognized, e.g. by detecting the presence of a local cookie in\n * the browser environment.\n */\n public async isRecognized(): Promise<SrciIsRecognizedResponse> {\n try {\n const isRecognizedResponse = await this.schemeSdk.isRecognized();\n return isRecognizedResponse;\n } catch (error) {\n const srciError = new SrciError(error as VisaError | MastercardError, 'isRecognized', this.schemeName);\n throw srciError;\n }\n }\n\n /**\n * Sends a validation code to the specified consumer.\n * This method sends a one-time password (OTP) to the consumer to start validation\n */\n public async initiateIdentityValidation(): Promise<SrciInitiateIdentityValidationResponse> {\n try {\n const identityValidationResponse = await this.schemeSdk.initiateIdentityValidation();\n return identityValidationResponse;\n } catch (error) {\n const srciError = new SrciError(error as VisaError | MastercardError, 'initiateIdentityValidation', this.schemeName);\n throw srciError;\n }\n }\n\n /**\n * Obtains the masked card and other account profile data associated with the userId.\n */\n public async getSrcProfile(idTokens: string[]): Promise<SrcProfile> {\n try {\n const getSrcProfileResponse = await this.schemeSdk.getSrcProfile({ idTokens });\n return getSrcProfileResponse;\n } catch (error) {\n const srciError = new SrciError(error as VisaError | MastercardError, 'getSrcProfile', this.schemeName);\n throw srciError;\n }\n }\n\n /**\n * Obtains the user account associated with the consumer’s identity (an email address or phone\n * number).\n */\n public abstract identityLookup(params: SrcIdentityLookupParams): Promise<SrciIdentityLookupResponse>;\n\n /**\n * This method completes the identity validation by receiving the one-time password (OTP) sent to the\n * consumer to start validation.\n */\n public abstract completeIdentityValidation(otp: string): Promise<SrciCompleteIdentityValidationResponse>;\n}\n"],"names":["AbstractSrcInitiator","loadSdkScript","this","isSdkIsAvailableOnWindow","scriptElement","Script","src","sdkUrl","component","analytics","load","assignSdkReference","removeSdkScript","remove","checkout","params","schemeSdk","error","SrciError","schemeName","unbindAppInstance","isRecognized","initiateIdentityValidation","getSrcProfile","idTokens","constructor","customSdkConfiguration","_define_property","Error"],"mappings":"oMAiCe,MAAeA,EAkB1B,mBAAaC,GACJC,KAAKC,6BACND,KAAKE,cAAgB,IAAIC,EAAO,CAC5BC,IAAKJ,KAAKK,OACVC,UAAW,aACXC,UAAWP,KAAKO,kBAGdP,KAAKE,cAAcM,QAE7BR,KAAKS,oBACT,CAEOC,eAAAA,GACHV,KAAKE,cAAcS,QACvB,CAyBA,cAAaC,CAASC,GAClB,IAEI,aAD+Bb,KAAKc,UAAUF,SAASC,EAE3D,CAAE,MAAOE,GAEL,MADkB,IAAIC,EAAUD,EAAsC,WAAYf,KAAKiB,WAE3F,CACJ,CAKA,uBAAaC,GACT,UACUlB,KAAKc,UAAUI,mBACzB,CAAE,MAAOH,GAEL,MADkB,IAAIC,EAAUD,EAAsC,oBAAqBf,KAAKiB,WAEpG,CACJ,CAMA,kBAAaE,GACT,IAEI,aADmCnB,KAAKc,UAAUK,cAEtD,CAAE,MAAOJ,GAEL,MADkB,IAAIC,EAAUD,EAAsC,eAAgBf,KAAKiB,WAE/F,CACJ,CAMA,gCAAaG,GACT,IAEI,aADyCpB,KAAKc,UAAUM,4BAE5D,CAAE,MAAOL,GAEL,MADkB,IAAIC,EAAUD,EAAsC,6BAA8Bf,KAAKiB,WAE7G,CACJ,CAKA,mBAAaI,CAAcC,GACvB,IAEI,aADoCtB,KAAKc,UAAUO,cAAc,CAAEC,YAEvE,CAAE,MAAOP,GAEL,MADkB,IAAIC,EAAUD,EAAsC,gBAAiBf,KAAKiB,WAEhG,CACJ,CA7GA,WAAAM,CAAsBlB,EAAgBmB,EAAgDjB,GAClF,GAVJkB,EAAAzB,KAAOc,iBAAP,GAGAW,EAAAzB,KAAmBwB,8BAAnB,GAEAC,EAAAzB,KAAiBO,iBAAjB,GACAkB,EAAAzB,KAAiBK,cAAjB,GACAoB,EAAAzB,KAAQE,gBAA+B,OAG9BG,EAAQ,MAAMqB,MAAM,yCAEzB1B,KAAKK,OAASA,EACdL,KAAKwB,uBAAyBA,EAC9BxB,KAAKO,UAAYA,CACrB"}
1
+ {"version":3,"file":"AbstractSrcInitiator.js","sources":["../../../../../../../src/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.ts"],"sourcesContent":["import {\n CustomSdkConfiguration,\n SrcCheckoutParams,\n SrciCheckoutResponse,\n SrciCompleteIdentityValidationResponse,\n SrcIdentityLookupParams,\n SrciIdentityLookupResponse,\n SrciInitiateIdentityValidationResponse,\n SrciIsRecognizedResponse,\n SrcInitParams,\n SrcProfile\n} from './types';\nimport SrciError, { MastercardError, VisaError } from './SrciError';\nimport { ClickToPayScheme } from '../../types';\nimport Script from '../../../../../utils/Script';\nimport { IAnalytics } from '../../../../../core/Analytics/Analytics';\n\nexport interface ISrcInitiator {\n schemeName: ClickToPayScheme;\n // Loading 3rd party library\n loadSdkScript(): Promise<void>;\n removeSdkScript(): void;\n // SRCi specification methods\n init(params: SrcInitParams, srciTransactionId: string): Promise<void>;\n isRecognized(): Promise<SrciIsRecognizedResponse>;\n identityLookup(params: SrcIdentityLookupParams): Promise<SrciIdentityLookupResponse>;\n initiateIdentityValidation(): Promise<SrciInitiateIdentityValidationResponse>;\n completeIdentityValidation(validationData: string): Promise<SrciCompleteIdentityValidationResponse>;\n getSrcProfile(idTokens: string[]): Promise<SrcProfile>;\n checkout(params: SrcCheckoutParams): Promise<SrciCheckoutResponse>;\n unbindAppInstance(): Promise<void>;\n}\n\nexport default abstract class AbstractSrcInitiator implements ISrcInitiator {\n public schemeSdk: any;\n public abstract readonly schemeName: ClickToPayScheme;\n\n protected readonly customSdkConfiguration: CustomSdkConfiguration;\n\n private readonly analytics: IAnalytics;\n private readonly sdkUrl: string;\n private scriptElement: Script | null = null;\n\n protected constructor(sdkUrl: string, customSdkConfiguration: CustomSdkConfiguration, analytics: IAnalytics) {\n if (!sdkUrl) throw Error('AbstractSrcInitiator: Invalid SDK URL');\n\n this.sdkUrl = sdkUrl;\n this.customSdkConfiguration = customSdkConfiguration;\n this.analytics = analytics;\n }\n\n public async loadSdkScript(): Promise<void> {\n if (!this.isSdkIsAvailableOnWindow()) {\n this.scriptElement = new Script({\n src: this.sdkUrl,\n component: 'clicktopay',\n analytics: this.analytics\n });\n\n await this.scriptElement.load();\n }\n this.assignSdkReference();\n }\n\n public removeSdkScript(): void {\n this.scriptElement.remove();\n }\n\n /**\n * Verifies if SDK is already loaded on the window object.\n * Example: Merchant can preload the SDK to speed up the loading time\n */\n protected abstract isSdkIsAvailableOnWindow(): boolean;\n\n /**\n * Assign SchemeSDK object to 'schemeSdk' property.\n * Each scheme creates its own object reference on 'window' using different naming,\n * therefore this method should be implemented by the subclass to assign the property\n * accordingly\n */\n protected abstract assignSdkReference(): void;\n\n /**\n * Initializes the app with common state. The init method must be called before any other methods.\n */\n public abstract init(params: SrcInitParams, srciTransactionId: string): Promise<void>;\n\n /**\n * This method performs checkout using the specified card. If successful, the\n * response contains summary checkout information.\n */\n public async checkout(params: SrcCheckoutParams): Promise<SrciCheckoutResponse> {\n try {\n const checkoutResponse = await this.schemeSdk.checkout(params);\n return checkoutResponse;\n } catch (error) {\n const srciError = new SrciError(error as VisaError | MastercardError, 'checkout', this.schemeName);\n throw srciError;\n }\n }\n\n /**\n * This method disassociates the Consumer application / Consumer Device from the Consumer’s SRC Profile.\n */\n public async unbindAppInstance(): Promise<void> {\n try {\n await this.schemeSdk.unbindAppInstance();\n } catch (error) {\n const srciError = new SrciError(error as VisaError | MastercardError, 'unbindAppInstance', this.schemeName);\n throw srciError;\n }\n }\n\n /**\n * Determines whether the consumer is recognized, e.g. by detecting the presence of a local cookie in\n * the browser environment.\n */\n public async isRecognized(): Promise<SrciIsRecognizedResponse> {\n try {\n const isRecognizedResponse = await this.schemeSdk.isRecognized();\n return isRecognizedResponse;\n } catch (error) {\n const srciError = new SrciError(error as VisaError | MastercardError, 'isRecognized', this.schemeName);\n throw srciError;\n }\n }\n\n /**\n * Sends a validation code to the specified consumer.\n * This method sends a one-time password (OTP) to the consumer to start validation\n */\n public async initiateIdentityValidation(): Promise<SrciInitiateIdentityValidationResponse> {\n try {\n const identityValidationResponse = await this.schemeSdk.initiateIdentityValidation();\n return identityValidationResponse;\n } catch (error) {\n const srciError = new SrciError(error as VisaError | MastercardError, 'initiateIdentityValidation', this.schemeName);\n throw srciError;\n }\n }\n\n /**\n * Obtains the masked card and other account profile data associated with the userId.\n */\n public async getSrcProfile(idTokens: string[]): Promise<SrcProfile> {\n try {\n const getSrcProfileResponse = await this.schemeSdk.getSrcProfile({ idTokens });\n return getSrcProfileResponse;\n } catch (error) {\n const srciError = new SrciError(error as VisaError | MastercardError, 'getSrcProfile', this.schemeName);\n throw srciError;\n }\n }\n\n /**\n * Obtains the user account associated with the consumer’s identity (an email address or phone\n * number).\n */\n public abstract identityLookup(params: SrcIdentityLookupParams): Promise<SrciIdentityLookupResponse>;\n\n /**\n * This method completes the identity validation by receiving the one-time password (OTP) sent to the\n * consumer to start validation.\n */\n public abstract completeIdentityValidation(otp: string): Promise<SrciCompleteIdentityValidationResponse>;\n}\n"],"names":["AbstractSrcInitiator","loadSdkScript","this","isSdkIsAvailableOnWindow","scriptElement","Script","src","sdkUrl","component","analytics","load","assignSdkReference","removeSdkScript","remove","checkout","params","schemeSdk","error","SrciError","schemeName","unbindAppInstance","isRecognized","initiateIdentityValidation","getSrcProfile","idTokens","constructor","customSdkConfiguration","_define_property","Error"],"mappings":"oMAiCe,MAAeA,EAkB1B,mBAAaC,GACJC,KAAKC,6BACND,KAAKE,cAAgB,IAAIC,EAAO,CAC5BC,IAAKJ,KAAKK,OACVC,UAAW,aACXC,UAAWP,KAAKO,kBAGdP,KAAKE,cAAcM,QAE7BR,KAAKS,oBACT,CAEOC,eAAAA,GACHV,KAAKE,cAAcS,QACvB,CAyBA,cAAaC,CAASC,GAClB,IAEI,aAD+Bb,KAAKc,UAAUF,SAASC,EAE3D,CAAE,MAAOE,GAEL,MADkB,IAAIC,EAAUD,EAAsC,WAAYf,KAAKiB,WAE3F,CACJ,CAKA,uBAAaC,GACT,UACUlB,KAAKc,UAAUI,mBACzB,CAAE,MAAOH,GAEL,MADkB,IAAIC,EAAUD,EAAsC,oBAAqBf,KAAKiB,WAEpG,CACJ,CAMA,kBAAaE,GACT,IAEI,aADmCnB,KAAKc,UAAUK,cAEtD,CAAE,MAAOJ,GAEL,MADkB,IAAIC,EAAUD,EAAsC,eAAgBf,KAAKiB,WAE/F,CACJ,CAMA,gCAAaG,GACT,IAEI,aADyCpB,KAAKc,UAAUM,4BAE5D,CAAE,MAAOL,GAEL,MADkB,IAAIC,EAAUD,EAAsC,6BAA8Bf,KAAKiB,WAE7G,CACJ,CAKA,mBAAaI,CAAcC,GACvB,IAEI,aADoCtB,KAAKc,UAAUO,cAAc,CAAEC,YAEvE,CAAE,MAAOP,GAEL,MADkB,IAAIC,EAAUD,EAAsC,gBAAiBf,KAAKiB,WAEhG,CACJ,CA7GA,WAAAM,CAAsBlB,EAAgBmB,EAAgDjB,GAClF,GAVJkB,EAAAzB,KAAOc,iBAAP,GAGAW,EAAAzB,KAAmBwB,8BAAnB,GAEAC,EAAAzB,KAAiBO,iBAAjB,GACAkB,EAAAzB,KAAiBK,cAAjB,GACAoB,EAAAzB,KAAQE,gBAA+B,OAG9BG,EAAQ,MAAMqB,MAAM,yCAEzB1B,KAAKK,OAASA,EACdL,KAAKwB,uBAAyBA,EAC9BxB,KAAKO,UAAYA,CACrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"MastercardSdk.js","sources":["../../../../../../../src/components/internal/ClickToPay/services/sdks/MastercardSdk.ts"],"sourcesContent":["import { getMastercardSettings, MC_SDK_PROD, MC_SDK_TEST } from './config';\nimport AbstractSrcInitiator from './AbstractSrcInitiator';\nimport SrciError, { MastercardError, VisaError } from './SrciError';\nimport {\n CustomSdkConfiguration,\n SrciCompleteIdentityValidationResponse,\n SrcIdentityLookupParams,\n SrciIdentityLookupResponse,\n SrcInitParams\n} from './types';\nimport { AnalyticsModule } from '../../../../../types/global-types';\n\nconst IdentityTypeMap = {\n email: 'EMAIL_ADDRESS',\n telephoneNumber: 'MOBILE_PHONE_NUMBER'\n};\n\nclass MastercardSdk extends AbstractSrcInitiator {\n public readonly schemeName = 'mc';\n\n constructor(environment: string, customSdkConfig: CustomSdkConfiguration, analytics: AnalyticsModule) {\n super(environment.toLowerCase().includes('live') ? MC_SDK_PROD : MC_SDK_TEST, customSdkConfig, analytics);\n }\n\n protected isSdkIsAvailableOnWindow(): boolean {\n // @ts-ignore SRCSDK_MASTERCARD is created by the MC sdk\n if (window.SRCSDK_MASTERCARD) return true;\n return false;\n }\n\n protected assignSdkReference(): void {\n // @ts-ignore SRCSDK_MASTERCARD is created by the MC sdk\n this.schemeSdk = window.SRCSDK_MASTERCARD;\n }\n\n public async init(params: SrcInitParams, srciTransactionId: string): Promise<void> {\n try {\n const sdkProps = {\n ...params,\n ...getMastercardSettings(this.customSdkConfiguration),\n srciTransactionId\n };\n await this.schemeSdk.init(sdkProps);\n } catch (err) {\n const srciError = new SrciError(err as VisaError | MastercardError, 'init', this.schemeName);\n throw srciError;\n }\n }\n\n public async identityLookup({ identityValue, type }: SrcIdentityLookupParams): Promise<SrciIdentityLookupResponse> {\n try {\n const consumerIdentity = {\n identityValue,\n identityType: IdentityTypeMap[type]\n };\n\n const response = await this.schemeSdk.identityLookup({ consumerIdentity });\n return response;\n } catch (err) {\n const srciError = new SrciError(err as VisaError | MastercardError, 'identityLookup', this.schemeName);\n throw srciError;\n }\n }\n\n public async completeIdentityValidation(otp: string): Promise<SrciCompleteIdentityValidationResponse> {\n try {\n const response = await this.schemeSdk.completeIdentityValidation({ validationData: otp });\n return response;\n } catch (err) {\n const srciError = new SrciError(err as VisaError | MastercardError, 'completeIdentityValidation', this.schemeName);\n throw srciError;\n }\n }\n}\n\nexport default MastercardSdk;\n"],"names":["IdentityTypeMap","email","telephoneNumber","MastercardSdk","AbstractSrcInitiator","isSdkIsAvailableOnWindow","window","SRCSDK_MASTERCARD","assignSdkReference","this","schemeSdk","init","params","srciTransactionId","sdkProps","getMastercardSettings","customSdkConfiguration","err","SrciError","schemeName","identityLookup","identityValue","type","consumerIdentity","identityType","completeIdentityValidation","otp","validationData","constructor","environment","customSdkConfig","analytics","super","toLowerCase","includes","MC_SDK_PROD","MC_SDK_TEST"],"mappings":"6JAYA,MAAMA,EAAkB,CACpBC,MAAO,gBACPC,gBAAiB,uBAGrB,MAAMC,UAAsBC,EAOdC,wBAAAA,GAEN,QAAIC,OAAOC,iBAEf,CAEUC,kBAAAA,GAENC,KAAKC,UAAYJ,OAAOC,iBAC5B,CAEA,UAAaI,CAAKC,EAAuBC,GACrC,IACI,MAAMC,EAAW,IACVF,KACAG,EAAsBN,KAAKO,wBAC9BH,2BAEEJ,KAAKC,UAAUC,KAAKG,EAC9B,CAAE,MAAOG,GAEL,MADkB,IAAIC,EAAUD,EAAoC,OAAQR,KAAKU,WAErF,CACJ,CAEA,oBAAaC,EAAeC,cAAEA,EAAaC,KAAEA,IACzC,IACI,MAAMC,EAAmB,CACrBF,gBACAG,aAAcxB,EAAgBsB,IAIlC,aADuBb,KAAKC,UAAUU,eAAe,CAAEG,oBAE3D,CAAE,MAAON,GAEL,MADkB,IAAIC,EAAUD,EAAoC,iBAAkBR,KAAKU,WAE/F,CACJ,CAEA,gCAAaM,CAA2BC,GACpC,IAEI,aADuBjB,KAAKC,UAAUe,2BAA2B,CAAEE,eAAgBD,GAEvF,CAAE,MAAOT,GAEL,MADkB,IAAIC,EAAUD,EAAoC,6BAA8BR,KAAKU,WAE3G,CACJ,CApDA,WAAAS,CAAYC,EAAqBC,EAAyCC,aACtEC,MAAMH,EAAYI,cAAcC,SAAS,QAAUC,EAAcC,EAAaN,EAAiBC,KAHtE,QAAbZ,kBAAhBV,2FAIA"}
1
+ {"version":3,"file":"MastercardSdk.js","sources":["../../../../../../../src/components/internal/ClickToPay/services/sdks/MastercardSdk.ts"],"sourcesContent":["import { getMastercardSettings, MC_SDK_PROD, MC_SDK_TEST } from './config';\nimport AbstractSrcInitiator from './AbstractSrcInitiator';\nimport SrciError, { MastercardError, VisaError } from './SrciError';\nimport {\n CustomSdkConfiguration,\n SrciCompleteIdentityValidationResponse,\n SrcIdentityLookupParams,\n SrciIdentityLookupResponse,\n SrcInitParams\n} from './types';\nimport type { IAnalytics } from '../../../../../core/Analytics/Analytics';\n\nconst IdentityTypeMap = {\n email: 'EMAIL_ADDRESS',\n telephoneNumber: 'MOBILE_PHONE_NUMBER'\n};\n\nclass MastercardSdk extends AbstractSrcInitiator {\n public readonly schemeName = 'mc';\n\n constructor(environment: string, customSdkConfig: CustomSdkConfiguration, analytics: IAnalytics) {\n super(environment.toLowerCase().includes('live') ? MC_SDK_PROD : MC_SDK_TEST, customSdkConfig, analytics);\n }\n\n protected isSdkIsAvailableOnWindow(): boolean {\n // @ts-ignore SRCSDK_MASTERCARD is created by the MC sdk\n if (window.SRCSDK_MASTERCARD) return true;\n return false;\n }\n\n protected assignSdkReference(): void {\n // @ts-ignore SRCSDK_MASTERCARD is created by the MC sdk\n this.schemeSdk = window.SRCSDK_MASTERCARD;\n }\n\n public async init(params: SrcInitParams, srciTransactionId: string): Promise<void> {\n try {\n const sdkProps = {\n ...params,\n ...getMastercardSettings(this.customSdkConfiguration),\n srciTransactionId\n };\n await this.schemeSdk.init(sdkProps);\n } catch (err) {\n const srciError = new SrciError(err as VisaError | MastercardError, 'init', this.schemeName);\n throw srciError;\n }\n }\n\n public async identityLookup({ identityValue, type }: SrcIdentityLookupParams): Promise<SrciIdentityLookupResponse> {\n try {\n const consumerIdentity = {\n identityValue,\n identityType: IdentityTypeMap[type]\n };\n\n const response = await this.schemeSdk.identityLookup({ consumerIdentity });\n return response;\n } catch (err) {\n const srciError = new SrciError(err as VisaError | MastercardError, 'identityLookup', this.schemeName);\n throw srciError;\n }\n }\n\n public async completeIdentityValidation(otp: string): Promise<SrciCompleteIdentityValidationResponse> {\n try {\n const response = await this.schemeSdk.completeIdentityValidation({ validationData: otp });\n return response;\n } catch (err) {\n const srciError = new SrciError(err as VisaError | MastercardError, 'completeIdentityValidation', this.schemeName);\n throw srciError;\n }\n }\n}\n\nexport default MastercardSdk;\n"],"names":["IdentityTypeMap","email","telephoneNumber","MastercardSdk","AbstractSrcInitiator","isSdkIsAvailableOnWindow","window","SRCSDK_MASTERCARD","assignSdkReference","this","schemeSdk","init","params","srciTransactionId","sdkProps","getMastercardSettings","customSdkConfiguration","err","SrciError","schemeName","identityLookup","identityValue","type","consumerIdentity","identityType","completeIdentityValidation","otp","validationData","constructor","environment","customSdkConfig","analytics","super","toLowerCase","includes","MC_SDK_PROD","MC_SDK_TEST"],"mappings":"6JAYA,MAAMA,EAAkB,CACpBC,MAAO,gBACPC,gBAAiB,uBAGrB,MAAMC,UAAsBC,EAOdC,wBAAAA,GAEN,QAAIC,OAAOC,iBAEf,CAEUC,kBAAAA,GAENC,KAAKC,UAAYJ,OAAOC,iBAC5B,CAEA,UAAaI,CAAKC,EAAuBC,GACrC,IACI,MAAMC,EAAW,IACVF,KACAG,EAAsBN,KAAKO,wBAC9BH,2BAEEJ,KAAKC,UAAUC,KAAKG,EAC9B,CAAE,MAAOG,GAEL,MADkB,IAAIC,EAAUD,EAAoC,OAAQR,KAAKU,WAErF,CACJ,CAEA,oBAAaC,EAAeC,cAAEA,EAAaC,KAAEA,IACzC,IACI,MAAMC,EAAmB,CACrBF,gBACAG,aAAcxB,EAAgBsB,IAIlC,aADuBb,KAAKC,UAAUU,eAAe,CAAEG,oBAE3D,CAAE,MAAON,GAEL,MADkB,IAAIC,EAAUD,EAAoC,iBAAkBR,KAAKU,WAE/F,CACJ,CAEA,gCAAaM,CAA2BC,GACpC,IAEI,aADuBjB,KAAKC,UAAUe,2BAA2B,CAAEE,eAAgBD,GAEvF,CAAE,MAAOT,GAEL,MADkB,IAAIC,EAAUD,EAAoC,6BAA8BR,KAAKU,WAE3G,CACJ,CApDA,WAAAS,CAAYC,EAAqBC,EAAyCC,aACtEC,MAAMH,EAAYI,cAAcC,SAAS,QAAUC,EAAcC,EAAaN,EAAiBC,KAHtE,QAAbZ,kBAAhBV,2FAIA"}
@@ -1 +1 @@
1
- {"version":3,"file":"SrcSdkLoader.js","sources":["../../../../../../../src/components/internal/ClickToPay/services/sdks/SrcSdkLoader.ts"],"sourcesContent":["import { ISrcInitiator } from './AbstractSrcInitiator';\nimport VisaSdk from './VisaSdk';\nimport MastercardSdk from './MastercardSdk';\nimport { CustomSdkConfiguration } from './types';\nimport AdyenCheckoutError from '../../../../../core/Errors/AdyenCheckoutError';\nimport { isFulfilled, isRejected } from '../../../../../utils/promise-util';\nimport { AnalyticsModule } from '../../../../../types/global-types';\n\nconst sdkMap: Record<string, typeof VisaSdk | typeof MastercardSdk | null> = {\n visa: VisaSdk,\n mc: MastercardSdk,\n default: null\n};\n\nconst getSchemeSdk = (\n scheme: string,\n environment: string,\n customConfig: CustomSdkConfiguration,\n analytics: AnalyticsModule\n): ISrcInitiator | null => {\n const SchemeSdkClass = sdkMap[scheme] || sdkMap.default;\n return SchemeSdkClass ? new SchemeSdkClass(environment, customConfig, analytics) : null;\n};\n\nexport interface ISrcSdkLoader {\n load(environment: string, analytics: AnalyticsModule): Promise<ISrcInitiator[]>;\n schemes: string[];\n}\n\nclass SrcSdkLoader implements ISrcSdkLoader {\n public readonly schemes: string[];\n\n private readonly customSdkConfiguration: CustomSdkConfiguration;\n\n constructor(schemes: string[], { dpaLocale = 'en_US', dpaPresentationName = '' }) {\n this.schemes = schemes;\n this.customSdkConfiguration = { dpaLocale, dpaPresentationName };\n }\n\n public async load(environment: string, analytics: AnalyticsModule): Promise<ISrcInitiator[]> {\n if (!this.schemes || this.schemes.length === 0) {\n throw new AdyenCheckoutError('ERROR', 'ClickToPay -> SrcSdkLoader: There are no schemes set to be loaded');\n }\n\n return new Promise((resolve, reject) => {\n const sdks: ISrcInitiator[] = this.schemes.map(scheme => getSchemeSdk(scheme, environment, this.customSdkConfiguration, analytics));\n const loadScriptPromises = sdks.map(sdk => sdk.loadSdkScript());\n\n void Promise.allSettled(loadScriptPromises).then(loadScriptResponses => {\n if (loadScriptResponses.every(isRejected)) {\n reject(\n new AdyenCheckoutError('ERROR', `ClickToPay -> SrcSdkLoader # Unable to load network schemes: ${this.schemes.toString()}`)\n );\n }\n\n const sdksLoaded = sdks.filter((sdk, index) => isFulfilled(loadScriptResponses[index]));\n\n resolve(sdksLoaded);\n });\n });\n }\n}\n\nexport default SrcSdkLoader;\n"],"names":["sdkMap","visa","VisaSdk","mc","MastercardSdk","default","SrcSdkLoader","load","environment","analytics","this","schemes","length","AdyenCheckoutError","Promise","resolve","reject","sdks","map","scheme","customConfig","SchemeSdkClass","getSchemeSdk","customSdkConfiguration","loadScriptPromises","sdk","loadSdkScript","allSettled","then","loadScriptResponses","every","isRejected","toString","sdksLoaded","filter","index","isFulfilled","constructor","dpaLocale","dpaPresentationName","_define_property"],"mappings":"yUAQA,MAAMA,EAAuE,CACzEC,KAAMC,EACNC,GAAIC,EACJC,QAAS,MAkBb,MAAMC,EAUF,UAAaC,CAAKC,EAAqBC,GACnC,IAAKC,KAAKC,SAAmC,IAAxBD,KAAKC,QAAQC,OAC9B,MAAM,IAAIC,EAAmB,QAAS,qEAG1C,OAAO,IAAIC,QAAQ,CAACC,EAASC,KACzB,MAAMC,EAAwBP,KAAKC,QAAQO,IAAIC,GA/BtC,EACjBA,EACAX,EACAY,EACAX,KAEA,MAAMY,EAAiBrB,EAAOmB,IAAWnB,EAAOK,QAChD,OAAOgB,EAAiB,IAAIA,EAAeb,EAAaY,EAAcX,GAAa,MAwBlBa,CAAaH,EAAQX,EAAaE,KAAKa,uBAAwBd,IAClHe,EAAqBP,EAAKC,IAAIO,GAAOA,EAAIC,iBAE1CZ,QAAQa,WAAWH,GAAoBI,KAAKC,IACzCA,EAAoBC,MAAMC,IAC1Bf,EACI,IAAIH,EAAmB,QAAS,gEAAgEH,KAAKC,QAAQqB,eAIrH,MAAMC,EAAahB,EAAKiB,OAAO,CAACT,EAAKU,IAAUC,EAAYP,EAAoBM,KAE/EpB,EAAQkB,MAGpB,CA1BA,WAAAI,CAAY1B,GAAmB2B,UAAEA,EAAY,QAAOC,oBAAEA,EAAsB,KAJ5EC,EAAA9B,KAAgBC,eAAhB,GAEA6B,EAAA9B,KAAiBa,8BAAjB,GAGIb,KAAKC,QAAUA,EACfD,KAAKa,uBAAyB,CAAEe,YAAWC,sBAC/C"}
1
+ {"version":3,"file":"SrcSdkLoader.js","sources":["../../../../../../../src/components/internal/ClickToPay/services/sdks/SrcSdkLoader.ts"],"sourcesContent":["import { ISrcInitiator } from './AbstractSrcInitiator';\nimport VisaSdk from './VisaSdk';\nimport MastercardSdk from './MastercardSdk';\nimport { CustomSdkConfiguration } from './types';\nimport AdyenCheckoutError from '../../../../../core/Errors/AdyenCheckoutError';\nimport { isFulfilled, isRejected } from '../../../../../utils/promise-util';\nimport type { IAnalytics } from '../../../../../core/Analytics/Analytics';\n\nconst sdkMap: Record<string, typeof VisaSdk | typeof MastercardSdk | null> = {\n visa: VisaSdk,\n mc: MastercardSdk,\n default: null\n};\n\nconst getSchemeSdk = (scheme: string, environment: string, customConfig: CustomSdkConfiguration, analytics: IAnalytics): ISrcInitiator | null => {\n const SchemeSdkClass = sdkMap[scheme] || sdkMap.default;\n return SchemeSdkClass ? new SchemeSdkClass(environment, customConfig, analytics) : null;\n};\n\nexport interface ISrcSdkLoader {\n load(environment: string, analytics: IAnalytics): Promise<ISrcInitiator[]>;\n schemes: string[];\n}\n\nclass SrcSdkLoader implements ISrcSdkLoader {\n public readonly schemes: string[];\n\n private readonly customSdkConfiguration: CustomSdkConfiguration;\n\n constructor(schemes: string[], { dpaLocale = 'en_US', dpaPresentationName = '' }) {\n this.schemes = schemes;\n this.customSdkConfiguration = { dpaLocale, dpaPresentationName };\n }\n\n public async load(environment: string, analytics: IAnalytics): Promise<ISrcInitiator[]> {\n if (!this.schemes || this.schemes.length === 0) {\n throw new AdyenCheckoutError('ERROR', 'ClickToPay -> SrcSdkLoader: There are no schemes set to be loaded');\n }\n\n return new Promise((resolve, reject) => {\n const sdks: ISrcInitiator[] = this.schemes.map(scheme => getSchemeSdk(scheme, environment, this.customSdkConfiguration, analytics));\n const loadScriptPromises = sdks.map(sdk => sdk.loadSdkScript());\n\n void Promise.allSettled(loadScriptPromises).then(loadScriptResponses => {\n if (loadScriptResponses.every(isRejected)) {\n reject(\n new AdyenCheckoutError('ERROR', `ClickToPay -> SrcSdkLoader # Unable to load network schemes: ${this.schemes.toString()}`)\n );\n }\n\n const sdksLoaded = sdks.filter((sdk, index) => isFulfilled(loadScriptResponses[index]));\n\n resolve(sdksLoaded);\n });\n });\n }\n}\n\nexport default SrcSdkLoader;\n"],"names":["sdkMap","visa","VisaSdk","mc","MastercardSdk","default","SrcSdkLoader","load","environment","analytics","this","schemes","length","AdyenCheckoutError","Promise","resolve","reject","sdks","map","scheme","customConfig","SchemeSdkClass","getSchemeSdk","customSdkConfiguration","loadScriptPromises","sdk","loadSdkScript","allSettled","then","loadScriptResponses","every","isRejected","toString","sdksLoaded","filter","index","isFulfilled","constructor","dpaLocale","dpaPresentationName","_define_property"],"mappings":"yUAQA,MAAMA,EAAuE,CACzEC,KAAMC,EACNC,GAAIC,EACJC,QAAS,MAab,MAAMC,EAUF,UAAaC,CAAKC,EAAqBC,GACnC,IAAKC,KAAKC,SAAmC,IAAxBD,KAAKC,QAAQC,OAC9B,MAAM,IAAIC,EAAmB,QAAS,qEAG1C,OAAO,IAAIC,QAAQ,CAACC,EAASC,KACzB,MAAMC,EAAwBP,KAAKC,QAAQO,IAAIC,GA1BtC,EAACA,EAAgBX,EAAqBY,EAAsCX,KAC7F,MAAMY,EAAiBrB,EAAOmB,IAAWnB,EAAOK,QAChD,OAAOgB,EAAiB,IAAIA,EAAeb,EAAaY,EAAcX,GAAa,MAwBlBa,CAAaH,EAAQX,EAAaE,KAAKa,uBAAwBd,IAClHe,EAAqBP,EAAKC,IAAIO,GAAOA,EAAIC,iBAE1CZ,QAAQa,WAAWH,GAAoBI,KAAKC,IACzCA,EAAoBC,MAAMC,IAC1Bf,EACI,IAAIH,EAAmB,QAAS,gEAAgEH,KAAKC,QAAQqB,eAIrH,MAAMC,EAAahB,EAAKiB,OAAO,CAACT,EAAKU,IAAUC,EAAYP,EAAoBM,KAE/EpB,EAAQkB,MAGpB,CA1BA,WAAAI,CAAY1B,GAAmB2B,UAAEA,EAAY,QAAOC,oBAAEA,EAAsB,KAJ5EC,EAAA9B,KAAgBC,eAAhB,GAEA6B,EAAA9B,KAAiBa,8BAAjB,GAGIb,KAAKC,QAAUA,EACfD,KAAKa,uBAAyB,CAAEe,YAAWC,sBAC/C"}
@@ -1 +1 @@
1
- {"version":3,"file":"VisaSdk.js","sources":["../../../../../../../src/components/internal/ClickToPay/services/sdks/VisaSdk.ts"],"sourcesContent":["import { getVisaSetttings, VISA_SDK_PROD, VISA_SDK_TEST } from './config';\nimport AbstractSrcInitiator from './AbstractSrcInitiator';\nimport SrciError, { MastercardError, VisaError } from './SrciError';\nimport type {\n CustomSdkConfiguration,\n SrciCompleteIdentityValidationResponse,\n SrcIdentityLookupParams,\n SrciIdentityLookupResponse,\n SrcInitParams\n} from './types';\nimport { AnalyticsModule } from '../../../../../types/global-types';\n\nconst IdentityTypeMap = {\n email: 'EMAIL',\n telephoneNumber: 'MOBILE_NUMBER'\n};\n\nclass VisaSdk extends AbstractSrcInitiator {\n public readonly schemeName = 'visa';\n\n constructor(environment: string, customSdkConfig: CustomSdkConfiguration, analytics: AnalyticsModule) {\n super(environment.toLowerCase().includes('live') ? VISA_SDK_PROD : VISA_SDK_TEST, customSdkConfig, analytics);\n }\n\n protected isSdkIsAvailableOnWindow(): boolean {\n // @ts-ignore vAdapters is created by the VISA sdk\n if (window.vAdapters?.VisaSRCI) return true;\n return false;\n }\n\n protected assignSdkReference(): void {\n // @ts-ignore vAdapters is created by the VISA sdk\n this.schemeSdk = new window.vAdapters.VisaSRCI();\n }\n\n public async init(params: SrcInitParams, srciTransactionId: string): Promise<void> {\n try {\n const sdkProps = {\n ...params,\n ...getVisaSetttings(this.customSdkConfiguration),\n srciTransactionId\n };\n\n await this.schemeSdk.init(sdkProps);\n } catch (err) {\n const srciError = new SrciError(err as VisaError | MastercardError, 'init', this.schemeName);\n throw srciError;\n }\n }\n\n public async identityLookup({ identityValue, type }: SrcIdentityLookupParams): Promise<SrciIdentityLookupResponse> {\n try {\n const consumerIdentity = {\n identityValue,\n type: IdentityTypeMap[type]\n };\n\n const response = await this.schemeSdk.identityLookup(consumerIdentity);\n return response;\n } catch (err) {\n const srciError = new SrciError(err as VisaError | MastercardError, 'identityLookup', this.schemeName);\n throw srciError;\n }\n }\n\n public async completeIdentityValidation(otp: string): Promise<SrciCompleteIdentityValidationResponse> {\n try {\n const response = await this.schemeSdk.completeIdentityValidation(otp);\n return response;\n } catch (err: unknown) {\n const srciError = new SrciError(err as VisaError | MastercardError, 'completeIdentityValidation', this.schemeName);\n throw srciError;\n }\n }\n}\n\nexport default VisaSdk;\n"],"names":["IdentityTypeMap","email","telephoneNumber","VisaSdk","AbstractSrcInitiator","isSdkIsAvailableOnWindow","window","vAdapters","VisaSRCI","assignSdkReference","this","schemeSdk","init","params","srciTransactionId","sdkProps","getVisaSetttings","customSdkConfiguration","err","SrciError","schemeName","identityLookup","identityValue","type","consumerIdentity","completeIdentityValidation","otp","constructor","environment","customSdkConfig","analytics","super","toLowerCase","includes","VISA_SDK_PROD","VISA_SDK_TEST"],"mappings":"4JAYA,MAAMA,EAAkB,CACpBC,MAAO,QACPC,gBAAiB,iBAGrB,MAAMC,UAAgBC,EAORC,wBAAAA,GAEN,QAAIC,OAAOC,WAAWC,QAE1B,CAEUC,kBAAAA,GAENC,KAAKC,UAAY,IAAIL,OAAOC,UAAUC,QAC1C,CAEA,UAAaI,CAAKC,EAAuBC,GACrC,IACI,MAAMC,EAAW,IACVF,KACAG,EAAiBN,KAAKO,wBACzBH,2BAGEJ,KAAKC,UAAUC,KAAKG,EAC9B,CAAE,MAAOG,GAEL,MADkB,IAAIC,EAAUD,EAAoC,OAAQR,KAAKU,WAErF,CACJ,CAEA,oBAAaC,EAAeC,cAAEA,EAAaC,KAAEA,IACzC,IACI,MAAMC,EAAmB,CACrBF,gBACAC,KAAMvB,EAAgBuB,IAI1B,aADuBb,KAAKC,UAAUU,eAAeG,EAEzD,CAAE,MAAON,GAEL,MADkB,IAAIC,EAAUD,EAAoC,iBAAkBR,KAAKU,WAE/F,CACJ,CAEA,gCAAaK,CAA2BC,GACpC,IAEI,aADuBhB,KAAKC,UAAUc,2BAA2BC,EAErE,CAAE,MAAOR,GAEL,MADkB,IAAIC,EAAUD,EAAoC,6BAA8BR,KAAKU,WAE3G,CACJ,CArDA,WAAAO,CAAYC,EAAqBC,EAAyCC,aACtEC,MAAMH,EAAYI,cAAcC,SAAS,QAAUC,EAAgBC,EAAeN,EAAiBC,KAH1E,UAAbV,kBAAhBV,2FAIA"}
1
+ {"version":3,"file":"VisaSdk.js","sources":["../../../../../../../src/components/internal/ClickToPay/services/sdks/VisaSdk.ts"],"sourcesContent":["import { getVisaSetttings, VISA_SDK_PROD, VISA_SDK_TEST } from './config';\nimport AbstractSrcInitiator from './AbstractSrcInitiator';\nimport SrciError, { MastercardError, VisaError } from './SrciError';\nimport type {\n CustomSdkConfiguration,\n SrciCompleteIdentityValidationResponse,\n SrcIdentityLookupParams,\n SrciIdentityLookupResponse,\n SrcInitParams\n} from './types';\nimport type { IAnalytics } from '../../../../../core/Analytics/Analytics';\n\nconst IdentityTypeMap = {\n email: 'EMAIL',\n telephoneNumber: 'MOBILE_NUMBER'\n};\n\nclass VisaSdk extends AbstractSrcInitiator {\n public readonly schemeName = 'visa';\n\n constructor(environment: string, customSdkConfig: CustomSdkConfiguration, analytics: IAnalytics) {\n super(environment.toLowerCase().includes('live') ? VISA_SDK_PROD : VISA_SDK_TEST, customSdkConfig, analytics);\n }\n\n protected isSdkIsAvailableOnWindow(): boolean {\n // @ts-ignore vAdapters is created by the VISA sdk\n if (window.vAdapters?.VisaSRCI) return true;\n return false;\n }\n\n protected assignSdkReference(): void {\n // @ts-ignore vAdapters is created by the VISA sdk\n this.schemeSdk = new window.vAdapters.VisaSRCI();\n }\n\n public async init(params: SrcInitParams, srciTransactionId: string): Promise<void> {\n try {\n const sdkProps = {\n ...params,\n ...getVisaSetttings(this.customSdkConfiguration),\n srciTransactionId\n };\n\n await this.schemeSdk.init(sdkProps);\n } catch (err) {\n const srciError = new SrciError(err as VisaError | MastercardError, 'init', this.schemeName);\n throw srciError;\n }\n }\n\n public async identityLookup({ identityValue, type }: SrcIdentityLookupParams): Promise<SrciIdentityLookupResponse> {\n try {\n const consumerIdentity = {\n identityValue,\n type: IdentityTypeMap[type]\n };\n\n const response = await this.schemeSdk.identityLookup(consumerIdentity);\n return response;\n } catch (err) {\n const srciError = new SrciError(err as VisaError | MastercardError, 'identityLookup', this.schemeName);\n throw srciError;\n }\n }\n\n public async completeIdentityValidation(otp: string): Promise<SrciCompleteIdentityValidationResponse> {\n try {\n const response = await this.schemeSdk.completeIdentityValidation(otp);\n return response;\n } catch (err: unknown) {\n const srciError = new SrciError(err as VisaError | MastercardError, 'completeIdentityValidation', this.schemeName);\n throw srciError;\n }\n }\n}\n\nexport default VisaSdk;\n"],"names":["IdentityTypeMap","email","telephoneNumber","VisaSdk","AbstractSrcInitiator","isSdkIsAvailableOnWindow","window","vAdapters","VisaSRCI","assignSdkReference","this","schemeSdk","init","params","srciTransactionId","sdkProps","getVisaSetttings","customSdkConfiguration","err","SrciError","schemeName","identityLookup","identityValue","type","consumerIdentity","completeIdentityValidation","otp","constructor","environment","customSdkConfig","analytics","super","toLowerCase","includes","VISA_SDK_PROD","VISA_SDK_TEST"],"mappings":"4JAYA,MAAMA,EAAkB,CACpBC,MAAO,QACPC,gBAAiB,iBAGrB,MAAMC,UAAgBC,EAORC,wBAAAA,GAEN,QAAIC,OAAOC,WAAWC,QAE1B,CAEUC,kBAAAA,GAENC,KAAKC,UAAY,IAAIL,OAAOC,UAAUC,QAC1C,CAEA,UAAaI,CAAKC,EAAuBC,GACrC,IACI,MAAMC,EAAW,IACVF,KACAG,EAAiBN,KAAKO,wBACzBH,2BAGEJ,KAAKC,UAAUC,KAAKG,EAC9B,CAAE,MAAOG,GAEL,MADkB,IAAIC,EAAUD,EAAoC,OAAQR,KAAKU,WAErF,CACJ,CAEA,oBAAaC,EAAeC,cAAEA,EAAaC,KAAEA,IACzC,IACI,MAAMC,EAAmB,CACrBF,gBACAC,KAAMvB,EAAgBuB,IAI1B,aADuBb,KAAKC,UAAUU,eAAeG,EAEzD,CAAE,MAAON,GAEL,MADkB,IAAIC,EAAUD,EAAoC,iBAAkBR,KAAKU,WAE/F,CACJ,CAEA,gCAAaK,CAA2BC,GACpC,IAEI,aADuBhB,KAAKC,UAAUc,2BAA2BC,EAErE,CAAE,MAAOR,GAEL,MADkB,IAAIC,EAAUD,EAAoC,6BAA8BR,KAAKU,WAE3G,CACJ,CArDA,WAAAO,CAAYC,EAAqBC,EAAyCC,aACtEC,MAAMH,EAAYI,cAAcC,SAAS,QAAUC,EAAgBC,EAAeN,EAAiBC,KAH1E,UAAbV,kBAAhBV,2FAIA"}
@@ -1,2 +1,2 @@
1
- import e from"../../../../_virtual/index.js";import{createElement as a,Fragment as n,toChildArray as t,cloneElement as l}from"../../../../external/preact/dist/preact.js";import i from"../../Spinner/Spinner.js";import o from"../../Icon/Icon.js";import{ARIA_ERROR_SUFFIX as r,ARIA_CONTEXT_SUFFIX as s}from"../../../../core/Errors/constants.js";import{useRef as d,useMemo as c,useState as u,useCallback as m}from"../../../../external/preact/hooks/dist/hooks.js";import{getUniqueId as p}from"../../../../utils/idGenerator.js";import{PREFIX as _}from"../../Icon/constants.js";import h from"../../../../utils/uuid.js";const f=f=>{const{children:k,className:y,classNameModifiers:b,dir:v,disabled:x,readOnly:E,errorMessage:N,helper:F,inputWrapperModifiers:g,isLoading:$,isValid:j,label:w,labelEndAdornment:I,name:L,onBlur:C,onFieldBlur:A,onFocus:M,onFocusField:S,showValidIcon:T,useLabelElement:V,showErrorElement:q,showContextualElement:B,staticValue:H,contextualText:R,filled:W,focused:z,i18n:G,contextVisibleToScreenReader:O,renderAlternativeToLabel:P,onInputContainerClick:D}=f,J=O??!0,K=q&&"string"==typeof N&&N.length>0,Q=B&&!K&&R?.length>0,U=d(p(`adyen-checkout-${L}`)),X=c(()=>H?`input-static-value-${h()}`:null,[H]),[Y,Z]=u(!1),[ee,ae]=u(!1);null!=z&&Z(!!z),null!=W&&ae(!!W);const ne=m(e=>{Z(!0),M?.(e)},[M]),te=m(e=>{Z(!1),C?.(e),A?.(e)},[C,A]),le=m(()=>a(n,null,"string"==typeof w&&a("span",{className:e({"adyen-checkout__label__text":!0,"adyen-checkout__label__text--error":N}),"data-id":L},w),"function"==typeof w&&w(),I&&a("span",{className:"adyen-checkout__label-adornment--end"},I),F&&a("span",{className:"adyen-checkout__helper-text"},F)),[w,N,I,F]),ie=m(()=>{const d=a("span",{className:e({"adyen-checkout-contextual-text--error":!0,"adyen-checkout-contextual-text--hidden":!K}),...J&&{id:`${U.current}${r}`},"aria-hidden":J?null:"true"},N),c=a("span",{className:e({"adyen-checkout-contextual-text":!0,"adyen-checkout-contextual-text--hidden":!Q}),...J&&{id:`${U.current}${s}`},"aria-hidden":J?null:"true"},R);return a(n,null,a("div",{className:e(["adyen-checkout__input-wrapper",...g.map(e=>`adyen-checkout__input-wrapper--${e}`)]),dir:v,onClick:D},H&&a("span",{id:X,className:"adyen-checkout__field-static-value"},H),t(k).map(e=>{const a={isValid:j,onFocusHandler:ne,onBlurHandler:te,isInvalid:!!N,"aria-owns":X,...L&&{uniqueId:U.current},showErrorElement:q};return l(e,a)}),$&&a("span",{className:"adyen-checkout-input__inline-validation adyen-checkout-input__inline-validation--loading"},a(i,{size:"small"})),j&&!1!==T&&a("span",{className:"adyen-checkout-input__inline-validation adyen-checkout-input__inline-validation--valid"},a(o,{type:`${_}checkmark`,alt:G?.get("field.valid")})),N&&a("span",{className:"adyen-checkout-input__inline-validation adyen-checkout-input__inline-validation--invalid"},a(o,{type:`${_}field_error`,alt:G?.get("error.title")}))),d,c)},[k,N,R,$,j,ne,te]),oe=m(({onFocusField:n,focused:t,filled:l,disabled:i,name:o,uniqueId:r,useLabelElement:s,isSecuredField:d,children:c,renderAlternativeToLabel:u})=>{const m={onClick:n,className:e({"adyen-checkout__label":!0,"adyen-checkout__label--focused":t,"adyen-checkout__label--filled":l,"adyen-checkout__label--disabled":i})};return s?a("label",{...m,...!d&&o&&{htmlFor:r}},c):u(m,c,r)},[]);return a("div",{"data-testid":"form-field",className:e("adyen-checkout__field",y,b.map(e=>`adyen-checkout__field--${e}`),{"adyen-checkout__field--error":N,"adyen-checkout__field--valid":j,"adyen-checkout__field--inactive":E||x})},a(oe,{onFocusField:S,name:L,disabled:x,filled:ee,focused:Y,useLabelElement:V,uniqueId:U.current,isSecuredField:!J,renderAlternativeToLabel:P},le()),ie())};f.defaultProps={className:"",classNameModifiers:[],inputWrapperModifiers:[],useLabelElement:!0,showErrorElement:!0,showContextualElement:!0,renderAlternativeToLabel:()=>null};export{f as default};
1
+ import e from"../../../../_virtual/index.js";import{createElement as a,Fragment as n,toChildArray as t,cloneElement as l}from"../../../../external/preact/dist/preact.js";import i from"../../Spinner/Spinner.js";import o from"../../Icon/Icon.js";import{ARIA_ERROR_SUFFIX as r,ARIA_CONTEXT_SUFFIX as s}from"../../../../core/Errors/constants.js";import{useRef as d,useMemo as c,useState as u,useCallback as m}from"../../../../external/preact/hooks/dist/hooks.js";import{getUniqueId as p}from"../../../../utils/idGenerator.js";import{PREFIX as _}from"../../Icon/constants.js";import h from"../../../../utils/uuid.js";const f=f=>{const{children:k,className:y,classNameModifiers:b,dir:v,disabled:x,readOnly:E,errorMessage:N,helper:F,inputWrapperModifiers:g,isLoading:$,isValid:j,label:w,labelEndAdornment:I,name:L,onBlur:C,onFieldBlur:A,onFocus:M,onFocusField:S,showValidIcon:T,useLabelElement:V,showErrorElement:q,showContextualElement:B,staticValue:H,contextualText:R,filled:W,focused:z,i18n:G,contextVisibleToScreenReader:O,renderAlternativeToLabel:P,onInputContainerClick:D}=f,J=O??!0,K=q&&"string"==typeof N&&N.length>0,Q=B&&!K&&R?.length>0,U=d(p(`adyen-checkout-${L}`)),X=c(()=>H?`input-static-value-${h()}`:null,[H]),[Y,Z]=u(!1),[ee,ae]=u(!1);null!=z&&Z(!!z),null!=W&&ae(!!W);const ne=m(e=>{Z(!0),M?.(e)},[M]),te=m(e=>{Z(!1),C?.(e),A?.(e)},[C,A]),le=m(()=>a(n,null,"string"==typeof w&&a("span",{className:e({"adyen-checkout__label__text":!0,"adyen-checkout__label__text--error":N}),"data-id":L,"data-testid":L},w),"function"==typeof w&&w(),I&&a("span",{className:"adyen-checkout__label-adornment--end"},I),F&&a("span",{className:"adyen-checkout__helper-text"},F)),[w,N,I,F]),ie=m(()=>{const d=a("span",{className:e({"adyen-checkout-contextual-text--error":!0,"adyen-checkout-contextual-text--hidden":!K}),...J&&{id:`${U.current}${r}`},"aria-hidden":J?null:"true"},N),c=a("span",{className:e({"adyen-checkout-contextual-text":!0,"adyen-checkout-contextual-text--hidden":!Q}),...J&&{id:`${U.current}${s}`},"aria-hidden":J?null:"true"},R);return a(n,null,a("div",{className:e(["adyen-checkout__input-wrapper",...g.map(e=>`adyen-checkout__input-wrapper--${e}`)]),dir:v,onClick:D},H&&a("span",{id:X,className:"adyen-checkout__field-static-value"},H),t(k).map(e=>{const a={isValid:j,onFocusHandler:ne,onBlurHandler:te,isInvalid:!!N,"aria-owns":X,...L&&{uniqueId:U.current},showErrorElement:q};return l(e,a)}),$&&a("span",{className:"adyen-checkout-input__inline-validation adyen-checkout-input__inline-validation--loading"},a(i,{size:"small"})),j&&!1!==T&&a("span",{className:"adyen-checkout-input__inline-validation adyen-checkout-input__inline-validation--valid"},a(o,{type:`${_}checkmark_black`,alt:G?.get("field.valid")})),N&&a("span",{className:"adyen-checkout-input__inline-validation adyen-checkout-input__inline-validation--invalid"},a(o,{type:`${_}field_error`,alt:G?.get("error.title")}))),d,c)},[k,N,R,$,j,ne,te]),oe=m(({onFocusField:n,focused:t,filled:l,disabled:i,name:o,uniqueId:r,useLabelElement:s,isSecuredField:d,children:c,renderAlternativeToLabel:u})=>{const m={onClick:n,className:e({"adyen-checkout__label":!0,"adyen-checkout__label--focused":t,"adyen-checkout__label--filled":l,"adyen-checkout__label--disabled":i})};return s?a("label",{...m,...!d&&o&&{htmlFor:r}},c):u(m,c,r)},[]);return a("div",{"data-testid":"form-field",className:e("adyen-checkout__field",y,b.map(e=>`adyen-checkout__field--${e}`),{"adyen-checkout__field--error":N,"adyen-checkout__field--valid":j,"adyen-checkout__field--inactive":E||x})},a(oe,{onFocusField:S,name:L,disabled:x,filled:ee,focused:Y,useLabelElement:V,uniqueId:U.current,isSecuredField:!J,renderAlternativeToLabel:P},le()),ie())};f.defaultProps={className:"",classNameModifiers:[],inputWrapperModifiers:[],useLabelElement:!0,showErrorElement:!0,showContextualElement:!0,renderAlternativeToLabel:()=>null};export{f as default};
2
2
  //# sourceMappingURL=Field.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Field.js","sources":["../../../../../../src/components/internal/FormFields/Field/Field.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport { cloneElement, ComponentChild, Fragment, FunctionalComponent, h, toChildArray, VNode } from 'preact';\nimport Spinner from '../../Spinner';\nimport Icon from '../../Icon';\nimport { ARIA_CONTEXT_SUFFIX, ARIA_ERROR_SUFFIX } from '../../../../core/Errors/constants';\nimport { useCallback, useMemo, useRef, useState } from 'preact/hooks';\nimport { getUniqueId } from '../../../../utils/idGenerator';\nimport { FieldProps } from './types';\nimport './Field.scss';\nimport { PREFIX } from '../../Icon/constants';\nimport uuid from '../../../../utils/uuid';\n\nconst Field: FunctionalComponent<FieldProps> = props => {\n const {\n children,\n className,\n classNameModifiers,\n dir,\n disabled,\n readOnly,\n errorMessage,\n helper,\n inputWrapperModifiers,\n isLoading,\n isValid,\n label,\n labelEndAdornment,\n name,\n onBlur,\n onFieldBlur,\n onFocus,\n // onFocusField is a securedField related function that allows a label click to set focus on a securedField (equates to CardInput setFocusOn)\n // TODO should rename it to make its purpose clear => setFocusOnSecuredField\n onFocusField,\n showValidIcon,\n useLabelElement,\n showErrorElement,\n showContextualElement,\n staticValue,\n contextualText,\n // Redeclare prop names to avoid internal clashes\n filled: propsFilled,\n focused: propsFocused,\n i18n,\n contextVisibleToScreenReader,\n renderAlternativeToLabel,\n onInputContainerClick\n } = props;\n\n // Controls whether any error element has an aria-hidden=\"true\" attr (which means it is the error for a securedField)\n // or whether it has an id attr that can be pointed to by an aria-describedby attr on an input element\n const contextVisibleToSR = contextVisibleToScreenReader ?? true;\n const showError = showErrorElement && typeof errorMessage === 'string' && errorMessage.length > 0;\n const showContext = showContextualElement && !showError && contextualText?.length > 0;\n\n const uniqueId = useRef(getUniqueId(`adyen-checkout-${name}`));\n const staticValueId = useMemo(() => (staticValue ? `input-static-value-${uuid()}` : null), [staticValue]);\n\n const [focused, setFocused] = useState(false);\n const [filled, setFilled] = useState(false);\n\n // The means by which focussed/filled is set for securedFields\n if (propsFocused != null) setFocused(!!propsFocused);\n if (propsFilled != null) setFilled(!!propsFilled);\n\n // The means by which focussed/filled is set for other fields - this function is passed down to them and triggered\n const onFocusHandler = useCallback(\n (event: h.JSX.TargetedEvent<HTMLInputElement>) => {\n setFocused(true);\n onFocus?.(event);\n },\n [onFocus]\n );\n\n const onBlurHandler = useCallback(\n (event: h.JSX.TargetedEvent<HTMLInputElement>) => {\n setFocused(false);\n onBlur?.(event);\n // When we also need to fire a specific function when a field blurs // TODO - what is the use case?\n onFieldBlur?.(event);\n },\n [onBlur, onFieldBlur]\n );\n\n const renderLabelOrAlternativeContents = useCallback(() => {\n return (\n <Fragment>\n {typeof label === 'string' && (\n <span\n className={classNames({\n 'adyen-checkout__label__text': true,\n 'adyen-checkout__label__text--error': errorMessage\n })}\n data-id={name}\n >\n {label}\n </span>\n )}\n\n {/*TODO - in what scenario is label a function? */}\n {/*@ts-ignore - function is callable*/}\n {typeof label === 'function' && label()}\n\n {labelEndAdornment && <span className=\"adyen-checkout__label-adornment--end\">{labelEndAdornment}</span>}\n\n {helper && <span className={'adyen-checkout__helper-text'}>{helper}</span>}\n </Fragment>\n );\n }, [label, errorMessage, labelEndAdornment, helper]);\n\n const renderInputRelatedElements = useCallback(() => {\n const errorElem = (\n <span\n className={classNames({ 'adyen-checkout-contextual-text--error': true, 'adyen-checkout-contextual-text--hidden': !showError })}\n {...(contextVisibleToSR && { id: `${uniqueId.current}${ARIA_ERROR_SUFFIX}` })}\n aria-hidden={contextVisibleToSR ? null : 'true'}\n >\n {errorMessage}\n </span>\n );\n const contextualElem = (\n <span\n className={classNames({ 'adyen-checkout-contextual-text': true, 'adyen-checkout-contextual-text--hidden': !showContext })}\n {...(contextVisibleToSR && { id: `${uniqueId.current}${ARIA_CONTEXT_SUFFIX}` })}\n aria-hidden={contextVisibleToSR ? null : 'true'}\n >\n {contextualText}\n </span>\n );\n\n return (\n <Fragment>\n {/* The <div> element has a child <input> element that allows keyboard interaction */}\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions */}\n <div\n className={classNames([\n 'adyen-checkout__input-wrapper',\n ...inputWrapperModifiers.map(m => `adyen-checkout__input-wrapper--${m}`)\n ])}\n dir={dir}\n onClick={onInputContainerClick}\n >\n {staticValue && (\n <span id={staticValueId} className=\"adyen-checkout__field-static-value\">\n {staticValue}\n </span>\n )}\n\n {toChildArray(children).map((child: ComponentChild): ComponentChild => {\n const propsFromFieldComponent = {\n isValid,\n onFocusHandler,\n onBlurHandler,\n isInvalid: !!errorMessage,\n 'aria-owns': staticValueId,\n ...(name && { uniqueId: uniqueId.current }),\n showErrorElement: showErrorElement\n };\n\n return cloneElement(child as VNode, propsFromFieldComponent);\n })}\n\n {isLoading && (\n <span className=\"adyen-checkout-input__inline-validation adyen-checkout-input__inline-validation--loading\">\n <Spinner size=\"small\" />\n </span>\n )}\n\n {isValid && showValidIcon !== false && (\n <span className=\"adyen-checkout-input__inline-validation adyen-checkout-input__inline-validation--valid\">\n <Icon type={`${PREFIX}checkmark`} alt={i18n?.get('field.valid')} />\n </span>\n )}\n\n {errorMessage && (\n <span className=\"adyen-checkout-input__inline-validation adyen-checkout-input__inline-validation--invalid\">\n <Icon type={`${PREFIX}field_error`} alt={i18n?.get('error.title')} />\n </span>\n )}\n </div>\n {errorElem}\n {contextualElem}\n </Fragment>\n );\n }, [children, errorMessage, contextualText, isLoading, isValid, onFocusHandler, onBlurHandler]);\n\n /**\n * Use cases:\n * - Not all form controls want/need a label e.g. many checkboxes describe what they are in their own markup and don't need the wrapping Field to also generate a labelling element\n * - securedFields *can't* have a label (screen-reader's can make the association, over different browser contexts, between the label and the input)\n */\n const LabelOrAlternative = useCallback(\n ({ onFocusField, focused, filled, disabled, name, uniqueId, useLabelElement, isSecuredField, children, renderAlternativeToLabel }) => {\n const defaultWrapperProps = {\n onClick: onFocusField,\n className: classNames({\n 'adyen-checkout__label': true,\n 'adyen-checkout__label--focused': focused,\n 'adyen-checkout__label--filled': filled,\n 'adyen-checkout__label--disabled': disabled\n })\n };\n\n return useLabelElement ? (\n // if we are NOT dealing with the label for a securedField... we can give it a `for` attribute\n <label {...defaultWrapperProps} {...(!isSecuredField && name && { htmlFor: uniqueId })}>\n {children}\n </label>\n ) : (\n renderAlternativeToLabel(defaultWrapperProps, children, uniqueId) // defaults to null\n\n // Example usage:\n // const alternativeLabelContent = (defaultWrapperProps, children, uniqueId) => {\n // return (\n // <div {...defaultWrapperProps} role={'label'} htmlFor={uniqueId}>\n // {children}\n // </div>\n // );\n // };\n // <Field name={'myField'} useLabelElement={false} renderAlternativeToLabel={alternativeLabelContent}>\n );\n },\n []\n );\n\n /**\n * RENDER\n */\n return (\n <div\n data-testid=\"form-field\"\n className={classNames(\n 'adyen-checkout__field',\n className,\n classNameModifiers.map(m => `adyen-checkout__field--${m}`),\n {\n 'adyen-checkout__field--error': errorMessage,\n 'adyen-checkout__field--valid': isValid,\n 'adyen-checkout__field--inactive': readOnly || disabled\n }\n )}\n >\n <LabelOrAlternative\n onFocusField={onFocusField}\n name={name}\n disabled={disabled}\n filled={filled}\n focused={focused}\n useLabelElement={useLabelElement}\n uniqueId={uniqueId.current}\n isSecuredField={!contextVisibleToSR}\n renderAlternativeToLabel={renderAlternativeToLabel}\n >\n {renderLabelOrAlternativeContents()}\n </LabelOrAlternative>\n {renderInputRelatedElements()}\n </div>\n );\n};\n\nField.defaultProps = {\n className: '',\n classNameModifiers: [],\n inputWrapperModifiers: [],\n useLabelElement: true,\n showErrorElement: true,\n showContextualElement: true,\n renderAlternativeToLabel: () => null\n};\n\nexport default Field;\n"],"names":["Field","props","children","className","classNameModifiers","dir","disabled","readOnly","errorMessage","helper","inputWrapperModifiers","isLoading","isValid","label","labelEndAdornment","name","onBlur","onFieldBlur","onFocus","onFocusField","showValidIcon","useLabelElement","showErrorElement","showContextualElement","staticValue","contextualText","filled","propsFilled","focused","propsFocused","i18n","contextVisibleToScreenReader","renderAlternativeToLabel","onInputContainerClick","contextVisibleToSR","showError","length","showContext","uniqueId","useRef","getUniqueId","staticValueId","useMemo","uuid","setFocused","useState","setFilled","onFocusHandler","useCallback","event","onBlurHandler","renderLabelOrAlternativeContents","h","Fragment","span","classNames","data-id","renderInputRelatedElements","errorElem","id","current","ARIA_ERROR_SUFFIX","aria-hidden","contextualElem","ARIA_CONTEXT_SUFFIX","div","map","m","onClick","toChildArray","child","propsFromFieldComponent","isInvalid","cloneElement","Spinner","size","Icon","type","PREFIX","alt","get","LabelOrAlternative","isSecuredField","defaultWrapperProps","htmlFor","data-testid","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"Field.js","sources":["../../../../../../src/components/internal/FormFields/Field/Field.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport { cloneElement, ComponentChild, Fragment, FunctionalComponent, h, toChildArray, VNode } from 'preact';\nimport Spinner from '../../Spinner';\nimport Icon from '../../Icon';\nimport { ARIA_CONTEXT_SUFFIX, ARIA_ERROR_SUFFIX } from '../../../../core/Errors/constants';\nimport { useCallback, useMemo, useRef, useState } from 'preact/hooks';\nimport { getUniqueId } from '../../../../utils/idGenerator';\nimport { FieldProps } from './types';\nimport './Field.scss';\nimport { PREFIX } from '../../Icon/constants';\nimport uuid from '../../../../utils/uuid';\n\nconst Field: FunctionalComponent<FieldProps> = props => {\n const {\n children,\n className,\n classNameModifiers,\n dir,\n disabled,\n readOnly,\n errorMessage,\n helper,\n inputWrapperModifiers,\n isLoading,\n isValid,\n label,\n labelEndAdornment,\n name,\n onBlur,\n onFieldBlur,\n onFocus,\n // onFocusField is a securedField related function that allows a label click to set focus on a securedField (equates to CardInput setFocusOn)\n // TODO should rename it to make its purpose clear => setFocusOnSecuredField\n onFocusField,\n showValidIcon,\n useLabelElement,\n showErrorElement,\n showContextualElement,\n staticValue,\n contextualText,\n // Redeclare prop names to avoid internal clashes\n filled: propsFilled,\n focused: propsFocused,\n i18n,\n contextVisibleToScreenReader,\n renderAlternativeToLabel,\n onInputContainerClick\n } = props;\n\n // Controls whether any error element has an aria-hidden=\"true\" attr (which means it is the error for a securedField)\n // or whether it has an id attr that can be pointed to by an aria-describedby attr on an input element\n const contextVisibleToSR = contextVisibleToScreenReader ?? true;\n const showError = showErrorElement && typeof errorMessage === 'string' && errorMessage.length > 0;\n const showContext = showContextualElement && !showError && contextualText?.length > 0;\n\n const uniqueId = useRef(getUniqueId(`adyen-checkout-${name}`));\n const staticValueId = useMemo(() => (staticValue ? `input-static-value-${uuid()}` : null), [staticValue]);\n\n const [focused, setFocused] = useState(false);\n const [filled, setFilled] = useState(false);\n\n // The means by which focussed/filled is set for securedFields\n if (propsFocused != null) setFocused(!!propsFocused);\n if (propsFilled != null) setFilled(!!propsFilled);\n\n // The means by which focussed/filled is set for other fields - this function is passed down to them and triggered\n const onFocusHandler = useCallback(\n (event: h.JSX.TargetedEvent<HTMLInputElement>) => {\n setFocused(true);\n onFocus?.(event);\n },\n [onFocus]\n );\n\n const onBlurHandler = useCallback(\n (event: h.JSX.TargetedEvent<HTMLInputElement>) => {\n setFocused(false);\n onBlur?.(event);\n // When we also need to fire a specific function when a field blurs // TODO - what is the use case?\n onFieldBlur?.(event);\n },\n [onBlur, onFieldBlur]\n );\n\n const renderLabelOrAlternativeContents = useCallback(() => {\n return (\n <Fragment>\n {typeof label === 'string' && (\n <span\n className={classNames({\n 'adyen-checkout__label__text': true,\n 'adyen-checkout__label__text--error': errorMessage\n })}\n data-id={name}\n data-testid={name}\n >\n {label}\n </span>\n )}\n\n {/*TODO - in what scenario is label a function? */}\n {/*@ts-ignore - function is callable*/}\n {typeof label === 'function' && label()}\n\n {labelEndAdornment && <span className=\"adyen-checkout__label-adornment--end\">{labelEndAdornment}</span>}\n\n {helper && <span className={'adyen-checkout__helper-text'}>{helper}</span>}\n </Fragment>\n );\n }, [label, errorMessage, labelEndAdornment, helper]);\n\n const renderInputRelatedElements = useCallback(() => {\n const errorElem = (\n <span\n className={classNames({ 'adyen-checkout-contextual-text--error': true, 'adyen-checkout-contextual-text--hidden': !showError })}\n {...(contextVisibleToSR && { id: `${uniqueId.current}${ARIA_ERROR_SUFFIX}` })}\n aria-hidden={contextVisibleToSR ? null : 'true'}\n >\n {errorMessage}\n </span>\n );\n const contextualElem = (\n <span\n className={classNames({ 'adyen-checkout-contextual-text': true, 'adyen-checkout-contextual-text--hidden': !showContext })}\n {...(contextVisibleToSR && { id: `${uniqueId.current}${ARIA_CONTEXT_SUFFIX}` })}\n aria-hidden={contextVisibleToSR ? null : 'true'}\n >\n {contextualText}\n </span>\n );\n\n return (\n <Fragment>\n {/* The <div> element has a child <input> element that allows keyboard interaction */}\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions */}\n <div\n className={classNames([\n 'adyen-checkout__input-wrapper',\n ...inputWrapperModifiers.map(m => `adyen-checkout__input-wrapper--${m}`)\n ])}\n dir={dir}\n onClick={onInputContainerClick}\n >\n {staticValue && (\n <span id={staticValueId} className=\"adyen-checkout__field-static-value\">\n {staticValue}\n </span>\n )}\n\n {toChildArray(children).map((child: ComponentChild): ComponentChild => {\n const propsFromFieldComponent = {\n isValid,\n onFocusHandler,\n onBlurHandler,\n isInvalid: !!errorMessage,\n 'aria-owns': staticValueId,\n ...(name && { uniqueId: uniqueId.current }),\n showErrorElement: showErrorElement\n };\n\n return cloneElement(child as VNode, propsFromFieldComponent);\n })}\n\n {isLoading && (\n <span className=\"adyen-checkout-input__inline-validation adyen-checkout-input__inline-validation--loading\">\n <Spinner size=\"small\" />\n </span>\n )}\n\n {isValid && showValidIcon !== false && (\n <span className=\"adyen-checkout-input__inline-validation adyen-checkout-input__inline-validation--valid\">\n <Icon type={`${PREFIX}checkmark_black`} alt={i18n?.get('field.valid')} />\n </span>\n )}\n\n {errorMessage && (\n <span className=\"adyen-checkout-input__inline-validation adyen-checkout-input__inline-validation--invalid\">\n <Icon type={`${PREFIX}field_error`} alt={i18n?.get('error.title')} />\n </span>\n )}\n </div>\n {errorElem}\n {contextualElem}\n </Fragment>\n );\n }, [children, errorMessage, contextualText, isLoading, isValid, onFocusHandler, onBlurHandler]);\n\n /**\n * Use cases:\n * - Not all form controls want/need a label e.g. many checkboxes describe what they are in their own markup and don't need the wrapping Field to also generate a labelling element\n * - securedFields *can't* have a label (screen-reader's can make the association, over different browser contexts, between the label and the input)\n */\n const LabelOrAlternative = useCallback(\n ({ onFocusField, focused, filled, disabled, name, uniqueId, useLabelElement, isSecuredField, children, renderAlternativeToLabel }) => {\n const defaultWrapperProps = {\n onClick: onFocusField,\n className: classNames({\n 'adyen-checkout__label': true,\n 'adyen-checkout__label--focused': focused,\n 'adyen-checkout__label--filled': filled,\n 'adyen-checkout__label--disabled': disabled\n })\n };\n\n return useLabelElement ? (\n // if we are NOT dealing with the label for a securedField... we can give it a `for` attribute\n <label {...defaultWrapperProps} {...(!isSecuredField && name && { htmlFor: uniqueId })}>\n {children}\n </label>\n ) : (\n renderAlternativeToLabel(defaultWrapperProps, children, uniqueId) // defaults to null\n\n // Example usage:\n // const alternativeLabelContent = (defaultWrapperProps, children, uniqueId) => {\n // return (\n // <div {...defaultWrapperProps} role={'label'} htmlFor={uniqueId}>\n // {children}\n // </div>\n // );\n // };\n // <Field name={'myField'} useLabelElement={false} renderAlternativeToLabel={alternativeLabelContent}>\n );\n },\n []\n );\n\n /**\n * RENDER\n */\n return (\n <div\n data-testid=\"form-field\"\n className={classNames(\n 'adyen-checkout__field',\n className,\n classNameModifiers.map(m => `adyen-checkout__field--${m}`),\n {\n 'adyen-checkout__field--error': errorMessage,\n 'adyen-checkout__field--valid': isValid,\n 'adyen-checkout__field--inactive': readOnly || disabled\n }\n )}\n >\n <LabelOrAlternative\n onFocusField={onFocusField}\n name={name}\n disabled={disabled}\n filled={filled}\n focused={focused}\n useLabelElement={useLabelElement}\n uniqueId={uniqueId.current}\n isSecuredField={!contextVisibleToSR}\n renderAlternativeToLabel={renderAlternativeToLabel}\n >\n {renderLabelOrAlternativeContents()}\n </LabelOrAlternative>\n {renderInputRelatedElements()}\n </div>\n );\n};\n\nField.defaultProps = {\n className: '',\n classNameModifiers: [],\n inputWrapperModifiers: [],\n useLabelElement: true,\n showErrorElement: true,\n showContextualElement: true,\n renderAlternativeToLabel: () => null\n};\n\nexport default Field;\n"],"names":["Field","props","children","className","classNameModifiers","dir","disabled","readOnly","errorMessage","helper","inputWrapperModifiers","isLoading","isValid","label","labelEndAdornment","name","onBlur","onFieldBlur","onFocus","onFocusField","showValidIcon","useLabelElement","showErrorElement","showContextualElement","staticValue","contextualText","filled","propsFilled","focused","propsFocused","i18n","contextVisibleToScreenReader","renderAlternativeToLabel","onInputContainerClick","contextVisibleToSR","showError","length","showContext","uniqueId","useRef","getUniqueId","staticValueId","useMemo","uuid","setFocused","useState","setFilled","onFocusHandler","useCallback","event","onBlurHandler","renderLabelOrAlternativeContents","h","Fragment","span","classNames","data-id","data-testid","renderInputRelatedElements","errorElem","id","current","ARIA_ERROR_SUFFIX","aria-hidden","contextualElem","ARIA_CONTEXT_SUFFIX","div","map","m","onClick","toChildArray","child","propsFromFieldComponent","isInvalid","cloneElement","Spinner","size","Icon","type","PREFIX","alt","get","LabelOrAlternative","isSecuredField","defaultWrapperProps","htmlFor","defaultProps"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputBase.js","sources":["../../../../../src/components/internal/FormFields/InputBase.tsx"],"sourcesContent":["import { h, RefCallback } from 'preact';\nimport { useCallback } from 'preact/hooks';\nimport classNames from 'classnames';\nimport { ARIA_CONTEXT_SUFFIX, ARIA_ERROR_SUFFIX } from '../../../core/Errors/constants';\nimport Language from '../../../language';\nimport './FormFields.scss';\n\nexport interface InputBaseProps extends h.JSX.HTMLAttributes {\n classNameModifiers?: string[];\n isInvalid?: boolean;\n isValid?: boolean;\n readonly?: boolean;\n uniqueId?: string;\n disabled?: boolean;\n className?: string;\n placeholder?: string;\n value?: string;\n name?: string;\n checked?: boolean;\n setRef?: RefCallback<HTMLInputElement>;\n trimOnBlur?: boolean;\n i18n?: Language;\n label?: string;\n onBlurHandler?: h.JSX.GenericEventHandler<HTMLInputElement>;\n onFocusHandler?: h.JSX.GenericEventHandler<HTMLInputElement>;\n maxlength?: number | null;\n addContextualElement?: boolean;\n type?: string;\n}\n\nexport default function InputBase({ setRef, ...props }: InputBaseProps) {\n const { autoCorrect, classNameModifiers, isInvalid, isValid, readonly = null, spellCheck, type, uniqueId, disabled } = props;\n const className = props.className;\n\n /**\n * To avoid confusion with misplaced/misdirected onChange handlers - InputBase only accepts onInput, onBlur & onFocus handlers.\n * The first 2 being the means by which we expect useForm--handleChangeFor validation functionality to be applied.\n */\n if (Object.prototype.hasOwnProperty.call(props, 'onChange')) {\n console.error('Error: Form fields that rely on InputBase may not have an onChange property');\n }\n\n const handleInput = useCallback(\n (event: h.JSX.TargetedInputEvent<HTMLInputElement>) => {\n props.onInput(event);\n },\n [props.onInput]\n );\n\n /**\n * Event is fired when a key that produces a character value is pressed down.\n * ENTER keypress also triggers this event.\n *\n * TODO: 'keypress' event is deprecated\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/keypress_event\n */\n const handleKeyPress = useCallback(\n (event: h.JSX.TargetedKeyboardEvent<HTMLInputElement>) => {\n if (props?.onKeyPress) props.onKeyPress(event);\n },\n [props?.onKeyPress]\n );\n\n /**\n * Event is fired when certain keys are pressed (keys that do not output characters):\n * Backspace, Arrow keys, Shift, Ctrl, Command, Option, Esc\n *\n * Exception: ENTER keypress triggers 'onKeyPress' AND 'onKeyUp'\n */\n const handleKeyUp = useCallback(\n (event: h.JSX.TargetedKeyboardEvent<HTMLInputElement>) => {\n if (props?.onKeyUp) props.onKeyUp(event);\n },\n [props?.onKeyUp]\n );\n\n const handleBlur = useCallback(\n (event: h.JSX.TargetedFocusEvent<HTMLInputElement>) => {\n props?.onBlurHandler?.(event); // From Field component\n\n if (props.trimOnBlur) {\n (event.target as HTMLInputElement).value = (event.target as HTMLInputElement).value.trim(); // needed to trim trailing spaces in field (leading spaces can be done via formatting)\n }\n\n props?.onBlur?.(event);\n },\n [props.onBlur, props.onBlurHandler]\n );\n\n const handleFocus = useCallback(\n (event: h.JSX.TargetedEvent<HTMLInputElement>) => {\n props?.onFocusHandler?.(event); // From Field component\n },\n [props.onFocusHandler]\n );\n\n const inputClassNames = classNames(\n 'adyen-checkout__input',\n [`adyen-checkout__input--${type}`],\n className,\n {\n 'adyen-checkout__input--invalid': isInvalid,\n 'adyen-checkout__input--valid': isValid\n },\n classNameModifiers.map(m => `adyen-checkout__input--${m}`)\n );\n\n // Don't spread classNameModifiers etc to input element (it ends up as an attribute on the element itself)\n const { classNameModifiers: cnm, uniqueId: uid, isInvalid: iiv, isValid: iv, addContextualElement: ace, ...newProps } = props;\n\n return (\n <input\n id={uniqueId}\n {...newProps}\n aria-required={newProps.required}\n type={type}\n className={inputClassNames}\n readOnly={readonly}\n spellCheck={spellCheck}\n autoCorrect={autoCorrect}\n aria-describedby={`${uniqueId}${isInvalid ? ARIA_ERROR_SUFFIX : ARIA_CONTEXT_SUFFIX}`}\n aria-invalid={isInvalid}\n onInput={handleInput}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onKeyUp={handleKeyUp}\n onKeyPress={handleKeyPress}\n disabled={disabled}\n ref={setRef}\n />\n );\n}\n\nInputBase.defaultProps = {\n type: 'text',\n classNameModifiers: []\n};\n"],"names":["InputBase","setRef","props","autoCorrect","classNameModifiers","isInvalid","isValid","readonly","spellCheck","type","uniqueId","disabled","className","Object","prototype","hasOwnProperty","call","console","error","handleInput","useCallback","event","onInput","handleKeyPress","onKeyPress","handleKeyUp","onKeyUp","handleBlur","onBlurHandler","trimOnBlur","target","value","trim","onBlur","handleFocus","onFocusHandler","inputClassNames","classNames","map","m","cnm","uid","iiv","iv","addContextualElement","ace","newProps","h","input","id","aria-required","required","readOnly","aria-describedby","ARIA_ERROR_SUFFIX","ARIA_CONTEXT_SUFFIX","aria-invalid","onFocus","ref","defaultProps"],"mappings":"4RA8Be,SAASA,GAAUC,OAAEA,KAAWC,IAC3C,MAAMC,YAAEA,EAAWC,mBAAEA,EAAkBC,UAAEA,EAASC,QAAEA,EAAOC,SAAEA,EAAW,KAAIC,WAAEA,EAAUC,KAAEA,EAAIC,SAAEA,EAAQC,SAAEA,GAAaT,EACjHU,EAAYV,EAAMU,UAMpBC,OAAOC,UAAUC,eAAeC,KAAKd,EAAO,aAC5Ce,QAAQC,MAAM,+EAGlB,MAAMC,EAAcC,EACfC,IACGnB,EAAMoB,QAAQD,IAElB,CAACnB,EAAMoB,UAULC,EAAiBH,EAClBC,IACOnB,GAAOsB,YAAYtB,EAAMsB,WAAWH,IAE5C,CAACnB,GAAOsB,aASNC,EAAcL,EACfC,IACOnB,GAAOwB,SAASxB,EAAMwB,QAAQL,IAEtC,CAACnB,GAAOwB,UAGNC,EAAaP,EACdC,IACGnB,GAAO0B,gBAAgBP,GAEnBnB,EAAM2B,aACLR,EAAMS,OAA4BC,MAAQV,EAAOS,OAA4BC,MAAMC,QAGxF9B,GAAO+B,SAASZ,IAEpB,CAACnB,EAAM+B,OAAQ/B,EAAM0B,gBAGnBM,EAAcd,EACfC,IACGnB,GAAOiC,iBAAiBd,IAE5B,CAACnB,EAAMiC,iBAGLC,EAAkBC,EACpB,wBACA,CAAC,0BAA0B5B,KAC3BG,EACA,CACI,iCAAkCP,EAClC,+BAAgCC,GAEpCF,EAAmBkC,IAAIC,GAAK,0BAA0BA,OAIlDnC,mBAAoBoC,EAAK9B,SAAU+B,EAAKpC,UAAWqC,EAAKpC,QAASqC,EAAIC,qBAAsBC,KAAQC,GAAa5C,EAExH,OACI6C,EAACC,QAAAA,CACGC,GAAIvC,KACAoC,EACJI,gBAAeJ,EAASK,SACxB1C,KAAMA,EACNG,UAAWwB,EACXgB,SAAU7C,EACVC,WAAYA,EACZL,YAAaA,EACbkD,mBAAkB,GAAG3C,IAAWL,EAAYiD,EAAoBC,IAChEC,eAAcnD,EACdiB,QAASH,EACTc,OAAQN,EACR8B,QAASvB,EACTR,QAASD,EACTD,WAAYD,EACZZ,SAAUA,EACV+C,IAAKzD,GAGjB,CAEAD,EAAU2D,aAAe,CACrBlD,KAAM,OACNL,mBAAoB"}
1
+ {"version":3,"file":"InputBase.js","sources":["../../../../../src/components/internal/FormFields/InputBase.tsx"],"sourcesContent":["import { h, RefCallback } from 'preact';\nimport { useCallback } from 'preact/hooks';\nimport classNames from 'classnames';\nimport { ARIA_CONTEXT_SUFFIX, ARIA_ERROR_SUFFIX } from '../../../core/Errors/constants';\nimport Language from '../../../language';\nimport './FormFields.scss';\n\nexport interface InputBaseProps extends h.JSX.HTMLAttributes<HTMLInputElement> {\n classNameModifiers?: string[];\n isInvalid?: boolean;\n isValid?: boolean;\n readonly?: boolean;\n uniqueId?: string;\n disabled?: boolean;\n className?: string;\n placeholder?: string;\n value?: string;\n name?: string;\n checked?: boolean;\n setRef?: RefCallback<HTMLInputElement>;\n trimOnBlur?: boolean;\n i18n?: Language;\n label?: string;\n onBlurHandler?: h.JSX.GenericEventHandler<HTMLInputElement>;\n onFocusHandler?: h.JSX.GenericEventHandler<HTMLInputElement>;\n maxlength?: number | null;\n addContextualElement?: boolean;\n type?: string;\n}\n\nexport default function InputBase({ setRef, ...props }: InputBaseProps) {\n const { autoCorrect, classNameModifiers, isInvalid, isValid, readonly = null, spellCheck, type, uniqueId, disabled } = props;\n const className = props.className;\n\n /**\n * To avoid confusion with misplaced/misdirected onChange handlers - InputBase only accepts onInput, onBlur & onFocus handlers.\n * The first 2 being the means by which we expect useForm--handleChangeFor validation functionality to be applied.\n */\n if (Object.prototype.hasOwnProperty.call(props, 'onChange')) {\n console.error('Error: Form fields that rely on InputBase may not have an onChange property');\n }\n\n const handleInput = useCallback(\n (event: h.JSX.TargetedInputEvent<HTMLInputElement>) => {\n props.onInput(event);\n },\n [props.onInput]\n );\n\n /**\n * Event is fired when a key that produces a character value is pressed down.\n * ENTER keypress also triggers this event.\n *\n * TODO: 'keypress' event is deprecated\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/keypress_event\n */\n const handleKeyPress = useCallback(\n (event: h.JSX.TargetedKeyboardEvent<HTMLInputElement>) => {\n if (props?.onKeyPress) props.onKeyPress(event);\n },\n [props?.onKeyPress]\n );\n\n /**\n * Event is fired when certain keys are pressed (keys that do not output characters):\n * Backspace, Arrow keys, Shift, Ctrl, Command, Option, Esc\n *\n * Exception: ENTER keypress triggers 'onKeyPress' AND 'onKeyUp'\n */\n const handleKeyUp = useCallback(\n (event: h.JSX.TargetedKeyboardEvent<HTMLInputElement>) => {\n if (props?.onKeyUp) props.onKeyUp(event);\n },\n [props?.onKeyUp]\n );\n\n const handleBlur = useCallback(\n (event: h.JSX.TargetedFocusEvent<HTMLInputElement>) => {\n props?.onBlurHandler?.(event); // From Field component\n\n if (props.trimOnBlur) {\n (event.target as HTMLInputElement).value = (event.target as HTMLInputElement).value.trim(); // needed to trim trailing spaces in field (leading spaces can be done via formatting)\n }\n\n props?.onBlur?.(event);\n },\n [props.onBlur, props.onBlurHandler]\n );\n\n const handleFocus = useCallback(\n (event: h.JSX.TargetedEvent<HTMLInputElement>) => {\n props?.onFocusHandler?.(event); // From Field component\n },\n [props.onFocusHandler]\n );\n\n const inputClassNames = classNames(\n 'adyen-checkout__input',\n [`adyen-checkout__input--${type}`],\n className,\n {\n 'adyen-checkout__input--invalid': isInvalid,\n 'adyen-checkout__input--valid': isValid\n },\n classNameModifiers.map(m => `adyen-checkout__input--${m}`)\n );\n\n // Don't spread classNameModifiers etc to input element (it ends up as an attribute on the element itself)\n const { classNameModifiers: cnm, uniqueId: uid, isInvalid: iiv, isValid: iv, addContextualElement: ace, ...newProps } = props;\n\n return (\n <input\n id={uniqueId}\n {...newProps}\n aria-required={newProps.required}\n type={type}\n className={inputClassNames}\n readOnly={readonly}\n spellCheck={spellCheck}\n autoCorrect={autoCorrect}\n aria-describedby={`${uniqueId}${isInvalid ? ARIA_ERROR_SUFFIX : ARIA_CONTEXT_SUFFIX}`}\n aria-invalid={isInvalid}\n onInput={handleInput}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onKeyUp={handleKeyUp}\n onKeyPress={handleKeyPress}\n disabled={disabled}\n ref={setRef}\n />\n );\n}\n\nInputBase.defaultProps = {\n type: 'text',\n classNameModifiers: []\n};\n"],"names":["InputBase","setRef","props","autoCorrect","classNameModifiers","isInvalid","isValid","readonly","spellCheck","type","uniqueId","disabled","className","Object","prototype","hasOwnProperty","call","console","error","handleInput","useCallback","event","onInput","handleKeyPress","onKeyPress","handleKeyUp","onKeyUp","handleBlur","onBlurHandler","trimOnBlur","target","value","trim","onBlur","handleFocus","onFocusHandler","inputClassNames","classNames","map","m","cnm","uid","iiv","iv","addContextualElement","ace","newProps","h","input","id","aria-required","required","readOnly","aria-describedby","ARIA_ERROR_SUFFIX","ARIA_CONTEXT_SUFFIX","aria-invalid","onFocus","ref","defaultProps"],"mappings":"4RA8Be,SAASA,GAAUC,OAAEA,KAAWC,IAC3C,MAAMC,YAAEA,EAAWC,mBAAEA,EAAkBC,UAAEA,EAASC,QAAEA,EAAOC,SAAEA,EAAW,KAAIC,WAAEA,EAAUC,KAAEA,EAAIC,SAAEA,EAAQC,SAAEA,GAAaT,EACjHU,EAAYV,EAAMU,UAMpBC,OAAOC,UAAUC,eAAeC,KAAKd,EAAO,aAC5Ce,QAAQC,MAAM,+EAGlB,MAAMC,EAAcC,EACfC,IACGnB,EAAMoB,QAAQD,IAElB,CAACnB,EAAMoB,UAULC,EAAiBH,EAClBC,IACOnB,GAAOsB,YAAYtB,EAAMsB,WAAWH,IAE5C,CAACnB,GAAOsB,aASNC,EAAcL,EACfC,IACOnB,GAAOwB,SAASxB,EAAMwB,QAAQL,IAEtC,CAACnB,GAAOwB,UAGNC,EAAaP,EACdC,IACGnB,GAAO0B,gBAAgBP,GAEnBnB,EAAM2B,aACLR,EAAMS,OAA4BC,MAAQV,EAAOS,OAA4BC,MAAMC,QAGxF9B,GAAO+B,SAASZ,IAEpB,CAACnB,EAAM+B,OAAQ/B,EAAM0B,gBAGnBM,EAAcd,EACfC,IACGnB,GAAOiC,iBAAiBd,IAE5B,CAACnB,EAAMiC,iBAGLC,EAAkBC,EACpB,wBACA,CAAC,0BAA0B5B,KAC3BG,EACA,CACI,iCAAkCP,EAClC,+BAAgCC,GAEpCF,EAAmBkC,IAAIC,GAAK,0BAA0BA,OAIlDnC,mBAAoBoC,EAAK9B,SAAU+B,EAAKpC,UAAWqC,EAAKpC,QAASqC,EAAIC,qBAAsBC,KAAQC,GAAa5C,EAExH,OACI6C,EAACC,QAAAA,CACGC,GAAIvC,KACAoC,EACJI,gBAAeJ,EAASK,SACxB1C,KAAMA,EACNG,UAAWwB,EACXgB,SAAU7C,EACVC,WAAYA,EACZL,YAAaA,EACbkD,mBAAkB,GAAG3C,IAAWL,EAAYiD,EAAoBC,IAChEC,eAAcnD,EACdiB,QAASH,EACTc,OAAQN,EACR8B,QAASvB,EACTR,QAASD,EACTD,WAAYD,EACZZ,SAAUA,EACV+C,IAAKzD,GAGjB,CAEAD,EAAU2D,aAAe,CACrBlD,KAAM,OACNL,mBAAoB"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../../external/preact/dist/preact.js";import a from"../../../../_virtual/index.js";import{getUniqueId as o}from"../../../../utils/idGenerator.js";import{useCoreContext as i}from"../../../../core/Context/CoreProvider.js";import t from"./RadioButtonIcon.js";import n from"../../Icon/Icon.js";import{PREFIX as r}from"../../Icon/constants.js";function d(d){const{items:c,name:l,onChange:_,value:s,isInvalid:u,uniqueId:p,ariaLabel:m,showRadioIcon:h=!1,showSelectedTick:g=!1,style:k="button"}=d,{i18n:y}=i(),v=p?.replace(/[0-9]/g,"").substring(0,p.lastIndexOf("-"));let f="";u&&(f=h?"adyen-checkout__radio_group__label--invalid":"adyen-checkout__radio_group__label--no-radio--invalid");const b=a(["adyen-checkout__label__text",h?"adyen-checkout__radio_group__label":"adyen-checkout__radio_group__label--no-radio",d.className,f]);return e("div",{className:a(["adyen-checkout__radio_group",`adyen-checkout__radio_group--${k}`]),role:"radiogroup",...m&&{"aria-label":m}},c.map(i=>{const d=o(v);return e("div",{key:i.id,className:"adyen-checkout__radio_group__input-wrapper adyen-checkout__field--50"},e("input",{id:d,type:"radio",checked:s===i.id,className:"adyen-checkout__radio_group__input",name:l,onChange:_,value:i.id}),e("label",{className:b,htmlFor:d},e("div",{className:"adyen-checkout__radio_group-extended__label-wrapper"},e(t,{key:i.id,imageURL:i.imageURL,altName:i.altName,dataValue:i.id,showRadioIcon:h}),e("span",{className:"adyen-checkout__radio_group-extended__label"},y.get(i.name)),g&&e("span",{className:a({"adyen-checkout-input__inline-validation":!0,"adyen-checkout-input__inline-validation--valid":s===i.id})},e(n,{type:`${r}checkmark`,alt:y?.get("field.valid")})))))}))}d.defaultProps={onChange:()=>{},items:[]};export{d as default};
1
+ import{createElement as e}from"../../../../external/preact/dist/preact.js";import a from"../../../../_virtual/index.js";import{getUniqueId as o}from"../../../../utils/idGenerator.js";import{useCoreContext as i}from"../../../../core/Context/CoreProvider.js";import t from"./RadioButtonIcon.js";import n from"../../Icon/Icon.js";import{PREFIX as r}from"../../Icon/constants.js";function d(d){const{items:c,name:l,onChange:_,value:s,isInvalid:u,uniqueId:p,ariaLabel:m,showRadioIcon:h=!1,showSelectedTick:k=!1,style:g="button"}=d,{i18n:y}=i(),v=p?.replace(/[0-9]/g,"").substring(0,p.lastIndexOf("-"));let b="";u&&(b=h?"adyen-checkout__radio_group__label--invalid":"adyen-checkout__radio_group__label--no-radio--invalid");const f=a(["adyen-checkout__label__text",h?"adyen-checkout__radio_group__label":"adyen-checkout__radio_group__label--no-radio",d.className,b]);return e("div",{className:a(["adyen-checkout__radio_group",`adyen-checkout__radio_group--${g}`]),role:"radiogroup",...m&&{"aria-label":m}},c.map(i=>{const d=o(v);return e("div",{key:i.id,className:"adyen-checkout__radio_group__input-wrapper adyen-checkout__field--50"},e("input",{id:d,type:"radio",checked:s===i.id,className:"adyen-checkout__radio_group__input",name:l,onChange:_,value:i.id}),e("label",{className:f,htmlFor:d},e("div",{className:"adyen-checkout__radio_group-extended__label-wrapper"},e(t,{key:i.id,imageURL:i.imageURL,altName:i.altName,dataValue:i.id,showRadioIcon:h}),e("span",{className:"adyen-checkout__radio_group-extended__label"},y.get(i.name)),k&&e("span",{className:a({"adyen-checkout-input__inline-validation":!0,"adyen-checkout-input__inline-validation--valid":s===i.id})},e(n,{type:`${r}checkmark_black`,alt:y?.get("field.valid")})))))}))}d.defaultProps={onChange:()=>{},items:[]};export{d as default};
2
2
  //# sourceMappingURL=RadioGroupExtended.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroupExtended.js","sources":["../../../../../../src/components/internal/FormFields/RadioGroupExtended/RadioGroupExtended.tsx"],"sourcesContent":["import { h } from 'preact';\nimport cx from 'classnames';\nimport { RadioGroupExtendedProps } from './types';\nimport { getUniqueId } from '../../../../utils/idGenerator';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport RadioButtonIcon from './RadioButtonIcon';\nimport Icon from '../../Icon';\nimport { PREFIX } from '../../Icon/constants';\nimport './RadioGroupExtended.scss';\nimport '../RadioGroup/RadioGroup.scss';\n\nexport default function RadioGroupExtended(props: RadioGroupExtendedProps) {\n const { items, name, onChange, value, isInvalid, uniqueId, ariaLabel, showRadioIcon = false, showSelectedTick = false, style = 'button' } = props;\n\n const { i18n } = useCoreContext();\n const uniqueIdBase = uniqueId?.replace(/[0-9]/g, '').substring(0, uniqueId.lastIndexOf('-'));\n\n let invalidClassName = '';\n if (isInvalid) {\n invalidClassName = showRadioIcon ? 'adyen-checkout__radio_group__label--invalid' : 'adyen-checkout__radio_group__label--no-radio--invalid';\n }\n\n const fieldClassnames = cx([\n 'adyen-checkout__label__text',\n showRadioIcon ? 'adyen-checkout__radio_group__label' : 'adyen-checkout__radio_group__label--no-radio',\n props.className,\n invalidClassName\n ]);\n\n return (\n <div\n className={cx(['adyen-checkout__radio_group', `adyen-checkout__radio_group--${style}`])}\n role={'radiogroup'}\n {...(ariaLabel && { ['aria-label']: ariaLabel })}\n >\n {items.map(item => {\n const uniqueId = getUniqueId(uniqueIdBase);\n\n return (\n <div key={item.id} className=\"adyen-checkout__radio_group__input-wrapper adyen-checkout__field--50\">\n <input\n id={uniqueId}\n type={'radio'}\n checked={value === item.id}\n className=\"adyen-checkout__radio_group__input\"\n name={name}\n onChange={onChange}\n value={item.id}\n />\n\n <label className={fieldClassnames} htmlFor={uniqueId}>\n <div className={'adyen-checkout__radio_group-extended__label-wrapper'}>\n <RadioButtonIcon\n key={item.id}\n imageURL={item.imageURL}\n altName={item.altName}\n dataValue={item.id}\n showRadioIcon={showRadioIcon}\n />\n <span className={'adyen-checkout__radio_group-extended__label'}>{i18n.get(item.name)}</span>\n {showSelectedTick && (\n <span\n className={cx({\n 'adyen-checkout-input__inline-validation': true,\n 'adyen-checkout-input__inline-validation--valid': value === item.id\n })}\n >\n <Icon type={`${PREFIX}checkmark`} alt={i18n?.get('field.valid')} />\n </span>\n )}\n </div>\n </label>\n </div>\n );\n })}\n </div>\n );\n}\n\nRadioGroupExtended.defaultProps = {\n onChange: () => {},\n items: []\n};\n"],"names":["RadioGroupExtended","props","items","name","onChange","value","isInvalid","uniqueId","ariaLabel","showRadioIcon","showSelectedTick","style","i18n","useCoreContext","uniqueIdBase","replace","substring","lastIndexOf","invalidClassName","fieldClassnames","cx","className","h","div","role","map","item","getUniqueId","key","id","input","type","checked","label","htmlFor","RadioButtonIcon","imageURL","altName","dataValue","span","get","Icon","PREFIX","alt","defaultProps"],"mappings":"wXAWe,SAASA,EAAmBC,GACvC,MAAMC,MAAEA,EAAKC,KAAEA,EAAIC,SAAEA,EAAQC,MAAEA,EAAKC,UAAEA,EAASC,SAAEA,EAAQC,UAAEA,EAASC,cAAEA,GAAgB,EAAKC,iBAAEA,GAAmB,EAAKC,MAAEA,EAAQ,UAAaV,GAEtIW,KAAEA,GAASC,IACXC,EAAeP,GAAUQ,QAAQ,SAAU,IAAIC,UAAU,EAAGT,EAASU,YAAY,MAEvF,IAAIC,EAAmB,GACnBZ,IACAY,EAAmBT,EAAgB,8CAAgD,yDAGvF,MAAMU,EAAkBC,EAAG,CACvB,8BACAX,EAAgB,qCAAuC,+CACvDR,EAAMoB,UACNH,IAGJ,OACII,EAACC,MAAAA,CACGF,UAAWD,EAAG,CAAC,8BAA+B,gCAAgCT,MAC9Ea,KAAM,gBACDhB,GAAa,CAAE,aAAgBA,IAEnCN,EAAMuB,IAAIC,IACP,MAAMnB,EAAWoB,EAAYb,GAE7B,OACIQ,EAACC,MAAAA,CAAIK,IAAKF,EAAKG,GAAIR,UAAU,wEACzBC,EAACQ,QAAAA,CACGD,GAAItB,EACJwB,KAAM,QACNC,QAAS3B,IAAUqB,EAAKG,GACxBR,UAAU,qCACVlB,KAAMA,EACNC,SAAUA,EACVC,MAAOqB,EAAKG,KAGhBP,EAACW,QAAAA,CAAMZ,UAAWF,EAAiBe,QAAS3B,GACxCe,EAACC,MAAAA,CAAIF,UAAW,uDACZC,EAACa,EAAAA,CACGP,IAAKF,EAAKG,GACVO,SAAUV,EAAKU,SACfC,QAASX,EAAKW,QACdC,UAAWZ,EAAKG,GAChBpB,cAAeA,IAEnBa,EAACiB,OAAAA,CAAKlB,UAAW,+CAAgDT,EAAK4B,IAAId,EAAKvB,OAC9EO,GACGY,EAACiB,OAAAA,CACGlB,UAAWD,EAAG,CACV,2CAA2C,EAC3C,iDAAkDf,IAAUqB,EAAKG,MAGrEP,EAACmB,EAAAA,CAAKV,KAAM,GAAGW,aAAmBC,IAAK/B,GAAM4B,IAAI,uBAUzF,CAEAxC,EAAmB4C,aAAe,CAC9BxC,SAAU,OACVF,MAAO"}
1
+ {"version":3,"file":"RadioGroupExtended.js","sources":["../../../../../../src/components/internal/FormFields/RadioGroupExtended/RadioGroupExtended.tsx"],"sourcesContent":["import { h } from 'preact';\nimport cx from 'classnames';\nimport { RadioGroupExtendedProps } from './types';\nimport { getUniqueId } from '../../../../utils/idGenerator';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport RadioButtonIcon from './RadioButtonIcon';\nimport Icon from '../../Icon';\nimport { PREFIX } from '../../Icon/constants';\nimport './RadioGroupExtended.scss';\nimport '../RadioGroup/RadioGroup.scss';\n\nexport default function RadioGroupExtended(props: RadioGroupExtendedProps) {\n const { items, name, onChange, value, isInvalid, uniqueId, ariaLabel, showRadioIcon = false, showSelectedTick = false, style = 'button' } = props;\n\n const { i18n } = useCoreContext();\n const uniqueIdBase = uniqueId?.replace(/[0-9]/g, '').substring(0, uniqueId.lastIndexOf('-'));\n\n let invalidClassName = '';\n if (isInvalid) {\n invalidClassName = showRadioIcon ? 'adyen-checkout__radio_group__label--invalid' : 'adyen-checkout__radio_group__label--no-radio--invalid';\n }\n\n const fieldClassnames = cx([\n 'adyen-checkout__label__text',\n showRadioIcon ? 'adyen-checkout__radio_group__label' : 'adyen-checkout__radio_group__label--no-radio',\n props.className,\n invalidClassName\n ]);\n\n return (\n <div\n className={cx(['adyen-checkout__radio_group', `adyen-checkout__radio_group--${style}`])}\n role={'radiogroup'}\n {...(ariaLabel && { ['aria-label']: ariaLabel })}\n >\n {items.map(item => {\n const uniqueId = getUniqueId(uniqueIdBase);\n\n return (\n <div key={item.id} className=\"adyen-checkout__radio_group__input-wrapper adyen-checkout__field--50\">\n <input\n id={uniqueId}\n type={'radio'}\n checked={value === item.id}\n className=\"adyen-checkout__radio_group__input\"\n name={name}\n onChange={onChange}\n value={item.id}\n />\n\n <label className={fieldClassnames} htmlFor={uniqueId}>\n <div className={'adyen-checkout__radio_group-extended__label-wrapper'}>\n <RadioButtonIcon\n key={item.id}\n imageURL={item.imageURL}\n altName={item.altName}\n dataValue={item.id}\n showRadioIcon={showRadioIcon}\n />\n <span className={'adyen-checkout__radio_group-extended__label'}>{i18n.get(item.name)}</span>\n {showSelectedTick && (\n <span\n className={cx({\n 'adyen-checkout-input__inline-validation': true,\n 'adyen-checkout-input__inline-validation--valid': value === item.id\n })}\n >\n <Icon type={`${PREFIX}checkmark_black`} alt={i18n?.get('field.valid')} />\n </span>\n )}\n </div>\n </label>\n </div>\n );\n })}\n </div>\n );\n}\n\nRadioGroupExtended.defaultProps = {\n onChange: () => {},\n items: []\n};\n"],"names":["RadioGroupExtended","props","items","name","onChange","value","isInvalid","uniqueId","ariaLabel","showRadioIcon","showSelectedTick","style","i18n","useCoreContext","uniqueIdBase","replace","substring","lastIndexOf","invalidClassName","fieldClassnames","cx","className","h","div","role","map","item","getUniqueId","key","id","input","type","checked","label","htmlFor","RadioButtonIcon","imageURL","altName","dataValue","span","get","Icon","PREFIX","alt","defaultProps"],"mappings":"wXAWe,SAASA,EAAmBC,GACvC,MAAMC,MAAEA,EAAKC,KAAEA,EAAIC,SAAEA,EAAQC,MAAEA,EAAKC,UAAEA,EAASC,SAAEA,EAAQC,UAAEA,EAASC,cAAEA,GAAgB,EAAKC,iBAAEA,GAAmB,EAAKC,MAAEA,EAAQ,UAAaV,GAEtIW,KAAEA,GAASC,IACXC,EAAeP,GAAUQ,QAAQ,SAAU,IAAIC,UAAU,EAAGT,EAASU,YAAY,MAEvF,IAAIC,EAAmB,GACnBZ,IACAY,EAAmBT,EAAgB,8CAAgD,yDAGvF,MAAMU,EAAkBC,EAAG,CACvB,8BACAX,EAAgB,qCAAuC,+CACvDR,EAAMoB,UACNH,IAGJ,OACII,EAACC,MAAAA,CACGF,UAAWD,EAAG,CAAC,8BAA+B,gCAAgCT,MAC9Ea,KAAM,gBACDhB,GAAa,CAAE,aAAgBA,IAEnCN,EAAMuB,IAAIC,IACP,MAAMnB,EAAWoB,EAAYb,GAE7B,OACIQ,EAACC,MAAAA,CAAIK,IAAKF,EAAKG,GAAIR,UAAU,wEACzBC,EAACQ,QAAAA,CACGD,GAAItB,EACJwB,KAAM,QACNC,QAAS3B,IAAUqB,EAAKG,GACxBR,UAAU,qCACVlB,KAAMA,EACNC,SAAUA,EACVC,MAAOqB,EAAKG,KAGhBP,EAACW,QAAAA,CAAMZ,UAAWF,EAAiBe,QAAS3B,GACxCe,EAACC,MAAAA,CAAIF,UAAW,uDACZC,EAACa,EAAAA,CACGP,IAAKF,EAAKG,GACVO,SAAUV,EAAKU,SACfC,QAASX,EAAKW,QACdC,UAAWZ,EAAKG,GAChBpB,cAAeA,IAEnBa,EAACiB,OAAAA,CAAKlB,UAAW,+CAAgDT,EAAK4B,IAAId,EAAKvB,OAC9EO,GACGY,EAACiB,OAAAA,CACGlB,UAAWD,EAAG,CACV,2CAA2C,EAC3C,iDAAkDf,IAAUqB,EAAKG,MAGrEP,EAACmB,EAAAA,CAAKV,KAAM,GAAGW,mBAAyBC,IAAK/B,GAAM4B,IAAI,uBAU/F,CAEAxC,EAAmB4C,aAAe,CAC9BxC,SAAU,OACVF,MAAO"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../../../external/preact/dist/preact.js";import t from"../../../../../_virtual/index.js";import a from"../../../Img/Img.js";import o from"../../../Icon/Icon.js";import{PREFIX as d}from"../../../Icon/constants.js";const n=({item:n,active:c,selected:s,...r})=>e("li",{"aria-disabled":!!n.disabled,"aria-selected":s,className:t(["adyen-checkout__dropdown__element",{"adyen-checkout__dropdown__element--active":c,"adyen-checkout__dropdown__element--disabled":!!n.disabled}]),"data-disabled":!0===n.disabled||null,"data-value":n.id,onClick:r.onSelect,onMouseEnter:r.onHover,role:"option",id:`listItem-${n.id}`},n.icon&&e(a,{className:"adyen-checkout__dropdown__element__icon",alt:n.name,src:n.icon}),e("span",{className:"adyen-checkout__dropdown__element__text"},n.name),n.secondaryText&&e("span",{className:"adyen-checkout__dropdown__element__secondary-text"},n.secondaryText),s&&e(o,{type:`${d}checkmark`,height:14,width:14}));export{n as default};
1
+ import{createElement as e}from"../../../../../external/preact/dist/preact.js";import t from"../../../../../_virtual/index.js";import a from"../../../Img/Img.js";import o from"../../../Icon/Icon.js";import{PREFIX as d}from"../../../Icon/constants.js";const n=({item:n,active:c,selected:s,...l})=>e("li",{"aria-disabled":!!n.disabled,"aria-selected":s,className:t(["adyen-checkout__dropdown__element",{"adyen-checkout__dropdown__element--active":c,"adyen-checkout__dropdown__element--disabled":!!n.disabled}]),"data-disabled":!0===n.disabled||null,"data-value":n.id,onClick:l.onSelect,onMouseEnter:l.onHover,role:"option",id:`listItem-${n.id}`},n.icon&&e(a,{className:"adyen-checkout__dropdown__element__icon",alt:n.name,src:n.icon}),e("span",{className:"adyen-checkout__dropdown__element__text"},n.name),n.secondaryText&&e("span",{className:"adyen-checkout__dropdown__element__secondary-text"},n.secondaryText),s&&e(o,{type:`${d}checkmark_black`,height:14,width:14}));export{n as default};
2
2
  //# sourceMappingURL=SelectListItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectListItem.js","sources":["../../../../../../../src/components/internal/FormFields/Select/components/SelectListItem.tsx"],"sourcesContent":["import { h } from 'preact';\nimport cx from 'classnames';\nimport { SelectItemProps } from '../types';\nimport Img from '../../../Img';\nimport Icon from '../../../Icon';\nimport { PREFIX } from '../../../Icon/constants';\n\nconst SelectListItem = ({ item, active, selected, ...props }: SelectItemProps) => {\n return (\n /* eslint-disable jsx-a11y/click-events-have-key-events */\n <li\n aria-disabled={!!item.disabled}\n aria-selected={selected}\n className={cx([\n 'adyen-checkout__dropdown__element',\n {\n 'adyen-checkout__dropdown__element--active': active,\n 'adyen-checkout__dropdown__element--disabled': !!item.disabled\n }\n ])}\n // A change in Preact v10.11.1 means that all falsy values are assessed and set on data attributes.\n // In the case of data-disabled we only ever want it set if item.disabled is actually true, since the presence of the data-disabled attr,\n // regardless of its value, will disable the select list item\n data-disabled={item.disabled === true ? true : null}\n data-value={item.id}\n onClick={props.onSelect}\n onMouseEnter={props.onHover}\n /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role */\n role=\"option\"\n //tabIndex={-1}\n id={`listItem-${item.id}`}\n >\n {item.icon && <Img className=\"adyen-checkout__dropdown__element__icon\" alt={item.name} src={item.icon} />}\n <span className=\"adyen-checkout__dropdown__element__text\">{item.name}</span>\n {item.secondaryText && <span className=\"adyen-checkout__dropdown__element__secondary-text\">{item.secondaryText}</span>}\n {selected && <Icon type={`${PREFIX}checkmark`} height={14} width={14} />}\n </li>\n );\n};\n\nexport default SelectListItem;\n"],"names":["SelectListItem","item","active","selected","props","h","li","aria-disabled","disabled","aria-selected","className","cx","data-disabled","data-value","id","onClick","onSelect","onMouseEnter","onHover","role","icon","Img","alt","name","src","span","secondaryText","Icon","type","PREFIX","height","width"],"mappings":"0PAOA,MAAMA,EAAiB,EAAGC,OAAMC,SAAQC,cAAaC,KAG7CC,EAACC,KAAAA,CACGC,kBAAiBN,EAAKO,SACtBC,gBAAeN,EACfO,UAAWC,EAAG,CACV,oCACA,CACI,4CAA6CT,EAC7C,gDAAiDD,EAAKO,YAM9DI,iBAAiC,IAAlBX,EAAKO,UAA2B,KAC/CK,aAAYZ,EAAKa,GACjBC,QAASX,EAAMY,SACfC,aAAcb,EAAMc,QAEpBC,KAAK,SAELL,GAAI,YAAYb,EAAKa,MAEpBb,EAAKmB,MAAQf,EAACgB,EAAAA,CAAIX,UAAU,0CAA0CY,IAAKrB,EAAKsB,KAAMC,IAAKvB,EAAKmB,OACjGf,EAACoB,OAAAA,CAAKf,UAAU,2CAA2CT,EAAKsB,MAC/DtB,EAAKyB,eAAiBrB,EAACoB,OAAAA,CAAKf,UAAU,qDAAqDT,EAAKyB,eAChGvB,GAAYE,EAACsB,EAAAA,CAAKC,KAAM,GAAGC,aAAmBC,OAAQ,GAAIC,MAAO"}
1
+ {"version":3,"file":"SelectListItem.js","sources":["../../../../../../../src/components/internal/FormFields/Select/components/SelectListItem.tsx"],"sourcesContent":["import { h } from 'preact';\nimport cx from 'classnames';\nimport { SelectItemProps } from '../types';\nimport Img from '../../../Img';\nimport Icon from '../../../Icon';\nimport { PREFIX } from '../../../Icon/constants';\n\nconst SelectListItem = ({ item, active, selected, ...props }: SelectItemProps) => {\n return (\n /* eslint-disable jsx-a11y/click-events-have-key-events */\n <li\n aria-disabled={!!item.disabled}\n aria-selected={selected}\n className={cx([\n 'adyen-checkout__dropdown__element',\n {\n 'adyen-checkout__dropdown__element--active': active,\n 'adyen-checkout__dropdown__element--disabled': !!item.disabled\n }\n ])}\n // A change in Preact v10.11.1 means that all falsy values are assessed and set on data attributes.\n // In the case of data-disabled we only ever want it set if item.disabled is actually true, since the presence of the data-disabled attr,\n // regardless of its value, will disable the select list item\n data-disabled={item.disabled === true ? true : null}\n data-value={item.id}\n onClick={props.onSelect}\n onMouseEnter={props.onHover}\n /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role */\n role=\"option\"\n //tabIndex={-1}\n id={`listItem-${item.id}`}\n >\n {item.icon && <Img className=\"adyen-checkout__dropdown__element__icon\" alt={item.name} src={item.icon} />}\n <span className=\"adyen-checkout__dropdown__element__text\">{item.name}</span>\n {item.secondaryText && <span className=\"adyen-checkout__dropdown__element__secondary-text\">{item.secondaryText}</span>}\n {selected && <Icon type={`${PREFIX}checkmark_black`} height={14} width={14} />}\n </li>\n );\n};\n\nexport default SelectListItem;\n"],"names":["SelectListItem","item","active","selected","props","h","li","aria-disabled","disabled","aria-selected","className","cx","data-disabled","data-value","id","onClick","onSelect","onMouseEnter","onHover","role","icon","Img","alt","name","src","span","secondaryText","Icon","type","PREFIX","height","width"],"mappings":"0PAOA,MAAMA,EAAiB,EAAGC,OAAMC,SAAQC,cAAaC,KAG7CC,EAACC,KAAAA,CACGC,kBAAiBN,EAAKO,SACtBC,gBAAeN,EACfO,UAAWC,EAAG,CACV,oCACA,CACI,4CAA6CT,EAC7C,gDAAiDD,EAAKO,YAM9DI,iBAAiC,IAAlBX,EAAKO,UAA2B,KAC/CK,aAAYZ,EAAKa,GACjBC,QAASX,EAAMY,SACfC,aAAcb,EAAMc,QAEpBC,KAAK,SAELL,GAAI,YAAYb,EAAKa,MAEpBb,EAAKmB,MAAQf,EAACgB,EAAAA,CAAIX,UAAU,0CAA0CY,IAAKrB,EAAKsB,KAAMC,IAAKvB,EAAKmB,OACjGf,EAACoB,OAAAA,CAAKf,UAAU,2CAA2CT,EAAKsB,MAC/DtB,EAAKyB,eAAiBrB,EAACoB,OAAAA,CAAKf,UAAU,qDAAqDT,EAAKyB,eAChGvB,GAAYE,EAACsB,EAAAA,CAAKC,KAAM,GAAGC,mBAAyBC,OAAQ,GAAIC,MAAO"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../external/preact/dist/preact.js";import t from"../../../_virtual/index.js";import a from"../../../core/Context/useImage.js";const r=({type:r,className:o="",alt:s="",height:c,width:i})=>{const m=a(),n=m({imageFolder:"components/"})?.(r);return e("img",{className:t("adyen-checkout__icon",o),alt:s,src:n,height:c,width:i})};export{r as default};
1
+ import{createElement as t}from"../../../external/preact/dist/preact.js";import e from"../../../_virtual/index.js";import r from"../../../core/Context/useImage.js";import o from"../Img/Img.js";const a=({type:a,className:m="",alt:s="",height:c,width:i})=>{const n=r(),l=n({imageFolder:"components/"})?.(a);return t(o,{className:e("adyen-checkout__icon",m),alt:s,src:l,height:c,width:i})};export{a as default};
2
2
  //# sourceMappingURL=Icon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.js","sources":["../../../../../src/components/internal/Icon/Icon.tsx"],"sourcesContent":["import { h } from 'preact';\nimport cx from 'classnames';\nimport useImage from '../../../core/Context/useImage';\n\ninterface IconProps {\n type: string;\n className?: string;\n alt?: string;\n height?: number;\n width?: number;\n}\n\nconst Icon = ({ type, className = '', alt = '', height, width }: IconProps) => {\n const getImage = useImage();\n const iconUrl = getImage({ imageFolder: 'components/' })?.(type);\n\n return <img className={cx('adyen-checkout__icon', className)} alt={alt} src={iconUrl} height={height} width={width} />;\n};\n\nexport default Icon;\n"],"names":["Icon","type","className","alt","height","width","getImage","useImage","iconUrl","imageFolder","h","img","cx","src"],"mappings":"mKAYA,MAAMA,EAAO,EAAGC,OAAMC,YAAY,GAAIC,MAAM,GAAIC,SAAQC,YACpD,MAAMC,EAAWC,IACXC,EAAUF,EAAS,CAAEG,YAAa,eAAxBH,GAA2CL,GAE3D,OAAOS,EAACC,MAAAA,CAAIT,UAAWU,EAAG,uBAAwBV,GAAYC,IAAKA,EAAKU,IAAKL,EAASJ,OAAQA,EAAQC,MAAOA"}
1
+ {"version":3,"file":"Icon.js","sources":["../../../../../src/components/internal/Icon/Icon.tsx"],"sourcesContent":["import { h } from 'preact';\nimport cx from 'classnames';\nimport useImage from '../../../core/Context/useImage';\nimport Img from '../Img';\n\ninterface IconProps {\n type: string;\n className?: string;\n alt?: string;\n height?: number;\n width?: number;\n}\n\nconst Icon = ({ type, className = '', alt = '', height, width }: IconProps) => {\n const getImage = useImage();\n const iconUrl = getImage({ imageFolder: 'components/' })?.(type);\n\n return <Img className={cx('adyen-checkout__icon', className)} alt={alt} src={iconUrl} height={height} width={width} />;\n};\n\nexport default Icon;\n"],"names":["Icon","type","className","alt","height","width","getImage","useImage","iconUrl","imageFolder","h","Img","cx","src"],"mappings":"gMAaA,MAAMA,EAAO,EAAGC,OAAMC,YAAY,GAAIC,MAAM,GAAIC,SAAQC,YACpD,MAAMC,EAAWC,IACXC,EAAUF,EAAS,CAAEG,YAAa,eAAxBH,GAA2CL,GAE3D,OAAOS,EAACC,EAAAA,CAAIT,UAAWU,EAAG,uBAAwBV,GAAYC,IAAKA,EAAKU,IAAKL,EAASJ,OAAQA,EAAQC,MAAOA"}
@@ -1,2 +1,2 @@
1
- import{useState as e,useRef as a,useEffect as r}from"../../../external/preact/hooks/dist/hooks.js";import t from"../../../_virtual/index.js";import{createElement as s}from"../../../external/preact/dist/preact.js";function o(o){const{backgroundUrl:c="",className:n="",classNameModifiers:l=[],src:m="",alt:d="",showOnError:i=!1}=o,[u,f]=e(!1),p=a(null),g=()=>{f(!0)},k=t([n],"adyen-checkout__image",{"adyen-checkout__image--loaded":u},...l.map(e=>`adyen-checkout__image--${e}`));return r(()=>{const e=c?new Image:p.current;e.src=c||m,e.onload=g,f(!!e.complete)},[]),c?s("div",{"data-testid":"background",style:{backgroundUrl:c},...o,className:k}):s("img",{...o,alt:d,ref:p,className:k,onError:()=>{f(i)}})}export{o as default};
1
+ import{useState as e,useRef as a,useEffect as r}from"../../../external/preact/hooks/dist/hooks.js";import t from"../../../_virtual/index.js";import{createElement as o}from"../../../external/preact/dist/preact.js";function s(s){const{backgroundUrl:c="",className:n="",classNameModifiers:l=[],src:m="",alt:d="",showOnError:i=!1}=s,[u,f]=e(!1),p=a(null),g=()=>{f(!0)},k=t([n],"adyen-checkout__image",{"adyen-checkout__image--loaded":u},...l.map(e=>`adyen-checkout__image--${e}`));return r(()=>{const e=c?new Image:p.current;e.src=c||m,e.onload=g,f(!!e.complete)},[]),c?o("div",{"data-testid":"background",style:{backgroundUrl:c},...s,className:k}):o("img",{...s,alt:d,ref:p,className:k,onError:e=>{f(i),s?.onError?.(e)}})}export{s as default};
2
2
  //# sourceMappingURL=Img.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Img.js","sources":["../../../../../src/components/internal/Img/Img.tsx"],"sourcesContent":["import { JSX } from 'preact';\nimport { useRef, useState, useEffect } from 'preact/hooks';\nimport cx from 'classnames';\nimport './Img.scss';\nimport { h } from 'preact';\nimport { ImgProps } from './types';\n\nexport default function Img(props: ImgProps) {\n const { backgroundUrl = '', className = '', classNameModifiers = [], src = '', alt = '', showOnError = false } = props;\n const [loaded, setLoaded] = useState(false);\n const imageRef = useRef(null);\n\n const handleLoad = () => {\n setLoaded(true);\n };\n\n const handleError = () => {\n setLoaded(showOnError);\n };\n\n const classNames = cx(\n [className],\n 'adyen-checkout__image',\n { 'adyen-checkout__image--loaded': loaded },\n ...classNameModifiers.map(modifier => `adyen-checkout__image--${modifier}`)\n );\n\n useEffect(() => {\n const image = backgroundUrl ? new Image() : imageRef.current;\n image.src = backgroundUrl || src;\n image.onload = handleLoad;\n setLoaded(!!image.complete);\n }, []);\n\n if (backgroundUrl) {\n return <div data-testid=\"background\" style={{ backgroundUrl } as JSX.CSSProperties} {...props} className={classNames} />;\n }\n\n return <img {...props} alt={alt} ref={imageRef} className={classNames} onError={handleError} />;\n}\n"],"names":["Img","props","backgroundUrl","className","classNameModifiers","src","alt","showOnError","loaded","setLoaded","useState","imageRef","useRef","handleLoad","classNames","cx","map","modifier","useEffect","image","Image","current","onload","complete","h","div","data-testid","style","img","ref","onError"],"mappings":"qNAOe,SAASA,EAAIC,GACxB,MAAMC,cAAEA,EAAgB,GAAEC,UAAEA,EAAY,GAAEC,mBAAEA,EAAqB,GAAEC,IAAEA,EAAM,GAAEC,IAAEA,EAAM,GAAEC,YAAEA,GAAc,GAAUN,GAC1GO,EAAQC,GAAaC,GAAS,GAC/BC,EAAWC,EAAO,MAElBC,EAAa,KACfJ,GAAU,IAORK,EAAaC,EACf,CAACZ,GACD,wBACA,CAAE,gCAAiCK,MAChCJ,EAAmBY,IAAIC,GAAY,0BAA0BA,MAUpE,OAPAC,EAAU,KACN,MAAMC,EAAQjB,EAAgB,IAAIkB,MAAUT,EAASU,QACrDF,EAAMd,IAAMH,GAAiBG,EAC7Bc,EAAMG,OAAST,EACfJ,IAAYU,EAAMI,WACnB,IAECrB,EACOsB,EAACC,MAAAA,CAAIC,cAAY,aAAaC,MAAO,CAAEzB,oBAA0CD,EAAOE,UAAWW,IAGvGU,EAACI,MAAAA,IAAQ3B,EAAOK,IAAKA,EAAKuB,IAAKlB,EAAUR,UAAWW,EAAYgB,QAtBnD,KAChBrB,EAAUF,KAsBlB"}
1
+ {"version":3,"file":"Img.js","sources":["../../../../../src/components/internal/Img/Img.tsx"],"sourcesContent":["import { JSX } from 'preact';\nimport { useRef, useState, useEffect } from 'preact/hooks';\nimport cx from 'classnames';\nimport './Img.scss';\nimport { h } from 'preact';\nimport { ImgProps } from './types';\n\nexport default function Img(props: ImgProps) {\n const { backgroundUrl = '', className = '', classNameModifiers = [], src = '', alt = '', showOnError = false } = props;\n const [loaded, setLoaded] = useState(false);\n const imageRef = useRef(null);\n\n const handleLoad = () => {\n setLoaded(true);\n };\n\n const handleError = (e: JSX.TargetedEvent<HTMLImageElement, Event>) => {\n setLoaded(showOnError);\n props?.onError?.(e);\n };\n\n const classNames = cx(\n [className],\n 'adyen-checkout__image',\n { 'adyen-checkout__image--loaded': loaded },\n ...classNameModifiers.map(modifier => `adyen-checkout__image--${modifier}`)\n );\n\n useEffect(() => {\n const image = backgroundUrl ? new Image() : imageRef.current;\n image.src = backgroundUrl || src;\n image.onload = handleLoad;\n setLoaded(!!image.complete);\n }, []);\n\n if (backgroundUrl) {\n return <div data-testid=\"background\" style={{ backgroundUrl } as JSX.CSSProperties} {...props} className={classNames} />;\n }\n\n return <img {...props} alt={alt} ref={imageRef} className={classNames} onError={handleError} />;\n}\n"],"names":["Img","props","backgroundUrl","className","classNameModifiers","src","alt","showOnError","loaded","setLoaded","useState","imageRef","useRef","handleLoad","classNames","cx","map","modifier","useEffect","image","Image","current","onload","complete","h","div","data-testid","style","img","ref","onError","e"],"mappings":"qNAOe,SAASA,EAAIC,GACxB,MAAMC,cAAEA,EAAgB,GAAEC,UAAEA,EAAY,GAAEC,mBAAEA,EAAqB,GAAEC,IAAEA,EAAM,GAAEC,IAAEA,EAAM,GAAEC,YAAEA,GAAc,GAAUN,GAC1GO,EAAQC,GAAaC,GAAS,GAC/BC,EAAWC,EAAO,MAElBC,EAAa,KACfJ,GAAU,IAQRK,EAAaC,EACf,CAACZ,GACD,wBACA,CAAE,gCAAiCK,MAChCJ,EAAmBY,IAAIC,GAAY,0BAA0BA,MAUpE,OAPAC,EAAU,KACN,MAAMC,EAAQjB,EAAgB,IAAIkB,MAAUT,EAASU,QACrDF,EAAMd,IAAMH,GAAiBG,EAC7Bc,EAAMG,OAAST,EACfJ,IAAYU,EAAMI,WACnB,IAECrB,EACOsB,EAACC,MAAAA,CAAIC,cAAY,aAAaC,MAAO,CAAEzB,oBAA0CD,EAAOE,UAAWW,IAGvGU,EAACI,MAAAA,IAAQ3B,EAAOK,IAAKA,EAAKuB,IAAKlB,EAAUR,UAAWW,EAAYgB,QAvBlDC,IACjBtB,EAAUF,GACVN,GAAO6B,UAAUC,KAsBzB"}
@@ -1,2 +1,2 @@
1
- import{createElement as e,Fragment as s}from"../../../external/preact/dist/preact.js";import{useState as t,useRef as r,useCallback as o,useEffect as i}from"../../../external/preact/hooks/dist/hooks.js";import a from"../../../utils/useForm/useForm.js";import n from"../FormFields/Field/Field.js";import l from"./IssuerButtonGroup/IssuerButtonGroup.js";import u from"../ContentSeparator/ContentSeparator.js";import{useCoreContext as m}from"../../../core/Context/CoreProvider.js";import c from"../../../core/Errors/useSRPanelContext.js";import{ERROR_ACTION_FOCUS_FIELD as d}from"../../../core/Errors/constants.js";import{setFocusOnField as g}from"../../../utils/setFocus.js";import h from"../DisclaimerMessage/DisclaimerMessage.js";import p from"../FormFields/Select/Select.js";import{ANALYTICS_LIST as f,ANALYTICS_FEATURED_ISSUER as C,ANALYTICS_SELECTED_STR as j,ANALYTICS_DISPLAYED_STR as y,ANALYTICS_SEARCH_DEBOUNCE_TIME as F,ANALYTICS_LIST_SEARCH as x,ANALYTICS_INPUT_STR as S}from"../../../core/Analytics/constants.js";import{debounce as b}from"../../../utils/debounce.js";import{AnalyticsInfoEvent as v}from"../../../core/Analytics/AnalyticsInfoEvent.js";const A=({issuer:e,items:s},t)=>{const r=s.find(s=>s.id===e)?.name;return e&&r?`${t.get("continueTo")} ${r}`:t.get("continue")},I=["issuer"],_={issuer:{validate:e=>!!e&&e.length>0,errorMessage:"issuerList.selectField.contextualText",modes:["blur"]}};function M({items:M,placeholder:w,issuer:E,highlightedIds:k=[],showContextualElement:V,contextualText:T,selectFieldLabel:B,...L}){const{i18n:N}=m(),{handleChangeFor:P,triggerValidation:R,data:D,valid:G,errors:$,isValid:K}=a({schema:I,defaultData:{issuer:E},rules:_}),[O,q]=t("ready"),[z,H]=t(1),{setSRMessagesFromObjects:J,shouldMoveFocusSR:Q}=c(),U=J?.({}),W=r(null);this.setStatus=e=>{q(e)};const X=o(e=>s=>{const t=1===e?f:C,r=M.find(e=>e.id===s.target.value),o=new v({type:j,target:t,issuer:r.name});L.onSubmitAnalytics(o),H(e),P("issuer")(s)},[P]),Y=o(e=>{if(e){const e=new v({type:y,target:f});L.onSubmitAnalytics(e)}},[]),Z=r(b(L.onSubmitAnalytics,F)),ee=o(()=>{Z.current({type:S,target:x})},[]);i(()=>{L.onChange({data:D,valid:G,errors:$,isValid:K});const e=U?.({errors:$,isValidating:!0});e?.action===d&&Q&&g(W.current,"issuer-list")},[D,G,$,K]),this.showValidation=()=>{R()};const{highlightedItems:se}=M.reduce((e,s)=>(k.includes(s.id)&&e.highlightedItems.push({...s}),e),{highlightedItems:[]});return e("div",{ref:W,className:"adyen-checkout__issuer-list"},!!se.length&&e(s,null,e(l,{selectedIssuerId:0===z?D.issuer:null,items:se,onChange:X(0)}),e(u,null)),e(n,{label:B??N.get("issuerList.selectField.label"),errorMessage:(te=$.issuer,te&&te.errorMessage?N.get(te.errorMessage):!!te),classNameModifiers:["issuer-list"],name:"issuer",showContextualElement:V,contextualText:T},e(p,{items:M,selectedValue:1===z?D.issuer:null,placeholder:w,name:"issuer",className:"adyen-checkout__issuer-list__dropdown",onChange:X(1),onListToggle:Y,onInput:ee})),L.termsAndConditions&&e("div",{className:"adyen-checkout__issuer-list__termsAndConditions"},e(h,{message:N.get(L.termsAndConditions.translationKey),urls:L.termsAndConditions.urls})),L.showPayButton&&L.payButton({status:O,label:A({issuer:D.issuer,items:[...M,...se]},N)}));var te}M.defaultProps={onChange:()=>{}};export{M as default};
1
+ import{createElement as e,Fragment as s}from"../../../external/preact/dist/preact.js";import{useState as t,useRef as r,useCallback as o,useEffect as i}from"../../../external/preact/hooks/dist/hooks.js";import n from"../../../utils/useForm/useForm.js";import a from"../FormFields/Field/Field.js";import l from"./IssuerButtonGroup/IssuerButtonGroup.js";import u from"../ContentSeparator/ContentSeparator.js";import{useCoreContext as m}from"../../../core/Context/CoreProvider.js";import c from"../../../core/Errors/useSRPanelContext.js";import{ERROR_ACTION_FOCUS_FIELD as d}from"../../../core/Errors/constants.js";import{setFocusOnField as p}from"../../../utils/setFocus.js";import g from"../DisclaimerMessage/DisclaimerMessage.js";import h from"../FormFields/Select/Select.js";import{ANALYTICS_SEARCH_DEBOUNCE_TIME as f}from"../../../core/Analytics/constants.js";import{debounce as y}from"../../../utils/debounce.js";import{AnalyticsInfoEvent as C,UiTarget as j,InfoEventType as F}from"../../../core/Analytics/events/AnalyticsInfoEvent.js";const S=({issuer:e,items:s},t)=>{const r=s.find(s=>s.id===e)?.name;return e&&r?`${t.get("continueTo")} ${r}`:t.get("continue")},x=["issuer"],b={issuer:{validate:e=>!!e&&e.length>0,errorMessage:"issuerList.selectField.contextualText",modes:["blur"]}};function v({items:v,placeholder:A,issuer:I,highlightedIds:_=[],showContextualElement:M,contextualText:w,selectFieldLabel:E,...k}){const{i18n:V}=m(),{handleChangeFor:T,triggerValidation:B,data:L,valid:N,errors:P,isValid:R}=n({schema:x,defaultData:{issuer:I},rules:b}),[D,G]=t("ready"),[$,K]=t(1),{setSRMessagesFromObjects:O,shouldMoveFocusSR:q}=c(),z=O?.({}),H=r(null);this.setStatus=e=>{G(e)};const J=o(e=>s=>{const t=1===e?j.list:j.featuredIssuer,r=v.find(e=>e.id===s.target.value),o=new C({component:k.type,type:F.selected,target:t,issuer:r.name});k.onSubmitAnalytics(o),K(e),T("issuer")(s)},[T,k.type]),Q=o(e=>{if(e){const e=new C({component:k.type,type:F.displayed,target:j.list});k.onSubmitAnalytics(e)}},[k.type,k.onSubmitAnalytics]),U=r(y(k.onSubmitAnalytics,f)),W=o(()=>{U.current({type:F.input,target:j.listSearch})},[]);i(()=>{k.onChange({data:L,valid:N,errors:P,isValid:R});const e=z?.({errors:P,isValidating:!0});e?.action===d&&q&&p(H.current,"issuer-list")},[L,N,P,R]),this.showValidation=()=>{B()};const{highlightedItems:X}=v.reduce((e,s)=>(_.includes(s.id)&&e.highlightedItems.push({...s}),e),{highlightedItems:[]});return e("div",{ref:H,className:"adyen-checkout__issuer-list"},!!X.length&&e(s,null,e(l,{selectedIssuerId:0===$?L.issuer:null,items:X,onChange:J(0)}),e(u,null)),e(a,{label:E??V.get("issuerList.selectField.label"),errorMessage:(Y=P.issuer,Y&&Y.errorMessage?V.get(Y.errorMessage):!!Y),classNameModifiers:["issuer-list"],name:"issuer",showContextualElement:M,contextualText:w},e(h,{items:v,selectedValue:1===$?L.issuer:null,placeholder:A,name:"issuer",className:"adyen-checkout__issuer-list__dropdown",onChange:J(1),onListToggle:Q,onInput:W})),k.termsAndConditions&&e("div",{className:"adyen-checkout__issuer-list__termsAndConditions"},e(g,{message:V.get(k.termsAndConditions.translationKey),urls:k.termsAndConditions.urls})),k.showPayButton&&k.payButton({status:D,label:S({issuer:L.issuer,items:[...v,...X]},V)}));var Y}v.defaultProps={onChange:()=>{}};export{v as default};
2
2
  //# sourceMappingURL=IssuerList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IssuerList.js","sources":["../../../../../src/components/internal/IssuerList/IssuerList.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport { useState, useEffect, useCallback, useRef } from 'preact/hooks';\nimport useForm from '../../../utils/useForm';\nimport Field from '../FormFields/Field';\nimport IssuerButtonGroup from './IssuerButtonGroup';\nimport ContentSeparator from '../ContentSeparator';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { ValidatorRules } from '../../../utils/Validator/types';\nimport { IssuerListProps } from './types';\nimport './IssuerList.scss';\nimport useSRPanelContext from '../../../core/Errors/useSRPanelContext';\nimport { SetSRMessagesReturnFn } from '../../../core/Errors/SRPanelProvider';\nimport { SetSRMessagesReturnObject } from '../../../core/Errors/types';\nimport { ERROR_ACTION_FOCUS_FIELD } from '../../../core/Errors/constants';\nimport { setFocusOnField } from '../../../utils/setFocus';\nimport DisclaimerMessage from '../DisclaimerMessage';\nimport Select from '../FormFields/Select';\nimport { SelectTargetObject } from '../FormFields/Select/types';\nimport {\n ANALYTICS_DISPLAYED_STR,\n ANALYTICS_FEATURED_ISSUER,\n ANALYTICS_INPUT_STR,\n ANALYTICS_LIST,\n ANALYTICS_LIST_SEARCH,\n ANALYTICS_SEARCH_DEBOUNCE_TIME,\n ANALYTICS_SELECTED_STR\n} from '../../../core/Analytics/constants';\nimport { debounce } from '../../../utils/debounce';\nimport { AnalyticsInfoEvent } from '../../../core/Analytics/AnalyticsInfoEvent';\n\nconst payButtonLabel = ({ issuer, items }, i18n): string => {\n const issuerName = items.find(i => i.id === issuer)?.name;\n if (!issuer || !issuerName) return i18n.get('continue');\n return `${i18n.get('continueTo')} ${issuerName}`;\n};\n\nconst schema = ['issuer'];\nconst validationRules: ValidatorRules = {\n issuer: {\n validate: issuer => !!issuer && issuer.length > 0,\n errorMessage: 'issuerList.selectField.contextualText',\n modes: ['blur']\n }\n};\n\nenum IssuerListInputTypes {\n ButtonGroup,\n Dropdown\n}\n\nfunction IssuerList({\n items,\n placeholder,\n issuer,\n highlightedIds = [],\n showContextualElement,\n contextualText,\n selectFieldLabel,\n ...props\n}: IssuerListProps) {\n const { i18n } = useCoreContext();\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm({\n schema,\n defaultData: { issuer },\n rules: validationRules\n });\n const [status, setStatus] = useState('ready');\n const [inputType, setInputType] = useState<IssuerListInputTypes>(IssuerListInputTypes.Dropdown);\n\n const { setSRMessagesFromObjects, shouldMoveFocusSR } = useSRPanelContext();\n const setSRMessages: SetSRMessagesReturnFn = setSRMessagesFromObjects?.({});\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n const getErrorMessage = error => (error && error.errorMessage ? i18n.get(error.errorMessage) : !!error);\n\n this.setStatus = newStatus => {\n setStatus(newStatus);\n };\n\n const handleInputChange = useCallback(\n (type: IssuerListInputTypes) => (event: h.JSX.TargetedKeyboardEvent<HTMLInputElement>) => {\n const target = type === IssuerListInputTypes.Dropdown ? ANALYTICS_LIST : ANALYTICS_FEATURED_ISSUER;\n const issuerObj = items.find(issuer => issuer.id === (event.target as SelectTargetObject).value);\n\n const analyticsEvent = new AnalyticsInfoEvent({\n type: ANALYTICS_SELECTED_STR,\n target,\n issuer: issuerObj.name\n });\n props.onSubmitAnalytics(analyticsEvent);\n\n setInputType(type);\n handleChangeFor('issuer')(event);\n },\n [handleChangeFor]\n );\n\n const handleListToggle = useCallback((isOpen: boolean) => {\n if (isOpen) {\n const event = new AnalyticsInfoEvent({\n type: ANALYTICS_DISPLAYED_STR,\n target: ANALYTICS_LIST\n });\n props.onSubmitAnalytics(event);\n }\n }, []);\n\n const debounceSearchAnalytics = useRef(debounce(props.onSubmitAnalytics, ANALYTICS_SEARCH_DEBOUNCE_TIME));\n\n const handleSearch = useCallback(() => {\n debounceSearchAnalytics.current({ type: ANALYTICS_INPUT_STR, target: ANALYTICS_LIST_SEARCH });\n }, []);\n\n useEffect(() => {\n props.onChange({ data, valid, errors, isValid });\n\n const srPanelResp: SetSRMessagesReturnObject = setSRMessages?.({ errors, isValidating: true });\n if (srPanelResp?.action === ERROR_ACTION_FOCUS_FIELD) {\n // Focus field in error, if required\n if (shouldMoveFocusSR) setFocusOnField(containerRef.current, 'issuer-list');\n }\n }, [data, valid, errors, isValid]);\n\n this.showValidation = () => {\n triggerValidation();\n };\n\n const { highlightedItems } = items.reduce(\n (memo, item) => {\n if (highlightedIds.includes(item.id)) memo.highlightedItems.push({ ...item });\n return memo;\n },\n { highlightedItems: [] }\n );\n\n return (\n <div ref={containerRef} className=\"adyen-checkout__issuer-list\">\n {!!highlightedItems.length && (\n <Fragment>\n <IssuerButtonGroup\n selectedIssuerId={inputType === IssuerListInputTypes.ButtonGroup ? data['issuer'] : null}\n items={highlightedItems}\n onChange={handleInputChange(IssuerListInputTypes.ButtonGroup)}\n />\n <ContentSeparator />\n </Fragment>\n )}\n\n <Field\n label={selectFieldLabel ?? i18n.get('issuerList.selectField.label')}\n errorMessage={getErrorMessage(errors.issuer)}\n classNameModifiers={['issuer-list']}\n name={'issuer'}\n showContextualElement={showContextualElement}\n contextualText={contextualText}\n >\n <Select\n items={items}\n selectedValue={inputType === IssuerListInputTypes.Dropdown ? data['issuer'] : null}\n placeholder={placeholder}\n name={'issuer'}\n className={'adyen-checkout__issuer-list__dropdown'}\n onChange={handleInputChange(IssuerListInputTypes.Dropdown)}\n onListToggle={handleListToggle}\n onInput={handleSearch}\n />\n </Field>\n\n {props.termsAndConditions && (\n <div className=\"adyen-checkout__issuer-list__termsAndConditions\">\n <DisclaimerMessage message={i18n.get(props.termsAndConditions.translationKey)} urls={props.termsAndConditions.urls} />\n </div>\n )}\n\n {props.showPayButton &&\n props.payButton({\n status,\n label: payButtonLabel({ issuer: data['issuer'], items: [...items, ...highlightedItems] }, i18n)\n })}\n </div>\n );\n}\n\nIssuerList.defaultProps = {\n onChange: () => {}\n};\n\nexport default IssuerList;\n"],"names":["payButtonLabel","issuer","items","i18n","issuerName","find","i","id","name","get","schema","validationRules","validate","length","errorMessage","modes","IssuerList","placeholder","highlightedIds","showContextualElement","contextualText","selectFieldLabel","props","useCoreContext","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","defaultData","rules","status","setStatus","useState","inputType","setInputType","setSRMessagesFromObjects","shouldMoveFocusSR","useSRPanelContext","setSRMessages","containerRef","useRef","this","newStatus","handleInputChange","useCallback","type","event","target","ANALYTICS_LIST","ANALYTICS_FEATURED_ISSUER","issuerObj","value","analyticsEvent","AnalyticsInfoEvent","ANALYTICS_SELECTED_STR","onSubmitAnalytics","handleListToggle","isOpen","ANALYTICS_DISPLAYED_STR","debounceSearchAnalytics","debounce","ANALYTICS_SEARCH_DEBOUNCE_TIME","handleSearch","current","ANALYTICS_INPUT_STR","ANALYTICS_LIST_SEARCH","useEffect","onChange","srPanelResp","isValidating","action","ERROR_ACTION_FOCUS_FIELD","setFocusOnField","showValidation","highlightedItems","reduce","memo","item","includes","push","h","div","ref","className","Fragment","IssuerButtonGroup","selectedIssuerId","ContentSeparator","Field","label","error","classNameModifiers","Select","selectedValue","onListToggle","onInput","termsAndConditions","DisclaimerMessage","message","translationKey","urls","showPayButton","payButton","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"IssuerList.js","sources":["../../../../../src/components/internal/IssuerList/IssuerList.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport { useState, useEffect, useCallback, useRef } from 'preact/hooks';\nimport useForm from '../../../utils/useForm';\nimport Field from '../FormFields/Field';\nimport IssuerButtonGroup from './IssuerButtonGroup';\nimport ContentSeparator from '../ContentSeparator';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { ValidatorRules } from '../../../utils/Validator/types';\nimport { IssuerListProps } from './types';\nimport './IssuerList.scss';\nimport useSRPanelContext from '../../../core/Errors/useSRPanelContext';\nimport { SetSRMessagesReturnFn } from '../../../core/Errors/SRPanelProvider';\nimport { SetSRMessagesReturnObject } from '../../../core/Errors/types';\nimport { ERROR_ACTION_FOCUS_FIELD } from '../../../core/Errors/constants';\nimport { setFocusOnField } from '../../../utils/setFocus';\nimport DisclaimerMessage from '../DisclaimerMessage';\nimport Select from '../FormFields/Select';\nimport { SelectTargetObject } from '../FormFields/Select/types';\nimport { ANALYTICS_SEARCH_DEBOUNCE_TIME } from '../../../core/Analytics/constants';\nimport { debounce } from '../../../utils/debounce';\nimport { AnalyticsInfoEvent, InfoEventType, UiTarget } from '../../../core/Analytics/events/AnalyticsInfoEvent';\n\nconst payButtonLabel = ({ issuer, items }, i18n): string => {\n const issuerName = items.find(i => i.id === issuer)?.name;\n if (!issuer || !issuerName) return i18n.get('continue');\n return `${i18n.get('continueTo')} ${issuerName}`;\n};\n\nconst schema = ['issuer'];\nconst validationRules: ValidatorRules = {\n issuer: {\n validate: issuer => !!issuer && issuer.length > 0,\n errorMessage: 'issuerList.selectField.contextualText',\n modes: ['blur']\n }\n};\n\nenum IssuerListInputTypes {\n ButtonGroup,\n Dropdown\n}\n\nfunction IssuerList({\n items,\n placeholder,\n issuer,\n highlightedIds = [],\n showContextualElement,\n contextualText,\n selectFieldLabel,\n ...props\n}: IssuerListProps) {\n const { i18n } = useCoreContext();\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm({\n schema,\n defaultData: { issuer },\n rules: validationRules\n });\n const [status, setStatus] = useState('ready');\n const [inputType, setInputType] = useState<IssuerListInputTypes>(IssuerListInputTypes.Dropdown);\n\n const { setSRMessagesFromObjects, shouldMoveFocusSR } = useSRPanelContext();\n const setSRMessages: SetSRMessagesReturnFn = setSRMessagesFromObjects?.({});\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n const getErrorMessage = error => (error && error.errorMessage ? i18n.get(error.errorMessage) : !!error);\n\n this.setStatus = newStatus => {\n setStatus(newStatus);\n };\n\n const handleInputChange = useCallback(\n (type: IssuerListInputTypes) => (event: h.JSX.TargetedKeyboardEvent<HTMLInputElement>) => {\n const target = type === IssuerListInputTypes.Dropdown ? UiTarget.list : UiTarget.featuredIssuer;\n const issuerObj = items.find(issuer => issuer.id === (event.target as SelectTargetObject).value);\n\n const analyticsEvent = new AnalyticsInfoEvent({\n component: props.type,\n type: InfoEventType.selected,\n target,\n issuer: issuerObj.name\n });\n props.onSubmitAnalytics(analyticsEvent);\n\n setInputType(type);\n handleChangeFor('issuer')(event);\n },\n [handleChangeFor, props.type]\n );\n\n const handleListToggle = useCallback(\n (isOpen: boolean) => {\n if (isOpen) {\n const event = new AnalyticsInfoEvent({\n component: props.type,\n type: InfoEventType.displayed,\n target: UiTarget.list\n });\n props.onSubmitAnalytics(event);\n }\n },\n [props.type, props.onSubmitAnalytics]\n );\n\n const debounceSearchAnalytics = useRef(debounce(props.onSubmitAnalytics, ANALYTICS_SEARCH_DEBOUNCE_TIME));\n\n const handleSearch = useCallback(() => {\n debounceSearchAnalytics.current({ type: InfoEventType.input, target: UiTarget.listSearch });\n }, []);\n\n useEffect(() => {\n props.onChange({ data, valid, errors, isValid });\n\n const srPanelResp: SetSRMessagesReturnObject = setSRMessages?.({ errors, isValidating: true });\n if (srPanelResp?.action === ERROR_ACTION_FOCUS_FIELD) {\n // Focus field in error, if required\n if (shouldMoveFocusSR) setFocusOnField(containerRef.current, 'issuer-list');\n }\n }, [data, valid, errors, isValid]);\n\n this.showValidation = () => {\n triggerValidation();\n };\n\n const { highlightedItems } = items.reduce(\n (memo, item) => {\n if (highlightedIds.includes(item.id)) memo.highlightedItems.push({ ...item });\n return memo;\n },\n { highlightedItems: [] }\n );\n\n return (\n <div ref={containerRef} className=\"adyen-checkout__issuer-list\">\n {!!highlightedItems.length && (\n <Fragment>\n <IssuerButtonGroup\n selectedIssuerId={inputType === IssuerListInputTypes.ButtonGroup ? data['issuer'] : null}\n items={highlightedItems}\n onChange={handleInputChange(IssuerListInputTypes.ButtonGroup)}\n />\n <ContentSeparator />\n </Fragment>\n )}\n\n <Field\n label={selectFieldLabel ?? i18n.get('issuerList.selectField.label')}\n errorMessage={getErrorMessage(errors.issuer)}\n classNameModifiers={['issuer-list']}\n name={'issuer'}\n showContextualElement={showContextualElement}\n contextualText={contextualText}\n >\n <Select\n items={items}\n selectedValue={inputType === IssuerListInputTypes.Dropdown ? data['issuer'] : null}\n placeholder={placeholder}\n name={'issuer'}\n className={'adyen-checkout__issuer-list__dropdown'}\n onChange={handleInputChange(IssuerListInputTypes.Dropdown)}\n onListToggle={handleListToggle}\n onInput={handleSearch}\n />\n </Field>\n\n {props.termsAndConditions && (\n <div className=\"adyen-checkout__issuer-list__termsAndConditions\">\n <DisclaimerMessage message={i18n.get(props.termsAndConditions.translationKey)} urls={props.termsAndConditions.urls} />\n </div>\n )}\n\n {props.showPayButton &&\n props.payButton({\n status,\n label: payButtonLabel({ issuer: data['issuer'], items: [...items, ...highlightedItems] }, i18n)\n })}\n </div>\n );\n}\n\nIssuerList.defaultProps = {\n onChange: () => {}\n};\n\nexport default IssuerList;\n"],"names":["payButtonLabel","issuer","items","i18n","issuerName","find","i","id","name","get","schema","validationRules","validate","length","errorMessage","modes","IssuerList","placeholder","highlightedIds","showContextualElement","contextualText","selectFieldLabel","props","useCoreContext","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","defaultData","rules","status","setStatus","useState","inputType","setInputType","setSRMessagesFromObjects","shouldMoveFocusSR","useSRPanelContext","setSRMessages","containerRef","useRef","this","newStatus","handleInputChange","useCallback","type","event","target","UiTarget","list","featuredIssuer","issuerObj","value","analyticsEvent","AnalyticsInfoEvent","component","InfoEventType","selected","onSubmitAnalytics","handleListToggle","isOpen","displayed","debounceSearchAnalytics","debounce","ANALYTICS_SEARCH_DEBOUNCE_TIME","handleSearch","current","input","listSearch","useEffect","onChange","srPanelResp","isValidating","action","ERROR_ACTION_FOCUS_FIELD","setFocusOnField","showValidation","highlightedItems","reduce","memo","item","includes","push","h","div","ref","className","Fragment","IssuerButtonGroup","selectedIssuerId","ContentSeparator","Field","label","error","classNameModifiers","Select","selectedValue","onListToggle","onInput","termsAndConditions","DisclaimerMessage","message","translationKey","urls","showPayButton","payButton","defaultProps"],"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 a,useMemo as s,useEffect as t}from"../../../external/preact/hooks/dist/hooks.js";import l from"../FormFields/Fieldset/Fieldset.js";import i from"../FormFields/Field/Field.js";import o from"./ReadOnlyPersonalDetails.js";import{personalDetailsValidationRules as m}from"./validate.js";import{useCoreContext as n}from"../../../core/Context/CoreProvider.js";import{checkDateInputSupport as d}from"../FormFields/InputDate/utils.js";import{getFormattedData as p}from"./utils.js";import u from"../../../utils/useForm/useForm.js";import f from"../FormFields/InputText.js";import h from"../FormFields/RadioGroup/RadioGroup.js";import c from"../FormFields/InputDate/InputDate.js";import N from"../FormFields/InputEmail.js";import g from"../FormFields/InputTelephone.js";import{getErrorMessage as b}from"../../../utils/getErrorMessage.js";const F=["firstName","lastName","gender","dateOfBirth","shopperEmail","telephoneNumber"];function M(F){const{label:M="",namePrefix:E,placeholders:j,requiredFields:B,visibility:O}=F,{i18n:v}=n(),I=a({});Object.keys(I.current).length||F.setComponentRef?.(I.current);const C=s(d,[]),{handleChangeFor:q,triggerValidation:R,data:x,valid:D,errors:k,isValid:y}=u({schema:B,rules:{...m,...F.validationRules},defaultData:F.data});I.current.showValidation=()=>{R()};const P=e=>r=>{const{name:a}=r.target,s=a.split(`${E}.`).pop();q(s,e)(r)},V=e=>`${E?`${E}.`:""}${e}`;return t(()=>{const e=p(x);F.onChange({data:e,valid:D,errors:k,isValid:y})},[x,D,k,y]),"hidden"===O?null:"readOnly"===O?e(o,{...F,data:x}):e(r,null,e(l,{classNameModifiers:["personalDetails"],label:M},B.includes("firstName")&&e(i,{label:v.get("firstName"),classNameModifiers:["col-50","firstName"],errorMessage:b(v,k.firstName,v.get("firstName")),name:"firstName",i18n:v},e(f,{name:V("firstName"),value:x.firstName,classNameModifiers:["firstName"],onInput:P("input"),onBlur:P("blur"),placeholder:j.firstName,spellCheck:!1,required:!0})),B.includes("lastName")&&e(i,{label:v.get("lastName"),classNameModifiers:["col-50","lastName"],errorMessage:b(v,k.lastName,v.get("lastName")),name:"lastName",i18n:v},e(f,{name:V("lastName"),value:x.lastName,classNameModifiers:["lastName"],onInput:P("input"),onBlur:P("blur"),placeholder:j.lastName,spellCheck:!1,required:!0})),B.includes("gender")&&e(i,{errorMessage:b(v,k.gender),classNameModifiers:["gender"],name:"gender",useLabelElement:!1},e(h,{name:V("gender"),value:x.gender,items:[{id:"MALE",name:"male"},{id:"FEMALE",name:"female"}],classNameModifiers:["gender"],onInput:P("input"),onChange:P("blur"),required:!0})),B.includes("dateOfBirth")&&e(i,{label:v.get("dateOfBirth"),classNameModifiers:["col-50","dateOfBirth"],errorMessage:b(v,k.dateOfBirth,v.get("dateOfBirth")),helper:C?null:v.get("dateOfBirth.format"),name:"dateOfBirth",i18n:v},e(c,{name:V("dateOfBirth"),value:x.dateOfBirth,classNameModifiers:["dateOfBirth"],onInput:P("input"),onBlur:P("blur"),placeholder:j.dateOfBirth,required:!0})),B.includes("shopperEmail")&&e(i,{label:v.get("shopperEmail"),classNameModifiers:["shopperEmail"],errorMessage:b(v,k.shopperEmail,v.get("shopperEmail")),dir:"ltr",name:"emailAddress",i18n:v},e(N,{name:V("shopperEmail"),value:x.shopperEmail,classNameModifiers:["shopperEmail"],onInput:P("input"),onBlur:P("blur"),placeholder:j.shopperEmail,required:!0})),B.includes("telephoneNumber")&&e(i,{label:v.get("telephoneNumber"),classNameModifiers:["telephoneNumber"],errorMessage:b(v,k.telephoneNumber,v.get("telephoneNumber")),dir:"ltr",name:"telephoneNumber",i18n:v},e(g,{name:V("telephoneNumber"),value:x.telephoneNumber,classNameModifiers:["telephoneNumber"],onInput:P("input"),onBlur:P("blur"),placeholder:j.telephoneNumber,required:!0}))))}M.defaultProps={data:{},onChange:()=>{},placeholders:{},requiredFields:F,validationRules:m,visibility:"editable"};export{F as PERSONAL_DETAILS_SCHEMA,M as default};
1
+ import{createElement as e,Fragment as r}from"../../../external/preact/dist/preact.js";import{useRef as a,useMemo as t,useEffect as s}from"../../../external/preact/hooks/dist/hooks.js";import l from"../FormFields/Fieldset/Fieldset.js";import i from"../FormFields/Field/Field.js";import o from"./ReadOnlyPersonalDetails.js";import{personalDetailsValidationRules as m}from"./validate.js";import{useCoreContext as n}from"../../../core/Context/CoreProvider.js";import{checkDateInputSupport as d}from"../FormFields/InputDate/utils.js";import{getFormattedData as p}from"./utils.js";import u from"../../../utils/useForm/useForm.js";import f from"../FormFields/InputText.js";import h from"../FormFields/InputDate/InputDate.js";import c from"../FormFields/InputEmail.js";import N from"../FormFields/InputTelephone.js";import{getErrorMessage as b}from"../../../utils/getErrorMessage.js";const g=["firstName","lastName","dateOfBirth","shopperEmail","telephoneNumber"];function F(g){const{label:F="",namePrefix:M,placeholders:B,requiredFields:j,visibility:O}=g,{i18n:E}=n(),v=a({});Object.keys(v.current).length||g.setComponentRef?.(v.current);const I=t(d,[]),{handleChangeFor:C,triggerValidation:q,data:x,valid:D,errors:k,isValid:y}=u({schema:j,rules:{...m,...g.validationRules},defaultData:g.data});v.current.showValidation=()=>{q()};const R=e=>r=>{const{name:a}=r.target,t=a.split(`${M}.`).pop();C(t,e)(r)},P=e=>`${M?`${M}.`:""}${e}`;return s(()=>{const e=p(x);g.onChange({data:e,valid:D,errors:k,isValid:y})},[x,D,k,y]),"hidden"===O?null:"readOnly"===O?e(o,{...g,data:x}):e(r,null,e(l,{classNameModifiers:["personalDetails"],label:F},j.includes("firstName")&&e(i,{label:E.get("firstName"),classNameModifiers:["col-50","firstName"],errorMessage:b(E,k.firstName,E.get("firstName")),name:"firstName",i18n:E},e(f,{name:P("firstName"),value:x.firstName,classNameModifiers:["firstName"],onInput:R("input"),onBlur:R("blur"),placeholder:B.firstName,spellCheck:!1,required:!0})),j.includes("lastName")&&e(i,{label:E.get("lastName"),classNameModifiers:["col-50","lastName"],errorMessage:b(E,k.lastName,E.get("lastName")),name:"lastName",i18n:E},e(f,{name:P("lastName"),value:x.lastName,classNameModifiers:["lastName"],onInput:R("input"),onBlur:R("blur"),placeholder:B.lastName,spellCheck:!1,required:!0})),j.includes("dateOfBirth")&&e(i,{label:E.get("dateOfBirth"),classNameModifiers:["col-50","dateOfBirth"],errorMessage:b(E,k.dateOfBirth,E.get("dateOfBirth")),helper:I?null:E.get("dateOfBirth.format"),name:"dateOfBirth",i18n:E},e(h,{name:P("dateOfBirth"),value:x.dateOfBirth,classNameModifiers:["dateOfBirth"],onInput:R("input"),onBlur:R("blur"),placeholder:B.dateOfBirth,required:!0})),j.includes("shopperEmail")&&e(i,{label:E.get("shopperEmail"),classNameModifiers:["shopperEmail"],errorMessage:b(E,k.shopperEmail,E.get("shopperEmail")),dir:"ltr",name:"emailAddress",i18n:E},e(c,{name:P("shopperEmail"),value:x.shopperEmail,classNameModifiers:["shopperEmail"],onInput:R("input"),onBlur:R("blur"),placeholder:B.shopperEmail,required:!0})),j.includes("telephoneNumber")&&e(i,{label:E.get("telephoneNumber"),classNameModifiers:["telephoneNumber"],errorMessage:b(E,k.telephoneNumber,E.get("telephoneNumber")),dir:"ltr",name:"telephoneNumber",i18n:E},e(N,{name:P("telephoneNumber"),value:x.telephoneNumber,classNameModifiers:["telephoneNumber"],onInput:R("input"),onBlur:R("blur"),placeholder:B.telephoneNumber,required:!0}))))}F.defaultProps={data:{},onChange:()=>{},placeholders:{},requiredFields:g,validationRules:m,visibility:"editable"};export{g as PERSONAL_DETAILS_SCHEMA,F as default};
2
2
  //# sourceMappingURL=PersonalDetails.js.map