@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,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 t}from"../../../../core/Context/CoreProvider.js";import n from"./RadioButtonIcon.js";import r from"../../Icon/Icon.js";import{PREFIX as i}from"../../Icon/constants.js";function c(e,a,o){return a in e?Object.defineProperty(e,a,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[a]=o,e}function l(l){const{items:d,name:u,onChange:_,value:s,isInvalid:p,uniqueId:m,ariaLabel:y,showRadioIcon:g=!1,showSelectedTick:h=!1,style:f="button"}=l,{i18n:b}=t(),k=null==m?void 0:m.replace(/[0-9]/g,"").substring(0,m.lastIndexOf("-"));let v="";p&&(v=g?"adyen-checkout__radio_group__label--invalid":"adyen-checkout__radio_group__label--no-radio--invalid");const j=a(["adyen-checkout__label__text",g?"adyen-checkout__radio_group__label":"adyen-checkout__radio_group__label--no-radio",l.className,v]);return e("div",function(e){for(var a=1;a<arguments.length;a++){var o=null!=arguments[a]?arguments[a]:{},t=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.forEach(function(a){c(e,a,o[a])})}return e}({className:a(["adyen-checkout__radio_group",`adyen-checkout__radio_group--${f}`]),role:"radiogroup"},y&&{"aria-label":y}),d.map(t=>{const c=o(k);return e("div",{key:t.id,className:"adyen-checkout__radio_group__input-wrapper adyen-checkout__field--50"},e("input",{id:c,type:"radio",checked:s===t.id,className:"adyen-checkout__radio_group__input",name:u,onChange:_,value:t.id}),e("label",{className:j,htmlFor:c},e("div",{className:"adyen-checkout__radio_group-extended__label-wrapper"},e(n,{key:t.id,imageURL:t.imageURL,altName:t.altName,dataValue:t.id,showRadioIcon:g}),e("span",{className:"adyen-checkout__radio_group-extended__label"},b.get(t.name)),h&&e("span",{className:a({"adyen-checkout-input__inline-validation":!0,"adyen-checkout-input__inline-validation--valid":s===t.id})},e(r,{type:`${i}checkmark`,alt:null==b?void 0:b.get("field.valid")})))))}))}l.defaultProps={onChange:()=>{},items:[]};export{l 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 t}from"../../../../core/Context/CoreProvider.js";import n from"./RadioButtonIcon.js";import r from"../../Icon/Icon.js";import{PREFIX as i}from"../../Icon/constants.js";function c(e,a,o){return a in e?Object.defineProperty(e,a,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[a]=o,e}function l(l){const{items:d,name:u,onChange:_,value:s,isInvalid:p,uniqueId:m,ariaLabel:y,showRadioIcon:g=!1,showSelectedTick:h=!1,style:b="button"}=l,{i18n:f}=t(),k=null==m?void 0:m.replace(/[0-9]/g,"").substring(0,m.lastIndexOf("-"));let v="";p&&(v=g?"adyen-checkout__radio_group__label--invalid":"adyen-checkout__radio_group__label--no-radio--invalid");const j=a(["adyen-checkout__label__text",g?"adyen-checkout__radio_group__label":"adyen-checkout__radio_group__label--no-radio",l.className,v]);return e("div",function(e){for(var a=1;a<arguments.length;a++){var o=null!=arguments[a]?arguments[a]:{},t=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.forEach(function(a){c(e,a,o[a])})}return e}({className:a(["adyen-checkout__radio_group",`adyen-checkout__radio_group--${b}`]),role:"radiogroup"},y&&{"aria-label":y}),d.map(t=>{const c=o(k);return e("div",{key:t.id,className:"adyen-checkout__radio_group__input-wrapper adyen-checkout__field--50"},e("input",{id:c,type:"radio",checked:s===t.id,className:"adyen-checkout__radio_group__input",name:u,onChange:_,value:t.id}),e("label",{className:j,htmlFor:c},e("div",{className:"adyen-checkout__radio_group-extended__label-wrapper"},e(n,{key:t.id,imageURL:t.imageURL,altName:t.altName,dataValue:t.id,showRadioIcon:g}),e("span",{className:"adyen-checkout__radio_group-extended__label"},f.get(t.name)),h&&e("span",{className:a({"adyen-checkout-input__inline-validation":!0,"adyen-checkout-input__inline-validation--valid":s===t.id})},e(r,{type:`${i}checkmark_black`,alt:null==f?void 0:f.get("field.valid")})))))}))}l.defaultProps={onChange:()=>{},items:[]};export{l 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":"gfAWe,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,aAAAA,EAAAA,EAAUQ,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,wUAAAA,CAAAA,CACGF,UAAWD,EAAG,CAAC,8BAA+B,gCAAgCT,MAC9Ea,KAAM,cACDhB,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,aAAAA,EAAAA,EAAM4B,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":"gfAWe,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,aAAAA,EAAAA,EAAUQ,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,wUAAAA,CAAAA,CACGF,UAAWD,EAAG,CAAC,8BAA+B,gCAAgCT,MAC9Ea,KAAM,cACDhB,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,aAAAA,EAAAA,EAAM4B,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 n from"../../../Img/Img.js";import o from"../../../Icon/Icon.js";import{PREFIX as a}from"../../../Icon/constants.js";function r(e,t){if(null==e)return{};var n,o,a=function(e,t){if(null==e)return{};var n,o,a={},r=Object.keys(e);for(o=0;o<r.length;o++)n=r[o],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o<r.length;o++)n=r[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}const c=c=>{var{item:d,active:l,selected:i}=c,s=r(c,["item","active","selected"]);return e("li",{"aria-disabled":!!d.disabled,"aria-selected":i,className:t(["adyen-checkout__dropdown__element",{"adyen-checkout__dropdown__element--active":l,"adyen-checkout__dropdown__element--disabled":!!d.disabled}]),"data-disabled":!0===d.disabled||null,"data-value":d.id,onClick:s.onSelect,onMouseEnter:s.onHover,role:"option",id:`listItem-${d.id}`},d.icon&&e(n,{className:"adyen-checkout__dropdown__element__icon",alt:d.name,src:d.icon}),e("span",{className:"adyen-checkout__dropdown__element__text"},d.name),d.secondaryText&&e("span",{className:"adyen-checkout__dropdown__element__secondary-text"},d.secondaryText),i&&e(o,{type:`${a}checkmark`,height:14,width:14}))};export{c as default};
1
+ import{createElement as e}from"../../../../../external/preact/dist/preact.js";import t from"../../../../../_virtual/index.js";import n from"../../../Img/Img.js";import o from"../../../Icon/Icon.js";import{PREFIX as a}from"../../../Icon/constants.js";function r(e,t){if(null==e)return{};var n,o,a=function(e,t){if(null==e)return{};var n,o,a={},r=Object.keys(e);for(o=0;o<r.length;o++)n=r[o],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o<r.length;o++)n=r[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}const c=c=>{var{item:d,active:l,selected:i}=c,s=r(c,["item","active","selected"]);return e("li",{"aria-disabled":!!d.disabled,"aria-selected":i,className:t(["adyen-checkout__dropdown__element",{"adyen-checkout__dropdown__element--active":l,"adyen-checkout__dropdown__element--disabled":!!d.disabled}]),"data-disabled":!0===d.disabled||null,"data-value":d.id,onClick:s.onSelect,onMouseEnter:s.onHover,role:"option",id:`listItem-${d.id}`},d.icon&&e(n,{className:"adyen-checkout__dropdown__element__icon",alt:d.name,src:d.icon}),e("span",{className:"adyen-checkout__dropdown__element__text"},d.name),d.secondaryText&&e("span",{className:"adyen-checkout__dropdown__element__secondary-text"},d.secondaryText),i&&e(o,{type:`${a}checkmark_black`,height:14,width:14}))};export{c 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","_param","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":"8mBAOA,MAAMA,EAAiBC,IAAC,IAAAC,KAAEA,EAAIC,OAAEA,EAAMC,SAAEA,GAAqCH,EAAxBI,EAAAA,EAAAA,EAAAA,CAA3BH,OAAMC,SAAQC,aACpC,OAEIE,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","_param","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":"8mBAOA,MAAMA,EAAiBC,IAAC,IAAAC,KAAEA,EAAIC,OAAEA,EAAMC,SAAEA,GAAqCH,EAAxBI,EAAAA,EAAAA,EAAAA,CAA3BH,OAAMC,SAAQC,aACpC,OAEIE,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 o=({type:o,className:r="",alt:i="",height:s,width:c})=>{var m;const n=null===(m=a()({imageFolder:"components/"}))||void 0===m?void 0:m(o);return e("img",{className:t("adyen-checkout__icon",r),alt:i,src:n,height:s,width:c})};export{o as default};
1
+ import{createElement as t}from"../../../external/preact/dist/preact.js";import e from"../../../_virtual/index.js";import o from"../../../core/Context/useImage.js";import r from"../Img/Img.js";const a=({type:a,className:m="",alt:s="",height:i,width:c})=>{var n;const l=null===(n=o()({imageFolder:"components/"}))||void 0===n?void 0:n(a);return t(r,{className:e("adyen-checkout__icon",m),alt:s,src:l,height:i,width:c})};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","iconUrl","useImage","imageFolder","h","img","cx","src"],"mappings":"mKAYA,MAAMA,EAAO,EAAGC,OAAMC,YAAY,GAAIC,MAAM,GAAIC,SAAQC,YAEpCC,IAAAA,EADhB,MACMC,EAAgD,QAAtCD,EADCE,GACDF,CAAS,CAAEG,YAAa,2BAAxBH,SAAAA,EAA2CL,GAE3D,OAAOS,EAACC,MAAAA,CAAIT,UAAWU,EAAG,uBAAwBV,GAAYC,IAAKA,EAAKU,IAAKN,EAASH,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","iconUrl","useImage","imageFolder","h","Img","cx","src"],"mappings":"gMAaA,MAAMA,EAAO,EAAGC,OAAMC,YAAY,GAAIC,MAAM,GAAIC,SAAQC,YAEpCC,IAAAA,EADhB,MACMC,EAAgD,QAAtCD,EADCE,GACDF,CAAS,CAAEG,YAAa,2BAAxBH,SAAAA,EAA2CL,GAE3D,OAAOS,EAACC,EAAAA,CAAIT,UAAWU,EAAG,uBAAwBV,GAAYC,IAAKA,EAAKU,IAAKN,EAASH,OAAQA,EAAQC,MAAOA"}
@@ -1,2 +1,2 @@
1
- import{useState as e,useRef as t,useEffect as r}from"../../../external/preact/hooks/dist/hooks.js";import o from"../../../_virtual/index.js";import{createElement as n}from"../../../external/preact/dist/preact.js";function c(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){c(e,t,r[t])})}return e}function s(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function i(c){const{backgroundUrl:i="",className:l="",classNameModifiers:u=[],src:f="",alt:p="",showOnError:b=!1}=c,[m,O]=e(!1),y=t(null),d=()=>{O(!0)},g=o([l],"adyen-checkout__image",{"adyen-checkout__image--loaded":m},...u.map(e=>`adyen-checkout__image--${e}`));return r(()=>{const e=i?new Image:y.current;e.src=i||f,e.onload=d,O(!!e.complete)},[]),i?n("div",s(a({"data-testid":"background",style:{backgroundUrl:i}},c),{className:g})):n("img",s(a({},c),{alt:p,ref:y,className:g,onError:()=>{O(b)}}))}export{i as default};
1
+ import{useState as e,useRef as r,useEffect as t}from"../../../external/preact/hooks/dist/hooks.js";import o from"../../../_virtual/index.js";import{createElement as n}from"../../../external/preact/dist/preact.js";function c(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),o.forEach(function(r){c(e,r,t[r])})}return e}function s(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}),e}function l(c){const{backgroundUrl:l="",className:i="",classNameModifiers:u=[],src:f="",alt:p="",showOnError:b=!1}=c,[m,O]=e(!1),y=r(null),d=()=>{O(!0)},g=o([i],"adyen-checkout__image",{"adyen-checkout__image--loaded":m},...u.map(e=>`adyen-checkout__image--${e}`));return t(()=>{const e=l?new Image:y.current;e.src=l||f,e.onload=d,O(!!e.complete)},[]),l?n("div",s(a({"data-testid":"background",style:{backgroundUrl:l}},c),{className:g})):n("img",s(a({},c),{alt:p,ref:y,className:g,onError:e=>{var r;O(b),null==c||null===(r=c.onError)||void 0===r||r.call(c,e)}}))}export{l 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":"8/BAOe,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,EAAAA,EAAAA,CAAIC,cAAY,aAAaC,MAAO,CAAEzB,kBAA0CD,GAAAA,CAAOE,UAAWW,KAGvGU,EAACI,MAAAA,EAAAA,EAAAA,CAAAA,EAAQ3B,GAAAA,CAAOK,IAAKA,EAAKuB,IAAKlB,EAAUR,UAAWW,EAAYgB,QAtBnD,KAChBrB,EAAUF,MAsBlB"}
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":"8/BAOe,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,EAAAA,EAAAA,CAAIC,cAAY,aAAaC,MAAO,CAAEzB,kBAA0CD,GAAAA,CAAOE,UAAWW,KAGvGU,EAACI,MAAAA,EAAAA,EAAAA,CAAAA,EAAQ3B,GAAAA,CAAOK,IAAKA,EAAKuB,IAAKlB,EAAUR,UAAWW,EAAYgB,QAvBlDC,IAEjB9B,IAAAA,EADAQ,EAAUF,GACVN,SAAc,QAAdA,EAAAA,EAAO6B,eAAP7B,IAAAA,GAAAA,OAAAA,EAAiB8B,MAsBzB"}
@@ -1,2 +1,2 @@
1
- import{createElement as e,Fragment as t}from"../../../external/preact/dist/preact.js";import{useState as s,useRef as r,useCallback as o,useEffect as n}from"../../../external/preact/hooks/dist/hooks.js";import i from"../../../utils/useForm/useForm.js";import l from"../FormFields/Field/Field.js";import a from"./IssuerButtonGroup/IssuerButtonGroup.js";import u from"../ContentSeparator/ContentSeparator.js";import{useCoreContext as c}from"../../../core/Context/CoreProvider.js";import m 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 f from"../DisclaimerMessage/DisclaimerMessage.js";import p from"../FormFields/Select/Select.js";import{ANALYTICS_LIST as h,ANALYTICS_FEATURED_ISSUER as y,ANALYTICS_SELECTED_STR as b,ANALYTICS_DISPLAYED_STR as j,ANALYTICS_SEARCH_DEBOUNCE_TIME as v,ANALYTICS_LIST_SEARCH as x,ANALYTICS_INPUT_STR as C}from"../../../core/Analytics/constants.js";import{debounce as F}from"../../../utils/debounce.js";import{AnalyticsInfoEvent as O}from"../../../core/Analytics/AnalyticsInfoEvent.js";function S(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function w(e,t){if(null==e)return{};var s,r,o=function(e,t){if(null==e)return{};var s,r,o={},n=Object.keys(e);for(r=0;r<n.length;r++)s=n[r],t.indexOf(s)>=0||(o[s]=e[s]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)s=n[r],t.indexOf(s)>=0||Object.prototype.propertyIsEnumerable.call(e,s)&&(o[s]=e[s])}return o}const I=({issuer:e,items:t},s)=>{var r;const o=null===(r=t.find(t=>t.id===e))||void 0===r?void 0:r.name;return e&&o?`${s.get("continueTo")} ${o}`:s.get("continue")},A=["issuer"],E={issuer:{validate:e=>!!e&&e.length>0,errorMessage:"issuerList.selectField.contextualText",modes:["blur"]}};function P(P){var{items:_,placeholder:M,issuer:k,highlightedIds:T=[],showContextualElement:V,contextualText:L,selectFieldLabel:B}=P,D=w(P,["items","placeholder","issuer","highlightedIds","showContextualElement","contextualText","selectFieldLabel"]);const{i18n:N}=c(),{handleChangeFor:R,triggerValidation:G,data:$,valid:K,errors:q,isValid:z}=i({schema:A,defaultData:{issuer:k},rules:E}),[H,J]=s("ready"),[Q,U]=s(1),{setSRMessagesFromObjects:W,shouldMoveFocusSR:X}=m(),Y=null==W?void 0:W({}),Z=r(null);this.setStatus=e=>{J(e)};const ee=o(e=>t=>{const s=1===e?h:y,r=_.find(e=>e.id===t.target.value),o=new O({type:b,target:s,issuer:r.name});D.onSubmitAnalytics(o),U(e),R("issuer")(t)},[R]),te=o(e=>{if(e){const e=new O({type:j,target:h});D.onSubmitAnalytics(e)}},[]),se=r(F(D.onSubmitAnalytics,v)),re=o(()=>{se.current({type:C,target:x})},[]);n(()=>{D.onChange({data:$,valid:K,errors:q,isValid:z});const e=null==Y?void 0:Y({errors:q,isValidating:!0});(null==e?void 0:e.action)===d&&X&&g(Z.current,"issuer-list")},[$,K,q,z]),this.showValidation=()=>{G()};const{highlightedItems:oe}=_.reduce((e,t)=>(T.includes(t.id)&&e.highlightedItems.push(function(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{},r=Object.keys(s);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(s).filter(function(e){return Object.getOwnPropertyDescriptor(s,e).enumerable}))),r.forEach(function(t){S(e,t,s[t])})}return e}({},t)),e),{highlightedItems:[]});return e("div",{ref:Z,className:"adyen-checkout__issuer-list"},!!oe.length&&e(t,null,e(a,{selectedIssuerId:0===Q?$.issuer:null,items:oe,onChange:ee(0)}),e(u,null)),e(l,{label:null!=B?B:N.get("issuerList.selectField.label"),errorMessage:(ne=q.issuer,ne&&ne.errorMessage?N.get(ne.errorMessage):!!ne),classNameModifiers:["issuer-list"],name:"issuer",showContextualElement:V,contextualText:L},e(p,{items:_,selectedValue:1===Q?$.issuer:null,placeholder:M,name:"issuer",className:"adyen-checkout__issuer-list__dropdown",onChange:ee(1),onListToggle:te,onInput:re})),D.termsAndConditions&&e("div",{className:"adyen-checkout__issuer-list__termsAndConditions"},e(f,{message:N.get(D.termsAndConditions.translationKey),urls:D.termsAndConditions.urls})),D.showPayButton&&D.payButton({status:H,label:I({issuer:$.issuer,items:[..._,...oe]},N)}));var ne}P.defaultProps={onChange:()=>{}};export{P as default};
1
+ import{createElement as e,Fragment as t}from"../../../external/preact/dist/preact.js";import{useState as s,useRef as r,useCallback as o,useEffect as n}from"../../../external/preact/hooks/dist/hooks.js";import i from"../../../utils/useForm/useForm.js";import l from"../FormFields/Field/Field.js";import a from"./IssuerButtonGroup/IssuerButtonGroup.js";import u from"../ContentSeparator/ContentSeparator.js";import{useCoreContext as c}from"../../../core/Context/CoreProvider.js";import m 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 f from"../DisclaimerMessage/DisclaimerMessage.js";import g from"../FormFields/Select/Select.js";import{ANALYTICS_SEARCH_DEBOUNCE_TIME as h}from"../../../core/Analytics/constants.js";import{debounce as y}from"../../../utils/debounce.js";import{AnalyticsInfoEvent as b,UiTarget as j,InfoEventType as v}from"../../../core/Analytics/events/AnalyticsInfoEvent.js";function x(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function C(e,t){if(null==e)return{};var s,r,o=function(e,t){if(null==e)return{};var s,r,o={},n=Object.keys(e);for(r=0;r<n.length;r++)s=n[r],t.indexOf(s)>=0||(o[s]=e[s]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)s=n[r],t.indexOf(s)>=0||Object.prototype.propertyIsEnumerable.call(e,s)&&(o[s]=e[s])}return o}const S=({issuer:e,items:t},s)=>{var r;const o=null===(r=t.find(t=>t.id===e))||void 0===r?void 0:r.name;return e&&o?`${s.get("continueTo")} ${o}`:s.get("continue")},F=["issuer"],O={issuer:{validate:e=>!!e&&e.length>0,errorMessage:"issuerList.selectField.contextualText",modes:["blur"]}};function w(w){var{items:I,placeholder:A,issuer:E,highlightedIds:P=[],showContextualElement:_,contextualText:M,selectFieldLabel:k}=w,T=C(w,["items","placeholder","issuer","highlightedIds","showContextualElement","contextualText","selectFieldLabel"]);const{i18n:V}=c(),{handleChangeFor:L,triggerValidation:B,data:D,valid:N,errors:R,isValid:G}=i({schema:F,defaultData:{issuer:E},rules:O}),[$,K]=s("ready"),[q,z]=s(1),{setSRMessagesFromObjects:H,shouldMoveFocusSR:J}=m(),Q=null==H?void 0:H({}),U=r(null);this.setStatus=e=>{K(e)};const W=o(e=>t=>{const s=1===e?j.list:j.featuredIssuer,r=I.find(e=>e.id===t.target.value),o=new b({component:T.type,type:v.selected,target:s,issuer:r.name});T.onSubmitAnalytics(o),z(e),L("issuer")(t)},[L,T.type]),X=o(e=>{if(e){const e=new b({component:T.type,type:v.displayed,target:j.list});T.onSubmitAnalytics(e)}},[T.type,T.onSubmitAnalytics]),Y=r(y(T.onSubmitAnalytics,h)),Z=o(()=>{Y.current({type:v.input,target:j.listSearch})},[]);n(()=>{T.onChange({data:D,valid:N,errors:R,isValid:G});const e=null==Q?void 0:Q({errors:R,isValidating:!0});(null==e?void 0:e.action)===d&&J&&p(U.current,"issuer-list")},[D,N,R,G]),this.showValidation=()=>{B()};const{highlightedItems:ee}=I.reduce((e,t)=>(P.includes(t.id)&&e.highlightedItems.push(function(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{},r=Object.keys(s);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(s).filter(function(e){return Object.getOwnPropertyDescriptor(s,e).enumerable}))),r.forEach(function(t){x(e,t,s[t])})}return e}({},t)),e),{highlightedItems:[]});return e("div",{ref:U,className:"adyen-checkout__issuer-list"},!!ee.length&&e(t,null,e(a,{selectedIssuerId:0===q?D.issuer:null,items:ee,onChange:W(0)}),e(u,null)),e(l,{label:null!=k?k:V.get("issuerList.selectField.label"),errorMessage:(te=R.issuer,te&&te.errorMessage?V.get(te.errorMessage):!!te),classNameModifiers:["issuer-list"],name:"issuer",showContextualElement:_,contextualText:M},e(g,{items:I,selectedValue:1===q?D.issuer:null,placeholder:A,name:"issuer",className:"adyen-checkout__issuer-list__dropdown",onChange:W(1),onListToggle:X,onInput:Z})),T.termsAndConditions&&e("div",{className:"adyen-checkout__issuer-list__termsAndConditions"},e(f,{message:V.get(T.termsAndConditions.translationKey),urls:T.termsAndConditions.urls})),T.showPayButton&&T.payButton({status:$,label:S({issuer:D.issuer,items:[...I,...ee]},V)}));var te}w.defaultProps={onChange:()=>{}};export{w 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","_param","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","_object_spread","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","_param","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","_object_spread","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":"0/CAsBA,MAAMA,EAAiB,EAAGC,SAAQC,SAASC,KACpBD,IAAAA,EAAnB,MAAME,EAAsCH,QAAzBC,EAAAA,EAAMG,KAAKC,GAAKA,EAAEC,KAAON,UAAzBC,IAAAA,OAAAA,EAAAA,EAAkCM,KACrD,OAAKP,GAAWG,EACT,GAAGD,EAAKM,IAAI,iBAAiBL,IADDD,EAAKM,IAAI,aAI1CC,EAAS,CAAC,UACVC,EAAkC,CACpCV,OAAQ,CACJW,SAAUX,KAAYA,GAAUA,EAAOY,OAAS,EAChDC,aAAc,wCACdC,MAAO,CAAC,UAShB,SAASC,EAAWC,GAAA,IAAAf,MAChBA,EAAKgB,YACLA,EAAWjB,OACXA,EAAMkB,eACNA,EAAiB,GAAEC,sBACnBA,EAAqBC,eACrBA,EAAcC,iBACdA,GAPgBL,EAQbM,EAAAA,EARaN,EAAA,CAChBf,QACAgB,cACAjB,SACAkB,iBACAC,wBACAC,iBACAC,qBAGA,MAAMnB,KAAEA,GAASqB,KACXC,gBAAEA,EAAeC,kBAAEA,EAAiBC,KAAEA,EAAIC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GAAYC,EAAQ,CACjFrB,SACAsB,YAAa,CAAE/B,UACfgC,MAAOtB,KAEJuB,EAAQC,GAAaC,EAAS,UAC9BC,EAAWC,GAAgBF,EAAAA,IAE5BG,yBAAEA,EAAwBC,kBAAEA,GAAsBC,IAClDC,EAAuCH,aAAAA,EAAAA,EAA2B,IAElEI,EAAeC,EAAuB,MAI5CC,KAAKV,UAAYW,IACbX,EAAUW,IAGd,MAAMC,EAAoBC,EACrBC,GAAgCC,IAC7B,MAAMC,EAASF,IAAAA,EAAyCG,EAASC,KAAOD,EAASE,eAC3EC,EAAYrD,EAAMG,KAAKJ,GAAUA,EAAOM,KAAQ2C,EAAMC,OAA8BK,OAEpFC,EAAiB,IAAIC,EAAmB,CAC1CC,UAAWpC,EAAM0B,KACjBA,KAAMW,EAAcC,SACpBV,SACAlD,OAAQsD,EAAU/C,OAEtBe,EAAMuC,kBAAkBL,GAExBnB,EAAaW,GACbxB,EAAgB,SAAhBA,CAA0ByB,IAE9B,CAACzB,EAAiBF,EAAM0B,OAGtBc,EAAmBf,EACpBgB,IACG,GAAIA,EAAQ,CACR,MAAMd,EAAQ,IAAIQ,EAAmB,CACjCC,UAAWpC,EAAM0B,KACjBA,KAAMW,EAAcK,UACpBd,OAAQC,EAASC,OAErB9B,EAAMuC,kBAAkBZ,EAC5B,GAEJ,CAAC3B,EAAM0B,KAAM1B,EAAMuC,oBAGjBI,EAA0BtB,EAAOuB,EAAS5C,EAAMuC,kBAAmBM,IAEnEC,EAAerB,EAAY,KAC7BkB,EAAwBI,QAAQ,CAAErB,KAAMW,EAAcW,MAAOpB,OAAQC,EAASoB,cAC/E,IAEHC,EAAU,KACNlD,EAAMmD,SAAS,CAAE/C,OAAMC,QAAOC,SAAQC,YAEtC,MAAM6C,EAAyCjC,aAAAA,EAAAA,EAAgB,CAAEb,SAAQ+C,cAAc,KACnFD,aAAAA,EAAAA,EAAaE,UAAWC,GAEpBtC,GAAmBuC,EAAgBpC,EAAa2B,QAAS,gBAElE,CAAC3C,EAAMC,EAAOC,EAAQC,IAEzBe,KAAKmC,eAAiB,KAClBtD,KAGJ,MAAMuD,iBAAEA,IAAqB/E,EAAMgF,OAC/B,CAACC,EAAMC,KACCjE,EAAekE,SAASD,EAAK7E,KAAK4E,EAAKF,iBAAiBK,uUAAKC,CAAA,CAAA,EAAKH,IAC/DD,GAEX,CAAEF,iBAAkB,KAGxB,OACIO,EAACC,MAAAA,CAAIC,IAAK/C,EAAcgD,UAAU,iCAC3BV,GAAiBpE,QAChB2E,EAACI,OACGJ,EAACK,EAAAA,CACGC,iBAAkBzD,IAAAA,EAAiDV,EAAK,OAAY,KACpFzB,MAAO+E,GACPP,SAAU3B,EAAAA,KAEdyC,EAACO,SAITP,EAACQ,EAAAA,CACGC,MAAO3E,QAAAA,EAAoBnB,EAAKM,IAAI,gCACpCK,cAlFYoF,GAkFkBrE,EAAO5B,OAlFfiG,IAASA,GAAMpF,aAAeX,EAAKM,IAAIyF,GAAMpF,gBAAkBoF,IAmFrFC,mBAAoB,CAAC,eACrB3F,KAAM,SACNY,sBAAuBA,EACvBC,eAAgBA,GAEhBmE,EAACY,EAAAA,CACGlG,MAAOA,EACPmG,cAAehE,IAAAA,EAA8CV,EAAK,OAAY,KAC9ET,YAAaA,EACbV,KAAM,SACNmF,UAAW,wCACXjB,SAAU3B,EAAAA,GACVuD,aAAcvC,EACdwC,QAASlC,KAIhB9C,EAAMiF,oBACHhB,EAACC,MAAAA,CAAIE,UAAU,mDACXH,EAACiB,EAAAA,CAAkBC,QAASvG,EAAKM,IAAIc,EAAMiF,mBAAmBG,gBAAiBC,KAAMrF,EAAMiF,mBAAmBI,QAIrHrF,EAAMsF,eACHtF,EAAMuF,UAAU,CACZ5E,SACA+D,MAAOjG,EAAe,CAAEC,OAAQ0B,EAAK,OAAWzB,MAAO,IAAIA,KAAU+E,KAAqB9E,MA7GlF+F,IAAAA,EAiH5B,CAEAlF,EAAW+F,aAAe,CACtBrC,SAAU"}
@@ -1,2 +1,2 @@
1
- import{createElement as e,Fragment as r}from"../../../external/preact/dist/preact.js";import{useRef as t,useMemo as a,useEffect as l}from"../../../external/preact/hooks/dist/hooks.js";import s from"../FormFields/Fieldset/Fieldset.js";import i from"../FormFields/Field/Field.js";import o from"./ReadOnlyPersonalDetails.js";import{personalDetailsValidationRules as n}from"./validate.js";import{useCoreContext as m}from"../../../core/Context/CoreProvider.js";import{checkDateInputSupport as p}from"../FormFields/InputDate/utils.js";import{getFormattedData as u}from"./utils.js";import d from"../../../utils/useForm/useForm.js";import c from"../FormFields/InputText.js";import f from"../FormFields/RadioGroup/RadioGroup.js";import h from"../FormFields/InputDate/InputDate.js";import b from"../FormFields/InputEmail.js";import g from"../FormFields/InputTelephone.js";import{getErrorMessage as N}from"../../../utils/getErrorMessage.js";function O(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function j(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},a=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.forEach(function(r){O(e,r,t[r])})}return e}function F(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}),e}const y=["firstName","lastName","gender","dateOfBirth","shopperEmail","telephoneNumber"];function M(O){const{label:y="",namePrefix:M,placeholders:v,requiredFields:E,visibility:B}=O,{i18n:P}=m(),I=t({});var w;Object.keys(I.current).length||(null===(w=O.setComponentRef)||void 0===w||w.call(O,I.current));const D=a(p,[]),{handleChangeFor:C,triggerValidation:q,data:k,valid:R,errors:x,isValid:S}=d({schema:E,rules:j({},n,O.validationRules),defaultData:O.data});I.current.showValidation=()=>{q()};const V=e=>r=>{const{name:t}=r.target,a=t.split(`${M}.`).pop();C(a,e)(r)},$=e=>`${M?`${M}.`:""}${e}`;return l(()=>{const e=u(k);O.onChange({data:e,valid:R,errors:x,isValid:S})},[k,R,x,S]),"hidden"===B?null:"readOnly"===B?e(o,F(j({},O),{data:k})):e(r,null,e(s,{classNameModifiers:["personalDetails"],label:y},E.includes("firstName")&&e(i,{label:P.get("firstName"),classNameModifiers:["col-50","firstName"],errorMessage:N(P,x.firstName,P.get("firstName")),name:"firstName",i18n:P},e(c,{name:$("firstName"),value:k.firstName,classNameModifiers:["firstName"],onInput:V("input"),onBlur:V("blur"),placeholder:v.firstName,spellCheck:!1,required:!0})),E.includes("lastName")&&e(i,{label:P.get("lastName"),classNameModifiers:["col-50","lastName"],errorMessage:N(P,x.lastName,P.get("lastName")),name:"lastName",i18n:P},e(c,{name:$("lastName"),value:k.lastName,classNameModifiers:["lastName"],onInput:V("input"),onBlur:V("blur"),placeholder:v.lastName,spellCheck:!1,required:!0})),E.includes("gender")&&e(i,{errorMessage:N(P,x.gender),classNameModifiers:["gender"],name:"gender",useLabelElement:!1},e(f,{name:$("gender"),value:k.gender,items:[{id:"MALE",name:"male"},{id:"FEMALE",name:"female"}],classNameModifiers:["gender"],onInput:V("input"),onChange:V("blur"),required:!0})),E.includes("dateOfBirth")&&e(i,{label:P.get("dateOfBirth"),classNameModifiers:["col-50","dateOfBirth"],errorMessage:N(P,x.dateOfBirth,P.get("dateOfBirth")),helper:D?null:P.get("dateOfBirth.format"),name:"dateOfBirth",i18n:P},e(h,{name:$("dateOfBirth"),value:k.dateOfBirth,classNameModifiers:["dateOfBirth"],onInput:V("input"),onBlur:V("blur"),placeholder:v.dateOfBirth,required:!0})),E.includes("shopperEmail")&&e(i,{label:P.get("shopperEmail"),classNameModifiers:["shopperEmail"],errorMessage:N(P,x.shopperEmail,P.get("shopperEmail")),dir:"ltr",name:"emailAddress",i18n:P},e(b,{name:$("shopperEmail"),value:k.shopperEmail,classNameModifiers:["shopperEmail"],onInput:V("input"),onBlur:V("blur"),placeholder:v.shopperEmail,required:!0})),E.includes("telephoneNumber")&&e(i,{label:P.get("telephoneNumber"),classNameModifiers:["telephoneNumber"],errorMessage:N(P,x.telephoneNumber,P.get("telephoneNumber")),dir:"ltr",name:"telephoneNumber",i18n:P},e(g,{name:$("telephoneNumber"),value:k.telephoneNumber,classNameModifiers:["telephoneNumber"],onInput:V("input"),onBlur:V("blur"),placeholder:v.telephoneNumber,required:!0}))))}M.defaultProps={data:{},onChange:()=>{},placeholders:{},requiredFields:y,validationRules:n,visibility:"editable"};export{y as PERSONAL_DETAILS_SCHEMA,M as default};
1
+ import{createElement as e,Fragment as r}from"../../../external/preact/dist/preact.js";import{useRef as t,useMemo as a,useEffect as l}from"../../../external/preact/hooks/dist/hooks.js";import s from"../FormFields/Fieldset/Fieldset.js";import i from"../FormFields/Field/Field.js";import o from"./ReadOnlyPersonalDetails.js";import{personalDetailsValidationRules as n}from"./validate.js";import{useCoreContext as m}from"../../../core/Context/CoreProvider.js";import{checkDateInputSupport as p}from"../FormFields/InputDate/utils.js";import{getFormattedData as u}from"./utils.js";import d from"../../../utils/useForm/useForm.js";import c from"../FormFields/InputText.js";import f from"../FormFields/InputDate/InputDate.js";import h from"../FormFields/InputEmail.js";import b from"../FormFields/InputTelephone.js";import{getErrorMessage as N}from"../../../utils/getErrorMessage.js";function O(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function g(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},a=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.forEach(function(r){O(e,r,t[r])})}return e}function j(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}),e}const F=["firstName","lastName","dateOfBirth","shopperEmail","telephoneNumber"];function y(O){const{label:F="",namePrefix:y,placeholders:v,requiredFields:M,visibility:B}=O,{i18n:E}=m(),P=t({});var I;Object.keys(P.current).length||(null===(I=O.setComponentRef)||void 0===I||I.call(O,P.current));const w=a(p,[]),{handleChangeFor:D,triggerValidation:C,data:k,valid:q,errors:x,isValid:R}=d({schema:M,rules:g({},n,O.validationRules),defaultData:O.data});P.current.showValidation=()=>{C()};const S=e=>r=>{const{name:t}=r.target,a=t.split(`${y}.`).pop();D(a,e)(r)},V=e=>`${y?`${y}.`:""}${e}`;return l(()=>{const e=u(k);O.onChange({data:e,valid:q,errors:x,isValid:R})},[k,q,x,R]),"hidden"===B?null:"readOnly"===B?e(o,j(g({},O),{data:k})):e(r,null,e(s,{classNameModifiers:["personalDetails"],label:F},M.includes("firstName")&&e(i,{label:E.get("firstName"),classNameModifiers:["col-50","firstName"],errorMessage:N(E,x.firstName,E.get("firstName")),name:"firstName",i18n:E},e(c,{name:V("firstName"),value:k.firstName,classNameModifiers:["firstName"],onInput:S("input"),onBlur:S("blur"),placeholder:v.firstName,spellCheck:!1,required:!0})),M.includes("lastName")&&e(i,{label:E.get("lastName"),classNameModifiers:["col-50","lastName"],errorMessage:N(E,x.lastName,E.get("lastName")),name:"lastName",i18n:E},e(c,{name:V("lastName"),value:k.lastName,classNameModifiers:["lastName"],onInput:S("input"),onBlur:S("blur"),placeholder:v.lastName,spellCheck:!1,required:!0})),M.includes("dateOfBirth")&&e(i,{label:E.get("dateOfBirth"),classNameModifiers:["col-50","dateOfBirth"],errorMessage:N(E,x.dateOfBirth,E.get("dateOfBirth")),helper:w?null:E.get("dateOfBirth.format"),name:"dateOfBirth",i18n:E},e(f,{name:V("dateOfBirth"),value:k.dateOfBirth,classNameModifiers:["dateOfBirth"],onInput:S("input"),onBlur:S("blur"),placeholder:v.dateOfBirth,required:!0})),M.includes("shopperEmail")&&e(i,{label:E.get("shopperEmail"),classNameModifiers:["shopperEmail"],errorMessage:N(E,x.shopperEmail,E.get("shopperEmail")),dir:"ltr",name:"emailAddress",i18n:E},e(h,{name:V("shopperEmail"),value:k.shopperEmail,classNameModifiers:["shopperEmail"],onInput:S("input"),onBlur:S("blur"),placeholder:v.shopperEmail,required:!0})),M.includes("telephoneNumber")&&e(i,{label:E.get("telephoneNumber"),classNameModifiers:["telephoneNumber"],errorMessage:N(E,x.telephoneNumber,E.get("telephoneNumber")),dir:"ltr",name:"telephoneNumber",i18n:E},e(b,{name:V("telephoneNumber"),value:k.telephoneNumber,classNameModifiers:["telephoneNumber"],onInput:S("input"),onBlur:S("blur"),placeholder:v.telephoneNumber,required:!0}))))}y.defaultProps={data:{},onChange:()=>{},placeholders:{},requiredFields:F,validationRules:n,visibility:"editable"};export{F as PERSONAL_DETAILS_SCHEMA,y as default};
2
2
  //# sourceMappingURL=PersonalDetails.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PersonalDetails.js","sources":["../../../../../src/components/internal/PersonalDetails/PersonalDetails.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport { useEffect, useMemo, useRef } from 'preact/hooks';\nimport Fieldset from '../FormFields/Fieldset';\nimport Field from '../FormFields/Field';\nimport ReadOnlyPersonalDetails from './ReadOnlyPersonalDetails';\nimport { personalDetailsValidationRules } from './validate';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { PersonalDetailsProps } from './types';\nimport { checkDateInputSupport } from '../FormFields/InputDate/utils';\nimport { PersonalDetailsSchema } from '../../../types';\nimport { getFormattedData } from './utils';\nimport useForm from '../../../utils/useForm';\nimport './PersonalDetails.scss';\nimport InputText from '../FormFields/InputText';\nimport RadioGroup from '../FormFields/RadioGroup';\nimport InputDate from '../FormFields/InputDate';\nimport InputEmail from '../FormFields/InputEmail';\nimport InputTelephone from '../FormFields/InputTelephone';\nimport { getErrorMessage } from '../../../utils/getErrorMessage';\nimport { ComponentMethodsRef } from '../UIElement/types';\nimport { HandleChangeForModeType } from '../../../utils/useForm/types';\n\nexport const PERSONAL_DETAILS_SCHEMA = ['firstName', 'lastName', 'gender', 'dateOfBirth', 'shopperEmail', 'telephoneNumber'];\n\nexport default function PersonalDetails(props: PersonalDetailsProps) {\n const { label = '', namePrefix, placeholders, requiredFields, visibility } = props;\n\n const { i18n } = useCoreContext();\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const personalDetailsRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(personalDetailsRef.current).length) {\n props.setComponentRef?.(personalDetailsRef.current);\n }\n\n const isDateInputSupported = useMemo(checkDateInputSupport, []);\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<PersonalDetailsSchema>({\n schema: requiredFields,\n // Ensure any passed validation rules are merged with the default ones\n rules: { ...personalDetailsValidationRules, ...props.validationRules },\n defaultData: props.data\n });\n\n // Expose method expected by (parent) PersonalDetails.tsx\n personalDetailsRef.current.showValidation = () => {\n triggerValidation();\n };\n\n const eventHandler =\n (mode: HandleChangeForModeType): h.JSX.GenericEventHandler<EventTarget> =>\n (e: Event): void => {\n const { name } = e.target as HTMLInputElement;\n const key = name.split(`${namePrefix}.`).pop();\n\n handleChangeFor(key, mode)(e);\n };\n\n const generateFieldName = (name: string): string => `${namePrefix ? `${namePrefix}.` : ''}${name}`;\n\n useEffect(() => {\n const formattedData = getFormattedData(data);\n props.onChange({ data: formattedData, valid, errors, isValid });\n }, [data, valid, errors, isValid]);\n\n if (visibility === 'hidden') return null;\n if (visibility === 'readOnly') return <ReadOnlyPersonalDetails {...props} data={data} />;\n\n return (\n <Fragment>\n <Fieldset classNameModifiers={['personalDetails']} label={label}>\n {requiredFields.includes('firstName') && (\n <Field\n label={i18n.get('firstName')}\n classNameModifiers={['col-50', 'firstName']}\n errorMessage={getErrorMessage(i18n, errors.firstName, i18n.get('firstName'))}\n name={'firstName'}\n i18n={i18n}\n >\n <InputText\n name={generateFieldName('firstName')}\n value={data.firstName}\n classNameModifiers={['firstName']}\n onInput={eventHandler('input')}\n onBlur={eventHandler('blur')}\n placeholder={placeholders.firstName}\n spellCheck={false}\n required={true}\n />\n </Field>\n )}\n\n {requiredFields.includes('lastName') && (\n <Field\n label={i18n.get('lastName')}\n classNameModifiers={['col-50', 'lastName']}\n errorMessage={getErrorMessage(i18n, errors.lastName, i18n.get('lastName'))}\n name={'lastName'}\n i18n={i18n}\n >\n <InputText\n name={generateFieldName('lastName')}\n value={data.lastName}\n classNameModifiers={['lastName']}\n onInput={eventHandler('input')}\n onBlur={eventHandler('blur')}\n placeholder={placeholders.lastName}\n spellCheck={false}\n required={true}\n />\n </Field>\n )}\n\n {requiredFields.includes('gender') && (\n <Field\n errorMessage={getErrorMessage(i18n, errors.gender)}\n classNameModifiers={['gender']}\n name={'gender'}\n useLabelElement={false}\n >\n <RadioGroup\n name={generateFieldName('gender')}\n value={data.gender}\n items={[\n { id: 'MALE', name: 'male' },\n { id: 'FEMALE', name: 'female' }\n ]}\n classNameModifiers={['gender']}\n onInput={eventHandler('input')}\n onChange={eventHandler('blur')}\n required={true}\n />\n </Field>\n )}\n\n {requiredFields.includes('dateOfBirth') && (\n <Field\n label={i18n.get('dateOfBirth')}\n classNameModifiers={['col-50', 'dateOfBirth']}\n errorMessage={getErrorMessage(i18n, errors.dateOfBirth, i18n.get('dateOfBirth'))}\n helper={isDateInputSupported ? null : i18n.get('dateOfBirth.format')}\n name={'dateOfBirth'}\n i18n={i18n}\n >\n <InputDate\n name={generateFieldName('dateOfBirth')}\n value={data.dateOfBirth}\n classNameModifiers={['dateOfBirth']}\n onInput={eventHandler('input')}\n onBlur={eventHandler('blur')}\n placeholder={placeholders.dateOfBirth}\n required={true}\n />\n </Field>\n )}\n\n {requiredFields.includes('shopperEmail') && (\n <Field\n label={i18n.get('shopperEmail')}\n classNameModifiers={['shopperEmail']}\n errorMessage={getErrorMessage(i18n, errors.shopperEmail, i18n.get('shopperEmail'))}\n dir={'ltr'}\n name={'emailAddress'}\n i18n={i18n}\n >\n <InputEmail\n name={generateFieldName('shopperEmail')}\n value={data.shopperEmail}\n classNameModifiers={['shopperEmail']}\n onInput={eventHandler('input')}\n onBlur={eventHandler('blur')}\n placeholder={placeholders.shopperEmail}\n required={true}\n />\n </Field>\n )}\n\n {requiredFields.includes('telephoneNumber') && (\n <Field\n label={i18n.get('telephoneNumber')}\n classNameModifiers={['telephoneNumber']}\n errorMessage={getErrorMessage(i18n, errors.telephoneNumber, i18n.get('telephoneNumber'))}\n dir={'ltr'}\n name={'telephoneNumber'}\n i18n={i18n}\n >\n <InputTelephone\n name={generateFieldName('telephoneNumber')}\n value={data.telephoneNumber}\n classNameModifiers={['telephoneNumber']}\n onInput={eventHandler('input')}\n onBlur={eventHandler('blur')}\n placeholder={placeholders.telephoneNumber}\n required={true}\n />\n </Field>\n )}\n </Fieldset>\n </Fragment>\n );\n}\n\nPersonalDetails.defaultProps = {\n data: {},\n onChange: () => {},\n placeholders: {},\n requiredFields: PERSONAL_DETAILS_SCHEMA,\n validationRules: personalDetailsValidationRules,\n visibility: 'editable'\n};\n"],"names":["PERSONAL_DETAILS_SCHEMA","PersonalDetails","props","label","namePrefix","placeholders","requiredFields","visibility","i18n","useCoreContext","personalDetailsRef","useRef","Object","keys","current","length","setComponentRef","isDateInputSupported","useMemo","checkDateInputSupport","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","schema","rules","_object_spread","personalDetailsValidationRules","validationRules","defaultData","showValidation","eventHandler","mode","e","name","target","key","split","pop","generateFieldName","useEffect","formattedData","getFormattedData","onChange","h","ReadOnlyPersonalDetails","Fragment","Fieldset","classNameModifiers","includes","Field","get","errorMessage","getErrorMessage","firstName","InputText","value","onInput","onBlur","placeholder","spellCheck","required","lastName","gender","useLabelElement","RadioGroup","items","id","dateOfBirth","helper","InputDate","shopperEmail","dir","InputEmail","telephoneNumber","InputTelephone","defaultProps"],"mappings":"itDAsBaA,EAA0B,CAAC,YAAa,WAAY,SAAU,cAAe,eAAgB,mBAE3F,SAASC,EAAgBC,GACpC,MAAMC,MAAEA,EAAQ,GAAEC,WAAEA,EAAUC,aAAEA,EAAYC,eAAEA,EAAcC,WAAEA,GAAeL,GAEvEM,KAAEA,GAASC,IAGXC,EAAqBC,EAA4B,IAGnDT,IAAAA,EADCU,OAAOC,KAAKH,EAAmBI,SAASC,SACpB,QAArBb,EAAAA,EAAMc,2BAANd,GAAAA,EAAAA,KAAAA,EAAwBQ,EAAmBI,UAG/C,MAAMG,EAAuBC,EAAQC,EAAuB,KACtDC,gBAAEA,EAAeC,kBAAEA,EAAiBC,KAAEA,EAAIC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GAAYC,EAA+B,CACxGC,OAAQrB,EAERsB,MAAOC,EAAA,CAAA,EAAKC,EAAmC5B,EAAM6B,iBACrDC,YAAa9B,EAAMoB,OAIvBZ,EAAmBI,QAAQmB,eAAiB,KACxCZ,KAGJ,MAAMa,EACDC,GACAC,IACG,MAAMC,KAAEA,GAASD,EAAEE,OACbC,EAAMF,EAAKG,MAAM,GAAGpC,MAAeqC,MAEzCrB,EAAgBmB,EAAKJ,EAArBf,CAA2BgB,IAG7BM,EAAqBL,GAAyB,GAAGjC,EAAa,GAAGA,KAAgB,KAAKiC,IAO5F,OALAM,EAAU,KACN,MAAMC,EAAgBC,EAAiBvB,GACvCpB,EAAM4C,SAAS,CAAExB,KAAMsB,EAAerB,QAAOC,SAAQC,aACtD,CAACH,EAAMC,EAAOC,EAAQC,IAEN,WAAflB,EAAgC,KACjB,aAAfA,EAAkCwC,EAACC,EAAAA,EAAAA,EAAAA,GAA4B9C,GAAAA,CAAOoB,KAAMA,KAG5EyB,EAACE,OACGF,EAACG,EAAAA,CAASC,mBAAoB,CAAC,mBAAoBhD,MAAOA,GACrDG,EAAe8C,SAAS,cACrBL,EAACM,EAAAA,CACGlD,MAAOK,EAAK8C,IAAI,aAChBH,mBAAoB,CAAC,SAAU,aAC/BI,aAAcC,EAAgBhD,EAAMgB,EAAOiC,UAAWjD,EAAK8C,IAAI,cAC/DjB,KAAM,YACN7B,KAAMA,GAENuC,EAACW,EAAAA,CACGrB,KAAMK,EAAkB,aACxBiB,MAAOrC,EAAKmC,UACZN,mBAAoB,CAAC,aACrBS,QAAS1B,EAAa,SACtB2B,OAAQ3B,EAAa,QACrB4B,YAAazD,EAAaoD,UAC1BM,YAAY,EACZC,UAAU,KAKrB1D,EAAe8C,SAAS,aACrBL,EAACM,EAAAA,CACGlD,MAAOK,EAAK8C,IAAI,YAChBH,mBAAoB,CAAC,SAAU,YAC/BI,aAAcC,EAAgBhD,EAAMgB,EAAOyC,SAAUzD,EAAK8C,IAAI,aAC9DjB,KAAM,WACN7B,KAAMA,GAENuC,EAACW,EAAAA,CACGrB,KAAMK,EAAkB,YACxBiB,MAAOrC,EAAK2C,SACZd,mBAAoB,CAAC,YACrBS,QAAS1B,EAAa,SACtB2B,OAAQ3B,EAAa,QACrB4B,YAAazD,EAAa4D,SAC1BF,YAAY,EACZC,UAAU,KAKrB1D,EAAe8C,SAAS,WACrBL,EAACM,EAAAA,CACGE,aAAcC,EAAgBhD,EAAMgB,EAAO0C,QAC3Cf,mBAAoB,CAAC,UACrBd,KAAM,SACN8B,iBAAiB,GAEjBpB,EAACqB,EAAAA,CACG/B,KAAMK,EAAkB,UACxBiB,MAAOrC,EAAK4C,OACZG,MAAO,CACH,CAAEC,GAAI,OAAQjC,KAAM,QACpB,CAAEiC,GAAI,SAAUjC,KAAM,WAE1Bc,mBAAoB,CAAC,UACrBS,QAAS1B,EAAa,SACtBY,SAAUZ,EAAa,QACvB8B,UAAU,KAKrB1D,EAAe8C,SAAS,gBACrBL,EAACM,EAAAA,CACGlD,MAAOK,EAAK8C,IAAI,eAChBH,mBAAoB,CAAC,SAAU,eAC/BI,aAAcC,EAAgBhD,EAAMgB,EAAO+C,YAAa/D,EAAK8C,IAAI,gBACjEkB,OAAQvD,EAAuB,KAAOT,EAAK8C,IAAI,sBAC/CjB,KAAM,cACN7B,KAAMA,GAENuC,EAAC0B,EAAAA,CACGpC,KAAMK,EAAkB,eACxBiB,MAAOrC,EAAKiD,YACZpB,mBAAoB,CAAC,eACrBS,QAAS1B,EAAa,SACtB2B,OAAQ3B,EAAa,QACrB4B,YAAazD,EAAakE,YAC1BP,UAAU,KAKrB1D,EAAe8C,SAAS,iBACrBL,EAACM,EAAAA,CACGlD,MAAOK,EAAK8C,IAAI,gBAChBH,mBAAoB,CAAC,gBACrBI,aAAcC,EAAgBhD,EAAMgB,EAAOkD,aAAclE,EAAK8C,IAAI,iBAClEqB,IAAK,MACLtC,KAAM,eACN7B,KAAMA,GAENuC,EAAC6B,EAAAA,CACGvC,KAAMK,EAAkB,gBACxBiB,MAAOrC,EAAKoD,aACZvB,mBAAoB,CAAC,gBACrBS,QAAS1B,EAAa,SACtB2B,OAAQ3B,EAAa,QACrB4B,YAAazD,EAAaqE,aAC1BV,UAAU,KAKrB1D,EAAe8C,SAAS,oBACrBL,EAACM,EAAAA,CACGlD,MAAOK,EAAK8C,IAAI,mBAChBH,mBAAoB,CAAC,mBACrBI,aAAcC,EAAgBhD,EAAMgB,EAAOqD,gBAAiBrE,EAAK8C,IAAI,oBACrEqB,IAAK,MACLtC,KAAM,kBACN7B,KAAMA,GAENuC,EAAC+B,EAAAA,CACGzC,KAAMK,EAAkB,mBACxBiB,MAAOrC,EAAKuD,gBACZ1B,mBAAoB,CAAC,mBACrBS,QAAS1B,EAAa,SACtB2B,OAAQ3B,EAAa,QACrB4B,YAAazD,EAAawE,gBAC1Bb,UAAU,MAOtC,CAEA/D,EAAgB8E,aAAe,CAC3BzD,KAAM,CAAA,EACNwB,SAAU,OACVzC,aAAc,CAAA,EACdC,eAAgBN,EAChB+B,gBAAiBD,EACjBvB,WAAY"}
1
+ {"version":3,"file":"PersonalDetails.js","sources":["../../../../../src/components/internal/PersonalDetails/PersonalDetails.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport { useEffect, useMemo, useRef } from 'preact/hooks';\nimport Fieldset from '../FormFields/Fieldset';\nimport Field from '../FormFields/Field';\nimport ReadOnlyPersonalDetails from './ReadOnlyPersonalDetails';\nimport { personalDetailsValidationRules } from './validate';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { PersonalDetailsProps } from './types';\nimport { checkDateInputSupport } from '../FormFields/InputDate/utils';\nimport { PersonalDetailsSchema } from '../../../types';\nimport { getFormattedData } from './utils';\nimport useForm from '../../../utils/useForm';\nimport './PersonalDetails.scss';\nimport InputText from '../FormFields/InputText';\nimport InputDate from '../FormFields/InputDate';\nimport InputEmail from '../FormFields/InputEmail';\nimport InputTelephone from '../FormFields/InputTelephone';\nimport { getErrorMessage } from '../../../utils/getErrorMessage';\nimport { ComponentMethodsRef } from '../UIElement/types';\nimport { HandleChangeForModeType } from '../../../utils/useForm/types';\n\nexport const PERSONAL_DETAILS_SCHEMA = ['firstName', 'lastName', 'dateOfBirth', 'shopperEmail', 'telephoneNumber'];\n\nexport default function PersonalDetails(props: PersonalDetailsProps) {\n const { label = '', namePrefix, placeholders, requiredFields, visibility } = props;\n\n const { i18n } = useCoreContext();\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const personalDetailsRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(personalDetailsRef.current).length) {\n props.setComponentRef?.(personalDetailsRef.current);\n }\n\n const isDateInputSupported = useMemo(checkDateInputSupport, []);\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<PersonalDetailsSchema>({\n schema: requiredFields,\n // Ensure any passed validation rules are merged with the default ones\n rules: { ...personalDetailsValidationRules, ...props.validationRules },\n defaultData: props.data\n });\n\n // Expose method expected by (parent) PersonalDetails.tsx\n personalDetailsRef.current.showValidation = () => {\n triggerValidation();\n };\n\n const eventHandler =\n (mode: HandleChangeForModeType): h.JSX.GenericEventHandler<EventTarget> =>\n (e: Event): void => {\n const { name } = e.target as HTMLInputElement;\n const key = name.split(`${namePrefix}.`).pop();\n\n handleChangeFor(key, mode)(e);\n };\n\n const generateFieldName = (name: string): string => `${namePrefix ? `${namePrefix}.` : ''}${name}`;\n\n useEffect(() => {\n const formattedData = getFormattedData(data);\n props.onChange({ data: formattedData, valid, errors, isValid });\n }, [data, valid, errors, isValid]);\n\n if (visibility === 'hidden') return null;\n if (visibility === 'readOnly') return <ReadOnlyPersonalDetails {...props} data={data} />;\n\n return (\n <Fragment>\n <Fieldset classNameModifiers={['personalDetails']} label={label}>\n {requiredFields.includes('firstName') && (\n <Field\n label={i18n.get('firstName')}\n classNameModifiers={['col-50', 'firstName']}\n errorMessage={getErrorMessage(i18n, errors.firstName, i18n.get('firstName'))}\n name={'firstName'}\n i18n={i18n}\n >\n <InputText\n name={generateFieldName('firstName')}\n value={data.firstName}\n classNameModifiers={['firstName']}\n onInput={eventHandler('input')}\n onBlur={eventHandler('blur')}\n placeholder={placeholders.firstName}\n spellCheck={false}\n required={true}\n />\n </Field>\n )}\n\n {requiredFields.includes('lastName') && (\n <Field\n label={i18n.get('lastName')}\n classNameModifiers={['col-50', 'lastName']}\n errorMessage={getErrorMessage(i18n, errors.lastName, i18n.get('lastName'))}\n name={'lastName'}\n i18n={i18n}\n >\n <InputText\n name={generateFieldName('lastName')}\n value={data.lastName}\n classNameModifiers={['lastName']}\n onInput={eventHandler('input')}\n onBlur={eventHandler('blur')}\n placeholder={placeholders.lastName}\n spellCheck={false}\n required={true}\n />\n </Field>\n )}\n\n {requiredFields.includes('dateOfBirth') && (\n <Field\n label={i18n.get('dateOfBirth')}\n classNameModifiers={['col-50', 'dateOfBirth']}\n errorMessage={getErrorMessage(i18n, errors.dateOfBirth, i18n.get('dateOfBirth'))}\n helper={isDateInputSupported ? null : i18n.get('dateOfBirth.format')}\n name={'dateOfBirth'}\n i18n={i18n}\n >\n <InputDate\n name={generateFieldName('dateOfBirth')}\n value={data.dateOfBirth}\n classNameModifiers={['dateOfBirth']}\n onInput={eventHandler('input')}\n onBlur={eventHandler('blur')}\n placeholder={placeholders.dateOfBirth}\n required={true}\n />\n </Field>\n )}\n\n {requiredFields.includes('shopperEmail') && (\n <Field\n label={i18n.get('shopperEmail')}\n classNameModifiers={['shopperEmail']}\n errorMessage={getErrorMessage(i18n, errors.shopperEmail, i18n.get('shopperEmail'))}\n dir={'ltr'}\n name={'emailAddress'}\n i18n={i18n}\n >\n <InputEmail\n name={generateFieldName('shopperEmail')}\n value={data.shopperEmail}\n classNameModifiers={['shopperEmail']}\n onInput={eventHandler('input')}\n onBlur={eventHandler('blur')}\n placeholder={placeholders.shopperEmail}\n required={true}\n />\n </Field>\n )}\n\n {requiredFields.includes('telephoneNumber') && (\n <Field\n label={i18n.get('telephoneNumber')}\n classNameModifiers={['telephoneNumber']}\n errorMessage={getErrorMessage(i18n, errors.telephoneNumber, i18n.get('telephoneNumber'))}\n dir={'ltr'}\n name={'telephoneNumber'}\n i18n={i18n}\n >\n <InputTelephone\n name={generateFieldName('telephoneNumber')}\n value={data.telephoneNumber}\n classNameModifiers={['telephoneNumber']}\n onInput={eventHandler('input')}\n onBlur={eventHandler('blur')}\n placeholder={placeholders.telephoneNumber}\n required={true}\n />\n </Field>\n )}\n </Fieldset>\n </Fragment>\n );\n}\n\nPersonalDetails.defaultProps = {\n data: {},\n onChange: () => {},\n placeholders: {},\n requiredFields: PERSONAL_DETAILS_SCHEMA,\n validationRules: personalDetailsValidationRules,\n visibility: 'editable'\n};\n"],"names":["PERSONAL_DETAILS_SCHEMA","PersonalDetails","props","label","namePrefix","placeholders","requiredFields","visibility","i18n","useCoreContext","personalDetailsRef","useRef","Object","keys","current","length","setComponentRef","isDateInputSupported","useMemo","checkDateInputSupport","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","schema","rules","_object_spread","personalDetailsValidationRules","validationRules","defaultData","showValidation","eventHandler","mode","e","name","target","key","split","pop","generateFieldName","useEffect","formattedData","getFormattedData","onChange","h","ReadOnlyPersonalDetails","Fragment","Fieldset","classNameModifiers","includes","Field","get","errorMessage","getErrorMessage","firstName","InputText","value","onInput","onBlur","placeholder","spellCheck","required","lastName","dateOfBirth","helper","InputDate","shopperEmail","dir","InputEmail","telephoneNumber","InputTelephone","defaultProps"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{unformatDate as e}from"../FormFields/InputDate/utils.js";function t(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function r(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),o.forEach(function(r){t(e,r,n[r])})}return e}const n=t=>{const{firstName:n,lastName:o,gender:a,dateOfBirth:i,shopperEmail:l,telephoneNumber:u}=t;return r({},(n||o)&&{shopperName:r({},n&&{firstName:n},o&&{lastName:o},a&&{gender:a})},i&&{dateOfBirth:e(i)},l&&{shopperEmail:l},u&&{telephoneNumber:u})};export{n as getFormattedData};
1
+ import{unformatDate as e}from"../FormFields/InputDate/utils.js";function t(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function r(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),o.forEach(function(r){t(e,r,n[r])})}return e}const n=t=>{const{firstName:n,lastName:o,dateOfBirth:a,shopperEmail:i,telephoneNumber:l}=t;return r({},(n||o)&&{shopperName:r({},n&&{firstName:n},o&&{lastName:o})},a&&{dateOfBirth:e(a)},i&&{shopperEmail:i},l&&{telephoneNumber:l})};export{n as getFormattedData};
2
2
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../src/components/internal/PersonalDetails/utils.ts"],"sourcesContent":["import { unformatDate } from '../FormFields/InputDate/utils';\nimport Language from '../../../language';\n\nexport const getFormattedData = data => {\n const { firstName, lastName, gender, dateOfBirth, shopperEmail, telephoneNumber } = data;\n\n return {\n ...((firstName || lastName) && {\n shopperName: {\n ...(firstName && { firstName }),\n ...(lastName && { lastName }),\n ...(gender && { gender })\n }\n }),\n ...(dateOfBirth && { dateOfBirth: unformatDate(dateOfBirth) }),\n ...(shopperEmail && { shopperEmail }),\n ...(telephoneNumber && { telephoneNumber })\n };\n};\n\n/**\n * Used by the SRPanel sorting function to tell it whether we need to prepend the field type to the SR panel message, and, if so, we retrieve the correct translation for the field type.\n * (Whether we need to prepend the field type depends on whether we know that the error message correctly reflects the label of the field. Ultimately all error messages should do this\n * and this mapping fn will become redundant)\n */\nexport const mapFieldKey = (key: string, i18n: Language): string => {\n switch (key) {\n case 'gender':\n return i18n.get(key);\n // We know that the translated error messages do contain a reference to the field they refer to, so we won't need to map them\n default:\n return null;\n }\n};\n"],"names":["getFormattedData","data","firstName","lastName","gender","dateOfBirth","shopperEmail","telephoneNumber","_object_spread","shopperName","unformatDate"],"mappings":"4fAGO,MAAMA,EAAmBC,IAC5B,MAAMC,UAAEA,EAASC,SAAEA,EAAQC,OAAEA,EAAMC,YAAEA,EAAWC,aAAEA,EAAYC,gBAAEA,GAAoBN,EAEpF,OAAOO,EAAA,CAAA,GACEN,GAAaC,IAAa,CAC3BM,YAAaD,KACLN,GAAa,CAAEA,aACfC,GAAY,CAAEA,YACdC,GAAU,CAAEA,YAGpBC,GAAe,CAAEA,YAAaK,EAAaL,IAC3CC,GAAgB,CAAEA,gBAClBC,GAAmB,CAAEA"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../../src/components/internal/PersonalDetails/utils.ts"],"sourcesContent":["import { unformatDate } from '../FormFields/InputDate/utils';\nimport { PersonalDetailsSchema } from '../../../types/global-types';\n\nexport const getFormattedData = (data: PersonalDetailsSchema) => {\n const { firstName, lastName, dateOfBirth, shopperEmail, telephoneNumber } = data;\n\n return {\n ...((firstName || lastName) && {\n shopperName: {\n ...(firstName && { firstName }),\n ...(lastName && { lastName })\n }\n }),\n ...(dateOfBirth && { dateOfBirth: unformatDate(dateOfBirth) }),\n ...(shopperEmail && { shopperEmail }),\n ...(telephoneNumber && { telephoneNumber })\n };\n};\n"],"names":["getFormattedData","data","firstName","lastName","dateOfBirth","shopperEmail","telephoneNumber","_object_spread","shopperName","unformatDate"],"mappings":"4fAGO,MAAMA,EAAoBC,IAC7B,MAAMC,UAAEA,EAASC,SAAEA,EAAQC,YAAEA,EAAWC,aAAEA,EAAYC,gBAAEA,GAAoBL,EAE5E,OAAOM,EAAA,CAAA,GACEL,GAAaC,IAAa,CAC3BK,YAAaD,KACLL,GAAa,CAAEA,aACfC,GAAY,CAAEA,cAGtBC,GAAe,CAAEA,YAAaK,EAAaL,IAC3CC,GAAgB,CAAEA,gBAClBC,GAAmB,CAAEA"}
@@ -1,2 +1,2 @@
1
- import{isEmpty as e}from"../../../utils/validator-utils.js";import{ERROR_FIELD_REQUIRED as r}from"../../../core/Errors/constants.js";import{validationRules as l}from"../../../utils/Validator/defaultRules.js";const a={default:{validate:e=>e&&e.length>0,errorMessage:r,modes:["blur"]},gender:{validate:e=>e&&e.length>0,errorMessage:"gender.notselected",modes:["blur"]},firstName:{validate:r=>!e(r)||null,errorMessage:"firstName.invalid",modes:["blur"]},lastName:{validate:r=>!e(r)||null,errorMessage:"lastName.invalid",modes:["blur"]},dateOfBirth:l.dateOfBirthRule,telephoneNumber:l.phoneNumberRule,shopperEmail:l.emailRule};export{a as personalDetailsValidationRules};
1
+ import{isEmpty as e}from"../../../utils/validator-utils.js";import{ERROR_FIELD_REQUIRED as r}from"../../../core/Errors/constants.js";import{validationRules as l}from"../../../utils/Validator/defaultRules.js";const a={default:{validate:e=>e&&e.length>0,errorMessage:r,modes:["blur"]},firstName:{validate:r=>!e(r)||null,errorMessage:"firstName.invalid",modes:["blur"]},lastName:{validate:r=>!e(r)||null,errorMessage:"lastName.invalid",modes:["blur"]},dateOfBirth:l.dateOfBirthRule,telephoneNumber:l.phoneNumberRule,shopperEmail:l.emailRule};export{a as personalDetailsValidationRules};
2
2
  //# sourceMappingURL=validate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sources":["../../../../../src/components/internal/PersonalDetails/validate.ts"],"sourcesContent":["import { ValidatorRules } from '../../../utils/Validator/types';\nimport { isEmpty } from '../../../utils/validator-utils';\nimport { ERROR_FIELD_REQUIRED } from '../../../core/Errors/constants';\nimport { validationRules } from '../../../utils/Validator/defaultRules';\n\nexport const personalDetailsValidationRules: ValidatorRules = {\n default: {\n validate: value => {\n return value && value.length > 0;\n },\n errorMessage: ERROR_FIELD_REQUIRED,\n modes: ['blur']\n },\n gender: {\n validate: value => value && value.length > 0,\n errorMessage: 'gender.notselected',\n modes: ['blur']\n },\n firstName: {\n validate: value => (isEmpty(value) ? null : true), // valid, if there are chars other than spaces,\n errorMessage: 'firstName.invalid',\n modes: ['blur']\n },\n lastName: {\n validate: value => (isEmpty(value) ? null : true),\n errorMessage: 'lastName.invalid',\n modes: ['blur']\n },\n dateOfBirth: validationRules.dateOfBirthRule,\n telephoneNumber: validationRules.phoneNumberRule,\n shopperEmail: validationRules.emailRule\n};\n"],"names":["personalDetailsValidationRules","default","validate","value","length","errorMessage","ERROR_FIELD_REQUIRED","modes","gender","firstName","isEmpty","lastName","dateOfBirth","validationRules","dateOfBirthRule","telephoneNumber","phoneNumberRule","shopperEmail","emailRule"],"mappings":"sNAKaA,EAAiD,CAC1DC,QAAS,CACLC,SAAUC,GACCA,GAASA,EAAMC,OAAS,EAEnCC,aAAcC,EACdC,MAAO,CAAC,SAEZC,OAAQ,CACJN,SAAUC,GAASA,GAASA,EAAMC,OAAS,EAC3CC,aAAc,qBACdE,MAAO,CAAC,SAEZE,UAAW,CACPP,SAAUC,IAAUO,EAAQP,IAAS,KACrCE,aAAc,oBACdE,MAAO,CAAC,SAEZI,SAAU,CACNT,SAAUC,IAAUO,EAAQP,IAAS,KACrCE,aAAc,mBACdE,MAAO,CAAC,SAEZK,YAAaC,EAAgBC,gBAC7BC,gBAAiBF,EAAgBG,gBACjCC,aAAcJ,EAAgBK"}
1
+ {"version":3,"file":"validate.js","sources":["../../../../../src/components/internal/PersonalDetails/validate.ts"],"sourcesContent":["import { ValidatorRules } from '../../../utils/Validator/types';\nimport { isEmpty } from '../../../utils/validator-utils';\nimport { ERROR_FIELD_REQUIRED } from '../../../core/Errors/constants';\nimport { validationRules } from '../../../utils/Validator/defaultRules';\n\nexport const personalDetailsValidationRules: ValidatorRules = {\n default: {\n validate: value => {\n return value && value.length > 0;\n },\n errorMessage: ERROR_FIELD_REQUIRED,\n modes: ['blur']\n },\n firstName: {\n validate: value => (isEmpty(value) ? null : true), // valid, if there are chars other than spaces,\n errorMessage: 'firstName.invalid',\n modes: ['blur']\n },\n lastName: {\n validate: value => (isEmpty(value) ? null : true),\n errorMessage: 'lastName.invalid',\n modes: ['blur']\n },\n dateOfBirth: validationRules.dateOfBirthRule,\n telephoneNumber: validationRules.phoneNumberRule,\n shopperEmail: validationRules.emailRule\n};\n"],"names":["personalDetailsValidationRules","default","validate","value","length","errorMessage","ERROR_FIELD_REQUIRED","modes","firstName","isEmpty","lastName","dateOfBirth","validationRules","dateOfBirthRule","telephoneNumber","phoneNumberRule","shopperEmail","emailRule"],"mappings":"sNAKaA,EAAiD,CAC1DC,QAAS,CACLC,SAAUC,GACCA,GAASA,EAAMC,OAAS,EAEnCC,aAAcC,EACdC,MAAO,CAAC,SAEZC,UAAW,CACPN,SAAUC,IAAUM,EAAQN,IAAS,KACrCE,aAAc,oBACdE,MAAO,CAAC,SAEZG,SAAU,CACNR,SAAUC,IAAUM,EAAQN,IAAS,KACrCE,aAAc,mBACdE,MAAO,CAAC,SAEZI,YAAaC,EAAgBC,gBAC7BC,gBAAiBF,EAAgBG,gBACjCC,aAAcJ,EAAgBK"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../external/preact/dist/preact.js";import{useState as t,useRef as o,useEffect as r}from"../../../external/preact/hooks/dist/hooks.js";import a from"../Button/Button.js";import n from"../Spinner/Spinner.js";import s from"../../../core/Services/payment-status.js";import{processResponse as c}from"../../../core/ProcessResponse/process-response.js";import{copyToClipboard as i}from"../../../utils/clipboard.js";import l from"../../../core/Errors/AdyenCheckoutError.js";import{useCoreContext as d}from"../../../core/Context/CoreProvider.js";import m from"../ContentSeparator/ContentSeparator.js";import p from"../../../utils/useAutoFocus.js";import{ANALYTICS_QR_CODE_DOWNLOAD as u,ANALYTICS_DOWNLOAD_STR as y}from"../../../core/Analytics/constants.js";import{AnalyticsInfoEvent as _}from"../../../core/Analytics/AnalyticsInfoEvent.js";import h from"./components/QRDetails.js";import{QRLoaderDetailsProvider as f}from"./QRLoaderDetailsProvider.js";import{QRFinalState as g}from"./components/QRFinalState.js";function q(q){var k;const{i18n:v,loadingContext:C}=d(),[b,w]=t(!1),[j,N]=t(q.delay),[T,D]=t(!1),[R,E]=t(!0),[I,A]=t(100),[P,S]=t(0),x=o(null),$=async()=>{const{paymentData:e,clientKey:t,throttledInterval:o}=q;return s(e,t,C,o).then(c).catch(e=>({type:"network-error",props:e})).then(e=>{switch(e.type){case"success":(e=>{w(!0),E(!1);const t={data:{details:{payload:e.props.payload},paymentData:q.paymentData}};q.onComplete(t)})(e);break;case"error":(e=>{if(D(!0),E(!1),e.props.payload){const t={data:{details:{payload:e.props.payload},paymentData:q.paymentData}};q.onComplete(t)}const t=new l("ERROR","error result with no payload in response");q.onError(t)})(e);break;default:E(!1)}})};r(()=>{$()},[]),r(()=>{if(T||b||R)return;let e=j;return x.current=setTimeout(()=>{(async()=>{const t=performance.now();await $();const o=performance.now(),r=Math.round(o-t),a=P+r+e;S(a),a>=q.throttleTime&&e!==q.throttledInterval&&(N(q.throttledInterval),e=q.throttledInterval)})()},e),()=>{clearTimeout(x.current)}},[T,b,R,j,q.throttleTime,P]);const{amount:L,showAmount:B,url:M,brandLogo:Q,brandName:K,countdownTime:F,type:O,onActionHandled:H}=q,U=q.qrCodeData?`${C}utility/v1/barcode.png?type=qrCode&data=${q.qrCodeData}&clientKey=${q.clientKey}`:q.qrCodeImage,z=p();if(T)return e(g,{image:"error",message:v.get("error.subtitle.payment")});if(b)return e(g,{image:"success",message:v.get("creditCard.success")});if(R)return e("div",{className:"adyen-checkout__qr-loader"},Q&&e("div",{className:"adyen-checkout__qr-loader__brand-logo-wrapper"},e("img",{alt:K,src:Q,className:"adyen-checkout__qr-loader__brand-logo"})),e(n,null));const G=q.classNameModifiers.map(e=>`adyen-checkout__qr-loader--${e}`);return e("div",{className:`adyen-checkout__qr-loader adyen-checkout__qr-loader--${O} ${G.join(" ")}`},Q&&e("div",{className:"adyen-checkout__qr-loader__brand-logo-wrapper"},e("img",{src:Q,alt:K,className:"adyen-checkout__qr-loader__brand-logo"})),B&&L&&null!==L.value&&!!L.currency&&e("h1",{className:"adyen-checkout__qr-loader__payment_amount"},v.amount(L.value,L.currency)),M&&e("div",{className:"adyen-checkout__qr-loader__app-link"},q.redirectIntroduction&&e("p",{className:"adyen-checkout__qr-loader__subtitle"},v.get(q.redirectIntroduction)),e(a,{classNameModifiers:["qr-loader"],onClick:()=>(e=>{window.location.assign(e)})(M),label:v.get(q.buttonLabel)}),e(m,null)),e("p",{ref:z,tabIndex:0,className:"adyen-checkout__qr-loader__subtitle"},"string"==typeof q.introduction?v.get(q.introduction):null===(k=q.introduction)||void 0===k?void 0:k.call(q)),e(f,{qrCodeImage:U,qrCodeData:q.qrCodeData,percentage:I,timeToPay:q.timeToPay,copyBtn:q.copyBtn,instructions:q.instructions,countdownTime:F,onTick:e=>(e=>{A(e.percentage)})(e),onQRCodeLoad:()=>{null==H||H({componentType:q.type,actionDescription:"qr-code-loaded"})},onTimeUp:()=>(D(!0),void q.onError(new l("ERROR","Payment Expired"))),handleCopy:e=>{i(q.qrCodeData);const t=new _({type:y,target:u});q.onSubmitAnalytics(t),e()}},q.children?q.children:e(h,null)))}q.defaultProps={delay:2e3,countdownTime:15,onError:()=>{},onComplete:()=>{},throttleTime:6e4,classNameModifiers:[],throttledInterval:1e4,introduction:"wechatpay.scanqrcode",timeToPay:"wechatpay.timetopay",buttonLabel:"openApp",showAmount:!0};export{q as default};
1
+ import{createElement as e}from"../../../external/preact/dist/preact.js";import{useCoreContext as t}from"../../../core/Context/CoreProvider.js";import{usePaymentStatusTimer as o}from"../../../hooks/usePaymentStatusTimer/usePaymentStatusTimer.js";import{DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_INTERVAL_MS as r,DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_TIME_MS as a,DEFAULT_PAYMENT_STATUS_TIMER_DELAY_MS as n,DEFAULT_PAYMENT_STATUS_TIMER_COUNTDOWN_TIME_MIN as i}from"../../../hooks/usePaymentStatusTimer/constants.js";import c from"../../../utils/useAutoFocus.js";import l from"../Button/Button.js";import d from"../ContentSeparator/ContentSeparator.js";import{AnalyticsInfoEvent as s,UiTarget as m,InfoEventType as u}from"../../../core/Analytics/events/AnalyticsInfoEvent.js";import p from"../Spinner/Spinner.js";import{QRDetails as y}from"./components/QRDetails.js";import{QRFinalState as _}from"./components/QRFinalState.js";import{QRLoaderDetailsProvider as h}from"./QRLoaderDetailsProvider.js";import{redirectToApp as g}from"../../../utils/urls.js";function f(r){var a;const{i18n:n,loadingContext:i}=t(),{state:f,actions:q}=o({loadingContext:i,paymentData:r.paymentData,clientKey:r.clientKey,delay:r.delay,throttleTime:r.throttleTime,throttleInterval:r.throttledInterval,type:r.type,onError:r.onError,onComplete:r.onComplete,onActionHandled:r.onActionHandled}),{completed:C,expired:k,loading:v,percentage:b}=f,{onTick:T,onTimeUp:j}=q,{amount:N,showAmount:w,url:A,brandLogo:D,brandName:I,countdownTime:P,type:S,onActionHandled:x}=r,$=r.qrCodeData?`${i}utility/v1/barcode.png?type=qrCode&data=${r.qrCodeData}&clientKey=${r.clientKey}`:r.qrCodeImage,B=c();if(k)return e(_,{image:"error",message:n.get("error.subtitle.payment")});if(C)return e(_,{image:"success",message:n.get("creditCard.success")});if(v)return e("div",{className:"adyen-checkout__qr-loader"},D&&e("div",{className:"adyen-checkout__qr-loader__brand-logo-wrapper"},e("img",{alt:I,src:D,className:"adyen-checkout__qr-loader__brand-logo"})),e(p,null));const E=r.classNameModifiers.map(e=>`adyen-checkout__qr-loader--${e}`);return e("div",{className:`adyen-checkout__qr-loader adyen-checkout__qr-loader--${S} ${E.join(" ")}`},D&&e("div",{className:"adyen-checkout__qr-loader__brand-logo-wrapper"},e("img",{src:D,alt:I,className:"adyen-checkout__qr-loader__brand-logo"})),w&&N&&null!==N.value&&!!N.currency&&e("h1",{className:"adyen-checkout__qr-loader__payment_amount"},n.amount(N.value,N.currency)),A&&e("div",{className:"adyen-checkout__qr-loader__app-link"},r.redirectIntroduction&&e("p",{className:"adyen-checkout__qr-loader__subtitle"},n.get(r.redirectIntroduction)),e(l,{classNameModifiers:["qr-loader"],onClick:()=>g(A),label:n.get(r.buttonLabel)}),e(d,null)),e("p",{ref:B,tabIndex:0,className:"adyen-checkout__qr-loader__subtitle"},"string"==typeof r.introduction?n.get(r.introduction):null===(a=r.introduction)||void 0===a?void 0:a.call(r)),e(h,{qrCodeImage:$,qrCodeData:r.qrCodeData,percentage:b,timeToPay:r.timeToPay,copyBtn:r.copyBtn,instructions:r.instructions,countdownTime:P,onTick:e=>T(e),onQRCodeLoad:()=>{null==x||x({componentType:r.type,actionDescription:"qr-code-loaded"})},onTimeUp:()=>j(),handleCopy:()=>{const e=new s({component:r.type,type:u.download,target:m.qrDownloadButton});r.onSubmitAnalytics(e)}},r.children?r.children:e(y,null)))}f.defaultProps={countdownTime:i,delay:n,throttleTime:a,throttledInterval:r,onError:()=>{},onComplete:()=>{},classNameModifiers:[],introduction:"wechatpay.scanqrcode",timeToPay:"wechatpay.timetopay",buttonLabel:"openApp",showAmount:!0};export{f as QRLoader};
2
2
  //# sourceMappingURL=QRLoader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QRLoader.js","sources":["../../../../../src/components/internal/QRLoader/QRLoader.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef } from 'preact/hooks';\nimport Button from '../Button';\nimport Spinner from '../Spinner';\nimport checkPaymentStatus from '../../../core/Services/payment-status';\nimport processResponse from '../../../core/ProcessResponse';\nimport { QRLoaderProps } from './types';\nimport copyToClipboard from '../../../utils/clipboard';\nimport AdyenCheckoutError from '../../../core/Errors/AdyenCheckoutError';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport ContentSeparator from '../ContentSeparator';\nimport { StatusObject } from '../Await/types';\nimport useAutoFocus from '../../../utils/useAutoFocus';\nimport { ANALYTICS_DOWNLOAD_STR, ANALYTICS_QR_CODE_DOWNLOAD } from '../../../core/Analytics/constants';\nimport { AnalyticsInfoEvent } from '../../../core/Analytics/AnalyticsInfoEvent';\nimport { CountdownTime } from '../Countdown/types';\nimport QRDetails from './components/QRDetails';\nimport { QRLoaderDetailsProvider } from './QRLoaderDetailsProvider';\nimport { QRFinalState } from './components/QRFinalState';\nimport './QRLoader.scss';\n\nconst QRCODE_URL = 'utility/v1/barcode.png?type=qrCode&data=';\n\nfunction QRLoader(props: QRLoaderProps) {\n const { i18n, loadingContext } = useCoreContext();\n const [completed, setCompleted] = useState(false);\n const [delay, setDelay] = useState(props.delay);\n const [expired, setExpired] = useState(false);\n const [loading, setLoading] = useState(true);\n const [percentage, setPercentage] = useState(100);\n const [timePassed, setTimePassed] = useState(0);\n const timeoutRef = useRef<NodeJS.Timeout | number | null>(null);\n\n const redirectToApp = (url: string | URL): void => {\n window.location.assign(url);\n };\n\n const onTick = (time: CountdownTime): void => {\n setPercentage(time.percentage);\n };\n\n const onTimeUp = (): void => {\n setExpired(true);\n props.onError(new AdyenCheckoutError('ERROR', 'Payment Expired'));\n };\n\n const onComplete = (status: StatusObject): void => {\n setCompleted(true);\n setLoading(false);\n\n const state = {\n data: {\n details: { payload: status.props.payload },\n paymentData: props.paymentData\n }\n };\n\n props.onComplete(state);\n };\n\n const onError = (status: StatusObject): void => {\n setExpired(true);\n setLoading(false);\n\n if (status.props.payload) {\n const state = {\n data: {\n details: { payload: status.props.payload },\n paymentData: props.paymentData\n }\n };\n props.onComplete(state);\n }\n\n const error = new AdyenCheckoutError('ERROR', 'error result with no payload in response');\n props.onError(error);\n };\n\n const checkStatus = async (): Promise<void> => {\n const { paymentData, clientKey, throttledInterval } = props;\n\n return checkPaymentStatus(paymentData, clientKey, loadingContext, throttledInterval)\n .then(processResponse)\n .catch(response => ({ type: 'network-error', props: response }))\n .then((status: StatusObject) => {\n switch (status.type) {\n case 'success':\n onComplete(status);\n break;\n case 'error':\n onError(status);\n break;\n default:\n setLoading(false);\n }\n });\n };\n\n useEffect(() => {\n void checkStatus();\n }, []);\n\n useEffect(() => {\n if (expired || completed || loading) {\n return;\n }\n\n let currentDelay = delay;\n\n const statusInterval = async (): Promise<void> => {\n const start = performance.now();\n await checkStatus();\n const end = performance.now();\n const responseTime = Math.round(end - start);\n\n const actualTimePassed = timePassed + responseTime + currentDelay;\n setTimePassed(actualTimePassed);\n\n if (actualTimePassed >= props.throttleTime && currentDelay !== props.throttledInterval) {\n setDelay(props.throttledInterval);\n currentDelay = props.throttledInterval;\n }\n };\n\n timeoutRef.current = setTimeout(() => {\n void statusInterval();\n }, currentDelay);\n\n return () => {\n clearTimeout(timeoutRef.current);\n };\n }, [expired, completed, loading, delay, props.throttleTime, timePassed]);\n\n const { amount, showAmount, url, brandLogo, brandName, countdownTime, type, onActionHandled } = props;\n\n const qrCodeImage = props.qrCodeData ? `${loadingContext}${QRCODE_URL}${props.qrCodeData}&clientKey=${props.clientKey}` : props.qrCodeImage;\n\n const handleCopy = (complete: () => void) => {\n void copyToClipboard(props.qrCodeData);\n\n const event = new AnalyticsInfoEvent({\n type: ANALYTICS_DOWNLOAD_STR,\n target: ANALYTICS_QR_CODE_DOWNLOAD\n });\n props.onSubmitAnalytics(event);\n complete();\n };\n\n const onQrCodeLoad = () => {\n onActionHandled?.({\n componentType: props.type,\n actionDescription: 'qr-code-loaded'\n });\n };\n\n const qrSubtitleRef = useAutoFocus();\n\n if (expired) {\n return <QRFinalState image=\"error\" message={i18n.get('error.subtitle.payment')} />;\n }\n\n if (completed) {\n return <QRFinalState image=\"success\" message={i18n.get('creditCard.success')} />;\n }\n\n if (loading) {\n return (\n <div className=\"adyen-checkout__qr-loader\">\n {brandLogo && (\n <div className=\"adyen-checkout__qr-loader__brand-logo-wrapper\">\n <img alt={brandName} src={brandLogo} className=\"adyen-checkout__qr-loader__brand-logo\" />\n </div>\n )}\n <Spinner />\n </div>\n );\n }\n\n const classnames = props.classNameModifiers.map(m => `adyen-checkout__qr-loader--${m}`);\n\n return (\n <div className={`adyen-checkout__qr-loader adyen-checkout__qr-loader--${type} ${classnames.join(' ')}`}>\n {brandLogo && (\n <div className=\"adyen-checkout__qr-loader__brand-logo-wrapper\">\n <img src={brandLogo} alt={brandName} className=\"adyen-checkout__qr-loader__brand-logo\" />\n </div>\n )}\n\n {showAmount && amount && amount.value !== null && !!amount.currency && (\n <h1 className=\"adyen-checkout__qr-loader__payment_amount\">{i18n.amount(amount.value, amount.currency)}</h1>\n )}\n\n {url && (\n <div className=\"adyen-checkout__qr-loader__app-link\">\n {props.redirectIntroduction && <p className=\"adyen-checkout__qr-loader__subtitle\">{i18n.get(props.redirectIntroduction)}</p>}\n <Button classNameModifiers={['qr-loader']} onClick={() => redirectToApp(url)} label={i18n.get(props.buttonLabel)} />\n <ContentSeparator />\n </div>\n )}\n\n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */}\n <p ref={qrSubtitleRef} tabIndex={0} className=\"adyen-checkout__qr-loader__subtitle\">\n {typeof props.introduction === 'string' ? i18n.get(props.introduction) : props.introduction?.()}\n </p>\n\n <QRLoaderDetailsProvider\n qrCodeImage={qrCodeImage}\n qrCodeData={props.qrCodeData}\n percentage={percentage}\n timeToPay={props.timeToPay}\n copyBtn={props.copyBtn}\n instructions={props.instructions}\n countdownTime={countdownTime}\n onTick={(time: CountdownTime) => onTick(time)}\n onQRCodeLoad={onQrCodeLoad}\n onTimeUp={() => onTimeUp()}\n handleCopy={handleCopy}\n >\n {props.children ? props.children : <QRDetails />}\n </QRLoaderDetailsProvider>\n </div>\n );\n}\n\nQRLoader.defaultProps = {\n delay: 2000,\n countdownTime: 15,\n onError: () => {},\n onComplete: () => {},\n throttleTime: 60000,\n classNameModifiers: [],\n throttledInterval: 10000,\n introduction: 'wechatpay.scanqrcode',\n timeToPay: 'wechatpay.timetopay',\n buttonLabel: 'openApp',\n showAmount: true\n};\n\nexport default QRLoader;\n"],"names":["QRLoader","props","i18n","loadingContext","useCoreContext","completed","setCompleted","useState","delay","setDelay","expired","setExpired","loading","setLoading","percentage","setPercentage","timePassed","setTimePassed","timeoutRef","useRef","checkStatus","async","paymentData","clientKey","throttledInterval","checkPaymentStatus","then","processResponse","catch","response","type","status","state","data","details","payload","onComplete","error","AdyenCheckoutError","onError","useEffect","currentDelay","current","setTimeout","start","performance","now","end","responseTime","Math","round","actualTimePassed","throttleTime","statusInterval","clearTimeout","amount","showAmount","url","brandLogo","brandName","countdownTime","onActionHandled","qrCodeImage","qrCodeData","qrSubtitleRef","useAutoFocus","h","QRFinalState","image","message","get","div","className","img","alt","src","Spinner","classnames","classNameModifiers","map","m","join","value","currency","h1","redirectIntroduction","p","Button","onClick","window","location","assign","redirectToApp","label","buttonLabel","ContentSeparator","ref","tabIndex","introduction","QRLoaderDetailsProvider","timeToPay","copyBtn","instructions","onTick","time","onQRCodeLoad","componentType","actionDescription","onTimeUp","handleCopy","complete","copyToClipboard","event","AnalyticsInfoEvent","ANALYTICS_DOWNLOAD_STR","target","ANALYTICS_QR_CODE_DOWNLOAD","onSubmitAnalytics","children","QRDetails","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"QRLoader.js","sources":["../../../../../src/components/internal/QRLoader/QRLoader.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport {\n usePaymentStatusTimer,\n DEFAULT_PAYMENT_STATUS_TIMER_COUNTDOWN_TIME_MIN,\n DEFAULT_PAYMENT_STATUS_TIMER_DELAY_MS,\n DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_INTERVAL_MS,\n DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_TIME_MS\n} from '../../../hooks/usePaymentStatusTimer';\nimport useAutoFocus from '../../../utils/useAutoFocus';\nimport Button from '../Button';\nimport ContentSeparator from '../ContentSeparator';\nimport { AnalyticsInfoEvent, InfoEventType, UiTarget } from '../../../core/Analytics/events/AnalyticsInfoEvent';\nimport { CountdownTime } from '../Countdown/types';\nimport Spinner from '../Spinner';\nimport { QRDetails } from './components/QRDetails';\nimport { QRFinalState } from './components/QRFinalState';\nimport { QRLoaderDetailsProvider } from './QRLoaderDetailsProvider';\nimport { QRLoaderProps } from './types';\nimport { redirectToApp } from '../../../utils/urls';\nimport './QRLoader.scss';\n\nconst QRCODE_URL = 'utility/v1/barcode.png?type=qrCode&data=';\n\nexport function QRLoader(props: QRLoaderProps) {\n const { i18n, loadingContext } = useCoreContext();\n\n const { state: timerState, actions: timerActions } = usePaymentStatusTimer({\n loadingContext,\n paymentData: props.paymentData,\n clientKey: props.clientKey,\n delay: props.delay,\n throttleTime: props.throttleTime,\n throttleInterval: props.throttledInterval,\n type: props.type,\n onError: props.onError,\n onComplete: props.onComplete,\n onActionHandled: props.onActionHandled\n });\n\n const { completed, expired, loading, percentage } = timerState;\n const { onTick, onTimeUp } = timerActions;\n\n const { amount, showAmount, url, brandLogo, brandName, countdownTime, type, onActionHandled } = props;\n\n const qrCodeImage = props.qrCodeData ? `${loadingContext}${QRCODE_URL}${props.qrCodeData}&clientKey=${props.clientKey}` : props.qrCodeImage;\n\n const handleCopy = () => {\n const event = new AnalyticsInfoEvent({\n component: props.type,\n type: InfoEventType.download,\n target: UiTarget.qrDownloadButton\n });\n props.onSubmitAnalytics(event);\n };\n\n const onQrCodeLoad = () => {\n onActionHandled?.({\n componentType: props.type,\n actionDescription: 'qr-code-loaded'\n });\n };\n\n const qrSubtitleRef = useAutoFocus();\n\n if (expired) {\n return <QRFinalState image=\"error\" message={i18n.get('error.subtitle.payment')} />;\n }\n\n if (completed) {\n return <QRFinalState image=\"success\" message={i18n.get('creditCard.success')} />;\n }\n\n if (loading) {\n return (\n <div className=\"adyen-checkout__qr-loader\">\n {brandLogo && (\n <div className=\"adyen-checkout__qr-loader__brand-logo-wrapper\">\n <img alt={brandName} src={brandLogo} className=\"adyen-checkout__qr-loader__brand-logo\" />\n </div>\n )}\n <Spinner />\n </div>\n );\n }\n\n const classnames = props.classNameModifiers.map(m => `adyen-checkout__qr-loader--${m}`);\n\n return (\n <div className={`adyen-checkout__qr-loader adyen-checkout__qr-loader--${type} ${classnames.join(' ')}`}>\n {brandLogo && (\n <div className=\"adyen-checkout__qr-loader__brand-logo-wrapper\">\n <img src={brandLogo} alt={brandName} className=\"adyen-checkout__qr-loader__brand-logo\" />\n </div>\n )}\n\n {showAmount && amount && amount.value !== null && !!amount.currency && (\n <h1 className=\"adyen-checkout__qr-loader__payment_amount\">{i18n.amount(amount.value, amount.currency)}</h1>\n )}\n\n {url && (\n <div className=\"adyen-checkout__qr-loader__app-link\">\n {props.redirectIntroduction && <p className=\"adyen-checkout__qr-loader__subtitle\">{i18n.get(props.redirectIntroduction)}</p>}\n <Button classNameModifiers={['qr-loader']} onClick={() => redirectToApp(url)} label={i18n.get(props.buttonLabel)} />\n <ContentSeparator />\n </div>\n )}\n\n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */}\n <p ref={qrSubtitleRef} tabIndex={0} className=\"adyen-checkout__qr-loader__subtitle\">\n {typeof props.introduction === 'string' ? i18n.get(props.introduction) : props.introduction?.()}\n </p>\n\n <QRLoaderDetailsProvider\n qrCodeImage={qrCodeImage}\n qrCodeData={props.qrCodeData}\n percentage={percentage}\n timeToPay={props.timeToPay}\n copyBtn={props.copyBtn}\n instructions={props.instructions}\n countdownTime={countdownTime}\n onTick={(time: CountdownTime) => onTick(time)}\n onQRCodeLoad={onQrCodeLoad}\n onTimeUp={() => onTimeUp()}\n handleCopy={handleCopy}\n >\n {props.children ? props.children : <QRDetails />}\n </QRLoaderDetailsProvider>\n </div>\n );\n}\n\nQRLoader.defaultProps = {\n countdownTime: DEFAULT_PAYMENT_STATUS_TIMER_COUNTDOWN_TIME_MIN,\n delay: DEFAULT_PAYMENT_STATUS_TIMER_DELAY_MS,\n throttleTime: DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_TIME_MS,\n throttledInterval: DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_INTERVAL_MS,\n onError: () => {},\n onComplete: () => {},\n classNameModifiers: [],\n introduction: 'wechatpay.scanqrcode',\n timeToPay: 'wechatpay.timetopay',\n buttonLabel: 'openApp',\n showAmount: true\n};\n"],"names":["QRLoader","props","i18n","loadingContext","useCoreContext","state","timerState","actions","timerActions","usePaymentStatusTimer","paymentData","clientKey","delay","throttleTime","throttleInterval","throttledInterval","type","onError","onComplete","onActionHandled","completed","expired","loading","percentage","onTick","onTimeUp","amount","showAmount","url","brandLogo","brandName","countdownTime","qrCodeImage","qrCodeData","qrSubtitleRef","useAutoFocus","h","QRFinalState","image","message","get","div","className","img","alt","src","Spinner","classnames","classNameModifiers","map","m","join","value","currency","h1","redirectIntroduction","p","Button","onClick","redirectToApp","label","buttonLabel","ContentSeparator","ref","tabIndex","introduction","QRLoaderDetailsProvider","timeToPay","copyBtn","instructions","time","onQRCodeLoad","componentType","actionDescription","handleCopy","event","AnalyticsInfoEvent","component","InfoEventType","download","target","UiTarget","qrDownloadButton","onSubmitAnalytics","children","QRDetails","defaultProps","DEFAULT_PAYMENT_STATUS_TIMER_COUNTDOWN_TIME_MIN","DEFAULT_PAYMENT_STATUS_TIMER_DELAY_MS","DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_TIME_MS","DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_INTERVAL_MS"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"QRLoaderDetailsProvider.js","sources":["../../../../../src/components/internal/QRLoader/QRLoaderDetailsProvider.tsx"],"sourcesContent":["import { h, createContext } from 'preact';\nimport type { ComponentChildren } from 'preact';\nimport { useContext } from 'preact/hooks';\nimport { CountdownTime } from '../Countdown/types';\n\ninterface QRLoaderDetailsProviderProps {\n qrCodeImage: string;\n qrCodeData: string;\n countdownTime: number;\n percentage: number;\n timeToPay: string;\n instructions?: string | (() => h.JSX.Element);\n copyBtn: boolean;\n onTick: (time: CountdownTime) => void;\n onQRCodeLoad: () => void;\n onTimeUp: () => void;\n handleCopy: (onComplete: () => void) => void;\n children: ComponentChildren;\n}\n\ntype QRLoaderDetailsContextValue = Omit<QRLoaderDetailsProviderProps, 'children'>;\n\nconst QRLoaderDetailsContext = createContext<QRLoaderDetailsContextValue | undefined>(undefined);\n\nconst QRLoaderDetailsProvider = ({ children, ...props }: QRLoaderDetailsProviderProps) => {\n return <QRLoaderDetailsContext.Provider value={{ ...props }}>{children}</QRLoaderDetailsContext.Provider>;\n};\n\nconst useQRLoaderDetails = (): QRLoaderDetailsContextValue => {\n const context = useContext(QRLoaderDetailsContext);\n\n if (context === undefined) {\n throw new Error('\"useQRLoaderDetails\" must be used within a QRLoaderDetailsContext');\n }\n\n return context;\n};\n\nexport { QRLoaderDetailsProvider, useQRLoaderDetails };\n"],"names":["QRLoaderDetailsContext","createContext","undefined","QRLoaderDetailsProvider","_param","children","props","h","Provider","value","_object_spread","useQRLoaderDetails","context","useContext","Error"],"mappings":"q9BAsBA,MAAMA,EAAyBC,OAAuDC,GAEhFC,EAA0BC,QAACC,SAAEA,GAAkDD,EAArCE,EAAAA,EAAAA,EAAAA,CAAbD,aAC/B,OAAOE,EAACP,EAAuBQ,SAAQ,CAACC,MAAOC,EAAA,CAAA,EAAKJ,IAAUD,IAG5DM,EAAqB,KACvB,MAAMC,EAAUC,EAAWb,GAE3B,QAAgBE,IAAZU,EACA,MAAM,IAAIE,MAAM,qEAGpB,OAAOF"}
1
+ {"version":3,"file":"QRLoaderDetailsProvider.js","sources":["../../../../../src/components/internal/QRLoader/QRLoaderDetailsProvider.tsx"],"sourcesContent":["import { h, createContext } from 'preact';\nimport type { ComponentChildren } from 'preact';\nimport { useContext } from 'preact/hooks';\nimport { CountdownTime } from '../Countdown/types';\n\ninterface QRLoaderDetailsProviderProps {\n qrCodeImage: string;\n qrCodeData: string;\n countdownTime: number;\n percentage: number;\n timeToPay: string;\n instructions?: string | (() => h.JSX.Element);\n copyBtn: boolean;\n onTick: (time: CountdownTime) => void;\n onQRCodeLoad: () => void;\n onTimeUp: () => void;\n handleCopy?: (e: h.JSX.TargetedMouseEvent<HTMLButtonElement>) => void;\n children: ComponentChildren;\n}\n\ntype QRLoaderDetailsContextValue = Omit<QRLoaderDetailsProviderProps, 'children'>;\n\nconst QRLoaderDetailsContext = createContext<QRLoaderDetailsContextValue | undefined>(undefined);\n\nconst QRLoaderDetailsProvider = ({ children, ...props }: QRLoaderDetailsProviderProps) => {\n return <QRLoaderDetailsContext.Provider value={{ ...props }}>{children}</QRLoaderDetailsContext.Provider>;\n};\n\nconst useQRLoaderDetails = (): QRLoaderDetailsContextValue => {\n const context = useContext(QRLoaderDetailsContext);\n\n if (context === undefined) {\n throw new Error('\"useQRLoaderDetails\" must be used within a QRLoaderDetailsContext');\n }\n\n return context;\n};\n\nexport { QRLoaderDetailsProvider, useQRLoaderDetails };\n"],"names":["QRLoaderDetailsContext","createContext","undefined","QRLoaderDetailsProvider","_param","children","props","h","Provider","value","_object_spread","useQRLoaderDetails","context","useContext","Error"],"mappings":"q9BAsBA,MAAMA,EAAyBC,OAAuDC,GAEhFC,EAA0BC,QAACC,SAAEA,GAAkDD,EAArCE,EAAAA,EAAAA,EAAAA,CAAbD,aAC/B,OAAOE,EAACP,EAAuBQ,SAAQ,CAACC,MAAOC,EAAA,CAAA,EAAKJ,IAAUD,IAG5DM,EAAqB,KACvB,MAAMC,EAAUC,EAAWb,GAE3B,QAAgBE,IAAZU,EACA,MAAM,IAAIE,MAAM,qEAGpB,OAAOF"}
@@ -1,2 +1,2 @@
1
- import{createElement as o}from"../../../../external/preact/dist/preact.js";import e from"../../Button/Button.js";import{PREFIX as t}from"../../Icon/constants.js";import n from"../../../../core/Context/useImage.js";import{useCoreContext as r}from"../../../../core/Context/CoreProvider.js";const c=({copyLabel:c,copiedLabel:l,handleCopy:a})=>{const{i18n:m}=r(),p=n();return o(e,{variant:"action",onClick:(o,{complete:e})=>a(e),icon:p({imageFolder:"components/"})(`${t}copy`),onClickCompletedIcon:p({imageFolder:"components/"})(`${t}checkmark`),label:null!=c?c:m.get("button.copy"),onClickCompletedLabel:null!=l?l:m.get("button.copied")})};export{c as default};
1
+ import{createElement as e}from"../../../../external/preact/dist/preact.js";import{CopyButton as t}from"../../Button/CopyButton.js";const o=({text:o,copyLabel:a,copiedLabel:p,handleCopy:l})=>e(t,{onClick:l,text:o,label:a,copiedLabel:p});export{o as QRCodeCopyButton};
2
2
  //# sourceMappingURL=QRCodeCopyButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QRCodeCopyButton.js","sources":["../../../../../../src/components/internal/QRLoader/components/QRCodeCopyButton.tsx"],"sourcesContent":["import { h } from 'preact';\nimport Button from '../../Button';\nimport { PREFIX } from '../../Icon/constants';\nimport useImage from '../../../../core/Context/useImage';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\n\ninterface QRCodeCopyButtonProps {\n copyLabel?: string;\n copiedLabel?: string;\n handleCopy: (onComplete: () => void) => void;\n}\n\nconst QRCodeCopyButton = ({ copyLabel, copiedLabel, handleCopy }: QRCodeCopyButtonProps) => {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n\n return (\n <Button\n variant=\"action\"\n onClick={(_, { complete }) => handleCopy(complete)}\n icon={getImage({ imageFolder: 'components/' })(`${PREFIX}copy`)}\n onClickCompletedIcon={getImage({ imageFolder: 'components/' })(`${PREFIX}checkmark`)}\n label={copyLabel ?? i18n.get('button.copy')}\n onClickCompletedLabel={copiedLabel ?? i18n.get('button.copied')}\n />\n );\n};\n\nexport default QRCodeCopyButton;\n"],"names":["QRCodeCopyButton","copyLabel","copiedLabel","handleCopy","i18n","useCoreContext","getImage","useImage","h","Button","variant","onClick","_","complete","icon","imageFolder","PREFIX","onClickCompletedIcon","label","get","onClickCompletedLabel"],"mappings":"gSAYA,MAAMA,EAAmB,EAAGC,YAAWC,cAAaC,iBAChD,MAAMC,KAAEA,GAASC,IACXC,EAAWC,IAEjB,OACIC,EAACC,EAAAA,CACGC,QAAQ,SACRC,QAAS,CAACC,GAAKC,cAAeV,EAAWU,GACzCC,KAAMR,EAAS,CAAES,YAAa,eAAxBT,CAAyC,GAAGU,SAClDC,qBAAsBX,EAAS,CAAES,YAAa,eAAxBT,CAAyC,GAAGU,cAClEE,MAAOjB,QAAAA,EAAaG,EAAKe,IAAI,eAC7BC,sBAAuBlB,QAAAA,EAAeE,EAAKe,IAAI"}
1
+ {"version":3,"file":"QRCodeCopyButton.js","sources":["../../../../../../src/components/internal/QRLoader/components/QRCodeCopyButton.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { CopyButton } from '../../Button/CopyButton';\n\ninterface QRCodeCopyButtonProps {\n text: string;\n copyLabel?: string;\n copiedLabel?: string;\n handleCopy?: (e: h.JSX.TargetedMouseEvent<HTMLButtonElement>) => void;\n}\n\nexport const QRCodeCopyButton = ({ text, copyLabel, copiedLabel, handleCopy }: QRCodeCopyButtonProps) => {\n return <CopyButton onClick={handleCopy} text={text} label={copyLabel} copiedLabel={copiedLabel} />;\n};\n"],"names":["QRCodeCopyButton","text","copyLabel","copiedLabel","handleCopy","h","CopyButton","onClick","label"],"mappings":"mIAUO,MAAMA,EAAmB,EAAGC,OAAMC,YAAWC,cAAaC,gBACtDC,EAACC,EAAAA,CAAWC,QAASH,EAAYH,KAAMA,EAAMO,MAAON,EAAWC,YAAaA"}
@@ -1,2 +1,2 @@
1
- import{createElement as o}from"../../../../external/preact/dist/preact.js";import e from"../../Countdown/index.js";import{useCoreContext as t}from"../../../../core/Context/CoreProvider.js";const n=({countdownTime:n,timeToPay:r,onTick:m,onCompleted:a})=>{const{i18n:c}=t(),i=c.get(r).split("%@");return o("span",{className:"adyen-checkout__qr-loader__countdown"},i[0]," ",o(e,{minutesFromNow:n,onTick:m,onCompleted:a})," ",i[1])};export{n as default};
1
+ import{createElement as o}from"../../../../external/preact/dist/preact.js";import e from"../../Countdown/index.js";import{useCoreContext as t}from"../../../../core/Context/CoreProvider.js";const n=({countdownTime:n,timeToPay:r,onTick:m,onCompleted:c})=>{const{i18n:i}=t(),s=i.get(r).split("%@");return o("span",{className:"adyen-checkout__qr-loader__countdown"},s[0]," ",o(e,{minutesFromNow:n,onTick:m,onCompleted:c})," ",s[1])};export{n as QRCountdown};
2
2
  //# sourceMappingURL=QRCountdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QRCountdown.js","sources":["../../../../../../src/components/internal/QRLoader/components/QRCountdown.tsx"],"sourcesContent":["import { h } from 'preact';\nimport Countdown from '../../Countdown';\nimport { QRCountdownProps } from '../types';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\n\nconst QRCountdown = ({ countdownTime, timeToPay, onTick, onCompleted }: QRCountdownProps) => {\n const { i18n } = useCoreContext();\n\n const timeToPayString = i18n.get(timeToPay).split('%@');\n\n return (\n <span className=\"adyen-checkout__qr-loader__countdown\">\n {timeToPayString[0]}&nbsp;\n <Countdown minutesFromNow={countdownTime} onTick={onTick} onCompleted={onCompleted} />\n &nbsp;{timeToPayString[1]}\n </span>\n );\n};\nexport default QRCountdown;\n"],"names":["QRCountdown","countdownTime","timeToPay","onTick","onCompleted","i18n","useCoreContext","timeToPayString","get","split","h","span","className","Countdown","minutesFromNow"],"mappings":"6LAKA,MAAMA,EAAc,EAAGC,gBAAeC,YAAWC,SAAQC,kBACrD,MAAMC,KAAEA,GAASC,IAEXC,EAAkBF,EAAKG,IAAIN,GAAWO,MAAM,MAElD,OACIC,EAACC,OAAAA,CAAKC,UAAU,wCACXL,EAAgB,GAAG,IACpBG,EAACG,EAAAA,CAAUC,eAAgBb,EAAeE,OAAQA,EAAQC,YAAaA,IAAe,IAC/EG,EAAgB"}
1
+ {"version":3,"file":"QRCountdown.js","sources":["../../../../../../src/components/internal/QRLoader/components/QRCountdown.tsx"],"sourcesContent":["import { h } from 'preact';\nimport Countdown from '../../Countdown';\nimport { QRCountdownProps } from '../types';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\n\nexport const QRCountdown = ({ countdownTime, timeToPay, onTick, onCompleted }: QRCountdownProps) => {\n const { i18n } = useCoreContext();\n\n const timeToPayString = i18n.get(timeToPay).split('%@');\n\n return (\n <span className=\"adyen-checkout__qr-loader__countdown\">\n {timeToPayString[0]}&nbsp;\n <Countdown minutesFromNow={countdownTime} onTick={onTick} onCompleted={onCompleted} />\n &nbsp;{timeToPayString[1]}\n </span>\n );\n};\n"],"names":["QRCountdown","countdownTime","timeToPay","onTick","onCompleted","i18n","useCoreContext","timeToPayString","get","split","h","span","className","Countdown","minutesFromNow"],"mappings":"6LAKO,MAAMA,EAAc,EAAGC,gBAAeC,YAAWC,SAAQC,kBAC5D,MAAMC,KAAEA,GAASC,IAEXC,EAAkBF,EAAKG,IAAIN,GAAWO,MAAM,MAElD,OACIC,EAACC,OAAAA,CAAKC,UAAU,wCACXL,EAAgB,GAAG,IACpBG,EAACG,EAAAA,CAAUC,eAAgBb,EAAeE,OAAQA,EAAQC,YAAaA,IAAe,IAC/EG,EAAgB"}
@@ -1,2 +1,2 @@
1
- import{createElement as o,Fragment as e}from"../../../../external/preact/dist/preact.js";import t from"./QRImage.js";import r from"./QRProgressbar.js";import n from"./QRCountdown.js";import a from"./QRIntructions.js";import m from"./QRCodeCopyButton.js";import{useQRLoaderDetails as s}from"../QRLoaderDetailsProvider.js";const i=()=>{const{qrCodeImage:i,percentage:c,timeToPay:d,copyBtn:p,instructions:l,onTick:u,countdownTime:f,onQRCodeLoad:C,onTimeUp:j,handleCopy:y}=s();return o(e,null,o(t,{src:i,onLoad:C}),o(r,{percentage:c}),o(n,{countdownTime:f,timeToPay:d,onTick:u,onCompleted:j}),l&&o(a,{instructions:l}),p&&o("div",{className:"adyen-checkout__qr-loader__actions"},o(m,{handleCopy:y})))};export{i as default};
1
+ import{createElement as o,Fragment as e}from"../../../../external/preact/dist/preact.js";import{QRImage as t}from"./QRImage.js";import{QRProgressbar as r}from"./QRProgressbar.js";import{QRCountdown as n}from"./QRCountdown.js";import{QRInstructions as a}from"./QRIntructions.js";import{QRCodeCopyButton as m}from"./QRCodeCopyButton.js";import{useQRLoaderDetails as i}from"../QRLoaderDetailsProvider.js";const s=()=>{const{qrCodeData:s,qrCodeImage:c,percentage:d,timeToPay:p,copyBtn:l,instructions:u,onTick:C,countdownTime:f,onQRCodeLoad:j,onTimeUp:y,handleCopy:Q}=i();return o(e,null,o(t,{src:c,onLoad:j}),o(r,{percentage:d}),o(n,{countdownTime:f,timeToPay:p,onTick:C,onCompleted:y}),u&&o(a,{instructions:u}),l&&o("div",{className:"adyen-checkout__qr-loader__actions"},o(m,{text:s,handleCopy:Q})))};export{s as QRDetails};
2
2
  //# sourceMappingURL=QRDetails.js.map