@adyen/adyen-web 6.29.0 → 6.31.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 (515) hide show
  1. package/dist/cjs/adyen.css +8 -9
  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 +705 -641
  6. package/dist/es/adyen.css +8 -9
  7. package/dist/es/adyen.css.map +1 -1
  8. package/dist/es/components/ANCV/ANCV.js.map +1 -1
  9. package/dist/es/components/Ach/Ach.js +1 -1
  10. package/dist/es/components/Ach/Ach.js.map +1 -1
  11. package/dist/es/components/Ach/components/AccountTypeSelector.js.map +1 -1
  12. package/dist/es/components/Ach/components/AchComponent.js.map +1 -1
  13. package/dist/es/components/Affirm/Affirm.js.map +1 -1
  14. package/dist/es/components/AfterPay/AfterPay.js.map +1 -1
  15. package/dist/es/components/AfterPay/AfterPayB2B.js.map +1 -1
  16. package/dist/es/components/AmazonPay/components/AmazonPayButton.js +1 -1
  17. package/dist/es/components/AmazonPay/components/AmazonPayButton.js.map +1 -1
  18. package/dist/es/components/AmazonPay/components/AmazonPayComponent.js +1 -1
  19. package/dist/es/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
  20. package/dist/es/components/AmazonPay/components/OrderButton.js +1 -1
  21. package/dist/es/components/AmazonPay/components/OrderButton.js.map +1 -1
  22. package/dist/es/components/AmazonPay/utils.js +1 -1
  23. package/dist/es/components/AmazonPay/utils.js.map +1 -1
  24. package/dist/es/components/ApplePay/ApplePay.js.map +1 -1
  25. package/dist/es/components/ApplePay/services/ApplePaySdkLoader.js.map +1 -1
  26. package/dist/es/components/ApplePay/services/ApplePayService.js +1 -1
  27. package/dist/es/components/ApplePay/services/ApplePayService.js.map +1 -1
  28. package/dist/es/components/ApplePay/utils/map-adyen-brands-to-applepay-brands.js.map +1 -1
  29. package/dist/es/components/ApplePay/utils/payment-request.js.map +1 -1
  30. package/dist/es/components/Atome/Atome.js.map +1 -1
  31. package/dist/es/components/BacsDD/BacsDD.js +1 -1
  32. package/dist/es/components/BacsDD/BacsDD.js.map +1 -1
  33. package/dist/es/components/BacsDD/components/BacsInput.js +1 -1
  34. package/dist/es/components/BacsDD/components/BacsInput.js.map +1 -1
  35. package/dist/es/components/BankTransfer/components/BankTransferInput/BankTransferInput.js +1 -1
  36. package/dist/es/components/BankTransfer/components/BankTransferInput/BankTransferInput.js.map +1 -1
  37. package/dist/es/components/Blik/Blik.js +1 -1
  38. package/dist/es/components/Blik/Blik.js.map +1 -1
  39. package/dist/es/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
  40. package/dist/es/components/Card/Card.js +1 -1
  41. package/dist/es/components/Card/Card.js.map +1 -1
  42. package/dist/es/components/Card/components/CardInput/CardInput.js +1 -1
  43. package/dist/es/components/Card/components/CardInput/CardInput.js.map +1 -1
  44. package/dist/es/components/Card/components/CardInput/components/CardFieldsWrapper.js +1 -1
  45. package/dist/es/components/Card/components/CardInput/components/CardFieldsWrapper.js.map +1 -1
  46. package/dist/es/components/Card/components/CardInput/components/Installments/Installments.js +1 -1
  47. package/dist/es/components/Card/components/CardInput/components/Installments/Installments.js.map +1 -1
  48. package/dist/es/components/Card/components/CardInput/components/StoredCardFieldsWrapper.js +1 -1
  49. package/dist/es/components/Card/components/CardInput/components/StoredCardFieldsWrapper.js.map +1 -1
  50. package/dist/es/components/Card/components/CardInput/types.js.map +1 -1
  51. package/dist/es/components/Card/components/CardInput/utils.js +1 -1
  52. package/dist/es/components/Card/components/CardInput/utils.js.map +1 -1
  53. package/dist/es/components/Card/components/ClickToPayWrapper.js +1 -1
  54. package/dist/es/components/Card/components/ClickToPayWrapper.js.map +1 -1
  55. package/dist/es/components/CashAppPay/CashAppPay.js +1 -1
  56. package/dist/es/components/CashAppPay/CashAppPay.js.map +1 -1
  57. package/dist/es/components/CashAppPay/services/CashAppSdkLoader.js.map +1 -1
  58. package/dist/es/components/CashAppPay/services/CashAppService.js +1 -1
  59. package/dist/es/components/CashAppPay/services/CashAppService.js.map +1 -1
  60. package/dist/es/components/CashAppPay/services/types.js.map +1 -1
  61. package/dist/es/components/ClickToPay/ClickToPay.js +1 -1
  62. package/dist/es/components/ClickToPay/ClickToPay.js.map +1 -1
  63. package/dist/es/components/CustomCard/CustomCard.js +1 -1
  64. package/dist/es/components/CustomCard/CustomCard.js.map +1 -1
  65. package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js +1 -1
  66. package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
  67. package/dist/es/components/Dragonpay/components/DragonpayInput/DragonpayInput.js +1 -1
  68. package/dist/es/components/Dragonpay/components/DragonpayInput/DragonpayInput.js.map +1 -1
  69. package/dist/es/components/Dropin/Dropin.js +1 -1
  70. package/dist/es/components/Dropin/Dropin.js.map +1 -1
  71. package/dist/es/components/Dropin/components/DropinComponent.js +1 -1
  72. package/dist/es/components/Dropin/components/DropinComponent.js.map +1 -1
  73. package/dist/es/components/Dropin/components/DropinSuccessState.js +2 -0
  74. package/dist/es/components/Dropin/components/DropinSuccessState.js.map +1 -0
  75. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js +1 -1
  76. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js.map +1 -1
  77. package/dist/es/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
  78. package/dist/es/components/Giftcard/Giftcard.js +1 -1
  79. package/dist/es/components/Giftcard/Giftcard.js.map +1 -1
  80. package/dist/es/components/Giftcard/components/GiftcardComponent.js +1 -1
  81. package/dist/es/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  82. package/dist/es/components/Giftcard/components/GiftcardResult.js +1 -1
  83. package/dist/es/components/Giftcard/components/GiftcardResult.js.map +1 -1
  84. package/dist/es/components/GooglePay/GooglePayService.js.map +1 -1
  85. package/dist/es/components/Iris/Iris.js +1 -1
  86. package/dist/es/components/Iris/Iris.js.map +1 -1
  87. package/dist/es/components/Iris/components/IrisGenerateQRCode.js +1 -1
  88. package/dist/es/components/Iris/components/IrisGenerateQRCode.js.map +1 -1
  89. package/dist/es/components/Klarna/KlarnaPayments.js +1 -1
  90. package/dist/es/components/Klarna/KlarnaPayments.js.map +1 -1
  91. package/dist/es/components/Klarna/components/KlarnaContainer/KlarnaContainer.js.map +1 -1
  92. package/dist/es/components/Multibanco/Multibanco.js +1 -1
  93. package/dist/es/components/Multibanco/Multibanco.js.map +1 -1
  94. package/dist/es/components/PayByBankPix/PayByBankPix.js +1 -1
  95. package/dist/es/components/PayByBankPix/PayByBankPix.js.map +1 -1
  96. package/dist/es/components/PayByBankPix/components/StoredPayment/StoredPayment.js +1 -1
  97. package/dist/es/components/PayByBankPix/components/StoredPayment/StoredPayment.js.map +1 -1
  98. package/dist/es/components/PayByBankPix/services/PasskeySdkLoader.js.map +1 -1
  99. package/dist/es/components/PayByBankPix/services/PasskeyService.js.map +1 -1
  100. package/dist/es/components/PayByBankUS/PayByBankUS.js +1 -1
  101. package/dist/es/components/PayByBankUS/PayByBankUS.js.map +1 -1
  102. package/dist/es/components/PayPalFastlane/FastlaneSDK.js.map +1 -1
  103. package/dist/es/components/PayPalFastlane/components/FastlaneComponent.js.map +1 -1
  104. package/dist/es/components/PayTo/PayTo.js +1 -1
  105. package/dist/es/components/PayTo/PayTo.js.map +1 -1
  106. package/dist/es/components/PayTo/components/PayToComponent.js.map +1 -1
  107. package/dist/es/components/PayTo/components/PayToNameFields.js +1 -1
  108. package/dist/es/components/PayTo/components/PayToNameFields.js.map +1 -1
  109. package/dist/es/components/PersonalDetails/PersonalDetails.js.map +1 -1
  110. package/dist/es/components/Pix/components/PixQRDetails.js +1 -1
  111. package/dist/es/components/Pix/components/PixQRDetails.js.map +1 -1
  112. package/dist/es/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js +1 -1
  113. package/dist/es/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js.map +1 -1
  114. package/dist/es/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js.map +1 -1
  115. package/dist/es/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
  116. package/dist/es/components/ThreeDS2/components/Form/ThreeDS2Form.js.map +1 -1
  117. package/dist/es/components/Twint/Twint.js +1 -1
  118. package/dist/es/components/Twint/Twint.js.map +1 -1
  119. package/dist/es/components/UPI/UPI.js +1 -1
  120. package/dist/es/components/UPI/UPI.js.map +1 -1
  121. package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
  122. package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
  123. package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js +1 -1
  124. package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js.map +1 -1
  125. package/dist/es/components/UPI/constants.js +1 -1
  126. package/dist/es/components/UPI/constants.js.map +1 -1
  127. package/dist/es/components/components-name-map.js +1 -1
  128. package/dist/es/components/components-name-map.js.map +1 -1
  129. package/dist/es/components/internal/Address/Specifications.js.map +1 -1
  130. package/dist/es/components/internal/Await/Await.js +1 -1
  131. package/dist/es/components/internal/Await/Await.js.map +1 -1
  132. package/dist/es/components/internal/BaseElement/BaseElement.js +1 -1
  133. package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
  134. package/dist/es/components/internal/Button/Button.js +1 -1
  135. package/dist/es/components/internal/Button/Button.js.map +1 -1
  136. package/dist/es/components/internal/ClickToPay/components/CtPCards/CtPCards.js +1 -1
  137. package/dist/es/components/internal/ClickToPay/components/CtPCards/CtPCards.js.map +1 -1
  138. package/dist/es/components/internal/ClickToPay/components/CtPInfo/CtPInfoModal/CtPInfoModal.js +1 -1
  139. package/dist/es/components/internal/ClickToPay/components/CtPInfo/CtPInfoModal/CtPInfoModal.js.map +1 -1
  140. package/dist/es/components/internal/ClickToPay/context/ClickToPayContext.js +1 -1
  141. package/dist/es/components/internal/ClickToPay/context/ClickToPayContext.js.map +1 -1
  142. package/dist/es/components/internal/ClickToPay/context/ClickToPayProvider.js +1 -1
  143. package/dist/es/components/internal/ClickToPay/context/ClickToPayProvider.js.map +1 -1
  144. package/dist/es/components/internal/ClickToPay/models/ShopperCard.js.map +1 -1
  145. package/dist/es/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
  146. package/dist/es/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js.map +1 -1
  147. package/dist/es/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js.map +1 -1
  148. package/dist/es/components/internal/CompanyDetails/CompanyDetails.js +1 -1
  149. package/dist/es/components/internal/CompanyDetails/CompanyDetails.js.map +1 -1
  150. package/dist/es/components/internal/Countdown/CountdownA11yReporter.js.map +1 -1
  151. package/dist/es/components/internal/Countdown/index.js +1 -1
  152. package/dist/es/components/internal/Countdown/index.js.map +1 -1
  153. package/dist/es/components/internal/FormFields/InputBase.js +1 -1
  154. package/dist/es/components/internal/FormFields/InputBase.js.map +1 -1
  155. package/dist/es/components/internal/IFrame/Iframe.js.map +1 -1
  156. package/dist/es/components/internal/PayButton/PayButton.js +1 -1
  157. package/dist/es/components/internal/PayButton/PayButton.js.map +1 -1
  158. package/dist/es/components/internal/PayButton/utils.js +1 -1
  159. package/dist/es/components/internal/PayButton/utils.js.map +1 -1
  160. package/dist/es/components/internal/PersonalDetails/PersonalDetails.js +1 -1
  161. package/dist/es/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
  162. package/dist/es/components/internal/QRLoader/QRLoader.js +1 -1
  163. package/dist/es/components/internal/QRLoader/QRLoader.js.map +1 -1
  164. package/dist/es/components/internal/QRLoader/QRLoaderDetailsProvider.js.map +1 -1
  165. package/dist/es/components/internal/QRLoader/components/QRDetails.js +1 -1
  166. package/dist/es/components/internal/QRLoader/components/QRDetails.js.map +1 -1
  167. package/dist/es/components/internal/QRLoader/components/QRImage.js +1 -1
  168. package/dist/es/components/internal/QRLoader/components/QRImage.js.map +1 -1
  169. package/dist/es/components/internal/RedirectButton/RedirectButton.js +1 -1
  170. package/dist/es/components/internal/RedirectButton/RedirectButton.js.map +1 -1
  171. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
  172. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  173. package/dist/es/components/internal/SecuredFields/lib/CSF/AbstractCSF.js.map +1 -1
  174. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js +1 -1
  175. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
  176. package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js +1 -1
  177. package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
  178. package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
  179. package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
  180. package/dist/es/components/internal/SecuredFields/utils.js.map +1 -1
  181. package/dist/es/components/internal/SendCopyToEmail/SendCopyToEmail.js +1 -1
  182. package/dist/es/components/internal/SendCopyToEmail/SendCopyToEmail.js.map +1 -1
  183. package/dist/es/components/internal/SocialSecurityNumberBrazil/SocialSecurityNumberBrazil.js +1 -1
  184. package/dist/es/components/internal/SocialSecurityNumberBrazil/SocialSecurityNumberBrazil.js.map +1 -1
  185. package/dist/es/components/internal/UIElement/UIElement.js +1 -1
  186. package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
  187. package/dist/es/components/tx-variants.js +1 -1
  188. package/dist/es/components/tx-variants.js.map +1 -1
  189. package/dist/es/core/Analytics/Analytics.js +1 -1
  190. package/dist/es/core/Analytics/Analytics.js.map +1 -1
  191. package/dist/es/core/Analytics/AnalyticsService.js.map +1 -1
  192. package/dist/es/core/Analytics/events/AbstractAnalyticsEvent.js.map +1 -1
  193. package/dist/es/core/Analytics/events/AnalyticsErrorEvent.js +1 -1
  194. package/dist/es/core/Analytics/events/AnalyticsErrorEvent.js.map +1 -1
  195. package/dist/es/core/Analytics/events/AnalyticsInfoEvent.js +1 -1
  196. package/dist/es/core/Analytics/events/AnalyticsInfoEvent.js.map +1 -1
  197. package/dist/es/core/Analytics/events/AnalyticsLogEvent.js.map +1 -1
  198. package/dist/es/core/Analytics/utils.js +1 -1
  199. package/dist/es/core/Analytics/utils.js.map +1 -1
  200. package/dist/es/core/CheckoutSession/CheckoutSession.js +1 -1
  201. package/dist/es/core/CheckoutSession/CheckoutSession.js.map +1 -1
  202. package/dist/es/core/Context/AmountProvider.js +2 -0
  203. package/dist/es/core/Context/AmountProvider.js.map +1 -0
  204. package/dist/es/core/Context/Resources.js.map +1 -1
  205. package/dist/es/core/Errors/SRPanel.js.map +1 -1
  206. package/dist/es/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.js.map +1 -1
  207. package/dist/es/core/config.js +1 -1
  208. package/dist/es/core/core.js +1 -1
  209. package/dist/es/core/core.js.map +1 -1
  210. package/dist/es/external/preact/compat/dist/compat.js +1 -1
  211. package/dist/es/external/preact/compat/dist/compat.js.map +1 -1
  212. package/dist/es/external/preact/dist/preact.js +1 -1
  213. package/dist/es/external/preact/dist/preact.js.map +1 -1
  214. package/dist/es/external/preact/hooks/dist/hooks.js +1 -1
  215. package/dist/es/external/preact/hooks/dist/hooks.js.map +1 -1
  216. package/dist/es/index.d.ts +705 -641
  217. package/dist/es/language/Language.js.map +1 -1
  218. package/dist/es/utils/Script.js.map +1 -1
  219. package/dist/es/utils/Storage.js +1 -1
  220. package/dist/es/utils/Storage.js.map +1 -1
  221. package/dist/es/utils/Validator/ValidationRuleResult.js.map +1 -1
  222. package/dist/es/utils/Validator/Validator.js.map +1 -1
  223. package/dist/es/utils/amount-util.js +1 -1
  224. package/dist/es/utils/amount-util.js.map +1 -1
  225. package/dist/es/utils/browserInfo.js +1 -1
  226. package/dist/es/utils/browserInfo.js.map +1 -1
  227. package/dist/es/utils/constants/currency-minor-units.js.map +1 -1
  228. package/dist/es/utils/createSdkData.js.map +1 -1
  229. package/dist/es/utils/getErrorMessage.js.map +1 -1
  230. package/dist/es/utils/getProp.js +1 -1
  231. package/dist/es/utils/getProp.js.map +1 -1
  232. package/dist/es/utils/hasOwnProperty.js.map +1 -1
  233. package/dist/es/utils/isValidURL.js.map +1 -1
  234. package/dist/es/utils/listenerUtils.js.map +1 -1
  235. package/dist/es/utils/promiseTimeout.js.map +1 -1
  236. package/dist/es/utils/textUtils.js.map +1 -1
  237. package/dist/es/utils/validator-utils.js.map +1 -1
  238. package/dist/es-legacy/adyen.css +8 -9
  239. package/dist/es-legacy/adyen.css.map +1 -1
  240. package/dist/es-legacy/components/ANCV/ANCV.js.map +1 -1
  241. package/dist/es-legacy/components/Ach/Ach.js +1 -1
  242. package/dist/es-legacy/components/Ach/Ach.js.map +1 -1
  243. package/dist/es-legacy/components/Ach/components/AccountTypeSelector.js.map +1 -1
  244. package/dist/es-legacy/components/Ach/components/AchComponent.js.map +1 -1
  245. package/dist/es-legacy/components/Affirm/Affirm.js.map +1 -1
  246. package/dist/es-legacy/components/AfterPay/AfterPay.js.map +1 -1
  247. package/dist/es-legacy/components/AfterPay/AfterPayB2B.js.map +1 -1
  248. package/dist/es-legacy/components/AmazonPay/components/AmazonPayButton.js +1 -1
  249. package/dist/es-legacy/components/AmazonPay/components/AmazonPayButton.js.map +1 -1
  250. package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js +1 -1
  251. package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
  252. package/dist/es-legacy/components/AmazonPay/components/OrderButton.js +1 -1
  253. package/dist/es-legacy/components/AmazonPay/components/OrderButton.js.map +1 -1
  254. package/dist/es-legacy/components/AmazonPay/utils.js +1 -1
  255. package/dist/es-legacy/components/AmazonPay/utils.js.map +1 -1
  256. package/dist/es-legacy/components/ApplePay/ApplePay.js.map +1 -1
  257. package/dist/es-legacy/components/ApplePay/services/ApplePaySdkLoader.js.map +1 -1
  258. package/dist/es-legacy/components/ApplePay/services/ApplePayService.js +1 -1
  259. package/dist/es-legacy/components/ApplePay/services/ApplePayService.js.map +1 -1
  260. package/dist/es-legacy/components/ApplePay/utils/map-adyen-brands-to-applepay-brands.js.map +1 -1
  261. package/dist/es-legacy/components/ApplePay/utils/payment-request.js.map +1 -1
  262. package/dist/es-legacy/components/Atome/Atome.js.map +1 -1
  263. package/dist/es-legacy/components/BacsDD/BacsDD.js +1 -1
  264. package/dist/es-legacy/components/BacsDD/BacsDD.js.map +1 -1
  265. package/dist/es-legacy/components/BacsDD/components/BacsInput.js +1 -1
  266. package/dist/es-legacy/components/BacsDD/components/BacsInput.js.map +1 -1
  267. package/dist/es-legacy/components/BankTransfer/components/BankTransferInput/BankTransferInput.js +1 -1
  268. package/dist/es-legacy/components/BankTransfer/components/BankTransferInput/BankTransferInput.js.map +1 -1
  269. package/dist/es-legacy/components/Blik/Blik.js +1 -1
  270. package/dist/es-legacy/components/Blik/Blik.js.map +1 -1
  271. package/dist/es-legacy/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
  272. package/dist/es-legacy/components/Card/Card.js +1 -1
  273. package/dist/es-legacy/components/Card/Card.js.map +1 -1
  274. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js +1 -1
  275. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js.map +1 -1
  276. package/dist/es-legacy/components/Card/components/CardInput/components/AvailableBrands/AvailableBrands.js.map +1 -1
  277. package/dist/es-legacy/components/Card/components/CardInput/components/CardFields.js.map +1 -1
  278. package/dist/es-legacy/components/Card/components/CardInput/components/CardFieldsWrapper.js +1 -1
  279. package/dist/es-legacy/components/Card/components/CardInput/components/CardFieldsWrapper.js.map +1 -1
  280. package/dist/es-legacy/components/Card/components/CardInput/components/Installments/Installments.js +1 -1
  281. package/dist/es-legacy/components/Card/components/CardInput/components/Installments/Installments.js.map +1 -1
  282. package/dist/es-legacy/components/Card/components/CardInput/components/StoredCardFieldsWrapper.js +1 -1
  283. package/dist/es-legacy/components/Card/components/CardInput/components/StoredCardFieldsWrapper.js.map +1 -1
  284. package/dist/es-legacy/components/Card/components/CardInput/types.js.map +1 -1
  285. package/dist/es-legacy/components/Card/components/CardInput/useSRPanelForCardInputErrors.js.map +1 -1
  286. package/dist/es-legacy/components/Card/components/CardInput/utils.js +1 -1
  287. package/dist/es-legacy/components/Card/components/CardInput/utils.js.map +1 -1
  288. package/dist/es-legacy/components/Card/components/ClickToPayWrapper.js +1 -1
  289. package/dist/es-legacy/components/Card/components/ClickToPayWrapper.js.map +1 -1
  290. package/dist/es-legacy/components/Card/components/Fastlane/USOnlyPhoneInput.js.map +1 -1
  291. package/dist/es-legacy/components/CashAppPay/CashAppPay.js +1 -1
  292. package/dist/es-legacy/components/CashAppPay/CashAppPay.js.map +1 -1
  293. package/dist/es-legacy/components/CashAppPay/services/CashAppSdkLoader.js.map +1 -1
  294. package/dist/es-legacy/components/CashAppPay/services/CashAppService.js +1 -1
  295. package/dist/es-legacy/components/CashAppPay/services/CashAppService.js.map +1 -1
  296. package/dist/es-legacy/components/CashAppPay/services/types.js.map +1 -1
  297. package/dist/es-legacy/components/ClickToPay/ClickToPay.js +1 -1
  298. package/dist/es-legacy/components/ClickToPay/ClickToPay.js.map +1 -1
  299. package/dist/es-legacy/components/CustomCard/CustomCard.js +1 -1
  300. package/dist/es-legacy/components/CustomCard/CustomCard.js.map +1 -1
  301. package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js +1 -1
  302. package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
  303. package/dist/es-legacy/components/Doku/components/DokuInput/DokuInput.js.map +1 -1
  304. package/dist/es-legacy/components/Dragonpay/components/DragonpayInput/DragonpayInput.js +1 -1
  305. package/dist/es-legacy/components/Dragonpay/components/DragonpayInput/DragonpayInput.js.map +1 -1
  306. package/dist/es-legacy/components/Dropin/Dropin.js +1 -1
  307. package/dist/es-legacy/components/Dropin/Dropin.js.map +1 -1
  308. package/dist/es-legacy/components/Dropin/components/DropinComponent.js +1 -1
  309. package/dist/es-legacy/components/Dropin/components/DropinComponent.js.map +1 -1
  310. package/dist/es-legacy/components/Dropin/components/DropinSuccessState.js +2 -0
  311. package/dist/es-legacy/components/Dropin/components/DropinSuccessState.js.map +1 -0
  312. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js +1 -1
  313. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js.map +1 -1
  314. package/dist/es-legacy/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
  315. package/dist/es-legacy/components/Giftcard/Giftcard.js +1 -1
  316. package/dist/es-legacy/components/Giftcard/Giftcard.js.map +1 -1
  317. package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js +1 -1
  318. package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  319. package/dist/es-legacy/components/Giftcard/components/GiftcardResult.js +1 -1
  320. package/dist/es-legacy/components/Giftcard/components/GiftcardResult.js.map +1 -1
  321. package/dist/es-legacy/components/GooglePay/GooglePay.js.map +1 -1
  322. package/dist/es-legacy/components/GooglePay/GooglePayService.js.map +1 -1
  323. package/dist/es-legacy/components/Iris/Iris.js +1 -1
  324. package/dist/es-legacy/components/Iris/Iris.js.map +1 -1
  325. package/dist/es-legacy/components/Iris/components/IrisGenerateQRCode.js +1 -1
  326. package/dist/es-legacy/components/Iris/components/IrisGenerateQRCode.js.map +1 -1
  327. package/dist/es-legacy/components/Klarna/KlarnaPayments.js +1 -1
  328. package/dist/es-legacy/components/Klarna/KlarnaPayments.js.map +1 -1
  329. package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js.map +1 -1
  330. package/dist/es-legacy/components/Klarna/components/KlarnaWidget/KlarnaWidget.js.map +1 -1
  331. package/dist/es-legacy/components/MBWay/MBWay.js.map +1 -1
  332. package/dist/es-legacy/components/Multibanco/Multibanco.js +1 -1
  333. package/dist/es-legacy/components/Multibanco/Multibanco.js.map +1 -1
  334. package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js +1 -1
  335. package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js.map +1 -1
  336. package/dist/es-legacy/components/PayByBankPix/components/Enrollment/useIssuerWithLogo.js.map +1 -1
  337. package/dist/es-legacy/components/PayByBankPix/components/StoredPayment/StoredPayment.js +1 -1
  338. package/dist/es-legacy/components/PayByBankPix/components/StoredPayment/StoredPayment.js.map +1 -1
  339. package/dist/es-legacy/components/PayByBankPix/services/PasskeySdkLoader.js.map +1 -1
  340. package/dist/es-legacy/components/PayByBankPix/services/PasskeyService.js.map +1 -1
  341. package/dist/es-legacy/components/PayByBankUS/PayByBankUS.js +1 -1
  342. package/dist/es-legacy/components/PayByBankUS/PayByBankUS.js.map +1 -1
  343. package/dist/es-legacy/components/PayPal/Paypal.js.map +1 -1
  344. package/dist/es-legacy/components/PayPalFastlane/FastlaneSDK.js.map +1 -1
  345. package/dist/es-legacy/components/PayPalFastlane/components/FastlaneComponent.js.map +1 -1
  346. package/dist/es-legacy/components/PayTo/PayTo.js +1 -1
  347. package/dist/es-legacy/components/PayTo/PayTo.js.map +1 -1
  348. package/dist/es-legacy/components/PayTo/components/PayToComponent.js.map +1 -1
  349. package/dist/es-legacy/components/PayTo/components/PayToNameFields.js +1 -1
  350. package/dist/es-legacy/components/PayTo/components/PayToNameFields.js.map +1 -1
  351. package/dist/es-legacy/components/PersonalDetails/PersonalDetails.js.map +1 -1
  352. package/dist/es-legacy/components/Pix/components/PixQRDetails.js +1 -1
  353. package/dist/es-legacy/components/Pix/components/PixQRDetails.js.map +1 -1
  354. package/dist/es-legacy/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js +1 -1
  355. package/dist/es-legacy/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js.map +1 -1
  356. package/dist/es-legacy/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js.map +1 -1
  357. package/dist/es-legacy/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
  358. package/dist/es-legacy/components/ThreeDS2/callSubmit3DS2Fingerprint.js.map +1 -1
  359. package/dist/es-legacy/components/ThreeDS2/components/Form/ThreeDS2Form.js.map +1 -1
  360. package/dist/es-legacy/components/Twint/Twint.js +1 -1
  361. package/dist/es-legacy/components/Twint/Twint.js.map +1 -1
  362. package/dist/es-legacy/components/UPI/UPI.js +1 -1
  363. package/dist/es-legacy/components/UPI/UPI.js.map +1 -1
  364. package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
  365. package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
  366. package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js +1 -1
  367. package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js.map +1 -1
  368. package/dist/es-legacy/components/UPI/constants.js +1 -1
  369. package/dist/es-legacy/components/UPI/constants.js.map +1 -1
  370. package/dist/es-legacy/components/components-name-map.js +1 -1
  371. package/dist/es-legacy/components/components-name-map.js.map +1 -1
  372. package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  373. package/dist/es-legacy/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js.map +1 -1
  374. package/dist/es-legacy/components/internal/Address/Address.js.map +1 -1
  375. package/dist/es-legacy/components/internal/Address/Specifications.js.map +1 -1
  376. package/dist/es-legacy/components/internal/Address/validate.js.map +1 -1
  377. package/dist/es-legacy/components/internal/Await/Await.js +1 -1
  378. package/dist/es-legacy/components/internal/Await/Await.js.map +1 -1
  379. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js +1 -1
  380. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
  381. package/dist/es-legacy/components/internal/Button/Button.js +1 -1
  382. package/dist/es-legacy/components/internal/Button/Button.js.map +1 -1
  383. package/dist/es-legacy/components/internal/Button/CopyButton.js.map +1 -1
  384. package/dist/es-legacy/components/internal/ClickToPay/components/CtPCards/CtPCards.js +1 -1
  385. package/dist/es-legacy/components/internal/ClickToPay/components/CtPCards/CtPCards.js.map +1 -1
  386. package/dist/es-legacy/components/internal/ClickToPay/components/CtPInfo/CtPInfoModal/CtPInfoModal.js +1 -1
  387. package/dist/es-legacy/components/internal/ClickToPay/components/CtPInfo/CtPInfoModal/CtPInfoModal.js.map +1 -1
  388. package/dist/es-legacy/components/internal/ClickToPay/components/CtPLogin/CtPLogin.js.map +1 -1
  389. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePassword.js.map +1 -1
  390. package/dist/es-legacy/components/internal/ClickToPay/context/ClickToPayContext.js +1 -1
  391. package/dist/es-legacy/components/internal/ClickToPay/context/ClickToPayContext.js.map +1 -1
  392. package/dist/es-legacy/components/internal/ClickToPay/context/ClickToPayProvider.js +1 -1
  393. package/dist/es-legacy/components/internal/ClickToPay/context/ClickToPayProvider.js.map +1 -1
  394. package/dist/es-legacy/components/internal/ClickToPay/models/ShopperCard.js.map +1 -1
  395. package/dist/es-legacy/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
  396. package/dist/es-legacy/components/internal/ClickToPay/services/create-clicktopay-service.js.map +1 -1
  397. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js.map +1 -1
  398. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js.map +1 -1
  399. package/dist/es-legacy/components/internal/CompanyDetails/CompanyDetails.js +1 -1
  400. package/dist/es-legacy/components/internal/CompanyDetails/CompanyDetails.js.map +1 -1
  401. package/dist/es-legacy/components/internal/Countdown/CountdownA11yReporter.js.map +1 -1
  402. package/dist/es-legacy/components/internal/Countdown/index.js +1 -1
  403. package/dist/es-legacy/components/internal/Countdown/index.js.map +1 -1
  404. package/dist/es-legacy/components/internal/FormFields/Field/Field.js.map +1 -1
  405. package/dist/es-legacy/components/internal/FormFields/InputBase.js +1 -1
  406. package/dist/es-legacy/components/internal/FormFields/InputBase.js.map +1 -1
  407. package/dist/es-legacy/components/internal/FormFields/RadioGroupExtended/RadioGroupExtended.js.map +1 -1
  408. package/dist/es-legacy/components/internal/IFrame/Iframe.js.map +1 -1
  409. package/dist/es-legacy/components/internal/IssuerList/IssuerList.js.map +1 -1
  410. package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
  411. package/dist/es-legacy/components/internal/PayButton/PayButton.js +1 -1
  412. package/dist/es-legacy/components/internal/PayButton/PayButton.js.map +1 -1
  413. package/dist/es-legacy/components/internal/PayButton/utils.js +1 -1
  414. package/dist/es-legacy/components/internal/PayButton/utils.js.map +1 -1
  415. package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js +1 -1
  416. package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
  417. package/dist/es-legacy/components/internal/PhoneInput/PhoneInputForm.js.map +1 -1
  418. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js +1 -1
  419. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js.map +1 -1
  420. package/dist/es-legacy/components/internal/QRLoader/QRLoaderDetailsProvider.js.map +1 -1
  421. package/dist/es-legacy/components/internal/QRLoader/components/QRDetails.js +1 -1
  422. package/dist/es-legacy/components/internal/QRLoader/components/QRDetails.js.map +1 -1
  423. package/dist/es-legacy/components/internal/QRLoader/components/QRImage.js +1 -1
  424. package/dist/es-legacy/components/internal/QRLoader/components/QRImage.js.map +1 -1
  425. package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js +1 -1
  426. package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js.map +1 -1
  427. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
  428. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  429. package/dist/es-legacy/components/internal/SecuredFields/binLookup/extensions.js.map +1 -1
  430. package/dist/es-legacy/components/internal/SecuredFields/binLookup/triggerBinLookUp.js.map +1 -1
  431. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/AbstractCSF.js.map +1 -1
  432. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js +1 -1
  433. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
  434. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/processAutoComplete.js.map +1 -1
  435. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/cardType.js.map +1 -1
  436. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js +1 -1
  437. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
  438. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
  439. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
  440. package/dist/es-legacy/components/internal/SecuredFields/utils.js.map +1 -1
  441. package/dist/es-legacy/components/internal/SendCopyToEmail/SendCopyToEmail.js +1 -1
  442. package/dist/es-legacy/components/internal/SendCopyToEmail/SendCopyToEmail.js.map +1 -1
  443. package/dist/es-legacy/components/internal/SocialSecurityNumberBrazil/SocialSecurityNumberBrazil.js +1 -1
  444. package/dist/es-legacy/components/internal/SocialSecurityNumberBrazil/SocialSecurityNumberBrazil.js.map +1 -1
  445. package/dist/es-legacy/components/internal/Tooltip/Tooltip.js.map +1 -1
  446. package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
  447. package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
  448. package/dist/es-legacy/components/tx-variants.js +1 -1
  449. package/dist/es-legacy/components/tx-variants.js.map +1 -1
  450. package/dist/es-legacy/core/Analytics/Analytics.js +1 -1
  451. package/dist/es-legacy/core/Analytics/Analytics.js.map +1 -1
  452. package/dist/es-legacy/core/Analytics/AnalyticsService.js.map +1 -1
  453. package/dist/es-legacy/core/Analytics/events/AbstractAnalyticsEvent.js.map +1 -1
  454. package/dist/es-legacy/core/Analytics/events/AnalyticsErrorEvent.js +1 -1
  455. package/dist/es-legacy/core/Analytics/events/AnalyticsErrorEvent.js.map +1 -1
  456. package/dist/es-legacy/core/Analytics/events/AnalyticsInfoEvent.js +1 -1
  457. package/dist/es-legacy/core/Analytics/events/AnalyticsInfoEvent.js.map +1 -1
  458. package/dist/es-legacy/core/Analytics/events/AnalyticsLogEvent.js.map +1 -1
  459. package/dist/es-legacy/core/Analytics/utils.js +1 -1
  460. package/dist/es-legacy/core/Analytics/utils.js.map +1 -1
  461. package/dist/es-legacy/core/CheckoutSession/CheckoutSession.js +1 -1
  462. package/dist/es-legacy/core/CheckoutSession/CheckoutSession.js.map +1 -1
  463. package/dist/es-legacy/core/Context/AmountProvider.js +2 -0
  464. package/dist/es-legacy/core/Context/AmountProvider.js.map +1 -0
  465. package/dist/es-legacy/core/Context/Resources.js.map +1 -1
  466. package/dist/es-legacy/core/Environment/Environment.js.map +1 -1
  467. package/dist/es-legacy/core/Errors/SRPanel.js.map +1 -1
  468. package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
  469. package/dist/es-legacy/core/ProcessResponse/PaymentMethods/utils.js.map +1 -1
  470. package/dist/es-legacy/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.js.map +1 -1
  471. package/dist/es-legacy/core/Services/http.js.map +1 -1
  472. package/dist/es-legacy/core/config.js +1 -1
  473. package/dist/es-legacy/core/core.js +1 -1
  474. package/dist/es-legacy/core/core.js.map +1 -1
  475. package/dist/es-legacy/external/preact/compat/dist/compat.js +1 -1
  476. package/dist/es-legacy/external/preact/compat/dist/compat.js.map +1 -1
  477. package/dist/es-legacy/external/preact/dist/preact.js +1 -1
  478. package/dist/es-legacy/external/preact/dist/preact.js.map +1 -1
  479. package/dist/es-legacy/external/preact/hooks/dist/hooks.js +1 -1
  480. package/dist/es-legacy/external/preact/hooks/dist/hooks.js.map +1 -1
  481. package/dist/es-legacy/hooks/usePaymentStatusTimer/usePaymentStatusTimer.js.map +1 -1
  482. package/dist/es-legacy/language/Language.js.map +1 -1
  483. package/dist/es-legacy/utils/Script.js.map +1 -1
  484. package/dist/es-legacy/utils/Storage.js +1 -1
  485. package/dist/es-legacy/utils/Storage.js.map +1 -1
  486. package/dist/es-legacy/utils/Validator/ValidationRuleResult.js.map +1 -1
  487. package/dist/es-legacy/utils/Validator/Validator.js.map +1 -1
  488. package/dist/es-legacy/utils/amount-util.js +1 -1
  489. package/dist/es-legacy/utils/amount-util.js.map +1 -1
  490. package/dist/es-legacy/utils/browserInfo.js +1 -1
  491. package/dist/es-legacy/utils/browserInfo.js.map +1 -1
  492. package/dist/es-legacy/utils/constants/currency-minor-units.js.map +1 -1
  493. package/dist/es-legacy/utils/createSdkData.js.map +1 -1
  494. package/dist/es-legacy/utils/getConsentUrl.js.map +1 -1
  495. package/dist/es-legacy/utils/getErrorMessage.js.map +1 -1
  496. package/dist/es-legacy/utils/getProp.js +1 -1
  497. package/dist/es-legacy/utils/getProp.js.map +1 -1
  498. package/dist/es-legacy/utils/hasOwnProperty.js.map +1 -1
  499. package/dist/es-legacy/utils/isValidURL.js.map +1 -1
  500. package/dist/es-legacy/utils/listenerUtils.js.map +1 -1
  501. package/dist/es-legacy/utils/promiseTimeout.js.map +1 -1
  502. package/dist/es-legacy/utils/textUtils.js.map +1 -1
  503. package/dist/es-legacy/utils/useAutoFocus.js.map +1 -1
  504. package/dist/es-legacy/utils/useForm/reducer.js.map +1 -1
  505. package/dist/es-legacy/utils/validator-utils.js.map +1 -1
  506. package/package.json +11 -11
  507. package/styles/adyen.css +8 -9
  508. package/dist/es/components/UPI/components/VpaInput/VpaInput.js +0 -2
  509. package/dist/es/components/UPI/components/VpaInput/VpaInput.js.map +0 -1
  510. package/dist/es/components/UPI/components/VpaInput/validate.js +0 -2
  511. package/dist/es/components/UPI/components/VpaInput/validate.js.map +0 -1
  512. package/dist/es-legacy/components/UPI/components/VpaInput/VpaInput.js +0 -2
  513. package/dist/es-legacy/components/UPI/components/VpaInput/VpaInput.js.map +0 -1
  514. package/dist/es-legacy/components/UPI/components/VpaInput/validate.js +0 -2
  515. package/dist/es-legacy/components/UPI/components/VpaInput/validate.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FastlaneSDK.js","sources":["../../../../src/components/PayPalFastlane/FastlaneSDK.ts"],"sourcesContent":["import { resolveEnvironments } from '../../core/Environment';\nimport type { FastlaneTokenData } from './services/request-fastlane-token';\nimport requestFastlaneToken from './services/request-fastlane-token';\nimport { convertAdyenLocaleToFastlaneLocale } from './utils/convert-locale';\nimport Script from '../../utils/Script';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport {\n FastlaneAuthenticatedCustomerResult,\n FastlaneConsentRenderState,\n FastlanePaymentMethodConfiguration,\n FastlaneSDKConfiguration,\n FastlaneShippingAddressSelectorResult,\n FastlaneSignupConfiguration,\n FastlaneWindowInstance\n} from './types';\n\nimport Analytics from '../../core/Analytics';\nimport { AnalyticsInfoEvent, InfoEventType } from '../../core/Analytics/events/AnalyticsInfoEvent';\nimport type { IAnalytics } from '../../core/Analytics/Analytics';\nimport { AnalyticsEventQueue } from '../../core/Analytics/AnalyticsEventQueue';\nimport { AnalyticsService } from '../../core/Analytics/AnalyticsService';\n\nclass FastlaneSDK {\n private readonly clientKey: string;\n private readonly checkoutShopperURL: string;\n private readonly fastlaneLocale: string;\n private readonly forceConsentDetails: boolean;\n\n private readonly analytics: IAnalytics;\n\n private fastlaneSdk?: FastlaneWindowInstance;\n private latestShopperDetails?: { email: string; customerId: string };\n private fastlaneSessionId?: string;\n\n constructor(configuration: FastlaneSDKConfiguration) {\n if (!configuration?.environment) throw new AdyenCheckoutError('IMPLEMENTATION_ERROR', \"FastlaneSDK: 'environment' property is required\");\n if (!configuration?.clientKey) throw new AdyenCheckoutError('IMPLEMENTATION_ERROR', \"FastlaneSDK: 'clientKey' property is required\");\n\n if (configuration.forceConsentDetails && configuration.environment.includes('live'))\n console.warn(\"Fastlane SDK: 'forceConsentDetails' should not be used on 'live' environment\");\n\n const { apiUrl, analyticsUrl } = resolveEnvironments(configuration.environment);\n\n this.checkoutShopperURL = apiUrl;\n this.clientKey = configuration.clientKey;\n this.forceConsentDetails = configuration.forceConsentDetails || false;\n this.fastlaneLocale = convertAdyenLocaleToFastlaneLocale(configuration.locale || 'en-US');\n\n this.analytics = new Analytics({\n eventQueue: new AnalyticsEventQueue(),\n service: new AnalyticsService({\n analyticsContext: analyticsUrl,\n clientKey: this.clientKey\n }),\n enabled: configuration.analytics?.enabled\n });\n\n document.addEventListener('visibilitychange', this.handlePageVisibilityChanges);\n }\n\n /**\n * Initializes the Fastlane SDK\n */\n public async initialize(): Promise<FastlaneSDK> {\n void this.analytics.setUp({\n checkoutStage: 'precheckout'\n });\n\n const tokenData = await this.requestClientToken();\n await this.fetchSdk(tokenData.value, tokenData.clientId);\n await this.initializeFastlaneInstance();\n this.trackEvent(InfoEventType.Initialized);\n return this;\n }\n\n public destroy(): void {\n document.removeEventListener('visibilitychange', this.handlePageVisibilityChanges);\n this.analytics.flush();\n }\n\n /**\n * Triggers the authentication for Fastlane using shopper's email.\n * If shopper is recognized, the OTP flow is initialized.\n *\n * @param email\n */\n public async authenticate(email: string): Promise<FastlaneAuthenticatedCustomerResult> {\n if (!this.fastlaneSdk) {\n throw new AdyenCheckoutError('IMPLEMENTATION_ERROR', 'authenticate(): Fastlane SDK is not initialized');\n }\n\n this.trackEvent(InfoEventType.LookupStarted);\n\n try {\n const { customerContextId } = await this.fastlaneSdk.identity.lookupCustomerByEmail(email);\n\n if (customerContextId) {\n this.latestShopperDetails = { email, customerId: customerContextId };\n this.trackEvent(InfoEventType.OtpStarted);\n\n const authResult = await this.fastlaneSdk.identity.triggerAuthenticationFlow(customerContextId);\n this.trackEvent(this.getOtpAnalyticsSubtype(authResult.authenticationState));\n\n return authResult;\n }\n\n this.trackEvent(InfoEventType.LookupUserNotFound);\n return {\n authenticationState: 'not_found',\n profileData: undefined\n };\n } catch (error: unknown) {\n throw new AdyenCheckoutError('ERROR', 'Fastlane SDK: An error occurred during the authentication flow.', { cause: error });\n }\n }\n\n /**\n * Creates the Component configuration based on the Fastlane authentication result.\n *\n * In case the shopper authenticated successfully, it returns config to be used in the Fastlane component\n * Otherwise, it returns the configuration to be used in the Card component\n *\n * @param authResult\n */\n public async getComponentConfiguration(authResult: FastlaneAuthenticatedCustomerResult): Promise<FastlanePaymentMethodConfiguration> {\n if (!authResult) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'FastlaneSDK: you must pass the authentication result to get the component configuration'\n );\n }\n\n this.analytics.flush();\n\n const isAuthSuccess = authResult.authenticationState === 'succeeded';\n const hasCardData = !!authResult.profileData?.card;\n const hasShopperDetails = !!this.latestShopperDetails?.email;\n\n if (isAuthSuccess && hasCardData && hasShopperDetails) {\n return this.createFastlaneComponentConfiguration(authResult);\n }\n\n return this.createCardComponentConfiguration();\n }\n\n /**\n * Displays the Fastlane Shipping Address selector UI\n */\n public async showShippingAddressSelector(): Promise<FastlaneShippingAddressSelectorResult> {\n if (!this.fastlaneSdk) {\n throw new AdyenCheckoutError('IMPLEMENTATION_ERROR', 'showShippingAddressSelector(): Fastlane SDK is not initialized');\n }\n\n this.trackEvent(InfoEventType.AddressSelectorClicked);\n\n try {\n const addressSelectorResult = await this.fastlaneSdk.profile.showShippingAddressSelector();\n if (addressSelectorResult.selectionChanged) {\n this.trackEvent(InfoEventType.AddressChanged);\n }\n this.trackEvent(InfoEventType.AddressSelectorClosed);\n\n return addressSelectorResult;\n } catch (error: unknown) {\n throw new AdyenCheckoutError('ERROR', 'Fastlane SDK: An error occurred when showing the shipping address selector', { cause: error });\n }\n }\n\n /**\n * Render the \"Fastlane by PayPal\" logo in the specified HTML container\n */\n public async mountWatermark(container: HTMLElement | string, options = { includeAdditionalInfo: true }): Promise<void> {\n if (!this.fastlaneSdk) {\n throw new AdyenCheckoutError('IMPLEMENTATION_ERROR', 'mountWatermark(): Fastlane SDK is not initialized');\n }\n\n try {\n const component = await this.fastlaneSdk.FastlaneWatermarkComponent(options);\n component.render(container);\n } catch (error: unknown) {\n throw new AdyenCheckoutError('ERROR', 'Fastlane SDK: An error occurred when rendering the watermark', { cause: error });\n }\n }\n\n private requestClientToken(): Promise<FastlaneTokenData> {\n return requestFastlaneToken(this.checkoutShopperURL, this.clientKey);\n }\n\n private async fetchSdk(clientToken: string, clientId: string): Promise<void> {\n const sdkUrl = new URL('https://www.paypal.com/sdk/js');\n sdkUrl.searchParams.set('client-id', clientId);\n sdkUrl.searchParams.set('components', 'buttons,fastlane');\n\n const script = new Script({\n src: sdkUrl.href,\n component: 'fastlane',\n dataAttributes: { sdkClientToken: clientToken },\n analytics: this.analytics\n });\n\n await script.load();\n }\n\n /**\n * Fetch the fastlane session ID used internally by PayPal for Network Token Usage event\n * This ID is not critical for the payment processing part\n *\n * @private\n */\n private async fetchSessionIdAsync(): Promise<void> {\n try {\n const { sessionId } = await this.fastlaneSdk.identity.getSession();\n this.fastlaneSessionId = sessionId;\n } catch (error) {\n console.warn('Fastlane SDK: Failed to fetch session ID', error);\n }\n }\n\n /**\n * Fetch object containing that details that will be used to display the sign-up UI\n * inside the card component\n * @private\n */\n private async fetchConsentDetails(): Promise<FastlaneConsentRenderState> {\n try {\n const consentComponent = await this.fastlaneSdk.ConsentComponent();\n return await consentComponent.getRenderState();\n } catch (error) {\n throw new AdyenCheckoutError('ERROR', 'fetchConsentDetails(): failed to fetch consent details', { cause: error });\n }\n }\n\n private async initializeFastlaneInstance(): Promise<void> {\n try {\n this.fastlaneSdk = await window.paypal.Fastlane({\n intendedExperience: 'externalProcessorCustomConsent',\n ...(this.forceConsentDetails && {\n metadata: {\n geoLocOverride: 'US'\n }\n })\n });\n this.fastlaneSdk.setLocale(this.fastlaneLocale);\n\n void this.fetchSessionIdAsync();\n } catch (error) {\n throw new AdyenCheckoutError('ERROR', 'Fastlane SDK: Failed to initialize fastlane using the window.paypal.Fastlane constructor', {\n cause: error\n });\n }\n }\n\n /**\n * Creates the configuration for the Fastlane component\n *\n * @param authResult\n * @private\n */\n private createFastlaneComponentConfiguration(authResult: FastlaneAuthenticatedCustomerResult): FastlanePaymentMethodConfiguration {\n return {\n paymentType: 'fastlane',\n configuration: {\n fastlaneSessionId: this.fastlaneSessionId,\n email: this.latestShopperDetails.email,\n tokenId: authResult.profileData.card.id,\n lastFour: authResult.profileData.card.paymentSource.card.lastDigits,\n brand: authResult.profileData.card.paymentSource.card.brand.toLowerCase()\n }\n };\n }\n\n /**\n * Creates the configuration for the Card component, including Fastlane sign-up details if available\n *\n * @private\n */\n private async createCardComponentConfiguration(): Promise<FastlanePaymentMethodConfiguration> {\n const consentDetails = await this.fetchConsentDetails();\n const configuration: { fastlaneConfiguration?: FastlaneSignupConfiguration } = {};\n\n if (consentDetails) {\n configuration.fastlaneConfiguration = {\n fastlaneSessionId: this.fastlaneSessionId,\n ...consentDetails\n };\n }\n\n return {\n paymentType: 'card',\n configuration\n };\n }\n\n private trackEvent(eventType: InfoEventType): void {\n const event = new AnalyticsInfoEvent({ type: eventType, component: 'fastlane' });\n this.analytics.sendAnalytics(event);\n }\n\n private handlePageVisibilityChanges = (): void => {\n if (document.visibilityState === 'hidden') {\n this.analytics.flush();\n }\n };\n\n /**\n * Returns the Info event subtype based on the 'authenticationState'\n * @param authenticationState\n * @private\n */\n private getOtpAnalyticsSubtype(authenticationState: FastlaneAuthenticatedCustomerResult['authenticationState']) {\n switch (authenticationState) {\n case 'succeeded':\n return InfoEventType.OtpSucceeded;\n case 'canceled':\n return InfoEventType.OtpCanceled;\n case 'failed':\n return InfoEventType.OtpFailed;\n case 'not_found':\n return InfoEventType.LookupUserNotFound;\n default:\n return InfoEventType.OtpFailed;\n }\n }\n}\n\nexport default FastlaneSDK;\n"],"names":["FastlaneSDK","initialize","this","analytics","setUp","checkoutStage","tokenData","requestClientToken","fetchSdk","value","clientId","initializeFastlaneInstance","trackEvent","InfoEventType","Initialized","destroy","document","removeEventListener","handlePageVisibilityChanges","flush","authenticate","email","fastlaneSdk","AdyenCheckoutError","LookupStarted","customerContextId","identity","lookupCustomerByEmail","latestShopperDetails","customerId","OtpStarted","authResult","triggerAuthenticationFlow","getOtpAnalyticsSubtype","authenticationState","LookupUserNotFound","profileData","undefined","error","cause","getComponentConfiguration","_this_latestShopperDetails","isAuthSuccess","hasCardData","card","hasShopperDetails","createFastlaneComponentConfiguration","createCardComponentConfiguration","showShippingAddressSelector","AddressSelectorClicked","addressSelectorResult","profile","selectionChanged","AddressChanged","AddressSelectorClosed","mountWatermark","container","options","includeAdditionalInfo","FastlaneWatermarkComponent","render","requestFastlaneToken","checkoutShopperURL","clientKey","clientToken","sdkUrl","URL","searchParams","set","script","Script","src","href","component","dataAttributes","sdkClientToken","load","fetchSessionIdAsync","sessionId","getSession","fastlaneSessionId","console","warn","fetchConsentDetails","consentComponent","ConsentComponent","getRenderState","window","paypal","Fastlane","_object_spread","intendedExperience","forceConsentDetails","metadata","geoLocOverride","setLocale","fastlaneLocale","paymentType","configuration","tokenId","id","lastFour","paymentSource","lastDigits","brand","toLowerCase","consentDetails","fastlaneConfiguration","eventType","event","AnalyticsInfoEvent","type","sendAnalytics","OtpSucceeded","OtpCanceled","OtpFailed","constructor","_define_property","visibilityState","environment","includes","apiUrl","analyticsUrl","resolveEnvironments","convertAdyenLocaleToFastlaneLocale","locale","Analytics","eventQueue","AnalyticsEventQueue","service","AnalyticsService","analyticsContext","enabled","addEventListener"],"mappings":"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"}
1
+ {"version":3,"file":"FastlaneSDK.js","sources":["../../../../src/components/PayPalFastlane/FastlaneSDK.ts"],"sourcesContent":["import { resolveEnvironments } from '../../core/Environment';\nimport type { FastlaneTokenData } from './services/request-fastlane-token';\nimport requestFastlaneToken from './services/request-fastlane-token';\nimport { convertAdyenLocaleToFastlaneLocale } from './utils/convert-locale';\nimport Script from '../../utils/Script';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport {\n FastlaneAuthenticatedCustomerResult,\n FastlaneConsentRenderState,\n FastlanePaymentMethodConfiguration,\n FastlaneSDKConfiguration,\n FastlaneShippingAddressSelectorResult,\n FastlaneSignupConfiguration,\n FastlaneWindowInstance\n} from './types';\n\nimport Analytics from '../../core/Analytics';\nimport { AnalyticsInfoEvent, InfoEventType } from '../../core/Analytics/events/AnalyticsInfoEvent';\nimport type { IAnalytics } from '../../core/Analytics/Analytics';\nimport { AnalyticsEventQueue } from '../../core/Analytics/AnalyticsEventQueue';\nimport { AnalyticsService } from '../../core/Analytics/AnalyticsService';\n\nclass FastlaneSDK {\n private readonly clientKey: string;\n private readonly checkoutShopperURL: string;\n private readonly fastlaneLocale: string;\n private readonly forceConsentDetails: boolean;\n\n private readonly analytics: IAnalytics;\n\n private fastlaneSdk?: FastlaneWindowInstance;\n private latestShopperDetails?: { email: string; customerId: string };\n private fastlaneSessionId?: string;\n\n constructor(configuration: FastlaneSDKConfiguration) {\n if (!configuration?.environment) throw new AdyenCheckoutError('IMPLEMENTATION_ERROR', \"FastlaneSDK: 'environment' property is required\");\n if (!configuration?.clientKey) throw new AdyenCheckoutError('IMPLEMENTATION_ERROR', \"FastlaneSDK: 'clientKey' property is required\");\n\n if (configuration.forceConsentDetails && configuration.environment.includes('live'))\n console.warn(\"Fastlane SDK: 'forceConsentDetails' should not be used on 'live' environment\");\n\n const { apiUrl, analyticsUrl } = resolveEnvironments(configuration.environment);\n\n this.checkoutShopperURL = apiUrl;\n this.clientKey = configuration.clientKey;\n this.forceConsentDetails = configuration.forceConsentDetails || false;\n this.fastlaneLocale = convertAdyenLocaleToFastlaneLocale(configuration.locale || 'en-US');\n\n this.analytics = new Analytics({\n eventQueue: new AnalyticsEventQueue(),\n service: new AnalyticsService({\n analyticsContext: analyticsUrl,\n clientKey: this.clientKey\n }),\n enabled: configuration.analytics?.enabled\n });\n\n document.addEventListener('visibilitychange', this.handlePageVisibilityChanges);\n }\n\n /**\n * Initializes the Fastlane SDK\n */\n public async initialize(): Promise<FastlaneSDK> {\n void this.analytics.setUp({\n checkoutStage: 'precheckout'\n });\n\n const tokenData = await this.requestClientToken();\n await this.fetchSdk(tokenData.value, tokenData.clientId);\n await this.initializeFastlaneInstance();\n this.trackEvent(InfoEventType.Initialized);\n return this;\n }\n\n public destroy(): void {\n document.removeEventListener('visibilitychange', this.handlePageVisibilityChanges);\n this.analytics.flush();\n }\n\n /**\n * Triggers the authentication for Fastlane using shopper's email.\n * If shopper is recognized, the OTP flow is initialized.\n *\n * @param email\n */\n public async authenticate(email: string): Promise<FastlaneAuthenticatedCustomerResult> {\n if (!this.fastlaneSdk) {\n throw new AdyenCheckoutError('IMPLEMENTATION_ERROR', 'authenticate(): Fastlane SDK is not initialized');\n }\n\n this.trackEvent(InfoEventType.LookupStarted);\n\n try {\n const { customerContextId } = await this.fastlaneSdk.identity.lookupCustomerByEmail(email);\n\n if (customerContextId) {\n this.latestShopperDetails = { email, customerId: customerContextId };\n this.trackEvent(InfoEventType.OtpStarted);\n\n const authResult = await this.fastlaneSdk.identity.triggerAuthenticationFlow(customerContextId);\n this.trackEvent(this.getOtpAnalyticsSubtype(authResult.authenticationState));\n\n return authResult;\n }\n\n this.trackEvent(InfoEventType.LookupUserNotFound);\n return {\n authenticationState: 'not_found',\n profileData: undefined\n };\n } catch (error: unknown) {\n throw new AdyenCheckoutError('ERROR', 'Fastlane SDK: An error occurred during the authentication flow.', { cause: error });\n }\n }\n\n /**\n * Creates the Component configuration based on the Fastlane authentication result.\n *\n * In case the shopper authenticated successfully, it returns config to be used in the Fastlane component\n * Otherwise, it returns the configuration to be used in the Card component\n *\n * @param authResult\n */\n public async getComponentConfiguration(authResult: FastlaneAuthenticatedCustomerResult): Promise<FastlanePaymentMethodConfiguration> {\n if (!authResult) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'FastlaneSDK: you must pass the authentication result to get the component configuration'\n );\n }\n\n this.analytics.flush();\n\n const isAuthSuccess = authResult.authenticationState === 'succeeded';\n const hasCardData = !!authResult.profileData?.card;\n const hasShopperDetails = !!this.latestShopperDetails?.email;\n\n if (isAuthSuccess && hasCardData && hasShopperDetails) {\n return this.createFastlaneComponentConfiguration(authResult);\n }\n\n return this.createCardComponentConfiguration();\n }\n\n /**\n * Displays the Fastlane Shipping Address selector UI\n */\n public async showShippingAddressSelector(): Promise<FastlaneShippingAddressSelectorResult> {\n if (!this.fastlaneSdk) {\n throw new AdyenCheckoutError('IMPLEMENTATION_ERROR', 'showShippingAddressSelector(): Fastlane SDK is not initialized');\n }\n\n this.trackEvent(InfoEventType.AddressSelectorClicked);\n\n try {\n const addressSelectorResult = await this.fastlaneSdk.profile.showShippingAddressSelector();\n if (addressSelectorResult.selectionChanged) {\n this.trackEvent(InfoEventType.AddressChanged);\n }\n this.trackEvent(InfoEventType.AddressSelectorClosed);\n\n return addressSelectorResult;\n } catch (error: unknown) {\n throw new AdyenCheckoutError('ERROR', 'Fastlane SDK: An error occurred when showing the shipping address selector', { cause: error });\n }\n }\n\n /**\n * Render the \"Fastlane by PayPal\" logo in the specified HTML container\n */\n public async mountWatermark(container: HTMLElement | string, options = { includeAdditionalInfo: true }): Promise<void> {\n if (!this.fastlaneSdk) {\n throw new AdyenCheckoutError('IMPLEMENTATION_ERROR', 'mountWatermark(): Fastlane SDK is not initialized');\n }\n\n try {\n const component = await this.fastlaneSdk.FastlaneWatermarkComponent(options);\n component.render(container);\n } catch (error: unknown) {\n throw new AdyenCheckoutError('ERROR', 'Fastlane SDK: An error occurred when rendering the watermark', { cause: error });\n }\n }\n\n private requestClientToken(): Promise<FastlaneTokenData> {\n return requestFastlaneToken(this.checkoutShopperURL, this.clientKey);\n }\n\n private async fetchSdk(clientToken: string, clientId: string): Promise<void> {\n const sdkUrl = new URL('https://www.paypal.com/sdk/js');\n sdkUrl.searchParams.set('client-id', clientId);\n sdkUrl.searchParams.set('components', 'buttons,fastlane');\n\n const script = new Script({\n src: sdkUrl.href,\n component: 'fastlane',\n dataAttributes: { sdkClientToken: clientToken },\n analytics: this.analytics\n });\n\n await script.load();\n }\n\n /**\n * Fetch the fastlane session ID used internally by PayPal for Network Token Usage event\n * This ID is not critical for the payment processing part\n *\n * @private\n */\n private async fetchSessionIdAsync(): Promise<void> {\n try {\n const { sessionId } = await this.fastlaneSdk.identity.getSession();\n this.fastlaneSessionId = sessionId;\n } catch (error) {\n console.warn('Fastlane SDK: Failed to fetch session ID', error);\n }\n }\n\n /**\n * Fetch object containing that details that will be used to display the sign-up UI\n * inside the card component\n * @private\n */\n private async fetchConsentDetails(): Promise<FastlaneConsentRenderState> {\n try {\n const consentComponent = await this.fastlaneSdk.ConsentComponent();\n return await consentComponent.getRenderState();\n } catch (error) {\n throw new AdyenCheckoutError('ERROR', 'fetchConsentDetails(): failed to fetch consent details', { cause: error });\n }\n }\n\n private async initializeFastlaneInstance(): Promise<void> {\n try {\n this.fastlaneSdk = await window.paypal.Fastlane({\n intendedExperience: 'externalProcessorCustomConsent',\n ...(this.forceConsentDetails && {\n metadata: {\n geoLocOverride: 'US'\n }\n })\n });\n this.fastlaneSdk.setLocale(this.fastlaneLocale);\n\n void this.fetchSessionIdAsync();\n } catch (error) {\n throw new AdyenCheckoutError('ERROR', 'Fastlane SDK: Failed to initialize fastlane using the window.paypal.Fastlane constructor', {\n cause: error\n });\n }\n }\n\n /**\n * Creates the configuration for the Fastlane component\n *\n * @param authResult\n * @private\n */\n private createFastlaneComponentConfiguration(authResult: FastlaneAuthenticatedCustomerResult): FastlanePaymentMethodConfiguration {\n return {\n paymentType: 'fastlane',\n configuration: {\n fastlaneSessionId: this.fastlaneSessionId,\n email: this.latestShopperDetails.email,\n tokenId: authResult.profileData.card.id,\n lastFour: authResult.profileData.card.paymentSource.card.lastDigits,\n brand: authResult.profileData.card.paymentSource.card.brand.toLowerCase()\n }\n };\n }\n\n /**\n * Creates the configuration for the Card component, including Fastlane sign-up details if available\n *\n * @private\n */\n private async createCardComponentConfiguration(): Promise<FastlanePaymentMethodConfiguration> {\n const consentDetails = await this.fetchConsentDetails();\n const configuration: { fastlaneConfiguration?: FastlaneSignupConfiguration } = {};\n\n if (consentDetails) {\n configuration.fastlaneConfiguration = {\n fastlaneSessionId: this.fastlaneSessionId,\n ...consentDetails\n };\n }\n\n return {\n paymentType: 'card',\n configuration\n };\n }\n\n private trackEvent(eventType: InfoEventType): void {\n const event = new AnalyticsInfoEvent({ type: eventType, component: 'fastlane' });\n this.analytics.sendAnalytics(event);\n }\n\n private handlePageVisibilityChanges = (): void => {\n if (document.visibilityState === 'hidden') {\n this.analytics.flush();\n }\n };\n\n /**\n * Returns the Info event subtype based on the 'authenticationState'\n * @param authenticationState\n * @private\n */\n private getOtpAnalyticsSubtype(authenticationState: FastlaneAuthenticatedCustomerResult['authenticationState']) {\n switch (authenticationState) {\n case 'succeeded':\n return InfoEventType.OtpSucceeded;\n case 'canceled':\n return InfoEventType.OtpCanceled;\n case 'failed':\n return InfoEventType.OtpFailed;\n case 'not_found':\n return InfoEventType.LookupUserNotFound;\n default:\n return InfoEventType.OtpFailed;\n }\n }\n}\n\nexport default FastlaneSDK;\n"],"names":["FastlaneSDK","initialize","this","analytics","setUp","checkoutStage","tokenData","requestClientToken","fetchSdk","value","clientId","initializeFastlaneInstance","trackEvent","InfoEventType","Initialized","destroy","document","removeEventListener","handlePageVisibilityChanges","flush","authenticate","email","fastlaneSdk","AdyenCheckoutError","LookupStarted","customerContextId","identity","lookupCustomerByEmail","latestShopperDetails","customerId","OtpStarted","authResult","triggerAuthenticationFlow","getOtpAnalyticsSubtype","authenticationState","LookupUserNotFound","profileData","undefined","error","cause","getComponentConfiguration","_this_latestShopperDetails","isAuthSuccess","hasCardData","card","hasShopperDetails","createFastlaneComponentConfiguration","createCardComponentConfiguration","showShippingAddressSelector","AddressSelectorClicked","addressSelectorResult","profile","selectionChanged","AddressChanged","AddressSelectorClosed","mountWatermark","container","options","includeAdditionalInfo","FastlaneWatermarkComponent","render","requestFastlaneToken","checkoutShopperURL","clientKey","clientToken","sdkUrl","URL","searchParams","set","script","Script","src","href","component","dataAttributes","sdkClientToken","load","fetchSessionIdAsync","sessionId","getSession","fastlaneSessionId","console","warn","fetchConsentDetails","consentComponent","ConsentComponent","getRenderState","window","paypal","Fastlane","_object_spread","intendedExperience","forceConsentDetails","metadata","geoLocOverride","setLocale","fastlaneLocale","paymentType","configuration","tokenId","id","lastFour","paymentSource","lastDigits","brand","toLowerCase","consentDetails","fastlaneConfiguration","eventType","event","AnalyticsInfoEvent","type","sendAnalytics","OtpSucceeded","OtpCanceled","OtpFailed","constructor","_define_property","visibilityState","environment","includes","apiUrl","analyticsUrl","resolveEnvironments","convertAdyenLocaleToFastlaneLocale","locale","Analytics","eventQueue","AnalyticsEventQueue","service","AnalyticsService","analyticsContext","enabled","addEventListener"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FastlaneComponent.js","sources":["../../../../../src/components/PayPalFastlane/components/FastlaneComponent.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useRef, useState } from 'preact/hooks';\nimport FastlaneCardBrandIcon from './FaslaneCardBrandIcon';\nimport { PREFIX } from '../../internal/Icon/constants';\nimport useImage from '../../../core/Context/useImage';\nimport Img from '../../internal/Img';\nimport type { ComponentMethodsRef, PayButtonFunctionProps, UIElementStatus } from '../../internal/UIElement/types';\n\nimport './Fastlane.scss';\n\ninterface FastlaneComponentProps {\n lastFour: string;\n brand: string;\n showPayButton: boolean;\n setComponentRef(ref: ComponentMethodsRef): void;\n payButton(props?: PayButtonFunctionProps): h.JSX.Element;\n}\n\nconst FastlaneComponent = ({ lastFour, brand, payButton, setComponentRef, showPayButton }: FastlaneComponentProps) => {\n const getImage = useImage();\n const [status, setStatus] = useState<UIElementStatus>('ready');\n const fastlaneRef = useRef({\n setStatus: (status: UIElementStatus) => setStatus(status)\n });\n\n useEffect(() => {\n setComponentRef(fastlaneRef.current);\n }, []);\n\n return (\n <div className=\"adyen-checkout-fastlane\" data-testid=\"payment-method-fastlane\">\n <div className=\"adyen-checkout-fastlane__card-section\">\n <FastlaneCardBrandIcon brand={brand} />\n <span className=\"adyen-checkout-fastlane__card-number\">•••• {lastFour}</span>\n </div>\n\n {showPayButton && payButton({ status, icon: getImage({ imageFolder: 'components/' })(`${PREFIX}lock`) })}\n\n <div className=\"adyen-checkout-fastlane__brand\">\n <Img src={getImage({ imageFolder: 'components/' })(`paypal_fastlane_gray`)} alt=\"Fastlane logo\" />\n </div>\n </div>\n );\n};\n\nexport default FastlaneComponent;\n"],"names":["FastlaneComponent","lastFour","brand","payButton","setComponentRef","showPayButton","getImage","useImage","status","setStatus","useState","fastlaneRef","useRef","useEffect","current","h","div","className","data-testid","FastlaneCardBrandIcon","span","icon","imageFolder","PREFIX","Img","src","alt"],"mappings":"wWAkBA,MAAMA,EAAoB,EAAGC,WAAUC,QAAOC,YAAWC,kBAAiBC,oBACtE,MAAMC,EAAWC,KACVC,EAAQC,GAAaC,EAA0B,SAChDC,EAAcC,EAAO,CACvBH,UAAYD,GAA4BC,EAAUD,KAOtD,OAJAK,EAAU,KACNT,EAAgBO,EAAYG,UAC7B,IAGCC,EAACC,MAAAA,CAAIC,UAAU,0BAA0BC,cAAY,2BACjDH,EAACC,MAAAA,CAAIC,UAAU,yCACXF,EAACI,EAAAA,CAAsBjB,MAAOA,IAC9Ba,EAACK,OAAAA,CAAKH,UAAU,wCAAuC,QAAMhB,IAGhEI,GAAiBF,EAAU,CAAEK,SAAQa,KAAMf,EAAS,CAAEgB,YAAa,eAAxBhB,CAAyC,GAAGiB,WAExFR,EAACC,MAAAA,CAAIC,UAAU,kCACXF,EAACS,EAAAA,CAAIC,IAAKnB,EAAS,CAAEgB,YAAa,eAAxBhB,CAAyC,wBAAyBoB,IAAI"}
1
+ {"version":3,"file":"FastlaneComponent.js","sources":["../../../../../src/components/PayPalFastlane/components/FastlaneComponent.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useRef, useState } from 'preact/hooks';\nimport FastlaneCardBrandIcon from './FaslaneCardBrandIcon';\nimport { PREFIX } from '../../internal/Icon/constants';\nimport useImage from '../../../core/Context/useImage';\nimport Img from '../../internal/Img';\nimport type { ComponentMethodsRef, UIElementStatus } from '../../internal/UIElement/types';\n\nimport './Fastlane.scss';\nimport { PayButtonProps } from '../../internal/PayButton/PayButton';\n\ninterface FastlaneComponentProps {\n lastFour: string;\n brand: string;\n showPayButton: boolean;\n setComponentRef(ref: ComponentMethodsRef): void;\n payButton(props: PayButtonProps): h.JSX.Element;\n}\n\nconst FastlaneComponent = ({ lastFour, brand, payButton, setComponentRef, showPayButton }: FastlaneComponentProps) => {\n const getImage = useImage();\n const [status, setStatus] = useState<UIElementStatus>('ready');\n const fastlaneRef = useRef({\n setStatus: (status: UIElementStatus) => setStatus(status)\n });\n\n useEffect(() => {\n setComponentRef(fastlaneRef.current);\n }, []);\n\n return (\n <div className=\"adyen-checkout-fastlane\" data-testid=\"payment-method-fastlane\">\n <div className=\"adyen-checkout-fastlane__card-section\">\n <FastlaneCardBrandIcon brand={brand} />\n <span className=\"adyen-checkout-fastlane__card-number\">•••• {lastFour}</span>\n </div>\n\n {showPayButton && payButton({ status, icon: getImage({ imageFolder: 'components/' })(`${PREFIX}lock`) })}\n\n <div className=\"adyen-checkout-fastlane__brand\">\n <Img src={getImage({ imageFolder: 'components/' })(`paypal_fastlane_gray`)} alt=\"Fastlane logo\" />\n </div>\n </div>\n );\n};\n\nexport default FastlaneComponent;\n"],"names":["FastlaneComponent","lastFour","brand","payButton","setComponentRef","showPayButton","getImage","useImage","status","setStatus","useState","fastlaneRef","useRef","useEffect","current","h","div","className","data-testid","FastlaneCardBrandIcon","span","icon","imageFolder","PREFIX","Img","src","alt"],"mappings":"wWAmBA,MAAMA,EAAoB,EAAGC,WAAUC,QAAOC,YAAWC,kBAAiBC,oBACtE,MAAMC,EAAWC,KACVC,EAAQC,GAAaC,EAA0B,SAChDC,EAAcC,EAAO,CACvBH,UAAYD,GAA4BC,EAAUD,KAOtD,OAJAK,EAAU,KACNT,EAAgBO,EAAYG,UAC7B,IAGCC,EAACC,MAAAA,CAAIC,UAAU,0BAA0BC,cAAY,2BACjDH,EAACC,MAAAA,CAAIC,UAAU,yCACXF,EAACI,EAAAA,CAAsBjB,MAAOA,IAC9Ba,EAACK,OAAAA,CAAKH,UAAU,wCAAuC,QAAMhB,IAGhEI,GAAiBF,EAAU,CAAEK,SAAQa,KAAMf,EAAS,CAAEgB,YAAa,eAAxBhB,CAAyC,GAAGiB,WAExFR,EAACC,MAAAA,CAAIC,UAAU,kCACXF,EAACS,EAAAA,CAAIC,IAAKnB,EAAS,CAAEgB,YAAa,eAAxBhB,CAAyC,wBAAyBoB,IAAI"}
@@ -1,2 +1,2 @@
1
- import{createElement as t,Fragment as e}from"../../external/preact/dist/preact.js";import{UIElement as o}from"../internal/UIElement/UIElement.js";import{Await as r}from"../internal/Await/Await.js";import{TxVariants as n}from"../tx-variants.js";import{PayToIdentifierEnum as s}from"./components/IdentifierSelector.js";import a from"./components/PayToComponent.js";import{PayToInstructions as p}from"./components/PayToInstructions.js";import i from"./components/MandateSummary.js";import m from"../internal/PayButton/PayButton.js";import{payAmountLabel as c}from"../internal/PayButton/utils.js";function h(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function d(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable}))),r.forEach(function(e){h(t,e,o[e])})}return t}function l(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e.push.apply(e,o)}return e}(Object(e)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(e,o))}),t}const u=6e4,y=1e4,f=!1,b=t=>{if("bsb-option"===t.selectedInput)return`${t.bsb}-${t.bankAccountNumber}`;if("payid-option"===t.selectedInput)switch(t.selectedIdentifier){case s.email:return t.email;case s.abn:return t.abn;case s.orgid:return t.orgid;case s.phone:return`${t.phonePrefix}-${t.phoneNumber}`}};class P extends o{formatProps(t){return l(d({},t),{data:l(d({},t.data),{phonePrefix:"+61"})})}formatData(){return this.props.storedPaymentMethodId?{paymentMethod:{type:P.type,storedPaymentMethodId:this.props.storedPaymentMethodId}}:{paymentMethod:{type:P.type,shopperAccountIdentifier:b(this.state.data)},shopperName:{firstName:this.state.data.firstName,lastName:this.state.data.lastName}}}get isValid(){return!!this.props.storedPaymentMethodId||!!this.state.isValid}get displayName(){return this.props.storedPaymentMethodId&&this.props.label?this.props.label:this.props.name}get additionalInfo(){return this.props.storedPaymentMethodId?this.props.name:""}componentToRender(){return this.props.storedPaymentMethodId?t(e,null,this.props.showPayButton&&t(m,l(d({},this.props),{classNameModifiers:["standalone"],amount:this.props.amount,label:c(this.props.i18n,this.props.amount),onClick:this.submit}))):this.props.paymentData?t(r,{amount:this.props.amount,showAmount:!0,instructions:p,clientKey:this.props.clientKey,paymentData:this.props.paymentData,onError:this.props.onError,onComplete:this.onComplete,brandLogo:this.icon,type:this.constructor.type,messageText:this.props.i18n.get("payto.confirmPayment"),awaitText:this.props.i18n.get("payto.await.waitForConfirmation"),showCountdownTimer:f,throttleTime:u,throttleInterval:y,onActionHandled:this.onActionHandled,endSlot:()=>!!this.props.mandate&&t(i,{mandate:this.props.mandate,payee:this.props.payee,currencyCode:this.props.amount.currency})}):t(a,{data:this.props.data,placeholders:this.props.placeholders,setComponentRef:this.setComponentRef,onChange:this.setState,payButton:this.payButton,showPayButton:this.props.showPayButton})}}h(P,"type",n.payto),h(P,"defaultProps",{placeholders:{}});export{P as PayToElement,P as default};
1
+ import{createElement as t,Fragment as e}from"../../external/preact/dist/preact.js";import{UIElement as o}from"../internal/UIElement/UIElement.js";import{Await as r}from"../internal/Await/Await.js";import{TxVariants as n}from"../tx-variants.js";import{PayToIdentifierEnum as s}from"./components/IdentifierSelector.js";import a from"./components/PayToComponent.js";import{PayToInstructions as p}from"./components/PayToInstructions.js";import i from"./components/MandateSummary.js";import m from"../internal/PayButton/PayButton.js";import{payAmountLabel as c}from"../internal/PayButton/utils.js";function h(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function d(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable}))),r.forEach(function(e){h(t,e,o[e])})}return t}function l(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e.push.apply(e,o)}return e}(Object(e)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(e,o))}),t}const u=6e4,y=1e4,f=!1,b=t=>{if("bsb-option"===t.selectedInput)return`${t.bsb}-${t.bankAccountNumber}`;if("payid-option"===t.selectedInput)switch(t.selectedIdentifier){case s.email:return t.email;case s.abn:return t.abn;case s.orgid:return t.orgid;case s.phone:return`${t.phonePrefix}-${t.phoneNumber}`}};class P extends o{formatProps(t){return l(d({},t),{data:l(d({},t.data),{phonePrefix:"+61"})})}formatData(){return this.props.storedPaymentMethodId?{paymentMethod:{type:P.type,storedPaymentMethodId:this.props.storedPaymentMethodId}}:{paymentMethod:{type:P.type,shopperAccountIdentifier:b(this.state.data)},shopperName:{firstName:this.state.data.firstName,lastName:this.state.data.lastName}}}get isValid(){return!!this.props.storedPaymentMethodId||!!this.state.isValid}get displayName(){return this.props.storedPaymentMethodId&&this.props.label?this.props.label:this.props.name}get additionalInfo(){return this.props.storedPaymentMethodId?this.props.name:""}componentToRender(){return this.props.storedPaymentMethodId?t(e,null,this.props.showPayButton&&t(m,l(d({},this.props),{classNameModifiers:["standalone"],label:c(this.props.i18n,this.props.amount),onClick:this.submit}))):this.props.paymentData?t(r,{showAmount:!0,instructions:p,clientKey:this.props.clientKey,paymentData:this.props.paymentData,onError:this.props.onError,onComplete:this.onComplete,brandLogo:this.icon,type:this.constructor.type,messageText:this.props.i18n.get("payto.confirmPayment"),awaitText:this.props.i18n.get("payto.await.waitForConfirmation"),showCountdownTimer:f,throttleTime:u,throttleInterval:y,onActionHandled:this.onActionHandled,endSlot:()=>!!this.props.mandate&&t(i,{mandate:this.props.mandate,payee:this.props.payee,currencyCode:this.props.amount.currency})}):t(a,{data:this.props.data,placeholders:this.props.placeholders,setComponentRef:this.setComponentRef,onChange:this.setState,payButton:this.payButton,showPayButton:this.props.showPayButton})}}h(P,"type",n.payto),h(P,"defaultProps",{placeholders:{}});export{P as PayToElement,P as default};
2
2
  //# sourceMappingURL=PayTo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayTo.js","sources":["../../../../src/components/PayTo/PayTo.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { Await } from '../../components/internal/Await';\nimport { TxVariants } from '../tx-variants';\nimport { PayToIdentifierEnum } from './components/IdentifierSelector';\nimport PayToComponent from './components/PayToComponent';\nimport { PayToInstructions } from './components/PayToInstructions';\nimport MandateSummary from './components/MandateSummary';\nimport { PayToConfiguration, PayToData } from './types';\nimport PayButton, { payAmountLabel } from '../internal/PayButton';\n\n/*\nAwait Config (previously in its own file)\n */\nconst COUNTDOWN_MINUTES = 15; // min\nconst THROTTLE_TIME = 60000; // ms\nconst THROTTLE_INTERVAL = 10000; // ms\n\nconst config = {\n COUNTDOWN_MINUTES,\n THROTTLE_TIME,\n THROTTLE_INTERVAL,\n showCountdownTimer: false\n};\n\nconst getAccountIdentifier = (state: PayToData) => {\n // if it's BSB Input type merge bankAccount with BSB\n if (state.selectedInput === 'bsb-option') {\n return `${state.bsb}-${state.bankAccountNumber}`;\n } else if (state.selectedInput === 'payid-option') {\n // otherwise use the option in the dropdown\n switch (state.selectedIdentifier) {\n case PayToIdentifierEnum.email:\n return state.email;\n case PayToIdentifierEnum.abn:\n return state.abn;\n case PayToIdentifierEnum.orgid:\n return state.orgid;\n case PayToIdentifierEnum.phone:\n // merge the phone prefix and number - see comment in ticket\n return `${state.phonePrefix}-${state.phoneNumber}`;\n }\n }\n};\n/**\n *\n */\nexport class PayToElement extends UIElement<PayToConfiguration> {\n public static readonly type = TxVariants.payto;\n\n protected static defaultProps = {\n placeholders: {}\n };\n\n formatProps(props: PayToConfiguration) {\n return {\n ...props,\n data: {\n ...props.data,\n phonePrefix: '+61' // hardcode +61\n }\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n if (this.props.storedPaymentMethodId) {\n return {\n paymentMethod: {\n type: PayToElement.type,\n storedPaymentMethodId: this.props.storedPaymentMethodId\n }\n };\n }\n\n return {\n paymentMethod: {\n type: PayToElement.type,\n shopperAccountIdentifier: getAccountIdentifier(this.state.data)\n },\n shopperName: {\n firstName: this.state.data.firstName,\n lastName: this.state.data.lastName\n }\n };\n }\n\n get isValid(): boolean {\n if (this.props.storedPaymentMethodId) {\n return true;\n }\n\n return !!this.state.isValid;\n }\n\n get displayName() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.label;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n return this.props.storedPaymentMethodId ? this.props.name : '';\n }\n\n protected override componentToRender(): h.JSX.Element {\n // Stored\n if (this.props.storedPaymentMethodId) {\n return (\n <Fragment>\n {this.props.showPayButton && (\n <PayButton\n {...this.props}\n classNameModifiers={['standalone']}\n amount={this.props.amount}\n label={payAmountLabel(this.props.i18n, this.props.amount)}\n onClick={this.submit}\n />\n )}\n </Fragment>\n );\n }\n // Await\n if (this.props.paymentData) {\n return (\n <Await\n amount={this.props.amount}\n showAmount={true}\n instructions={PayToInstructions}\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.props.onError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n type={this.constructor['type']}\n messageText={this.props.i18n.get('payto.confirmPayment')}\n awaitText={this.props.i18n.get('payto.await.waitForConfirmation')}\n showCountdownTimer={config.showCountdownTimer}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n endSlot={() =>\n !!this.props.mandate && (\n <MandateSummary mandate={this.props.mandate} payee={this.props.payee} currencyCode={this.props.amount.currency} />\n )\n }\n />\n );\n }\n // Input\n return (\n <PayToComponent\n data={this.props.data}\n placeholders={this.props.placeholders}\n setComponentRef={this.setComponentRef}\n onChange={this.setState}\n payButton={this.payButton}\n showPayButton={this.props.showPayButton}\n />\n );\n }\n}\n\nexport default PayToElement;\n"],"names":["config","getAccountIdentifier","state","selectedInput","bsb","bankAccountNumber","selectedIdentifier","PayToIdentifierEnum","email","abn","orgid","phone","phonePrefix","phoneNumber","PayToElement","UIElement","formatProps","props","_object_spread_props","_object_spread","data","formatData","this","storedPaymentMethodId","paymentMethod","type","shopperAccountIdentifier","shopperName","firstName","lastName","isValid","displayName","label","name","additionalInfo","componentToRender","h","Fragment","showPayButton","PayButton","classNameModifiers","amount","payAmountLabel","i18n","onClick","submit","paymentData","Await","showAmount","instructions","PayToInstructions","clientKey","onError","onComplete","brandLogo","icon","constructor","messageText","get","awaitText","showCountdownTimer","throttleTime","throttleInterval","onActionHandled","endSlot","mandate","MandateSummary","payee","currencyCode","currency","PayToComponent","placeholders","setComponentRef","onChange","setState","payButton","_define_property","TxVariants","payto","defaultProps"],"mappings":"03CAeA,MAGMA,EAHgB,IAGhBA,EAFoB,IAEpBA,GAIkB,EAGlBC,EAAwBC,IAE1B,GAA4B,eAAxBA,EAAMC,cACN,MAAO,GAAGD,EAAME,OAAOF,EAAMG,oBAC1B,GAA4B,iBAAxBH,EAAMC,cAEb,OAAQD,EAAMI,oBACV,KAAKC,EAAoBC,MACrB,OAAON,EAAMM,MACjB,KAAKD,EAAoBE,IACrB,OAAOP,EAAMO,IACjB,KAAKF,EAAoBG,MACrB,OAAOR,EAAMQ,MACjB,KAAKH,EAAoBI,MAErB,MAAO,GAAGT,EAAMU,eAAeV,EAAMW,gBAO9C,MAAMC,UAAqBC,EAO9BC,WAAAA,CAAYC,GACR,OAAOC,EAAAC,EAAA,CAAA,EACAF,GAAAA,CACHG,KAAMF,EAAAC,EAAA,CAAA,EACCF,EAAMG,MAAI,CACbR,YAAa,SAGzB,CAKAS,UAAAA,GACI,OAAIC,KAAKL,MAAMM,sBACJ,CACHC,cAAe,CACXC,KAAMX,EAAaW,KACnBF,sBAAuBD,KAAKL,MAAMM,wBAKvC,CACHC,cAAe,CACXC,KAAMX,EAAaW,KACnBC,yBAA0BzB,EAAqBqB,KAAKpB,MAAMkB,OAE9DO,YAAa,CACTC,UAAWN,KAAKpB,MAAMkB,KAAKQ,UAC3BC,SAAUP,KAAKpB,MAAMkB,KAAKS,UAGtC,CAEA,WAAIC,GACA,QAAIR,KAAKL,MAAMM,yBAIND,KAAKpB,MAAM4B,OACxB,CAEA,eAAIC,GACA,OAAIT,KAAKL,MAAMM,uBAAyBD,KAAKL,MAAMe,MACxCV,KAAKL,MAAMe,MAEfV,KAAKL,MAAMgB,IACtB,CAEA,kBAAIC,GACA,OAAOZ,KAAKL,MAAMM,sBAAwBD,KAAKL,MAAMgB,KAAO,EAChE,CAEmBE,iBAAAA,GAEf,OAAIb,KAAKL,MAAMM,sBAEPa,EAACC,EAAAA,KACIf,KAAKL,MAAMqB,eACRF,EAACG,EAAAA,EAAAA,EAAAA,CAAAA,EACOjB,KAAKL,OAAK,CACduB,mBAAoB,CAAC,cACrBC,OAAQnB,KAAKL,MAAMwB,OACnBT,MAAOU,EAAepB,KAAKL,MAAM0B,KAAMrB,KAAKL,MAAMwB,QAClDG,QAAStB,KAAKuB,WAO9BvB,KAAKL,MAAM6B,YAEPV,EAACW,EAAAA,CACGN,OAAQnB,KAAKL,MAAMwB,OACnBO,YAAY,EACZC,aAAcC,EACdC,UAAW7B,KAAKL,MAAMkC,UACtBL,YAAaxB,KAAKL,MAAM6B,YACxBM,QAAS9B,KAAKL,MAAMmC,QACpBC,WAAY/B,KAAK+B,WACjBC,UAAWhC,KAAKiC,KAChB9B,KAAMH,KAAKkC,YAAY,KACvBC,YAAanC,KAAKL,MAAM0B,KAAKe,IAAI,wBACjCC,UAAWrC,KAAKL,MAAM0B,KAAKe,IAAI,mCAC/BE,mBAAoB5D,EACpB6D,aAAc7D,EACd8D,iBAAkB9D,EAClB+D,gBAAiBzC,KAAKyC,gBACtBC,QAAS,MACH1C,KAAKL,MAAMgD,SACT7B,EAAC8B,EAAAA,CAAeD,QAAS3C,KAAKL,MAAMgD,QAASE,MAAO7C,KAAKL,MAAMkD,MAAOC,aAAc9C,KAAKL,MAAMwB,OAAO4B,aAQtHjC,EAACkC,EAAAA,CACGlD,KAAME,KAAKL,MAAMG,KACjBmD,aAAcjD,KAAKL,MAAMsD,aACzBC,gBAAiBlD,KAAKkD,gBACtBC,SAAUnD,KAAKoD,SACfC,UAAWrD,KAAKqD,UAChBrC,cAAehB,KAAKL,MAAMqB,eAGtC,EAnHAsC,EADS9D,EACcW,OAAOoD,EAAWC,OAEzCF,EAHS9D,EAGQiE,eAAe,CAC5BR,aAAc,CAAA"}
1
+ {"version":3,"file":"PayTo.js","sources":["../../../../src/components/PayTo/PayTo.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { Await } from '../../components/internal/Await';\nimport { TxVariants } from '../tx-variants';\nimport { PayToIdentifierEnum } from './components/IdentifierSelector';\nimport PayToComponent from './components/PayToComponent';\nimport { PayToInstructions } from './components/PayToInstructions';\nimport MandateSummary from './components/MandateSummary';\nimport { PayToConfiguration, PayToData } from './types';\nimport PayButton from '../internal/PayButton';\nimport { payAmountLabel } from '../internal/PayButton/utils';\n\n/*\nAwait Config (previously in its own file)\n */\nconst COUNTDOWN_MINUTES = 15; // min\nconst THROTTLE_TIME = 60000; // ms\nconst THROTTLE_INTERVAL = 10000; // ms\n\nconst config = {\n COUNTDOWN_MINUTES,\n THROTTLE_TIME,\n THROTTLE_INTERVAL,\n showCountdownTimer: false\n};\n\nconst getAccountIdentifier = (state: PayToData) => {\n // if it's BSB Input type merge bankAccount with BSB\n if (state.selectedInput === 'bsb-option') {\n return `${state.bsb}-${state.bankAccountNumber}`;\n } else if (state.selectedInput === 'payid-option') {\n // otherwise use the option in the dropdown\n switch (state.selectedIdentifier) {\n case PayToIdentifierEnum.email:\n return state.email;\n case PayToIdentifierEnum.abn:\n return state.abn;\n case PayToIdentifierEnum.orgid:\n return state.orgid;\n case PayToIdentifierEnum.phone:\n // merge the phone prefix and number - see comment in ticket\n return `${state.phonePrefix}-${state.phoneNumber}`;\n }\n }\n};\n/**\n *\n */\nexport class PayToElement extends UIElement<PayToConfiguration> {\n public static readonly type = TxVariants.payto;\n\n protected static defaultProps = {\n placeholders: {}\n };\n\n formatProps(props: PayToConfiguration) {\n return {\n ...props,\n data: {\n ...props.data,\n phonePrefix: '+61' // hardcode +61\n }\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n if (this.props.storedPaymentMethodId) {\n return {\n paymentMethod: {\n type: PayToElement.type,\n storedPaymentMethodId: this.props.storedPaymentMethodId\n }\n };\n }\n\n return {\n paymentMethod: {\n type: PayToElement.type,\n shopperAccountIdentifier: getAccountIdentifier(this.state.data)\n },\n shopperName: {\n firstName: this.state.data.firstName,\n lastName: this.state.data.lastName\n }\n };\n }\n\n get isValid(): boolean {\n if (this.props.storedPaymentMethodId) {\n return true;\n }\n\n return !!this.state.isValid;\n }\n\n get displayName() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.label;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n return this.props.storedPaymentMethodId ? this.props.name : '';\n }\n\n protected override componentToRender(): h.JSX.Element {\n // Stored\n if (this.props.storedPaymentMethodId) {\n return (\n <Fragment>\n {this.props.showPayButton && (\n <PayButton\n {...this.props}\n classNameModifiers={['standalone']}\n label={payAmountLabel(this.props.i18n, this.props.amount)}\n onClick={this.submit}\n />\n )}\n </Fragment>\n );\n }\n // Await\n if (this.props.paymentData) {\n return (\n <Await\n showAmount={true}\n instructions={PayToInstructions}\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.props.onError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n type={this.constructor['type']}\n messageText={this.props.i18n.get('payto.confirmPayment')}\n awaitText={this.props.i18n.get('payto.await.waitForConfirmation')}\n showCountdownTimer={config.showCountdownTimer}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n endSlot={() =>\n !!this.props.mandate && (\n <MandateSummary mandate={this.props.mandate} payee={this.props.payee} currencyCode={this.props.amount.currency} />\n )\n }\n />\n );\n }\n // Input\n return (\n <PayToComponent\n data={this.props.data}\n placeholders={this.props.placeholders}\n setComponentRef={this.setComponentRef}\n onChange={this.setState}\n payButton={this.payButton}\n showPayButton={this.props.showPayButton}\n />\n );\n }\n}\n\nexport default PayToElement;\n"],"names":["config","getAccountIdentifier","state","selectedInput","bsb","bankAccountNumber","selectedIdentifier","PayToIdentifierEnum","email","abn","orgid","phone","phonePrefix","phoneNumber","PayToElement","UIElement","formatProps","props","_object_spread_props","_object_spread","data","formatData","this","storedPaymentMethodId","paymentMethod","type","shopperAccountIdentifier","shopperName","firstName","lastName","isValid","displayName","label","name","additionalInfo","componentToRender","h","Fragment","showPayButton","PayButton","classNameModifiers","payAmountLabel","i18n","amount","onClick","submit","paymentData","Await","showAmount","instructions","PayToInstructions","clientKey","onError","onComplete","brandLogo","icon","constructor","messageText","get","awaitText","showCountdownTimer","throttleTime","throttleInterval","onActionHandled","endSlot","mandate","MandateSummary","payee","currencyCode","currency","PayToComponent","placeholders","setComponentRef","onChange","setState","payButton","_define_property","TxVariants","payto","defaultProps"],"mappings":"03CAgBA,MAGMA,EAHgB,IAGhBA,EAFoB,IAEpBA,GAIkB,EAGlBC,EAAwBC,IAE1B,GAA4B,eAAxBA,EAAMC,cACN,MAAO,GAAGD,EAAME,OAAOF,EAAMG,oBAC1B,GAA4B,iBAAxBH,EAAMC,cAEb,OAAQD,EAAMI,oBACV,KAAKC,EAAoBC,MACrB,OAAON,EAAMM,MACjB,KAAKD,EAAoBE,IACrB,OAAOP,EAAMO,IACjB,KAAKF,EAAoBG,MACrB,OAAOR,EAAMQ,MACjB,KAAKH,EAAoBI,MAErB,MAAO,GAAGT,EAAMU,eAAeV,EAAMW,gBAO9C,MAAMC,UAAqBC,EAO9BC,WAAAA,CAAYC,GACR,OAAOC,EAAAC,EAAA,CAAA,EACAF,GAAAA,CACHG,KAAMF,EAAAC,EAAA,CAAA,EACCF,EAAMG,MAAI,CACbR,YAAa,SAGzB,CAKAS,UAAAA,GACI,OAAIC,KAAKL,MAAMM,sBACJ,CACHC,cAAe,CACXC,KAAMX,EAAaW,KACnBF,sBAAuBD,KAAKL,MAAMM,wBAKvC,CACHC,cAAe,CACXC,KAAMX,EAAaW,KACnBC,yBAA0BzB,EAAqBqB,KAAKpB,MAAMkB,OAE9DO,YAAa,CACTC,UAAWN,KAAKpB,MAAMkB,KAAKQ,UAC3BC,SAAUP,KAAKpB,MAAMkB,KAAKS,UAGtC,CAEA,WAAIC,GACA,QAAIR,KAAKL,MAAMM,yBAIND,KAAKpB,MAAM4B,OACxB,CAEA,eAAIC,GACA,OAAIT,KAAKL,MAAMM,uBAAyBD,KAAKL,MAAMe,MACxCV,KAAKL,MAAMe,MAEfV,KAAKL,MAAMgB,IACtB,CAEA,kBAAIC,GACA,OAAOZ,KAAKL,MAAMM,sBAAwBD,KAAKL,MAAMgB,KAAO,EAChE,CAEmBE,iBAAAA,GAEf,OAAIb,KAAKL,MAAMM,sBAEPa,EAACC,EAAAA,KACIf,KAAKL,MAAMqB,eACRF,EAACG,EAAAA,EAAAA,EAAAA,CAAAA,EACOjB,KAAKL,OAAK,CACduB,mBAAoB,CAAC,cACrBR,MAAOS,EAAenB,KAAKL,MAAMyB,KAAMpB,KAAKL,MAAM0B,QAClDC,QAAStB,KAAKuB,WAO9BvB,KAAKL,MAAM6B,YAEPV,EAACW,EAAAA,CACGC,YAAY,EACZC,aAAcC,EACdC,UAAW7B,KAAKL,MAAMkC,UACtBL,YAAaxB,KAAKL,MAAM6B,YACxBM,QAAS9B,KAAKL,MAAMmC,QACpBC,WAAY/B,KAAK+B,WACjBC,UAAWhC,KAAKiC,KAChB9B,KAAMH,KAAKkC,YAAY,KACvBC,YAAanC,KAAKL,MAAMyB,KAAKgB,IAAI,wBACjCC,UAAWrC,KAAKL,MAAMyB,KAAKgB,IAAI,mCAC/BE,mBAAoB5D,EACpB6D,aAAc7D,EACd8D,iBAAkB9D,EAClB+D,gBAAiBzC,KAAKyC,gBACtBC,QAAS,MACH1C,KAAKL,MAAMgD,SACT7B,EAAC8B,EAAAA,CAAeD,QAAS3C,KAAKL,MAAMgD,QAASE,MAAO7C,KAAKL,MAAMkD,MAAOC,aAAc9C,KAAKL,MAAM0B,OAAO0B,aAQtHjC,EAACkC,EAAAA,CACGlD,KAAME,KAAKL,MAAMG,KACjBmD,aAAcjD,KAAKL,MAAMsD,aACzBC,gBAAiBlD,KAAKkD,gBACtBC,SAAUnD,KAAKoD,SACfC,UAAWrD,KAAKqD,UAChBrC,cAAehB,KAAKL,MAAMqB,eAGtC,EAjHAsC,EADS9D,EACcW,OAAOoD,EAAWC,OAEzCF,EAHS9D,EAGQiE,eAAe,CAC5BR,aAAc,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"PayToComponent.js","sources":["../../../../../src/components/PayTo/components/PayToComponent.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { SegmentedControl } from '../../internal/SegmentedControl';\nimport { useMemo, useState } from 'preact/hooks';\nimport { SegmentedControlOptions } from '../../internal/SegmentedControl/SegmentedControl';\nimport PayIDInput from './PayIDInput';\nimport BSBInput from './BSBInput';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { ComponentMethodsRef, UIElementStatus } from '../../internal/UIElement/types';\nimport { PayToData, PayToPlaceholdersType } from '../types';\nimport { PayButtonProps } from '../../internal/PayButton/PayButton';\nimport classNames from 'classnames';\nimport { getUniqueId } from '../../../utils/idGenerator';\nimport './PayToComponent.scss';\n\nexport type PayToInputOption = 'payid-option' | 'bsb-option';\n\nexport type PayToComponentData = { selectedInput: PayToInputOption };\n\nexport interface PayToComponentProps {\n showPayButton: boolean;\n onChange: (e) => void;\n setComponentRef: (ref: ComponentMethodsRef) => void;\n data: PayToData;\n placeholders: PayToPlaceholdersType;\n payButton: (props: Partial<PayButtonProps>) => h.JSX.Element;\n}\n\nexport default function PayToComponent(props: PayToComponentProps) {\n const { i18n } = useCoreContext();\n\n const [status, setStatus] = useState<UIElementStatus>('ready');\n\n // Generate unique IDs for the input sections\n const payidInputId = useMemo(() => getUniqueId('payid-input'), []);\n const bsbInputId = useMemo(() => getUniqueId('bsb-input'), []);\n\n const inputOptions: SegmentedControlOptions<PayToInputOption> = useMemo(\n () => [\n {\n value: 'payid-option',\n label: 'PayID',\n id: 'payid-option',\n controls: payidInputId\n },\n {\n value: 'bsb-option',\n label: i18n.get('payto.bsb.option.label'),\n id: 'bsb-option',\n controls: bsbInputId\n }\n ],\n [i18n, payidInputId, bsbInputId]\n );\n\n const defaultOption = inputOptions[0].value;\n const [selectedInput, setSelectedInput] = useState<PayToInputOption>(defaultOption);\n\n const onChange = ({ data, valid, errors, isValid }) => {\n // merge selected input to as data, this keep the input layers untouched\n props.onChange({ data: { selectedInput: selectedInput, ...data }, valid, errors, isValid });\n };\n\n return (\n <div\n className={classNames({\n 'adyen-checkout__payto-component': true,\n 'adyen-checkout__payto-component--loading': status === 'loading'\n })}\n >\n <SegmentedControl selectedValue={selectedInput} options={inputOptions} onChange={setSelectedInput} />\n {selectedInput === 'payid-option' && (\n <PayIDInput\n id={payidInputId}\n status={status}\n setStatus={setStatus}\n setComponentRef={props.setComponentRef}\n onChange={onChange}\n defaultData={props.data}\n placeholders={props.placeholders}\n />\n )}\n {selectedInput === 'bsb-option' && (\n <BSBInput\n id={bsbInputId}\n status={status}\n setStatus={setStatus}\n setComponentRef={props.setComponentRef}\n onChange={onChange}\n defaultData={props.data}\n placeholders={props.placeholders}\n />\n )}\n\n {props.showPayButton && props.payButton({ status, label: i18n.get('continue') })}\n </div>\n );\n}\n"],"names":["PayToComponent","props","i18n","useCoreContext","status","setStatus","useState","payidInputId","useMemo","getUniqueId","bsbInputId","inputOptions","value","label","id","controls","get","defaultOption","selectedInput","setSelectedInput","onChange","data","valid","errors","isValid","_object_spread","h","div","className","classNames","SegmentedControl","selectedValue","options","PayIDInput","setComponentRef","defaultData","placeholders","BSBInput","showPayButton","payButton"],"mappings":"y5BA2Be,SAASA,EAAeC,GACnC,MAAMC,KAAEA,GAASC,KAEVC,EAAQC,GAAaC,EAA0B,SAGhDC,EAAeC,EAAQ,IAAMC,EAAY,eAAgB,IACzDC,EAAaF,EAAQ,IAAMC,EAAY,aAAc,IAErDE,EAA0DH,EAC5D,IAAM,CACF,CACII,MAAO,eACPC,MAAO,QACPC,GAAI,eACJC,SAAUR,GAEd,CACIK,MAAO,aACPC,MAAOX,EAAKc,IAAI,0BAChBF,GAAI,aACJC,SAAUL,IAGlB,CAACR,EAAMK,EAAcG,IAGnBO,EAAgBN,EAAa,GAAGC,OAC/BM,EAAeC,GAAoBb,EAA2BW,GAE/DG,EAAW,EAAGC,OAAMC,QAAOC,SAAQC,cAErCvB,EAAMmB,SAAS,CAAEC,KAAMI,EAAA,CAAEP,cAAeA,GAAkBG,GAAQC,QAAOC,SAAQC,aAGrF,OACIE,EAACC,MAAAA,CACGC,UAAWC,EAAW,CAClB,mCAAmC,EACnC,2CAAuD,YAAXzB,KAGhDsB,EAACI,EAAAA,CAAiBC,cAAeb,EAAec,QAASrB,EAAcS,SAAUD,IAC9D,iBAAlBD,GACGQ,EAACO,EAAAA,CACGnB,GAAIP,EACJH,OAAQA,EACRC,UAAWA,EACX6B,gBAAiBjC,EAAMiC,gBACvBd,SAAUA,EACVe,YAAalC,EAAMoB,KACnBe,aAAcnC,EAAMmC,eAGT,eAAlBlB,GACGQ,EAACW,EAAAA,CACGvB,GAAIJ,EACJN,OAAQA,EACRC,UAAWA,EACX6B,gBAAiBjC,EAAMiC,gBACvBd,SAAUA,EACVe,YAAalC,EAAMoB,KACnBe,aAAcnC,EAAMmC,eAI3BnC,EAAMqC,eAAiBrC,EAAMsC,UAAU,CAAEnC,SAAQS,MAAOX,EAAKc,IAAI,cAG9E"}
1
+ {"version":3,"file":"PayToComponent.js","sources":["../../../../../src/components/PayTo/components/PayToComponent.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { SegmentedControl } from '../../internal/SegmentedControl';\nimport { useMemo, useState } from 'preact/hooks';\nimport { SegmentedControlOptions } from '../../internal/SegmentedControl/SegmentedControl';\nimport PayIDInput from './PayIDInput';\nimport BSBInput from './BSBInput';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { ComponentMethodsRef, UIElementStatus } from '../../internal/UIElement/types';\nimport { PayToData, PayToPlaceholdersType } from '../types';\nimport { PayButtonProps } from '../../internal/PayButton/PayButton';\nimport classNames from 'classnames';\nimport { getUniqueId } from '../../../utils/idGenerator';\nimport './PayToComponent.scss';\n\nexport type PayToInputOption = 'payid-option' | 'bsb-option';\n\nexport type PayToComponentData = { selectedInput: PayToInputOption };\n\nexport interface PayToComponentProps {\n showPayButton: boolean;\n onChange: (e) => void;\n setComponentRef: (ref: ComponentMethodsRef) => void;\n data: PayToData;\n placeholders: PayToPlaceholdersType;\n payButton: (props: PayButtonProps) => h.JSX.Element;\n}\n\nexport default function PayToComponent(props: PayToComponentProps) {\n const { i18n } = useCoreContext();\n\n const [status, setStatus] = useState<UIElementStatus>('ready');\n\n // Generate unique IDs for the input sections\n const payidInputId = useMemo(() => getUniqueId('payid-input'), []);\n const bsbInputId = useMemo(() => getUniqueId('bsb-input'), []);\n\n const inputOptions: SegmentedControlOptions<PayToInputOption> = useMemo(\n () => [\n {\n value: 'payid-option',\n label: 'PayID',\n id: 'payid-option',\n controls: payidInputId\n },\n {\n value: 'bsb-option',\n label: i18n.get('payto.bsb.option.label'),\n id: 'bsb-option',\n controls: bsbInputId\n }\n ],\n [i18n, payidInputId, bsbInputId]\n );\n\n const defaultOption = inputOptions[0].value;\n const [selectedInput, setSelectedInput] = useState<PayToInputOption>(defaultOption);\n\n const onChange = ({ data, valid, errors, isValid }) => {\n // merge selected input to as data, this keep the input layers untouched\n props.onChange({ data: { selectedInput: selectedInput, ...data }, valid, errors, isValid });\n };\n\n return (\n <div\n className={classNames({\n 'adyen-checkout__payto-component': true,\n 'adyen-checkout__payto-component--loading': status === 'loading'\n })}\n >\n <SegmentedControl selectedValue={selectedInput} options={inputOptions} onChange={setSelectedInput} />\n {selectedInput === 'payid-option' && (\n <PayIDInput\n id={payidInputId}\n status={status}\n setStatus={setStatus}\n setComponentRef={props.setComponentRef}\n onChange={onChange}\n defaultData={props.data}\n placeholders={props.placeholders}\n />\n )}\n {selectedInput === 'bsb-option' && (\n <BSBInput\n id={bsbInputId}\n status={status}\n setStatus={setStatus}\n setComponentRef={props.setComponentRef}\n onChange={onChange}\n defaultData={props.data}\n placeholders={props.placeholders}\n />\n )}\n\n {props.showPayButton && props.payButton({ status, label: i18n.get('continue') })}\n </div>\n );\n}\n"],"names":["PayToComponent","props","i18n","useCoreContext","status","setStatus","useState","payidInputId","useMemo","getUniqueId","bsbInputId","inputOptions","value","label","id","controls","get","defaultOption","selectedInput","setSelectedInput","onChange","data","valid","errors","isValid","_object_spread","h","div","className","classNames","SegmentedControl","selectedValue","options","PayIDInput","setComponentRef","defaultData","placeholders","BSBInput","showPayButton","payButton"],"mappings":"y5BA2Be,SAASA,EAAeC,GACnC,MAAMC,KAAEA,GAASC,KAEVC,EAAQC,GAAaC,EAA0B,SAGhDC,EAAeC,EAAQ,IAAMC,EAAY,eAAgB,IACzDC,EAAaF,EAAQ,IAAMC,EAAY,aAAc,IAErDE,EAA0DH,EAC5D,IAAM,CACF,CACII,MAAO,eACPC,MAAO,QACPC,GAAI,eACJC,SAAUR,GAEd,CACIK,MAAO,aACPC,MAAOX,EAAKc,IAAI,0BAChBF,GAAI,aACJC,SAAUL,IAGlB,CAACR,EAAMK,EAAcG,IAGnBO,EAAgBN,EAAa,GAAGC,OAC/BM,EAAeC,GAAoBb,EAA2BW,GAE/DG,EAAW,EAAGC,OAAMC,QAAOC,SAAQC,cAErCvB,EAAMmB,SAAS,CAAEC,KAAMI,EAAA,CAAEP,cAAeA,GAAkBG,GAAQC,QAAOC,SAAQC,aAGrF,OACIE,EAACC,MAAAA,CACGC,UAAWC,EAAW,CAClB,mCAAmC,EACnC,2CAAuD,YAAXzB,KAGhDsB,EAACI,EAAAA,CAAiBC,cAAeb,EAAec,QAASrB,EAAcS,SAAUD,IAC9D,iBAAlBD,GACGQ,EAACO,EAAAA,CACGnB,GAAIP,EACJH,OAAQA,EACRC,UAAWA,EACX6B,gBAAiBjC,EAAMiC,gBACvBd,SAAUA,EACVe,YAAalC,EAAMoB,KACnBe,aAAcnC,EAAMmC,eAGT,eAAlBlB,GACGQ,EAACW,EAAAA,CACGvB,GAAIJ,EACJN,OAAQA,EACRC,UAAWA,EACX6B,gBAAiBjC,EAAMiC,gBACvBd,SAAUA,EACVe,YAAalC,EAAMoB,KACnBe,aAAcnC,EAAMmC,eAI3BnC,EAAMqC,eAAiBrC,EAAMsC,UAAU,CAAEnC,SAAQS,MAAOX,EAAKc,IAAI,cAG9E"}
@@ -1,2 +1,2 @@
1
- import{createElement as e,Fragment as a}from"../../../external/preact/dist/preact.js";import r from"../../internal/FormFields/Field/Field.js";import{getErrorMessage as l}from"../../../utils/getErrorMessage.js";import s from"../../internal/FormFields/InputText.js";function t({i18n:t,errors:i,data:m,handleChangeFor:o,placeholders:n}){return e(a,null,e(r,{label:t.get("payto.label.firstName"),classNameModifiers:["col-50","firstName"],errorMessage:l(t,i.firstName,t.get("firstName")),name:"firstName",i18n:t},e(s,{name:"firstName",value:m.firstName,classNameModifiers:["firstName"],onInput:o("firstName","input"),onBlur:o("firstName","input"),placeholder:null==n?void 0:n.firstName,spellCheck:!1,required:!0})),e(r,{label:t.get("payto.label.lastName"),classNameModifiers:["col-50","lastName"],errorMessage:l(t,i.lastName,t.get("lastName")),name:"lastName",i18n:t},e(s,{name:"lastName",value:m.lastName,classNameModifiers:["lastName"],onInput:o("lastName","input"),onBlur:o("lastName","blur"),placeholder:null==n?void 0:n.lastName,spellCheck:!1,required:!0})))}export{t as default};
1
+ import{createElement as e,Fragment as a}from"../../../external/preact/dist/preact.js";import r from"../../internal/FormFields/Field/Field.js";import{getErrorMessage as l}from"../../../utils/getErrorMessage.js";import s from"../../internal/FormFields/InputText.js";function t({i18n:t,errors:i,data:m,handleChangeFor:o,placeholders:n}){return e(a,null,e(r,{label:t.get("payto.label.firstName"),classNameModifiers:["col-50","firstName"],errorMessage:l(t,i.firstName,t.get("firstName")),name:"firstName",i18n:t},e(s,{name:"firstName",value:m.firstName,classNameModifiers:["firstName"],onInput:o("firstName","input"),onBlur:o("firstName","input"),placeholder:null==n?void 0:n.firstName,spellcheck:!1,required:!0})),e(r,{label:t.get("payto.label.lastName"),classNameModifiers:["col-50","lastName"],errorMessage:l(t,i.lastName,t.get("lastName")),name:"lastName",i18n:t},e(s,{name:"lastName",value:m.lastName,classNameModifiers:["lastName"],onInput:o("lastName","input"),onBlur:o("lastName","blur"),placeholder:null==n?void 0:n.lastName,spellcheck:!1,required:!0})))}export{t as default};
2
2
  //# sourceMappingURL=PayToNameFields.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayToNameFields.js","sources":["../../../../../src/components/PayTo/components/PayToNameFields.tsx"],"sourcesContent":["import { h, Fragment } from 'preact';\nimport Field from '../../internal/FormFields/Field';\nimport { getErrorMessage } from '../../../utils/getErrorMessage';\nimport InputText from '../../internal/FormFields/InputText';\nimport Language from '../../../language';\nimport { HandleChangeForModeType } from '../../../utils/useForm/types';\n\nexport interface PayToNameFieldsProps {\n i18n: Language;\n errors: {\n [key: string]: any;\n };\n data: {\n firstName: string;\n lastName: string;\n };\n handleChangeFor: (key: string, mode?: HandleChangeForModeType) => (e: any) => void;\n placeholders: {\n firstName: string;\n lastName: string;\n };\n}\n\nexport default function PayToNameFields({ i18n, errors, data, handleChangeFor, placeholders }: PayToNameFieldsProps) {\n return (\n <Fragment>\n <Field\n label={i18n.get('payto.label.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={'firstName'}\n value={data.firstName}\n classNameModifiers={['firstName']}\n onInput={handleChangeFor('firstName', 'input')}\n onBlur={handleChangeFor('firstName', 'input')}\n placeholder={placeholders?.firstName}\n spellCheck={false}\n required={true}\n />\n </Field>\n <Field\n label={i18n.get('payto.label.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={'lastName'}\n value={data.lastName}\n classNameModifiers={['lastName']}\n onInput={handleChangeFor('lastName', 'input')}\n onBlur={handleChangeFor('lastName', 'blur')}\n placeholder={placeholders?.lastName}\n spellCheck={false}\n required={true}\n />\n </Field>\n </Fragment>\n );\n}\n"],"names":["PayToNameFields","i18n","errors","data","handleChangeFor","placeholders","h","Fragment","Field","label","get","classNameModifiers","errorMessage","getErrorMessage","firstName","name","InputText","value","onInput","onBlur","placeholder","spellCheck","required","lastName"],"mappings":"wQAuBe,SAASA,GAAgBC,KAAEA,EAAIC,OAAEA,EAAMC,KAAEA,EAAIC,gBAAEA,EAAeC,aAAEA,IAC3E,OACIC,EAACC,OACGD,EAACE,EAAAA,CACGC,MAAOR,EAAKS,IAAI,yBAChBC,mBAAoB,CAAC,SAAU,aAC/BC,aAAcC,EAAgBZ,EAAMC,EAAOY,UAAWb,EAAKS,IAAI,cAC/DK,KAAM,YACNd,KAAMA,GAENK,EAACU,EAAAA,CACGD,KAAM,YACNE,MAAOd,EAAKW,UACZH,mBAAoB,CAAC,aACrBO,QAASd,EAAgB,YAAa,SACtCe,OAAQf,EAAgB,YAAa,SACrCgB,YAAaf,aAAAA,EAAAA,EAAcS,UAC3BO,YAAY,EACZC,UAAU,KAGlBhB,EAACE,EAAAA,CACGC,MAAOR,EAAKS,IAAI,wBAChBC,mBAAoB,CAAC,SAAU,YAC/BC,aAAcC,EAAgBZ,EAAMC,EAAOqB,SAAUtB,EAAKS,IAAI,aAC9DK,KAAM,WACNd,KAAMA,GAENK,EAACU,EAAAA,CACGD,KAAM,WACNE,MAAOd,EAAKoB,SACZZ,mBAAoB,CAAC,YACrBO,QAASd,EAAgB,WAAY,SACrCe,OAAQf,EAAgB,WAAY,QACpCgB,YAAaf,aAAAA,EAAAA,EAAckB,SAC3BF,YAAY,EACZC,UAAU,KAK9B"}
1
+ {"version":3,"file":"PayToNameFields.js","sources":["../../../../../src/components/PayTo/components/PayToNameFields.tsx"],"sourcesContent":["import { h, Fragment } from 'preact';\nimport Field from '../../internal/FormFields/Field';\nimport { getErrorMessage } from '../../../utils/getErrorMessage';\nimport InputText from '../../internal/FormFields/InputText';\nimport Language from '../../../language';\nimport { HandleChangeForModeType } from '../../../utils/useForm/types';\n\nexport interface PayToNameFieldsProps {\n i18n: Language;\n errors: {\n [key: string]: any;\n };\n data: {\n firstName: string;\n lastName: string;\n };\n handleChangeFor: (key: string, mode?: HandleChangeForModeType) => (e: any) => void;\n placeholders: {\n firstName: string;\n lastName: string;\n };\n}\n\nexport default function PayToNameFields({ i18n, errors, data, handleChangeFor, placeholders }: PayToNameFieldsProps) {\n return (\n <Fragment>\n <Field\n label={i18n.get('payto.label.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={'firstName'}\n value={data.firstName}\n classNameModifiers={['firstName']}\n onInput={handleChangeFor('firstName', 'input')}\n onBlur={handleChangeFor('firstName', 'input')}\n placeholder={placeholders?.firstName}\n spellcheck={false}\n required={true}\n />\n </Field>\n <Field\n label={i18n.get('payto.label.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={'lastName'}\n value={data.lastName}\n classNameModifiers={['lastName']}\n onInput={handleChangeFor('lastName', 'input')}\n onBlur={handleChangeFor('lastName', 'blur')}\n placeholder={placeholders?.lastName}\n spellcheck={false}\n required={true}\n />\n </Field>\n </Fragment>\n );\n}\n"],"names":["PayToNameFields","i18n","errors","data","handleChangeFor","placeholders","h","Fragment","Field","label","get","classNameModifiers","errorMessage","getErrorMessage","firstName","name","InputText","value","onInput","onBlur","placeholder","spellcheck","required","lastName"],"mappings":"wQAuBe,SAASA,GAAgBC,KAAEA,EAAIC,OAAEA,EAAMC,KAAEA,EAAIC,gBAAEA,EAAeC,aAAEA,IAC3E,OACIC,EAACC,OACGD,EAACE,EAAAA,CACGC,MAAOR,EAAKS,IAAI,yBAChBC,mBAAoB,CAAC,SAAU,aAC/BC,aAAcC,EAAgBZ,EAAMC,EAAOY,UAAWb,EAAKS,IAAI,cAC/DK,KAAM,YACNd,KAAMA,GAENK,EAACU,EAAAA,CACGD,KAAM,YACNE,MAAOd,EAAKW,UACZH,mBAAoB,CAAC,aACrBO,QAASd,EAAgB,YAAa,SACtCe,OAAQf,EAAgB,YAAa,SACrCgB,YAAaf,aAAAA,EAAAA,EAAcS,UAC3BO,YAAY,EACZC,UAAU,KAGlBhB,EAACE,EAAAA,CACGC,MAAOR,EAAKS,IAAI,wBAChBC,mBAAoB,CAAC,SAAU,YAC/BC,aAAcC,EAAgBZ,EAAMC,EAAOqB,SAAUtB,EAAKS,IAAI,aAC9DK,KAAM,WACNd,KAAMA,GAENK,EAACU,EAAAA,CACGD,KAAM,WACNE,MAAOd,EAAKoB,SACZZ,mBAAoB,CAAC,YACrBO,QAASd,EAAgB,WAAY,SACrCe,OAAQf,EAAgB,WAAY,QACpCgB,YAAaf,aAAAA,EAAAA,EAAckB,SAC3BF,YAAY,EACZC,UAAU,KAK9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"PersonalDetails.js","sources":["../../../../src/components/PersonalDetails/PersonalDetails.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport PersonalDetails from '../internal/PersonalDetails';\nimport { TxVariants } from '../tx-variants';\nimport FormInstruction from '../internal/FormInstruction';\nimport { UIElementProps } from '../internal/UIElement/types';\nimport { AnalyticsInfoEvent, InfoEventType } from '../../core/Analytics/events/AnalyticsInfoEvent';\n\ninterface PersonalDetailsConfiguration extends UIElementProps {}\n\nexport class PersonalDetailsElement extends UIElement<PersonalDetailsConfiguration> {\n public static type = TxVariants.personal_details;\n\n protected override beforeRender(configSetByMerchant?: PersonalDetailsConfiguration): void {\n const event = new AnalyticsInfoEvent({\n type: InfoEventType.rendered,\n component: this.type,\n configData: configSetByMerchant\n });\n\n this.analytics.sendAnalytics(event);\n }\n\n get data() {\n return this.state.data;\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n protected override componentToRender(): h.JSX.Element {\n return (\n <Fragment>\n <FormInstruction />\n <PersonalDetails\n setComponentRef={this.setComponentRef}\n {...this.props}\n onChange={this.setState}\n {...(process.env.NODE_ENV !== 'production' && { payButton: this.payButton })}\n />\n </Fragment>\n );\n }\n}\n\nexport default PersonalDetailsElement;\n"],"names":["PersonalDetailsElement","UIElement","beforeRender","configSetByMerchant","event","AnalyticsInfoEvent","type","InfoEventType","rendered","component","this","configData","analytics","sendAnalytics","data","state","isValid","componentToRender","h","Fragment","FormInstruction","PersonalDetails","setComponentRef","props","onChange","setState","_define_property","TxVariants","personal_details"],"mappings":"gtCAUO,MAAMA,UAA+BC,EAGrBC,YAAAA,CAAaC,GAC5B,MAAMC,EAAQ,IAAIC,EAAmB,CACjCC,KAAMC,EAAcC,SACpBC,UAAWC,KAAKJ,KAChBK,WAAYR,IAGhBO,KAAKE,UAAUC,cAAcT,EACjC,CAEA,QAAIU,GACA,OAAOJ,KAAKK,MAAMD,IACtB,CAEA,WAAIE,GACA,QAASN,KAAKK,MAAMC,OACxB,CAEmBC,iBAAAA,GACf,OACIC,EAACC,EAAAA,KACGD,EAACE,EAAAA,MACDF,EAACG,EAAAA,EAAAA,EAAAA,EAAAA,CACGC,gBAAiBZ,KAAKY,iBAClBZ,KAAKa,OAAK,CACdC,SAAUd,KAAKe,YACV,IAIrB,EAhCAC,EADS1B,EACKM,OAAOqB,EAAWC"}
1
+ {"version":3,"file":"PersonalDetails.js","sources":["../../../../src/components/PersonalDetails/PersonalDetails.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport PersonalDetails from '../internal/PersonalDetails';\nimport { TxVariants } from '../tx-variants';\nimport FormInstruction from '../internal/FormInstruction';\nimport { UIElementProps } from '../internal/UIElement/types';\nimport { AnalyticsInfoEvent, InfoEventType } from '../../core/Analytics/events/AnalyticsInfoEvent';\n\ninterface PersonalDetailsConfiguration extends UIElementProps {}\n\nexport class PersonalDetailsElement extends UIElement<PersonalDetailsConfiguration> {\n public static readonly type = TxVariants.personal_details;\n\n protected override beforeRender(configSetByMerchant?: PersonalDetailsConfiguration): void {\n const event = new AnalyticsInfoEvent({\n type: InfoEventType.rendered,\n component: this.type,\n configData: configSetByMerchant\n });\n\n this.analytics.sendAnalytics(event);\n }\n\n get data() {\n return this.state.data;\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n protected override componentToRender(): h.JSX.Element {\n return (\n <Fragment>\n <FormInstruction />\n <PersonalDetails\n setComponentRef={this.setComponentRef}\n {...this.props}\n onChange={this.setState}\n {...(process.env.NODE_ENV !== 'production' && { payButton: this.payButton })}\n />\n </Fragment>\n );\n }\n}\n\nexport default PersonalDetailsElement;\n"],"names":["PersonalDetailsElement","UIElement","beforeRender","configSetByMerchant","event","AnalyticsInfoEvent","type","InfoEventType","rendered","component","this","configData","analytics","sendAnalytics","data","state","isValid","componentToRender","h","Fragment","FormInstruction","PersonalDetails","setComponentRef","props","onChange","setState","_define_property","TxVariants","personal_details"],"mappings":"gtCAUO,MAAMA,UAA+BC,EAGrBC,YAAAA,CAAaC,GAC5B,MAAMC,EAAQ,IAAIC,EAAmB,CACjCC,KAAMC,EAAcC,SACpBC,UAAWC,KAAKJ,KAChBK,WAAYR,IAGhBO,KAAKE,UAAUC,cAAcT,EACjC,CAEA,QAAIU,GACA,OAAOJ,KAAKK,MAAMD,IACtB,CAEA,WAAIE,GACA,QAASN,KAAKK,MAAMC,OACxB,CAEmBC,iBAAAA,GACf,OACIC,EAACC,EAAAA,KACGD,EAACE,EAAAA,MACDF,EAACG,EAAAA,EAAAA,EAAAA,EAAAA,CACGC,gBAAiBZ,KAAKY,iBAClBZ,KAAKa,OAAK,CACdC,SAAUd,KAAKe,YACV,IAIrB,EAhCAC,EADS1B,EACcM,OAAOqB,EAAWC"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../external/preact/dist/preact.js";import"../../internal/QRLoader/QRLoader.js";import{QRImage as o}from"../../internal/QRLoader/components/QRImage.js";import{QRProgressbar as r}from"../../internal/QRLoader/components/QRProgressbar.js";import{QRCountdown as a}from"../../internal/QRLoader/components/QRCountdown.js";import{useCoreContext as t}from"../../../core/Context/CoreProvider.js";import{QRCodeCopyButton as n}from"../../internal/QRLoader/components/QRCodeCopyButton.js";import{useQRLoaderDetails as i}from"../../internal/QRLoader/QRLoaderDetailsProvider.js";import d from"../../internal/FormFields/Field/Field.js";import l from"../../internal/FormFields/InputText.js";const m=()=>{const{i18n:m}=t(),{qrCodeData:p,qrCodeImage:c,percentage:s,timeToPay:_,onTick:L,countdownTime:Q,onQRCodeLoad:R,onTimeUp:u,handleCopy:x}=i();return e("div",{className:"adyen-checkout__qr-loader--pix__qr_details"},e(o,{src:c,onLoad:R}),e("div",{className:"adyen-checkout__qr-loader--pix__qr_details__timer"},e(r,{percentage:s}),e(a,{countdownTime:Q,timeToPay:_,onTick:L,onCompleted:u})),e(d,{name:"pix-code",useLabelElement:!1},e(l,{className:"adyen-checkout__qr-loader--pix__qr_details__code",value:p,readonly:!0,"aria-label":m.get("pix.code.label")})),e(n,{text:p,copyLabel:m.get("pix.code.copy.label"),copiedLabel:m.get("pix.code.copied.label"),handleCopy:x}))};export{m as default};
1
+ import{createElement as e}from"../../../external/preact/dist/preact.js";import"../../internal/QRLoader/QRLoader.js";import{QRImage as o}from"../../internal/QRLoader/components/QRImage.js";import{QRProgressbar as r}from"../../internal/QRLoader/components/QRProgressbar.js";import{QRCountdown as a}from"../../internal/QRLoader/components/QRCountdown.js";import{useCoreContext as t}from"../../../core/Context/CoreProvider.js";import{QRCodeCopyButton as n}from"../../internal/QRLoader/components/QRCodeCopyButton.js";import{useQRLoaderDetails as i}from"../../internal/QRLoader/QRLoaderDetailsProvider.js";import d from"../../internal/FormFields/Field/Field.js";import l from"../../internal/FormFields/InputText.js";import{TxVariants as m}from"../../tx-variants.js";const p=()=>{const{i18n:p}=t(),{qrCodeData:s,qrCodeImage:c,percentage:_,timeToPay:x,onTick:L,countdownTime:Q,onQRCodeLoad:R,onTimeUp:u,handleCopy:y}=i();return e("div",{className:"adyen-checkout__qr-loader--pix__qr_details"},e(o,{type:m.pix,src:c,onLoad:R}),e("div",{className:"adyen-checkout__qr-loader--pix__qr_details__timer"},e(r,{percentage:_}),e(a,{countdownTime:Q,timeToPay:x,onTick:L,onCompleted:u})),e(d,{name:"pix-code",useLabelElement:!1},e(l,{className:"adyen-checkout__qr-loader--pix__qr_details__code",value:s,readonly:!0,"aria-label":p.get("pix.code.label")})),e(n,{text:s,copyLabel:p.get("pix.code.copy.label"),copiedLabel:p.get("pix.code.copied.label"),handleCopy:y}))};export{p as default};
2
2
  //# sourceMappingURL=PixQRDetails.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PixQRDetails.js","sources":["../../../../../src/components/Pix/components/PixQRDetails.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { QRImage, QRProgressbar, QRCountdown, QRCodeCopyButton, useQRLoaderDetails } from '../../internal/QRLoader';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport Field from '../../internal/FormFields/Field';\nimport InputText from '../../internal/FormFields/InputText';\n\nconst PixQRDetails = () => {\n const { i18n } = useCoreContext();\n const { qrCodeData, qrCodeImage, percentage, timeToPay, onTick, countdownTime, onQRCodeLoad, onTimeUp, handleCopy } = useQRLoaderDetails();\n\n return (\n <div className=\"adyen-checkout__qr-loader--pix__qr_details\">\n <QRImage src={qrCodeImage} onLoad={onQRCodeLoad} />\n <div className=\"adyen-checkout__qr-loader--pix__qr_details__timer\">\n <QRProgressbar percentage={percentage} />\n <QRCountdown countdownTime={countdownTime} timeToPay={timeToPay} onTick={onTick} onCompleted={onTimeUp} />\n </div>\n <Field name=\"pix-code\" useLabelElement={false}>\n <InputText\n className=\"adyen-checkout__qr-loader--pix__qr_details__code\"\n value={qrCodeData}\n readonly\n aria-label={i18n.get('pix.code.label')}\n />\n </Field>\n <QRCodeCopyButton\n text={qrCodeData}\n copyLabel={i18n.get('pix.code.copy.label')}\n copiedLabel={i18n.get('pix.code.copied.label')}\n handleCopy={handleCopy}\n />\n </div>\n );\n};\n\nexport default PixQRDetails;\n"],"names":["PixQRDetails","i18n","useCoreContext","qrCodeData","qrCodeImage","percentage","timeToPay","onTick","countdownTime","onQRCodeLoad","onTimeUp","handleCopy","useQRLoaderDetails","h","div","className","QRImage","src","onLoad","QRProgressbar","QRCountdown","onCompleted","Field","name","useLabelElement","InputText","value","readonly","aria-label","get","QRCodeCopyButton","text","copyLabel","copiedLabel"],"mappings":"usBAMA,MAAMA,EAAe,KACjB,MAAMC,KAAEA,GAASC,KACXC,WAAEA,EAAUC,YAAEA,EAAWC,WAAEA,EAAUC,UAAEA,EAASC,OAAEA,EAAMC,cAAEA,EAAaC,aAAEA,EAAYC,SAAEA,EAAQC,WAAEA,GAAeC,IAEtH,OACIC,EAACC,MAAAA,CAAIC,UAAU,8CACXF,EAACG,EAAAA,CAAQC,IAAKb,EAAac,OAAQT,IACnCI,EAACC,MAAAA,CAAIC,UAAU,qDACXF,EAACM,EAAAA,CAAcd,WAAYA,IAC3BQ,EAACO,EAAAA,CAAYZ,cAAeA,EAAeF,UAAWA,EAAWC,OAAQA,EAAQc,YAAaX,KAElGG,EAACS,EAAAA,CAAMC,KAAK,WAAWC,iBAAiB,GACpCX,EAACY,EAAAA,CACGV,UAAU,mDACVW,MAAOvB,EACPwB,UAAAA,EACAC,aAAY3B,EAAK4B,IAAI,qBAG7BhB,EAACiB,EAAAA,CACGC,KAAM5B,EACN6B,UAAW/B,EAAK4B,IAAI,uBACpBI,YAAahC,EAAK4B,IAAI,yBACtBlB,WAAYA"}
1
+ {"version":3,"file":"PixQRDetails.js","sources":["../../../../../src/components/Pix/components/PixQRDetails.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { QRImage, QRProgressbar, QRCountdown, QRCodeCopyButton, useQRLoaderDetails } from '../../internal/QRLoader';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport Field from '../../internal/FormFields/Field';\nimport InputText from '../../internal/FormFields/InputText';\nimport { TxVariants } from '../../tx-variants';\n\nconst PixQRDetails = () => {\n const { i18n } = useCoreContext();\n const { qrCodeData, qrCodeImage, percentage, timeToPay, onTick, countdownTime, onQRCodeLoad, onTimeUp, handleCopy } = useQRLoaderDetails();\n\n return (\n <div className=\"adyen-checkout__qr-loader--pix__qr_details\">\n <QRImage type={TxVariants.pix} src={qrCodeImage} onLoad={onQRCodeLoad} />\n <div className=\"adyen-checkout__qr-loader--pix__qr_details__timer\">\n <QRProgressbar percentage={percentage} />\n <QRCountdown countdownTime={countdownTime} timeToPay={timeToPay} onTick={onTick} onCompleted={onTimeUp} />\n </div>\n <Field name=\"pix-code\" useLabelElement={false}>\n <InputText\n className=\"adyen-checkout__qr-loader--pix__qr_details__code\"\n value={qrCodeData}\n readonly\n aria-label={i18n.get('pix.code.label')}\n />\n </Field>\n <QRCodeCopyButton\n text={qrCodeData}\n copyLabel={i18n.get('pix.code.copy.label')}\n copiedLabel={i18n.get('pix.code.copied.label')}\n handleCopy={handleCopy}\n />\n </div>\n );\n};\n\nexport default PixQRDetails;\n"],"names":["PixQRDetails","i18n","useCoreContext","qrCodeData","qrCodeImage","percentage","timeToPay","onTick","countdownTime","onQRCodeLoad","onTimeUp","handleCopy","useQRLoaderDetails","h","div","className","QRImage","type","TxVariants","pix","src","onLoad","QRProgressbar","QRCountdown","onCompleted","Field","name","useLabelElement","InputText","value","readonly","aria-label","get","QRCodeCopyButton","text","copyLabel","copiedLabel"],"mappings":"yvBAOA,MAAMA,EAAe,KACjB,MAAMC,KAAEA,GAASC,KACXC,WAAEA,EAAUC,YAAEA,EAAWC,WAAEA,EAAUC,UAAEA,EAASC,OAAEA,EAAMC,cAAEA,EAAaC,aAAEA,EAAYC,SAAEA,EAAQC,WAAEA,GAAeC,IAEtH,OACIC,EAACC,MAAAA,CAAIC,UAAU,8CACXF,EAACG,EAAAA,CAAQC,KAAMC,EAAWC,IAAKC,IAAKhB,EAAaiB,OAAQZ,IACzDI,EAACC,MAAAA,CAAIC,UAAU,qDACXF,EAACS,EAAAA,CAAcjB,WAAYA,IAC3BQ,EAACU,EAAAA,CAAYf,cAAeA,EAAeF,UAAWA,EAAWC,OAAQA,EAAQiB,YAAad,KAElGG,EAACY,EAAAA,CAAMC,KAAK,WAAWC,iBAAiB,GACpCd,EAACe,EAAAA,CACGb,UAAU,mDACVc,MAAO1B,EACP2B,UAAAA,EACAC,aAAY9B,EAAK+B,IAAI,qBAG7BnB,EAACoB,EAAAA,CACGC,KAAM/B,EACNgC,UAAWlC,EAAK+B,IAAI,uBACpBI,YAAanC,EAAK+B,IAAI,yBACtBrB,WAAYA"}
@@ -1,2 +1,2 @@
1
- import{createElement as t,Fragment as e}from"../../external/preact/dist/preact.js";import{UIElement as o}from"../internal/UIElement/UIElement.js";import{TxVariants as n}from"../tx-variants.js";import r from"./components/PreAuthorizedDebitCanadaComponent.js";import{SettlementInfo as s}from"./components/SettlementInfo.js";import a from"../internal/RedirectButton/RedirectButton.js";import"../internal/Button/Button.js";import"../../core/Context/CoreProvider.js";import{payAmountLabel as i}from"../internal/PayButton/utils.js";function p(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function l(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{},n=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(o).filter(function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable}))),n.forEach(function(e){p(t,e,o[e])})}return t}class m extends o{formatData(){return!!this.props.storedPaymentMethodId?{paymentMethod:{type:m.type,storedPaymentMethodId:this.props.storedPaymentMethodId}}:l({paymentMethod:{type:m.type,ownerName:this.state.data.ownerName,bankAccountNumber:this.state.data.bankAccountNumber,bankCode:this.state.data.bankCode,bankLocationId:this.state.data.bankLocationId}},this.state.storePaymentMethod&&{storePaymentMethod:this.state.storePaymentMethod})}formatProps(t){var e,o,n;return l({enableStoreDetails:null!==(e=null===(n=t.session)||void 0===n||null===(o=n.configuration)||void 0===o?void 0:o.enableStoreDetails)&&void 0!==e?e:t.enableStoreDetails},t)}get isValid(){return!!this.props.storedPaymentMethodId||!!this.state.isValid}get displayName(){return this.props.storedPaymentMethodId&&this.props.lastFour?`•••• ${this.props.lastFour}`:this.props.name}get additionalInfo(){return this.props.storedPaymentMethodId?this.props.label:""}componentToRender(){var o;return this.props.storedPaymentMethodId?t(e,null,t(s,null),t(a,{showPayButton:this.props.showPayButton,icon:null===(o=this.resources)||void 0===o?void 0:o.getImage({imageFolder:"components/"})("bento_lock"),label:i(this.props.i18n,this.props.amount),name:this.displayName,amount:this.props.amount,payButton:this.payButton,onSubmit:this.submit,ref:t=>{this.componentRef=t}})):t(r,{onChange:this.setState,payButton:this.payButton,showPayButton:this.props.showPayButton,placeholders:this.props.placeholders,setComponentRef:this.setComponentRef,showContextualElement:this.props.showContextualElement,enableStoreDetails:this.props.enableStoreDetails})}}p(m,"type",n.eft_directdebit_CA);export{m as PreAuthorizedDebitCanada,m as default};
1
+ import{createElement as t,Fragment as e}from"../../external/preact/dist/preact.js";import{UIElement as o}from"../internal/UIElement/UIElement.js";import{TxVariants as n}from"../tx-variants.js";import s from"./components/PreAuthorizedDebitCanadaComponent.js";import{SettlementInfo as r}from"./components/SettlementInfo.js";import a from"../internal/RedirectButton/RedirectButton.js";import{payAmountLabel as i}from"../internal/PayButton/utils.js";function p(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function l(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{},n=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(o).filter(function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable}))),n.forEach(function(e){p(t,e,o[e])})}return t}class d extends o{formatData(){return!!this.props.storedPaymentMethodId?{paymentMethod:{type:d.type,storedPaymentMethodId:this.props.storedPaymentMethodId}}:l({paymentMethod:{type:d.type,ownerName:this.state.data.ownerName,bankAccountNumber:this.state.data.bankAccountNumber,bankCode:this.state.data.bankCode,bankLocationId:this.state.data.bankLocationId}},this.state.storePaymentMethod&&{storePaymentMethod:this.state.storePaymentMethod})}formatProps(t){var e,o,n;return l({enableStoreDetails:null!==(e=null===(n=t.session)||void 0===n||null===(o=n.configuration)||void 0===o?void 0:o.enableStoreDetails)&&void 0!==e?e:t.enableStoreDetails},t)}get isValid(){return!!this.props.storedPaymentMethodId||!!this.state.isValid}get displayName(){return this.props.storedPaymentMethodId&&this.props.lastFour?`•••• ${this.props.lastFour}`:this.props.name}get additionalInfo(){return this.props.storedPaymentMethodId?this.props.label:""}componentToRender(){var o;return this.props.storedPaymentMethodId?t(e,null,t(r,null),t(a,{showPayButton:this.props.showPayButton,icon:null===(o=this.resources)||void 0===o?void 0:o.getImage({imageFolder:"components/"})("bento_lock"),label:i(this.props.i18n,this.props.amount),name:this.displayName,payButton:this.payButton,onSubmit:this.submit,ref:t=>{this.componentRef=t}})):t(s,{onChange:this.setState,payButton:this.payButton,showPayButton:this.props.showPayButton,placeholders:this.props.placeholders,setComponentRef:this.setComponentRef,showContextualElement:this.props.showContextualElement,enableStoreDetails:this.props.enableStoreDetails})}}p(d,"type",n.eft_directdebit_CA);export{d as PreAuthorizedDebitCanada,d as default};
2
2
  //# sourceMappingURL=PreAuthorizedDebitCanada.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PreAuthorizedDebitCanada.js","sources":["../../../../src/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.tsx"],"sourcesContent":["import { h, Fragment } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { TxVariants } from '../tx-variants';\nimport PreAuthorizedDebitCanadaComponent from './components/PreAuthorizedDebitCanadaComponent';\nimport { SettlementInfo } from './components/SettlementInfo';\nimport RedirectButton from '../internal/RedirectButton';\nimport { payAmountLabel } from '../internal/PayButton';\n\nimport type { PreAuthorizedDebitCanadaConfiguration } from './types';\n\nexport class PreAuthorizedDebitCanada extends UIElement<PreAuthorizedDebitCanadaConfiguration> {\n public static type = TxVariants.eft_directdebit_CA;\n\n public override formatData() {\n const recurringPayment = !!this.props.storedPaymentMethodId;\n\n if (recurringPayment) {\n return {\n paymentMethod: {\n type: PreAuthorizedDebitCanada.type,\n storedPaymentMethodId: this.props.storedPaymentMethodId\n }\n };\n }\n\n return {\n paymentMethod: {\n type: PreAuthorizedDebitCanada.type,\n ownerName: this.state.data.ownerName,\n bankAccountNumber: this.state.data.bankAccountNumber,\n bankCode: this.state.data.bankCode,\n bankLocationId: this.state.data.bankLocationId\n },\n ...(this.state.storePaymentMethod && { storePaymentMethod: this.state.storePaymentMethod })\n };\n }\n\n public override formatProps(props: PreAuthorizedDebitCanadaConfiguration): PreAuthorizedDebitCanadaConfiguration {\n return {\n enableStoreDetails: props.session?.configuration?.enableStoreDetails ?? props.enableStoreDetails,\n ...props\n };\n }\n\n public override get isValid(): boolean {\n if (this.props.storedPaymentMethodId) {\n return true;\n }\n\n return !!this.state.isValid;\n }\n\n public override get displayName(): string {\n if (this.props.storedPaymentMethodId && this.props.lastFour) {\n return `•••• ${this.props.lastFour}`;\n }\n\n return this.props.name;\n }\n\n public override get additionalInfo(): string {\n return this.props.storedPaymentMethodId ? this.props.label : '';\n }\n\n protected override componentToRender(): h.JSX.Element {\n return this.props.storedPaymentMethodId ? (\n <Fragment>\n <SettlementInfo />\n <RedirectButton\n showPayButton={this.props.showPayButton}\n icon={this.resources?.getImage({ imageFolder: 'components/' })(`bento_lock`)}\n label={payAmountLabel(this.props.i18n, this.props.amount)}\n name={this.displayName}\n amount={this.props.amount}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n </Fragment>\n ) : (\n <PreAuthorizedDebitCanadaComponent\n onChange={this.setState}\n payButton={this.payButton}\n showPayButton={this.props.showPayButton}\n placeholders={this.props.placeholders}\n setComponentRef={this.setComponentRef}\n showContextualElement={this.props.showContextualElement}\n enableStoreDetails={this.props.enableStoreDetails}\n />\n );\n }\n}\n\nexport default PreAuthorizedDebitCanada;\n"],"names":["PreAuthorizedDebitCanada","UIElement","formatData","this","props","storedPaymentMethodId","paymentMethod","type","_object_spread","ownerName","state","data","bankAccountNumber","bankCode","bankLocationId","storePaymentMethod","formatProps","enableStoreDetails","_ref","session","configuration","isValid","displayName","lastFour","name","additionalInfo","label","componentToRender","_this_resources","h","Fragment","SettlementInfo","RedirectButton","showPayButton","icon","resources","getImage","imageFolder","payAmountLabel","i18n","amount","payButton","onSubmit","submit","ref","componentRef","PreAuthorizedDebitCanadaComponent","onChange","setState","placeholders","setComponentRef","showContextualElement","_define_property","TxVariants","eft_directdebit_CA"],"mappings":"08BAUO,MAAMA,UAAiCC,EAG1BC,UAAAA,GAGZ,QAF2BC,KAAKC,MAAMC,sBAG3B,CACHC,cAAe,CACXC,KAAMP,EAAyBO,KAC/BF,sBAAuBF,KAAKC,MAAMC,wBAKvCG,EAAA,CACHF,cAAe,CACXC,KAAMP,EAAyBO,KAC/BE,UAAWN,KAAKO,MAAMC,KAAKF,UAC3BG,kBAAmBT,KAAKO,MAAMC,KAAKC,kBACnCC,SAAUV,KAAKO,MAAMC,KAAKE,SAC1BC,eAAgBX,KAAKO,MAAMC,KAAKG,iBAEhCX,KAAKO,MAAMK,oBAAsB,CAAEA,mBAAoBZ,KAAKO,MAAMK,oBAE9E,CAEgBC,WAAAA,CAAYZ,SAEAA,EAAAA,EADxB,OAAOI,EAAA,CACHS,mBAAoE,QAAlDC,UAAEd,EAAAA,EAAMe,eAANf,IAAAA,WAAAA,EAAAA,EAAegB,qBAAfhB,IAAAA,OAAAA,EAAAA,EAA8Ba,0BAAkB,IAAAC,EAAAA,EAAId,EAAMa,oBAC3Eb,EAEX,CAEA,WAAoBiB,GAChB,QAAIlB,KAAKC,MAAMC,yBAINF,KAAKO,MAAMW,OACxB,CAEA,eAAoBC,GAChB,OAAInB,KAAKC,MAAMC,uBAAyBF,KAAKC,MAAMmB,SACxC,QAAQpB,KAAKC,MAAMmB,WAGvBpB,KAAKC,MAAMoB,IACtB,CAEA,kBAAoBC,GAChB,OAAOtB,KAAKC,MAAMC,sBAAwBF,KAAKC,MAAMsB,MAAQ,EACjE,CAEmBC,iBAAAA,GAMG,IAAAC,EALlB,OAAOzB,KAAKC,MAAMC,sBACdwB,EAACC,EAAAA,KACGD,EAACE,EAAAA,MACDF,EAACG,EAAAA,CACGC,cAAe9B,KAAKC,MAAM6B,cAC1BC,KAAoB,QAAdN,EAAAzB,KAAKgC,iBAAL,IAAAP,OAAA,EAAAA,EAAgBQ,SAAS,CAAEC,YAAa,eAAxCT,CAAyD,cAC/DF,MAAOY,EAAenC,KAAKC,MAAMmC,KAAMpC,KAAKC,MAAMoC,QAClDhB,KAAMrB,KAAKmB,YACXkB,OAAQrC,KAAKC,MAAMoC,OACnBC,UAAWtC,KAAKsC,UAChBC,SAAUvC,KAAKwC,OACfC,IAAKA,IACDzC,KAAK0C,aAAeD,MAKhCf,EAACiB,EAAAA,CACGC,SAAU5C,KAAK6C,SACfP,UAAWtC,KAAKsC,UAChBR,cAAe9B,KAAKC,MAAM6B,cAC1BgB,aAAc9C,KAAKC,MAAM6C,aACzBC,gBAAiB/C,KAAK+C,gBACtBC,sBAAuBhD,KAAKC,MAAM+C,sBAClClC,mBAAoBd,KAAKC,MAAMa,oBAG3C,EAjFAmC,EADSpD,EACKO,OAAO8C,EAAWC"}
1
+ {"version":3,"file":"PreAuthorizedDebitCanada.js","sources":["../../../../src/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.tsx"],"sourcesContent":["import { h, Fragment } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { TxVariants } from '../tx-variants';\nimport PreAuthorizedDebitCanadaComponent from './components/PreAuthorizedDebitCanadaComponent';\nimport { SettlementInfo } from './components/SettlementInfo';\nimport RedirectButton from '../internal/RedirectButton';\nimport { payAmountLabel } from '../internal/PayButton/utils';\n\nimport type { PreAuthorizedDebitCanadaConfiguration } from './types';\n\nexport class PreAuthorizedDebitCanada extends UIElement<PreAuthorizedDebitCanadaConfiguration> {\n public static type = TxVariants.eft_directdebit_CA;\n\n public override formatData() {\n const recurringPayment = !!this.props.storedPaymentMethodId;\n\n if (recurringPayment) {\n return {\n paymentMethod: {\n type: PreAuthorizedDebitCanada.type,\n storedPaymentMethodId: this.props.storedPaymentMethodId\n }\n };\n }\n\n return {\n paymentMethod: {\n type: PreAuthorizedDebitCanada.type,\n ownerName: this.state.data.ownerName,\n bankAccountNumber: this.state.data.bankAccountNumber,\n bankCode: this.state.data.bankCode,\n bankLocationId: this.state.data.bankLocationId\n },\n ...(this.state.storePaymentMethod && { storePaymentMethod: this.state.storePaymentMethod })\n };\n }\n\n public override formatProps(props: PreAuthorizedDebitCanadaConfiguration): PreAuthorizedDebitCanadaConfiguration {\n return {\n enableStoreDetails: props.session?.configuration?.enableStoreDetails ?? props.enableStoreDetails,\n ...props\n };\n }\n\n public override get isValid(): boolean {\n if (this.props.storedPaymentMethodId) {\n return true;\n }\n\n return !!this.state.isValid;\n }\n\n public override get displayName(): string {\n if (this.props.storedPaymentMethodId && this.props.lastFour) {\n return `•••• ${this.props.lastFour}`;\n }\n\n return this.props.name;\n }\n\n public override get additionalInfo(): string {\n return this.props.storedPaymentMethodId ? this.props.label : '';\n }\n\n protected override componentToRender(): h.JSX.Element {\n return this.props.storedPaymentMethodId ? (\n <Fragment>\n <SettlementInfo />\n <RedirectButton\n showPayButton={this.props.showPayButton}\n icon={this.resources?.getImage({ imageFolder: 'components/' })(`bento_lock`)}\n label={payAmountLabel(this.props.i18n, this.props.amount)}\n name={this.displayName}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n </Fragment>\n ) : (\n <PreAuthorizedDebitCanadaComponent\n onChange={this.setState}\n payButton={this.payButton}\n showPayButton={this.props.showPayButton}\n placeholders={this.props.placeholders}\n setComponentRef={this.setComponentRef}\n showContextualElement={this.props.showContextualElement}\n enableStoreDetails={this.props.enableStoreDetails}\n />\n );\n }\n}\n\nexport default PreAuthorizedDebitCanada;\n"],"names":["PreAuthorizedDebitCanada","UIElement","formatData","this","props","storedPaymentMethodId","paymentMethod","type","_object_spread","ownerName","state","data","bankAccountNumber","bankCode","bankLocationId","storePaymentMethod","formatProps","enableStoreDetails","_ref","session","configuration","isValid","displayName","lastFour","name","additionalInfo","label","componentToRender","_this_resources","h","Fragment","SettlementInfo","RedirectButton","showPayButton","icon","resources","getImage","imageFolder","payAmountLabel","i18n","amount","payButton","onSubmit","submit","ref","componentRef","PreAuthorizedDebitCanadaComponent","onChange","setState","placeholders","setComponentRef","showContextualElement","_define_property","TxVariants","eft_directdebit_CA"],"mappings":"03BAUO,MAAMA,UAAiCC,EAG1BC,UAAAA,GAGZ,QAF2BC,KAAKC,MAAMC,sBAG3B,CACHC,cAAe,CACXC,KAAMP,EAAyBO,KAC/BF,sBAAuBF,KAAKC,MAAMC,wBAKvCG,EAAA,CACHF,cAAe,CACXC,KAAMP,EAAyBO,KAC/BE,UAAWN,KAAKO,MAAMC,KAAKF,UAC3BG,kBAAmBT,KAAKO,MAAMC,KAAKC,kBACnCC,SAAUV,KAAKO,MAAMC,KAAKE,SAC1BC,eAAgBX,KAAKO,MAAMC,KAAKG,iBAEhCX,KAAKO,MAAMK,oBAAsB,CAAEA,mBAAoBZ,KAAKO,MAAMK,oBAE9E,CAEgBC,WAAAA,CAAYZ,SAEAA,EAAAA,EADxB,OAAOI,EAAA,CACHS,mBAAoE,QAAlDC,UAAEd,EAAAA,EAAMe,eAANf,IAAAA,WAAAA,EAAAA,EAAegB,qBAAfhB,IAAAA,OAAAA,EAAAA,EAA8Ba,8BAAkBC,EAAAA,EAAId,EAAMa,oBAC3Eb,EAEX,CAEA,WAAoBiB,GAChB,QAAIlB,KAAKC,MAAMC,yBAINF,KAAKO,MAAMW,OACxB,CAEA,eAAoBC,GAChB,OAAInB,KAAKC,MAAMC,uBAAyBF,KAAKC,MAAMmB,SACxC,QAAQpB,KAAKC,MAAMmB,WAGvBpB,KAAKC,MAAMoB,IACtB,CAEA,kBAAoBC,GAChB,OAAOtB,KAAKC,MAAMC,sBAAwBF,KAAKC,MAAMsB,MAAQ,EACjE,CAEmBC,iBAAAA,GAMG,IAAAC,EALlB,OAAOzB,KAAKC,MAAMC,sBACdwB,EAACC,EAAAA,KACGD,EAACE,EAAAA,MACDF,EAACG,EAAAA,CACGC,cAAe9B,KAAKC,MAAM6B,cAC1BC,KAAoB,QAAdN,EAAAzB,KAAKgC,qBAALP,OAAA,EAAAA,EAAgBQ,SAAS,CAAEC,YAAa,eAAxCT,CAAyD,cAC/DF,MAAOY,EAAenC,KAAKC,MAAMmC,KAAMpC,KAAKC,MAAMoC,QAClDhB,KAAMrB,KAAKmB,YACXmB,UAAWtC,KAAKsC,UAChBC,SAAUvC,KAAKwC,OACfC,IAAKA,IACDzC,KAAK0C,aAAeD,MAKhCf,EAACiB,EAAAA,CACGC,SAAU5C,KAAK6C,SACfP,UAAWtC,KAAKsC,UAChBR,cAAe9B,KAAKC,MAAM6B,cAC1BgB,aAAc9C,KAAKC,MAAM6C,aACzBC,gBAAiB/C,KAAK+C,gBACtBC,sBAAuBhD,KAAKC,MAAM+C,sBAClClC,mBAAoBd,KAAKC,MAAMa,oBAG3C,EAhFAmC,EADSpD,EACKO,OAAO8C,EAAWC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PreAuthorizedDebitCanadaComponent.js","sources":["../../../../../src/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useRef, useState } from 'preact/hooks';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport Fieldset from '../../internal/FormFields/Fieldset';\nimport FormInstruction from '../../internal/FormInstruction';\nimport useForm from '../../../utils/useForm';\nimport Field from '../../internal/FormFields/Field';\nimport InputText from '../../internal/FormFields/InputText';\nimport { preAuthorizedDebitCanadaFormatters, preAuthorizedDebitCanadaValidationRules } from './validate';\nimport StoreDetails from '../../internal/StoreDetails';\nimport useImage from '../../../core/Context/useImage';\nimport { SettlementInfo } from './SettlementInfo';\n\nimport type { PayButtonProps } from '../../internal/PayButton/PayButton';\nimport type { ComponentMethodsRef } from '../../internal/UIElement/types';\nimport type { PreAuthorizedDebitCanadaPlaceholders } from '../types';\n\nimport './PreAuthorizedDebitCanada.scss';\n\ninterface PreAuthorizedDebitCanadaForm {\n ownerName: string;\n bankAccountNumber: string;\n bankCode: string;\n bankLocationId: string;\n}\n\ninterface PreAuthorizedDebitCanadaComponentProps {\n onChange({\n data,\n valid,\n errors,\n isValid,\n storePaymentMethod\n }: {\n data: PreAuthorizedDebitCanadaForm;\n valid: { [key: string]: boolean };\n errors: { [key: string]: any };\n isValid: boolean;\n storePaymentMethod: boolean;\n }): void;\n payButton: (props: Partial<PayButtonProps>) => h.JSX.Element;\n setComponentRef: (ref: ComponentMethodsRef) => void;\n showPayButton: boolean;\n enableStoreDetails: boolean;\n showContextualElement?: boolean;\n placeholders?: PreAuthorizedDebitCanadaPlaceholders;\n}\n\nfunction PreAuthorizedDebitCanadaComponent({\n onChange,\n payButton,\n showPayButton,\n placeholders,\n setComponentRef,\n enableStoreDetails,\n showContextualElement = true\n}: Readonly<PreAuthorizedDebitCanadaComponentProps>) {\n const getImage = useImage();\n const { i18n } = useCoreContext();\n const [status, setStatus] = useState('ready');\n const { handleChangeFor, triggerValidation, data, errors, valid, isValid } = useForm<PreAuthorizedDebitCanadaForm>({\n schema: ['ownerName', 'bankAccountNumber', 'bankCode', 'bankLocationId'],\n rules: preAuthorizedDebitCanadaValidationRules,\n formatters: preAuthorizedDebitCanadaFormatters\n });\n const [storePaymentMethod, setStorePaymentMethod] = useState(false);\n\n const isFormDisabled = status === 'loading';\n\n const componentRef = useRef<ComponentMethodsRef>({\n setStatus: setStatus,\n showValidation: () => {\n triggerValidation();\n }\n });\n\n useEffect(() => {\n setComponentRef(componentRef.current);\n }, [setComponentRef, componentRef.current]);\n\n useEffect(() => {\n onChange({ data, valid, errors, isValid, storePaymentMethod });\n }, [onChange, data, valid, errors, isValid, storePaymentMethod]);\n\n return (\n <div className=\"adyen-checkout__eftpad-canada\">\n <FormInstruction />\n\n <Fieldset>\n <Field\n label={i18n.get('eftpad-canada.input.accountHolderName.label')}\n errorMessage={!!errors.ownerName && i18n.get(errors.ownerName.errorMessage)}\n isValid={!!valid.ownerName}\n name={'ownerName'}\n >\n <InputText\n disabled={isFormDisabled}\n name={'ownerName'}\n placeholder={placeholders?.ownerName}\n value={data.ownerName}\n onInput={handleChangeFor('ownerName', 'input')}\n onBlur={handleChangeFor('ownerName', 'blur')}\n required={true}\n data-testid={'owner-name'}\n />\n </Field>\n\n <Field\n label={i18n.get('eftpad-canada.input.accountNumber.label')}\n errorMessage={!!errors.bankAccountNumber && i18n.get(errors.bankAccountNumber.errorMessage)}\n name={'bankAccountNumber'}\n isValid={!!valid.bankAccountNumber}\n showContextualElement={showContextualElement}\n contextualText={i18n.get('eftpad-canada.input.accountNumber.contextualText')}\n >\n <InputText\n disabled={isFormDisabled}\n name={'bankAccountNumber'}\n placeholder={placeholders?.bankAccountNumber}\n value={data.bankAccountNumber}\n onInput={handleChangeFor('bankAccountNumber', 'input')}\n onBlur={handleChangeFor('bankAccountNumber', 'blur')}\n required={true}\n maxlength={12}\n />\n </Field>\n\n <Field\n label={i18n.get('eftpad-canada.input.institutionNumber.label')}\n classNameModifiers={['col-50']}\n errorMessage={!!errors.bankCode && i18n.get(errors.bankCode.errorMessage)}\n isValid={!!valid.bankCode}\n name={'bankCode'}\n showContextualElement={showContextualElement}\n contextualText={i18n.get('eftpad-canada.input.institutionNumber.contextualText')}\n >\n <InputText\n disabled={isFormDisabled}\n name={'bankCode'}\n placeholder={placeholders?.bankCode}\n value={data.bankCode}\n onInput={handleChangeFor('bankCode', 'input')}\n onBlur={handleChangeFor('bankCode', 'blur')}\n required={true}\n maxlength={3}\n />\n </Field>\n\n <Field\n label={i18n.get('eftpad-canada.input.transitNumber.label')}\n classNameModifiers={['col-50']}\n errorMessage={!!errors.bankLocationId && i18n.get(errors.bankLocationId.errorMessage)}\n name={'bankLocationId'}\n isValid={!!valid.bankLocationId}\n showContextualElement={showContextualElement}\n contextualText={i18n.get('eftpad-canada.input.transitNumber.contextualText')}\n >\n <InputText\n disabled={isFormDisabled}\n name={'bankLocationId'}\n placeholder={placeholders?.bankLocationId}\n value={data.bankLocationId}\n onInput={handleChangeFor('bankLocationId', 'input')}\n onBlur={handleChangeFor('bankLocationId', 'blur')}\n required={true}\n maxlength={5}\n />\n </Field>\n </Fieldset>\n\n {enableStoreDetails && (\n <StoreDetails className={'adyen-checkout_eftpad-canada-store-details'} disabled={isFormDisabled} onChange={setStorePaymentMethod} />\n )}\n\n <SettlementInfo />\n\n {showPayButton && payButton({ status, icon: getImage({ imageFolder: 'components/' })('bento_lock') })}\n </div>\n );\n}\n\nexport default PreAuthorizedDebitCanadaComponent;\n"],"names":["PreAuthorizedDebitCanadaComponent","onChange","payButton","showPayButton","placeholders","setComponentRef","enableStoreDetails","showContextualElement","getImage","useImage","i18n","useCoreContext","status","setStatus","useState","handleChangeFor","triggerValidation","data","errors","valid","isValid","useForm","schema","rules","preAuthorizedDebitCanadaValidationRules","formatters","preAuthorizedDebitCanadaFormatters","storePaymentMethod","setStorePaymentMethod","isFormDisabled","componentRef","useRef","showValidation","useEffect","current","h","div","className","FormInstruction","Fieldset","Field","label","get","errorMessage","ownerName","name","InputText","disabled","placeholder","value","onInput","onBlur","required","data-testid","bankAccountNumber","contextualText","maxlength","classNameModifiers","bankCode","bankLocationId","StoreDetails","SettlementInfo","icon","imageFolder"],"mappings":"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"}
1
+ {"version":3,"file":"PreAuthorizedDebitCanadaComponent.js","sources":["../../../../../src/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useRef, useState } from 'preact/hooks';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport Fieldset from '../../internal/FormFields/Fieldset';\nimport FormInstruction from '../../internal/FormInstruction';\nimport useForm from '../../../utils/useForm';\nimport Field from '../../internal/FormFields/Field';\nimport InputText from '../../internal/FormFields/InputText';\nimport { preAuthorizedDebitCanadaFormatters, preAuthorizedDebitCanadaValidationRules } from './validate';\nimport StoreDetails from '../../internal/StoreDetails';\nimport useImage from '../../../core/Context/useImage';\nimport { SettlementInfo } from './SettlementInfo';\n\nimport type { PayButtonProps } from '../../internal/PayButton/PayButton';\nimport type { ComponentMethodsRef } from '../../internal/UIElement/types';\nimport type { PreAuthorizedDebitCanadaPlaceholders } from '../types';\n\nimport './PreAuthorizedDebitCanada.scss';\n\ninterface PreAuthorizedDebitCanadaForm {\n ownerName: string;\n bankAccountNumber: string;\n bankCode: string;\n bankLocationId: string;\n}\n\ninterface PreAuthorizedDebitCanadaComponentProps {\n onChange({\n data,\n valid,\n errors,\n isValid,\n storePaymentMethod\n }: {\n data: PreAuthorizedDebitCanadaForm;\n valid: { [key: string]: boolean };\n errors: { [key: string]: any };\n isValid: boolean;\n storePaymentMethod: boolean;\n }): void;\n payButton: (props: PayButtonProps) => h.JSX.Element;\n setComponentRef: (ref: ComponentMethodsRef) => void;\n showPayButton: boolean;\n enableStoreDetails: boolean;\n showContextualElement?: boolean;\n placeholders?: PreAuthorizedDebitCanadaPlaceholders;\n}\n\nfunction PreAuthorizedDebitCanadaComponent({\n onChange,\n payButton,\n showPayButton,\n placeholders,\n setComponentRef,\n enableStoreDetails,\n showContextualElement = true\n}: Readonly<PreAuthorizedDebitCanadaComponentProps>) {\n const getImage = useImage();\n const { i18n } = useCoreContext();\n const [status, setStatus] = useState('ready');\n const { handleChangeFor, triggerValidation, data, errors, valid, isValid } = useForm<PreAuthorizedDebitCanadaForm>({\n schema: ['ownerName', 'bankAccountNumber', 'bankCode', 'bankLocationId'],\n rules: preAuthorizedDebitCanadaValidationRules,\n formatters: preAuthorizedDebitCanadaFormatters\n });\n const [storePaymentMethod, setStorePaymentMethod] = useState(false);\n\n const isFormDisabled = status === 'loading';\n\n const componentRef = useRef<ComponentMethodsRef>({\n setStatus: setStatus,\n showValidation: () => {\n triggerValidation();\n }\n });\n\n useEffect(() => {\n setComponentRef(componentRef.current);\n }, [setComponentRef, componentRef.current]);\n\n useEffect(() => {\n onChange({ data, valid, errors, isValid, storePaymentMethod });\n }, [onChange, data, valid, errors, isValid, storePaymentMethod]);\n\n return (\n <div className=\"adyen-checkout__eftpad-canada\">\n <FormInstruction />\n\n <Fieldset>\n <Field\n label={i18n.get('eftpad-canada.input.accountHolderName.label')}\n errorMessage={!!errors.ownerName && i18n.get(errors.ownerName.errorMessage)}\n isValid={!!valid.ownerName}\n name={'ownerName'}\n >\n <InputText\n disabled={isFormDisabled}\n name={'ownerName'}\n placeholder={placeholders?.ownerName}\n value={data.ownerName}\n onInput={handleChangeFor('ownerName', 'input')}\n onBlur={handleChangeFor('ownerName', 'blur')}\n required={true}\n data-testid={'owner-name'}\n />\n </Field>\n\n <Field\n label={i18n.get('eftpad-canada.input.accountNumber.label')}\n errorMessage={!!errors.bankAccountNumber && i18n.get(errors.bankAccountNumber.errorMessage)}\n name={'bankAccountNumber'}\n isValid={!!valid.bankAccountNumber}\n showContextualElement={showContextualElement}\n contextualText={i18n.get('eftpad-canada.input.accountNumber.contextualText')}\n >\n <InputText\n disabled={isFormDisabled}\n name={'bankAccountNumber'}\n placeholder={placeholders?.bankAccountNumber}\n value={data.bankAccountNumber}\n onInput={handleChangeFor('bankAccountNumber', 'input')}\n onBlur={handleChangeFor('bankAccountNumber', 'blur')}\n required={true}\n maxlength={12}\n />\n </Field>\n\n <Field\n label={i18n.get('eftpad-canada.input.institutionNumber.label')}\n classNameModifiers={['col-50']}\n errorMessage={!!errors.bankCode && i18n.get(errors.bankCode.errorMessage)}\n isValid={!!valid.bankCode}\n name={'bankCode'}\n showContextualElement={showContextualElement}\n contextualText={i18n.get('eftpad-canada.input.institutionNumber.contextualText')}\n >\n <InputText\n disabled={isFormDisabled}\n name={'bankCode'}\n placeholder={placeholders?.bankCode}\n value={data.bankCode}\n onInput={handleChangeFor('bankCode', 'input')}\n onBlur={handleChangeFor('bankCode', 'blur')}\n required={true}\n maxlength={3}\n />\n </Field>\n\n <Field\n label={i18n.get('eftpad-canada.input.transitNumber.label')}\n classNameModifiers={['col-50']}\n errorMessage={!!errors.bankLocationId && i18n.get(errors.bankLocationId.errorMessage)}\n name={'bankLocationId'}\n isValid={!!valid.bankLocationId}\n showContextualElement={showContextualElement}\n contextualText={i18n.get('eftpad-canada.input.transitNumber.contextualText')}\n >\n <InputText\n disabled={isFormDisabled}\n name={'bankLocationId'}\n placeholder={placeholders?.bankLocationId}\n value={data.bankLocationId}\n onInput={handleChangeFor('bankLocationId', 'input')}\n onBlur={handleChangeFor('bankLocationId', 'blur')}\n required={true}\n maxlength={5}\n />\n </Field>\n </Fieldset>\n\n {enableStoreDetails && (\n <StoreDetails className={'adyen-checkout_eftpad-canada-store-details'} disabled={isFormDisabled} onChange={setStorePaymentMethod} />\n )}\n\n <SettlementInfo />\n\n {showPayButton && payButton({ status, icon: getImage({ imageFolder: 'components/' })('bento_lock') })}\n </div>\n );\n}\n\nexport default PreAuthorizedDebitCanadaComponent;\n"],"names":["PreAuthorizedDebitCanadaComponent","onChange","payButton","showPayButton","placeholders","setComponentRef","enableStoreDetails","showContextualElement","getImage","useImage","i18n","useCoreContext","status","setStatus","useState","handleChangeFor","triggerValidation","data","errors","valid","isValid","useForm","schema","rules","preAuthorizedDebitCanadaValidationRules","formatters","preAuthorizedDebitCanadaFormatters","storePaymentMethod","setStorePaymentMethod","isFormDisabled","componentRef","useRef","showValidation","useEffect","current","h","div","className","FormInstruction","Fieldset","Field","label","get","errorMessage","ownerName","name","InputText","disabled","placeholder","value","onInput","onBlur","required","data-testid","bankAccountNumber","contextualText","maxlength","classNameModifiers","bankCode","bankLocationId","StoreDetails","SettlementInfo","icon","imageFolder"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RedirectShopper.js","sources":["../../../../../../src/components/Redirect/components/RedirectShopper/RedirectShopper.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport detectInIframeInSameOrigin from '../../../../utils/detectInIframeInSameOrigin';\nimport { ActionHandledReturnObject } from '../../../../types/global-types';\n\ninterface RedirectShopperProps {\n beforeRedirect: (resolve, reject, url) => Promise<void>;\n url: string;\n method: 'GET' | 'POST';\n data?: any;\n redirectFromTopWhenInIframe?: boolean;\n paymentMethodType?: string;\n onActionHandled?: (rtnObj: ActionHandledReturnObject) => void;\n onRedirectError?: () => void;\n}\n\nclass RedirectShopper extends Component<RedirectShopperProps> {\n private postForm;\n public static defaultProps = {\n beforeRedirect: resolve => resolve(),\n onRedirectError: () => {},\n method: 'GET'\n };\n\n componentDidMount() {\n const doRedirect = () => {\n // call callback\n this.props.onActionHandled?.({\n componentType: this.props.paymentMethodType,\n actionDescription: 'performing-redirect'\n });\n\n // perform redirect\n if (this.postForm) {\n this.postForm.submit();\n } else {\n if (this.props.redirectFromTopWhenInIframe && detectInIframeInSameOrigin()) {\n // if in an iframe and the config prop allows it - try to redirect from the top level window\n window.top.location.assign?.(this.props.url);\n } else {\n window.location.assign(this.props.url);\n }\n }\n };\n\n const dispatchEvent = new Promise(\n (resolve, reject) =>\n void this.props.beforeRedirect(resolve, reject, {\n url: this.props.url,\n method: this.props.method,\n ...(this.props.data ? { data: this.props.data } : {})\n })\n );\n\n dispatchEvent.then(doRedirect).catch(() => {\n this.props.onRedirectError();\n });\n }\n\n render({ url, method, data = {} }) {\n if (method === 'POST') {\n return (\n <form\n method=\"post\"\n data-testid=\"redirect-shopper-form\"\n action={url}\n style={{ display: 'none' }}\n ref={ref => {\n this.postForm = ref;\n }}\n {...(this.props.redirectFromTopWhenInIframe && detectInIframeInSameOrigin() && { target: '_top' })}\n >\n {Object.keys(data).map(key => (\n <input type=\"hidden\" name={key} key={key} value={data[key]} />\n ))}\n </form>\n );\n }\n\n return null;\n }\n}\n\nexport default RedirectShopper;\n"],"names":["RedirectShopper","Component","componentDidMount","Promise","resolve","reject","this","props","beforeRedirect","_object_spread","url","method","data","then","_this_props_onActionHandled","_this_props","window","onActionHandled","call","componentType","paymentMethodType","actionDescription","postForm","submit","redirectFromTopWhenInIframe","detectInIframeInSameOrigin","top","location","assign","catch","onRedirectError","render","h","form","data-testid","action","style","display","ref","target","Object","keys","map","key","input","type","name","value","super","args","_define_property","defaultProps"],"mappings":"qlBAeA,MAAMA,UAAwBC,EAQ1BC,iBAAAA,GAqB0B,IAAIC,QACtB,CAACC,EAASC,KACDC,KAAKC,MAAMC,eAAeJ,EAASC,EAAQI,EAAA,CAC5CC,IAAKJ,KAAKC,MAAMG,IAChBC,OAAQL,KAAKC,MAAMI,QACfL,KAAKC,MAAMK,KAAO,CAAEA,KAAMN,KAAKC,MAAMK,MAAS,CAAA,MAIhDC,KA7BK,SAEfC,EAAAC,EAWQC,EAAAA,GAXkB,QAA1BF,GAAAC,EAAAT,KAAKC,OAAMU,uBAAX,IAAAH,GAAAA,EAAAI,KAAAH,EAA6B,CACzBI,cAAeb,KAAKC,MAAMa,kBAC1BC,kBAAmB,wBAInBf,KAAKgB,UACLhB,KAAKgB,SAASC,SAEVjB,KAAKC,MAAMiB,6BAA+BC,IAEhB,QAA1BT,GAAAA,EAAAA,OAAOU,IAAIC,UAASC,cAApBZ,IAAAA,GAAAA,OAAAA,EAA6BV,KAAKC,MAAMG,KAExCM,OAAOW,SAASC,OAAOtB,KAAKC,MAAMG,OAcfmB,MAAM,KACjCvB,KAAKC,MAAMuB,mBAEnB,CAEAC,MAAAA,EAAOrB,IAAEA,EAAGC,OAAEA,EAAMC,KAAEA,EAAO,CAAA,IACzB,MAAe,SAAXD,EAEIqB,EAACC,OAAAA,EAAAA,CACGtB,OAAO,OACPuB,cAAY,wBACZC,OAAQzB,EACR0B,MAAO,CAAEC,QAAS,QAClBC,IAAKA,IACDhC,KAAKgB,SAAWgB,IAEfhC,KAAKC,MAAMiB,6BAA+BC,KAAgC,CAAEc,OAAQ,SAExFC,OAAOC,KAAK7B,GAAM8B,IAAIC,GACnBX,EAACY,QAAAA,CAAMC,KAAK,SAASC,KAAMH,EAAKA,IAAKA,EAAKI,MAAOnC,EAAK+B,OAM/D,IACX,mBAhEJK,SAAAC,GACIC,EAAA5C,KAAQgB,gBAAR,IACA4B,EAFElD,EAEYmD,eAAe,CACzB3C,eAAgBJ,GAAWA,IAC3B0B,gBAAiB,OACjBnB,OAAQ"}
1
+ {"version":3,"file":"RedirectShopper.js","sources":["../../../../../../src/components/Redirect/components/RedirectShopper/RedirectShopper.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport detectInIframeInSameOrigin from '../../../../utils/detectInIframeInSameOrigin';\nimport { ActionHandledReturnObject } from '../../../../types/global-types';\n\ninterface RedirectShopperProps {\n beforeRedirect: (resolve, reject, url) => Promise<void>;\n url: string;\n method: 'GET' | 'POST';\n data?: any;\n redirectFromTopWhenInIframe?: boolean;\n paymentMethodType?: string;\n onActionHandled?: (rtnObj: ActionHandledReturnObject) => void;\n onRedirectError?: () => void;\n}\n\nclass RedirectShopper extends Component<RedirectShopperProps> {\n private postForm;\n public static defaultProps = {\n beforeRedirect: resolve => resolve(),\n onRedirectError: () => {},\n method: 'GET'\n };\n\n componentDidMount() {\n const doRedirect = () => {\n // call callback\n this.props.onActionHandled?.({\n componentType: this.props.paymentMethodType,\n actionDescription: 'performing-redirect'\n });\n\n // perform redirect\n if (this.postForm) {\n this.postForm.submit();\n } else {\n if (this.props.redirectFromTopWhenInIframe && detectInIframeInSameOrigin()) {\n // if in an iframe and the config prop allows it - try to redirect from the top level window\n window.top.location.assign?.(this.props.url);\n } else {\n window.location.assign(this.props.url);\n }\n }\n };\n\n const dispatchEvent = new Promise(\n (resolve, reject) =>\n void this.props.beforeRedirect(resolve, reject, {\n url: this.props.url,\n method: this.props.method,\n ...(this.props.data ? { data: this.props.data } : {})\n })\n );\n\n dispatchEvent.then(doRedirect).catch(() => {\n this.props.onRedirectError();\n });\n }\n\n render({ url, method, data = {} }) {\n if (method === 'POST') {\n return (\n <form\n method=\"post\"\n data-testid=\"redirect-shopper-form\"\n action={url}\n style={{ display: 'none' }}\n ref={ref => {\n this.postForm = ref;\n }}\n {...(this.props.redirectFromTopWhenInIframe && detectInIframeInSameOrigin() && { target: '_top' })}\n >\n {Object.keys(data).map(key => (\n <input type=\"hidden\" name={key} key={key} value={data[key]} />\n ))}\n </form>\n );\n }\n\n return null;\n }\n}\n\nexport default RedirectShopper;\n"],"names":["RedirectShopper","Component","componentDidMount","Promise","resolve","reject","this","props","beforeRedirect","_object_spread","url","method","data","then","_this_props_onActionHandled","_this_props","window","onActionHandled","call","componentType","paymentMethodType","actionDescription","postForm","submit","redirectFromTopWhenInIframe","detectInIframeInSameOrigin","top","location","assign","catch","onRedirectError","render","h","form","data-testid","action","style","display","ref","target","Object","keys","map","key","input","type","name","value","super","args","_define_property","defaultProps"],"mappings":"qlBAeA,MAAMA,UAAwBC,EAQ1BC,iBAAAA,GAqB0B,IAAIC,QACtB,CAACC,EAASC,KACDC,KAAKC,MAAMC,eAAeJ,EAASC,EAAQI,EAAA,CAC5CC,IAAKJ,KAAKC,MAAMG,IAChBC,OAAQL,KAAKC,MAAMI,QACfL,KAAKC,MAAMK,KAAO,CAAEA,KAAMN,KAAKC,MAAMK,MAAS,CAAA,MAIhDC,KA7BK,SAEfC,EAAAC,EAWQC,EAAAA,GAXkB,QAA1BF,GAAAC,EAAAT,KAAKC,OAAMU,uBAAX,IAAAH,GAAAA,EAAAI,KAAAH,EAA6B,CACzBI,cAAeb,KAAKC,MAAMa,kBAC1BC,kBAAmB,wBAInBf,KAAKgB,UACLhB,KAAKgB,SAASC,SAEVjB,KAAKC,MAAMiB,6BAA+BC,IAEhB,QAA1BT,GAAAA,EAAAA,OAAOU,IAAIC,UAASC,cAApBZ,IAAAA,GAAAA,OAAAA,EAA6BV,KAAKC,MAAMG,KAExCM,OAAOW,SAASC,OAAOtB,KAAKC,MAAMG,OAcfmB,MAAM,KACjCvB,KAAKC,MAAMuB,mBAEnB,CAEAC,MAAAA,EAAOrB,IAAEA,EAAGC,OAAEA,EAAMC,KAAEA,EAAO,CAAA,IACzB,MAAe,SAAXD,EAEIqB,EAACC,OAAAA,EAAAA,CACGtB,OAAO,OACPuB,cAAY,wBACZC,OAAQzB,EACR0B,MAAO,CAAEC,QAAS,QAClBC,IAAKA,IACDhC,KAAKgB,SAAWgB,IAEfhC,KAAKC,MAAMiB,6BAA+BC,KAAgC,CAAEc,OAAQ,SAExFC,OAAOC,KAAK7B,GAAM8B,IAAIC,GACnBX,EAACY,QAAAA,CAAMC,KAAK,SAASC,KAAMH,EAAKA,IAAKA,EAAKI,MAAOnC,EAAK+B,OAM/D,IACX,mBAhEJK,SAAAC,GACIC,EAAA5C,KAAQgB,oBACR4B,EAFElD,EAEYmD,eAAe,CACzB3C,eAAgBJ,GAAWA,IAC3B0B,gBAAiB,OACjBnB,OAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"callSubmit3DS2Fingerprint.js","sources":["../../../../src/components/ThreeDS2/callSubmit3DS2Fingerprint.ts"],"sourcesContent":["import { httpPost } from '../../core/Services/http';\nimport { pick } from '../../utils/commonUtils';\nimport { ThreeDS2FingerprintResponse } from './types';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { THREEDS2_FINGERPRINT_SUBMIT } from './constants';\nimport { API_ERROR_CODE } from '../../core/Services/sessions/constants';\nimport { AbstractAnalyticsEvent } from '../../core/Analytics/events/AbstractAnalyticsEvent';\nimport { AnalyticsErrorEvent, ErrorEventCode, ErrorEventType } from '../../core/Analytics/events/AnalyticsErrorEvent';\n\n/**\n * ThreeDS2DeviceFingerprint, onComplete, calls a new, internal, endpoint which\n * behaves like the /details endpoint but doesn't require the same credentials\n */\nexport default function callSubmit3DS2Fingerprint({ data }): void {\n httpPost<ThreeDS2FingerprintResponse>(\n {\n path: `v1/submitThreeDS2Fingerprint?token=${this.props.clientKey}`,\n loadingContext: this.props.loadingContext,\n errorLevel: 'fatal',\n errorCode: API_ERROR_CODE.submitThreeDS2Fingerprint\n },\n {\n ...data\n }\n )\n .then(resData => {\n let event: AbstractAnalyticsEvent;\n\n /**\n * Frictionless (no challenge) flow OR \"refused\" flow\n */\n if (resData.type === 'completed') {\n const { details } = resData;\n\n if (!resData.details) {\n console.debug(\n 'Handled Error::callSubmit3DS2Fingerprint::FAILED:: no details object in a response indicating either a \"frictionless\" flow, or a \"refused\" response. resData=',\n resData\n );\n\n event = new AnalyticsErrorEvent({\n component: 'threeDS2Fingerprint',\n code: ErrorEventCode.THREEDS2_NO_DETAILS_FOR_FRICTIONLESS_OR_REFUSED,\n errorType: ErrorEventType.apiError,\n message: `${THREEDS2_FINGERPRINT_SUBMIT}: no details object in a response indicating either a \"frictionless\" flow, or a \"refused\" response`\n });\n\n this.submitAnalytics(event);\n\n return;\n }\n\n return this.onComplete({ data: { details } });\n }\n\n /**\n * If we don't have a type: \"completed\", then we expect an action, because we must be in a Challenge or Redirect flow\n */\n if (!resData.action) {\n console.debug(\n 'Handled Error::callSubmit3DS2Fingerprint::FAILED:: no action object in a response indicating a \"challenge\". resData=',\n resData\n );\n\n event = new AnalyticsErrorEvent({\n component: 'threeDS2Fingerprint',\n code: ErrorEventCode.THREEDS2_NO_ACTION_FOR_CHALLENGE,\n errorType: ErrorEventType.apiError,\n message: `${THREEDS2_FINGERPRINT_SUBMIT}: no action object in a response indicating a \"challenge\" flow`\n });\n this.submitAnalytics(event);\n\n return;\n }\n\n // elementRef exists when the fingerprint component is created from the Dropin\n const actionHandler = this.props.elementRef ?? this;\n\n /**\n * We have an action but do we have a way to handle it?\n * TODO - check logs: do we ever *not* have an actionHandler?\n */\n if (!actionHandler) {\n console.debug('Handled Error::callSubmit3DS2Fingerprint::FAILED:: no actionHandler');\n\n event = new AnalyticsErrorEvent({\n component: 'threeDS2Fingerprint',\n code: ErrorEventCode.THREEDS2_NO_COMPONENT_FOR_ACTION,\n errorType: ErrorEventType.sdkError,\n message: `${THREEDS2_FINGERPRINT_SUBMIT}: no component defined to handle the action response`\n });\n\n this.submitAnalytics(event);\n\n return;\n }\n\n /**\n * Challenge flow\n */\n if (resData.action?.type === 'threeDS2') {\n // Ensure challengeWindowSize is propagated if there was a (merchant defined) handleAction call proceeding this one that had it set as an option\n return actionHandler.handleAction(resData.action, pick('challengeWindowSize').from(this.props));\n }\n\n /**\n * Redirect flow (usecase: we thought we could do 3DS2 but it turns out we can't)\n * TODO - check logs: does this ever happen, anymore?\n */\n if (resData.action?.type === 'redirect') {\n return actionHandler.handleAction(resData.action);\n }\n })\n .catch((error: AdyenCheckoutError) => {\n this.handleError(error);\n });\n}\n"],"names":["callSubmit3DS2Fingerprint","data","httpPost","path","this","props","clientKey","loadingContext","errorLevel","errorCode","API_ERROR_CODE","submitThreeDS2Fingerprint","_object_spread","then","resData","_this_props_elementRef","event","type","details","onComplete","console","debug","AnalyticsErrorEvent","component","code","ErrorEventCode","THREEDS2_NO_DETAILS_FOR_FRICTIONLESS_OR_REFUSED","errorType","ErrorEventType","apiError","message","THREEDS2_FINGERPRINT_SUBMIT","submitAnalytics","action","THREEDS2_NO_ACTION_FOR_CHALLENGE","actionHandler","elementRef","handleAction","pick","from","THREEDS2_NO_COMPONENT_FOR_ACTION","sdkError","catch","error","handleError"],"mappings":"0eAae,SAASA,GAA0BC,KAAEA,IAChDC,EACI,CACIC,KAAM,sCAAsCC,KAAKC,MAAMC,YACvDC,eAAgBH,KAAKC,MAAME,eAC3BC,WAAY,QACZC,UAAWC,EAAeC,6VAE9BC,CAAA,CAAA,EACOX,IAGNY,KAAKC,IAmDoB,IAAAC,EAwBlBD,EASAA,EAnFJ,IAAIE,EAKJ,GAAqB,cAAjBF,EAAQG,KAAsB,CAC9B,MAAMC,QAAEA,GAAYJ,EAEpB,OAAKA,EAAQI,QAkBNd,KAAKe,WAAW,CAAElB,KAAM,CAAEiB,cAjB7BE,QAAQC,MACJ,gKACAP,GAGJE,EAAQ,IAAIM,EAAoB,CAC5BC,UAAW,sBACXC,KAAMC,EAAeC,gDACrBC,UAAWC,EAAeC,SAC1BC,QAAS,GAAGC,6GAGhB3B,KAAK4B,gBAAgBhB,GAM7B,CAKA,IAAKF,EAAQmB,OAcT,OAbAb,QAAQC,MACJ,uHACAP,GAGJE,EAAQ,IAAIM,EAAoB,CAC5BC,UAAW,sBACXC,KAAMC,EAAeS,iCACrBP,UAAWC,EAAeC,SAC1BC,QAAS,GAAGC,yEAEhB3B,KAAK4B,gBAAgBhB,GAMzB,MAAMmB,EAAqC,QAArBpB,EAAAX,KAAKC,MAAM+B,kBAAX,IAAArB,EAAAA,EAAyBX,KAM/C,OAAK+B,EAkBwB,sBAAzBrB,EAAAA,EAAQmB,cAARnB,IAAAA,OAAAA,EAAAA,EAAgBG,MAETkB,EAAcE,aAAavB,EAAQmB,OAAQK,EAAK,uBAAuBC,KAAKnC,KAAKC,QAO/D,sBAAzBS,EAAAA,EAAQmB,cAARnB,IAAAA,OAAAA,EAAAA,EAAgBG,MACTkB,EAAcE,aAAavB,EAAQmB,aAD9C,GA1BIb,QAAQC,MAAM,uEAEdL,EAAQ,IAAIM,EAAoB,CAC5BC,UAAW,sBACXC,KAAMC,EAAee,iCACrBb,UAAWC,EAAea,SAC1BX,QAAS,GAAGC,+DAGhB3B,KAAK4B,gBAAgBhB,MAqB5B0B,MAAOC,IACJvC,KAAKwC,YAAYD,IAE7B"}
1
+ {"version":3,"file":"callSubmit3DS2Fingerprint.js","sources":["../../../../src/components/ThreeDS2/callSubmit3DS2Fingerprint.ts"],"sourcesContent":["import { httpPost } from '../../core/Services/http';\nimport { pick } from '../../utils/commonUtils';\nimport { ThreeDS2FingerprintResponse } from './types';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { THREEDS2_FINGERPRINT_SUBMIT } from './constants';\nimport { API_ERROR_CODE } from '../../core/Services/sessions/constants';\nimport { AbstractAnalyticsEvent } from '../../core/Analytics/events/AbstractAnalyticsEvent';\nimport { AnalyticsErrorEvent, ErrorEventCode, ErrorEventType } from '../../core/Analytics/events/AnalyticsErrorEvent';\n\n/**\n * ThreeDS2DeviceFingerprint, onComplete, calls a new, internal, endpoint which\n * behaves like the /details endpoint but doesn't require the same credentials\n */\nexport default function callSubmit3DS2Fingerprint({ data }): void {\n httpPost<ThreeDS2FingerprintResponse>(\n {\n path: `v1/submitThreeDS2Fingerprint?token=${this.props.clientKey}`,\n loadingContext: this.props.loadingContext,\n errorLevel: 'fatal',\n errorCode: API_ERROR_CODE.submitThreeDS2Fingerprint\n },\n {\n ...data\n }\n )\n .then(resData => {\n let event: AbstractAnalyticsEvent;\n\n /**\n * Frictionless (no challenge) flow OR \"refused\" flow\n */\n if (resData.type === 'completed') {\n const { details } = resData;\n\n if (!resData.details) {\n console.debug(\n 'Handled Error::callSubmit3DS2Fingerprint::FAILED:: no details object in a response indicating either a \"frictionless\" flow, or a \"refused\" response. resData=',\n resData\n );\n\n event = new AnalyticsErrorEvent({\n component: 'threeDS2Fingerprint',\n code: ErrorEventCode.THREEDS2_NO_DETAILS_FOR_FRICTIONLESS_OR_REFUSED,\n errorType: ErrorEventType.apiError,\n message: `${THREEDS2_FINGERPRINT_SUBMIT}: no details object in a response indicating either a \"frictionless\" flow, or a \"refused\" response`\n });\n\n this.submitAnalytics(event);\n\n return;\n }\n\n return this.onComplete({ data: { details } });\n }\n\n /**\n * If we don't have a type: \"completed\", then we expect an action, because we must be in a Challenge or Redirect flow\n */\n if (!resData.action) {\n console.debug(\n 'Handled Error::callSubmit3DS2Fingerprint::FAILED:: no action object in a response indicating a \"challenge\". resData=',\n resData\n );\n\n event = new AnalyticsErrorEvent({\n component: 'threeDS2Fingerprint',\n code: ErrorEventCode.THREEDS2_NO_ACTION_FOR_CHALLENGE,\n errorType: ErrorEventType.apiError,\n message: `${THREEDS2_FINGERPRINT_SUBMIT}: no action object in a response indicating a \"challenge\" flow`\n });\n this.submitAnalytics(event);\n\n return;\n }\n\n // elementRef exists when the fingerprint component is created from the Dropin\n const actionHandler = this.props.elementRef ?? this;\n\n /**\n * We have an action but do we have a way to handle it?\n * TODO - check logs: do we ever *not* have an actionHandler?\n */\n if (!actionHandler) {\n console.debug('Handled Error::callSubmit3DS2Fingerprint::FAILED:: no actionHandler');\n\n event = new AnalyticsErrorEvent({\n component: 'threeDS2Fingerprint',\n code: ErrorEventCode.THREEDS2_NO_COMPONENT_FOR_ACTION,\n errorType: ErrorEventType.sdkError,\n message: `${THREEDS2_FINGERPRINT_SUBMIT}: no component defined to handle the action response`\n });\n\n this.submitAnalytics(event);\n\n return;\n }\n\n /**\n * Challenge flow\n */\n if (resData.action?.type === 'threeDS2') {\n // Ensure challengeWindowSize is propagated if there was a (merchant defined) handleAction call proceeding this one that had it set as an option\n return actionHandler.handleAction(resData.action, pick('challengeWindowSize').from(this.props));\n }\n\n /**\n * Redirect flow (usecase: we thought we could do 3DS2 but it turns out we can't)\n * TODO - check logs: does this ever happen, anymore?\n */\n if (resData.action?.type === 'redirect') {\n return actionHandler.handleAction(resData.action);\n }\n })\n .catch((error: AdyenCheckoutError) => {\n this.handleError(error);\n });\n}\n"],"names":["callSubmit3DS2Fingerprint","data","httpPost","path","this","props","clientKey","loadingContext","errorLevel","errorCode","API_ERROR_CODE","submitThreeDS2Fingerprint","_object_spread","then","resData","_this_props_elementRef","event","type","details","onComplete","console","debug","AnalyticsErrorEvent","component","code","ErrorEventCode","THREEDS2_NO_DETAILS_FOR_FRICTIONLESS_OR_REFUSED","errorType","ErrorEventType","apiError","message","THREEDS2_FINGERPRINT_SUBMIT","submitAnalytics","action","THREEDS2_NO_ACTION_FOR_CHALLENGE","actionHandler","elementRef","handleAction","pick","from","THREEDS2_NO_COMPONENT_FOR_ACTION","sdkError","catch","error","handleError"],"mappings":"0eAae,SAASA,GAA0BC,KAAEA,IAChDC,EACI,CACIC,KAAM,sCAAsCC,KAAKC,MAAMC,YACvDC,eAAgBH,KAAKC,MAAME,eAC3BC,WAAY,QACZC,UAAWC,EAAeC,6VAE9BC,CAAA,CAAA,EACOX,IAGNY,KAAKC,IAmDoB,IAAAC,EAwBlBD,EASAA,EAnFJ,IAAIE,EAKJ,GAAqB,cAAjBF,EAAQG,KAAsB,CAC9B,MAAMC,QAAEA,GAAYJ,EAEpB,OAAKA,EAAQI,QAkBNd,KAAKe,WAAW,CAAElB,KAAM,CAAEiB,cAjB7BE,QAAQC,MACJ,gKACAP,GAGJE,EAAQ,IAAIM,EAAoB,CAC5BC,UAAW,sBACXC,KAAMC,EAAeC,gDACrBC,UAAWC,EAAeC,SAC1BC,QAAS,GAAGC,6GAGhB3B,KAAK4B,gBAAgBhB,GAM7B,CAKA,IAAKF,EAAQmB,OAcT,OAbAb,QAAQC,MACJ,uHACAP,GAGJE,EAAQ,IAAIM,EAAoB,CAC5BC,UAAW,sBACXC,KAAMC,EAAeS,iCACrBP,UAAWC,EAAeC,SAC1BC,QAAS,GAAGC,yEAEhB3B,KAAK4B,gBAAgBhB,GAMzB,MAAMmB,EAAqC,QAArBpB,EAAAX,KAAKC,MAAM+B,sBAAXrB,EAAAA,EAAyBX,KAM/C,OAAK+B,EAkBwB,sBAAzBrB,EAAAA,EAAQmB,cAARnB,IAAAA,OAAAA,EAAAA,EAAgBG,MAETkB,EAAcE,aAAavB,EAAQmB,OAAQK,EAAK,uBAAuBC,KAAKnC,KAAKC,QAO/D,sBAAzBS,EAAAA,EAAQmB,cAARnB,IAAAA,OAAAA,EAAAA,EAAgBG,MACTkB,EAAcE,aAAavB,EAAQmB,aAD9C,GA1BIb,QAAQC,MAAM,uEAEdL,EAAQ,IAAIM,EAAoB,CAC5BC,UAAW,sBACXC,KAAMC,EAAee,iCACrBb,UAAWC,EAAea,SAC1BX,QAAS,GAAGC,+DAGhB3B,KAAK4B,gBAAgBhB,MAqB5B0B,MAAOC,IACJvC,KAAKwC,YAAYD,IAE7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"ThreeDS2Form.js","sources":["../../../../../../src/components/ThreeDS2/components/Form/ThreeDS2Form.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport classNames from 'classnames';\n\ninterface ThreeDS2FormProps {\n name: string;\n action: string;\n target: string;\n inputName: string;\n inputValue: string;\n onFormSubmit: (msg: string) => void;\n}\n\nexport default class ThreeDS2Form extends Component<ThreeDS2FormProps> {\n protected formEl;\n\n componentDidMount() {\n this.formEl.submit();\n this.props.onFormSubmit(`${this.props.inputName} sent`);\n }\n\n render({ name, action, target, inputName, inputValue }) {\n return (\n <form\n ref={ref => {\n this.formEl = ref;\n }}\n method=\"POST\"\n className={classNames(['adyen-checkout__threeds2__form', `adyen-checkout__threeds2__form--${name}`])}\n name={name}\n action={action}\n target={target}\n style={{ display: 'none' }}\n >\n <input name={inputName} value={inputValue} />\n </form>\n );\n }\n}\n"],"names":["ThreeDS2Form","Component","componentDidMount","this","formEl","submit","props","onFormSubmit","inputName","render","name","action","target","inputValue","h","form","ref","method","className","classNames","style","display","input","value","super","args"],"mappings":"uIAYe,MAAMA,UAAqBC,EAGtCC,iBAAAA,GACIC,KAAKC,OAAOC,SACZF,KAAKG,MAAMC,aAAa,GAAGJ,KAAKG,MAAME,iBAC1C,CAEAC,MAAAA,EAAOC,KAAEA,EAAIC,OAAEA,EAAMC,OAAEA,EAAMJ,UAAEA,EAASK,WAAEA,IACtC,OACIC,EAACC,OAAAA,CACGC,IAAKA,IACDb,KAAKC,OAASY,GAElBC,OAAO,OACPC,UAAWC,EAAW,CAAC,iCAAkC,mCAAmCT,MAC5FA,KAAMA,EACNC,OAAQA,EACRC,OAAQA,EACRQ,MAAO,CAAEC,QAAS,SAElBP,EAACQ,QAAAA,CAAMZ,KAAMF,EAAWe,MAAOV,IAG3C,6BAxBWW,SAAAC,UACX,KAAUrB,cAAVD"}
1
+ {"version":3,"file":"ThreeDS2Form.js","sources":["../../../../../../src/components/ThreeDS2/components/Form/ThreeDS2Form.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport classNames from 'classnames';\n\ninterface ThreeDS2FormProps {\n name: string;\n action: string;\n target: string;\n inputName: string;\n inputValue: string;\n onFormSubmit: (msg: string) => void;\n}\n\nexport default class ThreeDS2Form extends Component<ThreeDS2FormProps> {\n protected formEl;\n\n componentDidMount() {\n this.formEl.submit();\n this.props.onFormSubmit(`${this.props.inputName} sent`);\n }\n\n render({ name, action, target, inputName, inputValue }) {\n return (\n <form\n ref={ref => {\n this.formEl = ref;\n }}\n method=\"POST\"\n className={classNames(['adyen-checkout__threeds2__form', `adyen-checkout__threeds2__form--${name}`])}\n name={name}\n action={action}\n target={target}\n style={{ display: 'none' }}\n >\n <input name={inputName} value={inputValue} />\n </form>\n );\n }\n}\n"],"names":["ThreeDS2Form","Component","componentDidMount","this","formEl","submit","props","onFormSubmit","inputName","render","name","action","target","inputValue","h","form","ref","method","className","classNames","style","display","input","value","super","args"],"mappings":"uIAYe,MAAMA,UAAqBC,EAGtCC,iBAAAA,GACIC,KAAKC,OAAOC,SACZF,KAAKG,MAAMC,aAAa,GAAGJ,KAAKG,MAAME,iBAC1C,CAEAC,MAAAA,EAAOC,KAAEA,EAAIC,OAAEA,EAAMC,OAAEA,EAAMJ,UAAEA,EAASK,WAAEA,IACtC,OACIC,EAACC,OAAAA,CACGC,IAAKA,IACDb,KAAKC,OAASY,GAElBC,OAAO,OACPC,UAAWC,EAAW,CAAC,iCAAkC,mCAAmCT,MAC5FA,KAAMA,EACNC,OAAQA,EACRC,OAAQA,EACRQ,MAAO,CAAEC,QAAS,SAElBP,EAACQ,QAAAA,CAAMZ,KAAMF,EAAWe,MAAOV,IAG3C,6BAxBWW,SAAAC,eACDrB,cAAVD"}
@@ -1,2 +1,2 @@
1
- import t from"../Redirect/Redirect.js";import e from"../internal/PayButton/PayButton.js";import{createElement as r}from"../../external/preact/dist/preact.js";import{TxVariants as n}from"../tx-variants.js";import{payAmountLabel as o}from"../internal/PayButton/utils.js";function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function s(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e.push.apply(e,r)}return e}(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))}),t}class c extends t{get displayName(){const{i18n:t,name:e,isStoredPaymentMethod:r}=this.props;return r?`${e} ${t.get("twint.saved")}`:e||this.constructor.type}payButtonLabel(){const{i18n:t,amount:e,isStoredPaymentMethod:r,name:n}=this.props;return r?o(t,e):`${t.get("continueTo")} ${n}`}constructor(...t){super(...t),i(this,"payButton",t=>r(e,s(function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),n.forEach(function(e){i(t,e,r[e])})}return t}({},t),{label:this.payButtonLabel(),onClick:this.submit})))}}i(c,"type",n.twint),i(c,"defaultProps",{type:c.type,name:"Twint"});export{c as default};
1
+ import t from"../Redirect/Redirect.js";import e from"../internal/PayButton/PayButton.js";import{payAmountLabel as r}from"../internal/PayButton/utils.js";import{createElement as n}from"../../external/preact/dist/preact.js";import{TxVariants as o}from"../tx-variants.js";function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function s(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e.push.apply(e,r)}return e}(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))}),t}class c extends t{get displayName(){const{i18n:t,name:e,isStoredPaymentMethod:r}=this.props;return r?`${e} ${t.get("twint.saved")}`:e||this.constructor.type}payButtonLabel(){const{i18n:t,amount:e,isStoredPaymentMethod:n,name:o}=this.props;return n?r(t,e):`${t.get("continueTo")} ${o}`}constructor(...t){super(...t),i(this,"payButton",t=>n(e,s(function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),n.forEach(function(e){i(t,e,r[e])})}return t}({},t),{label:this.payButtonLabel(),onClick:this.submit})))}}i(c,"type",o.twint),i(c,"defaultProps",{type:c.type,name:"Twint"});export{c as default};
2
2
  //# sourceMappingURL=Twint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Twint.js","sources":["../../../../src/components/Twint/Twint.tsx"],"sourcesContent":["import RedirectElement from '../Redirect';\nimport PayButton, { payAmountLabel } from '../internal/PayButton';\nimport { h } from 'preact';\nimport { TxVariants } from '../tx-variants';\n\nclass TwintElement extends RedirectElement {\n public static type = TxVariants.twint;\n\n public static defaultProps = {\n type: TwintElement.type,\n name: 'Twint'\n };\n /**\n * Get the element displayable name\n */\n get displayName(): string {\n const { i18n, name, isStoredPaymentMethod } = this.props;\n return isStoredPaymentMethod ? `${name} ${i18n.get('twint.saved')}` : name || this.constructor['type'];\n }\n\n public payButtonLabel() {\n const { i18n, amount, isStoredPaymentMethod, name } = this.props;\n if (isStoredPaymentMethod) return payAmountLabel(i18n, amount);\n return `${i18n.get('continueTo')} ${name}`;\n }\n\n /**\n * Overrides RedirectElement default payButton behaviour to use label\n * @param props - props\n */\n public payButton = props => {\n return <PayButton {...props} label={this.payButtonLabel()} onClick={this.submit} />;\n };\n}\n\nexport default TwintElement;\n"],"names":["TwintElement","RedirectElement","displayName","i18n","name","isStoredPaymentMethod","this","props","get","constructor","payButtonLabel","amount","payAmountLabel","super","args","_define_property","payButton","h","PayButton","label","onClick","submit","type","TxVariants","twint","defaultProps"],"mappings":"kvBAKA,MAAMA,UAAqBC,EAUvB,eAAIC,GACA,MAAMC,KAAEA,EAAIC,KAAEA,EAAIC,sBAAEA,GAA0BC,KAAKC,MACnD,OAAOF,EAAwB,GAAGD,KAAQD,EAAKK,IAAI,iBAAmBJ,GAAQE,KAAKG,YAAY,IACnG,CAEOC,cAAAA,GACH,MAAMP,KAAEA,EAAIQ,OAAEA,EAAMN,sBAAEA,EAAqBD,KAAEA,GAASE,KAAKC,MAC3D,OAAIF,EAA8BO,EAAeT,EAAMQ,GAChD,GAAGR,EAAKK,IAAI,iBAAiBJ,GACxC,mBAnBJS,SAAAC,GAyBIC,EAAAT,KAAOU,YAAYT,GACRU,EAACC,EAAAA,oUAAAA,CAAAA,CAAAA,EAAcX,GAAAA,CAAOY,MAAOb,KAAKI,iBAAkBU,QAASd,KAAKe,YAzB7EN,EADEf,EACYsB,OAAOC,EAAWC,OAEhCT,EAHEf,EAGYyB,eAAe,CACzBH,KAAMtB,EAAasB,KACnBlB,KAAM"}
1
+ {"version":3,"file":"Twint.js","sources":["../../../../src/components/Twint/Twint.tsx"],"sourcesContent":["import RedirectElement from '../Redirect';\nimport PayButton from '../internal/PayButton';\nimport { payAmountLabel } from '../internal/PayButton/utils';\nimport { h } from 'preact';\nimport { TxVariants } from '../tx-variants';\nimport { PayButtonProps } from '../internal/PayButton/PayButton';\n\nclass TwintElement extends RedirectElement {\n public static type = TxVariants.twint;\n\n public static defaultProps = {\n type: TwintElement.type,\n name: 'Twint'\n };\n /**\n * Get the element displayable name\n */\n get displayName(): string {\n const { i18n, name, isStoredPaymentMethod } = this.props;\n return isStoredPaymentMethod ? `${name} ${i18n.get('twint.saved')}` : name || this.constructor['type'];\n }\n\n public payButtonLabel() {\n const { i18n, amount, isStoredPaymentMethod, name } = this.props;\n if (isStoredPaymentMethod) return payAmountLabel(i18n, amount);\n return `${i18n.get('continueTo')} ${name}`;\n }\n\n /**\n * Overrides RedirectElement default payButton behaviour to use label\n * @param props - props\n */\n protected override payButton = (props: PayButtonProps): h.JSX.Element => {\n return <PayButton {...props} label={this.payButtonLabel()} onClick={this.submit} />;\n };\n}\n\nexport default TwintElement;\n"],"names":["TwintElement","RedirectElement","displayName","i18n","name","isStoredPaymentMethod","this","props","get","constructor","payButtonLabel","amount","payAmountLabel","super","args","_define_property","payButton","h","PayButton","label","onClick","submit","type","TxVariants","twint","defaultProps"],"mappings":"kvBAOA,MAAMA,UAAqBC,EAUvB,eAAIC,GACA,MAAMC,KAAEA,EAAIC,KAAEA,EAAIC,sBAAEA,GAA0BC,KAAKC,MACnD,OAAOF,EAAwB,GAAGD,KAAQD,EAAKK,IAAI,iBAAmBJ,GAAQE,KAAKG,YAAY,IACnG,CAEOC,cAAAA,GACH,MAAMP,KAAEA,EAAIQ,OAAEA,EAAMN,sBAAEA,EAAqBD,KAAEA,GAASE,KAAKC,MAC3D,OAAIF,EAA8BO,EAAeT,EAAMQ,GAChD,GAAGR,EAAKK,IAAI,iBAAiBJ,GACxC,mBAnBJS,SAAAC,GAyBIC,EAAAT,KAAmBU,YAAaT,GACrBU,EAACC,EAAAA,oUAAAA,CAAAA,CAAAA,EAAcX,GAAAA,CAAOY,MAAOb,KAAKI,iBAAkBU,QAASd,KAAKe,YAzB7EN,EADEf,EACYsB,OAAOC,EAAWC,OAEhCT,EAHEf,EAGYyB,eAAe,CACzBH,KAAMtB,EAAasB,KACnBlB,KAAM"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./components/UPIComponent/UPIComponent.js";import{Await as r}from"../internal/Await/Await.js";import{QRLoader as n}from"../internal/QRLoader/QRLoader.js";import"../../core/Context/CoreProvider.js";import"../../external/preact/hooks/dist/hooks.js";import"../../core/Errors/AdyenCheckoutError.js";import"../../core/Errors/SRPanelContext.js";import"../internal/Button/Button.js";import"../internal/QRLoader/QRLoaderDetailsProvider.js";import{TxVariants as s}from"../tx-variants.js";import i from"../../utils/isMobile.js";import{getQrOption as p,getVpaOption as a,getIntentOption as d}from"./constants.js";function u(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function l(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable}))),r.forEach(function(e){u(t,e,o[e])})}return t}function c(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e.push.apply(e,o)}return e}(Object(e)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(e,o))}),t}class m extends e{formatProps(t){if(!i())return c(l({},super.formatProps(t)),{defaultMode:["qrCode","vpa"].includes(null==t?void 0:t.defaultMode)?t.defaultMode:"qrCode",apps:[],segmentedControlOptions:[p(t.i18n),a(t.i18n)]});const{i18n:e,apps:o=[]}=t;if(o.length>0){const r=["intent","vpa"].includes(t.defaultMode)?t.defaultMode:"intent";return c(l({},super.formatProps(t)),{defaultMode:r,apps:o,segmentedControlOptions:[d(e),a(e)]})}return c(l({},super.formatProps(t)),{defaultMode:"vpa",apps:[],segmentedControlOptions:[]})}get isValid(){return this.state.isValid}formatData(){const{virtualPaymentAddress:t,app:e}=this.state.data||{};return{paymentMethod:l({type:this.paymentType},this.paymentType===s.upi_collect&&t&&{virtualPaymentAddress:t},this.paymentType===s.upi_intent&&(null==e?void 0:e.id)&&{appId:e.id})}}get paymentType(){return"qrCode"===this.selectedMode?s.upi_qr:"vpa"===this.selectedMode?s.upi_collect:s.upi_intent}componentToRender(){const{type:e,url:i,paymentMethodType:p}=this.props,a=!!this.props.mandate;switch(e){case"qrCode":var d;return t(n,c(l({},this.props),{qrCodeData:this.props.qrCodeData?encodeURIComponent(this.props.qrCodeData):null,type:s.upi_qr,brandLogo:this.props.brandLogo||this.icon,onComplete:this.onComplete,introduction:this.props.i18n.get("upi.qrCodeWaitingMessage"),countdownTime:null!==(d=this.props.countdownTime)&&void 0!==d?d:5,onActionHandled:this.onActionHandled,showAmount:!a}));case"await":var u;return t(r,{url:i,type:p,showCountdownTimer:!0,shouldRedirectAutomatically:!0,showAmount:!a,countdownTime:null!==(u=this.props.countdownTime)&&void 0!==u?u:5,clientKey:this.props.clientKey,paymentData:this.props.paymentData,onActionHandled:this.onActionHandled,onError:this.props.onError,messageText:this.props.i18n.get("upi.vpaWaitingMessage"),awaitText:this.props.i18n.get("await.waitForConfirmation"),onComplete:this.onComplete,brandLogo:this.icon,amount:this.props.amount});default:return t(o,{ref:t=>{this.componentRef=t},payButton:this.payButton,onChange:this.setState,onUpdateMode:this.onUpdateMode,apps:this.props.apps,segmentedControlOptions:this.props.segmentedControlOptions,defaultMode:this.props.defaultMode,showPayButton:this.props.showPayButton,amount:this.props.amount,mandate:this.props.mandate})}}constructor(t,e){super(t,e),u(this,"selectedMode",void 0),u(this,"onUpdateMode",t=>{this.selectedMode=t}),this.selectedMode=this.props.defaultMode}}u(m,"type",s.upi),u(m,"txVariants",[s.upi,s.upi_qr,s.upi_collect,s.upi_intent]);export{m as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./components/UPIComponent/UPIComponent.js";import{Await as r}from"../internal/Await/Await.js";import{QRLoader as n}from"../internal/QRLoader/QRLoader.js";import"../../core/Context/CoreProvider.js";import"../../external/preact/hooks/dist/hooks.js";import"../../core/Errors/AdyenCheckoutError.js";import"../../core/Errors/SRPanelContext.js";import"../internal/Button/Button.js";import"../internal/QRLoader/QRLoaderDetailsProvider.js";import{TxVariants as i}from"../tx-variants.js";import s from"../../utils/isMobile.js";import{UPI_MODE as p}from"./constants.js";function a(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function c(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable}))),r.forEach(function(e){a(t,e,o[e])})}return t}function u(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e.push.apply(e,o)}return e}(Object(e)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(e,o))}),t}class m extends e{formatProps(t){const{apps:e=[]}=t,o=e.length>0;return s()&&o?u(c({},super.formatProps(t)),{apps:e}):(this.mode=p.QR_CODE,u(c({},super.formatProps(t)),{apps:[]}))}get isValid(){return this.state.isValid}formatData(){const{app:t}=this.state.data||{};return{paymentMethod:c({type:this.paymentType},this.paymentType===i.upi_intent&&(null==t?void 0:t.id)&&{appId:t.id})}}get paymentType(){return this.mode===p.QR_CODE?i.upi_qr:i.upi_intent}componentToRender(){const{type:e,url:s,paymentMethodType:p}=this.props,a=!!this.props.mandate;switch(e){case"qrCode":var m;return t(n,u(c({},this.props),{qrCodeData:this.props.qrCodeData?encodeURIComponent(this.props.qrCodeData):null,type:i.upi_qr,brandLogo:this.props.brandLogo||this.icon,onComplete:this.onComplete,introduction:this.props.i18n.get("upi.qrCodeWaitingMessage"),countdownTime:null!==(m=this.props.countdownTime)&&void 0!==m?m:5,onActionHandled:this.onActionHandled,showAmount:!a}));case"await":var d;return t(r,{url:s,type:p,showCountdownTimer:!0,shouldRedirectAutomatically:!0,showAmount:!a,countdownTime:null!==(d=this.props.countdownTime)&&void 0!==d?d:5,clientKey:this.props.clientKey,paymentData:this.props.paymentData,onActionHandled:this.onActionHandled,onError:this.props.onError,messageText:this.props.i18n.get("upi.vpaWaitingMessage"),awaitText:this.props.i18n.get("await.waitForConfirmation"),onComplete:this.onComplete,brandLogo:this.icon});default:return t(o,{ref:t=>{this.componentRef=t},payButton:this.payButton,onChange:this.setState,apps:this.props.apps,mode:this.mode,showPayButton:this.props.showPayButton,mandate:this.props.mandate})}}constructor(t,e){super(t,e),a(this,"mode",void 0);const{defaultMode:o}=e;o&&console.warn('[Adyen Checkout] UPI configuration property "defaultMode" is deprecated and will be removed in a future version.'),this.mode=s()?p.INTENT:p.QR_CODE}}a(m,"type",i.upi),a(m,"txVariants",[i.upi,i.upi_qr,i.upi_intent]);export{m as default};
2
2
  //# sourceMappingURL=UPI.js.map