@adyen/adyen-web 6.29.0 → 6.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (515) hide show
  1. package/dist/cjs/adyen.css +8 -9
  2. package/dist/cjs/adyen.css.map +1 -1
  3. package/dist/cjs/index.cjs +2 -2
  4. package/dist/cjs/index.cjs.map +1 -1
  5. package/dist/cjs/index.d.cts +705 -641
  6. package/dist/es/adyen.css +8 -9
  7. package/dist/es/adyen.css.map +1 -1
  8. package/dist/es/components/ANCV/ANCV.js.map +1 -1
  9. package/dist/es/components/Ach/Ach.js +1 -1
  10. package/dist/es/components/Ach/Ach.js.map +1 -1
  11. package/dist/es/components/Ach/components/AccountTypeSelector.js.map +1 -1
  12. package/dist/es/components/Ach/components/AchComponent.js.map +1 -1
  13. package/dist/es/components/Affirm/Affirm.js.map +1 -1
  14. package/dist/es/components/AfterPay/AfterPay.js.map +1 -1
  15. package/dist/es/components/AfterPay/AfterPayB2B.js.map +1 -1
  16. package/dist/es/components/AmazonPay/components/AmazonPayButton.js +1 -1
  17. package/dist/es/components/AmazonPay/components/AmazonPayButton.js.map +1 -1
  18. package/dist/es/components/AmazonPay/components/AmazonPayComponent.js +1 -1
  19. package/dist/es/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
  20. package/dist/es/components/AmazonPay/components/OrderButton.js +1 -1
  21. package/dist/es/components/AmazonPay/components/OrderButton.js.map +1 -1
  22. package/dist/es/components/AmazonPay/utils.js +1 -1
  23. package/dist/es/components/AmazonPay/utils.js.map +1 -1
  24. package/dist/es/components/ApplePay/ApplePay.js.map +1 -1
  25. package/dist/es/components/ApplePay/services/ApplePaySdkLoader.js.map +1 -1
  26. package/dist/es/components/ApplePay/services/ApplePayService.js +1 -1
  27. package/dist/es/components/ApplePay/services/ApplePayService.js.map +1 -1
  28. package/dist/es/components/ApplePay/utils/map-adyen-brands-to-applepay-brands.js.map +1 -1
  29. package/dist/es/components/ApplePay/utils/payment-request.js.map +1 -1
  30. package/dist/es/components/Atome/Atome.js.map +1 -1
  31. package/dist/es/components/BacsDD/BacsDD.js +1 -1
  32. package/dist/es/components/BacsDD/BacsDD.js.map +1 -1
  33. package/dist/es/components/BacsDD/components/BacsInput.js +1 -1
  34. package/dist/es/components/BacsDD/components/BacsInput.js.map +1 -1
  35. package/dist/es/components/BankTransfer/components/BankTransferInput/BankTransferInput.js +1 -1
  36. package/dist/es/components/BankTransfer/components/BankTransferInput/BankTransferInput.js.map +1 -1
  37. package/dist/es/components/Blik/Blik.js +1 -1
  38. package/dist/es/components/Blik/Blik.js.map +1 -1
  39. package/dist/es/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
  40. package/dist/es/components/Card/Card.js +1 -1
  41. package/dist/es/components/Card/Card.js.map +1 -1
  42. package/dist/es/components/Card/components/CardInput/CardInput.js +1 -1
  43. package/dist/es/components/Card/components/CardInput/CardInput.js.map +1 -1
  44. package/dist/es/components/Card/components/CardInput/components/CardFieldsWrapper.js +1 -1
  45. package/dist/es/components/Card/components/CardInput/components/CardFieldsWrapper.js.map +1 -1
  46. package/dist/es/components/Card/components/CardInput/components/Installments/Installments.js +1 -1
  47. package/dist/es/components/Card/components/CardInput/components/Installments/Installments.js.map +1 -1
  48. package/dist/es/components/Card/components/CardInput/components/StoredCardFieldsWrapper.js +1 -1
  49. package/dist/es/components/Card/components/CardInput/components/StoredCardFieldsWrapper.js.map +1 -1
  50. package/dist/es/components/Card/components/CardInput/types.js.map +1 -1
  51. package/dist/es/components/Card/components/CardInput/utils.js +1 -1
  52. package/dist/es/components/Card/components/CardInput/utils.js.map +1 -1
  53. package/dist/es/components/Card/components/ClickToPayWrapper.js +1 -1
  54. package/dist/es/components/Card/components/ClickToPayWrapper.js.map +1 -1
  55. package/dist/es/components/CashAppPay/CashAppPay.js +1 -1
  56. package/dist/es/components/CashAppPay/CashAppPay.js.map +1 -1
  57. package/dist/es/components/CashAppPay/services/CashAppSdkLoader.js.map +1 -1
  58. package/dist/es/components/CashAppPay/services/CashAppService.js +1 -1
  59. package/dist/es/components/CashAppPay/services/CashAppService.js.map +1 -1
  60. package/dist/es/components/CashAppPay/services/types.js.map +1 -1
  61. package/dist/es/components/ClickToPay/ClickToPay.js +1 -1
  62. package/dist/es/components/ClickToPay/ClickToPay.js.map +1 -1
  63. package/dist/es/components/CustomCard/CustomCard.js +1 -1
  64. package/dist/es/components/CustomCard/CustomCard.js.map +1 -1
  65. package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js +1 -1
  66. package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
  67. package/dist/es/components/Dragonpay/components/DragonpayInput/DragonpayInput.js +1 -1
  68. package/dist/es/components/Dragonpay/components/DragonpayInput/DragonpayInput.js.map +1 -1
  69. package/dist/es/components/Dropin/Dropin.js +1 -1
  70. package/dist/es/components/Dropin/Dropin.js.map +1 -1
  71. package/dist/es/components/Dropin/components/DropinComponent.js +1 -1
  72. package/dist/es/components/Dropin/components/DropinComponent.js.map +1 -1
  73. package/dist/es/components/Dropin/components/DropinSuccessState.js +2 -0
  74. package/dist/es/components/Dropin/components/DropinSuccessState.js.map +1 -0
  75. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js +1 -1
  76. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js.map +1 -1
  77. package/dist/es/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
  78. package/dist/es/components/Giftcard/Giftcard.js +1 -1
  79. package/dist/es/components/Giftcard/Giftcard.js.map +1 -1
  80. package/dist/es/components/Giftcard/components/GiftcardComponent.js +1 -1
  81. package/dist/es/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  82. package/dist/es/components/Giftcard/components/GiftcardResult.js +1 -1
  83. package/dist/es/components/Giftcard/components/GiftcardResult.js.map +1 -1
  84. package/dist/es/components/GooglePay/GooglePayService.js.map +1 -1
  85. package/dist/es/components/Iris/Iris.js +1 -1
  86. package/dist/es/components/Iris/Iris.js.map +1 -1
  87. package/dist/es/components/Iris/components/IrisGenerateQRCode.js +1 -1
  88. package/dist/es/components/Iris/components/IrisGenerateQRCode.js.map +1 -1
  89. package/dist/es/components/Klarna/KlarnaPayments.js +1 -1
  90. package/dist/es/components/Klarna/KlarnaPayments.js.map +1 -1
  91. package/dist/es/components/Klarna/components/KlarnaContainer/KlarnaContainer.js.map +1 -1
  92. package/dist/es/components/Multibanco/Multibanco.js +1 -1
  93. package/dist/es/components/Multibanco/Multibanco.js.map +1 -1
  94. package/dist/es/components/PayByBankPix/PayByBankPix.js +1 -1
  95. package/dist/es/components/PayByBankPix/PayByBankPix.js.map +1 -1
  96. package/dist/es/components/PayByBankPix/components/StoredPayment/StoredPayment.js +1 -1
  97. package/dist/es/components/PayByBankPix/components/StoredPayment/StoredPayment.js.map +1 -1
  98. package/dist/es/components/PayByBankPix/services/PasskeySdkLoader.js.map +1 -1
  99. package/dist/es/components/PayByBankPix/services/PasskeyService.js.map +1 -1
  100. package/dist/es/components/PayByBankUS/PayByBankUS.js +1 -1
  101. package/dist/es/components/PayByBankUS/PayByBankUS.js.map +1 -1
  102. package/dist/es/components/PayPalFastlane/FastlaneSDK.js.map +1 -1
  103. package/dist/es/components/PayPalFastlane/components/FastlaneComponent.js.map +1 -1
  104. package/dist/es/components/PayTo/PayTo.js +1 -1
  105. package/dist/es/components/PayTo/PayTo.js.map +1 -1
  106. package/dist/es/components/PayTo/components/PayToComponent.js.map +1 -1
  107. package/dist/es/components/PayTo/components/PayToNameFields.js +1 -1
  108. package/dist/es/components/PayTo/components/PayToNameFields.js.map +1 -1
  109. package/dist/es/components/PersonalDetails/PersonalDetails.js.map +1 -1
  110. package/dist/es/components/Pix/components/PixQRDetails.js +1 -1
  111. package/dist/es/components/Pix/components/PixQRDetails.js.map +1 -1
  112. package/dist/es/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js +1 -1
  113. package/dist/es/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js.map +1 -1
  114. package/dist/es/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js.map +1 -1
  115. package/dist/es/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
  116. package/dist/es/components/ThreeDS2/components/Form/ThreeDS2Form.js.map +1 -1
  117. package/dist/es/components/Twint/Twint.js +1 -1
  118. package/dist/es/components/Twint/Twint.js.map +1 -1
  119. package/dist/es/components/UPI/UPI.js +1 -1
  120. package/dist/es/components/UPI/UPI.js.map +1 -1
  121. package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
  122. package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
  123. package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js +1 -1
  124. package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js.map +1 -1
  125. package/dist/es/components/UPI/constants.js +1 -1
  126. package/dist/es/components/UPI/constants.js.map +1 -1
  127. package/dist/es/components/components-name-map.js +1 -1
  128. package/dist/es/components/components-name-map.js.map +1 -1
  129. package/dist/es/components/internal/Address/Specifications.js.map +1 -1
  130. package/dist/es/components/internal/Await/Await.js +1 -1
  131. package/dist/es/components/internal/Await/Await.js.map +1 -1
  132. package/dist/es/components/internal/BaseElement/BaseElement.js +1 -1
  133. package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
  134. package/dist/es/components/internal/Button/Button.js +1 -1
  135. package/dist/es/components/internal/Button/Button.js.map +1 -1
  136. package/dist/es/components/internal/ClickToPay/components/CtPCards/CtPCards.js +1 -1
  137. package/dist/es/components/internal/ClickToPay/components/CtPCards/CtPCards.js.map +1 -1
  138. package/dist/es/components/internal/ClickToPay/components/CtPInfo/CtPInfoModal/CtPInfoModal.js +1 -1
  139. package/dist/es/components/internal/ClickToPay/components/CtPInfo/CtPInfoModal/CtPInfoModal.js.map +1 -1
  140. package/dist/es/components/internal/ClickToPay/context/ClickToPayContext.js +1 -1
  141. package/dist/es/components/internal/ClickToPay/context/ClickToPayContext.js.map +1 -1
  142. package/dist/es/components/internal/ClickToPay/context/ClickToPayProvider.js +1 -1
  143. package/dist/es/components/internal/ClickToPay/context/ClickToPayProvider.js.map +1 -1
  144. package/dist/es/components/internal/ClickToPay/models/ShopperCard.js.map +1 -1
  145. package/dist/es/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
  146. package/dist/es/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js.map +1 -1
  147. package/dist/es/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js.map +1 -1
  148. package/dist/es/components/internal/CompanyDetails/CompanyDetails.js +1 -1
  149. package/dist/es/components/internal/CompanyDetails/CompanyDetails.js.map +1 -1
  150. package/dist/es/components/internal/Countdown/CountdownA11yReporter.js.map +1 -1
  151. package/dist/es/components/internal/Countdown/index.js +1 -1
  152. package/dist/es/components/internal/Countdown/index.js.map +1 -1
  153. package/dist/es/components/internal/FormFields/InputBase.js +1 -1
  154. package/dist/es/components/internal/FormFields/InputBase.js.map +1 -1
  155. package/dist/es/components/internal/IFrame/Iframe.js.map +1 -1
  156. package/dist/es/components/internal/PayButton/PayButton.js +1 -1
  157. package/dist/es/components/internal/PayButton/PayButton.js.map +1 -1
  158. package/dist/es/components/internal/PayButton/utils.js +1 -1
  159. package/dist/es/components/internal/PayButton/utils.js.map +1 -1
  160. package/dist/es/components/internal/PersonalDetails/PersonalDetails.js +1 -1
  161. package/dist/es/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
  162. package/dist/es/components/internal/QRLoader/QRLoader.js +1 -1
  163. package/dist/es/components/internal/QRLoader/QRLoader.js.map +1 -1
  164. package/dist/es/components/internal/QRLoader/QRLoaderDetailsProvider.js.map +1 -1
  165. package/dist/es/components/internal/QRLoader/components/QRDetails.js +1 -1
  166. package/dist/es/components/internal/QRLoader/components/QRDetails.js.map +1 -1
  167. package/dist/es/components/internal/QRLoader/components/QRImage.js +1 -1
  168. package/dist/es/components/internal/QRLoader/components/QRImage.js.map +1 -1
  169. package/dist/es/components/internal/RedirectButton/RedirectButton.js +1 -1
  170. package/dist/es/components/internal/RedirectButton/RedirectButton.js.map +1 -1
  171. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
  172. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  173. package/dist/es/components/internal/SecuredFields/lib/CSF/AbstractCSF.js.map +1 -1
  174. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js +1 -1
  175. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
  176. package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js +1 -1
  177. package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
  178. package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
  179. package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
  180. package/dist/es/components/internal/SecuredFields/utils.js.map +1 -1
  181. package/dist/es/components/internal/SendCopyToEmail/SendCopyToEmail.js +1 -1
  182. package/dist/es/components/internal/SendCopyToEmail/SendCopyToEmail.js.map +1 -1
  183. package/dist/es/components/internal/SocialSecurityNumberBrazil/SocialSecurityNumberBrazil.js +1 -1
  184. package/dist/es/components/internal/SocialSecurityNumberBrazil/SocialSecurityNumberBrazil.js.map +1 -1
  185. package/dist/es/components/internal/UIElement/UIElement.js +1 -1
  186. package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
  187. package/dist/es/components/tx-variants.js +1 -1
  188. package/dist/es/components/tx-variants.js.map +1 -1
  189. package/dist/es/core/Analytics/Analytics.js +1 -1
  190. package/dist/es/core/Analytics/Analytics.js.map +1 -1
  191. package/dist/es/core/Analytics/AnalyticsService.js.map +1 -1
  192. package/dist/es/core/Analytics/events/AbstractAnalyticsEvent.js.map +1 -1
  193. package/dist/es/core/Analytics/events/AnalyticsErrorEvent.js +1 -1
  194. package/dist/es/core/Analytics/events/AnalyticsErrorEvent.js.map +1 -1
  195. package/dist/es/core/Analytics/events/AnalyticsInfoEvent.js +1 -1
  196. package/dist/es/core/Analytics/events/AnalyticsInfoEvent.js.map +1 -1
  197. package/dist/es/core/Analytics/events/AnalyticsLogEvent.js.map +1 -1
  198. package/dist/es/core/Analytics/utils.js +1 -1
  199. package/dist/es/core/Analytics/utils.js.map +1 -1
  200. package/dist/es/core/CheckoutSession/CheckoutSession.js +1 -1
  201. package/dist/es/core/CheckoutSession/CheckoutSession.js.map +1 -1
  202. package/dist/es/core/Context/AmountProvider.js +2 -0
  203. package/dist/es/core/Context/AmountProvider.js.map +1 -0
  204. package/dist/es/core/Context/Resources.js.map +1 -1
  205. package/dist/es/core/Errors/SRPanel.js.map +1 -1
  206. package/dist/es/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.js.map +1 -1
  207. package/dist/es/core/config.js +1 -1
  208. package/dist/es/core/core.js +1 -1
  209. package/dist/es/core/core.js.map +1 -1
  210. package/dist/es/external/preact/compat/dist/compat.js +1 -1
  211. package/dist/es/external/preact/compat/dist/compat.js.map +1 -1
  212. package/dist/es/external/preact/dist/preact.js +1 -1
  213. package/dist/es/external/preact/dist/preact.js.map +1 -1
  214. package/dist/es/external/preact/hooks/dist/hooks.js +1 -1
  215. package/dist/es/external/preact/hooks/dist/hooks.js.map +1 -1
  216. package/dist/es/index.d.ts +705 -641
  217. package/dist/es/language/Language.js.map +1 -1
  218. package/dist/es/utils/Script.js.map +1 -1
  219. package/dist/es/utils/Storage.js +1 -1
  220. package/dist/es/utils/Storage.js.map +1 -1
  221. package/dist/es/utils/Validator/ValidationRuleResult.js.map +1 -1
  222. package/dist/es/utils/Validator/Validator.js.map +1 -1
  223. package/dist/es/utils/amount-util.js +1 -1
  224. package/dist/es/utils/amount-util.js.map +1 -1
  225. package/dist/es/utils/browserInfo.js +1 -1
  226. package/dist/es/utils/browserInfo.js.map +1 -1
  227. package/dist/es/utils/constants/currency-minor-units.js.map +1 -1
  228. package/dist/es/utils/createSdkData.js.map +1 -1
  229. package/dist/es/utils/getErrorMessage.js.map +1 -1
  230. package/dist/es/utils/getProp.js +1 -1
  231. package/dist/es/utils/getProp.js.map +1 -1
  232. package/dist/es/utils/hasOwnProperty.js.map +1 -1
  233. package/dist/es/utils/isValidURL.js.map +1 -1
  234. package/dist/es/utils/listenerUtils.js.map +1 -1
  235. package/dist/es/utils/promiseTimeout.js.map +1 -1
  236. package/dist/es/utils/textUtils.js.map +1 -1
  237. package/dist/es/utils/validator-utils.js.map +1 -1
  238. package/dist/es-legacy/adyen.css +8 -9
  239. package/dist/es-legacy/adyen.css.map +1 -1
  240. package/dist/es-legacy/components/ANCV/ANCV.js.map +1 -1
  241. package/dist/es-legacy/components/Ach/Ach.js +1 -1
  242. package/dist/es-legacy/components/Ach/Ach.js.map +1 -1
  243. package/dist/es-legacy/components/Ach/components/AccountTypeSelector.js.map +1 -1
  244. package/dist/es-legacy/components/Ach/components/AchComponent.js.map +1 -1
  245. package/dist/es-legacy/components/Affirm/Affirm.js.map +1 -1
  246. package/dist/es-legacy/components/AfterPay/AfterPay.js.map +1 -1
  247. package/dist/es-legacy/components/AfterPay/AfterPayB2B.js.map +1 -1
  248. package/dist/es-legacy/components/AmazonPay/components/AmazonPayButton.js +1 -1
  249. package/dist/es-legacy/components/AmazonPay/components/AmazonPayButton.js.map +1 -1
  250. package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js +1 -1
  251. package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
  252. package/dist/es-legacy/components/AmazonPay/components/OrderButton.js +1 -1
  253. package/dist/es-legacy/components/AmazonPay/components/OrderButton.js.map +1 -1
  254. package/dist/es-legacy/components/AmazonPay/utils.js +1 -1
  255. package/dist/es-legacy/components/AmazonPay/utils.js.map +1 -1
  256. package/dist/es-legacy/components/ApplePay/ApplePay.js.map +1 -1
  257. package/dist/es-legacy/components/ApplePay/services/ApplePaySdkLoader.js.map +1 -1
  258. package/dist/es-legacy/components/ApplePay/services/ApplePayService.js +1 -1
  259. package/dist/es-legacy/components/ApplePay/services/ApplePayService.js.map +1 -1
  260. package/dist/es-legacy/components/ApplePay/utils/map-adyen-brands-to-applepay-brands.js.map +1 -1
  261. package/dist/es-legacy/components/ApplePay/utils/payment-request.js.map +1 -1
  262. package/dist/es-legacy/components/Atome/Atome.js.map +1 -1
  263. package/dist/es-legacy/components/BacsDD/BacsDD.js +1 -1
  264. package/dist/es-legacy/components/BacsDD/BacsDD.js.map +1 -1
  265. package/dist/es-legacy/components/BacsDD/components/BacsInput.js +1 -1
  266. package/dist/es-legacy/components/BacsDD/components/BacsInput.js.map +1 -1
  267. package/dist/es-legacy/components/BankTransfer/components/BankTransferInput/BankTransferInput.js +1 -1
  268. package/dist/es-legacy/components/BankTransfer/components/BankTransferInput/BankTransferInput.js.map +1 -1
  269. package/dist/es-legacy/components/Blik/Blik.js +1 -1
  270. package/dist/es-legacy/components/Blik/Blik.js.map +1 -1
  271. package/dist/es-legacy/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
  272. package/dist/es-legacy/components/Card/Card.js +1 -1
  273. package/dist/es-legacy/components/Card/Card.js.map +1 -1
  274. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js +1 -1
  275. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js.map +1 -1
  276. package/dist/es-legacy/components/Card/components/CardInput/components/AvailableBrands/AvailableBrands.js.map +1 -1
  277. package/dist/es-legacy/components/Card/components/CardInput/components/CardFields.js.map +1 -1
  278. package/dist/es-legacy/components/Card/components/CardInput/components/CardFieldsWrapper.js +1 -1
  279. package/dist/es-legacy/components/Card/components/CardInput/components/CardFieldsWrapper.js.map +1 -1
  280. package/dist/es-legacy/components/Card/components/CardInput/components/Installments/Installments.js +1 -1
  281. package/dist/es-legacy/components/Card/components/CardInput/components/Installments/Installments.js.map +1 -1
  282. package/dist/es-legacy/components/Card/components/CardInput/components/StoredCardFieldsWrapper.js +1 -1
  283. package/dist/es-legacy/components/Card/components/CardInput/components/StoredCardFieldsWrapper.js.map +1 -1
  284. package/dist/es-legacy/components/Card/components/CardInput/types.js.map +1 -1
  285. package/dist/es-legacy/components/Card/components/CardInput/useSRPanelForCardInputErrors.js.map +1 -1
  286. package/dist/es-legacy/components/Card/components/CardInput/utils.js +1 -1
  287. package/dist/es-legacy/components/Card/components/CardInput/utils.js.map +1 -1
  288. package/dist/es-legacy/components/Card/components/ClickToPayWrapper.js +1 -1
  289. package/dist/es-legacy/components/Card/components/ClickToPayWrapper.js.map +1 -1
  290. package/dist/es-legacy/components/Card/components/Fastlane/USOnlyPhoneInput.js.map +1 -1
  291. package/dist/es-legacy/components/CashAppPay/CashAppPay.js +1 -1
  292. package/dist/es-legacy/components/CashAppPay/CashAppPay.js.map +1 -1
  293. package/dist/es-legacy/components/CashAppPay/services/CashAppSdkLoader.js.map +1 -1
  294. package/dist/es-legacy/components/CashAppPay/services/CashAppService.js +1 -1
  295. package/dist/es-legacy/components/CashAppPay/services/CashAppService.js.map +1 -1
  296. package/dist/es-legacy/components/CashAppPay/services/types.js.map +1 -1
  297. package/dist/es-legacy/components/ClickToPay/ClickToPay.js +1 -1
  298. package/dist/es-legacy/components/ClickToPay/ClickToPay.js.map +1 -1
  299. package/dist/es-legacy/components/CustomCard/CustomCard.js +1 -1
  300. package/dist/es-legacy/components/CustomCard/CustomCard.js.map +1 -1
  301. package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js +1 -1
  302. package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
  303. package/dist/es-legacy/components/Doku/components/DokuInput/DokuInput.js.map +1 -1
  304. package/dist/es-legacy/components/Dragonpay/components/DragonpayInput/DragonpayInput.js +1 -1
  305. package/dist/es-legacy/components/Dragonpay/components/DragonpayInput/DragonpayInput.js.map +1 -1
  306. package/dist/es-legacy/components/Dropin/Dropin.js +1 -1
  307. package/dist/es-legacy/components/Dropin/Dropin.js.map +1 -1
  308. package/dist/es-legacy/components/Dropin/components/DropinComponent.js +1 -1
  309. package/dist/es-legacy/components/Dropin/components/DropinComponent.js.map +1 -1
  310. package/dist/es-legacy/components/Dropin/components/DropinSuccessState.js +2 -0
  311. package/dist/es-legacy/components/Dropin/components/DropinSuccessState.js.map +1 -0
  312. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js +1 -1
  313. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js.map +1 -1
  314. package/dist/es-legacy/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
  315. package/dist/es-legacy/components/Giftcard/Giftcard.js +1 -1
  316. package/dist/es-legacy/components/Giftcard/Giftcard.js.map +1 -1
  317. package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js +1 -1
  318. package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  319. package/dist/es-legacy/components/Giftcard/components/GiftcardResult.js +1 -1
  320. package/dist/es-legacy/components/Giftcard/components/GiftcardResult.js.map +1 -1
  321. package/dist/es-legacy/components/GooglePay/GooglePay.js.map +1 -1
  322. package/dist/es-legacy/components/GooglePay/GooglePayService.js.map +1 -1
  323. package/dist/es-legacy/components/Iris/Iris.js +1 -1
  324. package/dist/es-legacy/components/Iris/Iris.js.map +1 -1
  325. package/dist/es-legacy/components/Iris/components/IrisGenerateQRCode.js +1 -1
  326. package/dist/es-legacy/components/Iris/components/IrisGenerateQRCode.js.map +1 -1
  327. package/dist/es-legacy/components/Klarna/KlarnaPayments.js +1 -1
  328. package/dist/es-legacy/components/Klarna/KlarnaPayments.js.map +1 -1
  329. package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js.map +1 -1
  330. package/dist/es-legacy/components/Klarna/components/KlarnaWidget/KlarnaWidget.js.map +1 -1
  331. package/dist/es-legacy/components/MBWay/MBWay.js.map +1 -1
  332. package/dist/es-legacy/components/Multibanco/Multibanco.js +1 -1
  333. package/dist/es-legacy/components/Multibanco/Multibanco.js.map +1 -1
  334. package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js +1 -1
  335. package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js.map +1 -1
  336. package/dist/es-legacy/components/PayByBankPix/components/Enrollment/useIssuerWithLogo.js.map +1 -1
  337. package/dist/es-legacy/components/PayByBankPix/components/StoredPayment/StoredPayment.js +1 -1
  338. package/dist/es-legacy/components/PayByBankPix/components/StoredPayment/StoredPayment.js.map +1 -1
  339. package/dist/es-legacy/components/PayByBankPix/services/PasskeySdkLoader.js.map +1 -1
  340. package/dist/es-legacy/components/PayByBankPix/services/PasskeyService.js.map +1 -1
  341. package/dist/es-legacy/components/PayByBankUS/PayByBankUS.js +1 -1
  342. package/dist/es-legacy/components/PayByBankUS/PayByBankUS.js.map +1 -1
  343. package/dist/es-legacy/components/PayPal/Paypal.js.map +1 -1
  344. package/dist/es-legacy/components/PayPalFastlane/FastlaneSDK.js.map +1 -1
  345. package/dist/es-legacy/components/PayPalFastlane/components/FastlaneComponent.js.map +1 -1
  346. package/dist/es-legacy/components/PayTo/PayTo.js +1 -1
  347. package/dist/es-legacy/components/PayTo/PayTo.js.map +1 -1
  348. package/dist/es-legacy/components/PayTo/components/PayToComponent.js.map +1 -1
  349. package/dist/es-legacy/components/PayTo/components/PayToNameFields.js +1 -1
  350. package/dist/es-legacy/components/PayTo/components/PayToNameFields.js.map +1 -1
  351. package/dist/es-legacy/components/PersonalDetails/PersonalDetails.js.map +1 -1
  352. package/dist/es-legacy/components/Pix/components/PixQRDetails.js +1 -1
  353. package/dist/es-legacy/components/Pix/components/PixQRDetails.js.map +1 -1
  354. package/dist/es-legacy/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js +1 -1
  355. package/dist/es-legacy/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js.map +1 -1
  356. package/dist/es-legacy/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js.map +1 -1
  357. package/dist/es-legacy/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
  358. package/dist/es-legacy/components/ThreeDS2/callSubmit3DS2Fingerprint.js.map +1 -1
  359. package/dist/es-legacy/components/ThreeDS2/components/Form/ThreeDS2Form.js.map +1 -1
  360. package/dist/es-legacy/components/Twint/Twint.js +1 -1
  361. package/dist/es-legacy/components/Twint/Twint.js.map +1 -1
  362. package/dist/es-legacy/components/UPI/UPI.js +1 -1
  363. package/dist/es-legacy/components/UPI/UPI.js.map +1 -1
  364. package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
  365. package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
  366. package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js +1 -1
  367. package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js.map +1 -1
  368. package/dist/es-legacy/components/UPI/constants.js +1 -1
  369. package/dist/es-legacy/components/UPI/constants.js.map +1 -1
  370. package/dist/es-legacy/components/components-name-map.js +1 -1
  371. package/dist/es-legacy/components/components-name-map.js.map +1 -1
  372. package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  373. package/dist/es-legacy/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js.map +1 -1
  374. package/dist/es-legacy/components/internal/Address/Address.js.map +1 -1
  375. package/dist/es-legacy/components/internal/Address/Specifications.js.map +1 -1
  376. package/dist/es-legacy/components/internal/Address/validate.js.map +1 -1
  377. package/dist/es-legacy/components/internal/Await/Await.js +1 -1
  378. package/dist/es-legacy/components/internal/Await/Await.js.map +1 -1
  379. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js +1 -1
  380. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
  381. package/dist/es-legacy/components/internal/Button/Button.js +1 -1
  382. package/dist/es-legacy/components/internal/Button/Button.js.map +1 -1
  383. package/dist/es-legacy/components/internal/Button/CopyButton.js.map +1 -1
  384. package/dist/es-legacy/components/internal/ClickToPay/components/CtPCards/CtPCards.js +1 -1
  385. package/dist/es-legacy/components/internal/ClickToPay/components/CtPCards/CtPCards.js.map +1 -1
  386. package/dist/es-legacy/components/internal/ClickToPay/components/CtPInfo/CtPInfoModal/CtPInfoModal.js +1 -1
  387. package/dist/es-legacy/components/internal/ClickToPay/components/CtPInfo/CtPInfoModal/CtPInfoModal.js.map +1 -1
  388. package/dist/es-legacy/components/internal/ClickToPay/components/CtPLogin/CtPLogin.js.map +1 -1
  389. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePassword.js.map +1 -1
  390. package/dist/es-legacy/components/internal/ClickToPay/context/ClickToPayContext.js +1 -1
  391. package/dist/es-legacy/components/internal/ClickToPay/context/ClickToPayContext.js.map +1 -1
  392. package/dist/es-legacy/components/internal/ClickToPay/context/ClickToPayProvider.js +1 -1
  393. package/dist/es-legacy/components/internal/ClickToPay/context/ClickToPayProvider.js.map +1 -1
  394. package/dist/es-legacy/components/internal/ClickToPay/models/ShopperCard.js.map +1 -1
  395. package/dist/es-legacy/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
  396. package/dist/es-legacy/components/internal/ClickToPay/services/create-clicktopay-service.js.map +1 -1
  397. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js.map +1 -1
  398. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js.map +1 -1
  399. package/dist/es-legacy/components/internal/CompanyDetails/CompanyDetails.js +1 -1
  400. package/dist/es-legacy/components/internal/CompanyDetails/CompanyDetails.js.map +1 -1
  401. package/dist/es-legacy/components/internal/Countdown/CountdownA11yReporter.js.map +1 -1
  402. package/dist/es-legacy/components/internal/Countdown/index.js +1 -1
  403. package/dist/es-legacy/components/internal/Countdown/index.js.map +1 -1
  404. package/dist/es-legacy/components/internal/FormFields/Field/Field.js.map +1 -1
  405. package/dist/es-legacy/components/internal/FormFields/InputBase.js +1 -1
  406. package/dist/es-legacy/components/internal/FormFields/InputBase.js.map +1 -1
  407. package/dist/es-legacy/components/internal/FormFields/RadioGroupExtended/RadioGroupExtended.js.map +1 -1
  408. package/dist/es-legacy/components/internal/IFrame/Iframe.js.map +1 -1
  409. package/dist/es-legacy/components/internal/IssuerList/IssuerList.js.map +1 -1
  410. package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
  411. package/dist/es-legacy/components/internal/PayButton/PayButton.js +1 -1
  412. package/dist/es-legacy/components/internal/PayButton/PayButton.js.map +1 -1
  413. package/dist/es-legacy/components/internal/PayButton/utils.js +1 -1
  414. package/dist/es-legacy/components/internal/PayButton/utils.js.map +1 -1
  415. package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js +1 -1
  416. package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
  417. package/dist/es-legacy/components/internal/PhoneInput/PhoneInputForm.js.map +1 -1
  418. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js +1 -1
  419. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js.map +1 -1
  420. package/dist/es-legacy/components/internal/QRLoader/QRLoaderDetailsProvider.js.map +1 -1
  421. package/dist/es-legacy/components/internal/QRLoader/components/QRDetails.js +1 -1
  422. package/dist/es-legacy/components/internal/QRLoader/components/QRDetails.js.map +1 -1
  423. package/dist/es-legacy/components/internal/QRLoader/components/QRImage.js +1 -1
  424. package/dist/es-legacy/components/internal/QRLoader/components/QRImage.js.map +1 -1
  425. package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js +1 -1
  426. package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js.map +1 -1
  427. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
  428. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  429. package/dist/es-legacy/components/internal/SecuredFields/binLookup/extensions.js.map +1 -1
  430. package/dist/es-legacy/components/internal/SecuredFields/binLookup/triggerBinLookUp.js.map +1 -1
  431. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/AbstractCSF.js.map +1 -1
  432. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js +1 -1
  433. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
  434. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/processAutoComplete.js.map +1 -1
  435. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/cardType.js.map +1 -1
  436. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js +1 -1
  437. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
  438. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
  439. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
  440. package/dist/es-legacy/components/internal/SecuredFields/utils.js.map +1 -1
  441. package/dist/es-legacy/components/internal/SendCopyToEmail/SendCopyToEmail.js +1 -1
  442. package/dist/es-legacy/components/internal/SendCopyToEmail/SendCopyToEmail.js.map +1 -1
  443. package/dist/es-legacy/components/internal/SocialSecurityNumberBrazil/SocialSecurityNumberBrazil.js +1 -1
  444. package/dist/es-legacy/components/internal/SocialSecurityNumberBrazil/SocialSecurityNumberBrazil.js.map +1 -1
  445. package/dist/es-legacy/components/internal/Tooltip/Tooltip.js.map +1 -1
  446. package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
  447. package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
  448. package/dist/es-legacy/components/tx-variants.js +1 -1
  449. package/dist/es-legacy/components/tx-variants.js.map +1 -1
  450. package/dist/es-legacy/core/Analytics/Analytics.js +1 -1
  451. package/dist/es-legacy/core/Analytics/Analytics.js.map +1 -1
  452. package/dist/es-legacy/core/Analytics/AnalyticsService.js.map +1 -1
  453. package/dist/es-legacy/core/Analytics/events/AbstractAnalyticsEvent.js.map +1 -1
  454. package/dist/es-legacy/core/Analytics/events/AnalyticsErrorEvent.js +1 -1
  455. package/dist/es-legacy/core/Analytics/events/AnalyticsErrorEvent.js.map +1 -1
  456. package/dist/es-legacy/core/Analytics/events/AnalyticsInfoEvent.js +1 -1
  457. package/dist/es-legacy/core/Analytics/events/AnalyticsInfoEvent.js.map +1 -1
  458. package/dist/es-legacy/core/Analytics/events/AnalyticsLogEvent.js.map +1 -1
  459. package/dist/es-legacy/core/Analytics/utils.js +1 -1
  460. package/dist/es-legacy/core/Analytics/utils.js.map +1 -1
  461. package/dist/es-legacy/core/CheckoutSession/CheckoutSession.js +1 -1
  462. package/dist/es-legacy/core/CheckoutSession/CheckoutSession.js.map +1 -1
  463. package/dist/es-legacy/core/Context/AmountProvider.js +2 -0
  464. package/dist/es-legacy/core/Context/AmountProvider.js.map +1 -0
  465. package/dist/es-legacy/core/Context/Resources.js.map +1 -1
  466. package/dist/es-legacy/core/Environment/Environment.js.map +1 -1
  467. package/dist/es-legacy/core/Errors/SRPanel.js.map +1 -1
  468. package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
  469. package/dist/es-legacy/core/ProcessResponse/PaymentMethods/utils.js.map +1 -1
  470. package/dist/es-legacy/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.js.map +1 -1
  471. package/dist/es-legacy/core/Services/http.js.map +1 -1
  472. package/dist/es-legacy/core/config.js +1 -1
  473. package/dist/es-legacy/core/core.js +1 -1
  474. package/dist/es-legacy/core/core.js.map +1 -1
  475. package/dist/es-legacy/external/preact/compat/dist/compat.js +1 -1
  476. package/dist/es-legacy/external/preact/compat/dist/compat.js.map +1 -1
  477. package/dist/es-legacy/external/preact/dist/preact.js +1 -1
  478. package/dist/es-legacy/external/preact/dist/preact.js.map +1 -1
  479. package/dist/es-legacy/external/preact/hooks/dist/hooks.js +1 -1
  480. package/dist/es-legacy/external/preact/hooks/dist/hooks.js.map +1 -1
  481. package/dist/es-legacy/hooks/usePaymentStatusTimer/usePaymentStatusTimer.js.map +1 -1
  482. package/dist/es-legacy/language/Language.js.map +1 -1
  483. package/dist/es-legacy/utils/Script.js.map +1 -1
  484. package/dist/es-legacy/utils/Storage.js +1 -1
  485. package/dist/es-legacy/utils/Storage.js.map +1 -1
  486. package/dist/es-legacy/utils/Validator/ValidationRuleResult.js.map +1 -1
  487. package/dist/es-legacy/utils/Validator/Validator.js.map +1 -1
  488. package/dist/es-legacy/utils/amount-util.js +1 -1
  489. package/dist/es-legacy/utils/amount-util.js.map +1 -1
  490. package/dist/es-legacy/utils/browserInfo.js +1 -1
  491. package/dist/es-legacy/utils/browserInfo.js.map +1 -1
  492. package/dist/es-legacy/utils/constants/currency-minor-units.js.map +1 -1
  493. package/dist/es-legacy/utils/createSdkData.js.map +1 -1
  494. package/dist/es-legacy/utils/getConsentUrl.js.map +1 -1
  495. package/dist/es-legacy/utils/getErrorMessage.js.map +1 -1
  496. package/dist/es-legacy/utils/getProp.js +1 -1
  497. package/dist/es-legacy/utils/getProp.js.map +1 -1
  498. package/dist/es-legacy/utils/hasOwnProperty.js.map +1 -1
  499. package/dist/es-legacy/utils/isValidURL.js.map +1 -1
  500. package/dist/es-legacy/utils/listenerUtils.js.map +1 -1
  501. package/dist/es-legacy/utils/promiseTimeout.js.map +1 -1
  502. package/dist/es-legacy/utils/textUtils.js.map +1 -1
  503. package/dist/es-legacy/utils/useAutoFocus.js.map +1 -1
  504. package/dist/es-legacy/utils/useForm/reducer.js.map +1 -1
  505. package/dist/es-legacy/utils/validator-utils.js.map +1 -1
  506. package/package.json +11 -11
  507. package/styles/adyen.css +8 -9
  508. package/dist/es/components/UPI/components/VpaInput/VpaInput.js +0 -2
  509. package/dist/es/components/UPI/components/VpaInput/VpaInput.js.map +0 -1
  510. package/dist/es/components/UPI/components/VpaInput/validate.js +0 -2
  511. package/dist/es/components/UPI/components/VpaInput/validate.js.map +0 -1
  512. package/dist/es-legacy/components/UPI/components/VpaInput/VpaInput.js +0 -2
  513. package/dist/es-legacy/components/UPI/components/VpaInput/VpaInput.js.map +0 -1
  514. package/dist/es-legacy/components/UPI/components/VpaInput/validate.js +0 -2
  515. package/dist/es-legacy/components/UPI/components/VpaInput/validate.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"UPI.js","sources":["../../../../src/components/UPI/UPI.tsx"],"sourcesContent":["import { h, RefObject } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport UPIComponent from './components/UPIComponent';\nimport { Await } from '../internal/Await';\nimport { QRLoader } from '../internal/QRLoader';\nimport { UPIConfiguration, UpiMode, UpiPaymentData, UpiType } from './types';\nimport { TxVariants } from '../tx-variants';\nimport isMobile from '../../utils/isMobile';\nimport type { ICore } from '../../core/types';\nimport { getIntentOption, getQrOption, getVpaOption } from './constants';\n\n/**\n * For mobile:\n * We should show upi_collect and upi_intent depending on if `apps` are returned in /paymentMethods response.\n * If there is no apps, hide segmented controls.\n * The upi_collect should always be on the second tab.\n * Never show QR code.\n *\n * For non-mobile:\n * We should never show the upi_intent (ignore `apps` in /paymentMethods response)\n * The upi_qr should be on the first tab and the upi_collect should be on second tab\n */\n\nclass UPI extends UIElement<UPIConfiguration> {\n public static type = TxVariants.upi;\n public static txVariants = [TxVariants.upi, TxVariants.upi_qr, TxVariants.upi_collect, TxVariants.upi_intent];\n\n private selectedMode: UpiMode;\n\n constructor(checkout: ICore, props: UPIConfiguration) {\n super(checkout, props);\n this.selectedMode = this.props.defaultMode;\n }\n\n formatProps(props: UPIConfiguration): UPIConfiguration {\n if (!isMobile()) {\n return {\n ...super.formatProps(props),\n defaultMode: ['qrCode', 'vpa'].includes(props?.defaultMode) ? props.defaultMode : 'qrCode',\n apps: [], // For desktop, ignore the apps\n segmentedControlOptions: [getQrOption(props.i18n), getVpaOption(props.i18n)]\n };\n }\n\n const { i18n, apps = [] } = props;\n const hasIntentApps = apps.length > 0;\n if (hasIntentApps) {\n // Mobile with UPI apps\n const allowedModes: UpiMode[] = ['intent', 'vpa'];\n const defaultMode = allowedModes.includes(props.defaultMode) ? props.defaultMode : 'intent';\n return {\n ...super.formatProps(props),\n defaultMode,\n apps,\n segmentedControlOptions: [getIntentOption(i18n), getVpaOption(i18n)]\n };\n }\n\n // Mobile, but no UPI apps\n return {\n ...super.formatProps(props),\n defaultMode: 'vpa', // Only VPA is possible\n apps: [],\n segmentedControlOptions: []\n };\n }\n\n public get isValid(): boolean {\n return this.state.isValid;\n }\n\n public formatData(): UpiPaymentData {\n const { virtualPaymentAddress, app } = this.state.data || {};\n\n return {\n paymentMethod: {\n type: this.paymentType,\n ...(this.paymentType === TxVariants.upi_collect && virtualPaymentAddress && { virtualPaymentAddress }),\n ...(this.paymentType === TxVariants.upi_intent && app?.id && { appId: app.id })\n }\n };\n }\n\n get paymentType(): UpiType {\n if (this.selectedMode === 'qrCode') {\n return TxVariants.upi_qr;\n }\n if (this.selectedMode === 'vpa') {\n return TxVariants.upi_collect;\n }\n return TxVariants.upi_intent;\n }\n\n private onUpdateMode = (mode: UpiMode): void => {\n this.selectedMode = mode;\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) : null}\n type={TxVariants.upi_qr}\n brandLogo={this.props.brandLogo || this.icon}\n onComplete={this.onComplete}\n introduction={this.props.i18n.get('upi.qrCodeWaitingMessage')}\n countdownTime={this.props.countdownTime ?? 5}\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 ?? 5}\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 amount={this.props.amount}\n />\n );\n default:\n return (\n <UPIComponent\n ref={(ref: RefObject<typeof UPIComponent>) => {\n this.componentRef = ref;\n }}\n payButton={this.payButton}\n onChange={this.setState}\n onUpdateMode={this.onUpdateMode}\n apps={this.props.apps}\n segmentedControlOptions={this.props.segmentedControlOptions}\n defaultMode={this.props.defaultMode}\n showPayButton={this.props.showPayButton}\n amount={this.props.amount}\n mandate={this.props.mandate}\n />\n );\n }\n }\n}\n\nexport default UPI;\n"],"names":["UPI","UIElement","formatProps","props","isMobile","_object_spread_props","_object_spread","super","defaultMode","includes","apps","segmentedControlOptions","getQrOption","i18n","getVpaOption","length","getIntentOption","isValid","this","state","formatData","virtualPaymentAddress","app","data","paymentMethod","type","paymentType","TxVariants","upi_collect","upi_intent","id","appId","selectedMode","upi_qr","componentToRender","url","paymentMethodType","isAutoPay","mandate","_this_props_countdownTime","h","QRLoader","qrCodeData","encodeURIComponent","brandLogo","icon","onComplete","introduction","get","countdownTime","onActionHandled","showAmount","_this_props_countdownTime1","Await","showCountdownTimer","shouldRedirectAutomatically","clientKey","paymentData","onError","messageText","awaitText","amount","UPIComponent","ref","componentRef","payButton","onChange","setState","onUpdateMode","showPayButton","constructor","checkout","_define_property","mode","upi","txVariants"],"mappings":"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"}
1
+ {"version":3,"file":"UPI.js","sources":["../../../../src/components/UPI/UPI.tsx"],"sourcesContent":["import { h, RefObject } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport UPIComponent from './components/UPIComponent';\nimport { Await } from '../internal/Await';\nimport { QRLoader } from '../internal/QRLoader';\nimport { UPIConfiguration, UpiMode, UpiPaymentData, UpiType } from './types';\nimport { TxVariants } from '../tx-variants';\nimport isMobile from '../../utils/isMobile';\nimport { UPI_MODE } from './constants';\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 type = TxVariants.upi;\n public static readonly txVariants = [TxVariants.upi, TxVariants.upi_qr, TxVariants.upi_intent];\n private mode: UpiMode;\n constructor(checkout: ICore, props: UPIConfiguration) {\n super(checkout, props);\n // @ts-ignore: Accessing deprecated prop to provide migration warning\n const { defaultMode: deprecatedDefaultMode } = props;\n if (deprecatedDefaultMode) {\n console.warn('[Adyen Checkout] UPI configuration property \"defaultMode\" is deprecated and will be removed in a future version.');\n }\n this.mode = isMobile() ? UPI_MODE.INTENT : UPI_MODE.QR_CODE;\n }\n\n formatProps(props: UPIConfiguration): UPIConfiguration {\n const { apps = [] } = props;\n const hasIntentApps = apps.length > 0;\n if (isMobile() && hasIntentApps) {\n // Mobile with UPI apps\n return {\n ...super.formatProps(props),\n apps\n };\n }\n\n this.mode = UPI_MODE.QR_CODE;\n return {\n ...super.formatProps(props),\n apps: []\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 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) : null}\n type={TxVariants.upi_qr}\n brandLogo={this.props.brandLogo || this.icon}\n onComplete={this.onComplete}\n introduction={this.props.i18n.get('upi.qrCodeWaitingMessage')}\n countdownTime={this.props.countdownTime ?? 5}\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 ?? 5}\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 />\n );\n default:\n return (\n <UPIComponent\n ref={(ref: RefObject<typeof UPIComponent>) => {\n this.componentRef = ref;\n }}\n payButton={this.payButton}\n onChange={this.setState}\n apps={this.props.apps}\n mode={this.mode}\n showPayButton={this.props.showPayButton}\n mandate={this.props.mandate}\n />\n );\n }\n }\n}\n\nexport default UPI;\n"],"names":["UPI","UIElement","formatProps","props","apps","hasIntentApps","length","isMobile","_object_spread_props","_object_spread","super","this","mode","UPI_MODE","QR_CODE","isValid","state","formatData","app","data","paymentMethod","type","paymentType","TxVariants","upi_intent","id","appId","upi_qr","componentToRender","url","paymentMethodType","isAutoPay","mandate","_this_props_countdownTime","h","QRLoader","qrCodeData","encodeURIComponent","brandLogo","icon","onComplete","introduction","i18n","get","countdownTime","onActionHandled","showAmount","_this_props_countdownTime1","Await","showCountdownTimer","shouldRedirectAutomatically","clientKey","paymentData","onError","messageText","awaitText","UPIComponent","ref","componentRef","payButton","onChange","setState","showPayButton","constructor","checkout","_define_property","defaultMode","deprecatedDefaultMode","console","warn","INTENT","upi","txVariants"],"mappings":"2+CAoBA,MAAMA,UAAYC,EAcdC,WAAAA,CAAYC,GACR,MAAMC,KAAEA,EAAO,IAAOD,EAChBE,EAAgBD,EAAKE,OAAS,EACpC,OAAIC,KAAcF,EAEPG,EAAAC,EAAA,CAAA,EACAC,MAAMR,YAAYC,IAAAA,CACrBC,UAIRO,KAAKC,KAAOC,EAASC,QACdN,EAAAC,EAAA,CAAA,EACAC,MAAMR,YAAYC,IAAAA,CACrBC,KAAM,KAEd,CAEA,WAAWW,GACP,OAAOJ,KAAKK,MAAMD,OACtB,CAEOE,UAAAA,GACH,MAAMC,IAAEA,GAAQP,KAAKK,MAAMG,MAAQ,CAAA,EAEnC,MAAO,CACHC,cAAeX,EAAA,CACXY,KAAMV,KAAKW,aACPX,KAAKW,cAAgBC,EAAWC,aAAcN,aAAAA,EAAAA,EAAKO,KAAM,CAAEC,MAAOR,EAAIO,KAGtF,CAEA,eAAIH,GACA,OAAIX,KAAKC,OAASC,EAASC,QAChBS,EAAWI,OAEfJ,EAAWC,UACtB,CAEmBI,iBAAAA,GACf,MAAMP,KAAEA,EAAIQ,IAAEA,EAAGC,kBAAEA,GAAsBnB,KAAKR,MAExC4B,IAAcpB,KAAKR,MAAM6B,QAE/B,OAAQX,GACJ,IAAK,SASsB,IAAAY,EARvB,OACIC,EAACC,EAAAA,EAAAA,EAAAA,GACOxB,KAAKR,OAAK,CACdiC,WAAYzB,KAAKR,MAAMiC,WAAaC,mBAAmB1B,KAAKR,MAAMiC,YAAc,KAChFf,KAAME,EAAWI,OACjBW,UAAW3B,KAAKR,MAAMmC,WAAa3B,KAAK4B,KACxCC,WAAY7B,KAAK6B,WACjBC,aAAc9B,KAAKR,MAAMuC,KAAKC,IAAI,4BAClCC,cAAuC,QAAxBX,EAAAtB,KAAKR,MAAMyC,yBAAXX,EAAAA,EAA4B,EAC3CY,gBAAiBlC,KAAKkC,gBACtBC,YAAaf,KAGzB,IAAK,QAQsB,IAAAgB,EAPvB,OACIb,EAACc,EAAAA,CACGnB,IAAKA,EACLR,KAAMS,EACNmB,oBAAAA,EACAC,6BAAAA,EACAJ,YAAaf,EACba,cAAuC,QAAxBG,EAAApC,KAAKR,MAAMyC,yBAAXG,EAAAA,EAA4B,EAC3CI,UAAWxC,KAAKR,MAAMgD,UACtBC,YAAazC,KAAKR,MAAMiD,YACxBP,gBAAiBlC,KAAKkC,gBACtBQ,QAAS1C,KAAKR,MAAMkD,QACpBC,YAAa3C,KAAKR,MAAMuC,KAAKC,IAAI,yBACjCY,UAAW5C,KAAKR,MAAMuC,KAAKC,IAAI,6BAC/BH,WAAY7B,KAAK6B,WACjBF,UAAW3B,KAAK4B,OAG5B,QACI,OACIL,EAACsB,EAAAA,CACGC,IAAMA,IACF9C,KAAK+C,aAAeD,GAExBE,UAAWhD,KAAKgD,UAChBC,SAAUjD,KAAKkD,SACfzD,KAAMO,KAAKR,MAAMC,KACjBQ,KAAMD,KAAKC,KACXkD,cAAenD,KAAKR,MAAM2D,cAC1B9B,QAASrB,KAAKR,MAAM6B,UAIxC,CAxGA,WAAA+B,CAAYC,EAAiB7D,GACzBO,MAAMsD,EAAU7D,GAFpB8D,EAAAtD,KAAQC,eAIJ,MAAQsD,YAAaC,GAA0BhE,EAC3CgE,GACAC,QAAQC,KAAK,oHAEjB1D,KAAKC,KAAOL,IAAaM,EAASyD,OAASzD,EAASC,OACxD,EAXAmD,EADEjE,EACYqB,OAAOE,EAAWgD,KAChCN,EAFEjE,EAEqBwE,aAAa,CAACjD,EAAWgD,IAAKhD,EAAWI,OAAQJ,EAAWC"}
@@ -1,2 +1,2 @@
1
- import{createElement as e,Fragment as t}from"../../../../external/preact/dist/preact.js";import{useState as n,useCallback as a,useEffect as o}from"../../../../external/preact/hooks/dist/hooks.js";import r from"../VpaInput/VpaInput.js";import i from"../../../../core/Context/useImage.js";import{A11Y as l}from"../../constants.js";import{SegmentedControl as s}from"../../../internal/SegmentedControl/SegmentedControl.js";import{SegmentedControlRegion as d}from"../../../internal/SegmentedControl/SegmentedControlRegion.js";import u from"../UPIIntentAppList/UPIIntentAppList.js";import{useCoreContext as c}from"../../../../core/Context/CoreProvider.js";import p from"../../../internal/Alert/Alert.js";import m from"../UPIMandate/UPIMandate.js";function g(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f(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){g(e,t,n[t])})}return e}function b({defaultMode:g,onChange:b,payButton:y,showPayButton:I,mandate:h,amount:C,onUpdateMode:j=()=>{},apps:A=[],segmentedControlOptions:N=[]}){const{i18n:P}=c(),S=i(),[k,v]=n("ready"),[O,B]=n(g),[V,q]=n(null),[w,x]=n(null),[E,L]=n("qrCode"===g),M=h&&e(m,{mandate:h,amount:C});this.setStatus=e=>{v(e)},this.showValidation=()=>{null==V||V.validateInput(),"intent"===O&&Q()};const U=a(e=>{q(e)},[]),R=a(e=>{B(e),j(e)},[j]),T=a(e=>{(null==e?void 0:e.id)!==(null==w?void 0:w.id)&&(x(e),L(!0),v("ready"))},[w]),Q=a(()=>{w?(v("ready"),L(!0)):(v("error"),L(!1))},[w]);return o(()=>{b("qrCode"!==O?{data:f({},w&&{app:w}),isValid:E}:{data:{},valid:{},errors:{},isValid:!0})},[w,E,O,b]),e(t,null,N.length>0&&e("p",{className:"adyen-checkout_upi-mode-selection-text"},P.get("upi.modeSelection")),e(s,{onChange:R,selectedValue:O,disabled:"loading"===k,classNameModifiers:["upi-margin-bottom"],options:N}),"intent"===O&&e(d,{id:l.AreaId.INTENT,ariaLabelledBy:l.ButtonId.INTENT,className:"adyen-checkout-upi-area-intent"},e("span",{className:"adyen-checkout-upi-instruction-label"},P.get("upi.intent.instruction")),"error"===k&&e(p,{icon:"cross"},P.get("upi.error.noAppSelected")),e(u,{disabled:"loading"===k,apps:A,selectedAppId:null==w?void 0:w.id,onAppSelect:T}),M,I&&y({label:P.get("continue"),status:k})),"vpa"===O&&e(d,{id:l.AreaId.VPA,ariaLabelledBy:l.ButtonId.VPA,className:"adyen-checkout-upi-area-vpa"},e("span",{className:"adyen-checkout-upi-instruction-label"},P.get("upi.collect.instruction")),e(r,{disabled:"loading"===k,onChange:b,onSetInputHandlers:U}),M,I&&y({label:P.get("continue"),status:k})),"qrCode"===O&&e(d,{id:l.AreaId.QR,ariaLabelledBy:l.ButtonId.QR,className:"adyen-checkout-upi-area-qr-code"},e("span",{className:"adyen-checkout-upi-instruction-label"},P.get("upi.qrCode.instruction")),M,I&&y({label:P.get("generateQRCode"),icon:S({imageFolder:"components/"})("qr"),status:k})))}export{b as default};
1
+ import{createElement as e,Fragment as t}from"../../../../external/preact/dist/preact.js";import{useState as r,useCallback as o,useEffect as n}from"../../../../external/preact/hooks/dist/hooks.js";import a from"../../../../core/Context/useImage.js";import{UPI_MODE as i,A11Y as s}from"../../constants.js";import"../../../../_virtual/index.js";import{SegmentedControlRegion as l}from"../../../internal/SegmentedControl/SegmentedControlRegion.js";import c from"../UPIIntentAppList/UPIIntentAppList.js";import{useCoreContext as u}from"../../../../core/Context/CoreProvider.js";import d from"../../../internal/Alert/Alert.js";import p from"../UPIMandate/UPIMandate.js";import{useAmount as m}from"../../../../core/Context/AmountProvider.js";function f(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function b(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){f(e,t,r[t])})}return e}function g({mode:f,onChange:g,payButton:y,showPayButton:j,mandate:I,apps:h=[]}){const{i18n:C}=u(),N=a(),[O,P]=r("ready"),[v,A]=r(null),{amount:E}=m(),[k,S]=r(f===i.QR_CODE),T=I&&e(p,{mandate:I,amount:E});this.setStatus=e=>{P(e)},this.showValidation=()=>{f===i.INTENT&&R()};const x=o(e=>{(null==e?void 0:e.id)!==(null==v?void 0:v.id)&&(A(e),S(!0),P("ready"))},[v]),R=o(()=>{v?(P("ready"),S(!0)):(P("error"),S(!1))},[v]);return n(()=>{f!==i.QR_CODE?g({data:b({},v&&{app:v}),isValid:k}):g({data:{},valid:{},errors:{},isValid:!0})},[v,k,f,g]),e(t,null,f===i.INTENT&&e(l,{id:s.AreaId.INTENT,ariaLabelledBy:s.ButtonId.INTENT,className:"adyen-checkout-upi-area-intent"},e("span",{className:"adyen-checkout-upi-instruction-label"},C.get("upi.intent.instruction")),"error"===O&&e(d,{icon:"cross"},C.get("upi.error.noAppSelected")),e(c,{disabled:"loading"===O,apps:h,selectedAppId:null==v?void 0:v.id,onAppSelect:x}),T,j&&y({label:C.get("continue"),status:O})),f===i.QR_CODE&&e(l,{id:s.AreaId.QR,ariaLabelledBy:s.ButtonId.QR,className:"adyen-checkout-upi-area-qr-code"},e("span",{className:"adyen-checkout-upi-instruction-label"},C.get("upi.qrCode.instruction")),T,j&&y({label:C.get("generateQRCode"),icon:N({imageFolder:"components/"})("qr"),status:O})))}export{g 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, RefObject } from 'preact';\nimport { useCallback, useEffect, useState } from 'preact/hooks';\nimport { PayButtonFunctionProps, UIElementStatus } from '../../../types';\nimport VpaInput, { VpaInputHandlers } from '../VpaInput/VpaInput';\nimport { App, UpiMode } from '../../types';\nimport useImage from '../../../../core/Context/useImage';\nimport { A11Y } from '../../constants';\nimport './UPIComponent.scss';\nimport { SegmentedControl, SegmentedControlRegion } from '../../../internal/SegmentedControl';\nimport UPIIntentAppList from '../UPIIntentAppList';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport Alert from '../../../internal/Alert';\nimport { SegmentedControlOption } from '../../../internal/SegmentedControl/SegmentedControl';\nimport UPIMandate, { Mandate } from '../UPIMandate/UPIMandate';\nimport type { PaymentAmount } from '../../../../types/global-types';\n\ntype UpiData = { app?: App; virtualPaymentAddress?: string };\n\ntype OnChangeProps = { data: UpiData; valid?: { [key: string]: boolean }; errors?: { [key: string]: any }; isValid: boolean };\n\ninterface UPIComponentProps {\n defaultMode: UpiMode;\n showPayButton: boolean;\n apps?: Array<App>;\n segmentedControlOptions?: Array<SegmentedControlOption<UpiMode>>;\n mandate?: Mandate;\n amount?: PaymentAmount;\n\n ref?(ref: RefObject<typeof UPIComponent>): void;\n\n payButton?(props: PayButtonFunctionProps): h.JSX.Element;\n\n onChange({ data, valid, errors, isValid }: OnChangeProps): void;\n\n onUpdateMode?(mode: UpiMode): void;\n}\n\nexport default function UPIComponent({\n defaultMode,\n onChange,\n payButton,\n showPayButton,\n mandate,\n amount,\n onUpdateMode = () => {},\n apps = [],\n segmentedControlOptions = []\n}: Readonly<UPIComponentProps>): h.JSX.Element {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n const [status, setStatus] = useState<UIElementStatus>('ready');\n const [mode, setMode] = useState<UpiMode>(defaultMode);\n const [vpaInputHandlers, setVpaInputHandlers] = useState<VpaInputHandlers>(null);\n const [selectedApp, setSelectedApp] = useState<App>(null);\n const [isValid, setIsValid] = useState<boolean>(defaultMode === 'qrCode');\n const mandateComponent = mandate && <UPIMandate mandate={mandate} amount={amount} />;\n\n this.setStatus = (status: UIElementStatus) => {\n setStatus(status);\n };\n\n this.showValidation = () => {\n vpaInputHandlers?.validateInput();\n if (mode === 'intent') {\n validateIntentApp();\n }\n };\n\n const onSetVpaInputHandlers = useCallback((handlers: VpaInputHandlers) => {\n setVpaInputHandlers(handlers);\n }, []);\n\n const onChangeUpiMode = useCallback(\n (newMode: UpiMode) => {\n setMode(newMode);\n onUpdateMode(newMode);\n },\n [onUpdateMode]\n );\n\n const handleAppSelect = useCallback(\n (app: App) => {\n if (app?.id === selectedApp?.id) return;\n\n setSelectedApp(app);\n setIsValid(true);\n setStatus('ready');\n },\n [selectedApp]\n );\n\n const validateIntentApp = useCallback(() => {\n if (!selectedApp) {\n setStatus('error');\n setIsValid(false);\n } else {\n setStatus('ready');\n setIsValid(true);\n }\n }, [selectedApp]);\n\n useEffect(() => {\n if (mode !== 'qrCode') {\n onChange({\n data: { ...(selectedApp && { app: selectedApp }) },\n isValid\n });\n } else {\n /**\n * When selecting QR code mode, we need to clear the state data and trigger the 'onChange'.\n */\n onChange({ data: {}, valid: {}, errors: {}, isValid: true });\n }\n }, [selectedApp, isValid, mode, onChange]);\n\n return (\n <Fragment>\n {segmentedControlOptions.length > 0 && <p className=\"adyen-checkout_upi-mode-selection-text\">{i18n.get('upi.modeSelection')}</p>}\n <SegmentedControl\n onChange={onChangeUpiMode}\n selectedValue={mode}\n disabled={status === 'loading'}\n classNameModifiers={['upi-margin-bottom']}\n options={segmentedControlOptions}\n />\n\n {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 {status === 'error' && <Alert icon={'cross'}>{i18n.get('upi.error.noAppSelected')}</Alert>}\n <UPIIntentAppList disabled={status === 'loading'} apps={apps} selectedAppId={selectedApp?.id} onAppSelect={handleAppSelect} />\n {mandateComponent}\n {showPayButton &&\n payButton({\n label: i18n.get('continue'),\n status\n })}\n </SegmentedControlRegion>\n )}\n {mode === 'vpa' && (\n <SegmentedControlRegion id={A11Y.AreaId.VPA} ariaLabelledBy={A11Y.ButtonId.VPA} className=\"adyen-checkout-upi-area-vpa\">\n <span className=\"adyen-checkout-upi-instruction-label\">{i18n.get('upi.collect.instruction')}</span>\n <VpaInput disabled={status === 'loading'} onChange={onChange} onSetInputHandlers={onSetVpaInputHandlers} />\n {mandateComponent}\n {showPayButton &&\n payButton({\n label: i18n.get('continue'),\n status\n })}\n </SegmentedControlRegion>\n )}\n {mode === 'qrCode' && (\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\">{i18n.get('upi.qrCode.instruction')}</span>\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","defaultMode","onChange","payButton","showPayButton","mandate","amount","onUpdateMode","apps","segmentedControlOptions","i18n","useCoreContext","getImage","useImage","status","setStatus","useState","mode","setMode","vpaInputHandlers","setVpaInputHandlers","selectedApp","setSelectedApp","isValid","setIsValid","mandateComponent","h","UPIMandate","this","showValidation","validateInput","validateIntentApp","onSetVpaInputHandlers","useCallback","handlers","onChangeUpiMode","newMode","handleAppSelect","app","id","useEffect","data","_object_spread","valid","errors","Fragment","length","p","className","get","SegmentedControl","selectedValue","disabled","classNameModifiers","options","SegmentedControlRegion","A11Y","AreaId","INTENT","ariaLabelledBy","ButtonId","span","Alert","icon","UPIIntentAppList","selectedAppId","onAppSelect","label","VPA","VpaInput","onSetInputHandlers","QR","imageFolder"],"mappings":"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"}
1
+ {"version":3,"file":"UPIComponent.js","sources":["../../../../../../src/components/UPI/components/UPIComponent/UPIComponent.tsx"],"sourcesContent":["import { Fragment, h, RefObject } from 'preact';\nimport { useCallback, useEffect, useState } from 'preact/hooks';\nimport { UIElementStatus } from '../../../types';\nimport { App, UpiMode } from '../../types';\nimport useImage from '../../../../core/Context/useImage';\nimport { A11Y, UPI_MODE } from '../../constants';\nimport './UPIComponent.scss';\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';\n\ntype UpiData = { app?: App };\n\ntype OnChangeProps = { data: UpiData; valid?: { [key: string]: boolean }; errors?: { [key: string]: any }; isValid: boolean };\n\ninterface UPIComponentProps {\n mode: UpiMode;\n showPayButton: boolean;\n apps?: Array<App>;\n mandate?: Mandate;\n ref?(ref: RefObject<typeof UPIComponent>): void;\n payButton(props: PayButtonProps): h.JSX.Element;\n onChange({ data, valid, errors, isValid }: OnChangeProps): void;\n}\n\nexport default function UPIComponent({ mode, onChange, payButton, showPayButton, mandate, apps = [] }: 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);\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 this.setStatus = (status: UIElementStatus) => {\n setStatus(status);\n };\n\n this.showValidation = () => {\n if (mode === UPI_MODE.INTENT) {\n validateIntentApp();\n }\n };\n\n const handleAppSelect = useCallback(\n (app: App) => {\n if (app?.id === selectedApp?.id) return;\n\n setSelectedApp(app);\n setIsValid(true);\n setStatus('ready');\n },\n [selectedApp]\n );\n\n const validateIntentApp = useCallback(() => {\n if (!selectedApp) {\n setStatus('error');\n setIsValid(false);\n } else {\n setStatus('ready');\n setIsValid(true);\n }\n }, [selectedApp]);\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 the '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 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 {status === 'error' && <Alert icon={'cross'}>{i18n.get('upi.error.noAppSelected')}</Alert>}\n <UPIIntentAppList disabled={status === 'loading'} apps={apps} selectedAppId={selectedApp?.id} onAppSelect={handleAppSelect} />\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\">{i18n.get('upi.qrCode.instruction')}</span>\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","showPayButton","mandate","apps","i18n","useCoreContext","getImage","useImage","status","setStatus","useState","selectedApp","setSelectedApp","amount","useAmount","isValid","setIsValid","UPI_MODE","QR_CODE","mandateComponent","h","UPIMandate","this","showValidation","INTENT","validateIntentApp","handleAppSelect","useCallback","app","id","useEffect","data","_object_spread","valid","errors","Fragment","SegmentedControlRegion","A11Y","AreaId","ariaLabelledBy","ButtonId","className","span","get","Alert","icon","UPIIntentAppList","disabled","selectedAppId","onAppSelect","label","QR","imageFolder"],"mappings":"2pCA6Be,SAASA,GAAaC,KAAEA,EAAIC,SAAEA,EAAQC,UAAEA,EAASC,cAAEA,EAAaC,QAAEA,EAAOC,KAAEA,EAAO,KAC7F,MAAMC,KAAEA,GAASC,IACXC,EAAWC,KACVC,EAAQC,GAAaC,EAA0B,UAC/CC,EAAaC,GAAkBF,EAAc,OAC9CG,OAAEA,GAAWC,KACZC,EAASC,GAAcN,EAAkBZ,IAASmB,EAASC,SAC5DC,EAAmBjB,GAAWkB,EAACC,EAAAA,CAAWnB,QAASA,EAASW,OAAQA,IAE1ES,KAAKb,UAAaD,IACdC,EAAUD,IAGdc,KAAKC,eAAiB,KACdzB,IAASmB,EAASO,QAClBC,KAIR,MAAMC,EAAkBC,EACnBC,KACOA,aAAAA,EAAAA,EAAKC,OAAOlB,aAAAA,EAAAA,EAAakB,MAE7BjB,EAAegB,GACfZ,GAAW,GACXP,EAAU,WAEd,CAACE,IAGCc,EAAoBE,EAAY,KAC7BhB,GAIDF,EAAU,SACVO,GAAW,KAJXP,EAAU,SACVO,GAAW,KAKhB,CAACL,IAgBJ,OAdAmB,EAAU,KACFhC,IAASmB,EAASC,QAOtBnB,EAAS,CACLgC,KAAMC,KAAMrB,GAAe,CAAEiB,IAAKjB,IAClCI,YALAhB,EAAS,CAAEgC,KAAM,CAAA,EAAIE,MAAO,CAAA,EAAIC,OAAQ,CAAA,EAAInB,SAAS,KAO1D,CAACJ,EAAaI,EAASjB,EAAMC,IAG5BqB,EAACe,EAAAA,KACIrC,IAASmB,EAASO,QACfJ,EAACgB,EAAAA,CAAuBP,GAAIQ,EAAKC,OAAOd,OAAQe,eAAgBF,EAAKG,SAAShB,OAAQiB,UAAU,kCAC5FrB,EAACsB,OAAAA,CAAKD,UAAU,wCAAwCrC,EAAKuC,IAAI,2BACrD,UAAXnC,GAAsBY,EAACwB,EAAAA,CAAMC,KAAM,SAAUzC,EAAKuC,IAAI,4BACvDvB,EAAC0B,EAAAA,CAAiBC,SAAqB,YAAXvC,EAAsBL,KAAMA,EAAM6C,cAAerC,aAAAA,EAAAA,EAAakB,GAAIoB,YAAavB,IAC1GP,EACAlB,GACGD,EAAU,CACNkD,MAAO9C,EAAKuC,IAAI,YAChBnC,YAIfV,IAASmB,EAASC,SACfE,EAACgB,EAAAA,CAAuBP,GAAIQ,EAAKC,OAAOa,GAAIZ,eAAgBF,EAAKG,SAASW,GAAIV,UAAU,mCACpFrB,EAACsB,OAAAA,CAAKD,UAAU,wCAAwCrC,EAAKuC,IAAI,2BAChExB,EACAlB,GACGD,EAAU,CACNkD,MAAO9C,EAAKuC,IAAI,kBAChBE,KAAMvC,EAAS,CAAE8C,YAAa,eAAxB9C,CAAyC,MAC/CE,YAM5B"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../../external/preact/dist/preact.js";import t from"../../../../_virtual/index.js";import r from"./UPIIntentAppItem/UPIIntentAppItem.js";import p from"../../../../core/Context/useImage.js";import{useCoreContext as o}from"../../../../core/Context/CoreProvider.js";const a=({apps:a,selectedAppId:i,disabled:s,onAppSelect:n=()=>{}})=>{const{i18n:c}=o(),d=p();return e("ul",{className:t({"adyen-checkout-upi-app-list":!0,"adyen-checkout-upi-app-list--loading":s}),role:"radiogroup","aria-label":c.get("paymentMethodsList.aria.label"),required:!0},a.map(t=>{const p=`adyen-checkout-upi-app-item-${t.id}`,o=i===t.id,a=`upi/${t.id}`,s=d()(a.toLowerCase());return e(r,{key:p,app:t,imgSrc:s,isSelected:o,onSelect:n})}))};export{a as default};
1
+ import{createElement as e}from"../../../../external/preact/dist/preact.js";import t from"../../../../_virtual/index.js";import p from"./UPIIntentAppItem/UPIIntentAppItem.js";import o from"../../../../core/Context/useImage.js";import{useCoreContext as r}from"../../../../core/Context/CoreProvider.js";const a=({apps:a,selectedAppId:i,disabled:s,onAppSelect:n=()=>{}})=>{const{i18n:c}=r(),l=o();return e("ul",{className:t({"adyen-checkout-upi-app-list":!0,"adyen-checkout-upi-app-list--loading":s}),role:"radiogroup","aria-label":c.get("paymentMethodsList.aria.label")},a.map(t=>{const o=`adyen-checkout-upi-app-item-${t.id}`,r=i===t.id,a=`upi/${t.id}`,s=l()(a.toLowerCase());return e(p,{key:o,app:t,imgSrc:s,isSelected:r,onSelect:n})}))};export{a as default};
2
2
  //# sourceMappingURL=UPIIntentAppList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UPIIntentAppList.js","sources":["../../../../../../src/components/UPI/components/UPIIntentAppList/UPIIntentAppList.tsx"],"sourcesContent":["import { h } from 'preact';\nimport classNames from 'classnames';\nimport { App } from '../../types';\nimport UPIIntentAppItem from './UPIIntentAppItem';\nimport useImage from '../../../../core/Context/useImage';\nimport './UPIIntentAppList.scss';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\n\ninterface UPIIntentAppListProps {\n apps: Array<App>;\n selectedAppId?: string;\n disabled?: boolean;\n onAppSelect?: (app: App) => void;\n}\n\nconst UPIIntentAppList = ({ apps, selectedAppId, disabled, onAppSelect = () => {} }: UPIIntentAppListProps): h.JSX.Element => {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n\n return (\n /* eslint-disable jsx-a11y/no-noninteractive-element-to-interactive-role */\n <ul\n className={classNames({\n 'adyen-checkout-upi-app-list': true,\n 'adyen-checkout-upi-app-list--loading': disabled\n })}\n role=\"radiogroup\"\n aria-label={i18n.get('paymentMethodsList.aria.label')}\n required\n >\n {apps.map(app => {\n const key = `adyen-checkout-upi-app-item-${app.id}`;\n const isSelected = selectedAppId === app.id;\n const imgName = `upi/${app.id}`;\n const imgSrc = getImage()(imgName.toLowerCase());\n return <UPIIntentAppItem key={key} app={app} imgSrc={imgSrc} isSelected={isSelected} onSelect={onAppSelect} />;\n })}\n </ul>\n );\n};\n\nexport default UPIIntentAppList;\n"],"names":["UPIIntentAppList","apps","selectedAppId","disabled","onAppSelect","i18n","useCoreContext","getImage","useImage","h","ul","className","classNames","role","aria-label","get","required","map","app","key","id","isSelected","imgName","imgSrc","toLowerCase","UPIIntentAppItem","onSelect"],"mappings":"4SAeA,MAAMA,EAAmB,EAAGC,OAAMC,gBAAeC,WAAUC,cAAc,WACrE,MAAMC,KAAEA,GAASC,IACXC,EAAWC,IAEjB,OAEIC,EAACC,KAAAA,CACGC,UAAWC,EAAW,CAClB,+BAA+B,EAC/B,uCAAwCT,IAE5CU,KAAK,aACLC,aAAYT,EAAKU,IAAI,iCACrBC,UAAAA,GAECf,EAAKgB,IAAIC,IACN,MAAMC,EAAM,+BAA+BD,EAAIE,KACzCC,EAAanB,IAAkBgB,EAAIE,GACnCE,EAAU,OAAOJ,EAAIE,KACrBG,EAAShB,IAAWe,EAAQE,eAClC,OAAOf,EAACgB,EAAAA,CAAiBN,IAAKA,EAAKD,IAAKA,EAAKK,OAAQA,EAAQF,WAAYA,EAAYK,SAAUtB"}
1
+ {"version":3,"file":"UPIIntentAppList.js","sources":["../../../../../../src/components/UPI/components/UPIIntentAppList/UPIIntentAppList.tsx"],"sourcesContent":["import { h } from 'preact';\nimport classNames from 'classnames';\nimport { App } from '../../types';\nimport UPIIntentAppItem from './UPIIntentAppItem';\nimport useImage from '../../../../core/Context/useImage';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport './UPIIntentAppList.scss';\n\ninterface UPIIntentAppListProps {\n apps: Array<App>;\n selectedAppId?: string;\n disabled?: boolean;\n onAppSelect?: (app: App) => void;\n}\n\nconst UPIIntentAppList = ({ apps, selectedAppId, disabled, onAppSelect = () => {} }: UPIIntentAppListProps): h.JSX.Element => {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n\n return (\n /* eslint-disable jsx-a11y/no-noninteractive-element-to-interactive-role */\n <ul\n className={classNames({\n 'adyen-checkout-upi-app-list': true,\n 'adyen-checkout-upi-app-list--loading': disabled\n })}\n role=\"radiogroup\"\n aria-label={i18n.get('paymentMethodsList.aria.label')}\n >\n {apps.map(app => {\n const key = `adyen-checkout-upi-app-item-${app.id}`;\n const isSelected = selectedAppId === app.id;\n const imgName = `upi/${app.id}`;\n const imgSrc = getImage()(imgName.toLowerCase());\n return <UPIIntentAppItem key={key} app={app} imgSrc={imgSrc} isSelected={isSelected} onSelect={onAppSelect} />;\n })}\n </ul>\n );\n};\n\nexport default UPIIntentAppList;\n"],"names":["UPIIntentAppList","apps","selectedAppId","disabled","onAppSelect","i18n","useCoreContext","getImage","useImage","h","ul","className","classNames","role","aria-label","get","map","app","key","id","isSelected","imgName","imgSrc","toLowerCase","UPIIntentAppItem","onSelect"],"mappings":"4SAeA,MAAMA,EAAmB,EAAGC,OAAMC,gBAAeC,WAAUC,cAAc,WACrE,MAAMC,KAAEA,GAASC,IACXC,EAAWC,IAEjB,OAEIC,EAACC,KAAAA,CACGC,UAAWC,EAAW,CAClB,+BAA+B,EAC/B,uCAAwCT,IAE5CU,KAAK,aACLC,aAAYT,EAAKU,IAAI,kCAEpBd,EAAKe,IAAIC,IACN,MAAMC,EAAM,+BAA+BD,EAAIE,KACzCC,EAAalB,IAAkBe,EAAIE,GACnCE,EAAU,OAAOJ,EAAIE,KACrBG,EAASf,IAAWc,EAAQE,eAClC,OAAOd,EAACe,EAAAA,CAAiBN,IAAKA,EAAKD,IAAKA,EAAKK,OAAQA,EAAQF,WAAYA,EAAYK,SAAUrB"}
@@ -1,2 +1,2 @@
1
- const e={ButtonId:{VPA:"upi-button-vpa",QR:"upi-button-qrCode",INTENT:"upi-button-intent"},AreaId:{VPA:"upi-area-vpa",QR:"upi-area-qrCode",INTENT:"upi-area-intent"}},t=t=>({label:t.get("upi.mode.payByAnyUpi"),value:"intent",id:e.ButtonId.INTENT,controls:e.AreaId.INTENT}),o=t=>({label:t.get("upi.mode.enterUpiId"),value:"vpa",id:e.ButtonId.VPA,controls:e.AreaId.VPA}),a=t=>({label:t.get("upi.mode.qrCode"),value:"qrCode",id:e.ButtonId.QR,controls:e.AreaId.QR});export{e as A11Y,t as getIntentOption,a as getQrOption,o as getVpaOption};
1
+ const t={QR_CODE:"qrCode",INTENT:"intent"},e={ButtonId:{QR:"upi-button-qrCode",INTENT:"upi-button-intent"},AreaId:{QR:"upi-area-qrCode",INTENT:"upi-area-intent"}};export{e as A11Y,t as UPI_MODE};
2
2
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../src/components/UPI/constants.ts"],"sourcesContent":["import { SegmentedControlOption } from '../internal/SegmentedControl/SegmentedControl';\nimport { UpiMode } from './types';\nimport Language from '../../language';\n\nexport const A11Y = {\n ButtonId: {\n VPA: 'upi-button-vpa',\n QR: 'upi-button-qrCode',\n INTENT: 'upi-button-intent'\n },\n AreaId: {\n VPA: 'upi-area-vpa',\n QR: 'upi-area-qrCode',\n INTENT: 'upi-area-intent'\n }\n};\n\nexport const getIntentOption = (i18n: Language): SegmentedControlOption<UpiMode> => ({\n label: i18n.get('upi.mode.payByAnyUpi'),\n value: 'intent',\n id: A11Y.ButtonId.INTENT,\n controls: A11Y.AreaId.INTENT\n});\n\nexport const getVpaOption = (i18n: Language): SegmentedControlOption<UpiMode> => ({\n label: i18n.get('upi.mode.enterUpiId'),\n value: 'vpa',\n id: A11Y.ButtonId.VPA,\n controls: A11Y.AreaId.VPA\n});\n\nexport const getQrOption = (i18n: Language): SegmentedControlOption<UpiMode> => ({\n label: i18n.get('upi.mode.qrCode'),\n value: 'qrCode',\n id: A11Y.ButtonId.QR,\n controls: A11Y.AreaId.QR\n});\n"],"names":["A11Y","ButtonId","VPA","QR","INTENT","AreaId","getIntentOption","i18n","label","get","value","id","controls","getVpaOption","getQrOption"],"mappings":"MAIaA,EAAO,CAChBC,SAAU,CACNC,IAAK,iBACLC,GAAI,oBACJC,OAAQ,qBAEZC,OAAQ,CACJH,IAAK,eACLC,GAAI,kBACJC,OAAQ,oBAIHE,EAAmBC,IAAAA,CAC5BC,MAAOD,EAAKE,IAAI,wBAChBC,MAAO,SACPC,GAAIX,EAAKC,SAASG,OAClBQ,SAAUZ,EAAKK,OAAOD,SAGbS,EAAgBN,IAAAA,CACzBC,MAAOD,EAAKE,IAAI,uBAChBC,MAAO,MACPC,GAAIX,EAAKC,SAASC,IAClBU,SAAUZ,EAAKK,OAAOH,MAGbY,EAAeP,IAAAA,CACxBC,MAAOD,EAAKE,IAAI,mBAChBC,MAAO,SACPC,GAAIX,EAAKC,SAASE,GAClBS,SAAUZ,EAAKK,OAAOF"}
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/components/UPI/constants.ts"],"sourcesContent":["import { UpiMode } from './types';\n\nexport const UPI_MODE = {\n QR_CODE: 'qrCode' as UpiMode,\n INTENT: 'intent' as UpiMode\n} as const;\n\nexport const A11Y = {\n ButtonId: {\n QR: 'upi-button-qrCode',\n INTENT: 'upi-button-intent'\n },\n AreaId: {\n QR: 'upi-area-qrCode',\n INTENT: 'upi-area-intent'\n }\n};\n"],"names":["UPI_MODE","QR_CODE","INTENT","A11Y","ButtonId","QR","AreaId"],"mappings":"MAEaA,EAAW,CACpBC,QAAS,SACTC,OAAQ,UAGCC,EAAO,CAChBC,SAAU,CACNC,GAAI,oBACJH,OAAQ,qBAEZI,OAAQ,CACJD,GAAI,kBACJH,OAAQ"}
@@ -1,2 +1,2 @@
1
- import{TxVariants as a}from"./tx-variants.js";const n={[a.address]:"Address",[a.donation]:"Donation",[a.personal_details]:"PersonalDetails",[a.bankTransfer_IBAN]:"BankTransfer",[a.bankTransfer_BE]:"BankTransfer",[a.bankTransfer_NL]:"BankTransfer",[a.bankTransfer_PL]:"BankTransfer",[a.bankTransfer_FR]:"BankTransfer",[a.bankTransfer_CH]:"BankTransfer",[a.bankTransfer_IE]:"BankTransfer",[a.bankTransfer_GB]:"BankTransfer",[a.bankTransfer_DE]:"BankTransfer",[a.bcmc]:"Bancontact",[a.card]:"Card",[a.scheme]:"Card",[a.storedCard]:"Card",[a.customCard]:"CustomCard",[a.ach]:"Ach",[a.directdebit_GB]:"BacsDirectDebit",[a.sepadirectdebit]:"SepaDirectDebit",[a.eft_directdebit_CA]:"PreAuthorizedDebitCanada",[a.affirm]:"Affirm",[a.afterpay]:"AfterPay",[a.afterpay_default]:"AfterPay",[a.afterpay_b2b]:"AfterPayB2B",[a.atome]:"Atome",[a.facilypay_3x]:"FacilyPay3x",[a.facilypay_4x]:"FacilyPay4x",[a.facilypay_6x]:"FacilyPay6x",[a.facilypay_10x]:"FacilyPay10x",[a.facilypay_12x]:"FacilyPay12x",[a.ratepay]:"RatePay",[a.ratepay_directdebit]:"RatePayDirectDebit",[a.amazonpay]:"AmazonPay",[a.applepay]:"ApplePay",[a.cashapp]:"CashAppPay",[a.clicktopay]:"ClickToPay",[a.googlepay]:"GooglePay",[a.paypal]:"PayPal",[a.fastlane]:"Fastlane",[a.paywithgoogle]:"GooglePay",[a.boletobancario]:"Boleto",[a.boletobancario_itau]:"Boleto",[a.boletobancario_santander]:"Boleto",[a.doku]:"Doku",[a.doku_alfamart]:"Doku",[a.doku_permata_lite_atm]:"Doku",[a.doku_indomaret]:"Doku",[a.doku_atm_mandiri_va]:"Doku",[a.doku_sinarmas_va]:"Doku",[a.doku_mandiri_va]:"Doku",[a.doku_cimb_va]:"Doku",[a.doku_danamon_va]:"Doku",[a.doku_bri_va]:"Doku",[a.doku_bni_va]:"Doku",[a.doku_bca_va]:"Doku",[a.doku_wallet]:"Doku",[a.oxxo]:"Oxxo",[a.primeiropay_boleto]:"Boleto",[a.billdesk_online]:"BillDeskOnline",[a.billdesk_wallet]:"BillDeskWallet",[a.dotpay]:"Dotpay",[a.eps]:"Eps",[a.iris]:"Iris",[a.molpay_ebanking_fpx_MY]:"MolPayEBankingMY",[a.molpay_ebanking_TH]:"MolPayEBankingTH",[a.molpay_ebanking_VN]:"MolPayEBankingVN",[a.onlineBanking_CZ]:"OnlineBankingCZ",[a.onlinebanking_IN]:"OnlineBankingIN",[a.onlineBanking_PL]:"OnlineBankingPL",[a.onlineBanking_SK]:"OnlineBankingSK",[a.paybybank]:"PayByBank",[a.payu_IN_cashcard]:"PayuCashcard",[a.payu_IN_nb]:"PayuNetBanking",[a.wallet_IN]:"WalletINElement",[a.dragonpay_ebanking]:"Dragonpay",[a.dragonpay_otc_banking]:"Dragonpay",[a.dragonpay_otc_non_banking]:"Dragonpay",[a.dragonpay_otc_philippines]:"Dragonpay",[a.econtext_atm]:"Econtext",[a.econtext_online]:"Econtext",[a.econtext_seven_eleven]:"Econtext",[a.econtext_stores]:"Econtext",[a.giropay]:"Giropay",[a.multibanco]:"Multibanco",[a.redirect]:"Redirect",[a.twint]:"Twint",[a.vipps]:"Vipps",[a.trustly]:"Trustly",[a.paybybank_AIS_DD]:"PayByBankUS",[a.riverty]:"Riverty",[a.paybybank_pix]:"PayByBankPix",[a.klarna]:"Klarna",[a.klarna_account]:"Klarna",[a.klarna_paynow]:"Klarna",[a.klarna_b2b]:"Klarna",[a.bcmc_mobile]:"BcmcMobile",[a.bcmc_mobile_QR]:"BcmcMobile",[a.pix]:"Pix",[a.swish]:"Swish",[a.wechatpay]:"WeChat",[a.wechatpayQR]:"WeChat",[a.promptpay]:"PromptPay",[a.paynow]:"PayNow",[a.duitnow]:"DuitNow",[a.blik]:"Blik",[a.mbway]:"MBWay",[a.ancv]:"ANCV",[a.payto]:"PayTo",[a.upi]:"UPI",[a.upi_qr]:"UPI",[a.upi_collect]:"UPI",[a.upi_intent]:"UPI",[a.giftcard]:"Giftcard",[a.mealVoucher_FR_natixis]:"MealVoucherFR",[a.mealVoucher_FR_sodexo]:"MealVoucherFR",[a.mealVoucher_FR_groupeup]:"MealVoucherFR"};function e(a){return n[a]}export{e as default};
1
+ import{TxVariants as a}from"./tx-variants.js";const n={[a.address]:"Address",[a.donation]:"Donation",[a.personal_details]:"PersonalDetails",[a.bankTransfer_IBAN]:"BankTransfer",[a.bankTransfer_BE]:"BankTransfer",[a.bankTransfer_NL]:"BankTransfer",[a.bankTransfer_PL]:"BankTransfer",[a.bankTransfer_FR]:"BankTransfer",[a.bankTransfer_CH]:"BankTransfer",[a.bankTransfer_IE]:"BankTransfer",[a.bankTransfer_GB]:"BankTransfer",[a.bankTransfer_DE]:"BankTransfer",[a.bcmc]:"Bancontact",[a.card]:"Card",[a.scheme]:"Card",[a.storedCard]:"Card",[a.customCard]:"CustomCard",[a.ach]:"Ach",[a.directdebit_GB]:"BacsDirectDebit",[a.sepadirectdebit]:"SepaDirectDebit",[a.eft_directdebit_CA]:"PreAuthorizedDebitCanada",[a.affirm]:"Affirm",[a.afterpay]:"AfterPay",[a.afterpay_default]:"AfterPay",[a.afterpay_b2b]:"AfterPayB2B",[a.atome]:"Atome",[a.facilypay_3x]:"FacilyPay3x",[a.facilypay_4x]:"FacilyPay4x",[a.facilypay_6x]:"FacilyPay6x",[a.facilypay_10x]:"FacilyPay10x",[a.facilypay_12x]:"FacilyPay12x",[a.ratepay]:"RatePay",[a.ratepay_directdebit]:"RatePayDirectDebit",[a.amazonpay]:"AmazonPay",[a.applepay]:"ApplePay",[a.cashapp]:"CashAppPay",[a.clicktopay]:"ClickToPay",[a.googlepay]:"GooglePay",[a.paypal]:"PayPal",[a.fastlane]:"Fastlane",[a.paywithgoogle]:"GooglePay",[a.boletobancario]:"Boleto",[a.boletobancario_itau]:"Boleto",[a.boletobancario_santander]:"Boleto",[a.doku]:"Doku",[a.doku_alfamart]:"Doku",[a.doku_permata_lite_atm]:"Doku",[a.doku_indomaret]:"Doku",[a.doku_atm_mandiri_va]:"Doku",[a.doku_sinarmas_va]:"Doku",[a.doku_mandiri_va]:"Doku",[a.doku_cimb_va]:"Doku",[a.doku_danamon_va]:"Doku",[a.doku_bri_va]:"Doku",[a.doku_bni_va]:"Doku",[a.doku_bca_va]:"Doku",[a.doku_wallet]:"Doku",[a.oxxo]:"Oxxo",[a.primeiropay_boleto]:"Boleto",[a.billdesk_online]:"BillDeskOnline",[a.billdesk_wallet]:"BillDeskWallet",[a.dotpay]:"Dotpay",[a.eps]:"Eps",[a.iris]:"Iris",[a.molpay_ebanking_fpx_MY]:"MolPayEBankingMY",[a.molpay_ebanking_TH]:"MolPayEBankingTH",[a.molpay_ebanking_VN]:"MolPayEBankingVN",[a.onlineBanking_CZ]:"OnlineBankingCZ",[a.onlinebanking_IN]:"OnlineBankingIN",[a.onlineBanking_PL]:"OnlineBankingPL",[a.onlineBanking_SK]:"OnlineBankingSK",[a.paybybank]:"PayByBank",[a.payu_IN_cashcard]:"PayuCashcard",[a.payu_IN_nb]:"PayuNetBanking",[a.wallet_IN]:"WalletINElement",[a.dragonpay_ebanking]:"Dragonpay",[a.dragonpay_otc_banking]:"Dragonpay",[a.dragonpay_otc_non_banking]:"Dragonpay",[a.dragonpay_otc_philippines]:"Dragonpay",[a.econtext_atm]:"Econtext",[a.econtext_online]:"Econtext",[a.econtext_seven_eleven]:"Econtext",[a.econtext_stores]:"Econtext",[a.giropay]:"Giropay",[a.multibanco]:"Multibanco",[a.redirect]:"Redirect",[a.twint]:"Twint",[a.vipps]:"Vipps",[a.trustly]:"Trustly",[a.paybybank_AIS_DD]:"PayByBankUS",[a.riverty]:"Riverty",[a.paybybank_pix]:"PayByBankPix",[a.klarna]:"Klarna",[a.klarna_account]:"Klarna",[a.klarna_paynow]:"Klarna",[a.klarna_b2b]:"Klarna",[a.bcmc_mobile]:"BcmcMobile",[a.bcmc_mobile_QR]:"BcmcMobile",[a.pix]:"Pix",[a.swish]:"Swish",[a.wechatpay]:"WeChat",[a.wechatpayQR]:"WeChat",[a.promptpay]:"PromptPay",[a.paynow]:"PayNow",[a.duitnow]:"DuitNow",[a.blik]:"Blik",[a.mbway]:"MBWay",[a.ancv]:"ANCV",[a.payto]:"PayTo",[a.upi]:"UPI",[a.upi_qr]:"UPI",[a.upi_intent]:"UPI",[a.giftcard]:"Giftcard",[a.mealVoucher_FR_natixis]:"MealVoucherFR",[a.mealVoucher_FR_sodexo]:"MealVoucherFR",[a.mealVoucher_FR_groupeup]:"MealVoucherFR"};function e(a){return n[a]}export{e as default};
2
2
  //# sourceMappingURL=components-name-map.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components-name-map.js","sources":["../../../src/components/components-name-map.ts"],"sourcesContent":["import { TxVariants } from './tx-variants';\n\n/**\n * Maps each payment type with the string name of its Component element.\n *\n * It is used to give nicer error messages when creating components using Drop-in.\n * Example: paymentMethods response contains blik, but Blik component is not configured. So it warns that 'Blik' must be imported and added to the Drop-in configuration.\n */\nconst ComponentsNameMap = {\n /** internal */\n [TxVariants.address]: 'Address',\n [TxVariants.donation]: 'Donation',\n [TxVariants.personal_details]: 'PersonalDetails',\n /** internal */\n\n /** Bank Transfer */\n [TxVariants.bankTransfer_IBAN]: 'BankTransfer',\n [TxVariants.bankTransfer_BE]: 'BankTransfer',\n [TxVariants.bankTransfer_NL]: 'BankTransfer',\n [TxVariants.bankTransfer_PL]: 'BankTransfer',\n [TxVariants.bankTransfer_FR]: 'BankTransfer',\n [TxVariants.bankTransfer_CH]: 'BankTransfer',\n [TxVariants.bankTransfer_IE]: 'BankTransfer',\n [TxVariants.bankTransfer_GB]: 'BankTransfer',\n [TxVariants.bankTransfer_DE]: 'BankTransfer',\n /** Bank Transfer */\n\n /** Card */\n [TxVariants.bcmc]: 'Bancontact',\n [TxVariants.card]: 'Card',\n [TxVariants.scheme]: 'Card',\n [TxVariants.storedCard]: 'Card',\n [TxVariants.customCard]: 'CustomCard',\n /** Card */\n\n /** Direct debit */\n [TxVariants.ach]: 'Ach',\n [TxVariants.directdebit_GB]: 'BacsDirectDebit',\n [TxVariants.sepadirectdebit]: 'SepaDirectDebit',\n [TxVariants.eft_directdebit_CA]: 'PreAuthorizedDebitCanada',\n /** Direct debit */\n\n /** Open Invoice */\n [TxVariants.affirm]: 'Affirm',\n [TxVariants.afterpay]: 'AfterPay',\n [TxVariants.afterpay_default]: 'AfterPay',\n [TxVariants.afterpay_b2b]: 'AfterPayB2B',\n [TxVariants.atome]: 'Atome',\n [TxVariants.facilypay_3x]: 'FacilyPay3x',\n [TxVariants.facilypay_4x]: 'FacilyPay4x',\n [TxVariants.facilypay_6x]: 'FacilyPay6x',\n [TxVariants.facilypay_10x]: 'FacilyPay10x',\n [TxVariants.facilypay_12x]: 'FacilyPay12x',\n [TxVariants.ratepay]: 'RatePay',\n [TxVariants.ratepay_directdebit]: 'RatePayDirectDebit',\n /** Open Invoice */\n\n /** Wallets */\n [TxVariants.amazonpay]: 'AmazonPay',\n [TxVariants.applepay]: 'ApplePay',\n [TxVariants.cashapp]: 'CashAppPay',\n [TxVariants.clicktopay]: 'ClickToPay',\n [TxVariants.googlepay]: 'GooglePay',\n [TxVariants.paypal]: 'PayPal',\n [TxVariants.fastlane]: 'Fastlane',\n [TxVariants.paywithgoogle]: 'GooglePay',\n /** Wallets */\n\n /** Voucher */\n [TxVariants.boletobancario]: 'Boleto',\n [TxVariants.boletobancario_itau]: 'Boleto',\n [TxVariants.boletobancario_santander]: 'Boleto',\n [TxVariants.doku]: 'Doku',\n [TxVariants.doku_alfamart]: 'Doku',\n [TxVariants.doku_permata_lite_atm]: 'Doku',\n [TxVariants.doku_indomaret]: 'Doku',\n [TxVariants.doku_atm_mandiri_va]: 'Doku',\n [TxVariants.doku_sinarmas_va]: 'Doku',\n [TxVariants.doku_mandiri_va]: 'Doku',\n [TxVariants.doku_cimb_va]: 'Doku',\n [TxVariants.doku_danamon_va]: 'Doku',\n [TxVariants.doku_bri_va]: 'Doku',\n [TxVariants.doku_bni_va]: 'Doku',\n [TxVariants.doku_bca_va]: 'Doku',\n [TxVariants.doku_wallet]: 'Doku',\n [TxVariants.oxxo]: 'Oxxo',\n [TxVariants.primeiropay_boleto]: 'Boleto',\n /** Voucher */\n\n /** issuerList */\n [TxVariants.billdesk_online]: 'BillDeskOnline',\n [TxVariants.billdesk_wallet]: 'BillDeskWallet',\n [TxVariants.dotpay]: 'Dotpay',\n [TxVariants.eps]: 'Eps',\n [TxVariants.iris]: 'Iris',\n [TxVariants.molpay_ebanking_fpx_MY]: 'MolPayEBankingMY',\n [TxVariants.molpay_ebanking_TH]: 'MolPayEBankingTH',\n [TxVariants.molpay_ebanking_VN]: 'MolPayEBankingVN',\n [TxVariants.onlineBanking_CZ]: 'OnlineBankingCZ',\n [TxVariants.onlinebanking_IN]: 'OnlineBankingIN', // NOTE: the txVariant does have a lowercase \"b\"\n [TxVariants.onlineBanking_PL]: 'OnlineBankingPL',\n [TxVariants.onlineBanking_SK]: 'OnlineBankingSK',\n [TxVariants.paybybank]: 'PayByBank',\n [TxVariants.payu_IN_cashcard]: 'PayuCashcard',\n [TxVariants.payu_IN_nb]: 'PayuNetBanking',\n [TxVariants.wallet_IN]: 'WalletINElement',\n /** issuerList */\n\n /** Dragonpay */\n [TxVariants.dragonpay_ebanking]: 'Dragonpay',\n [TxVariants.dragonpay_otc_banking]: 'Dragonpay',\n [TxVariants.dragonpay_otc_non_banking]: 'Dragonpay',\n [TxVariants.dragonpay_otc_philippines]: 'Dragonpay',\n /** Dragonpay */\n\n /** Econtext */\n [TxVariants.econtext_atm]: 'Econtext',\n [TxVariants.econtext_online]: 'Econtext',\n [TxVariants.econtext_seven_eleven]: 'Econtext',\n [TxVariants.econtext_stores]: 'Econtext',\n /** Econtext */\n\n /** Redirect */\n [TxVariants.giropay]: 'Giropay',\n [TxVariants.multibanco]: 'Multibanco',\n [TxVariants.redirect]: 'Redirect',\n [TxVariants.twint]: 'Twint',\n [TxVariants.vipps]: 'Vipps',\n [TxVariants.trustly]: 'Trustly',\n [TxVariants.paybybank_AIS_DD]: 'PayByBankUS',\n [TxVariants.riverty]: 'Riverty',\n [TxVariants.paybybank_pix]: 'PayByBankPix',\n /** Redirect */\n\n /** Klarna */\n [TxVariants.klarna]: 'Klarna',\n [TxVariants.klarna_account]: 'Klarna',\n [TxVariants.klarna_paynow]: 'Klarna',\n [TxVariants.klarna_b2b]: 'Klarna',\n /** Klarna */\n\n /** QRLoader */\n [TxVariants.bcmc_mobile]: 'BcmcMobile',\n [TxVariants.bcmc_mobile_QR]: 'BcmcMobile',\n [TxVariants.pix]: 'Pix',\n [TxVariants.swish]: 'Swish',\n [TxVariants.wechatpay]: 'WeChat',\n [TxVariants.wechatpayQR]: 'WeChat',\n [TxVariants.promptpay]: 'PromptPay',\n [TxVariants.paynow]: 'PayNow',\n [TxVariants.duitnow]: 'DuitNow',\n /** QRLoader */\n\n /** Await */\n [TxVariants.blik]: 'Blik',\n [TxVariants.mbway]: 'MBWay',\n [TxVariants.ancv]: 'ANCV',\n [TxVariants.payto]: 'PayTo',\n [TxVariants.upi]: 'UPI', // also QR\n [TxVariants.upi_qr]: 'UPI', // also QR\n [TxVariants.upi_collect]: 'UPI', // also QR\n [TxVariants.upi_intent]: 'UPI',\n /** Await */\n\n /** Giftcard */\n [TxVariants.giftcard]: 'Giftcard',\n [TxVariants.mealVoucher_FR_natixis]: 'MealVoucherFR',\n [TxVariants.mealVoucher_FR_sodexo]: 'MealVoucherFR',\n [TxVariants.mealVoucher_FR_groupeup]: 'MealVoucherFR'\n /** Giftcard */\n};\n\n/**\n * Returns the Component name based on the payment type\n * @param paymentType\n */\nfunction getComponentNameOfPaymentType(paymentType: string): string {\n return ComponentsNameMap[paymentType];\n}\n\nexport default getComponentNameOfPaymentType;\n"],"names":["ComponentsNameMap","TxVariants","address","donation","personal_details","bankTransfer_IBAN","bankTransfer_BE","bankTransfer_NL","bankTransfer_PL","bankTransfer_FR","bankTransfer_CH","bankTransfer_IE","bankTransfer_GB","bankTransfer_DE","bcmc","card","scheme","storedCard","customCard","ach","directdebit_GB","sepadirectdebit","eft_directdebit_CA","affirm","afterpay","afterpay_default","afterpay_b2b","atome","facilypay_3x","facilypay_4x","facilypay_6x","facilypay_10x","facilypay_12x","ratepay","ratepay_directdebit","amazonpay","applepay","cashapp","clicktopay","googlepay","paypal","fastlane","paywithgoogle","boletobancario","boletobancario_itau","boletobancario_santander","doku","doku_alfamart","doku_permata_lite_atm","doku_indomaret","doku_atm_mandiri_va","doku_sinarmas_va","doku_mandiri_va","doku_cimb_va","doku_danamon_va","doku_bri_va","doku_bni_va","doku_bca_va","doku_wallet","oxxo","primeiropay_boleto","billdesk_online","billdesk_wallet","dotpay","eps","iris","molpay_ebanking_fpx_MY","molpay_ebanking_TH","molpay_ebanking_VN","onlineBanking_CZ","onlinebanking_IN","onlineBanking_PL","onlineBanking_SK","paybybank","payu_IN_cashcard","payu_IN_nb","wallet_IN","dragonpay_ebanking","dragonpay_otc_banking","dragonpay_otc_non_banking","dragonpay_otc_philippines","econtext_atm","econtext_online","econtext_seven_eleven","econtext_stores","giropay","multibanco","redirect","twint","vipps","trustly","paybybank_AIS_DD","riverty","paybybank_pix","klarna","klarna_account","klarna_paynow","klarna_b2b","bcmc_mobile","bcmc_mobile_QR","pix","swish","wechatpay","wechatpayQR","promptpay","paynow","duitnow","blik","mbway","ancv","payto","upi","upi_qr","upi_collect","upi_intent","giftcard","mealVoucher_FR_natixis","mealVoucher_FR_sodexo","mealVoucher_FR_groupeup","getComponentNameOfPaymentType","paymentType"],"mappings":"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"}
1
+ {"version":3,"file":"components-name-map.js","sources":["../../../src/components/components-name-map.ts"],"sourcesContent":["import { TxVariants } from './tx-variants';\n\n/**\n * Maps each payment type with the string name of its Component element.\n *\n * It is used to give nicer error messages when creating components using Drop-in.\n * Example: paymentMethods response contains blik, but Blik component is not configured. So it warns that 'Blik' must be imported and added to the Drop-in configuration.\n */\nconst ComponentsNameMap = {\n /** internal */\n [TxVariants.address]: 'Address',\n [TxVariants.donation]: 'Donation',\n [TxVariants.personal_details]: 'PersonalDetails',\n /** internal */\n\n /** Bank Transfer */\n [TxVariants.bankTransfer_IBAN]: 'BankTransfer',\n [TxVariants.bankTransfer_BE]: 'BankTransfer',\n [TxVariants.bankTransfer_NL]: 'BankTransfer',\n [TxVariants.bankTransfer_PL]: 'BankTransfer',\n [TxVariants.bankTransfer_FR]: 'BankTransfer',\n [TxVariants.bankTransfer_CH]: 'BankTransfer',\n [TxVariants.bankTransfer_IE]: 'BankTransfer',\n [TxVariants.bankTransfer_GB]: 'BankTransfer',\n [TxVariants.bankTransfer_DE]: 'BankTransfer',\n /** Bank Transfer */\n\n /** Card */\n [TxVariants.bcmc]: 'Bancontact',\n [TxVariants.card]: 'Card',\n [TxVariants.scheme]: 'Card',\n [TxVariants.storedCard]: 'Card',\n [TxVariants.customCard]: 'CustomCard',\n /** Card */\n\n /** Direct debit */\n [TxVariants.ach]: 'Ach',\n [TxVariants.directdebit_GB]: 'BacsDirectDebit',\n [TxVariants.sepadirectdebit]: 'SepaDirectDebit',\n [TxVariants.eft_directdebit_CA]: 'PreAuthorizedDebitCanada',\n /** Direct debit */\n\n /** Open Invoice */\n [TxVariants.affirm]: 'Affirm',\n [TxVariants.afterpay]: 'AfterPay',\n [TxVariants.afterpay_default]: 'AfterPay',\n [TxVariants.afterpay_b2b]: 'AfterPayB2B',\n [TxVariants.atome]: 'Atome',\n [TxVariants.facilypay_3x]: 'FacilyPay3x',\n [TxVariants.facilypay_4x]: 'FacilyPay4x',\n [TxVariants.facilypay_6x]: 'FacilyPay6x',\n [TxVariants.facilypay_10x]: 'FacilyPay10x',\n [TxVariants.facilypay_12x]: 'FacilyPay12x',\n [TxVariants.ratepay]: 'RatePay',\n [TxVariants.ratepay_directdebit]: 'RatePayDirectDebit',\n /** Open Invoice */\n\n /** Wallets */\n [TxVariants.amazonpay]: 'AmazonPay',\n [TxVariants.applepay]: 'ApplePay',\n [TxVariants.cashapp]: 'CashAppPay',\n [TxVariants.clicktopay]: 'ClickToPay',\n [TxVariants.googlepay]: 'GooglePay',\n [TxVariants.paypal]: 'PayPal',\n [TxVariants.fastlane]: 'Fastlane',\n [TxVariants.paywithgoogle]: 'GooglePay',\n /** Wallets */\n\n /** Voucher */\n [TxVariants.boletobancario]: 'Boleto',\n [TxVariants.boletobancario_itau]: 'Boleto',\n [TxVariants.boletobancario_santander]: 'Boleto',\n [TxVariants.doku]: 'Doku',\n [TxVariants.doku_alfamart]: 'Doku',\n [TxVariants.doku_permata_lite_atm]: 'Doku',\n [TxVariants.doku_indomaret]: 'Doku',\n [TxVariants.doku_atm_mandiri_va]: 'Doku',\n [TxVariants.doku_sinarmas_va]: 'Doku',\n [TxVariants.doku_mandiri_va]: 'Doku',\n [TxVariants.doku_cimb_va]: 'Doku',\n [TxVariants.doku_danamon_va]: 'Doku',\n [TxVariants.doku_bri_va]: 'Doku',\n [TxVariants.doku_bni_va]: 'Doku',\n [TxVariants.doku_bca_va]: 'Doku',\n [TxVariants.doku_wallet]: 'Doku',\n [TxVariants.oxxo]: 'Oxxo',\n [TxVariants.primeiropay_boleto]: 'Boleto',\n /** Voucher */\n\n /** issuerList */\n [TxVariants.billdesk_online]: 'BillDeskOnline',\n [TxVariants.billdesk_wallet]: 'BillDeskWallet',\n [TxVariants.dotpay]: 'Dotpay',\n [TxVariants.eps]: 'Eps',\n [TxVariants.iris]: 'Iris',\n [TxVariants.molpay_ebanking_fpx_MY]: 'MolPayEBankingMY',\n [TxVariants.molpay_ebanking_TH]: 'MolPayEBankingTH',\n [TxVariants.molpay_ebanking_VN]: 'MolPayEBankingVN',\n [TxVariants.onlineBanking_CZ]: 'OnlineBankingCZ',\n [TxVariants.onlinebanking_IN]: 'OnlineBankingIN', // NOTE: the txVariant does have a lowercase \"b\"\n [TxVariants.onlineBanking_PL]: 'OnlineBankingPL',\n [TxVariants.onlineBanking_SK]: 'OnlineBankingSK',\n [TxVariants.paybybank]: 'PayByBank',\n [TxVariants.payu_IN_cashcard]: 'PayuCashcard',\n [TxVariants.payu_IN_nb]: 'PayuNetBanking',\n [TxVariants.wallet_IN]: 'WalletINElement',\n /** issuerList */\n\n /** Dragonpay */\n [TxVariants.dragonpay_ebanking]: 'Dragonpay',\n [TxVariants.dragonpay_otc_banking]: 'Dragonpay',\n [TxVariants.dragonpay_otc_non_banking]: 'Dragonpay',\n [TxVariants.dragonpay_otc_philippines]: 'Dragonpay',\n /** Dragonpay */\n\n /** Econtext */\n [TxVariants.econtext_atm]: 'Econtext',\n [TxVariants.econtext_online]: 'Econtext',\n [TxVariants.econtext_seven_eleven]: 'Econtext',\n [TxVariants.econtext_stores]: 'Econtext',\n /** Econtext */\n\n /** Redirect */\n [TxVariants.giropay]: 'Giropay',\n [TxVariants.multibanco]: 'Multibanco',\n [TxVariants.redirect]: 'Redirect',\n [TxVariants.twint]: 'Twint',\n [TxVariants.vipps]: 'Vipps',\n [TxVariants.trustly]: 'Trustly',\n [TxVariants.paybybank_AIS_DD]: 'PayByBankUS',\n [TxVariants.riverty]: 'Riverty',\n [TxVariants.paybybank_pix]: 'PayByBankPix',\n /** Redirect */\n\n /** Klarna */\n [TxVariants.klarna]: 'Klarna',\n [TxVariants.klarna_account]: 'Klarna',\n [TxVariants.klarna_paynow]: 'Klarna',\n [TxVariants.klarna_b2b]: 'Klarna',\n /** Klarna */\n\n /** QRLoader */\n [TxVariants.bcmc_mobile]: 'BcmcMobile',\n [TxVariants.bcmc_mobile_QR]: 'BcmcMobile',\n [TxVariants.pix]: 'Pix',\n [TxVariants.swish]: 'Swish',\n [TxVariants.wechatpay]: 'WeChat',\n [TxVariants.wechatpayQR]: 'WeChat',\n [TxVariants.promptpay]: 'PromptPay',\n [TxVariants.paynow]: 'PayNow',\n [TxVariants.duitnow]: 'DuitNow',\n /** QRLoader */\n\n /** Await */\n [TxVariants.blik]: 'Blik',\n [TxVariants.mbway]: 'MBWay',\n [TxVariants.ancv]: 'ANCV',\n [TxVariants.payto]: 'PayTo',\n [TxVariants.upi]: 'UPI', // also QR\n [TxVariants.upi_qr]: 'UPI', // also QR\n [TxVariants.upi_intent]: 'UPI',\n /** Await */\n\n /** Giftcard */\n [TxVariants.giftcard]: 'Giftcard',\n [TxVariants.mealVoucher_FR_natixis]: 'MealVoucherFR',\n [TxVariants.mealVoucher_FR_sodexo]: 'MealVoucherFR',\n [TxVariants.mealVoucher_FR_groupeup]: 'MealVoucherFR'\n /** Giftcard */\n};\n\n/**\n * Returns the Component name based on the payment type\n * @param paymentType\n */\nfunction getComponentNameOfPaymentType(paymentType: string): string {\n return ComponentsNameMap[paymentType];\n}\n\nexport default getComponentNameOfPaymentType;\n"],"names":["ComponentsNameMap","TxVariants","address","donation","personal_details","bankTransfer_IBAN","bankTransfer_BE","bankTransfer_NL","bankTransfer_PL","bankTransfer_FR","bankTransfer_CH","bankTransfer_IE","bankTransfer_GB","bankTransfer_DE","bcmc","card","scheme","storedCard","customCard","ach","directdebit_GB","sepadirectdebit","eft_directdebit_CA","affirm","afterpay","afterpay_default","afterpay_b2b","atome","facilypay_3x","facilypay_4x","facilypay_6x","facilypay_10x","facilypay_12x","ratepay","ratepay_directdebit","amazonpay","applepay","cashapp","clicktopay","googlepay","paypal","fastlane","paywithgoogle","boletobancario","boletobancario_itau","boletobancario_santander","doku","doku_alfamart","doku_permata_lite_atm","doku_indomaret","doku_atm_mandiri_va","doku_sinarmas_va","doku_mandiri_va","doku_cimb_va","doku_danamon_va","doku_bri_va","doku_bni_va","doku_bca_va","doku_wallet","oxxo","primeiropay_boleto","billdesk_online","billdesk_wallet","dotpay","eps","iris","molpay_ebanking_fpx_MY","molpay_ebanking_TH","molpay_ebanking_VN","onlineBanking_CZ","onlinebanking_IN","onlineBanking_PL","onlineBanking_SK","paybybank","payu_IN_cashcard","payu_IN_nb","wallet_IN","dragonpay_ebanking","dragonpay_otc_banking","dragonpay_otc_non_banking","dragonpay_otc_philippines","econtext_atm","econtext_online","econtext_seven_eleven","econtext_stores","giropay","multibanco","redirect","twint","vipps","trustly","paybybank_AIS_DD","riverty","paybybank_pix","klarna","klarna_account","klarna_paynow","klarna_b2b","bcmc_mobile","bcmc_mobile_QR","pix","swish","wechatpay","wechatpayQR","promptpay","paynow","duitnow","blik","mbway","ancv","payto","upi","upi_qr","upi_intent","giftcard","mealVoucher_FR_natixis","mealVoucher_FR_sodexo","mealVoucher_FR_groupeup","getComponentNameOfPaymentType","paymentType"],"mappings":"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"}
@@ -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';\n\nclass IssuerListContainer<TProps extends IssuerListConfiguration = IssuerListConfiguration, TData = IssuerListData> extends UIElement<TProps> {\n protected static 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 => 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) {\n const issuers = (props.details && props.details.length && (props.details.find(d => 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 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 !!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(): { icon: any; name: string }[] {\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 ref={ref => {\n this.componentRef = ref;\n }}\n items={this.props.issuers}\n highlightedIds={this.props.highlightedIssuers}\n {...this.props}\n {...this.state}\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 ref={ref => {\n this.componentRef = ref;\n }}\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","brands","showPaymentMethodItemImages","map","brand","icon","name","id","componentToRender","h","IssuerList","ref","componentRef","highlightedIds","highlightedIssuers","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":"spCASA,MAAMA,UAAsHC,EAwBxHC,WAAAA,CAAYC,GACR,MAAMC,EAAWD,EAAME,SAAWF,EAAME,QAAQC,SAAWH,EAAME,QAAQE,KAAKC,GAAe,WAAVA,EAAEC,MAAqB,CAAA,GAAIC,OAAUP,EAAMC,SAAW,GACzI,OAAOO,EAAAC,EAAA,CAAA,EAAKT,GAAAA,CAAOC,WACvB,CAKAS,UAAAA,OAIoBC,EAAAC,EAHhB,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKD,KACXE,OAAkB,QAAVJ,EAAAG,KAAKE,aAAL,IAAAL,GAAgB,QAAhBD,EAAAC,EAAYM,YAAZ,IAAAP,OAAA,EAAAA,EAAkBK,QAGtC,CAKA,WAAIG,GAIS,IAAAP,EAHT,OAAkC,IAA9BG,KAAKf,MAAMC,QAAQE,WAGJ,QAAVS,EAAAG,KAAKE,aAAL,IAAAL,OAAA,EAAAA,EAAYO,QACzB,CAOA,UAAIC,GACA,OAAIL,KAAKf,MAAMqB,4BACJN,KAAKf,MAAMC,QAAQqB,IAAIC,IAEnB,CAAEC,KADSD,EAAMC,KACEC,KAAMF,EAAMG,MAIvC,EACX,CAEmBC,iBAAAA,GACf,OAAOZ,KAAKf,MAAMC,QAAQE,OAAS,EAC/ByB,EAACC,EAAAA,EAAAA,EAAAA,CACGC,IAAKA,IACDf,KAAKgB,aAAeD,GAExBvB,MAAOQ,KAAKf,MAAMC,QAClB+B,eAAgBjB,KAAKf,MAAMiC,oBACvBlB,KAAKf,MACLe,KAAKE,OAAK,CACdiB,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,mBAG5BjB,EAACkB,EAAAA,EAAAA,EAAAA,CACGC,cAAehC,KAAKf,MAAM+C,cAC1BtB,KAAMV,KAAKf,MAAMyB,MACbV,KAAKf,OAAK,CACdsC,SAAUvB,KAAKwB,OACfC,UAAWzB,KAAKyB,UAChBV,IAAKA,IACDf,KAAKgB,aAAeD,KAIpC,CAxFA,WAAAK,CAAYa,EAAiBhD,GACzBiD,MAAMD,EAAUhD,GAEhB,MAAMkD,EAAWlD,GAASe,KAAKoC,UAAUD,SAASlD,GAElD,GAAIe,KAAKf,MAAMkC,UAAW,CACtB,MAAMkB,EAAgBC,EAAkB,CAAEC,eAAgBvC,KAAKf,MAAMsD,gBAAkBvC,KAAKoB,iBAAqBe,GAEjHnC,KAAKf,MAAMC,QAAUc,KAAKf,MAAMC,QAAQqB,IAAIiC,GAAS/C,EAAAC,EAAA,CAAA,EAC9C8C,GAAAA,CACH/B,KAAM4B,EAAcG,EAAK7B,MAEjC,CACJ,EArBA8B,EADE3D,EACe4D,eAAe,CAC5BvB,WAAW,EACXjC,QAAS,GACTgC,mBAAoB,GACpBqB,eAAgBI,EAChBrC,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';\n\nclass IssuerListContainer<TProps extends IssuerListConfiguration = IssuerListConfiguration, TData = IssuerListData> extends UIElement<TProps> {\n protected static 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 => 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) {\n const issuers = (props.details && props.details.length && (props.details.find(d => 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 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 !!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(): { icon: any; name: string }[] {\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 ref={ref => {\n this.componentRef = ref;\n }}\n items={this.props.issuers}\n highlightedIds={this.props.highlightedIssuers}\n {...this.props}\n {...this.state}\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 ref={ref => {\n this.componentRef = ref;\n }}\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","brands","showPaymentMethodItemImages","map","brand","icon","name","id","componentToRender","h","IssuerList","ref","componentRef","highlightedIds","highlightedIssuers","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":"spCASA,MAAMA,UAAsHC,EAwBxHC,WAAAA,CAAYC,GACR,MAAMC,EAAWD,EAAME,SAAWF,EAAME,QAAQC,SAAWH,EAAME,QAAQE,KAAKC,GAAe,WAAVA,EAAEC,MAAqB,CAAA,GAAIC,OAAUP,EAAMC,SAAW,GACzI,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,GAIS,IAAAP,EAHT,OAAkC,IAA9BG,KAAKf,MAAMC,QAAQE,WAGJ,QAAVS,EAAAG,KAAKE,aAAL,IAAAL,SAAAA,EAAYO,QACzB,CAOA,UAAIC,GACA,OAAIL,KAAKf,MAAMqB,4BACJN,KAAKf,MAAMC,QAAQqB,IAAIC,IAEnB,CAAEC,KADSD,EAAMC,KACEC,KAAMF,EAAMG,MAIvC,EACX,CAEmBC,iBAAAA,GACf,OAAOZ,KAAKf,MAAMC,QAAQE,OAAS,EAC/ByB,EAACC,EAAAA,EAAAA,EAAAA,CACGC,IAAKA,IACDf,KAAKgB,aAAeD,GAExBvB,MAAOQ,KAAKf,MAAMC,QAClB+B,eAAgBjB,KAAKf,MAAMiC,oBACvBlB,KAAKf,MACLe,KAAKE,OAAK,CACdiB,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,mBAG5BjB,EAACkB,EAAAA,EAAAA,EAAAA,CACGC,cAAehC,KAAKf,MAAM+C,cAC1BtB,KAAMV,KAAKf,MAAMyB,MACbV,KAAKf,OAAK,CACdsC,SAAUvB,KAAKwB,OACfC,UAAWzB,KAAKyB,UAChBV,IAAKA,IACDf,KAAKgB,aAAeD,KAIpC,CAxFA,WAAAK,CAAYa,EAAiBhD,GACzBiD,MAAMD,EAAUhD,GAEhB,MAAMkD,EAAWlD,GAASe,KAAKoC,UAAUD,SAASlD,GAElD,GAAIe,KAAKf,MAAMkC,UAAW,CACtB,MAAMkB,EAAgBC,EAAkB,CAAEC,eAAgBvC,KAAKf,MAAMsD,gBAAkBvC,KAAKoB,iBAAqBe,GAEjHnC,KAAKf,MAAMC,QAAUc,KAAKf,MAAMC,QAAQqB,IAAIiC,GAAS/C,EAAAC,EAAA,CAAA,EAC9C8C,GAAAA,CACH/B,KAAM4B,EAAcG,EAAK7B,MAEjC,CACJ,EArBA8B,EADE3D,EACe4D,eAAe,CAC5BvB,WAAW,EACXjC,QAAS,GACTgC,mBAAoB,GACpBqB,eAAgBI,EAChBrC,6BAA6B"}
@@ -1 +1 @@
1
- {"version":3,"file":"OpenInvoiceContainer.js","sources":["../../../../../src/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../../internal/UIElement/UIElement';\nimport OpenInvoice from '../../internal/OpenInvoice';\nimport { OpenInvoiceConfiguration } from './types';\n\nexport default class OpenInvoiceContainer extends UIElement<OpenInvoiceConfiguration> {\n protected static defaultProps: Partial<OpenInvoiceConfiguration> = {\n onChange: () => {},\n data: { companyDetails: {}, personalDetails: {}, billingAddress: {}, deliveryAddress: {}, bankAccount: {} },\n visibility: {\n companyDetails: 'hidden',\n personalDetails: 'editable',\n billingAddress: 'editable',\n deliveryAddress: 'editable',\n bankAccount: 'hidden'\n }\n };\n\n /**\n * Returns whether the component state is valid or not\n */\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats props on construction time\n */\n formatProps(props) {\n const country = props.countryCode || props.data?.billingAddress?.countryCode;\n\n return {\n ...props,\n allowedCountries: [country],\n visibility: {\n ...OpenInvoiceContainer.defaultProps.visibility,\n ...props.visibility\n },\n data: {\n ...props.data,\n billingAddress: {\n ...props.data.billingAddress,\n country\n },\n deliveryAddress: {\n ...props.data.deliveryAddress,\n country\n }\n }\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const { data = {} } = this.state;\n const { companyDetails = {}, personalDetails = {}, billingAddress, deliveryAddress, bankAccount } = data;\n\n return {\n paymentMethod: {\n type: this.constructor['type']\n },\n ...personalDetails,\n ...companyDetails,\n ...(bankAccount && {\n bankAccount: {\n iban: bankAccount.ibanNumber,\n ownerName: bankAccount.ownerName,\n countryCode: bankAccount.countryCode\n }\n }),\n ...(billingAddress && { billingAddress }),\n ...((deliveryAddress || billingAddress) && { deliveryAddress: deliveryAddress || billingAddress })\n };\n }\n\n protected override componentToRender(): h.JSX.Element {\n return (\n <OpenInvoice\n setComponentRef={this.setComponentRef}\n {...this.props}\n {...this.state}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n );\n }\n}\n"],"names":["OpenInvoiceContainer","UIElement","isValid","this","state","formatProps","props","country","countryCode","data","billingAddress","_object_spread_props","_object_spread","allowedCountries","visibility","defaultProps","deliveryAddress","formatData","companyDetails","personalDetails","bankAccount","paymentMethod","type","constructor","iban","ibanNumber","ownerName","componentToRender","h","OpenInvoice","setComponentRef","onChange","setState","onSubmit","submit","payButton","_define_property"],"mappings":"4+BAKe,MAAMA,UAA6BC,EAgB9C,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAKAG,WAAAA,CAAYC,OAC6BA,EAAAA,EAArC,MAAMC,EAAUD,EAAME,cAAyB,QAAVF,EAAAA,EAAMG,YAANH,IAAAA,GAA0B,QAA1BA,EAAAA,EAAYI,sBAAZJ,IAAAA,OAAAA,EAAAA,EAA4BE,aAEjE,OAAOG,EAAAC,EAAA,CAAA,EACAN,GAAAA,CACHO,iBAAkB,CAACN,GACnBO,WAAYF,KACLZ,EAAqBe,aAAaD,WAClCR,EAAMQ,YAEbL,KAAME,EAAAC,EAAA,CAAA,EACCN,EAAMG,MAAI,CACbC,eAAgBC,EAAAC,EAAA,CAAA,EACTN,EAAMG,KAAKC,gBAAc,CAC5BH,YAEJS,gBAAiBL,EAAAC,EAAA,CAAA,EACVN,EAAMG,KAAKO,iBAAe,CAC7BT,eAIhB,CAKAU,UAAAA,GACI,MAAMR,KAAEA,EAAO,IAAON,KAAKC,OACrBc,eAAEA,EAAiB,CAAA,EAAEC,gBAAEA,EAAkB,CAAA,EAAET,eAAEA,EAAcM,gBAAEA,EAAeI,YAAEA,GAAgBX,EAEpG,OAAOG,EAAA,CACHS,cAAe,CACXC,KAAMnB,KAAKoB,YAAY,OAExBJ,EACAD,EACCE,GAAe,CACfA,YAAa,CACTI,KAAMJ,EAAYK,WAClBC,UAAWN,EAAYM,UACvBlB,YAAaY,EAAYZ,cAG7BE,GAAkB,CAAEA,mBACnBM,GAAmBN,IAAmB,CAAEM,gBAAiBA,GAAmBN,GAEzF,CAEmBiB,iBAAAA,GACf,OACIC,EAACC,EAAAA,EAAAA,EAAAA,CACGC,gBAAiB3B,KAAK2B,iBAClB3B,KAAKG,MACLH,KAAKC,OAAK,CACd2B,SAAU5B,KAAK6B,SACfC,SAAU9B,KAAK+B,OACfC,UAAWhC,KAAKgC,YAG5B,EAlFAC,EADiBpC,EACAe,eAAkD,CAC/DgB,SAAU,OACVtB,KAAM,CAAES,eAAgB,CAAA,EAAIC,gBAAiB,CAAA,EAAIT,eAAgB,CAAA,EAAIM,gBAAiB,CAAA,EAAII,YAAa,CAAA,GACvGN,WAAY,CACRI,eAAgB,SAChBC,gBAAiB,WACjBT,eAAgB,WAChBM,gBAAiB,WACjBI,YAAa"}
1
+ {"version":3,"file":"OpenInvoiceContainer.js","sources":["../../../../../src/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../../internal/UIElement/UIElement';\nimport OpenInvoice from '../../internal/OpenInvoice';\nimport { OpenInvoiceConfiguration } from './types';\n\nexport default class OpenInvoiceContainer extends UIElement<OpenInvoiceConfiguration> {\n protected static defaultProps: Partial<OpenInvoiceConfiguration> = {\n onChange: () => {},\n data: { companyDetails: {}, personalDetails: {}, billingAddress: {}, deliveryAddress: {}, bankAccount: {} },\n visibility: {\n companyDetails: 'hidden',\n personalDetails: 'editable',\n billingAddress: 'editable',\n deliveryAddress: 'editable',\n bankAccount: 'hidden'\n }\n };\n\n /**\n * Returns whether the component state is valid or not\n */\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats props on construction time\n */\n formatProps(props) {\n const country = props.countryCode || props.data?.billingAddress?.countryCode;\n\n return {\n ...props,\n allowedCountries: [country],\n visibility: {\n ...OpenInvoiceContainer.defaultProps.visibility,\n ...props.visibility\n },\n data: {\n ...props.data,\n billingAddress: {\n ...props.data.billingAddress,\n country\n },\n deliveryAddress: {\n ...props.data.deliveryAddress,\n country\n }\n }\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const { data = {} } = this.state;\n const { companyDetails = {}, personalDetails = {}, billingAddress, deliveryAddress, bankAccount } = data;\n\n return {\n paymentMethod: {\n type: this.constructor['type']\n },\n ...personalDetails,\n ...companyDetails,\n ...(bankAccount && {\n bankAccount: {\n iban: bankAccount.ibanNumber,\n ownerName: bankAccount.ownerName,\n countryCode: bankAccount.countryCode\n }\n }),\n ...(billingAddress && { billingAddress }),\n ...((deliveryAddress || billingAddress) && { deliveryAddress: deliveryAddress || billingAddress })\n };\n }\n\n protected override componentToRender(): h.JSX.Element {\n return (\n <OpenInvoice\n setComponentRef={this.setComponentRef}\n {...this.props}\n {...this.state}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n );\n }\n}\n"],"names":["OpenInvoiceContainer","UIElement","isValid","this","state","formatProps","props","country","countryCode","data","billingAddress","_object_spread_props","_object_spread","allowedCountries","visibility","defaultProps","deliveryAddress","formatData","companyDetails","personalDetails","bankAccount","paymentMethod","type","constructor","iban","ibanNumber","ownerName","componentToRender","h","OpenInvoice","setComponentRef","onChange","setState","onSubmit","submit","payButton","_define_property"],"mappings":"4+BAKe,MAAMA,UAA6BC,EAgB9C,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAKAG,WAAAA,CAAYC,OAC6BA,EAAAA,EAArC,MAAMC,EAAUD,EAAME,cAAyB,QAAVF,EAAAA,EAAMG,YAANH,IAAAA,GAA0B,QAA1BA,EAAAA,EAAYI,0BAAZJ,OAAAA,EAAAA,EAA4BE,aAEjE,OAAOG,EAAAC,EAAA,CAAA,EACAN,GAAAA,CACHO,iBAAkB,CAACN,GACnBO,WAAYF,KACLZ,EAAqBe,aAAaD,WAClCR,EAAMQ,YAEbL,KAAME,EAAAC,EAAA,CAAA,EACCN,EAAMG,MAAI,CACbC,eAAgBC,EAAAC,EAAA,CAAA,EACTN,EAAMG,KAAKC,gBAAc,CAC5BH,YAEJS,gBAAiBL,EAAAC,EAAA,CAAA,EACVN,EAAMG,KAAKO,iBAAe,CAC7BT,eAIhB,CAKAU,UAAAA,GACI,MAAMR,KAAEA,EAAO,IAAON,KAAKC,OACrBc,eAAEA,EAAiB,CAAA,EAAEC,gBAAEA,EAAkB,CAAA,EAAET,eAAEA,EAAcM,gBAAEA,EAAeI,YAAEA,GAAgBX,EAEpG,OAAOG,EAAA,CACHS,cAAe,CACXC,KAAMnB,KAAKoB,YAAY,OAExBJ,EACAD,EACCE,GAAe,CACfA,YAAa,CACTI,KAAMJ,EAAYK,WAClBC,UAAWN,EAAYM,UACvBlB,YAAaY,EAAYZ,cAG7BE,GAAkB,CAAEA,mBACnBM,GAAmBN,IAAmB,CAAEM,gBAAiBA,GAAmBN,GAEzF,CAEmBiB,iBAAAA,GACf,OACIC,EAACC,EAAAA,EAAAA,EAAAA,CACGC,gBAAiB3B,KAAK2B,iBAClB3B,KAAKG,MACLH,KAAKC,OAAK,CACd2B,SAAU5B,KAAK6B,SACfC,SAAU9B,KAAK+B,OACfC,UAAWhC,KAAKgC,YAG5B,EAlFAC,EADiBpC,EACAe,eAAkD,CAC/DgB,SAAU,OACVtB,KAAM,CAAES,eAAgB,CAAA,EAAIC,gBAAiB,CAAA,EAAIT,eAAgB,CAAA,EAAIM,gBAAiB,CAAA,EAAII,YAAa,CAAA,GACvGN,WAAY,CACRI,eAAgB,SAChBC,gBAAiB,WACjBT,eAAgB,WAChBM,gBAAiB,WACjBI,YAAa"}
@@ -1 +1 @@
1
- {"version":3,"file":"Address.js","sources":["../../../../../src/components/internal/Address/Address.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'preact/hooks';\nimport Fieldset from '../FormFields/Fieldset';\nimport ReadOnlyAddress from './components/ReadOnlyAddress';\nimport { getAddressValidationRules } from './validate';\nimport { addressFormatters, countrySpecificFormatters } from './validate.formats';\nimport { AddressProps } from './types';\nimport { AddressData } from '../../../types/global-types';\nimport FieldContainer from './components/FieldContainer';\nimport useForm from '../../../utils/useForm';\nimport Specifications from './Specifications';\nimport { ADDRESS_SCHEMA, FALLBACK_VALUE } from './constants';\nimport { getMaxLengthByFieldAndCountry } from '../../../utils/validator-utils';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport AddressSearch from './components/AddressSearch';\nimport { ComponentMethodsRef } from '../UIElement/types';\nimport './Address.scss';\n\nexport default function Address(props: AddressProps) {\n const { i18n } = useCoreContext();\n\n const { label = '', requiredFields, visibility, iOSFocusedField = null, showContextualElement } = props;\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const addressRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(addressRef.current).length) {\n props.setComponentRef?.(addressRef.current);\n }\n\n const specifications = useMemo(() => new Specifications(props.specifications), [props.specifications]);\n\n const requiredFieldsSchema = specifications.getAddressSchemaForCountryFlat(props.countryCode).filter(field => requiredFields.includes(field));\n\n const [hasSelectedAddress, setHasSelectedAddress] = useState(false);\n\n const [useManualAddress, setUseManualAddress] = useState(false);\n\n const [searchErrorMessage, setSearchErrorMessage] = useState('');\n\n const showAddressSearch = !!props.onAddressLookup;\n\n const [ignoreCountryChange, setIgnoreCountryChange] = useState(false);\n\n const showAddressFields = props.onAddressLookup ? hasSelectedAddress || useManualAddress : true;\n\n const { data, errors, valid, isValid, handleChangeFor, triggerValidation, setData, mergeData } = useForm<AddressData>({\n schema: requiredFieldsSchema,\n defaultData: props.data,\n // Ensure any passed validation rules are merged with the default ones\n rules: { ...getAddressValidationRules(specifications), ...props.validationRules },\n formatters: addressFormatters\n });\n\n // In partial address mode, country is not in the form schema but we need it for regionalized labels.\n // Store the merchant's country config once at mount, then use it if form data doesn't have country.\n const initialCountryRef = useRef<string | undefined>((props.data as AddressData)?.country);\n const effectiveCountry = (data.country || initialCountryRef.current)?.toUpperCase();\n const dataWithCountry = useMemo(() => ({ ...data, country: effectiveCountry }), [data, effectiveCountry]);\n\n const setSearchData = useCallback(\n (selectedAddress: AddressData) => {\n const propsKeysToProcess = ADDRESS_SCHEMA;\n const newStateData = propsKeysToProcess.reduce((acc: AddressData, propKey) => {\n // Make sure the data provided by the merchant is always strings\n const providedValue = selectedAddress[propKey];\n if (providedValue !== null && providedValue !== undefined) {\n // Cast everything to string\n acc[propKey] = String(providedValue);\n }\n return acc;\n }, {});\n mergeData(newStateData);\n setIgnoreCountryChange(true);\n triggerValidation();\n setHasSelectedAddress(true);\n },\n [setHasSelectedAddress, triggerValidation, setData]\n );\n\n const onManualAddress = useCallback(() => {\n setUseManualAddress(true);\n }, []);\n\n // Expose method expected by (parent) Address.tsx\n addressRef.current.showValidation = () => {\n triggerValidation();\n if (showAddressSearch && !showAddressFields && !isValid) {\n setSearchErrorMessage(i18n.get('address.errors.incomplete'));\n } else {\n setSearchErrorMessage('');\n }\n };\n\n /**\n * For iOS: iOSFocusedField is the name of the element calling for other elements to be disabled\n * - so if it is set (meaning we are in iOS *and* an input has been focussed) only enable the field that corresponds to this element\n */\n const enabledFields: string[] = requiredFieldsSchema.filter(item => {\n return !iOSFocusedField ? true : item === iOSFocusedField;\n });\n\n /**\n * Effect that:\n * - Resets validation for all fields by triggering handleChangeFor(fieldName, 'input')\n * - Applies validation on postalCode field in case it has any value\n */\n useEffect((): void => {\n // if the country was set via setSearchData we don't want to trigger this\n if (ignoreCountryChange) {\n setIgnoreCountryChange(false);\n return;\n }\n\n const stateOrProvince = specifications.countryHasDataset(data.country) ? '' : FALLBACK_VALUE;\n const newData = { ...data, stateOrProvince };\n\n requiredFields.forEach(fieldName => {\n handleChangeFor(fieldName, 'input')(newData[fieldName] ?? '');\n });\n\n if (newData.postalCode) {\n handleChangeFor('postalCode', 'blur')(data.postalCode);\n }\n }, [data.country]);\n\n /**\n * Set the value of 'stateOrProvince' during the initial render if\n * property is provided during the creation of the payment method\n */\n useEffect((): void => {\n const stateFieldIsRequired = requiredFields.includes('stateOrProvince');\n const countryHasStatesDataset = data.country && specifications.countryHasDataset(data.country);\n const addressShouldHaveState = stateFieldIsRequired && countryHasStatesDataset;\n const stateOrProvince = data.stateOrProvince || (addressShouldHaveState ? '' : FALLBACK_VALUE);\n\n handleChangeFor('stateOrProvince', 'input')(stateOrProvince);\n }, []);\n\n useEffect((): void => {\n const optionalFields = specifications.getOptionalFieldsForCountry(data.country);\n const processedData = ADDRESS_SCHEMA.reduce((acc, cur) => {\n const isOptional = optionalFields.includes(cur);\n const isRequired = requiredFields.includes(cur);\n const newValue = data[cur];\n const initialValue = props.data[cur];\n // recover default data values which are not requiredFields, or prefill with 'N/A'\n const fallbackValue = !isRequired && !newValue && !!initialValue ? initialValue : FALLBACK_VALUE;\n const value = (isOptional && !newValue) || !isRequired ? fallbackValue : newValue;\n if (value?.length) acc[cur] = value;\n return acc;\n }, {});\n\n // In partial address mode, ensure country is included in output for regionalized labels/validation.\n if (!(processedData as AddressData).country && initialCountryRef.current) {\n (processedData as AddressData).country = initialCountryRef.current;\n }\n\n props.onChange({ data: processedData, valid, errors, isValid });\n }, [data, valid, errors, isValid]);\n\n if (visibility === 'hidden') return null;\n if (visibility === 'readOnly') return <ReadOnlyAddress data={data} label={label} />;\n\n const getComponent = (fieldName: string, { classNameModifiers = [] }) => {\n if (!requiredFields.includes(fieldName)) return null;\n\n return (\n <FieldContainer\n key={fieldName}\n allowedCountries={props.allowedCountries}\n classNameModifiers={[...classNameModifiers, fieldName]}\n data={dataWithCountry}\n errors={errors}\n valid={valid}\n fieldName={fieldName}\n onInput={handleChangeFor(fieldName, 'input')}\n onBlur={handleChangeFor(fieldName, 'blur')}\n onDropdownChange={handleChangeFor(fieldName, 'blur')}\n specifications={specifications}\n maxLength={getMaxLengthByFieldAndCountry(countrySpecificFormatters, fieldName, effectiveCountry, true)}\n trimOnBlur={true}\n disabled={!enabledFields.includes(fieldName)}\n onFieldFocusAnalytics={props.onFieldFocusAnalytics}\n onFieldBlurAnalytics={props.onFieldBlurAnalytics}\n />\n );\n };\n\n const getWrapper = group => (\n <div className=\"adyen-checkout__field-group\">\n {group.map(([field, size]) => getComponent(field, { classNameModifiers: [`col-${size}`] }))}\n </div>\n );\n\n const addressSchema = specifications.getAddressSchemaForCountry(data.country);\n\n return (\n <Fragment>\n <Fieldset classNameModifiers={[label, 'address']} label={label}>\n {showAddressSearch && (\n <AddressSearch\n onAddressLookup={props.onAddressLookup}\n onAddressSelected={props.onAddressSelected}\n onSelect={setSearchData}\n onManualAddress={onManualAddress}\n externalErrorMessage={searchErrorMessage}\n hideManualButton={showAddressFields}\n showContextualElement={showContextualElement}\n contextualText={i18n.get('address.search.contextualText')}\n addressSearchDebounceMs={props.addressSearchDebounceMs}\n />\n )}\n {showAddressFields && (\n <Fragment>{addressSchema.map(field => (field instanceof Array ? getWrapper(field) : getComponent(field, {})))}</Fragment>\n )}\n </Fieldset>\n </Fragment>\n );\n}\n\nAddress.defaultProps = {\n countryCode: null,\n validationRules: null,\n data: {},\n onChange: () => {},\n visibility: 'editable',\n requiredFields: ADDRESS_SCHEMA,\n specifications: {},\n onFieldFocusAnalytics: () => {},\n onFieldBlurAnalytics: () => {}\n};\n"],"names":["Address","props","data","i18n","useCoreContext","label","requiredFields","visibility","iOSFocusedField","showContextualElement","addressRef","useRef","Object","keys","current","length","setComponentRef","specifications","useMemo","Specifications","requiredFieldsSchema","getAddressSchemaForCountryFlat","countryCode","filter","field","includes","hasSelectedAddress","setHasSelectedAddress","useState","useManualAddress","setUseManualAddress","searchErrorMessage","setSearchErrorMessage","showAddressSearch","onAddressLookup","ignoreCountryChange","setIgnoreCountryChange","showAddressFields","errors","valid","isValid","handleChangeFor","triggerValidation","setData","mergeData","useForm","schema","defaultData","rules","_object_spread","getAddressValidationRules","validationRules","formatters","addressFormatters","initialCountryRef","_props_data","country","effectiveCountry","_this","toUpperCase","dataWithCountry","_object_spread_props","setSearchData","useCallback","selectedAddress","newStateData","ADDRESS_SCHEMA","reduce","acc","propKey","providedValue","String","onManualAddress","showValidation","get","enabledFields","item","useEffect","stateOrProvince","countryHasDataset","FALLBACK_VALUE","newData","forEach","fieldName","postalCode","stateFieldIsRequired","countryHasStatesDataset","addressShouldHaveState","optionalFields","getOptionalFieldsForCountry","processedData","cur","isOptional","isRequired","newValue","initialValue","value","onChange","h","ReadOnlyAddress","getComponent","classNameModifiers","FieldContainer","key","allowedCountries","onInput","onBlur","onDropdownChange","maxLength","getMaxLengthByFieldAndCountry","countrySpecificFormatters","trimOnBlur","disabled","onFieldFocusAnalytics","onFieldBlurAnalytics","addressSchema","getAddressSchemaForCountry","Fragment","Fieldset","AddressSearch","onAddressSelected","onSelect","externalErrorMessage","hideManualButton","contextualText","addressSearchDebounceMs","map","Array","div","className","size","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"Address.js","sources":["../../../../../src/components/internal/Address/Address.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'preact/hooks';\nimport Fieldset from '../FormFields/Fieldset';\nimport ReadOnlyAddress from './components/ReadOnlyAddress';\nimport { getAddressValidationRules } from './validate';\nimport { addressFormatters, countrySpecificFormatters } from './validate.formats';\nimport { AddressProps } from './types';\nimport { AddressData } from '../../../types/global-types';\nimport FieldContainer from './components/FieldContainer';\nimport useForm from '../../../utils/useForm';\nimport Specifications from './Specifications';\nimport { ADDRESS_SCHEMA, FALLBACK_VALUE } from './constants';\nimport { getMaxLengthByFieldAndCountry } from '../../../utils/validator-utils';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport AddressSearch from './components/AddressSearch';\nimport { ComponentMethodsRef } from '../UIElement/types';\nimport './Address.scss';\n\nexport default function Address(props: AddressProps) {\n const { i18n } = useCoreContext();\n\n const { label = '', requiredFields, visibility, iOSFocusedField = null, showContextualElement } = props;\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const addressRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(addressRef.current).length) {\n props.setComponentRef?.(addressRef.current);\n }\n\n const specifications = useMemo(() => new Specifications(props.specifications), [props.specifications]);\n\n const requiredFieldsSchema = specifications.getAddressSchemaForCountryFlat(props.countryCode).filter(field => requiredFields.includes(field));\n\n const [hasSelectedAddress, setHasSelectedAddress] = useState(false);\n\n const [useManualAddress, setUseManualAddress] = useState(false);\n\n const [searchErrorMessage, setSearchErrorMessage] = useState('');\n\n const showAddressSearch = !!props.onAddressLookup;\n\n const [ignoreCountryChange, setIgnoreCountryChange] = useState(false);\n\n const showAddressFields = props.onAddressLookup ? hasSelectedAddress || useManualAddress : true;\n\n const { data, errors, valid, isValid, handleChangeFor, triggerValidation, setData, mergeData } = useForm<AddressData>({\n schema: requiredFieldsSchema,\n defaultData: props.data,\n // Ensure any passed validation rules are merged with the default ones\n rules: { ...getAddressValidationRules(specifications), ...props.validationRules },\n formatters: addressFormatters\n });\n\n // In partial address mode, country is not in the form schema but we need it for regionalized labels.\n // Store the merchant's country config once at mount, then use it if form data doesn't have country.\n const initialCountryRef = useRef<string | undefined>((props.data as AddressData)?.country);\n const effectiveCountry = (data.country || initialCountryRef.current)?.toUpperCase();\n const dataWithCountry = useMemo(() => ({ ...data, country: effectiveCountry }), [data, effectiveCountry]);\n\n const setSearchData = useCallback(\n (selectedAddress: AddressData) => {\n const propsKeysToProcess = ADDRESS_SCHEMA;\n const newStateData = propsKeysToProcess.reduce((acc: AddressData, propKey) => {\n // Make sure the data provided by the merchant is always strings\n const providedValue = selectedAddress[propKey];\n if (providedValue !== null && providedValue !== undefined) {\n // Cast everything to string\n acc[propKey] = String(providedValue);\n }\n return acc;\n }, {});\n mergeData(newStateData);\n setIgnoreCountryChange(true);\n triggerValidation();\n setHasSelectedAddress(true);\n },\n [setHasSelectedAddress, triggerValidation, setData]\n );\n\n const onManualAddress = useCallback(() => {\n setUseManualAddress(true);\n }, []);\n\n // Expose method expected by (parent) Address.tsx\n addressRef.current.showValidation = () => {\n triggerValidation();\n if (showAddressSearch && !showAddressFields && !isValid) {\n setSearchErrorMessage(i18n.get('address.errors.incomplete'));\n } else {\n setSearchErrorMessage('');\n }\n };\n\n /**\n * For iOS: iOSFocusedField is the name of the element calling for other elements to be disabled\n * - so if it is set (meaning we are in iOS *and* an input has been focussed) only enable the field that corresponds to this element\n */\n const enabledFields: string[] = requiredFieldsSchema.filter(item => {\n return !iOSFocusedField ? true : item === iOSFocusedField;\n });\n\n /**\n * Effect that:\n * - Resets validation for all fields by triggering handleChangeFor(fieldName, 'input')\n * - Applies validation on postalCode field in case it has any value\n */\n useEffect((): void => {\n // if the country was set via setSearchData we don't want to trigger this\n if (ignoreCountryChange) {\n setIgnoreCountryChange(false);\n return;\n }\n\n const stateOrProvince = specifications.countryHasDataset(data.country) ? '' : FALLBACK_VALUE;\n const newData = { ...data, stateOrProvince };\n\n requiredFields.forEach(fieldName => {\n handleChangeFor(fieldName, 'input')(newData[fieldName] ?? '');\n });\n\n if (newData.postalCode) {\n handleChangeFor('postalCode', 'blur')(data.postalCode);\n }\n }, [data.country]);\n\n /**\n * Set the value of 'stateOrProvince' during the initial render if\n * property is provided during the creation of the payment method\n */\n useEffect((): void => {\n const stateFieldIsRequired = requiredFields.includes('stateOrProvince');\n const countryHasStatesDataset = data.country && specifications.countryHasDataset(data.country);\n const addressShouldHaveState = stateFieldIsRequired && countryHasStatesDataset;\n const stateOrProvince = data.stateOrProvince || (addressShouldHaveState ? '' : FALLBACK_VALUE);\n\n handleChangeFor('stateOrProvince', 'input')(stateOrProvince);\n }, []);\n\n useEffect((): void => {\n const optionalFields = specifications.getOptionalFieldsForCountry(data.country);\n const processedData = ADDRESS_SCHEMA.reduce((acc, cur) => {\n const isOptional = optionalFields.includes(cur);\n const isRequired = requiredFields.includes(cur);\n const newValue = data[cur];\n const initialValue = props.data[cur];\n // recover default data values which are not requiredFields, or prefill with 'N/A'\n const fallbackValue = !isRequired && !newValue && !!initialValue ? initialValue : FALLBACK_VALUE;\n const value = (isOptional && !newValue) || !isRequired ? fallbackValue : newValue;\n if (value?.length) acc[cur] = value;\n return acc;\n }, {});\n\n // In partial address mode, ensure country is included in output for regionalized labels/validation.\n if (!(processedData as AddressData).country && initialCountryRef.current) {\n (processedData as AddressData).country = initialCountryRef.current;\n }\n\n props.onChange({ data: processedData, valid, errors, isValid });\n }, [data, valid, errors, isValid]);\n\n if (visibility === 'hidden') return null;\n if (visibility === 'readOnly') return <ReadOnlyAddress data={data} label={label} />;\n\n const getComponent = (fieldName: string, { classNameModifiers = [] }) => {\n if (!requiredFields.includes(fieldName)) return null;\n\n return (\n <FieldContainer\n key={fieldName}\n allowedCountries={props.allowedCountries}\n classNameModifiers={[...classNameModifiers, fieldName]}\n data={dataWithCountry}\n errors={errors}\n valid={valid}\n fieldName={fieldName}\n onInput={handleChangeFor(fieldName, 'input')}\n onBlur={handleChangeFor(fieldName, 'blur')}\n onDropdownChange={handleChangeFor(fieldName, 'blur')}\n specifications={specifications}\n maxLength={getMaxLengthByFieldAndCountry(countrySpecificFormatters, fieldName, effectiveCountry, true)}\n trimOnBlur={true}\n disabled={!enabledFields.includes(fieldName)}\n onFieldFocusAnalytics={props.onFieldFocusAnalytics}\n onFieldBlurAnalytics={props.onFieldBlurAnalytics}\n />\n );\n };\n\n const getWrapper = group => (\n <div className=\"adyen-checkout__field-group\">\n {group.map(([field, size]) => getComponent(field, { classNameModifiers: [`col-${size}`] }))}\n </div>\n );\n\n const addressSchema = specifications.getAddressSchemaForCountry(data.country);\n\n return (\n <Fragment>\n <Fieldset classNameModifiers={[label, 'address']} label={label}>\n {showAddressSearch && (\n <AddressSearch\n onAddressLookup={props.onAddressLookup}\n onAddressSelected={props.onAddressSelected}\n onSelect={setSearchData}\n onManualAddress={onManualAddress}\n externalErrorMessage={searchErrorMessage}\n hideManualButton={showAddressFields}\n showContextualElement={showContextualElement}\n contextualText={i18n.get('address.search.contextualText')}\n addressSearchDebounceMs={props.addressSearchDebounceMs}\n />\n )}\n {showAddressFields && (\n <Fragment>{addressSchema.map(field => (field instanceof Array ? getWrapper(field) : getComponent(field, {})))}</Fragment>\n )}\n </Fieldset>\n </Fragment>\n );\n}\n\nAddress.defaultProps = {\n countryCode: null,\n validationRules: null,\n data: {},\n onChange: () => {},\n visibility: 'editable',\n requiredFields: ADDRESS_SCHEMA,\n specifications: {},\n onFieldFocusAnalytics: () => {},\n onFieldBlurAnalytics: () => {}\n};\n"],"names":["Address","props","data","i18n","useCoreContext","label","requiredFields","visibility","iOSFocusedField","showContextualElement","addressRef","useRef","Object","keys","current","length","setComponentRef","specifications","useMemo","Specifications","requiredFieldsSchema","getAddressSchemaForCountryFlat","countryCode","filter","field","includes","hasSelectedAddress","setHasSelectedAddress","useState","useManualAddress","setUseManualAddress","searchErrorMessage","setSearchErrorMessage","showAddressSearch","onAddressLookup","ignoreCountryChange","setIgnoreCountryChange","showAddressFields","errors","valid","isValid","handleChangeFor","triggerValidation","setData","mergeData","useForm","schema","defaultData","rules","_object_spread","getAddressValidationRules","validationRules","formatters","addressFormatters","initialCountryRef","_props_data","country","effectiveCountry","_this","toUpperCase","dataWithCountry","_object_spread_props","setSearchData","useCallback","selectedAddress","newStateData","ADDRESS_SCHEMA","reduce","acc","propKey","providedValue","String","onManualAddress","showValidation","get","enabledFields","item","useEffect","stateOrProvince","countryHasDataset","FALLBACK_VALUE","newData","forEach","fieldName","postalCode","stateFieldIsRequired","countryHasStatesDataset","addressShouldHaveState","optionalFields","getOptionalFieldsForCountry","processedData","cur","isOptional","isRequired","newValue","initialValue","value","onChange","h","ReadOnlyAddress","getComponent","classNameModifiers","FieldContainer","key","allowedCountries","onInput","onBlur","onDropdownChange","maxLength","getMaxLengthByFieldAndCountry","countrySpecificFormatters","trimOnBlur","disabled","onFieldFocusAnalytics","onFieldBlurAnalytics","addressSchema","getAddressSchemaForCountry","Fragment","Fieldset","AddressSearch","onAddressSelected","onSelect","externalErrorMessage","hideManualButton","contextualText","addressSearchDebounceMs","map","Array","div","className","size","defaultProps"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Specifications.js","sources":["../../../../../src/components/internal/Address/Specifications.ts"],"sourcesContent":["import { AddressSchema, AddressSpecifications, StringObject } from './types';\nimport { ADDRESS_SPECIFICATIONS } from './constants';\nimport { AddressField } from '../../../types/global-types';\n\nconst SCHEMA_MAX_DEPTH = 2;\n\nclass Specifications {\n private specifications: AddressSpecifications;\n\n constructor(specifications?) {\n this.specifications = { ...ADDRESS_SPECIFICATIONS, ...specifications };\n }\n\n /**\n * Checks if a certain country has a dataset.\n * @param country - The selected country\n * @returns Boolean\n */\n countryHasDataset(country: string): boolean {\n return !!this.specifications?.[country]?.hasDataset;\n }\n\n /**\n * Checks if a certain country has the passed field in their optional fields array.\n * @param country - The selected country\n * @param fieldName - The field to be checked\n * @returns Boolean\n */\n countryHasOptionalField(country: string, fieldName: string): boolean {\n return !!this.specifications?.[country]?.optionalFields?.includes(fieldName as any);\n }\n\n /**\n * Returns the address schema of the selected country or the default address schema.\n * @param country - The selected country\n * @returns AddressSchema\n */\n getAddressSchemaForCountry(country: string): AddressSchema {\n return this.specifications?.[country]?.schema || this.specifications.default.schema;\n }\n\n /**\n * Returns the address labels of the selected country or the default address labels.\n * @param country - The selected country\n * @returns StringObject\n */\n getAddressLabelsForCountry(country: string): StringObject {\n return this.specifications?.[country]?.labels || this.specifications.default.labels;\n }\n\n /**\n * Returns the optional fields of the selected country or the default optional fields.\n * @param country - The selected country\n * @returns Optional fields array\n */\n getOptionalFieldsForCountry(country: string): string[] {\n return this.specifications?.[country]?.optionalFields || this.specifications.default?.optionalFields || [];\n }\n\n /**\n * Returns the key for a field of the passed country or the default key for that field.\n * @param fieldName - The field to be searched\n * @param country - The selected country\n */\n getKeyForField(fieldName: string, country: string): string {\n return this.specifications?.[country]?.labels?.[fieldName] || this.specifications?.default?.labels?.[fieldName] || fieldName;\n }\n\n /**\n * Returns the placeholder key for a field of the passed country or the default key for that field.\n * @param fieldName - The field to be searched\n * @param country - The selected country\n */\n getPlaceholderKeyForField(fieldName: string, country: string): string {\n return this.specifications?.[country]?.placeholders?.[fieldName] || this.specifications?.default?.placeholders?.[fieldName];\n }\n\n /**\n * Returns an array with the address schema of the selected country or the default address schema\n * Flat version of getAddressSchemaForCountry\n * @param country - The selected country\n * @returns Array\n */\n getAddressSchemaForCountryFlat(country: string): AddressField[] {\n return this.getAddressSchemaForCountry(country)\n .flat(SCHEMA_MAX_DEPTH)\n .filter((element): element is AddressField => typeof element === 'string');\n }\n}\n\nexport default Specifications;\n"],"names":["Specifications","countryHasDataset","country","_this_specifications_country","_this_specifications","this","specifications","hasDataset","countryHasOptionalField","fieldName","_this_specifications_country_optionalFields","optionalFields","includes","getAddressSchemaForCountry","schema","default","getAddressLabelsForCountry","labels","getOptionalFieldsForCountry","_this_specifications_default","getKeyForField","_this_specifications_country_labels","_this_specifications_default_labels","_this_specifications1","getPlaceholderKeyForField","_this_specifications_country_placeholders","_this_specifications_default_placeholders","placeholders","getAddressSchemaForCountryFlat","flat","filter","element","constructor","_define_property","_object_spread","ADDRESS_SPECIFICATIONS"],"mappings":"gLAMA,MAAMA,EAYFC,iBAAAA,CAAkBC,OACLC,EAAAC,EAAT,SAA4B,QAAnBA,EAAAC,KAAKC,sBAAL,IAAAF,GAA8B,QAA9BD,EAAAC,EAAsBF,UAAtB,IAAAC,OAAA,EAAAA,EAAgCI,WAC7C,CAQAC,uBAAAA,CAAwBN,EAAiBO,GAC5B,IAAAC,EAAAP,EAAAC,EAAT,SAA4B,QAAnBA,EAAAC,KAAKC,0BAALF,GAA8B,QAA9BD,EAAAC,EAAsBF,cAAtBC,GAA8C,QAA9CO,EAAAP,EAAgCQ,sBAAhC,IAAAD,SAAAA,EAAgDE,SAASH,GACtE,CAOAI,0BAAAA,CAA2BX,OAChBC,EAAAC,EAAP,OAA0B,QAAnBA,EAAAC,KAAKC,sBAAL,IAAAF,WAAAD,EAAAC,EAAsBF,UAAtB,IAAAC,OAAA,EAAAA,EAAgCW,SAAUT,KAAKC,eAAeS,QAAQD,MACjF,CAOAE,0BAAAA,CAA2Bd,OAChBC,EAAAC,EAAP,OAA0B,QAAnBA,EAAAC,KAAKC,sBAAL,IAAAF,WAAAD,EAAAC,EAAsBF,UAAtB,IAAAC,OAAA,EAAAA,EAAgCc,SAAUZ,KAAKC,eAAeS,QAAQE,MACjF,CAOAC,2BAAAA,CAA4BhB,GACjB,IAAAC,EAAAC,EAAkDe,EAAzD,OAA0B,QAAnBf,EAAAC,KAAKC,sBAAL,IAAAF,GAA8B,QAA9BD,EAAAC,EAAsBF,UAAtB,IAAAC,OAAA,EAAAA,EAAgCQ,kBAA6C,QAA3BQ,EAAAd,KAAKC,eAAeS,eAApB,IAAAI,OAAA,EAAAA,EAA6BR,iBAAkB,EAC5G,CAOAS,cAAAA,CAAeX,EAAmBP,OACvBmB,EAAAlB,EAAAC,EAAuDkB,EAAAH,EAAAI,EAA9D,OAA0B,QAAnBnB,EAAAC,KAAKC,0BAALF,WAAAD,EAAAC,EAAsBF,UAAtB,IAAAC,GAAsC,QAAtCkB,EAAAlB,EAAgCc,kBAAhCI,SAAAA,EAAyCZ,MAAiC,QAAnBc,EAAAlB,KAAKC,sBAAL,IAAAiB,WAAAJ,EAAAI,EAAqBR,eAArB,IAAAI,GAAoC,QAApCG,EAAAH,EAA8BF,kBAA9BK,OAAA,EAAAA,EAAuCb,KAAcA,CACvH,CAOAe,yBAAAA,CAA0Bf,EAAmBP,OAClCuB,EAAAtB,EAAAC,EAA6DsB,EAAAP,EAAAI,EAApE,OAA0B,QAAnBnB,EAAAC,KAAKC,0BAALF,WAAAD,EAAAC,EAAsBF,UAAtB,IAAAC,GAA4C,QAA5CsB,EAAAtB,EAAgCwB,wBAAhCF,SAAAA,EAA+ChB,MAAiC,QAAnBc,EAAAlB,KAAKC,sBAAL,IAAAiB,GAA4B,QAA5BJ,EAAAI,EAAqBR,eAArB,IAAAI,WAAAO,EAAAP,EAA8BQ,oBAA9B,IAAAD,OAAA,EAAAA,EAA6CjB,GACrH,CAQAmB,8BAAAA,CAA+B1B,GAC3B,OAAOG,KAAKQ,2BAA2BX,GAClC2B,KAjFY,GAkFZC,OAAQC,GAAwD,iBAAZA,EAC7D,CA9EA,WAAAC,CAAY1B,GAFZ2B,EAAA5B,KAAQC,sBAAR,GAGID,KAAKC,iVAAiB4B,CAAA,CAAA,EAAKC,EAA2B7B,EAC1D"}
1
+ {"version":3,"file":"Specifications.js","sources":["../../../../../src/components/internal/Address/Specifications.ts"],"sourcesContent":["import { AddressSchema, AddressSpecifications, StringObject } from './types';\nimport { ADDRESS_SPECIFICATIONS } from './constants';\nimport { AddressField } from '../../../types/global-types';\n\nconst SCHEMA_MAX_DEPTH = 2;\n\nclass Specifications {\n private specifications: AddressSpecifications;\n\n constructor(specifications?) {\n this.specifications = { ...ADDRESS_SPECIFICATIONS, ...specifications };\n }\n\n /**\n * Checks if a certain country has a dataset.\n * @param country - The selected country\n * @returns Boolean\n */\n countryHasDataset(country: string): boolean {\n return !!this.specifications?.[country]?.hasDataset;\n }\n\n /**\n * Checks if a certain country has the passed field in their optional fields array.\n * @param country - The selected country\n * @param fieldName - The field to be checked\n * @returns Boolean\n */\n countryHasOptionalField(country: string, fieldName: string): boolean {\n return !!this.specifications?.[country]?.optionalFields?.includes(fieldName as any);\n }\n\n /**\n * Returns the address schema of the selected country or the default address schema.\n * @param country - The selected country\n * @returns AddressSchema\n */\n getAddressSchemaForCountry(country: string): AddressSchema {\n return this.specifications?.[country]?.schema || this.specifications.default.schema;\n }\n\n /**\n * Returns the address labels of the selected country or the default address labels.\n * @param country - The selected country\n * @returns StringObject\n */\n getAddressLabelsForCountry(country: string): StringObject {\n return this.specifications?.[country]?.labels || this.specifications.default.labels;\n }\n\n /**\n * Returns the optional fields of the selected country or the default optional fields.\n * @param country - The selected country\n * @returns Optional fields array\n */\n getOptionalFieldsForCountry(country: string): string[] {\n return this.specifications?.[country]?.optionalFields || this.specifications.default?.optionalFields || [];\n }\n\n /**\n * Returns the key for a field of the passed country or the default key for that field.\n * @param fieldName - The field to be searched\n * @param country - The selected country\n */\n getKeyForField(fieldName: string, country: string): string {\n return this.specifications?.[country]?.labels?.[fieldName] || this.specifications?.default?.labels?.[fieldName] || fieldName;\n }\n\n /**\n * Returns the placeholder key for a field of the passed country or the default key for that field.\n * @param fieldName - The field to be searched\n * @param country - The selected country\n */\n getPlaceholderKeyForField(fieldName: string, country: string): string {\n return this.specifications?.[country]?.placeholders?.[fieldName] || this.specifications?.default?.placeholders?.[fieldName];\n }\n\n /**\n * Returns an array with the address schema of the selected country or the default address schema\n * Flat version of getAddressSchemaForCountry\n * @param country - The selected country\n * @returns Array\n */\n getAddressSchemaForCountryFlat(country: string): AddressField[] {\n return this.getAddressSchemaForCountry(country)\n .flat(SCHEMA_MAX_DEPTH)\n .filter((element): element is AddressField => typeof element === 'string');\n }\n}\n\nexport default Specifications;\n"],"names":["Specifications","countryHasDataset","country","_this_specifications_country","_this_specifications","this","specifications","hasDataset","countryHasOptionalField","fieldName","_this_specifications_country_optionalFields","optionalFields","includes","getAddressSchemaForCountry","schema","default","getAddressLabelsForCountry","labels","getOptionalFieldsForCountry","_this_specifications_default","getKeyForField","_this_specifications_country_labels","_this_specifications_default_labels","_this_specifications1","getPlaceholderKeyForField","_this_specifications_country_placeholders","_this_specifications_default_placeholders","placeholders","getAddressSchemaForCountryFlat","flat","filter","element","constructor","_define_property","_object_spread","ADDRESS_SPECIFICATIONS"],"mappings":"gLAMA,MAAMA,EAYFC,iBAAAA,CAAkBC,OACLC,EAAAC,EAAT,SAA4B,QAAnBA,EAAAC,KAAKC,sBAAL,IAAAF,GAA8B,QAA9BD,EAAAC,EAAsBF,cAAtBC,OAAA,EAAAA,EAAgCI,WAC7C,CAQAC,uBAAAA,CAAwBN,EAAiBO,GAC5B,IAAAC,EAAAP,EAAAC,EAAT,SAA4B,QAAnBA,EAAAC,KAAKC,0BAALF,GAA8B,QAA9BD,EAAAC,EAAsBF,cAAtBC,GAA8C,QAA9CO,EAAAP,EAAgCQ,sBAAhC,IAAAD,SAAAA,EAAgDE,SAASH,GACtE,CAOAI,0BAAAA,CAA2BX,OAChBC,EAAAC,EAAP,OAA0B,QAAnBA,EAAAC,KAAKC,sBAAL,IAAAF,WAAAD,EAAAC,EAAsBF,UAAtB,IAAAC,SAAAA,EAAgCW,SAAUT,KAAKC,eAAeS,QAAQD,MACjF,CAOAE,0BAAAA,CAA2Bd,OAChBC,EAAAC,EAAP,OAA0B,QAAnBA,EAAAC,KAAKC,sBAAL,IAAAF,WAAAD,EAAAC,EAAsBF,UAAtB,IAAAC,SAAAA,EAAgCc,SAAUZ,KAAKC,eAAeS,QAAQE,MACjF,CAOAC,2BAAAA,CAA4BhB,GACjB,IAAAC,EAAAC,EAAkDe,EAAzD,OAA0B,QAAnBf,EAAAC,KAAKC,sBAAL,IAAAF,GAA8B,QAA9BD,EAAAC,EAAsBF,UAAtB,IAAAC,OAAA,EAAAA,EAAgCQ,kBAA6C,QAA3BQ,EAAAd,KAAKC,eAAeS,eAApB,IAAAI,OAAA,EAAAA,EAA6BR,iBAAkB,EAC5G,CAOAS,cAAAA,CAAeX,EAAmBP,OACvBmB,EAAAlB,EAAAC,EAAuDkB,EAAAH,EAAAI,EAA9D,OAA0B,QAAnBnB,EAAAC,KAAKC,0BAALF,WAAAD,EAAAC,EAAsBF,UAAtB,IAAAC,GAAsC,QAAtCkB,EAAAlB,EAAgCc,kBAAhCI,SAAAA,EAAyCZ,MAAiC,QAAnBc,EAAAlB,KAAKC,sBAAL,IAAAiB,WAAAJ,EAAAI,EAAqBR,mBAArBI,GAAoC,QAApCG,EAAAH,EAA8BF,kBAA9BK,OAAA,EAAAA,EAAuCb,KAAcA,CACvH,CAOAe,yBAAAA,CAA0Bf,EAAmBP,OAClCuB,EAAAtB,EAAAC,EAA6DsB,EAAAP,EAAAI,EAApE,OAA0B,QAAnBnB,EAAAC,KAAKC,0BAALF,WAAAD,EAAAC,EAAsBF,UAAtB,IAAAC,GAA4C,QAA5CsB,EAAAtB,EAAgCwB,wBAAhCF,SAAAA,EAA+ChB,MAAiC,QAAnBc,EAAAlB,KAAKC,0BAALiB,GAA4B,QAA5BJ,EAAAI,EAAqBR,eAArB,IAAAI,WAAAO,EAAAP,EAA8BQ,oBAA9B,IAAAD,OAAA,EAAAA,EAA6CjB,GACrH,CAQAmB,8BAAAA,CAA+B1B,GAC3B,OAAOG,KAAKQ,2BAA2BX,GAClC2B,KAjFY,GAkFZC,OAAQC,GAAwD,iBAAZA,EAC7D,CA9EA,WAAAC,CAAY1B,GAFZ2B,EAAA5B,KAAQC,yBAGJD,KAAKC,iVAAiB4B,CAAA,CAAA,EAAKC,EAA2B7B,EAC1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sources":["../../../../../src/components/internal/Address/validate.ts"],"sourcesContent":["import { ValidatorRules, ValidatorRule } from '../../../utils/Validator/types';\nimport { countrySpecificFormatters } from './validate.formats';\nimport { ERROR_FIELD_REQUIRED, ERROR_INVALID_FORMAT_EXPECTS } from '../../../core/Errors/constants';\nimport { isEmpty } from '../../../utils/validator-utils';\n\nconst createPatternByDigits = (digits: number) => {\n return {\n pattern: new RegExp(`\\\\d{${digits}}`)\n };\n};\n\nexport const validatePostalCode = (val: string, countryCode: string, validatorRules: ValidatorRules) => {\n if (countryCode) {\n // If there is no value, we display the 'required' error message\n if (isEmpty(val)) return null;\n\n // Dynamically create errorMessage\n (validatorRules.postalCode as ValidatorRule).errorMessage = {\n translationKey: ERROR_INVALID_FORMAT_EXPECTS,\n translationObject: {\n values: {\n format: countrySpecificFormatters[countryCode]?.postalCode.format || null\n }\n }\n };\n\n const pattern = postalCodePatterns[countryCode]?.pattern;\n return pattern ? pattern.test(val) : !!val; // No pattern? Accept any, filled, value.\n }\n // Default rule\n return isEmpty(val) ? null : true;\n};\n\nconst postalCodePatterns = {\n AT: createPatternByDigits(4),\n AU: createPatternByDigits(4),\n BE: { pattern: /(?:(?:[1-9])(?:\\d{3}))/ },\n BG: createPatternByDigits(4),\n BR: { pattern: /^\\d{5}-?\\d{3}$/ },\n CA: { pattern: /(?:[ABCEGHJ-NPRSTVXY]\\d[A-Z][ -]?\\d[A-Z]\\d)/ },\n CH: { pattern: /[1-9]\\d{3}/ },\n CY: createPatternByDigits(4),\n CZ: { pattern: /\\d{3}\\s?\\d{2}/ },\n DE: createPatternByDigits(5),\n DK: createPatternByDigits(4),\n EE: createPatternByDigits(5),\n ES: { pattern: /(?:0[1-9]|[1-4]\\d|5[0-2])\\d{3}/ },\n FI: createPatternByDigits(5),\n FR: createPatternByDigits(5),\n GB: { pattern: /^([A-Za-z][A-Ha-hK-Yk-y]?[0-9][A-Za-z0-9]? ?[0-9][A-Za-z]{2}|[Gg][Ii][Rr] ?0[Aa]{2})$/ },\n GE: createPatternByDigits(4),\n GR: { pattern: /^\\d{3}\\s{0,1}\\d{2}$/ },\n HR: { pattern: /^([1-5])[0-9]{4}$/ },\n HU: createPatternByDigits(4),\n IE: { pattern: /(?:^[AC-FHKNPRTV-Y][0-9]{2}|D6W)[ -]?[0-9AC-FHKNPRTV-Y]{4}/ },\n IS: createPatternByDigits(3),\n IT: createPatternByDigits(5),\n LI: createPatternByDigits(4),\n LT: { pattern: /^(LT-\\d{5}|\\d{4,5})$/ },\n LU: createPatternByDigits(4),\n LV: { pattern: /^(LV-)[0-9]{4}$/ },\n MC: { pattern: /^980\\d{2}$/ },\n MT: { pattern: /^[A-Za-z]{3}\\d{4}$/ },\n MY: createPatternByDigits(5),\n NL: { pattern: /(?:NL-)?(?:[1-9]\\d{3} ?(?:[A-EGHJ-NPRTVWXZ][A-EGHJ-NPRSTVWXZ]|S[BCEGHJ-NPRTVWXZ]))/ },\n NO: createPatternByDigits(4),\n PL: { pattern: /^\\d{2}[-]{0,1}\\d{3}$/ },\n PT: { pattern: /^([1-9]\\d{3})([- ]?(\\d{3})? *)$/ },\n RO: createPatternByDigits(6),\n SI: createPatternByDigits(4),\n SE: createPatternByDigits(5),\n SG: createPatternByDigits(6),\n SK: createPatternByDigits(5),\n US: createPatternByDigits(5)\n};\n\n/**\n * Validates only postalCode property. As the partial address form does not have the country selector, the country value\n * must be informed beforehand and can't be picked up from the form context\n *\n * @param country - Country that will be used to validate postal code\n */\nexport const getPartialAddressValidationRules = (country: string): ValidatorRules => {\n const validationRules: ValidatorRules = {\n postalCode: {\n modes: ['blur'],\n validate: val => {\n return validatePostalCode(val, country, validationRules);\n },\n errorMessage: ERROR_FIELD_REQUIRED\n }\n };\n return validationRules;\n};\n\nexport const getAddressValidationRules = (specifications): ValidatorRules => {\n const addressValidationRules: ValidatorRules = {\n postalCode: {\n modes: ['blur'],\n validate: (val, context) => {\n const country = context.state.data.country;\n return validatePostalCode(val, country, addressValidationRules);\n },\n errorMessage: ERROR_FIELD_REQUIRED\n },\n houseNumberOrName: {\n validate: (value, context) => {\n const selectedCountry = context.state?.data?.country;\n const isOptional = selectedCountry && specifications.countryHasOptionalField(selectedCountry, 'houseNumberOrName');\n return isOptional || (isEmpty(value) ? null : true);\n },\n modes: ['blur'],\n errorMessage: ERROR_FIELD_REQUIRED\n },\n default: {\n validate: value => (isEmpty(value) ? null : true), // true, if there are chars other than spaces\n modes: ['blur'],\n errorMessage: ERROR_FIELD_REQUIRED\n }\n };\n return addressValidationRules;\n};\n"],"names":["createPatternByDigits","digits","pattern","RegExp","validatePostalCode","val","countryCode","validatorRules","countrySpecificFormatters","postalCodePatterns","isEmpty","postalCode","errorMessage","translationKey","ERROR_INVALID_FORMAT_EXPECTS","translationObject","values","format","test","AT","AU","BE","BG","BR","CA","CH","CY","CZ","DE","DK","EE","ES","FI","FR","GB","GE","GR","HR","HU","IE","IS","IT","LI","LT","LU","LV","MC","MT","MY","NL","NO","PL","PT","RO","SI","SE","SG","SK","US","getPartialAddressValidationRules","country","validationRules","modes","validate","ERROR_FIELD_REQUIRED","getAddressValidationRules","specifications","addressValidationRules","context","state","data","houseNumberOrName","value","selectedCountry","countryHasOptionalField","default"],"mappings":"yOAKA,MAAMA,EAAyBC,IACpB,CACHC,QAAS,IAAIC,OAAO,OAAOF,QAItBG,EAAqB,CAACC,EAAaC,EAAqBC,KACjE,GAAID,EAAa,KASOE,EAKJC,EAZhB,GAAIC,EAAQL,GAAM,OAAO,KAGxBE,EAAeI,WAA6BC,aAAe,CACxDC,eAAgBC,EAChBC,kBAAmB,CACfC,OAAQ,CACJC,QAA8C,QAAtCT,EAAAA,EAA0BF,UAA1BE,IAAAA,OAAAA,EAAAA,EAAwCG,WAAWM,SAAU,QAKjF,MAAMf,EAAyC,QAA/BO,EAAAA,EAAmBH,UAAnBG,IAAAA,OAAAA,EAAAA,EAAiCP,QACjD,OAAOA,EAAUA,EAAQgB,KAAKb,KAASA,CAC3C,CAEA,OAAOK,EAAQL,IAAO,MAGpBI,EAAqB,CACvBU,GAAInB,EAAsB,GAC1BoB,GAAIpB,EAAsB,GAC1BqB,GAAI,CAAEnB,QAAS,0BACfoB,GAAItB,EAAsB,GAC1BuB,GAAI,CAAErB,QAAS,kBACfsB,GAAI,CAAEtB,QAAS,+CACfuB,GAAI,CAAEvB,QAAS,cACfwB,GAAI1B,EAAsB,GAC1B2B,GAAI,CAAEzB,QAAS,iBACf0B,GAAI5B,EAAsB,GAC1B6B,GAAI7B,EAAsB,GAC1B8B,GAAI9B,EAAsB,GAC1B+B,GAAI,CAAE7B,QAAS,kCACf8B,GAAIhC,EAAsB,GAC1BiC,GAAIjC,EAAsB,GAC1BkC,GAAI,CAAEhC,QAAS,yFACfiC,GAAInC,EAAsB,GAC1BoC,GAAI,CAAElC,QAAS,uBACfmC,GAAI,CAAEnC,QAAS,qBACfoC,GAAItC,EAAsB,GAC1BuC,GAAI,CAAErC,QAAS,8DACfsC,GAAIxC,EAAsB,GAC1ByC,GAAIzC,EAAsB,GAC1B0C,GAAI1C,EAAsB,GAC1B2C,GAAI,CAAEzC,QAAS,wBACf0C,GAAI5C,EAAsB,GAC1B6C,GAAI,CAAE3C,QAAS,mBACf4C,GAAI,CAAE5C,QAAS,cACf6C,GAAI,CAAE7C,QAAS,sBACf8C,GAAIhD,EAAsB,GAC1BiD,GAAI,CAAE/C,QAAS,sFACfgD,GAAIlD,EAAsB,GAC1BmD,GAAI,CAAEjD,QAAS,wBACfkD,GAAI,CAAElD,QAAS,mCACfmD,GAAIrD,EAAsB,GAC1BsD,GAAItD,EAAsB,GAC1BuD,GAAIvD,EAAsB,GAC1BwD,GAAIxD,EAAsB,GAC1ByD,GAAIzD,EAAsB,GAC1B0D,GAAI1D,EAAsB,IASjB2D,EAAoCC,IAC7C,MAAMC,EAAkC,CACpClD,WAAY,CACRmD,MAAO,CAAC,QACRC,SAAU1D,GACCD,EAAmBC,EAAKuD,EAASC,GAE5CjD,aAAcoD,IAGtB,OAAOH,GAGEI,EAA6BC,IACtC,MAAMC,EAAyC,CAC3CxD,WAAY,CACRmD,MAAO,CAAC,QACRC,SAAU,CAAC1D,EAAK+D,KACZ,MAAMR,EAAUQ,EAAQC,MAAMC,KAAKV,QACnC,OAAOxD,EAAmBC,EAAKuD,EAASO,IAE5CvD,aAAcoD,GAElBO,kBAAmB,CACfR,SAAU,CAACS,EAAOJ,SACUA,EAAAA,EAAxB,MAAMK,EAA+B,QAAbL,EAAAA,EAAQC,aAARD,IAAAA,GAAmB,QAAnBA,EAAAA,EAAeE,YAAfF,IAAAA,OAAAA,EAAAA,EAAqBR,QAE7C,OADmBa,GAAmBP,EAAeQ,wBAAwBD,EAAiB,uBACxE/D,EAAQ8D,IAAS,MAE3CV,MAAO,CAAC,QACRlD,aAAcoD,GAElBW,QAAS,CACLZ,SAAUS,IAAU9D,EAAQ8D,IAAS,KACrCV,MAAO,CAAC,QACRlD,aAAcoD,IAGtB,OAAOG"}
1
+ {"version":3,"file":"validate.js","sources":["../../../../../src/components/internal/Address/validate.ts"],"sourcesContent":["import { ValidatorRules, ValidatorRule } from '../../../utils/Validator/types';\nimport { countrySpecificFormatters } from './validate.formats';\nimport { ERROR_FIELD_REQUIRED, ERROR_INVALID_FORMAT_EXPECTS } from '../../../core/Errors/constants';\nimport { isEmpty } from '../../../utils/validator-utils';\n\nconst createPatternByDigits = (digits: number) => {\n return {\n pattern: new RegExp(`\\\\d{${digits}}`)\n };\n};\n\nexport const validatePostalCode = (val: string, countryCode: string, validatorRules: ValidatorRules) => {\n if (countryCode) {\n // If there is no value, we display the 'required' error message\n if (isEmpty(val)) return null;\n\n // Dynamically create errorMessage\n (validatorRules.postalCode as ValidatorRule).errorMessage = {\n translationKey: ERROR_INVALID_FORMAT_EXPECTS,\n translationObject: {\n values: {\n format: countrySpecificFormatters[countryCode]?.postalCode.format || null\n }\n }\n };\n\n const pattern = postalCodePatterns[countryCode]?.pattern;\n return pattern ? pattern.test(val) : !!val; // No pattern? Accept any, filled, value.\n }\n // Default rule\n return isEmpty(val) ? null : true;\n};\n\nconst postalCodePatterns = {\n AT: createPatternByDigits(4),\n AU: createPatternByDigits(4),\n BE: { pattern: /(?:(?:[1-9])(?:\\d{3}))/ },\n BG: createPatternByDigits(4),\n BR: { pattern: /^\\d{5}-?\\d{3}$/ },\n CA: { pattern: /(?:[ABCEGHJ-NPRSTVXY]\\d[A-Z][ -]?\\d[A-Z]\\d)/ },\n CH: { pattern: /[1-9]\\d{3}/ },\n CY: createPatternByDigits(4),\n CZ: { pattern: /\\d{3}\\s?\\d{2}/ },\n DE: createPatternByDigits(5),\n DK: createPatternByDigits(4),\n EE: createPatternByDigits(5),\n ES: { pattern: /(?:0[1-9]|[1-4]\\d|5[0-2])\\d{3}/ },\n FI: createPatternByDigits(5),\n FR: createPatternByDigits(5),\n GB: { pattern: /^([A-Za-z][A-Ha-hK-Yk-y]?[0-9][A-Za-z0-9]? ?[0-9][A-Za-z]{2}|[Gg][Ii][Rr] ?0[Aa]{2})$/ },\n GE: createPatternByDigits(4),\n GR: { pattern: /^\\d{3}\\s{0,1}\\d{2}$/ },\n HR: { pattern: /^([1-5])[0-9]{4}$/ },\n HU: createPatternByDigits(4),\n IE: { pattern: /(?:^[AC-FHKNPRTV-Y][0-9]{2}|D6W)[ -]?[0-9AC-FHKNPRTV-Y]{4}/ },\n IS: createPatternByDigits(3),\n IT: createPatternByDigits(5),\n LI: createPatternByDigits(4),\n LT: { pattern: /^(LT-\\d{5}|\\d{4,5})$/ },\n LU: createPatternByDigits(4),\n LV: { pattern: /^(LV-)[0-9]{4}$/ },\n MC: { pattern: /^980\\d{2}$/ },\n MT: { pattern: /^[A-Za-z]{3}\\d{4}$/ },\n MY: createPatternByDigits(5),\n NL: { pattern: /(?:NL-)?(?:[1-9]\\d{3} ?(?:[A-EGHJ-NPRTVWXZ][A-EGHJ-NPRSTVWXZ]|S[BCEGHJ-NPRTVWXZ]))/ },\n NO: createPatternByDigits(4),\n PL: { pattern: /^\\d{2}[-]{0,1}\\d{3}$/ },\n PT: { pattern: /^([1-9]\\d{3})([- ]?(\\d{3})? *)$/ },\n RO: createPatternByDigits(6),\n SI: createPatternByDigits(4),\n SE: createPatternByDigits(5),\n SG: createPatternByDigits(6),\n SK: createPatternByDigits(5),\n US: createPatternByDigits(5)\n};\n\n/**\n * Validates only postalCode property. As the partial address form does not have the country selector, the country value\n * must be informed beforehand and can't be picked up from the form context\n *\n * @param country - Country that will be used to validate postal code\n */\nexport const getPartialAddressValidationRules = (country: string): ValidatorRules => {\n const validationRules: ValidatorRules = {\n postalCode: {\n modes: ['blur'],\n validate: val => {\n return validatePostalCode(val, country, validationRules);\n },\n errorMessage: ERROR_FIELD_REQUIRED\n }\n };\n return validationRules;\n};\n\nexport const getAddressValidationRules = (specifications): ValidatorRules => {\n const addressValidationRules: ValidatorRules = {\n postalCode: {\n modes: ['blur'],\n validate: (val, context) => {\n const country = context.state.data.country;\n return validatePostalCode(val, country, addressValidationRules);\n },\n errorMessage: ERROR_FIELD_REQUIRED\n },\n houseNumberOrName: {\n validate: (value, context) => {\n const selectedCountry = context.state?.data?.country;\n const isOptional = selectedCountry && specifications.countryHasOptionalField(selectedCountry, 'houseNumberOrName');\n return isOptional || (isEmpty(value) ? null : true);\n },\n modes: ['blur'],\n errorMessage: ERROR_FIELD_REQUIRED\n },\n default: {\n validate: value => (isEmpty(value) ? null : true), // true, if there are chars other than spaces\n modes: ['blur'],\n errorMessage: ERROR_FIELD_REQUIRED\n }\n };\n return addressValidationRules;\n};\n"],"names":["createPatternByDigits","digits","pattern","RegExp","validatePostalCode","val","countryCode","validatorRules","countrySpecificFormatters","postalCodePatterns","isEmpty","postalCode","errorMessage","translationKey","ERROR_INVALID_FORMAT_EXPECTS","translationObject","values","format","test","AT","AU","BE","BG","BR","CA","CH","CY","CZ","DE","DK","EE","ES","FI","FR","GB","GE","GR","HR","HU","IE","IS","IT","LI","LT","LU","LV","MC","MT","MY","NL","NO","PL","PT","RO","SI","SE","SG","SK","US","getPartialAddressValidationRules","country","validationRules","modes","validate","ERROR_FIELD_REQUIRED","getAddressValidationRules","specifications","addressValidationRules","context","state","data","houseNumberOrName","value","selectedCountry","countryHasOptionalField","default"],"mappings":"yOAKA,MAAMA,EAAyBC,IACpB,CACHC,QAAS,IAAIC,OAAO,OAAOF,QAItBG,EAAqB,CAACC,EAAaC,EAAqBC,KACjE,GAAID,EAAa,KASOE,EAKJC,EAZhB,GAAIC,EAAQL,GAAM,OAAO,KAGxBE,EAAeI,WAA6BC,aAAe,CACxDC,eAAgBC,EAChBC,kBAAmB,CACfC,OAAQ,CACJC,QAA8C,QAAtCT,EAAAA,EAA0BF,UAA1BE,IAAAA,OAAAA,EAAAA,EAAwCG,WAAWM,SAAU,QAKjF,MAAMf,EAAyC,QAA/BO,EAAAA,EAAmBH,UAAnBG,IAAAA,OAAAA,EAAAA,EAAiCP,QACjD,OAAOA,EAAUA,EAAQgB,KAAKb,KAASA,CAC3C,CAEA,OAAOK,EAAQL,IAAO,MAGpBI,EAAqB,CACvBU,GAAInB,EAAsB,GAC1BoB,GAAIpB,EAAsB,GAC1BqB,GAAI,CAAEnB,QAAS,0BACfoB,GAAItB,EAAsB,GAC1BuB,GAAI,CAAErB,QAAS,kBACfsB,GAAI,CAAEtB,QAAS,+CACfuB,GAAI,CAAEvB,QAAS,cACfwB,GAAI1B,EAAsB,GAC1B2B,GAAI,CAAEzB,QAAS,iBACf0B,GAAI5B,EAAsB,GAC1B6B,GAAI7B,EAAsB,GAC1B8B,GAAI9B,EAAsB,GAC1B+B,GAAI,CAAE7B,QAAS,kCACf8B,GAAIhC,EAAsB,GAC1BiC,GAAIjC,EAAsB,GAC1BkC,GAAI,CAAEhC,QAAS,yFACfiC,GAAInC,EAAsB,GAC1BoC,GAAI,CAAElC,QAAS,uBACfmC,GAAI,CAAEnC,QAAS,qBACfoC,GAAItC,EAAsB,GAC1BuC,GAAI,CAAErC,QAAS,8DACfsC,GAAIxC,EAAsB,GAC1ByC,GAAIzC,EAAsB,GAC1B0C,GAAI1C,EAAsB,GAC1B2C,GAAI,CAAEzC,QAAS,wBACf0C,GAAI5C,EAAsB,GAC1B6C,GAAI,CAAE3C,QAAS,mBACf4C,GAAI,CAAE5C,QAAS,cACf6C,GAAI,CAAE7C,QAAS,sBACf8C,GAAIhD,EAAsB,GAC1BiD,GAAI,CAAE/C,QAAS,sFACfgD,GAAIlD,EAAsB,GAC1BmD,GAAI,CAAEjD,QAAS,wBACfkD,GAAI,CAAElD,QAAS,mCACfmD,GAAIrD,EAAsB,GAC1BsD,GAAItD,EAAsB,GAC1BuD,GAAIvD,EAAsB,GAC1BwD,GAAIxD,EAAsB,GAC1ByD,GAAIzD,EAAsB,GAC1B0D,GAAI1D,EAAsB,IASjB2D,EAAoCC,IAC7C,MAAMC,EAAkC,CACpClD,WAAY,CACRmD,MAAO,CAAC,QACRC,SAAU1D,GACCD,EAAmBC,EAAKuD,EAASC,GAE5CjD,aAAcoD,IAGtB,OAAOH,GAGEI,EAA6BC,IACtC,MAAMC,EAAyC,CAC3CxD,WAAY,CACRmD,MAAO,CAAC,QACRC,SAAU,CAAC1D,EAAK+D,KACZ,MAAMR,EAAUQ,EAAQC,MAAMC,KAAKV,QACnC,OAAOxD,EAAmBC,EAAKuD,EAASO,IAE5CvD,aAAcoD,GAElBO,kBAAmB,CACfR,SAAU,CAACS,EAAOJ,SACUA,EAAAA,EAAxB,MAAMK,EAA+B,QAAbL,EAAAA,EAAQC,iBAARD,GAAmB,QAAnBA,EAAAA,EAAeE,gBAAfF,OAAAA,EAAAA,EAAqBR,QAE7C,OADmBa,GAAmBP,EAAeQ,wBAAwBD,EAAiB,uBACxE/D,EAAQ8D,IAAS,MAE3CV,MAAO,CAAC,QACRlD,aAAcoD,GAElBW,QAAS,CACLZ,SAAUS,IAAU9D,EAAQ8D,IAAS,KACrCV,MAAO,CAAC,QACRlD,aAAcoD,IAGtB,OAAOG"}
@@ -1,2 +1,2 @@
1
- import t from"../../../_virtual/index.js";import{createElement as e}from"../../../external/preact/dist/preact.js";import{useEffect as a}from"../../../external/preact/hooks/dist/hooks.js";import{useCoreContext as o}from"../../../core/Context/CoreProvider.js";import{usePaymentStatusTimer as n}from"../../../hooks/usePaymentStatusTimer/usePaymentStatusTimer.js";import{DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_INTERVAL_MS as i,DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_TIME_MS as r,DEFAULT_PAYMENT_STATUS_TIMER_DELAY_MS as s,DEFAULT_PAYMENT_STATUS_TIMER_COUNTDOWN_TIME_MIN as c}from"../../../hooks/usePaymentStatusTimer/constants.js";import l from"../Spinner/Spinner.js";import d from"../Button/Button.js";import m from"../ContentSeparator/ContentSeparator.js";import u from"../Countdown/index.js";import{AwaitFinalState as _}from"./components/AwaitFinalState.js";import{redirectToApp as p}from"../../../utils/urls.js";function y(i){var r;const{i18n:s,loadingContext:c}=o(),{state:y,actions:h}=n({loadingContext:c,paymentData:i.paymentData,clientKey:i.clientKey,delay:i.delay,throttleTime:i.throttleTime,throttleInterval:i.throttleInterval,type:i.type,onError:i.onError,onComplete:i.onComplete,pollStatus:i.pollStatus,onActionHandled:i.onActionHandled}),{completed:w,expired:g,loading:k,percentage:v}=y,{onTick:f,onTimeUp:N}=h,{amount:T}=i;if(a(()=>{i.shouldRedirectAutomatically&&i.url&&p(i.url)},[i.shouldRedirectAutomatically,i.url]),g)return e(_,{image:"error",message:s.get("error.subtitle.payment")});if(w)return e(_,{image:"success",message:s.get("creditCard.success")});if(k)return e("div",{className:"adyen-checkout__await"},i.brandLogo&&e("img",{src:i.brandLogo,alt:i.type,className:"adyen-checkout__await__brand-logo"}),e(l,{inline:!1,size:"large"}));const C=s.get("wechatpay.timetopay").split("%@");return e("div",{className:t("adyen-checkout__await",`adyen-checkout__await--${i.type}`,i.classNameModifiers.map(t=>`adyen-checkout__await--${t}`))},i.brandLogo&&e("img",{src:i.brandLogo,alt:i.type,className:"adyen-checkout__await__brand-logo"}),!(!i.showAmount||null===(null==T?void 0:T.value)||!(null==T?void 0:T.currency))&&e("div",{className:"adyen-checkout__await__amount"},s.amount(T.value,T.currency)),null!=i.messageText&&e("div",{className:"adyen-checkout__await__subtitle"},i.messageText),e("div",{className:"adyen-checkout__await__indicator-holder"},e("div",{className:"adyen-checkout__await__indicator-spinner"},e(l,{inline:!1,size:"medium"})),e("div",{className:"adyen-checkout__await__indicator-text"},i.awaitText)),i.showCountdownTimer&&e("div",{className:"adyen-checkout__await__countdown-holder"},e("div",{className:"adyen-checkout__await__progress"},e("span",{className:"adyen-checkout__await__percentage",style:{width:`${v}%`}})),e("div",{className:"adyen-checkout__await__countdown"},C[0]," ",e(u,{minutesFromNow:i.countdownTime,onTick:f,onCompleted:N})," ",C[1])),i.url&&!i.shouldRedirectAutomatically&&e("div",{className:"adyen-checkout__await__app-link"},e(m,null),e(d,{classNameModifiers:["await"],onClick:()=>p(i.url),label:s.get("openApp")})),i.instructions&&e("div",{className:"adyen-checkout__await__instructions"},"string"==typeof i.instructions?s.get(i.instructions):null===(r=i.instructions)||void 0===r?void 0:r.call(i)),i.endSlot&&e("div",{className:"adyen-checkout__await__end-slot"},i.endSlot()))}y.defaultProps={countdownTime:c,delay:s,throttleTime:r,throttleInterval:i,onError:()=>{},onComplete:()=>{},showCountdownTimer:!0,classNameModifiers:[],url:null};export{y as Await};
1
+ import t from"../../../_virtual/index.js";import{createElement as e}from"../../../external/preact/dist/preact.js";import{useEffect as a}from"../../../external/preact/hooks/dist/hooks.js";import{useCoreContext as o}from"../../../core/Context/CoreProvider.js";import{usePaymentStatusTimer as n}from"../../../hooks/usePaymentStatusTimer/usePaymentStatusTimer.js";import{DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_INTERVAL_MS as i,DEFAULT_PAYMENT_STATUS_TIMER_THROTTLE_TIME_MS as r,DEFAULT_PAYMENT_STATUS_TIMER_DELAY_MS as s,DEFAULT_PAYMENT_STATUS_TIMER_COUNTDOWN_TIME_MIN as c}from"../../../hooks/usePaymentStatusTimer/constants.js";import l from"../Spinner/Spinner.js";import m from"../Button/Button.js";import d from"../ContentSeparator/ContentSeparator.js";import u from"../Countdown/index.js";import{AwaitFinalState as _}from"./components/AwaitFinalState.js";import{redirectToApp as p}from"../../../utils/urls.js";import{useAmount as y}from"../../../core/Context/AmountProvider.js";function h(i){var r;const{i18n:s,loadingContext:c}=o(),{state:h,actions:w}=n({loadingContext:c,paymentData:i.paymentData,clientKey:i.clientKey,delay:i.delay,throttleTime:i.throttleTime,throttleInterval:i.throttleInterval,type:i.type,onError:i.onError,onComplete:i.onComplete,pollStatus:i.pollStatus,onActionHandled:i.onActionHandled}),{completed:g,expired:k,loading:v,percentage:f}=h,{onTick:N,onTimeUp:C}=w,{amount:T}=y();if(a(()=>{i.shouldRedirectAutomatically&&i.url&&p(i.url)},[i.shouldRedirectAutomatically,i.url]),k)return e(_,{image:"error",message:s.get("error.subtitle.payment")});if(g)return e(_,{image:"success",message:s.get("creditCard.success")});if(v)return e("div",{className:"adyen-checkout__await"},i.brandLogo&&e("img",{src:i.brandLogo,alt:i.type,className:"adyen-checkout__await__brand-logo"}),e(l,{inline:!1,size:"large"}));const x=s.get("wechatpay.timetopay").split("%@");return e("div",{className:t("adyen-checkout__await",`adyen-checkout__await--${i.type}`,i.classNameModifiers.map(t=>`adyen-checkout__await--${t}`))},i.brandLogo&&e("img",{src:i.brandLogo,alt:i.type,className:"adyen-checkout__await__brand-logo"}),!(!i.showAmount||null===(null==T?void 0:T.value)||!(null==T?void 0:T.currency))&&e("div",{className:"adyen-checkout__await__amount"},s.amount(T.value,T.currency)),null!=i.messageText&&e("div",{className:"adyen-checkout__await__subtitle"},i.messageText),e("div",{className:"adyen-checkout__await__indicator-holder"},e("div",{className:"adyen-checkout__await__indicator-spinner"},e(l,{inline:!1,size:"medium"})),e("div",{className:"adyen-checkout__await__indicator-text"},i.awaitText)),i.showCountdownTimer&&e("div",{className:"adyen-checkout__await__countdown-holder"},e("div",{className:"adyen-checkout__await__progress"},e("span",{className:"adyen-checkout__await__percentage",style:{width:`${f}%`}})),e("div",{className:"adyen-checkout__await__countdown"},x[0]," ",e(u,{minutesFromNow:i.countdownTime,onTick:N,onCompleted:C})," ",x[1])),i.url&&!i.shouldRedirectAutomatically&&e("div",{className:"adyen-checkout__await__app-link"},e(d,null),e(m,{classNameModifiers:["await"],onClick:()=>p(i.url),label:s.get("openApp")})),i.instructions&&e("div",{className:"adyen-checkout__await__instructions"},"string"==typeof i.instructions?s.get(i.instructions):null===(r=i.instructions)||void 0===r?void 0:r.call(i)),i.endSlot&&e("div",{className:"adyen-checkout__await__end-slot"},i.endSlot()))}h.defaultProps={countdownTime:c,delay:s,throttleTime:r,throttleInterval:i,onError:()=>{},onComplete:()=>{},showCountdownTimer:!0,classNameModifiers:[],url:null};export{h as Await};
2
2
  //# sourceMappingURL=Await.js.map