@adyen/adyen-web 6.45.1 → 6.46.0-alpha.7c7199d

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 (344) hide show
  1. package/dist/cjs/adyen.css +7 -7
  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 +136 -71
  6. package/dist/es/adyen.css +7 -7
  7. package/dist/es/adyen.css.map +1 -1
  8. package/dist/es/components/ANCV/ANCV.js +1 -1
  9. package/dist/es/components/ANCV/ANCV.js.map +1 -1
  10. package/dist/es/components/ANCV/components/ANCVInput.js +1 -1
  11. package/dist/es/components/ANCV/components/ANCVInput.js.map +1 -1
  12. package/dist/es/components/Ach/Ach.js +1 -1
  13. package/dist/es/components/Ach/Ach.js.map +1 -1
  14. package/dist/es/components/Ach/components/AchComponent.js +1 -1
  15. package/dist/es/components/Ach/components/AchComponent.js.map +1 -1
  16. package/dist/es/components/Ach/components/useSRPanelForACHErrors.js.map +1 -1
  17. package/dist/es/components/AmazonPay/AmazonPay.js +1 -1
  18. package/dist/es/components/AmazonPay/AmazonPay.js.map +1 -1
  19. package/dist/es/components/ApplePay/ApplePay.js.map +1 -1
  20. package/dist/es/components/BacsDD/BacsDD.js +1 -1
  21. package/dist/es/components/BacsDD/BacsDD.js.map +1 -1
  22. package/dist/es/components/BacsDD/components/BacsInput.js +1 -1
  23. package/dist/es/components/BacsDD/components/BacsInput.js.map +1 -1
  24. package/dist/es/components/BankTransfer/BankTransfer.js +1 -1
  25. package/dist/es/components/BankTransfer/BankTransfer.js.map +1 -1
  26. package/dist/es/components/Blik/Blik.js +1 -1
  27. package/dist/es/components/Blik/Blik.js.map +1 -1
  28. package/dist/es/components/Blik/components/BlikInput.js +1 -1
  29. package/dist/es/components/Blik/components/BlikInput.js.map +1 -1
  30. package/dist/es/components/Boleto/components/BoletoInput/BoletoInput.js +1 -1
  31. package/dist/es/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
  32. package/dist/es/components/Card/Card.js +1 -1
  33. package/dist/es/components/Card/Card.js.map +1 -1
  34. package/dist/es/components/Card/components/CardInput/CardInput.js +1 -1
  35. package/dist/es/components/Card/components/CardInput/CardInput.js.map +1 -1
  36. package/dist/es/components/Card/components/CardInput/components/CardFieldsWrapper.js +1 -1
  37. package/dist/es/components/Card/components/CardInput/components/CardFieldsWrapper.js.map +1 -1
  38. package/dist/es/components/Card/components/CardInput/components/StoredCardFieldsWrapper.js +1 -1
  39. package/dist/es/components/Card/components/CardInput/components/StoredCardFieldsWrapper.js.map +1 -1
  40. package/dist/es/components/Card/components/CardInput/types.js.map +1 -1
  41. package/dist/es/components/Card/components/CardInput/utils.js +1 -1
  42. package/dist/es/components/Card/components/CardInput/utils.js.map +1 -1
  43. package/dist/es/components/CashAppPay/CashAppPay.js +1 -1
  44. package/dist/es/components/CashAppPay/CashAppPay.js.map +1 -1
  45. package/dist/es/components/CustomCard/CustomCard.js +1 -1
  46. package/dist/es/components/CustomCard/CustomCard.js.map +1 -1
  47. package/dist/es/components/Doku/components/DokuInput/DokuInput.js +1 -1
  48. package/dist/es/components/Doku/components/DokuInput/DokuInput.js.map +1 -1
  49. package/dist/es/components/Dragonpay/Dragonpay.js +1 -1
  50. package/dist/es/components/Dragonpay/Dragonpay.js.map +1 -1
  51. package/dist/es/components/Dragonpay/components/DragonpayInput/DragonpayInput.js +1 -1
  52. package/dist/es/components/Dragonpay/components/DragonpayInput/DragonpayInput.js.map +1 -1
  53. package/dist/es/components/Dropin/Dropin.js +1 -1
  54. package/dist/es/components/Dropin/Dropin.js.map +1 -1
  55. package/dist/es/components/Econtext/Econtext.js +1 -1
  56. package/dist/es/components/Econtext/Econtext.js.map +1 -1
  57. package/dist/es/components/Econtext/components/EcontextInput/EcontextInput.js +1 -1
  58. package/dist/es/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
  59. package/dist/es/components/Giftcard/Giftcard.js +1 -1
  60. package/dist/es/components/Giftcard/Giftcard.js.map +1 -1
  61. package/dist/es/components/Giftcard/components/GiftcardComponent.js +1 -1
  62. package/dist/es/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  63. package/dist/es/components/Giftcard/components/GiftcardResult.js +1 -1
  64. package/dist/es/components/Giftcard/components/GiftcardResult.js.map +1 -1
  65. package/dist/es/components/Giropay/Giropay.js +1 -1
  66. package/dist/es/components/Giropay/Giropay.js.map +1 -1
  67. package/dist/es/components/Iris/Iris.js +1 -1
  68. package/dist/es/components/Iris/Iris.js.map +1 -1
  69. package/dist/es/components/Iris/components/IrisComponent.js +1 -1
  70. package/dist/es/components/Iris/components/IrisComponent.js.map +1 -1
  71. package/dist/es/components/Iris/components/IrisGenerateQRCode.js +1 -1
  72. package/dist/es/components/Iris/components/IrisGenerateQRCode.js.map +1 -1
  73. package/dist/es/components/Klarna/KlarnaPayments.js +1 -1
  74. package/dist/es/components/Klarna/KlarnaPayments.js.map +1 -1
  75. package/dist/es/components/Klarna/components/KlarnaContainer/KlarnaContainer.js +1 -1
  76. package/dist/es/components/Klarna/components/KlarnaContainer/KlarnaContainer.js.map +1 -1
  77. package/dist/es/components/MBWay/components/MBWayInput/MBWayInput.js +1 -1
  78. package/dist/es/components/MBWay/components/MBWayInput/MBWayInput.js.map +1 -1
  79. package/dist/es/components/Multibanco/Multibanco.js +1 -1
  80. package/dist/es/components/Multibanco/Multibanco.js.map +1 -1
  81. package/dist/es/components/Oxxo/Oxxo.js +1 -1
  82. package/dist/es/components/Oxxo/Oxxo.js.map +1 -1
  83. package/dist/es/components/PayByBankPix/PayByBankPix.js +1 -1
  84. package/dist/es/components/PayByBankPix/PayByBankPix.js.map +1 -1
  85. package/dist/es/components/PayByBankPix/components/Enrollment/Enrollment.js +1 -1
  86. package/dist/es/components/PayByBankPix/components/Enrollment/Enrollment.js.map +1 -1
  87. package/dist/es/components/PayByBankUS/PayByBankUS.js +1 -1
  88. package/dist/es/components/PayByBankUS/PayByBankUS.js.map +1 -1
  89. package/dist/es/components/PayPal/Paypal.js +1 -1
  90. package/dist/es/components/PayPal/Paypal.js.map +1 -1
  91. package/dist/es/components/PayPalFastlane/Fastlane.js +1 -1
  92. package/dist/es/components/PayPalFastlane/Fastlane.js.map +1 -1
  93. package/dist/es/components/PayPalFastlane/components/FastlaneComponent.js +1 -1
  94. package/dist/es/components/PayPalFastlane/components/FastlaneComponent.js.map +1 -1
  95. package/dist/es/components/PayTo/PayTo.js +1 -1
  96. package/dist/es/components/PayTo/PayTo.js.map +1 -1
  97. package/dist/es/components/PayTo/components/PayToComponent.js +1 -1
  98. package/dist/es/components/PayTo/components/PayToComponent.js.map +1 -1
  99. package/dist/es/components/Pix/Pix.js +1 -1
  100. package/dist/es/components/Pix/Pix.js.map +1 -1
  101. package/dist/es/components/Pix/components/PixInput/PixInput.js +1 -1
  102. package/dist/es/components/Pix/components/PixInput/PixInput.js.map +1 -1
  103. package/dist/es/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js +1 -1
  104. package/dist/es/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js.map +1 -1
  105. package/dist/es/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js +1 -1
  106. package/dist/es/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js.map +1 -1
  107. package/dist/es/components/Redirect/Redirect.js +1 -1
  108. package/dist/es/components/Redirect/Redirect.js.map +1 -1
  109. package/dist/es/components/Trustly/Trustly.js +1 -1
  110. package/dist/es/components/Trustly/Trustly.js.map +1 -1
  111. package/dist/es/components/UPI/UPI.js +1 -1
  112. package/dist/es/components/UPI/UPI.js.map +1 -1
  113. package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
  114. package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
  115. package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js +1 -1
  116. package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  117. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  118. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  119. package/dist/es/components/internal/Address/components/CountryField.js.map +1 -1
  120. package/dist/es/components/internal/Address/components/FieldContainer.js +1 -1
  121. package/dist/es/components/internal/Address/components/FieldContainer.js.map +1 -1
  122. package/dist/es/components/internal/Address/components/StateField.js.map +1 -1
  123. package/dist/es/components/internal/Address/constants.js +1 -1
  124. package/dist/es/components/internal/Address/constants.js.map +1 -1
  125. package/dist/es/components/internal/Address/validate.formats.js +1 -1
  126. package/dist/es/components/internal/Address/validate.formats.js.map +1 -1
  127. package/dist/es/components/internal/Address/validate.js +1 -1
  128. package/dist/es/components/internal/Address/validate.js.map +1 -1
  129. package/dist/es/components/internal/BaseElement/BaseElement.js +1 -1
  130. package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
  131. package/dist/es/components/internal/DisclaimerMessage/DisclaimerMessage.js +1 -1
  132. package/dist/es/components/internal/DisclaimerMessage/DisclaimerMessage.js.map +1 -1
  133. package/dist/es/components/internal/DisclaimerMessage/utils.js +2 -0
  134. package/dist/es/components/internal/DisclaimerMessage/utils.js.map +1 -0
  135. package/dist/es/components/internal/FormFields/utils.js +1 -1
  136. package/dist/es/components/internal/FormFields/utils.js.map +1 -1
  137. package/dist/es/components/internal/IbanInput/IbanInput.js +1 -1
  138. package/dist/es/components/internal/IbanInput/IbanInput.js.map +1 -1
  139. package/dist/es/components/internal/IssuerList/IssuerList.js +1 -1
  140. package/dist/es/components/internal/IssuerList/IssuerList.js.map +1 -1
  141. package/dist/es/components/internal/OpenInvoice/OpenInvoice.js +1 -1
  142. package/dist/es/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
  143. package/dist/es/components/internal/OpenInvoice/useSRPanelForOpenInvoiceErrors.js +1 -1
  144. package/dist/es/components/internal/OpenInvoice/useSRPanelForOpenInvoiceErrors.js.map +1 -1
  145. package/dist/es/components/internal/PayButton/PayButton.js +1 -1
  146. package/dist/es/components/internal/PayButton/PayButton.js.map +1 -1
  147. package/dist/es/components/internal/PhoneInput/usePhonePrefixes.js.map +1 -1
  148. package/dist/es/components/internal/RedirectButton/RedirectButton.js +1 -1
  149. package/dist/es/components/internal/RedirectButton/RedirectButton.js.map +1 -1
  150. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
  151. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  152. package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
  153. package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
  154. package/dist/es/components/internal/UIElement/UIElement.js +1 -1
  155. package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
  156. package/dist/es/core/Analytics/events/AnalyticsInfoEvent.js +1 -1
  157. package/dist/es/core/Analytics/events/AnalyticsInfoEvent.js.map +1 -1
  158. package/dist/es/core/Errors/AdyenCheckoutError.js.map +1 -1
  159. package/dist/es/core/Errors/SRPanelProvider.js.map +1 -1
  160. package/dist/es/core/RiskModule/RiskModule.js +1 -1
  161. package/dist/es/core/RiskModule/RiskModule.js.map +1 -1
  162. package/dist/es/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.js.map +1 -1
  163. package/dist/es/core/Services/get-dataset.js.map +1 -1
  164. package/dist/es/core/Services/http.js +1 -1
  165. package/dist/es/core/Services/http.js.map +1 -1
  166. package/dist/es/core/config.js +1 -1
  167. package/dist/es/core/config.js.map +1 -1
  168. package/dist/es/core/core.js.map +1 -1
  169. package/dist/es/core/core.registry.js +1 -1
  170. package/dist/es/core/core.registry.js.map +1 -1
  171. package/dist/es/core/utils.js +1 -1
  172. package/dist/es/core/utils.js.map +1 -1
  173. package/dist/es/index.d.ts +136 -71
  174. package/dist/es/packages/server/translations/en-US.json.js +1 -1
  175. package/dist/es-legacy/adyen.css +7 -7
  176. package/dist/es-legacy/adyen.css.map +1 -1
  177. package/dist/es-legacy/components/ANCV/ANCV.js +1 -1
  178. package/dist/es-legacy/components/ANCV/ANCV.js.map +1 -1
  179. package/dist/es-legacy/components/ANCV/components/ANCVInput.js +1 -1
  180. package/dist/es-legacy/components/ANCV/components/ANCVInput.js.map +1 -1
  181. package/dist/es-legacy/components/Ach/Ach.js +1 -1
  182. package/dist/es-legacy/components/Ach/Ach.js.map +1 -1
  183. package/dist/es-legacy/components/Ach/components/AchComponent.js +1 -1
  184. package/dist/es-legacy/components/Ach/components/AchComponent.js.map +1 -1
  185. package/dist/es-legacy/components/Ach/components/useSRPanelForACHErrors.js.map +1 -1
  186. package/dist/es-legacy/components/AmazonPay/AmazonPay.js +1 -1
  187. package/dist/es-legacy/components/AmazonPay/AmazonPay.js.map +1 -1
  188. package/dist/es-legacy/components/ApplePay/ApplePay.js.map +1 -1
  189. package/dist/es-legacy/components/BacsDD/BacsDD.js +1 -1
  190. package/dist/es-legacy/components/BacsDD/BacsDD.js.map +1 -1
  191. package/dist/es-legacy/components/BacsDD/components/BacsInput.js +1 -1
  192. package/dist/es-legacy/components/BacsDD/components/BacsInput.js.map +1 -1
  193. package/dist/es-legacy/components/BankTransfer/BankTransfer.js +1 -1
  194. package/dist/es-legacy/components/BankTransfer/BankTransfer.js.map +1 -1
  195. package/dist/es-legacy/components/Blik/Blik.js +1 -1
  196. package/dist/es-legacy/components/Blik/Blik.js.map +1 -1
  197. package/dist/es-legacy/components/Blik/components/BlikInput.js +1 -1
  198. package/dist/es-legacy/components/Blik/components/BlikInput.js.map +1 -1
  199. package/dist/es-legacy/components/Boleto/components/BoletoInput/BoletoInput.js +1 -1
  200. package/dist/es-legacy/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
  201. package/dist/es-legacy/components/Card/Card.js +1 -1
  202. package/dist/es-legacy/components/Card/Card.js.map +1 -1
  203. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js +1 -1
  204. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js.map +1 -1
  205. package/dist/es-legacy/components/Card/components/CardInput/components/CardFieldsWrapper.js +1 -1
  206. package/dist/es-legacy/components/Card/components/CardInput/components/CardFieldsWrapper.js.map +1 -1
  207. package/dist/es-legacy/components/Card/components/CardInput/components/StoredCardFieldsWrapper.js +1 -1
  208. package/dist/es-legacy/components/Card/components/CardInput/components/StoredCardFieldsWrapper.js.map +1 -1
  209. package/dist/es-legacy/components/Card/components/CardInput/types.js.map +1 -1
  210. package/dist/es-legacy/components/Card/components/CardInput/utils.js +1 -1
  211. package/dist/es-legacy/components/Card/components/CardInput/utils.js.map +1 -1
  212. package/dist/es-legacy/components/CashAppPay/CashAppPay.js +1 -1
  213. package/dist/es-legacy/components/CashAppPay/CashAppPay.js.map +1 -1
  214. package/dist/es-legacy/components/CustomCard/CustomCard.js +1 -1
  215. package/dist/es-legacy/components/CustomCard/CustomCard.js.map +1 -1
  216. package/dist/es-legacy/components/Doku/components/DokuInput/DokuInput.js +1 -1
  217. package/dist/es-legacy/components/Doku/components/DokuInput/DokuInput.js.map +1 -1
  218. package/dist/es-legacy/components/Dragonpay/Dragonpay.js +1 -1
  219. package/dist/es-legacy/components/Dragonpay/Dragonpay.js.map +1 -1
  220. package/dist/es-legacy/components/Dragonpay/components/DragonpayInput/DragonpayInput.js +1 -1
  221. package/dist/es-legacy/components/Dragonpay/components/DragonpayInput/DragonpayInput.js.map +1 -1
  222. package/dist/es-legacy/components/Dropin/Dropin.js +1 -1
  223. package/dist/es-legacy/components/Dropin/Dropin.js.map +1 -1
  224. package/dist/es-legacy/components/Econtext/Econtext.js +1 -1
  225. package/dist/es-legacy/components/Econtext/Econtext.js.map +1 -1
  226. package/dist/es-legacy/components/Econtext/components/EcontextInput/EcontextInput.js +1 -1
  227. package/dist/es-legacy/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
  228. package/dist/es-legacy/components/Giftcard/Giftcard.js +1 -1
  229. package/dist/es-legacy/components/Giftcard/Giftcard.js.map +1 -1
  230. package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js +1 -1
  231. package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  232. package/dist/es-legacy/components/Giftcard/components/GiftcardResult.js +1 -1
  233. package/dist/es-legacy/components/Giftcard/components/GiftcardResult.js.map +1 -1
  234. package/dist/es-legacy/components/Giropay/Giropay.js +1 -1
  235. package/dist/es-legacy/components/Giropay/Giropay.js.map +1 -1
  236. package/dist/es-legacy/components/Iris/Iris.js +1 -1
  237. package/dist/es-legacy/components/Iris/Iris.js.map +1 -1
  238. package/dist/es-legacy/components/Iris/components/IrisComponent.js +1 -1
  239. package/dist/es-legacy/components/Iris/components/IrisComponent.js.map +1 -1
  240. package/dist/es-legacy/components/Iris/components/IrisGenerateQRCode.js +1 -1
  241. package/dist/es-legacy/components/Iris/components/IrisGenerateQRCode.js.map +1 -1
  242. package/dist/es-legacy/components/Klarna/KlarnaPayments.js +1 -1
  243. package/dist/es-legacy/components/Klarna/KlarnaPayments.js.map +1 -1
  244. package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js +1 -1
  245. package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js.map +1 -1
  246. package/dist/es-legacy/components/MBWay/components/MBWayInput/MBWayInput.js +1 -1
  247. package/dist/es-legacy/components/MBWay/components/MBWayInput/MBWayInput.js.map +1 -1
  248. package/dist/es-legacy/components/Multibanco/Multibanco.js +1 -1
  249. package/dist/es-legacy/components/Multibanco/Multibanco.js.map +1 -1
  250. package/dist/es-legacy/components/Oxxo/Oxxo.js +1 -1
  251. package/dist/es-legacy/components/Oxxo/Oxxo.js.map +1 -1
  252. package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js +1 -1
  253. package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js.map +1 -1
  254. package/dist/es-legacy/components/PayByBankPix/components/Enrollment/Enrollment.js +1 -1
  255. package/dist/es-legacy/components/PayByBankPix/components/Enrollment/Enrollment.js.map +1 -1
  256. package/dist/es-legacy/components/PayByBankUS/PayByBankUS.js +1 -1
  257. package/dist/es-legacy/components/PayByBankUS/PayByBankUS.js.map +1 -1
  258. package/dist/es-legacy/components/PayPal/Paypal.js +1 -1
  259. package/dist/es-legacy/components/PayPal/Paypal.js.map +1 -1
  260. package/dist/es-legacy/components/PayPalFastlane/Fastlane.js +1 -1
  261. package/dist/es-legacy/components/PayPalFastlane/Fastlane.js.map +1 -1
  262. package/dist/es-legacy/components/PayPalFastlane/components/FastlaneComponent.js +1 -1
  263. package/dist/es-legacy/components/PayPalFastlane/components/FastlaneComponent.js.map +1 -1
  264. package/dist/es-legacy/components/PayTo/PayTo.js +1 -1
  265. package/dist/es-legacy/components/PayTo/PayTo.js.map +1 -1
  266. package/dist/es-legacy/components/PayTo/components/PayToComponent.js +1 -1
  267. package/dist/es-legacy/components/PayTo/components/PayToComponent.js.map +1 -1
  268. package/dist/es-legacy/components/Pix/Pix.js +1 -1
  269. package/dist/es-legacy/components/Pix/Pix.js.map +1 -1
  270. package/dist/es-legacy/components/Pix/components/PixInput/PixInput.js +1 -1
  271. package/dist/es-legacy/components/Pix/components/PixInput/PixInput.js.map +1 -1
  272. package/dist/es-legacy/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js +1 -1
  273. package/dist/es-legacy/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js.map +1 -1
  274. package/dist/es-legacy/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js +1 -1
  275. package/dist/es-legacy/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js.map +1 -1
  276. package/dist/es-legacy/components/Redirect/Redirect.js +1 -1
  277. package/dist/es-legacy/components/Redirect/Redirect.js.map +1 -1
  278. package/dist/es-legacy/components/Trustly/Trustly.js +1 -1
  279. package/dist/es-legacy/components/Trustly/Trustly.js.map +1 -1
  280. package/dist/es-legacy/components/UPI/UPI.js +1 -1
  281. package/dist/es-legacy/components/UPI/UPI.js.map +1 -1
  282. package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
  283. package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
  284. package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js +1 -1
  285. package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  286. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  287. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  288. package/dist/es-legacy/components/internal/Address/components/CountryField.js.map +1 -1
  289. package/dist/es-legacy/components/internal/Address/components/FieldContainer.js +1 -1
  290. package/dist/es-legacy/components/internal/Address/components/FieldContainer.js.map +1 -1
  291. package/dist/es-legacy/components/internal/Address/components/StateField.js.map +1 -1
  292. package/dist/es-legacy/components/internal/Address/constants.js +1 -1
  293. package/dist/es-legacy/components/internal/Address/constants.js.map +1 -1
  294. package/dist/es-legacy/components/internal/Address/validate.formats.js +1 -1
  295. package/dist/es-legacy/components/internal/Address/validate.formats.js.map +1 -1
  296. package/dist/es-legacy/components/internal/Address/validate.js +1 -1
  297. package/dist/es-legacy/components/internal/Address/validate.js.map +1 -1
  298. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js +1 -1
  299. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
  300. package/dist/es-legacy/components/internal/DisclaimerMessage/DisclaimerMessage.js +1 -1
  301. package/dist/es-legacy/components/internal/DisclaimerMessage/DisclaimerMessage.js.map +1 -1
  302. package/dist/es-legacy/components/internal/DisclaimerMessage/utils.js +2 -0
  303. package/dist/es-legacy/components/internal/DisclaimerMessage/utils.js.map +1 -0
  304. package/dist/es-legacy/components/internal/FormFields/utils.js +1 -1
  305. package/dist/es-legacy/components/internal/FormFields/utils.js.map +1 -1
  306. package/dist/es-legacy/components/internal/IbanInput/IbanInput.js +1 -1
  307. package/dist/es-legacy/components/internal/IbanInput/IbanInput.js.map +1 -1
  308. package/dist/es-legacy/components/internal/IssuerList/IssuerList.js +1 -1
  309. package/dist/es-legacy/components/internal/IssuerList/IssuerList.js.map +1 -1
  310. package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js +1 -1
  311. package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
  312. package/dist/es-legacy/components/internal/OpenInvoice/useSRPanelForOpenInvoiceErrors.js +1 -1
  313. package/dist/es-legacy/components/internal/OpenInvoice/useSRPanelForOpenInvoiceErrors.js.map +1 -1
  314. package/dist/es-legacy/components/internal/PayButton/PayButton.js +1 -1
  315. package/dist/es-legacy/components/internal/PayButton/PayButton.js.map +1 -1
  316. package/dist/es-legacy/components/internal/PhoneInput/usePhonePrefixes.js.map +1 -1
  317. package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js +1 -1
  318. package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js.map +1 -1
  319. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
  320. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  321. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
  322. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
  323. package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
  324. package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
  325. package/dist/es-legacy/core/Analytics/events/AnalyticsInfoEvent.js +1 -1
  326. package/dist/es-legacy/core/Analytics/events/AnalyticsInfoEvent.js.map +1 -1
  327. package/dist/es-legacy/core/Errors/AdyenCheckoutError.js.map +1 -1
  328. package/dist/es-legacy/core/Errors/SRPanelProvider.js.map +1 -1
  329. package/dist/es-legacy/core/RiskModule/RiskModule.js +1 -1
  330. package/dist/es-legacy/core/RiskModule/RiskModule.js.map +1 -1
  331. package/dist/es-legacy/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.js.map +1 -1
  332. package/dist/es-legacy/core/Services/get-dataset.js.map +1 -1
  333. package/dist/es-legacy/core/Services/http.js +1 -1
  334. package/dist/es-legacy/core/Services/http.js.map +1 -1
  335. package/dist/es-legacy/core/config.js +1 -1
  336. package/dist/es-legacy/core/config.js.map +1 -1
  337. package/dist/es-legacy/core/core.js.map +1 -1
  338. package/dist/es-legacy/core/core.registry.js +1 -1
  339. package/dist/es-legacy/core/core.registry.js.map +1 -1
  340. package/dist/es-legacy/core/utils.js +1 -1
  341. package/dist/es-legacy/core/utils.js.map +1 -1
  342. package/dist/es-legacy/packages/server/translations/en-US.json.js +1 -1
  343. package/package.json +11 -11
  344. package/styles/adyen.css +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"Pix.js","sources":["../../../../src/components/Pix/Pix.tsx"],"sourcesContent":["import { h } from 'preact';\nimport QRLoaderContainer from '../helpers/QRLoaderContainer/QRLoaderContainer';\nimport PixInput from './components/PixInput';\nimport { cleanCPFCNPJ } from '../internal/SocialSecurityNumberBrazil/utils';\nimport { PixElementData, PixConfiguration } from './types';\nimport { TxVariants } from '../tx-variants';\nimport { QRLoader } from '../internal/QRLoader';\nimport PixQRDetails from './components/PixQRDetails';\nimport './Pix.scss';\n\nclass PixElement extends QRLoaderContainer<PixConfiguration> {\n public static readonly type = TxVariants.pix;\n\n public static readonly defaultProps = {\n personalDetailsRequired: false,\n countdownTime: 15,\n delay: 2000,\n ...QRLoaderContainer.defaultProps\n };\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n formatProps(props: PixConfiguration): PixConfiguration {\n return {\n copyBtn: true,\n introduction: 'pix.instructions',\n ...super.formatProps(props)\n };\n }\n\n formatData(): PixElementData {\n const { data = {} } = this.state;\n const { firstName, lastName, socialSecurityNumber = '' } = data;\n\n return {\n paymentMethod: {\n type: this.props.type || this.constructor['type']\n },\n ...(firstName && lastName && { shopperName: { firstName, lastName } }),\n ...(socialSecurityNumber && { socialSecurityNumber: cleanCPFCNPJ(socialSecurityNumber) })\n };\n }\n\n renderQRCode() {\n return (\n <QRLoader\n {...this.props}\n type={this.type}\n brandLogo={this.props.brandLogo || this.icon}\n onComplete={this.onComplete}\n onActionHandled={this.onActionHandled}\n brandName={this.displayName}\n onSubmitAnalytics={this.submitAnalytics}\n >\n <PixQRDetails />\n </QRLoader>\n );\n }\n\n protected override componentToRender(): h.JSX.Element {\n if (this.props.paymentData) {\n return this.renderQRCode();\n }\n\n return (\n <PixInput\n {...this.props}\n showPayButton={this.props.showPayButton}\n personalDetailsRequired={this.props.personalDetailsRequired}\n name={this.displayName}\n onChange={this.setState}\n payButton={this.payButton}\n setComponentRef={this.setComponentRef}\n />\n );\n }\n}\n\nexport default PixElement;\n"],"names":["PixElement","QRLoaderContainer","isValid","this","state","formatProps","props","_object_spread","copyBtn","introduction","super","formatData","data","firstName","lastName","socialSecurityNumber","paymentMethod","type","constructor","shopperName","cleanCPFCNPJ","renderQRCode","h","QRLoader","brandLogo","icon","onComplete","onActionHandled","brandName","displayName","onSubmitAnalytics","submitAnalytics","PixQRDetails","componentToRender","paymentData","PixInput","showPayButton","personalDetailsRequired","name","onChange","setState","payButton","setComponentRef","_define_property","TxVariants","pix","defaultProps","countdownTime","delay"],"mappings":"46CAUA,MAAMA,UAAmBC,EAUrB,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAEAG,WAAAA,CAAYC,GACR,OAAOC,EAAA,CACHC,SAAS,EACTC,aAAc,oBACXC,MAAML,YAAYC,GAE7B,CAEAK,UAAAA,GACI,MAAMC,KAAEA,EAAO,IAAOT,KAAKC,OACrBS,UAAEA,EAASC,SAAEA,EAAQC,qBAAEA,EAAuB,IAAOH,EAE3D,OAAOL,EAAA,CACHS,cAAe,CACXC,KAAMd,KAAKG,MAAMW,MAAQd,KAAKe,YAAY,OAE1CL,GAAaC,GAAY,CAAEK,YAAa,CAAEN,YAAWC,aACrDC,GAAwB,CAAEA,qBAAsBK,EAAaL,IAEzE,CAEAM,YAAAA,GACI,OACIC,EAACC,EAAAA,EAAAA,EAAAA,GACOpB,KAAKG,OAAK,CACdW,KAAMd,KAAKc,KACXO,UAAWrB,KAAKG,MAAMkB,WAAarB,KAAKsB,KACxCC,WAAYvB,KAAKuB,WACjBC,gBAAiBxB,KAAKwB,gBACtBC,UAAWzB,KAAK0B,YAChBC,kBAAmB3B,KAAK4B,kBAExBT,EAACU,EAAAA,MAGb,CAEmBC,iBAAAA,GACf,OAAI9B,KAAKG,MAAM4B,YACJ/B,KAAKkB,eAIZC,EAACa,EAAAA,EAAAA,EAAAA,GACOhC,KAAKG,OAAK,CACd8B,cAAejC,KAAKG,MAAM8B,cAC1BC,wBAAyBlC,KAAKG,MAAM+B,wBACpCC,KAAMnC,KAAK0B,YACXU,SAAUpC,KAAKqC,SACfC,UAAWtC,KAAKsC,UAChBC,gBAAiBvC,KAAKuC,kBAGlC,EAlEAC,EADE3C,EACqBiB,OAAO2B,EAAWC,KAEzCF,EAHE3C,EAGqB8C,eAAevC,EAAA,CAClC8B,yBAAyB,EACzBU,cAAe,GACfC,MAAO,KACJ/C,EAAkB6C"}
1
+ {"version":3,"file":"Pix.js","sources":["../../../../src/components/Pix/Pix.tsx"],"sourcesContent":["import { h } from 'preact';\nimport QRLoaderContainer from '../helpers/QRLoaderContainer/QRLoaderContainer';\nimport PixInput from './components/PixInput';\nimport { cleanCPFCNPJ } from '../internal/SocialSecurityNumberBrazil/utils';\nimport { PixElementData, PixConfiguration } from './types';\nimport { TxVariants } from '../tx-variants';\nimport { QRLoader } from '../internal/QRLoader';\nimport PixQRDetails from './components/PixQRDetails';\nimport './Pix.scss';\n\nclass PixElement extends QRLoaderContainer<PixConfiguration> {\n public static readonly type = TxVariants.pix;\n\n public static readonly defaultProps = {\n personalDetailsRequired: false,\n countdownTime: 15,\n delay: 2000,\n ...QRLoaderContainer.defaultProps\n };\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n formatProps(props: PixConfiguration): PixConfiguration {\n return {\n copyBtn: true,\n introduction: 'pix.instructions',\n ...super.formatProps(props)\n };\n }\n\n formatData(): PixElementData {\n const { data = {} } = this.state;\n const { firstName, lastName, socialSecurityNumber = '' } = data;\n\n return {\n paymentMethod: {\n type: this.props.type || this.constructor['type']\n },\n ...(firstName && lastName && { shopperName: { firstName, lastName } }),\n ...(socialSecurityNumber && { socialSecurityNumber: cleanCPFCNPJ(socialSecurityNumber) })\n };\n }\n\n renderQRCode() {\n return (\n <QRLoader\n {...this.props}\n type={this.type}\n brandLogo={this.props.brandLogo || this.icon}\n onComplete={this.onComplete}\n onActionHandled={this.onActionHandled}\n brandName={this.displayName}\n onSubmitAnalytics={this.submitAnalytics}\n >\n <PixQRDetails />\n </QRLoader>\n );\n }\n\n protected override componentToRender(): h.JSX.Element {\n if (this.props.paymentData) {\n return this.renderQRCode();\n }\n\n return (\n <PixInput\n {...this.props}\n personalDetailsRequired={this.props.personalDetailsRequired}\n name={this.displayName}\n onChange={this.setState}\n payButton={this.payButton}\n setComponentRef={this.setComponentRef}\n />\n );\n }\n}\n\nexport default PixElement;\n"],"names":["PixElement","QRLoaderContainer","isValid","this","state","formatProps","props","_object_spread","copyBtn","introduction","super","formatData","data","firstName","lastName","socialSecurityNumber","paymentMethod","type","constructor","shopperName","cleanCPFCNPJ","renderQRCode","h","QRLoader","brandLogo","icon","onComplete","onActionHandled","brandName","displayName","onSubmitAnalytics","submitAnalytics","PixQRDetails","componentToRender","paymentData","PixInput","personalDetailsRequired","name","onChange","setState","payButton","setComponentRef","_define_property","TxVariants","pix","defaultProps","countdownTime","delay"],"mappings":"46CAUA,MAAMA,UAAmBC,EAUrB,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAEAG,WAAAA,CAAYC,GACR,OAAOC,EAAA,CACHC,SAAS,EACTC,aAAc,oBACXC,MAAML,YAAYC,GAE7B,CAEAK,UAAAA,GACI,MAAMC,KAAEA,EAAO,IAAOT,KAAKC,OACrBS,UAAEA,EAASC,SAAEA,EAAQC,qBAAEA,EAAuB,IAAOH,EAE3D,OAAOL,EAAA,CACHS,cAAe,CACXC,KAAMd,KAAKG,MAAMW,MAAQd,KAAKe,YAAY,OAE1CL,GAAaC,GAAY,CAAEK,YAAa,CAAEN,YAAWC,aACrDC,GAAwB,CAAEA,qBAAsBK,EAAaL,IAEzE,CAEAM,YAAAA,GACI,OACIC,EAACC,EAAAA,EAAAA,EAAAA,GACOpB,KAAKG,OAAK,CACdW,KAAMd,KAAKc,KACXO,UAAWrB,KAAKG,MAAMkB,WAAarB,KAAKsB,KACxCC,WAAYvB,KAAKuB,WACjBC,gBAAiBxB,KAAKwB,gBACtBC,UAAWzB,KAAK0B,YAChBC,kBAAmB3B,KAAK4B,kBAExBT,EAACU,EAAAA,MAGb,CAEmBC,iBAAAA,GACf,OAAI9B,KAAKG,MAAM4B,YACJ/B,KAAKkB,eAIZC,EAACa,EAAAA,EAAAA,EAAAA,GACOhC,KAAKG,OAAK,CACd8B,wBAAyBjC,KAAKG,MAAM8B,wBACpCC,KAAMlC,KAAK0B,YACXS,SAAUnC,KAAKoC,SACfC,UAAWrC,KAAKqC,UAChBC,gBAAiBtC,KAAKsC,kBAGlC,EAjEAC,EADE1C,EACqBiB,OAAO0B,EAAWC,KAEzCF,EAHE1C,EAGqB6C,eAAetC,EAAA,CAClC6B,yBAAyB,EACzBU,cAAe,GACfC,MAAO,KACJ9C,EAAkB4C"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useEffect as t,useState as a,useRef as r}from"../../../../external/preact/hooks/dist/hooks.js";import{pixValidationRules as s}from"./validate.js";import{pixFormatters as o}from"./utils.js";import{useCoreContext as i}from"../../../../core/Context/CoreProvider.js";import n from"../../../../utils/useForm/useForm.js";import"../../../internal/SecuredFields/lib/CSF/utils/userAgent.js";import{BrazilPersonalDetail as l}from"../../../internal/SocialSecurityNumberBrazil/BrazilPersonalDetail.js";function d({name:d,data:m,personalDetailsRequired:u,showPayButton:c,onChange:f,payButton:p,setComponentRef:h}){const{i18n:j}=i(),y=["firstName","lastName","socialSecurityNumber"],{handleChangeFor:S,triggerValidation:g,setSchema:C,data:v,valid:F,errors:N,isValid:x}=n({schema:y,defaultData:m,rules:s,formatters:o});t(()=>{const e=u?[...y]:[];C(e)},[u]);const[b,B]=a("ready"),V=r({setStatus:B,showValidation:()=>{g()}});t(()=>{h(V.current)},[h]),t(()=>{f({data:v,valid:F,errors:N,isValid:x})},[f,v,F,N]);const _=u?[]:["standalone"];return e("div",{className:"adyen-checkout__pix-input__field",style:c||u?null:{display:"none"}},u&&e(l,{i18n:j,data:v,handleChangeFor:S,errors:N,valid:F}),c&&p({status:b,label:`${j.get("continueTo")} ${d}`,classNameModifiers:_}))}export{d as default};
1
+ import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useEffect as t,useState as a,useRef as r}from"../../../../external/preact/hooks/dist/hooks.js";import{pixValidationRules as s}from"./validate.js";import{pixFormatters as o}from"./utils.js";import{useCoreContext as i}from"../../../../core/Context/CoreProvider.js";import n from"../../../../utils/useForm/useForm.js";import"../../../internal/SecuredFields/lib/CSF/utils/userAgent.js";import{BrazilPersonalDetail as l}from"../../../internal/SocialSecurityNumberBrazil/BrazilPersonalDetail.js";function m({name:m,data:d,personalDetailsRequired:u,onChange:c,payButton:f,setComponentRef:p}){const{i18n:h}=i(),j=["firstName","lastName","socialSecurityNumber"],{handleChangeFor:S,triggerValidation:g,setSchema:C,data:v,valid:F,errors:N,isValid:x}=n({schema:j,defaultData:d,rules:s,formatters:o});t(()=>{const e=u?[...j]:[];C(e)},[u]);const[y,b]=a("ready"),V=r({setStatus:b,showValidation:()=>{g()}});t(()=>{p(V.current)},[p]),t(()=>{c({data:v,valid:F,errors:N,isValid:x})},[c,v,F,N]);const _=u?[]:["standalone"];return e("div",{className:"adyen-checkout__pix-input__field"},u&&e(l,{i18n:h,data:v,handleChangeFor:S,errors:N,valid:F}),f({status:y,label:`${h.get("continueTo")} ${m}`,classNameModifiers:_}))}export{m as default};
2
2
  //# sourceMappingURL=PixInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PixInput.js","sources":["../../../../../../src/components/Pix/components/PixInput/PixInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useRef, useState } from 'preact/hooks';\nimport { pixValidationRules } from './validate';\nimport { pixFormatters } from './utils';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport useForm from '../../../../utils/useForm';\nimport { BrazilPersonalDetail } from '../../../internal/SocialSecurityNumberBrazil/BrazilPersonalDetail';\nimport { PixInputDataState, PixInputProps } from './types';\nimport { ComponentMethodsRef } from '../../../types';\n\nfunction PixInput({ name, data: dataProps, personalDetailsRequired, showPayButton, onChange, payButton, setComponentRef }: Readonly<PixInputProps>) {\n const { i18n } = useCoreContext();\n const formSchema = ['firstName', 'lastName', 'socialSecurityNumber'];\n\n const { handleChangeFor, triggerValidation, setSchema, data, valid, errors, isValid } = useForm<PixInputDataState>({\n schema: formSchema,\n defaultData: dataProps,\n rules: pixValidationRules,\n formatters: pixFormatters\n });\n\n // Handle form schema updates\n useEffect(() => {\n const newSchema = personalDetailsRequired ? [...formSchema] : [];\n setSchema(newSchema);\n }, [personalDetailsRequired]);\n\n const [status, setStatus] = useState('ready');\n\n const pixInputRef = useRef<ComponentMethodsRef>({\n setStatus: setStatus,\n showValidation: () => {\n triggerValidation();\n }\n });\n\n useEffect(() => {\n setComponentRef(pixInputRef.current);\n }, [setComponentRef]);\n\n useEffect(() => {\n onChange({ data, valid, errors, isValid });\n }, [onChange, data, valid, errors]);\n\n const buttonModifiers = personalDetailsRequired ? [] : ['standalone'];\n\n return (\n <div className=\"adyen-checkout__pix-input__field\" style={!showPayButton && !personalDetailsRequired ? { display: 'none' } : null}>\n {personalDetailsRequired && (\n <BrazilPersonalDetail i18n={i18n} data={data} handleChangeFor={handleChangeFor} errors={errors} valid={valid} />\n )}\n\n {showPayButton &&\n payButton({\n status,\n label: `${i18n.get('continueTo')} ${name}`,\n classNameModifiers: buttonModifiers\n })}\n </div>\n );\n}\n\nexport default PixInput;\n"],"names":["PixInput","name","data","dataProps","personalDetailsRequired","showPayButton","onChange","payButton","setComponentRef","i18n","useCoreContext","formSchema","handleChangeFor","triggerValidation","setSchema","valid","errors","isValid","useForm","schema","defaultData","rules","pixValidationRules","formatters","pixFormatters","useEffect","newSchema","status","setStatus","useState","pixInputRef","useRef","showValidation","current","buttonModifiers","h","div","className","style","display","BrazilPersonalDetail","label","get","classNameModifiers"],"mappings":"4jBAUA,SAASA,GAASC,KAAEA,EAAMC,KAAMC,EAASC,wBAAEA,EAAuBC,cAAEA,EAAaC,SAAEA,EAAQC,UAAEA,EAASC,gBAAEA,IACpG,MAAMC,KAAEA,GAASC,IACXC,EAAa,CAAC,YAAa,WAAY,yBAEvCC,gBAAEA,EAAeC,kBAAEA,EAAiBC,UAAEA,EAASZ,KAAEA,EAAIa,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GAAYC,EAA2B,CAC/GC,OAAQR,EACRS,YAAajB,EACbkB,MAAOC,EACPC,WAAYC,IAIhBC,EAAU,KACN,MAAMC,EAAYtB,EAA0B,IAAIO,GAAc,GAC9DG,EAAUY,IACX,CAACtB,IAEJ,MAAOuB,EAAQC,GAAaC,EAAS,SAE/BC,EAAcC,EAA4B,CAC5CH,UAAWA,EACXI,eAAgB,KACZnB,OAIRY,EAAU,KACNjB,EAAgBsB,EAAYG,UAC7B,CAACzB,IAEJiB,EAAU,KACNnB,EAAS,CAAEJ,OAAMa,QAAOC,SAAQC,aACjC,CAACX,EAAUJ,EAAMa,EAAOC,IAE3B,MAAMkB,EAAkB9B,EAA0B,GAAK,CAAC,cAExD,OACI+B,EAACC,MAAAA,CAAIC,UAAU,mCAAmCC,MAAQjC,GAAkBD,EAAgD,KAAtB,CAAEmC,QAAS,SAC5GnC,GACG+B,EAACK,EAAAA,CAAqB/B,KAAMA,EAAMP,KAAMA,EAAMU,gBAAiBA,EAAiBI,OAAQA,EAAQD,MAAOA,IAG1GV,GACGE,EAAU,CACNoB,SACAc,MAAO,GAAGhC,EAAKiC,IAAI,iBAAiBzC,IACpC0C,mBAAoBT,IAIxC"}
1
+ {"version":3,"file":"PixInput.js","sources":["../../../../../../src/components/Pix/components/PixInput/PixInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useRef, useState } from 'preact/hooks';\nimport { pixValidationRules } from './validate';\nimport { pixFormatters } from './utils';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport useForm from '../../../../utils/useForm';\nimport { BrazilPersonalDetail } from '../../../internal/SocialSecurityNumberBrazil/BrazilPersonalDetail';\nimport { PixInputDataState, PixInputProps } from './types';\nimport { ComponentMethodsRef } from '../../../types';\n\nfunction PixInput({ name, data: dataProps, personalDetailsRequired, onChange, payButton, setComponentRef }: Readonly<PixInputProps>) {\n const { i18n } = useCoreContext();\n const formSchema = ['firstName', 'lastName', 'socialSecurityNumber'];\n\n const { handleChangeFor, triggerValidation, setSchema, data, valid, errors, isValid } = useForm<PixInputDataState>({\n schema: formSchema,\n defaultData: dataProps,\n rules: pixValidationRules,\n formatters: pixFormatters\n });\n\n // Handle form schema updates\n useEffect(() => {\n const newSchema = personalDetailsRequired ? [...formSchema] : [];\n setSchema(newSchema);\n }, [personalDetailsRequired]);\n\n const [status, setStatus] = useState('ready');\n\n const pixInputRef = useRef<ComponentMethodsRef>({\n setStatus: setStatus,\n showValidation: () => {\n triggerValidation();\n }\n });\n\n useEffect(() => {\n setComponentRef(pixInputRef.current);\n }, [setComponentRef]);\n\n useEffect(() => {\n onChange({ data, valid, errors, isValid });\n }, [onChange, data, valid, errors]);\n\n const buttonModifiers = personalDetailsRequired ? [] : ['standalone'];\n\n return (\n <div className=\"adyen-checkout__pix-input__field\">\n {personalDetailsRequired && (\n <BrazilPersonalDetail i18n={i18n} data={data} handleChangeFor={handleChangeFor} errors={errors} valid={valid} />\n )}\n\n {payButton({\n status,\n label: `${i18n.get('continueTo')} ${name}`,\n classNameModifiers: buttonModifiers\n })}\n </div>\n );\n}\n\nexport default PixInput;\n"],"names":["PixInput","name","data","dataProps","personalDetailsRequired","onChange","payButton","setComponentRef","i18n","useCoreContext","formSchema","handleChangeFor","triggerValidation","setSchema","valid","errors","isValid","useForm","schema","defaultData","rules","pixValidationRules","formatters","pixFormatters","useEffect","newSchema","status","setStatus","useState","pixInputRef","useRef","showValidation","current","buttonModifiers","h","div","className","BrazilPersonalDetail","label","get","classNameModifiers"],"mappings":"4jBAUA,SAASA,GAASC,KAAEA,EAAMC,KAAMC,EAASC,wBAAEA,EAAuBC,SAAEA,EAAQC,UAAEA,EAASC,gBAAEA,IACrF,MAAMC,KAAEA,GAASC,IACXC,EAAa,CAAC,YAAa,WAAY,yBAEvCC,gBAAEA,EAAeC,kBAAEA,EAAiBC,UAAEA,EAASX,KAAEA,EAAIY,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GAAYC,EAA2B,CAC/GC,OAAQR,EACRS,YAAahB,EACbiB,MAAOC,EACPC,WAAYC,IAIhBC,EAAU,KACN,MAAMC,EAAYrB,EAA0B,IAAIM,GAAc,GAC9DG,EAAUY,IACX,CAACrB,IAEJ,MAAOsB,EAAQC,GAAaC,EAAS,SAE/BC,EAAcC,EAA4B,CAC5CH,UAAWA,EACXI,eAAgB,KACZnB,OAIRY,EAAU,KACNjB,EAAgBsB,EAAYG,UAC7B,CAACzB,IAEJiB,EAAU,KACNnB,EAAS,CAAEH,OAAMY,QAAOC,SAAQC,aACjC,CAACX,EAAUH,EAAMY,EAAOC,IAE3B,MAAMkB,EAAkB7B,EAA0B,GAAK,CAAC,cAExD,OACI8B,EAACC,MAAAA,CAAIC,UAAU,oCACVhC,GACG8B,EAACG,EAAAA,CAAqB7B,KAAMA,EAAMN,KAAMA,EAAMS,gBAAiBA,EAAiBI,OAAQA,EAAQD,MAAOA,IAG1GR,EAAU,CACPoB,SACAY,MAAO,GAAG9B,EAAK+B,IAAI,iBAAiBtC,IACpCuC,mBAAoBP,IAIpC"}
@@ -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 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 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(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,setComponentRef:this.setComponentRef})):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(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 r from"./components/PreAuthorizedDebitCanadaComponent.js";import{SettlementInfo as s}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 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,{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,setComponentRef:this.setComponentRef})):t(r,{onChange:this.setState,payButton:this.payButton,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};
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/utils';\n\nimport type { PreAuthorizedDebitCanadaConfiguration } from './types';\n\nexport class PreAuthorizedDebitCanada extends UIElement<PreAuthorizedDebitCanadaConfiguration> {\n public static readonly 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 setComponentRef={this.setComponentRef}\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","setComponentRef","PreAuthorizedDebitCanadaComponent","onChange","setState","placeholders","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,gBAAiBzC,KAAKyC,mBAI9Bf,EAACgB,EAAAA,CACGC,SAAU3C,KAAK4C,SACfN,UAAWtC,KAAKsC,UAChBR,cAAe9B,KAAKC,MAAM6B,cAC1Be,aAAc7C,KAAKC,MAAM4C,aACzBJ,gBAAiBzC,KAAKyC,gBACtBK,sBAAuB9C,KAAKC,MAAM6C,sBAClChC,mBAAoBd,KAAKC,MAAMa,oBAG3C,EA9EAiC,EADSlD,EACcO,OAAO4C,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 readonly 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 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 setComponentRef={this.setComponentRef}\n />\n </Fragment>\n ) : (\n <PreAuthorizedDebitCanadaComponent\n onChange={this.setState}\n payButton={this.payButton}\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","icon","resources","getImage","imageFolder","payAmountLabel","i18n","amount","payButton","onSubmit","submit","setComponentRef","PreAuthorizedDebitCanadaComponent","onChange","setState","placeholders","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,GAKG,IAAAC,EAJlB,OAAOzB,KAAKC,MAAMC,sBACdwB,EAACC,EAAAA,KACGD,EAACE,EAAAA,MACDF,EAACG,EAAAA,CACGC,KAAoB,QAAdL,EAAAzB,KAAK+B,qBAALN,OAAA,EAAAA,EAAgBO,SAAS,CAAEC,YAAa,eAAxCR,CAAyD,cAC/DF,MAAOW,EAAelC,KAAKC,MAAMkC,KAAMnC,KAAKC,MAAMmC,QAClDf,KAAMrB,KAAKmB,YACXkB,UAAWrC,KAAKqC,UAChBC,SAAUtC,KAAKuC,OACfC,gBAAiBxC,KAAKwC,mBAI9Bd,EAACe,EAAAA,CACGC,SAAU1C,KAAK2C,SACfN,UAAWrC,KAAKqC,UAChBO,aAAc5C,KAAKC,MAAM2C,aACzBJ,gBAAiBxC,KAAKwC,gBACtBK,sBAAuB7C,KAAKC,MAAM4C,sBAClC/B,mBAAoBd,KAAKC,MAAMa,oBAG3C,EA5EAgC,EADSjD,EACcO,OAAO2C,EAAWC"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../external/preact/dist/preact.js";import{useState as a,useRef as t,useEffect as o}from"../../../external/preact/hooks/dist/hooks.js";import{useCoreContext as n}from"../../../core/Context/CoreProvider.js";import r from"../../internal/FormFields/Fieldset/Fieldset.js";import l from"../../internal/FormInstruction/FormInstruction.js";import i from"../../../utils/useForm/useForm.js";import"../../internal/SecuredFields/lib/CSF/utils/userAgent.js";import s from"../../internal/FormFields/Field/Field.js";import u from"../../internal/FormFields/InputText.js";import{preAuthorizedDebitCanadaValidationRules as d,preAuthorizedDebitCanadaFormatters as m}from"./validate.js";import c from"../../internal/StoreDetails/StoreDetails.js";import b from"../../../core/Context/useImage.js";import{SettlementInfo as p}from"./SettlementInfo.js";function g({onChange:g,payButton:f,showPayButton:k,placeholders:N,setComponentRef:v,enableStoreDetails:x,showContextualElement:h=!0}){var C,I,F,w;const M=b(),{i18n:j}=n(),[A,y]=a("ready"),{handleChangeFor:L,triggerValidation:S,data:V,errors:T,valid:B,isValid:E}=i({schema:["ownerName","bankAccountNumber","bankCode","bankLocationId"],rules:d,formatters:m}),[q,_]=a(!1),D="loading"===A,P=t({setStatus:y,showValidation:()=>{S()}});return o(()=>{v(P.current)},[v,P.current]),o(()=>{g({data:V,valid:B,errors:T,isValid:E,storePaymentMethod:q})},[g,V,B,T,E,q]),e("div",{className:"adyen-checkout__eftpad-canada"},e(l,null),e(r,null,e(s,{label:j.get("eftpad-canada.input.accountHolderName.label"),errorMessage:"string"==typeof(null===(C=T.ownerName)||void 0===C?void 0:C.errorMessage)?j.get(T.ownerName.errorMessage):null,isValid:!!B.ownerName,name:"ownerName"},e(u,{disabled:D,name:"ownerName",placeholder:null==N?void 0:N.ownerName,value:V.ownerName,onInput:L("ownerName","input"),onBlur:L("ownerName","blur"),required:!0,"data-testid":"owner-name",autocomplete:"name"})),e(s,{label:j.get("eftpad-canada.input.accountNumber.label"),errorMessage:"string"==typeof(null===(I=T.bankAccountNumber)||void 0===I?void 0:I.errorMessage)?j.get(T.bankAccountNumber.errorMessage):null,name:"bankAccountNumber",isValid:!!B.bankAccountNumber,showContextualElement:h,contextualText:j.get("eftpad-canada.input.accountNumber.contextualText")},e(u,{disabled:D,name:"bankAccountNumber",placeholder:null==N?void 0:N.bankAccountNumber,value:V.bankAccountNumber,onInput:L("bankAccountNumber","input"),onBlur:L("bankAccountNumber","blur"),required:!0,maxlength:12,autocomplete:void 0})),e(s,{label:j.get("eftpad-canada.input.institutionNumber.label"),classNameModifiers:["col-50"],errorMessage:"string"==typeof(null===(F=T.bankCode)||void 0===F?void 0:F.errorMessage)?j.get(T.bankCode.errorMessage):null,isValid:!!B.bankCode,name:"bankCode",showContextualElement:h,contextualText:j.get("eftpad-canada.input.institutionNumber.contextualText")},e(u,{disabled:D,name:"bankCode",placeholder:null==N?void 0:N.bankCode,value:V.bankCode,onInput:L("bankCode","input"),onBlur:L("bankCode","blur"),required:!0,maxlength:3,autocomplete:void 0})),e(s,{label:j.get("eftpad-canada.input.transitNumber.label"),classNameModifiers:["col-50"],errorMessage:"string"==typeof(null===(w=T.bankLocationId)||void 0===w?void 0:w.errorMessage)?j.get(T.bankLocationId.errorMessage):null,name:"bankLocationId",isValid:!!B.bankLocationId,showContextualElement:h,contextualText:j.get("eftpad-canada.input.transitNumber.contextualText")},e(u,{disabled:D,name:"bankLocationId",placeholder:null==N?void 0:N.bankLocationId,value:V.bankLocationId,onInput:L("bankLocationId","input"),onBlur:L("bankLocationId","blur"),required:!0,maxlength:5,autocomplete:void 0}))),x&&e(c,{className:"adyen-checkout_eftpad-canada-store-details",disabled:D,onChange:_}),e(p,null),k&&f({status:A,icon:M({imageFolder:"components/"})("bento_lock")}))}export{g as default};
1
+ import{createElement as e}from"../../../external/preact/dist/preact.js";import{useState as a,useRef as t,useEffect as o}from"../../../external/preact/hooks/dist/hooks.js";import{useCoreContext as n}from"../../../core/Context/CoreProvider.js";import r from"../../internal/FormFields/Fieldset/Fieldset.js";import l from"../../internal/FormInstruction/FormInstruction.js";import i from"../../../utils/useForm/useForm.js";import"../../internal/SecuredFields/lib/CSF/utils/userAgent.js";import s from"../../internal/FormFields/Field/Field.js";import u from"../../internal/FormFields/InputText.js";import{preAuthorizedDebitCanadaValidationRules as d,preAuthorizedDebitCanadaFormatters as m}from"./validate.js";import c from"../../internal/StoreDetails/StoreDetails.js";import b from"../../../core/Context/useImage.js";import{SettlementInfo as p}from"./SettlementInfo.js";function g({onChange:g,payButton:f,placeholders:k,setComponentRef:N,enableStoreDetails:v,showContextualElement:x=!0}){var h,C,I,F;const w=b(),{i18n:M}=n(),[j,A]=a("ready"),{handleChangeFor:L,triggerValidation:y,data:S,errors:V,valid:T,isValid:E}=i({schema:["ownerName","bankAccountNumber","bankCode","bankLocationId"],rules:d,formatters:m}),[B,q]=a(!1),_="loading"===j,D=t({setStatus:A,showValidation:()=>{y()}});return o(()=>{N(D.current)},[N,D.current]),o(()=>{g({data:S,valid:T,errors:V,isValid:E,storePaymentMethod:B})},[g,S,T,V,E,B]),e("div",{className:"adyen-checkout__eftpad-canada"},e(l,null),e(r,null,e(s,{label:M.get("eftpad-canada.input.accountHolderName.label"),errorMessage:"string"==typeof(null===(h=V.ownerName)||void 0===h?void 0:h.errorMessage)?M.get(V.ownerName.errorMessage):null,isValid:!!T.ownerName,name:"ownerName"},e(u,{disabled:_,name:"ownerName",placeholder:null==k?void 0:k.ownerName,value:S.ownerName,onInput:L("ownerName","input"),onBlur:L("ownerName","blur"),required:!0,"data-testid":"owner-name",autocomplete:"name"})),e(s,{label:M.get("eftpad-canada.input.accountNumber.label"),errorMessage:"string"==typeof(null===(C=V.bankAccountNumber)||void 0===C?void 0:C.errorMessage)?M.get(V.bankAccountNumber.errorMessage):null,name:"bankAccountNumber",isValid:!!T.bankAccountNumber,showContextualElement:x,contextualText:M.get("eftpad-canada.input.accountNumber.contextualText")},e(u,{disabled:_,name:"bankAccountNumber",placeholder:null==k?void 0:k.bankAccountNumber,value:S.bankAccountNumber,onInput:L("bankAccountNumber","input"),onBlur:L("bankAccountNumber","blur"),required:!0,maxlength:12,autocomplete:void 0})),e(s,{label:M.get("eftpad-canada.input.institutionNumber.label"),classNameModifiers:["col-50"],errorMessage:"string"==typeof(null===(I=V.bankCode)||void 0===I?void 0:I.errorMessage)?M.get(V.bankCode.errorMessage):null,isValid:!!T.bankCode,name:"bankCode",showContextualElement:x,contextualText:M.get("eftpad-canada.input.institutionNumber.contextualText")},e(u,{disabled:_,name:"bankCode",placeholder:null==k?void 0:k.bankCode,value:S.bankCode,onInput:L("bankCode","input"),onBlur:L("bankCode","blur"),required:!0,maxlength:3,autocomplete:void 0})),e(s,{label:M.get("eftpad-canada.input.transitNumber.label"),classNameModifiers:["col-50"],errorMessage:"string"==typeof(null===(F=V.bankLocationId)||void 0===F?void 0:F.errorMessage)?M.get(V.bankLocationId.errorMessage):null,name:"bankLocationId",isValid:!!T.bankLocationId,showContextualElement:x,contextualText:M.get("eftpad-canada.input.transitNumber.contextualText")},e(u,{disabled:_,name:"bankLocationId",placeholder:null==k?void 0:k.bankLocationId,value:S.bankLocationId,onInput:L("bankLocationId","input"),onBlur:L("bankLocationId","blur"),required:!0,maxlength:5,autocomplete:void 0}))),v&&e(c,{className:"adyen-checkout_eftpad-canada-store-details",disabled:_,onChange:q}),e(p,null),f({status:j,icon:w({imageFolder:"components/"})("bento_lock")}))}export{g as default};
2
2
  //# sourceMappingURL=PreAuthorizedDebitCanadaComponent.js.map
@@ -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';\nimport { ValidationRuleResult } from '../../../utils/Validator/ValidationRuleResult';\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]: ValidationRuleResult };\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={typeof errors.ownerName?.errorMessage === 'string' ? i18n.get(errors.ownerName.errorMessage) : null}\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 autocomplete=\"name\"\n />\n </Field>\n\n <Field\n label={i18n.get('eftpad-canada.input.accountNumber.label')}\n errorMessage={typeof errors.bankAccountNumber?.errorMessage === 'string' ? i18n.get(errors.bankAccountNumber.errorMessage) : null}\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 autocomplete={undefined}\n />\n </Field>\n\n <Field\n label={i18n.get('eftpad-canada.input.institutionNumber.label')}\n classNameModifiers={['col-50']}\n errorMessage={typeof errors.bankCode?.errorMessage === 'string' ? i18n.get(errors.bankCode.errorMessage) : null}\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 autocomplete={undefined}\n />\n </Field>\n\n <Field\n label={i18n.get('eftpad-canada.input.transitNumber.label')}\n classNameModifiers={['col-50']}\n errorMessage={typeof errors.bankLocationId?.errorMessage === 'string' ? i18n.get(errors.bankLocationId.errorMessage) : null}\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 autocomplete={undefined}\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","errors","getImage","useImage","i18n","useCoreContext","status","setStatus","useState","handleChangeFor","triggerValidation","data","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","autocomplete","bankAccountNumber","contextualText","maxlength","undefined","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';\nimport { ValidationRuleResult } from '../../../utils/Validator/ValidationRuleResult';\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]: ValidationRuleResult };\n isValid: boolean;\n storePaymentMethod: boolean;\n }): void;\n payButton: (props: PayButtonProps) => h.JSX.Element;\n setComponentRef: (ref: ComponentMethodsRef) => void;\n enableStoreDetails: boolean;\n showContextualElement?: boolean;\n placeholders?: PreAuthorizedDebitCanadaPlaceholders;\n}\n\nfunction PreAuthorizedDebitCanadaComponent({\n onChange,\n payButton,\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={typeof errors.ownerName?.errorMessage === 'string' ? i18n.get(errors.ownerName.errorMessage) : null}\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 autocomplete=\"name\"\n />\n </Field>\n\n <Field\n label={i18n.get('eftpad-canada.input.accountNumber.label')}\n errorMessage={typeof errors.bankAccountNumber?.errorMessage === 'string' ? i18n.get(errors.bankAccountNumber.errorMessage) : null}\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 autocomplete={undefined}\n />\n </Field>\n\n <Field\n label={i18n.get('eftpad-canada.input.institutionNumber.label')}\n classNameModifiers={['col-50']}\n errorMessage={typeof errors.bankCode?.errorMessage === 'string' ? i18n.get(errors.bankCode.errorMessage) : null}\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 autocomplete={undefined}\n />\n </Field>\n\n <Field\n label={i18n.get('eftpad-canada.input.transitNumber.label')}\n classNameModifiers={['col-50']}\n errorMessage={typeof errors.bankLocationId?.errorMessage === 'string' ? i18n.get(errors.bankLocationId.errorMessage) : null}\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 autocomplete={undefined}\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 {payButton({ status, icon: getImage({ imageFolder: 'components/' })('bento_lock') })}\n </div>\n );\n}\n\nexport default PreAuthorizedDebitCanadaComponent;\n"],"names":["PreAuthorizedDebitCanadaComponent","onChange","payButton","placeholders","setComponentRef","enableStoreDetails","showContextualElement","errors","getImage","useImage","i18n","useCoreContext","status","setStatus","useState","handleChangeFor","triggerValidation","data","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","autocomplete","bankAccountNumber","contextualText","maxlength","undefined","classNameModifiers","bankCode","bankLocationId","StoreDetails","SettlementInfo","icon","imageFolder"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/RedirectShopper/RedirectShopper.js";import o from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as n}from"../tx-variants.js";import s from"../../utils/browserInfo.js";import{AnalyticsErrorEvent as i,ErrorEventCode as p,ErrorEventType as c}from"../../core/Analytics/events/AnalyticsErrorEvent.js";function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function u(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),o.forEach(function(e){a(t,e,r[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 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 m extends e{formatData(){return{paymentMethod:{type:this.type},browserInfo:this.browserInfo}}get isRedirecting(){return!!this.props.url&&!!this.props.method}get isValid(){return!0}get browserInfo(){return s()}componentToRender(){return this.isRedirecting?t(r,l(u({url:this.props.url},this.props),{onActionHandled:this.onActionHandled,onRedirectError:this.handleRedirectError})):this.props.showPayButton?t(o,l(u({},this.props),{showPayButton:this.props.showPayButton,name:this.displayName,onSubmit:this.submit,payButton:this.payButton,setComponentRef:this.setComponentRef})):null}constructor(...t){super(...t),a(this,"handleRedirectError",()=>{const t=new i({component:this.props.paymentMethodType,errorType:c.redirect,code:p.REDIRECT});super.submitAnalytics(t)})}}a(m,"type",n.redirect),a(m,"defaultProps",{type:m.type});export{m as default};
1
+ import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import r from"./components/RedirectShopper/RedirectShopper.js";import o from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as n}from"../tx-variants.js";import i from"../../utils/browserInfo.js";import{AnalyticsErrorEvent as s,ErrorEventCode as p,ErrorEventType as c}from"../../core/Analytics/events/AnalyticsErrorEvent.js";function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){a(e,t,r[t])})}return e}function l(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}class m extends t{formatData(){return{paymentMethod:{type:this.type},browserInfo:this.browserInfo}}get isRedirecting(){return!!this.props.url&&!!this.props.method}get isValid(){return!0}get browserInfo(){return i()}componentToRender(){return this.isRedirecting?e(r,l(u({url:this.props.url},this.props),{onActionHandled:this.onActionHandled,onRedirectError:this.handleRedirectError})):e(o,l(u({},this.props),{name:this.displayName,onSubmit:this.submit,payButton:this.payButton,setComponentRef:this.setComponentRef}))}constructor(...e){super(...e),a(this,"handleRedirectError",()=>{const e=new s({component:this.props.paymentMethodType,errorType:c.redirect,code:p.REDIRECT});super.submitAnalytics(e)})}}a(m,"type",n.redirect),a(m,"defaultProps",{type:m.type});export{m as default};
2
2
  //# sourceMappingURL=Redirect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Redirect.js","sources":["../../../../src/components/Redirect/Redirect.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport RedirectShopper from './components/RedirectShopper';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport { RedirectConfiguration } from './types';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport { AnalyticsErrorEvent, ErrorEventCode, ErrorEventType } from '../../core/Analytics/events/AnalyticsErrorEvent';\n\nclass RedirectElement extends UIElement<RedirectConfiguration> {\n public static readonly type: TxVariants = TxVariants.redirect;\n\n public static readonly defaultProps = {\n type: RedirectElement.type\n };\n\n formatData() {\n return {\n paymentMethod: {\n type: this.type\n },\n browserInfo: this.browserInfo\n };\n }\n\n private handleRedirectError = () => {\n const event = new AnalyticsErrorEvent({\n component: this.props.paymentMethodType,\n errorType: ErrorEventType.redirect,\n code: ErrorEventCode.REDIRECT\n });\n super.submitAnalytics(event);\n };\n\n get isRedirecting() {\n return !!this.props.url && !!this.props.method;\n }\n\n get isValid() {\n return true;\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n protected override componentToRender(): h.JSX.Element {\n if (this.isRedirecting) {\n return (\n <RedirectShopper\n url={this.props.url}\n {...this.props}\n onActionHandled={this.onActionHandled}\n onRedirectError={this.handleRedirectError}\n />\n );\n }\n\n if (this.props.showPayButton) {\n return (\n <RedirectButton\n {...this.props}\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n setComponentRef={this.setComponentRef}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default RedirectElement;\n"],"names":["RedirectElement","UIElement","formatData","paymentMethod","type","this","browserInfo","isRedirecting","props","url","method","isValid","collectBrowserInfo","componentToRender","h","RedirectShopper","onActionHandled","onRedirectError","handleRedirectError","showPayButton","RedirectButton","name","displayName","onSubmit","submit","payButton","setComponentRef","super","args","_define_property","event","AnalyticsErrorEvent","component","paymentMethodType","errorType","ErrorEventType","redirect","code","ErrorEventCode","REDIRECT","submitAnalytics","TxVariants","defaultProps"],"mappings":"kwCASA,MAAMA,UAAwBC,EAO1BC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKD,MAEfE,YAAaD,KAAKC,YAE1B,CAWA,iBAAIC,GACA,QAASF,KAAKG,MAAMC,OAASJ,KAAKG,MAAME,MAC5C,CAEA,WAAIC,GACA,OAAO,CACX,CAEA,eAAIL,GACA,OAAOM,GACX,CAEmBC,iBAAAA,GACf,OAAIR,KAAKE,cAEDO,EAACC,EAAAA,EAAAA,EAAAA,CACGN,IAAKJ,KAAKG,MAAMC,KACZJ,KAAKG,OAAK,CACdQ,gBAAiBX,KAAKW,gBACtBC,gBAAiBZ,KAAKa,uBAK9Bb,KAAKG,MAAMW,cAEPL,EAACM,EAAAA,EAAAA,EAAAA,GACOf,KAAKG,OAAK,CACdW,cAAed,KAAKG,MAAMW,cAC1BE,KAAMhB,KAAKiB,YACXC,SAAUlB,KAAKmB,OACfC,UAAWpB,KAAKoB,UAChBC,gBAAiBrB,KAAKqB,mBAK3B,IACX,mBA/DJC,SAAAC,GAgBIC,OAAQX,sBAAsB,KAC1B,MAAMY,EAAQ,IAAIC,EAAoB,CAClCC,UAAW3B,KAAKG,MAAMyB,kBACtBC,UAAWC,EAAeC,SAC1BC,KAAMC,EAAeC,WAEzBZ,MAAMa,gBAAgBV,MArB1BD,EADE7B,EACqBI,OAAmBqC,EAAWL,UAErDP,EAHE7B,EAGqB0C,eAAe,CAClCtC,KAAMJ,EAAgBI"}
1
+ {"version":3,"file":"Redirect.js","sources":["../../../../src/components/Redirect/Redirect.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport RedirectShopper from './components/RedirectShopper';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport { RedirectConfiguration } from './types';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport { AnalyticsErrorEvent, ErrorEventCode, ErrorEventType } from '../../core/Analytics/events/AnalyticsErrorEvent';\n\nclass RedirectElement extends UIElement<RedirectConfiguration> {\n public static readonly type: TxVariants = TxVariants.redirect;\n\n public static readonly defaultProps = {\n type: RedirectElement.type\n };\n\n formatData() {\n return {\n paymentMethod: {\n type: this.type\n },\n browserInfo: this.browserInfo\n };\n }\n\n private handleRedirectError = () => {\n const event = new AnalyticsErrorEvent({\n component: this.props.paymentMethodType,\n errorType: ErrorEventType.redirect,\n code: ErrorEventCode.REDIRECT\n });\n super.submitAnalytics(event);\n };\n\n get isRedirecting() {\n return !!this.props.url && !!this.props.method;\n }\n\n get isValid() {\n return true;\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n protected override componentToRender(): h.JSX.Element {\n if (this.isRedirecting) {\n return (\n <RedirectShopper\n url={this.props.url}\n {...this.props}\n onActionHandled={this.onActionHandled}\n onRedirectError={this.handleRedirectError}\n />\n );\n }\n\n return (\n <RedirectButton\n {...this.props}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n setComponentRef={this.setComponentRef}\n />\n );\n }\n}\n\nexport default RedirectElement;\n"],"names":["RedirectElement","UIElement","formatData","paymentMethod","type","this","browserInfo","isRedirecting","props","url","method","isValid","collectBrowserInfo","componentToRender","h","RedirectShopper","onActionHandled","onRedirectError","handleRedirectError","RedirectButton","name","displayName","onSubmit","submit","payButton","setComponentRef","super","args","_define_property","event","AnalyticsErrorEvent","component","paymentMethodType","errorType","ErrorEventType","redirect","code","ErrorEventCode","REDIRECT","submitAnalytics","TxVariants","defaultProps"],"mappings":"kwCASA,MAAMA,UAAwBC,EAO1BC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKD,MAEfE,YAAaD,KAAKC,YAE1B,CAWA,iBAAIC,GACA,QAASF,KAAKG,MAAMC,OAASJ,KAAKG,MAAME,MAC5C,CAEA,WAAIC,GACA,OAAO,CACX,CAEA,eAAIL,GACA,OAAOM,GACX,CAEmBC,iBAAAA,GACf,OAAIR,KAAKE,cAEDO,EAACC,EAAAA,EAAAA,EAAAA,CACGN,IAAKJ,KAAKG,MAAMC,KACZJ,KAAKG,OAAK,CACdQ,gBAAiBX,KAAKW,gBACtBC,gBAAiBZ,KAAKa,uBAM9BJ,EAACK,EAAAA,EAAAA,EAAAA,GACOd,KAAKG,OAAK,CACdY,KAAMf,KAAKgB,YACXC,SAAUjB,KAAKkB,OACfC,UAAWnB,KAAKmB,UAChBC,gBAAiBpB,KAAKoB,kBAGlC,mBA1DJC,SAAAC,GAgBIC,OAAQV,sBAAsB,KAC1B,MAAMW,EAAQ,IAAIC,EAAoB,CAClCC,UAAW1B,KAAKG,MAAMwB,kBACtBC,UAAWC,EAAeC,SAC1BC,KAAMC,EAAeC,WAEzBZ,MAAMa,gBAAgBV,MArB1BD,EADE5B,EACqBI,OAAmBoC,EAAWL,UAErDP,EAHE5B,EAGqByC,eAAe,CAClCrC,KAAMJ,EAAgBI"}
@@ -1,2 +1,2 @@
1
- import{createElement as t,Fragment as e}from"../../external/preact/dist/preact.js";import r from"../Redirect/Redirect.js";import n from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as o}from"../tx-variants.js";function s(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function i(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 r{get displayName(){return this.props.name||this.constructor.type}componentToRender(){return t(e,null,t("div",{className:"adyen-checkout-trustly"},t("p",{className:"adyen-checkout-trustly__descriptor"},this.props.i18n.get("trustly.descriptor")),t("ul",{className:"adyen-checkout-trustly__description-list"},t("li",null,this.props.i18n.get("trustly.description1")),t("li",null,this.props.i18n.get("trustly.description2")))),this.props.showPayButton&&t(n,i(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){s(t,e,r[e])})}return t}({},this.props),{showPayButton:this.props.showPayButton,name:this.displayName,onSubmit:this.submit,payButton:this.payButton,setComponentRef:this.setComponentRef})))}}s(c,"type",o.trustly);export{c as default};
1
+ import{createElement as t,Fragment as e}from"../../external/preact/dist/preact.js";import r from"../Redirect/Redirect.js";import n from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as o}from"../tx-variants.js";function s(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function i(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 r{get displayName(){return this.props.name||this.constructor.type}componentToRender(){return t(e,null,t("div",{className:"adyen-checkout-trustly"},t("p",{className:"adyen-checkout-trustly__descriptor"},this.props.i18n.get("trustly.descriptor")),t("ul",{className:"adyen-checkout-trustly__description-list"},t("li",null,this.props.i18n.get("trustly.description1")),t("li",null,this.props.i18n.get("trustly.description2")))),t(n,i(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){s(t,e,r[e])})}return t}({},this.props),{name:this.displayName,onSubmit:this.submit,payButton:this.payButton,setComponentRef:this.setComponentRef})))}}s(c,"type",o.trustly);export{c as default};
2
2
  //# sourceMappingURL=Trustly.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Trustly.js","sources":["../../../../src/components/Trustly/Trustly.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport RedirectElement from '../Redirect';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport './Trustly.scss';\n\nclass TrustlyElement extends RedirectElement {\n public static override readonly type: TxVariants = TxVariants.trustly;\n\n override get displayName() {\n return this.props.name || this.constructor['type'];\n }\n\n protected override componentToRender(): h.JSX.Element {\n return (\n <Fragment>\n <div className=\"adyen-checkout-trustly\">\n <p className=\"adyen-checkout-trustly__descriptor\">{this.props.i18n.get('trustly.descriptor')}</p>\n <ul className=\"adyen-checkout-trustly__description-list\">\n <li>{this.props.i18n.get('trustly.description1')}</li>\n <li>{this.props.i18n.get('trustly.description2')}</li>\n </ul>\n </div>\n\n {this.props.showPayButton && (\n <RedirectButton\n {...this.props}\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n setComponentRef={this.setComponentRef}\n />\n )}\n </Fragment>\n );\n }\n}\n\nexport default TrustlyElement;\n"],"names":["TrustlyElement","RedirectElement","displayName","this","props","name","constructor","componentToRender","h","Fragment","div","className","p","i18n","get","ul","li","showPayButton","RedirectButton","onSubmit","submit","payButton","setComponentRef","_define_property","type","TxVariants","trustly"],"mappings":"0sBAMA,MAAMA,UAAuBC,EAGzB,eAAaC,GACT,OAAOC,KAAKC,MAAMC,MAAQF,KAAKG,YAAY,IAC/C,CAEmBC,iBAAAA,GACf,OACIC,EAACC,OACGD,EAACE,MAAAA,CAAIC,UAAU,0BACXH,EAACI,IAAAA,CAAED,UAAU,sCAAsCR,KAAKC,MAAMS,KAAKC,IAAI,uBACvEN,EAACO,KAAAA,CAAGJ,UAAU,4CACVH,EAACQ,KAAAA,KAAIb,KAAKC,MAAMS,KAAKC,IAAI,yBACzBN,EAACQ,KAAAA,KAAIb,KAAKC,MAAMS,KAAKC,IAAI,2BAIhCX,KAAKC,MAAMa,eACRT,EAACU,EAAAA,oUAAAA,CAAAA,CAAAA,EACOf,KAAKC,OAAK,CACda,cAAed,KAAKC,MAAMa,cAC1BZ,KAAMF,KAAKD,YACXiB,SAAUhB,KAAKiB,OACfC,UAAWlB,KAAKkB,UAChBC,gBAAiBnB,KAAKmB,mBAK1C,EA7BAC,EADEvB,EAC8BwB,OAAmBC,EAAWC"}
1
+ {"version":3,"file":"Trustly.js","sources":["../../../../src/components/Trustly/Trustly.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport RedirectElement from '../Redirect';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport './Trustly.scss';\n\nclass TrustlyElement extends RedirectElement {\n public static override readonly type: TxVariants = TxVariants.trustly;\n\n override get displayName() {\n return this.props.name || this.constructor['type'];\n }\n\n protected override componentToRender(): h.JSX.Element {\n return (\n <Fragment>\n <div className=\"adyen-checkout-trustly\">\n <p className=\"adyen-checkout-trustly__descriptor\">{this.props.i18n.get('trustly.descriptor')}</p>\n <ul className=\"adyen-checkout-trustly__description-list\">\n <li>{this.props.i18n.get('trustly.description1')}</li>\n <li>{this.props.i18n.get('trustly.description2')}</li>\n </ul>\n </div>\n\n <RedirectButton\n {...this.props}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n setComponentRef={this.setComponentRef}\n />\n </Fragment>\n );\n }\n}\n\nexport default TrustlyElement;\n"],"names":["TrustlyElement","RedirectElement","displayName","this","props","name","constructor","componentToRender","h","Fragment","div","className","p","i18n","get","ul","li","RedirectButton","onSubmit","submit","payButton","setComponentRef","_define_property","type","TxVariants","trustly"],"mappings":"0sBAMA,MAAMA,UAAuBC,EAGzB,eAAaC,GACT,OAAOC,KAAKC,MAAMC,MAAQF,KAAKG,YAAY,IAC/C,CAEmBC,iBAAAA,GACf,OACIC,EAACC,OACGD,EAACE,MAAAA,CAAIC,UAAU,0BACXH,EAACI,IAAAA,CAAED,UAAU,sCAAsCR,KAAKC,MAAMS,KAAKC,IAAI,uBACvEN,EAACO,KAAAA,CAAGJ,UAAU,4CACVH,EAACQ,KAAAA,KAAIb,KAAKC,MAAMS,KAAKC,IAAI,yBACzBN,EAACQ,KAAAA,KAAIb,KAAKC,MAAMS,KAAKC,IAAI,2BAIjCN,EAACS,EAAAA,oUAAAA,CAAAA,CAAAA,EACOd,KAAKC,OAAK,CACdC,KAAMF,KAAKD,YACXgB,SAAUf,KAAKgB,OACfC,UAAWjB,KAAKiB,UAChBC,gBAAiBlB,KAAKkB,mBAItC,EA1BAC,EADEtB,EAC8BuB,OAAmBC,EAAWC"}
@@ -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 n}from"../internal/Await/Await.js";import{QRLoader as r}from"../internal/QRLoader/QRLoader.js";import"../../core/Context/CoreProvider.js";import"../../external/preact/hooks/dist/hooks.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 a,UPI_COUNTDOWN_TIME as p}from"./constants.js";function m(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]:{},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){m(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 l extends e{formatProps(t){return d({showOtherInsteadOfNumber:!s()},t)}get isValid(){return this.state.isValid}formatData(){const{app:t}=this.state.data||{};return{paymentMethod:d({type:this.paymentType},this.paymentType===i.upi_intent&&(null==t?void 0:t.id)&&{appId:t.id})}}get brands(){const{showPaymentMethodItemImages:t}=this.props;return t?this.appsList.map(t=>({icon:t.icon,name:t.name})):[]}get paymentType(){return this.mode===a.QR_CODE?i.upi_qr:i.upi_intent}componentToRender(){const{type:e,url:s,paymentMethodType:a}=this.props,p=!!this.props.mandate;switch(e){case"qrCode":var m,l;return t(r,u(d({},this.props),{qrCodeData:this.props.qrCodeData?encodeURIComponent(this.props.qrCodeData):void 0,type:i.upi_qr,brandLogo:this.props.brandLogo||this.icon,brandName:this.displayName,onComplete:this.onComplete,introduction:null!==(m=null===(l=this.props.i18n)||void 0===l?void 0:l.get("upi.qrCodeWaitingMessage"))&&void 0!==m?m:"",countdownTime:this.props.countdownTime,onActionHandled:this.onActionHandled,showAmount:!p}));case"await":var c,h,y,f,b;return t(n,{url:s,type:null!=a?a:"",showCountdownTimer:!0,shouldRedirectAutomatically:!0,showAmount:!p,countdownTime:this.props.countdownTime,clientKey:null!==(c=this.props.clientKey)&&void 0!==c?c:"",paymentData:this.props.paymentData,onActionHandled:this.onActionHandled,onError:this.props.onError,messageText:null!==(h=null===(f=this.props.i18n)||void 0===f?void 0:f.get("upi.vpaWaitingMessage"))&&void 0!==h?h:"",awaitText:null!==(y=null===(b=this.props.i18n)||void 0===b?void 0:b.get("await.waitForConfirmation"))&&void 0!==y?y:"",onComplete:this.onComplete,brandLogo:this.icon,brandName:this.displayName});default:var v;return t(o,{setComponentRef:this.setComponentRef,payButton:this.payButton,onChange:this.setState,appsList:this.appsList,mode:this.mode,showPayButton:null===(v=this.props.showPayButton)||void 0===v||v,mandate:this.props.mandate,onSubmitAnalytics:this.submitAnalytics})}}constructor(t,e){super(t,e),m(this,"mode",void 0),m(this,"appsList",void 0);const{apps:o=[]}=this.props,n=o.length>0;this.mode=s()&&n?a.INTENT:a.QR_CODE,this.appsList=o.map(t=>{var e,o;const n=`upi/${t.id.toLowerCase()}`,r=null!==(e=null===(o=this.core.modules.resources)||void 0===o?void 0:o.getImage()(n))&&void 0!==e?e:"";return{id:t.id,name:t.name,icon:r}})}}m(l,"type",i.upi),m(l,"txVariants",[i.upi,i.upi_qr,i.upi_intent]),m(l,"defaultProps",{showPaymentMethodItemImages:!0,countdownTime:p});export{l 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 n}from"../internal/Await/Await.js";import{QRLoader as r}from"../internal/QRLoader/QRLoader.js";import"../../core/Context/CoreProvider.js";import"../../external/preact/hooks/dist/hooks.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 a,UPI_COUNTDOWN_TIME as p}from"./constants.js";function m(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]:{},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){m(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}class u extends e{formatProps(t){return d({showOtherInsteadOfNumber:!s()},t)}get isValid(){return this.state.isValid}formatData(){const{app:t}=this.state.data||{};return{paymentMethod:d({type:this.paymentType},this.paymentType===i.upi_intent&&(null==t?void 0:t.id)&&{appId:t.id})}}get brands(){const{showPaymentMethodItemImages:t}=this.props;return t?this.appsList.map(t=>({icon:t.icon,name:t.name})):[]}get paymentType(){return this.mode===a.QR_CODE?i.upi_qr:i.upi_intent}componentToRender(){const{type:e,url:s,paymentMethodType:a}=this.props,p=!!this.props.mandate;switch(e){case"qrCode":var m,u;return t(r,l(d({},this.props),{qrCodeData:this.props.qrCodeData?encodeURIComponent(this.props.qrCodeData):void 0,type:i.upi_qr,brandLogo:this.props.brandLogo||this.icon,brandName:this.displayName,onComplete:this.onComplete,introduction:null!==(m=null===(u=this.props.i18n)||void 0===u?void 0:u.get("upi.qrCodeWaitingMessage"))&&void 0!==m?m:"",countdownTime:this.props.countdownTime,onActionHandled:this.onActionHandled,showAmount:!p}));case"await":var c,h,y,f,b;return t(n,{url:s,type:null!=a?a:"",showCountdownTimer:!0,shouldRedirectAutomatically:!0,showAmount:!p,countdownTime:this.props.countdownTime,clientKey:null!==(c=this.props.clientKey)&&void 0!==c?c:"",paymentData:this.props.paymentData,onActionHandled:this.onActionHandled,onError:this.props.onError,messageText:null!==(h=null===(f=this.props.i18n)||void 0===f?void 0:f.get("upi.vpaWaitingMessage"))&&void 0!==h?h:"",awaitText:null!==(y=null===(b=this.props.i18n)||void 0===b?void 0:b.get("await.waitForConfirmation"))&&void 0!==y?y:"",onComplete:this.onComplete,brandLogo:this.icon,brandName:this.displayName});default:return t(o,{setComponentRef:this.setComponentRef,payButton:this.payButton,onChange:this.setState,appsList:this.appsList,mode:this.mode,mandate:this.props.mandate,onSubmitAnalytics:this.submitAnalytics})}}constructor(t,e){super(t,e),m(this,"mode",void 0),m(this,"appsList",void 0);const{apps:o=[]}=this.props,n=o.length>0;this.mode=s()&&n?a.INTENT:a.QR_CODE,this.appsList=o.map(t=>{var e,o;const n=`upi/${t.id.toLowerCase()}`,r=null!==(e=null===(o=this.core.modules.resources)||void 0===o?void 0:o.getImage()(n))&&void 0!==e?e:"";return{id:t.id,name:t.name,icon:r}})}}m(u,"type",i.upi),m(u,"txVariants",[i.upi,i.upi_qr,i.upi_intent]),m(u,"defaultProps",{showPaymentMethodItemImages:!0,countdownTime:p});export{u as default};
2
2
  //# sourceMappingURL=UPI.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UPI.js","sources":["../../../../src/components/UPI/UPI.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport UPIComponent from './components/UPIComponent';\nimport { Await } from '../internal/Await';\nimport { QRLoader } from '../internal/QRLoader';\nimport { UPIAppList, UPIConfiguration, UpiMode, UpiPaymentData, UpiType } from './types';\nimport { TxVariants } from '../tx-variants';\nimport isMobile from '../../utils/isMobile';\nimport { UPI_COUNTDOWN_TIME, UPI_MODE } from './constants';\nimport { PaymentMethodBrand } from '../../types/global-types';\nimport { ICore } from '../../types';\n\n/**\n * For mobile:\n * We should show upi_intent depending on if `apps` are returned in /paymentMethods response.\n *\n * For non-mobile:\n * We should never show the upi_intent (ignore `apps` in /paymentMethods response)\n * Show upi_qr as default\n */\n\nclass UPI extends UIElement<UPIConfiguration> {\n public static readonly type = TxVariants.upi;\n public static readonly txVariants = [TxVariants.upi, TxVariants.upi_qr, TxVariants.upi_intent];\n private readonly mode: UpiMode;\n private readonly appsList: UPIAppList;\n\n protected static readonly defaultProps = {\n showPaymentMethodItemImages: true,\n countdownTime: UPI_COUNTDOWN_TIME\n };\n\n constructor(checkout: ICore, props: UPIConfiguration) {\n super(checkout, props);\n const { apps = [] } = this.props;\n const hasIntentApps = apps.length > 0;\n\n this.mode = isMobile() && hasIntentApps ? UPI_MODE.INTENT : UPI_MODE.QR_CODE;\n\n this.appsList = apps.map(app => {\n const imageName = `upi/${app.id.toLowerCase()}`;\n const brandIcon = this.core.modules.resources?.getImage()(imageName) ?? '';\n return { id: app.id, name: app.name, icon: brandIcon };\n });\n }\n\n protected formatProps(props: UPIConfiguration): UPIConfiguration {\n return {\n showOtherInsteadOfNumber: !isMobile(),\n ...props\n };\n }\n\n public get isValid(): boolean {\n return this.state.isValid;\n }\n\n public formatData(): UpiPaymentData {\n const { app } = this.state.data || {};\n\n return {\n paymentMethod: {\n type: this.paymentType,\n ...(this.paymentType === TxVariants.upi_intent && app?.id && { appId: app.id })\n }\n };\n }\n\n get brands(): PaymentMethodBrand[] {\n const { showPaymentMethodItemImages } = this.props;\n\n if (!showPaymentMethodItemImages) {\n return [];\n }\n\n return this.appsList.map(app => ({ icon: app.icon, name: app.name }));\n }\n\n get paymentType(): UpiType {\n if (this.mode === UPI_MODE.QR_CODE) {\n return TxVariants.upi_qr;\n }\n return TxVariants.upi_intent;\n }\n\n protected override componentToRender(): h.JSX.Element {\n const { type, url, paymentMethodType } = this.props;\n\n const isAutoPay = !!this.props.mandate;\n\n switch (type) {\n case 'qrCode':\n return (\n <QRLoader\n {...this.props}\n qrCodeData={this.props.qrCodeData ? encodeURIComponent(this.props.qrCodeData) : undefined}\n type={TxVariants.upi_qr}\n brandLogo={this.props.brandLogo || this.icon}\n brandName={this.displayName}\n onComplete={this.onComplete}\n introduction={this.props.i18n?.get('upi.qrCodeWaitingMessage') ?? ''}\n countdownTime={this.props.countdownTime}\n onActionHandled={this.onActionHandled}\n showAmount={!isAutoPay}\n />\n );\n case 'await':\n return (\n <Await\n url={url}\n type={paymentMethodType ?? ''}\n showCountdownTimer\n shouldRedirectAutomatically\n showAmount={!isAutoPay}\n countdownTime={this.props.countdownTime}\n clientKey={this.props.clientKey ?? ''}\n paymentData={this.props.paymentData}\n onActionHandled={this.onActionHandled}\n onError={this.props.onError}\n messageText={this.props.i18n?.get('upi.vpaWaitingMessage') ?? ''}\n awaitText={this.props.i18n?.get('await.waitForConfirmation') ?? ''}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n brandName={this.displayName}\n />\n );\n default:\n return (\n <UPIComponent\n setComponentRef={this.setComponentRef}\n payButton={this.payButton}\n onChange={this.setState}\n appsList={this.appsList}\n mode={this.mode}\n showPayButton={this.props.showPayButton ?? true}\n mandate={this.props.mandate}\n onSubmitAnalytics={this.submitAnalytics}\n />\n );\n }\n }\n}\n\nexport default UPI;\n"],"names":["UPI","UIElement","formatProps","props","_object_spread","showOtherInsteadOfNumber","isMobile","isValid","this","state","formatData","app","data","paymentMethod","type","paymentType","TxVariants","upi_intent","id","appId","brands","showPaymentMethodItemImages","appsList","map","icon","name","mode","UPI_MODE","QR_CODE","upi_qr","componentToRender","url","paymentMethodType","isAutoPay","mandate","_this_props_i18n","h","QRLoader","qrCodeData","encodeURIComponent","undefined","brandLogo","brandName","displayName","onComplete","introduction","_ref","i18n","get","countdownTime","onActionHandled","showAmount","_this_props_clientKey","_ref1","_ref2","_this_props_i18n1","_this_props_i18n2","Await","showCountdownTimer","shouldRedirectAutomatically","clientKey","paymentData","onError","messageText","awaitText","_this_props_showPayButton","UPIComponent","setComponentRef","payButton","onChange","setState","showPayButton","onSubmitAnalytics","submitAnalytics","constructor","checkout","super","_define_property","apps","hasIntentApps","length","INTENT","_this_core_modules_resources","imageName","toLowerCase","brandIcon","core","modules","resources","getImage","upi","txVariants","defaultProps","UPI_COUNTDOWN_TIME"],"mappings":"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"}
1
+ {"version":3,"file":"UPI.js","sources":["../../../../src/components/UPI/UPI.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport UPIComponent from './components/UPIComponent';\nimport { Await } from '../internal/Await';\nimport { QRLoader } from '../internal/QRLoader';\nimport { UPIAppList, UPIConfiguration, UpiMode, UpiPaymentData, UpiType } from './types';\nimport { TxVariants } from '../tx-variants';\nimport isMobile from '../../utils/isMobile';\nimport { UPI_COUNTDOWN_TIME, UPI_MODE } from './constants';\nimport { PaymentMethodBrand } from '../../types/global-types';\nimport { ICore } from '../../types';\n\n/**\n * For mobile:\n * We should show upi_intent depending on if `apps` are returned in /paymentMethods response.\n *\n * For non-mobile:\n * We should never show the upi_intent (ignore `apps` in /paymentMethods response)\n * Show upi_qr as default\n */\n\nclass UPI extends UIElement<UPIConfiguration> {\n public static readonly type = TxVariants.upi;\n public static readonly txVariants = [TxVariants.upi, TxVariants.upi_qr, TxVariants.upi_intent];\n private readonly mode: UpiMode;\n private readonly appsList: UPIAppList;\n\n protected static readonly defaultProps = {\n showPaymentMethodItemImages: true,\n countdownTime: UPI_COUNTDOWN_TIME\n };\n\n constructor(checkout: ICore, props: UPIConfiguration) {\n super(checkout, props);\n const { apps = [] } = this.props;\n const hasIntentApps = apps.length > 0;\n\n this.mode = isMobile() && hasIntentApps ? UPI_MODE.INTENT : UPI_MODE.QR_CODE;\n\n this.appsList = apps.map(app => {\n const imageName = `upi/${app.id.toLowerCase()}`;\n const brandIcon = this.core.modules.resources?.getImage()(imageName) ?? '';\n return { id: app.id, name: app.name, icon: brandIcon };\n });\n }\n\n protected formatProps(props: UPIConfiguration): UPIConfiguration {\n return {\n showOtherInsteadOfNumber: !isMobile(),\n ...props\n };\n }\n\n public get isValid(): boolean {\n return this.state.isValid;\n }\n\n public formatData(): UpiPaymentData {\n const { app } = this.state.data || {};\n\n return {\n paymentMethod: {\n type: this.paymentType,\n ...(this.paymentType === TxVariants.upi_intent && app?.id && { appId: app.id })\n }\n };\n }\n\n get brands(): PaymentMethodBrand[] {\n const { showPaymentMethodItemImages } = this.props;\n\n if (!showPaymentMethodItemImages) {\n return [];\n }\n\n return this.appsList.map(app => ({ icon: app.icon, name: app.name }));\n }\n\n get paymentType(): UpiType {\n if (this.mode === UPI_MODE.QR_CODE) {\n return TxVariants.upi_qr;\n }\n return TxVariants.upi_intent;\n }\n\n protected override componentToRender(): h.JSX.Element {\n const { type, url, paymentMethodType } = this.props;\n\n const isAutoPay = !!this.props.mandate;\n\n switch (type) {\n case 'qrCode':\n return (\n <QRLoader\n {...this.props}\n qrCodeData={this.props.qrCodeData ? encodeURIComponent(this.props.qrCodeData) : undefined}\n type={TxVariants.upi_qr}\n brandLogo={this.props.brandLogo || this.icon}\n brandName={this.displayName}\n onComplete={this.onComplete}\n introduction={this.props.i18n?.get('upi.qrCodeWaitingMessage') ?? ''}\n countdownTime={this.props.countdownTime}\n onActionHandled={this.onActionHandled}\n showAmount={!isAutoPay}\n />\n );\n case 'await':\n return (\n <Await\n url={url}\n type={paymentMethodType ?? ''}\n showCountdownTimer\n shouldRedirectAutomatically\n showAmount={!isAutoPay}\n countdownTime={this.props.countdownTime}\n clientKey={this.props.clientKey ?? ''}\n paymentData={this.props.paymentData}\n onActionHandled={this.onActionHandled}\n onError={this.props.onError}\n messageText={this.props.i18n?.get('upi.vpaWaitingMessage') ?? ''}\n awaitText={this.props.i18n?.get('await.waitForConfirmation') ?? ''}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n brandName={this.displayName}\n />\n );\n default:\n return (\n <UPIComponent\n setComponentRef={this.setComponentRef}\n payButton={this.payButton}\n onChange={this.setState}\n appsList={this.appsList}\n mode={this.mode}\n mandate={this.props.mandate}\n onSubmitAnalytics={this.submitAnalytics}\n />\n );\n }\n }\n}\n\nexport default UPI;\n"],"names":["UPI","UIElement","formatProps","props","_object_spread","showOtherInsteadOfNumber","isMobile","isValid","this","state","formatData","app","data","paymentMethod","type","paymentType","TxVariants","upi_intent","id","appId","brands","showPaymentMethodItemImages","appsList","map","icon","name","mode","UPI_MODE","QR_CODE","upi_qr","componentToRender","url","paymentMethodType","isAutoPay","mandate","_this_props_i18n","h","QRLoader","qrCodeData","encodeURIComponent","undefined","brandLogo","brandName","displayName","onComplete","introduction","_ref","i18n","get","countdownTime","onActionHandled","showAmount","_this_props_clientKey","_ref1","_ref2","_this_props_i18n1","_this_props_i18n2","Await","showCountdownTimer","shouldRedirectAutomatically","clientKey","paymentData","onError","messageText","awaitText","UPIComponent","setComponentRef","payButton","onChange","setState","onSubmitAnalytics","submitAnalytics","constructor","checkout","super","_define_property","apps","hasIntentApps","length","INTENT","_this_core_modules_resources","imageName","toLowerCase","brandIcon","core","modules","resources","getImage","upi","txVariants","defaultProps","UPI_COUNTDOWN_TIME"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{createElement as e,Fragment as t}from"../../../../external/preact/dist/preact.js";import{useState as n,useRef as a,useMemo as o,useEffect as r,useCallback as i}from"../../../../external/preact/hooks/dist/hooks.js";import s from"../../../../core/Context/useImage.js";import{MAX_PRIMARY_APPS as l,UPI_MODE as p,A11Y as c}from"../../constants.js";import"../../../../_virtual/index.js";import{SegmentedControlRegion as d}from"../../../internal/SegmentedControl/SegmentedControlRegion.js";import u from"../UPIIntentAppList/UPIIntentAppList.js";import{useCoreContext as m}from"../../../../core/Context/CoreProvider.js";import f from"../../../internal/Alert/Alert.js";import g from"../UPIMandate/UPIMandate.js";import{useAmount as y}from"../../../../core/Context/AmountProvider.js";import{BrandIcons as b}from"../../../internal/BrandIcons/BrandIcons.js";import h from"../../../internal/ContentSeparator/ContentSeparator.js";import I from"../../../internal/FormFields/Field/Field.js";import j from"../../../internal/FormFields/Select/Select.js";import{AnalyticsInfoEvent as N,InfoEventType as C,UiTarget as v}from"../../../../core/Analytics/events/AnalyticsInfoEvent.js";import{ANALYTICS_SEARCH_DEBOUNCE_TIME as S}from"../../../../core/Analytics/constants.js";import{debounce as A}from"../../../../utils/debounce.js";function w(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function E(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){w(e,t,n[t])})}return e}function k({mode:w,onChange:k,payButton:O,setComponentRef:T,showPayButton:P,mandate:_,appsList:B,onSubmitAnalytics:L}){const{i18n:R}=m(),x=s(),[F,Q]=n("ready"),[M,V]=n(null),{amount:D}=y(),[U,q]=n(w===p.QR_CODE),$=_&&e(g,{mandate:_,amount:D}),z=a({setStatus:Q,showValidation:()=>{w===p.INTENT&&ee()}}),G=o(()=>B.slice(0,l),[B]),H=o(()=>B.slice(l),[B]);r(()=>{T(z.current)},[T]);const J=i((e,t)=>{e&&e.id!==(null==M?void 0:M.id)&&(V(e),q(!0),Q("ready"),L(new N({component:"upi_intent",type:C.selected,target:t,issuer:e.name})))},[M,L]),K=i(e=>J(e,v.list),[J]),W=i(e=>{const t=H.find(t=>t.id===e.target.value);J(t,v.listSearch)},[H,J]),X=i(e=>{e&&L(new N({component:"upi_intent",type:C.displayed,target:v.list}))},[L]),Y=a(A(L,S)),Z=i(()=>{Y.current({type:C.input,target:v.listSearch})},[]),ee=i(()=>{M?(Q("ready"),q(!0)):(Q("error"),q(!1))},[M]),te=o(()=>B.map(e=>({src:e.icon,alt:e.name})),[B]);return r(()=>{w!==p.QR_CODE?k({data:E({},M&&{app:M}),isValid:U}):k({data:{},valid:{},errors:{},isValid:!0})},[M,U,w,k]),r(()=>{w===p.INTENT&&0!==G.length&&L(new N({component:"upi_intent",type:C.displayed,target:v.list,presentedValues:G.map(e=>e.id)}))},[]),e(t,null,w===p.INTENT&&e(d,{id:c.AreaId.INTENT,ariaLabelledBy:c.ButtonId.INTENT,className:"adyen-checkout-upi-area-intent"},e("span",{className:"adyen-checkout-upi-instruction-label"},R.get("upi.intent.instruction")),e("span",{className:"adyen-checkout-upi-instruction-title"},R.get("upi.intent.apps.title")),"error"===F&&e(f,{icon:"cross"},R.get("upi.error.noAppSelected")),e(u,{disabled:"loading"===F,appsList:G,selectedAppId:null==M?void 0:M.id,onAppSelect:K}),H.length>0&&e(t,null,e(h,{classNames:["adyen-checkout-upi-instruction-separator"],label:"issuerList.separatorText"}),e(I,{label:R.get("upi.intent.apps.dropdown.label"),classNameModifiers:["upi-app-list"],name:"upi-app-list"},e(j,{items:H,selectedValue:H.some(e=>e.id===(null==M?void 0:M.id))?null==M?void 0:M.id:void 0,placeholder:R.get("upi.intent.apps.dropdown.placeholder"),name:"upi-app-list",className:"adyen-checkout__upi-app-list__dropdown",onChange:W,onInput:Z,onListToggle:X}))),$,P&&O({label:R.get("continue"),status:F})),w===p.QR_CODE&&e(d,{id:c.AreaId.QR,ariaLabelledBy:c.ButtonId.QR,className:"adyen-checkout-upi-area-qr-code"},e("span",{className:"adyen-checkout-upi-instruction-label-caption"},R.get("upi.qrCode.instruction")),e(b,{className:"adyen-checkout-upi-brands",brandIcons:te,showIconOnError:!0,smallIcons:!0,remainingBrandsLabel:`+ ${R.get("paymentMethodBrand.other")}`}),$,P&&O({label:R.get("generateQRCode"),icon:x({imageFolder:"components/"})("qr"),status:F})))}export{k as default};
1
+ import{createElement as e,Fragment as t}from"../../../../external/preact/dist/preact.js";import{useState as n,useRef as a,useMemo as o,useEffect as r,useCallback as i}from"../../../../external/preact/hooks/dist/hooks.js";import s from"../../../../core/Context/useImage.js";import{MAX_PRIMARY_APPS as l,UPI_MODE as p,A11Y as c}from"../../constants.js";import"../../../../_virtual/index.js";import{SegmentedControlRegion as d}from"../../../internal/SegmentedControl/SegmentedControlRegion.js";import u from"../UPIIntentAppList/UPIIntentAppList.js";import{useCoreContext as m}from"../../../../core/Context/CoreProvider.js";import f from"../../../internal/Alert/Alert.js";import g from"../UPIMandate/UPIMandate.js";import{useAmount as y}from"../../../../core/Context/AmountProvider.js";import{BrandIcons as b}from"../../../internal/BrandIcons/BrandIcons.js";import h from"../../../internal/ContentSeparator/ContentSeparator.js";import I from"../../../internal/FormFields/Field/Field.js";import j from"../../../internal/FormFields/Select/Select.js";import{AnalyticsInfoEvent as N,InfoEventType as C,UiTarget as v}from"../../../../core/Analytics/events/AnalyticsInfoEvent.js";import{ANALYTICS_SEARCH_DEBOUNCE_TIME as S}from"../../../../core/Analytics/constants.js";import{debounce as A}from"../../../../utils/debounce.js";function E(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function k(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.forEach(function(t){E(e,t,n[t])})}return e}function w({mode:E,onChange:w,payButton:O,setComponentRef:T,mandate:_,appsList:P,onSubmitAnalytics:B}){const{i18n:L}=m(),R=s(),[x,F]=n("ready"),[Q,M]=n(null),{amount:V}=y(),[D,U]=n(E===p.QR_CODE),q=_&&e(g,{mandate:_,amount:V}),$=a({setStatus:F,showValidation:()=>{E===p.INTENT&&Z()}}),z=o(()=>P.slice(0,l),[P]),G=o(()=>P.slice(l),[P]);r(()=>{T($.current)},[T]);const H=i((e,t)=>{e&&e.id!==(null==Q?void 0:Q.id)&&(M(e),U(!0),F("ready"),B(new N({component:"upi_intent",type:C.selected,target:t,issuer:e.name})))},[Q,B]),J=i(e=>H(e,v.list),[H]),K=i(e=>{const t=G.find(t=>t.id===e.target.value);H(t,v.listSearch)},[G,H]),W=i(e=>{e&&B(new N({component:"upi_intent",type:C.displayed,target:v.list}))},[B]),X=a(A(B,S)),Y=i(()=>{X.current({type:C.input,target:v.listSearch})},[]),Z=i(()=>{Q?(F("ready"),U(!0)):(F("error"),U(!1))},[Q]),ee=o(()=>P.map(e=>({src:e.icon,alt:e.name})),[P]);return r(()=>{E!==p.QR_CODE?w({data:k({},Q&&{app:Q}),isValid:D}):w({data:{},valid:{},errors:{},isValid:!0})},[Q,D,E,w]),r(()=>{E===p.INTENT&&0!==z.length&&B(new N({component:"upi_intent",type:C.displayed,target:v.list,presentedValues:z.map(e=>e.id)}))},[]),e(t,null,E===p.INTENT&&e(d,{id:c.AreaId.INTENT,ariaLabelledBy:c.ButtonId.INTENT,className:"adyen-checkout-upi-area-intent"},e("span",{className:"adyen-checkout-upi-instruction-label"},L.get("upi.intent.instruction")),e("span",{className:"adyen-checkout-upi-instruction-title"},L.get("upi.intent.apps.title")),"error"===x&&e(f,{icon:"cross"},L.get("upi.error.noAppSelected")),e(u,{disabled:"loading"===x,appsList:z,selectedAppId:null==Q?void 0:Q.id,onAppSelect:J}),G.length>0&&e(t,null,e(h,{classNames:["adyen-checkout-upi-instruction-separator"],label:"issuerList.separatorText"}),e(I,{label:L.get("upi.intent.apps.dropdown.label"),classNameModifiers:["upi-app-list"],name:"upi-app-list"},e(j,{items:G,selectedValue:G.some(e=>e.id===(null==Q?void 0:Q.id))?null==Q?void 0:Q.id:void 0,placeholder:L.get("upi.intent.apps.dropdown.placeholder"),name:"upi-app-list",className:"adyen-checkout__upi-app-list__dropdown",onChange:K,onInput:Y,onListToggle:W}))),q,O({label:L.get("continue"),status:x})),E===p.QR_CODE&&e(d,{id:c.AreaId.QR,ariaLabelledBy:c.ButtonId.QR,className:"adyen-checkout-upi-area-qr-code"},e("span",{className:"adyen-checkout-upi-instruction-label-caption"},L.get("upi.qrCode.instruction")),e(b,{className:"adyen-checkout-upi-brands",brandIcons:ee,showIconOnError:!0,smallIcons:!0,remainingBrandsLabel:`+ ${L.get("paymentMethodBrand.other")}`}),q,O({label:L.get("generateQRCode"),icon:R({imageFolder:"components/"})("qr"),status:x})))}export{w as default};
2
2
  //# sourceMappingURL=UPIComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UPIComponent.js","sources":["../../../../../../src/components/UPI/components/UPIComponent/UPIComponent.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'preact/hooks';\nimport { ComponentMethodsRef, UIElementStatus } from '../../../types';\nimport { App, UPIAppList, UpiMode } from '../../types';\nimport useImage from '../../../../core/Context/useImage';\nimport { A11Y, MAX_PRIMARY_APPS, UPI_MODE } from '../../constants';\nimport { SegmentedControlRegion } from '../../../internal/SegmentedControl';\nimport UPIIntentAppList from '../UPIIntentAppList';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport Alert from '../../../internal/Alert';\nimport UPIMandate, { Mandate } from '../UPIMandate/UPIMandate';\nimport { PayButtonProps } from '../../../internal/PayButton/PayButton';\nimport { useAmount } from '../../../../core/Context/AmountProvider';\nimport { BrandIcon } from '../../../internal/BrandIcons/types';\nimport { BrandIcons } from '../../../internal/BrandIcons/BrandIcons';\nimport { ValidationRuleResult } from '../../../../utils/Validator/ValidationRuleResult';\nimport './UPIComponent.scss';\nimport ContentSeparator from '../../../internal/ContentSeparator';\nimport Field from '../../../internal/FormFields/Field';\nimport Select from '../../../internal/FormFields/Select';\nimport { SelectTargetObject } from '../../../internal/FormFields/Select/types';\nimport { AnalyticsInfoEvent, InfoEventType, UiTarget } from '../../../../core/Analytics/events/AnalyticsInfoEvent';\nimport { AbstractAnalyticsEvent } from '../../../../core/Analytics/events/AbstractAnalyticsEvent';\nimport { ANALYTICS_SEARCH_DEBOUNCE_TIME } from '../../../../core/Analytics/constants';\nimport { debounce } from '../../../../utils/debounce';\n\ntype UpiData = { app?: App };\n\ntype OnChangeProps = { data: UpiData; valid?: { [key: string]: boolean }; errors?: { [key: string]: ValidationRuleResult }; isValid: boolean };\ninterface UPIComponentProps {\n mode: UpiMode;\n showPayButton: boolean;\n appsList: UPIAppList;\n mandate?: Mandate;\n setComponentRef: (ref: ComponentMethodsRef) => void;\n payButton(props: PayButtonProps): h.JSX.Element;\n onChange({ data, valid, errors, isValid }: OnChangeProps): void;\n onSubmitAnalytics(event: AbstractAnalyticsEvent): void;\n}\n\nexport default function UPIComponent({\n mode,\n onChange,\n payButton,\n setComponentRef,\n showPayButton,\n mandate,\n appsList,\n onSubmitAnalytics\n}: Readonly<UPIComponentProps>): h.JSX.Element {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n const [status, setStatus] = useState<UIElementStatus>('ready');\n const [selectedApp, setSelectedApp] = useState<App | null>(null);\n const { amount } = useAmount();\n const [isValid, setIsValid] = useState<boolean>(mode === UPI_MODE.QR_CODE);\n const mandateComponent = mandate && <UPIMandate mandate={mandate} amount={amount} />;\n\n const upiRef = useRef<ComponentMethodsRef>({\n setStatus: setStatus,\n showValidation: () => {\n if (mode === UPI_MODE.INTENT) {\n validateIntentApp();\n }\n }\n });\n\n const priorityApps = useMemo(() => appsList.slice(0, MAX_PRIMARY_APPS), [appsList]);\n const lowPriorityApps = useMemo(() => appsList.slice(MAX_PRIMARY_APPS), [appsList]);\n\n useEffect(() => {\n setComponentRef(upiRef.current);\n }, [setComponentRef]);\n\n const selectApp = useCallback(\n (app: App | undefined, target: UiTarget) => {\n if (!app || app.id === selectedApp?.id) return;\n\n setSelectedApp(app);\n setIsValid(true);\n setStatus('ready');\n\n onSubmitAnalytics(\n new AnalyticsInfoEvent({\n component: 'upi_intent',\n type: InfoEventType.selected,\n target,\n issuer: app.name\n })\n );\n },\n [selectedApp, onSubmitAnalytics]\n );\n\n const handleAppSelect = useCallback((app: App) => selectApp(app, UiTarget.list), [selectApp]);\n\n const handleDropdownSelect = useCallback(\n (event: { target: SelectTargetObject }) => {\n const app = lowPriorityApps.find(a => a.id === event.target.value);\n selectApp(app, UiTarget.listSearch);\n },\n [lowPriorityApps, selectApp]\n );\n\n const handleListToggle = useCallback(\n (isOpen: boolean) => {\n if (isOpen) {\n onSubmitAnalytics(\n new AnalyticsInfoEvent({\n component: 'upi_intent',\n type: InfoEventType.displayed,\n target: UiTarget.list\n })\n );\n }\n },\n [onSubmitAnalytics]\n );\n\n const debounceSearchAnalytics = useRef(debounce(onSubmitAnalytics, ANALYTICS_SEARCH_DEBOUNCE_TIME));\n\n const handleSearch = useCallback(() => {\n debounceSearchAnalytics.current({ type: InfoEventType.input, target: UiTarget.listSearch });\n }, []);\n\n const validateIntentApp = useCallback(() => {\n if (selectedApp) {\n setStatus('ready');\n setIsValid(true);\n } else {\n setStatus('error');\n setIsValid(false);\n }\n }, [selectedApp]);\n\n const brandIcons: BrandIcon[] = useMemo(\n () =>\n appsList.map(app => ({\n src: app.icon,\n alt: app.name\n })),\n [appsList]\n );\n\n useEffect(() => {\n if (mode === UPI_MODE.QR_CODE) {\n /**\n * When selecting QR code mode, we need to clear the state data and trigger 'onChange'.\n */\n onChange({ data: {}, valid: {}, errors: {}, isValid: true });\n return;\n }\n onChange({\n data: { ...(selectedApp && { app: selectedApp }) },\n isValid\n });\n }, [selectedApp, isValid, mode, onChange]);\n\n useEffect(() => {\n if (mode !== UPI_MODE.INTENT || priorityApps.length === 0) return;\n\n onSubmitAnalytics(\n new AnalyticsInfoEvent({\n component: 'upi_intent',\n type: InfoEventType.displayed,\n target: UiTarget.list,\n presentedValues: priorityApps.map(a => a.id)\n })\n );\n }, []);\n\n return (\n <Fragment>\n {mode === UPI_MODE.INTENT && (\n <SegmentedControlRegion id={A11Y.AreaId.INTENT} ariaLabelledBy={A11Y.ButtonId.INTENT} className=\"adyen-checkout-upi-area-intent\">\n <span className=\"adyen-checkout-upi-instruction-label\">{i18n.get('upi.intent.instruction')}</span>\n <span className=\"adyen-checkout-upi-instruction-title\">{i18n.get('upi.intent.apps.title')}</span>\n {status === 'error' && <Alert icon={'cross'}>{i18n.get('upi.error.noAppSelected')}</Alert>}\n <UPIIntentAppList\n disabled={status === 'loading'}\n appsList={priorityApps}\n selectedAppId={selectedApp?.id}\n onAppSelect={handleAppSelect}\n />\n {lowPriorityApps.length > 0 && (\n <Fragment>\n <ContentSeparator classNames={['adyen-checkout-upi-instruction-separator']} label=\"issuerList.separatorText\" />\n <Field label={i18n.get('upi.intent.apps.dropdown.label')} classNameModifiers={['upi-app-list']} name={'upi-app-list'}>\n <Select\n items={lowPriorityApps}\n selectedValue={lowPriorityApps.some(a => a.id === selectedApp?.id) ? selectedApp?.id : undefined}\n placeholder={i18n.get('upi.intent.apps.dropdown.placeholder')}\n name={'upi-app-list'}\n className={'adyen-checkout__upi-app-list__dropdown'}\n onChange={handleDropdownSelect}\n onInput={handleSearch}\n onListToggle={handleListToggle}\n />\n </Field>\n </Fragment>\n )}\n {mandateComponent}\n {showPayButton &&\n payButton({\n label: i18n.get('continue'),\n status\n })}\n </SegmentedControlRegion>\n )}\n {mode === UPI_MODE.QR_CODE && (\n <SegmentedControlRegion id={A11Y.AreaId.QR} ariaLabelledBy={A11Y.ButtonId.QR} className=\"adyen-checkout-upi-area-qr-code\">\n <span className=\"adyen-checkout-upi-instruction-label-caption\">{i18n.get('upi.qrCode.instruction')}</span>\n <BrandIcons\n className=\"adyen-checkout-upi-brands\"\n brandIcons={brandIcons}\n showIconOnError\n smallIcons\n remainingBrandsLabel={`+ ${i18n.get('paymentMethodBrand.other')}`}\n />\n {mandateComponent}\n {showPayButton &&\n payButton({\n label: i18n.get('generateQRCode'),\n icon: getImage({ imageFolder: 'components/' })('qr'),\n status\n })}\n </SegmentedControlRegion>\n )}\n </Fragment>\n );\n}\n"],"names":["UPIComponent","mode","onChange","payButton","setComponentRef","showPayButton","mandate","appsList","onSubmitAnalytics","i18n","useCoreContext","getImage","useImage","status","setStatus","useState","selectedApp","setSelectedApp","amount","useAmount","isValid","setIsValid","UPI_MODE","QR_CODE","mandateComponent","h","UPIMandate","upiRef","useRef","showValidation","INTENT","validateIntentApp","priorityApps","useMemo","slice","MAX_PRIMARY_APPS","lowPriorityApps","useEffect","current","selectApp","useCallback","app","target","id","AnalyticsInfoEvent","component","type","InfoEventType","selected","issuer","name","handleAppSelect","UiTarget","list","handleDropdownSelect","event","find","a","value","listSearch","handleListToggle","isOpen","displayed","debounceSearchAnalytics","debounce","ANALYTICS_SEARCH_DEBOUNCE_TIME","handleSearch","input","brandIcons","map","src","icon","alt","data","_object_spread","valid","errors","length","presentedValues","Fragment","SegmentedControlRegion","A11Y","AreaId","ariaLabelledBy","ButtonId","className","span","get","Alert","UPIIntentAppList","disabled","selectedAppId","onAppSelect","ContentSeparator","classNames","label","Field","classNameModifiers","Select","items","selectedValue","some","undefined","placeholder","onInput","onListToggle","QR","BrandIcons","showIconOnError","smallIcons","remainingBrandsLabel","imageFolder"],"mappings":"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"}
1
+ {"version":3,"file":"UPIComponent.js","sources":["../../../../../../src/components/UPI/components/UPIComponent/UPIComponent.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'preact/hooks';\nimport { ComponentMethodsRef, UIElementStatus } from '../../../types';\nimport { App, UPIAppList, UpiMode } from '../../types';\nimport useImage from '../../../../core/Context/useImage';\nimport { A11Y, MAX_PRIMARY_APPS, UPI_MODE } from '../../constants';\nimport { SegmentedControlRegion } from '../../../internal/SegmentedControl';\nimport UPIIntentAppList from '../UPIIntentAppList';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport Alert from '../../../internal/Alert';\nimport UPIMandate, { Mandate } from '../UPIMandate/UPIMandate';\nimport { PayButtonProps } from '../../../internal/PayButton/PayButton';\nimport { useAmount } from '../../../../core/Context/AmountProvider';\nimport { BrandIcon } from '../../../internal/BrandIcons/types';\nimport { BrandIcons } from '../../../internal/BrandIcons/BrandIcons';\nimport { ValidationRuleResult } from '../../../../utils/Validator/ValidationRuleResult';\nimport './UPIComponent.scss';\nimport ContentSeparator from '../../../internal/ContentSeparator';\nimport Field from '../../../internal/FormFields/Field';\nimport Select from '../../../internal/FormFields/Select';\nimport { SelectTargetObject } from '../../../internal/FormFields/Select/types';\nimport { AnalyticsInfoEvent, InfoEventType, UiTarget } from '../../../../core/Analytics/events/AnalyticsInfoEvent';\nimport { AbstractAnalyticsEvent } from '../../../../core/Analytics/events/AbstractAnalyticsEvent';\nimport { ANALYTICS_SEARCH_DEBOUNCE_TIME } from '../../../../core/Analytics/constants';\nimport { debounce } from '../../../../utils/debounce';\n\ntype UpiData = { app?: App };\n\ntype OnChangeProps = { data: UpiData; valid?: { [key: string]: boolean }; errors?: { [key: string]: ValidationRuleResult }; isValid: boolean };\ninterface UPIComponentProps {\n mode: UpiMode;\n appsList: UPIAppList;\n mandate?: Mandate;\n setComponentRef: (ref: ComponentMethodsRef) => void;\n payButton(props: PayButtonProps): h.JSX.Element;\n onChange({ data, valid, errors, isValid }: OnChangeProps): void;\n onSubmitAnalytics(event: AbstractAnalyticsEvent): void;\n}\n\nexport default function UPIComponent({\n mode,\n onChange,\n payButton,\n setComponentRef,\n mandate,\n appsList,\n onSubmitAnalytics\n}: Readonly<UPIComponentProps>): h.JSX.Element {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n const [status, setStatus] = useState<UIElementStatus>('ready');\n const [selectedApp, setSelectedApp] = useState<App | null>(null);\n const { amount } = useAmount();\n const [isValid, setIsValid] = useState<boolean>(mode === UPI_MODE.QR_CODE);\n const mandateComponent = mandate && <UPIMandate mandate={mandate} amount={amount} />;\n\n const upiRef = useRef<ComponentMethodsRef>({\n setStatus: setStatus,\n showValidation: () => {\n if (mode === UPI_MODE.INTENT) {\n validateIntentApp();\n }\n }\n });\n\n const priorityApps = useMemo(() => appsList.slice(0, MAX_PRIMARY_APPS), [appsList]);\n const lowPriorityApps = useMemo(() => appsList.slice(MAX_PRIMARY_APPS), [appsList]);\n\n useEffect(() => {\n setComponentRef(upiRef.current);\n }, [setComponentRef]);\n\n const selectApp = useCallback(\n (app: App | undefined, target: UiTarget) => {\n if (!app || app.id === selectedApp?.id) return;\n\n setSelectedApp(app);\n setIsValid(true);\n setStatus('ready');\n\n onSubmitAnalytics(\n new AnalyticsInfoEvent({\n component: 'upi_intent',\n type: InfoEventType.selected,\n target,\n issuer: app.name\n })\n );\n },\n [selectedApp, onSubmitAnalytics]\n );\n\n const handleAppSelect = useCallback((app: App) => selectApp(app, UiTarget.list), [selectApp]);\n\n const handleDropdownSelect = useCallback(\n (event: { target: SelectTargetObject }) => {\n const app = lowPriorityApps.find(a => a.id === event.target.value);\n selectApp(app, UiTarget.listSearch);\n },\n [lowPriorityApps, selectApp]\n );\n\n const handleListToggle = useCallback(\n (isOpen: boolean) => {\n if (isOpen) {\n onSubmitAnalytics(\n new AnalyticsInfoEvent({\n component: 'upi_intent',\n type: InfoEventType.displayed,\n target: UiTarget.list\n })\n );\n }\n },\n [onSubmitAnalytics]\n );\n\n const debounceSearchAnalytics = useRef(debounce(onSubmitAnalytics, ANALYTICS_SEARCH_DEBOUNCE_TIME));\n\n const handleSearch = useCallback(() => {\n debounceSearchAnalytics.current({ type: InfoEventType.input, target: UiTarget.listSearch });\n }, []);\n\n const validateIntentApp = useCallback(() => {\n if (selectedApp) {\n setStatus('ready');\n setIsValid(true);\n } else {\n setStatus('error');\n setIsValid(false);\n }\n }, [selectedApp]);\n\n const brandIcons: BrandIcon[] = useMemo(\n () =>\n appsList.map(app => ({\n src: app.icon,\n alt: app.name\n })),\n [appsList]\n );\n\n useEffect(() => {\n if (mode === UPI_MODE.QR_CODE) {\n /**\n * When selecting QR code mode, we need to clear the state data and trigger 'onChange'.\n */\n onChange({ data: {}, valid: {}, errors: {}, isValid: true });\n return;\n }\n onChange({\n data: { ...(selectedApp && { app: selectedApp }) },\n isValid\n });\n }, [selectedApp, isValid, mode, onChange]);\n\n useEffect(() => {\n if (mode !== UPI_MODE.INTENT || priorityApps.length === 0) return;\n\n onSubmitAnalytics(\n new AnalyticsInfoEvent({\n component: 'upi_intent',\n type: InfoEventType.displayed,\n target: UiTarget.list,\n presentedValues: priorityApps.map(a => a.id)\n })\n );\n }, []);\n\n return (\n <Fragment>\n {mode === UPI_MODE.INTENT && (\n <SegmentedControlRegion id={A11Y.AreaId.INTENT} ariaLabelledBy={A11Y.ButtonId.INTENT} className=\"adyen-checkout-upi-area-intent\">\n <span className=\"adyen-checkout-upi-instruction-label\">{i18n.get('upi.intent.instruction')}</span>\n <span className=\"adyen-checkout-upi-instruction-title\">{i18n.get('upi.intent.apps.title')}</span>\n {status === 'error' && <Alert icon={'cross'}>{i18n.get('upi.error.noAppSelected')}</Alert>}\n <UPIIntentAppList\n disabled={status === 'loading'}\n appsList={priorityApps}\n selectedAppId={selectedApp?.id}\n onAppSelect={handleAppSelect}\n />\n {lowPriorityApps.length > 0 && (\n <Fragment>\n <ContentSeparator classNames={['adyen-checkout-upi-instruction-separator']} label=\"issuerList.separatorText\" />\n <Field label={i18n.get('upi.intent.apps.dropdown.label')} classNameModifiers={['upi-app-list']} name={'upi-app-list'}>\n <Select\n items={lowPriorityApps}\n selectedValue={lowPriorityApps.some(a => a.id === selectedApp?.id) ? selectedApp?.id : undefined}\n placeholder={i18n.get('upi.intent.apps.dropdown.placeholder')}\n name={'upi-app-list'}\n className={'adyen-checkout__upi-app-list__dropdown'}\n onChange={handleDropdownSelect}\n onInput={handleSearch}\n onListToggle={handleListToggle}\n />\n </Field>\n </Fragment>\n )}\n {mandateComponent}\n {payButton({\n label: i18n.get('continue'),\n status\n })}\n </SegmentedControlRegion>\n )}\n {mode === UPI_MODE.QR_CODE && (\n <SegmentedControlRegion id={A11Y.AreaId.QR} ariaLabelledBy={A11Y.ButtonId.QR} className=\"adyen-checkout-upi-area-qr-code\">\n <span className=\"adyen-checkout-upi-instruction-label-caption\">{i18n.get('upi.qrCode.instruction')}</span>\n <BrandIcons\n className=\"adyen-checkout-upi-brands\"\n brandIcons={brandIcons}\n showIconOnError\n smallIcons\n remainingBrandsLabel={`+ ${i18n.get('paymentMethodBrand.other')}`}\n />\n {mandateComponent}\n {payButton({\n label: i18n.get('generateQRCode'),\n icon: getImage({ imageFolder: 'components/' })('qr'),\n status\n })}\n </SegmentedControlRegion>\n )}\n </Fragment>\n );\n}\n"],"names":["UPIComponent","mode","onChange","payButton","setComponentRef","mandate","appsList","onSubmitAnalytics","i18n","useCoreContext","getImage","useImage","status","setStatus","useState","selectedApp","setSelectedApp","amount","useAmount","isValid","setIsValid","UPI_MODE","QR_CODE","mandateComponent","h","UPIMandate","upiRef","useRef","showValidation","INTENT","validateIntentApp","priorityApps","useMemo","slice","MAX_PRIMARY_APPS","lowPriorityApps","useEffect","current","selectApp","useCallback","app","target","id","AnalyticsInfoEvent","component","type","InfoEventType","selected","issuer","name","handleAppSelect","UiTarget","list","handleDropdownSelect","event","find","a","value","listSearch","handleListToggle","isOpen","displayed","debounceSearchAnalytics","debounce","ANALYTICS_SEARCH_DEBOUNCE_TIME","handleSearch","input","brandIcons","map","src","icon","alt","data","_object_spread","valid","errors","length","presentedValues","Fragment","SegmentedControlRegion","A11Y","AreaId","ariaLabelledBy","ButtonId","className","span","get","Alert","UPIIntentAppList","disabled","selectedAppId","onAppSelect","ContentSeparator","classNames","label","Field","classNameModifiers","Select","items","selectedValue","some","undefined","placeholder","onInput","onListToggle","QR","BrandIcons","showIconOnError","smallIcons","remainingBrandsLabel","imageFolder"],"mappings":"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"}
@@ -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 s from"../../internal/IssuerList/IssuerList.js";import r from"../../../utils/get-issuer-image.js";import{FALLBACK_CONTEXT as o}from"../../../core/config.js";import i from"../../internal/RedirectButton/RedirectButton.js";function n(t,e,s){return e in t?Object.defineProperty(t,e,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[e]=s,t}function p(t){for(var e=1;e<arguments.length;e++){var s=null!=arguments[e]?arguments[e]:{},r=Object.keys(s);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(s).filter(function(t){return Object.getOwnPropertyDescriptor(s,t).enumerable}))),r.forEach(function(e){n(t,e,s[e])})}return t}function a(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 s=Object.getOwnPropertySymbols(t);e.push.apply(e,s)}return e}(Object(e)).forEach(function(s){Object.defineProperty(t,s,Object.getOwnPropertyDescriptor(e,s))}),t}class u extends e{formatProps(t){var e,s;const r=(null==t||null===(e=t.details)||void 0===e?void 0:e.length)&&(null===(s=t.details.find(t=>"issuer"===t.key))||void 0===s?void 0:s.items)||t.issuers||[];return a(p({},t),{issuers:r})}formatData(){var t,e;return{paymentMethod:{type:this.type,issuer:null===(e=this.state)||void 0===e||null===(t=e.data)||void 0===t?void 0:t.issuer}}}get isValid(){var t;return 0===this.props.issuers.length||Boolean(null===(t=this.state)||void 0===t?void 0:t.isValid)}get brands(){return this.props.showPaymentMethodItemImages?this.props.issuers.map(t=>({icon:t.icon,name:t.id})):[]}componentToRender(){return this.props.issuers.length>0?t(s,a(p({items:this.props.issuers,highlightedIds:this.props.highlightedIssuers},this.props,this.state),{setComponentRef:this.setComponentRef,showImage:this.props.showImage,type:this.constructor.type,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton,contextualText:this.props.i18n.get("issuerList.selectField.contextualText"),onSubmitAnalytics:this.submitAnalytics})):t(i,a(p({showPayButton:this.props.showPayButton,name:this.props.name},this.props),{onSubmit:this.submit,payButton:this.payButton,setComponentRef:this.setComponentRef}))}constructor(t,e){super(t,e);const s=t=>this.resources.getImage(t);if(this.props.showImage){const t=r({loadingContext:this.props.loadingContext},this.constructor.type,s);this.props.issuers=this.props.issuers.map(e=>a(p({},e),{icon:t(e.id)}))}}}n(u,"defaultProps",{showImage:!0,issuers:[],highlightedIssuers:[],loadingContext:o,showPaymentMethodItemImages:!1});export{u as default};
1
+ import{createElement as t}from"../../../external/preact/dist/preact.js";import{UIElement as e}from"../../internal/UIElement/UIElement.js";import s from"../../internal/IssuerList/IssuerList.js";import r from"../../../utils/get-issuer-image.js";import{FALLBACK_CONTEXT as o}from"../../../core/config.js";import i from"../../internal/RedirectButton/RedirectButton.js";function n(t,e,s){return e in t?Object.defineProperty(t,e,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[e]=s,t}function p(t){for(var e=1;e<arguments.length;e++){var s=null!=arguments[e]?arguments[e]:{},r=Object.keys(s);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(s).filter(function(t){return Object.getOwnPropertyDescriptor(s,t).enumerable}))),r.forEach(function(e){n(t,e,s[e])})}return t}function a(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 s=Object.getOwnPropertySymbols(t);e.push.apply(e,s)}return e}(Object(e)).forEach(function(s){Object.defineProperty(t,s,Object.getOwnPropertyDescriptor(e,s))}),t}class u extends e{formatProps(t){var e,s;const r=(null==t||null===(e=t.details)||void 0===e?void 0:e.length)&&(null===(s=t.details.find(t=>"issuer"===t.key))||void 0===s?void 0:s.items)||t.issuers||[];return a(p({},t),{issuers:r})}formatData(){var t,e;return{paymentMethod:{type:this.type,issuer:null===(e=this.state)||void 0===e||null===(t=e.data)||void 0===t?void 0:t.issuer}}}get isValid(){var t;return 0===this.props.issuers.length||Boolean(null===(t=this.state)||void 0===t?void 0:t.isValid)}get brands(){return this.props.showPaymentMethodItemImages?this.props.issuers.map(t=>({icon:t.icon,name:t.id})):[]}componentToRender(){return this.props.issuers.length>0?t(s,a(p({items:this.props.issuers,highlightedIds:this.props.highlightedIssuers},this.props,this.state),{setComponentRef:this.setComponentRef,showImage:this.props.showImage,type:this.constructor.type,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton,contextualText:this.props.i18n.get("issuerList.selectField.contextualText"),onSubmitAnalytics:this.submitAnalytics})):t(i,a(p({name:this.props.name},this.props),{onSubmit:this.submit,payButton:this.payButton,setComponentRef:this.setComponentRef}))}constructor(t,e){super(t,e);const s=t=>this.resources.getImage(t);if(this.props.showImage){const t=r({loadingContext:this.props.loadingContext},this.constructor.type,s);this.props.issuers=this.props.issuers.map(e=>a(p({},e),{icon:t(e.id)}))}}}n(u,"defaultProps",{showImage:!0,issuers:[],highlightedIssuers:[],loadingContext:o,showPaymentMethodItemImages:!1});export{u as default};
2
2
  //# sourceMappingURL=IssuerListContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IssuerListContainer.js","sources":["../../../../../src/components/helpers/IssuerListContainer/IssuerListContainer.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../../internal/UIElement/UIElement';\nimport IssuerList from '../../internal/IssuerList';\nimport getIssuerImageUrl from '../../../utils/get-issuer-image';\nimport { FALLBACK_CONTEXT } from '../../../core/config';\nimport RedirectButton from '../../internal/RedirectButton';\nimport { IssuerListConfiguration, IssuerListData } from './types';\nimport type { ICore } from '../../../core/types';\nimport { PaymentData, PaymentMethodBrand } from '../../../types/global-types';\nimport { ImageOptions } from '../../../core/Context/Resources';\n\nclass IssuerListContainer<\n TProps extends IssuerListConfiguration = IssuerListConfiguration,\n TData extends PaymentData = IssuerListData\n> extends UIElement<TProps> {\n protected static readonly defaultProps = {\n showImage: true,\n issuers: [],\n highlightedIssuers: [],\n loadingContext: FALLBACK_CONTEXT,\n showPaymentMethodItemImages: false\n };\n\n constructor(checkout: ICore, props?: TProps) {\n super(checkout, props);\n\n const getImage = (props: ImageOptions) => this.resources.getImage(props);\n\n if (this.props.showImage) {\n const getIssuerIcon = getIssuerImageUrl({ loadingContext: this.props.loadingContext }, this.constructor['type'], getImage);\n\n this.props.issuers = this.props.issuers.map(item => ({\n ...item,\n icon: getIssuerIcon(item.id)\n }));\n }\n }\n\n formatProps(props: TProps): TProps {\n const issuers =\n // @ts-expect-error - details is not in the props type but we need it for backward compatibility\n (props?.details?.length && props.details.find((d: Record<string, unknown>) => d.key === 'issuer')?.items) || props.issuers || [];\n return { ...props, issuers };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): TData {\n return {\n paymentMethod: {\n type: this.type,\n issuer: this.state?.data?.issuer\n }\n } as unknown as TData;\n }\n\n /**\n * Returns whether the component state is valid or not\n */\n get isValid() {\n if (this.props.issuers.length === 0) {\n return true;\n }\n return Boolean(this.state?.isValid);\n }\n\n /**\n * Returns brands array (similar to card) depending on showPaymentMethodItemImages\n * This is used to show the brands in the PaymentMethodItem\n * Requires brands icons to be loaded in the payment method\n */\n get brands(): PaymentMethodBrand[] {\n if (this.props.showPaymentMethodItemImages) {\n return this.props.issuers.map(brand => {\n const brandIcon = brand.icon;\n return { icon: brandIcon, name: brand.id };\n });\n }\n\n return [];\n }\n\n protected override componentToRender(): h.JSX.Element {\n return this.props.issuers.length > 0 ? (\n <IssuerList\n items={this.props.issuers}\n highlightedIds={this.props.highlightedIssuers}\n {...this.props}\n {...this.state}\n setComponentRef={this.setComponentRef}\n showImage={this.props.showImage}\n type={this.constructor['type']}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n contextualText={this.props.i18n.get('issuerList.selectField.contextualText')}\n onSubmitAnalytics={this.submitAnalytics}\n />\n ) : (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.props.name}\n {...this.props}\n onSubmit={this.submit}\n payButton={this.payButton}\n setComponentRef={this.setComponentRef}\n />\n );\n }\n}\n\nexport default IssuerListContainer;\n"],"names":["IssuerListContainer","UIElement","formatProps","props","issuers","details","length","find","d","key","items","_object_spread_props","_object_spread","formatData","_this_state_data","_this_state","paymentMethod","type","this","issuer","state","data","isValid","Boolean","brands","showPaymentMethodItemImages","map","brand","icon","name","id","componentToRender","h","IssuerList","highlightedIds","highlightedIssuers","setComponentRef","showImage","constructor","onChange","setState","onSubmit","submit","payButton","contextualText","i18n","get","onSubmitAnalytics","submitAnalytics","RedirectButton","showPayButton","checkout","super","getImage","resources","getIssuerIcon","getIssuerImageUrl","loadingContext","item","_define_property","defaultProps","FALLBACK_CONTEXT"],"mappings":"spCAWA,MAAMA,UAGIC,EAwBNC,WAAAA,CAAYC,OAGHA,EAA0BA,EAF/B,MAAMC,GAEDD,SAAc,QAAdA,EAAAA,EAAOE,eAAPF,IAAAA,OAAAA,EAAAA,EAAgBG,UAAuE,QAA7DH,EAAAA,EAAME,QAAQE,KAAMC,GAAyC,WAAVA,EAAEC,YAArDN,IAAAA,SAAAA,EAAwEO,QAAUP,EAAMC,SAAW,GAClI,OAAOO,EAAAC,EAAA,CAAA,EAAKT,GAAAA,CAAOC,WACvB,CAKAS,UAAAA,OAIoBC,EAAAC,EAHhB,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKD,KACXE,OAAkB,QAAVJ,EAAAG,KAAKE,iBAALL,GAAgB,QAAhBD,EAAAC,EAAYM,YAAZ,IAAAP,OAAA,EAAAA,EAAkBK,QAGtC,CAKA,WAAIG,GAIe,IAAAP,EAHf,OAAkC,IAA9BG,KAAKf,MAAMC,QAAQE,QAGhBiB,QAAkB,QAAVR,EAAAG,KAAKE,aAAL,IAAAL,SAAAA,EAAYO,QAC/B,CAOA,UAAIE,GACA,OAAIN,KAAKf,MAAMsB,4BACJP,KAAKf,MAAMC,QAAQsB,IAAIC,IAEnB,CAAEC,KADSD,EAAMC,KACEC,KAAMF,EAAMG,MAIvC,EACX,CAEmBC,iBAAAA,GACf,OAAOb,KAAKf,MAAMC,QAAQE,OAAS,EAC/B0B,EAACC,EAAAA,EAAAA,EAAAA,CACGvB,MAAOQ,KAAKf,MAAMC,QAClB8B,eAAgBhB,KAAKf,MAAMgC,oBACvBjB,KAAKf,MACLe,KAAKE,OAAK,CACdgB,gBAAiBlB,KAAKkB,gBACtBC,UAAWnB,KAAKf,MAAMkC,UACtBpB,KAAMC,KAAKoB,YAAY,KACvBC,SAAUrB,KAAKsB,SACfC,SAAUvB,KAAKwB,OACfC,UAAWzB,KAAKyB,UAChBC,eAAgB1B,KAAKf,MAAM0C,KAAKC,IAAI,yCACpCC,kBAAmB7B,KAAK8B,mBAG5BhB,EAACiB,EAAAA,EAAAA,EAAAA,CACGC,cAAehC,KAAKf,MAAM+C,cAC1BrB,KAAMX,KAAKf,MAAM0B,MACbX,KAAKf,OAAK,CACdsC,SAAUvB,KAAKwB,OACfC,UAAWzB,KAAKyB,UAChBP,gBAAiBlB,KAAKkB,kBAGlC,CAtFA,WAAAE,CAAYa,EAAiBhD,GACzBiD,MAAMD,EAAUhD,GAEhB,MAAMkD,EAAYlD,GAAwBe,KAAKoC,UAAUD,SAASlD,GAElE,GAAIe,KAAKf,MAAMkC,UAAW,CACtB,MAAMkB,EAAgBC,EAAkB,CAAEC,eAAgBvC,KAAKf,MAAMsD,gBAAkBvC,KAAKoB,iBAAqBe,GAEjHnC,KAAKf,MAAMC,QAAUc,KAAKf,MAAMC,QAAQsB,IAAIgC,GAAS/C,EAAAC,EAAA,CAAA,EAC9C8C,GAAAA,CACH9B,KAAM2B,EAAcG,EAAK5B,MAEjC,CACJ,EArBA6B,EAJE3D,EAIwB4D,eAAe,CACrCvB,WAAW,EACXjC,QAAS,GACT+B,mBAAoB,GACpBsB,eAAgBI,EAChBpC,6BAA6B"}
1
+ {"version":3,"file":"IssuerListContainer.js","sources":["../../../../../src/components/helpers/IssuerListContainer/IssuerListContainer.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../../internal/UIElement/UIElement';\nimport IssuerList from '../../internal/IssuerList';\nimport getIssuerImageUrl from '../../../utils/get-issuer-image';\nimport { FALLBACK_CONTEXT } from '../../../core/config';\nimport RedirectButton from '../../internal/RedirectButton';\nimport { IssuerListConfiguration, IssuerListData } from './types';\nimport type { ICore } from '../../../core/types';\nimport { PaymentData, PaymentMethodBrand } from '../../../types/global-types';\nimport { ImageOptions } from '../../../core/Context/Resources';\n\nclass IssuerListContainer<\n TProps extends IssuerListConfiguration = IssuerListConfiguration,\n TData extends PaymentData = IssuerListData\n> extends UIElement<TProps> {\n protected static readonly defaultProps = {\n showImage: true,\n issuers: [],\n highlightedIssuers: [],\n loadingContext: FALLBACK_CONTEXT,\n showPaymentMethodItemImages: false\n };\n\n constructor(checkout: ICore, props?: TProps) {\n super(checkout, props);\n\n const getImage = (props: ImageOptions) => this.resources.getImage(props);\n\n if (this.props.showImage) {\n const getIssuerIcon = getIssuerImageUrl({ loadingContext: this.props.loadingContext }, this.constructor['type'], getImage);\n\n this.props.issuers = this.props.issuers.map(item => ({\n ...item,\n icon: getIssuerIcon(item.id)\n }));\n }\n }\n\n formatProps(props: TProps): TProps {\n const issuers =\n // @ts-expect-error - details is not in the props type but we need it for backward compatibility\n (props?.details?.length && props.details.find((d: Record<string, unknown>) => d.key === 'issuer')?.items) || props.issuers || [];\n return { ...props, issuers };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): TData {\n return {\n paymentMethod: {\n type: this.type,\n issuer: this.state?.data?.issuer\n }\n } as unknown as TData;\n }\n\n /**\n * Returns whether the component state is valid or not\n */\n get isValid() {\n if (this.props.issuers.length === 0) {\n return true;\n }\n return Boolean(this.state?.isValid);\n }\n\n /**\n * Returns brands array (similar to card) depending on showPaymentMethodItemImages\n * This is used to show the brands in the PaymentMethodItem\n * Requires brands icons to be loaded in the payment method\n */\n get brands(): PaymentMethodBrand[] {\n if (this.props.showPaymentMethodItemImages) {\n return this.props.issuers.map(brand => {\n const brandIcon = brand.icon;\n return { icon: brandIcon, name: brand.id };\n });\n }\n\n return [];\n }\n\n protected override componentToRender(): h.JSX.Element {\n return this.props.issuers.length > 0 ? (\n <IssuerList\n items={this.props.issuers}\n highlightedIds={this.props.highlightedIssuers}\n {...this.props}\n {...this.state}\n setComponentRef={this.setComponentRef}\n showImage={this.props.showImage}\n type={this.constructor['type']}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n contextualText={this.props.i18n.get('issuerList.selectField.contextualText')}\n onSubmitAnalytics={this.submitAnalytics}\n />\n ) : (\n <RedirectButton\n name={this.props.name}\n {...this.props}\n onSubmit={this.submit}\n payButton={this.payButton}\n setComponentRef={this.setComponentRef}\n />\n );\n }\n}\n\nexport default IssuerListContainer;\n"],"names":["IssuerListContainer","UIElement","formatProps","props","issuers","details","length","find","d","key","items","_object_spread_props","_object_spread","formatData","_this_state_data","_this_state","paymentMethod","type","this","issuer","state","data","isValid","Boolean","brands","showPaymentMethodItemImages","map","brand","icon","name","id","componentToRender","h","IssuerList","highlightedIds","highlightedIssuers","setComponentRef","showImage","constructor","onChange","setState","onSubmit","submit","payButton","contextualText","i18n","get","onSubmitAnalytics","submitAnalytics","RedirectButton","checkout","super","getImage","resources","getIssuerIcon","getIssuerImageUrl","loadingContext","item","_define_property","defaultProps","FALLBACK_CONTEXT"],"mappings":"spCAWA,MAAMA,UAGIC,EAwBNC,WAAAA,CAAYC,OAGHA,EAA0BA,EAF/B,MAAMC,GAEDD,SAAc,QAAdA,EAAAA,EAAOE,eAAPF,IAAAA,OAAAA,EAAAA,EAAgBG,UAAuE,QAA7DH,EAAAA,EAAME,QAAQE,KAAMC,GAAyC,WAAVA,EAAEC,YAArDN,IAAAA,SAAAA,EAAwEO,QAAUP,EAAMC,SAAW,GAClI,OAAOO,EAAAC,EAAA,CAAA,EAAKT,GAAAA,CAAOC,WACvB,CAKAS,UAAAA,OAIoBC,EAAAC,EAHhB,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKD,KACXE,OAAkB,QAAVJ,EAAAG,KAAKE,iBAALL,GAAgB,QAAhBD,EAAAC,EAAYM,YAAZ,IAAAP,OAAA,EAAAA,EAAkBK,QAGtC,CAKA,WAAIG,GAIe,IAAAP,EAHf,OAAkC,IAA9BG,KAAKf,MAAMC,QAAQE,QAGhBiB,QAAkB,QAAVR,EAAAG,KAAKE,aAAL,IAAAL,SAAAA,EAAYO,QAC/B,CAOA,UAAIE,GACA,OAAIN,KAAKf,MAAMsB,4BACJP,KAAKf,MAAMC,QAAQsB,IAAIC,IAEnB,CAAEC,KADSD,EAAMC,KACEC,KAAMF,EAAMG,MAIvC,EACX,CAEmBC,iBAAAA,GACf,OAAOb,KAAKf,MAAMC,QAAQE,OAAS,EAC/B0B,EAACC,EAAAA,EAAAA,EAAAA,CACGvB,MAAOQ,KAAKf,MAAMC,QAClB8B,eAAgBhB,KAAKf,MAAMgC,oBACvBjB,KAAKf,MACLe,KAAKE,OAAK,CACdgB,gBAAiBlB,KAAKkB,gBACtBC,UAAWnB,KAAKf,MAAMkC,UACtBpB,KAAMC,KAAKoB,YAAY,KACvBC,SAAUrB,KAAKsB,SACfC,SAAUvB,KAAKwB,OACfC,UAAWzB,KAAKyB,UAChBC,eAAgB1B,KAAKf,MAAM0C,KAAKC,IAAI,yCACpCC,kBAAmB7B,KAAK8B,mBAG5BhB,EAACiB,EAAAA,EAAAA,EAAAA,CACGpB,KAAMX,KAAKf,MAAM0B,MACbX,KAAKf,OAAK,CACdsC,SAAUvB,KAAKwB,OACfC,UAAWzB,KAAKyB,UAChBP,gBAAiBlB,KAAKkB,kBAGlC,CArFA,WAAAE,CAAYY,EAAiB/C,GACzBgD,MAAMD,EAAU/C,GAEhB,MAAMiD,EAAYjD,GAAwBe,KAAKmC,UAAUD,SAASjD,GAElE,GAAIe,KAAKf,MAAMkC,UAAW,CACtB,MAAMiB,EAAgBC,EAAkB,CAAEC,eAAgBtC,KAAKf,MAAMqD,gBAAkBtC,KAAKoB,iBAAqBc,GAEjHlC,KAAKf,MAAMC,QAAUc,KAAKf,MAAMC,QAAQsB,IAAI+B,GAAS9C,EAAAC,EAAA,CAAA,EAC9C6C,GAAAA,CACH7B,KAAM0B,EAAcG,EAAK3B,MAEjC,CACJ,EArBA4B,EAJE1D,EAIwB2D,eAAe,CACrCtB,WAAW,EACXjC,QAAS,GACT+B,mBAAoB,GACpBqB,eAAgBI,EAChBnC,6BAA6B"}
@@ -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{QRLoader as r}from"../../internal/QRLoader/QRLoader.js";import"../../../core/Context/CoreProvider.js";import"../../../external/preact/hooks/dist/hooks.js";import"../../../core/Errors/SRPanelContext.js";import"../../internal/Button/Button.js";import"../../internal/QRLoader/QRLoaderDetailsProvider.js";import o from"../../internal/RedirectButton/RedirectButton.js";function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function i(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),o.forEach(function(e){n(t,e,r[e])})}return 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 a extends e{formatData(){return{paymentMethod:i({type:this.type},this.state.data)}}get isValid(){return!0}renderQRCode(){return t(r,s(i({},this.props),{delay:this.props.delay,countdownTime:this.props.countdownTime,instructions:this.props.instructions,type:this.constructor.type,brandLogo:this.props.brandLogo||this.icon,onComplete:this.onComplete,onActionHandled:this.onActionHandled,brandName:this.displayName,onSubmitAnalytics:this.submitAnalytics}))}componentToRender(){return this.props.paymentData?this.renderQRCode():this.props.showPayButton?t(o,{showPayButton:this.props.showPayButton,name:this.displayName,onSubmit:this.submit,payButton:this.payButton,setComponentRef:this.setComponentRef}):null}}n(a,"defaultProps",{qrCodeImage:"",amount:null,paymentData:null,onError:()=>{}});export{a as default};
1
+ import{createElement as t}from"../../../external/preact/dist/preact.js";import{UIElement as e}from"../../internal/UIElement/UIElement.js";import{QRLoader as r}from"../../internal/QRLoader/QRLoader.js";import"../../../core/Context/CoreProvider.js";import"../../../external/preact/hooks/dist/hooks.js";import"../../../core/Errors/SRPanelContext.js";import"../../internal/Button/Button.js";import"../../internal/QRLoader/QRLoaderDetailsProvider.js";import o from"../../internal/RedirectButton/RedirectButton.js";function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function i(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),o.forEach(function(e){n(t,e,r[e])})}return 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 a extends e{formatData(){return{paymentMethod:i({type:this.type},this.state.data)}}get isValid(){return!0}renderQRCode(){return t(r,s(i({},this.props),{delay:this.props.delay,countdownTime:this.props.countdownTime,instructions:this.props.instructions,type:this.constructor.type,brandLogo:this.props.brandLogo||this.icon,onComplete:this.onComplete,onActionHandled:this.onActionHandled,brandName:this.displayName,onSubmitAnalytics:this.submitAnalytics}))}componentToRender(){return this.props.paymentData?this.renderQRCode():t(o,{name:this.displayName,onSubmit:this.submit,payButton:this.payButton,setComponentRef:this.setComponentRef})}}n(a,"defaultProps",{qrCodeImage:"",amount:null,paymentData:null,onError:()=>{}});export{a as default};
2
2
  //# sourceMappingURL=QRLoaderContainer.js.map