@paykka/card-checkout-ui 0.13.16 → 0.14.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 (356) hide show
  1. package/dist/card-checkout-ui.js +54 -26
  2. package/dist/card-checkout-ui.umd.cjs +54 -26
  3. package/dist/es/api/modules/boost/index.js +5 -16
  4. package/dist/es/api/modules/gcash/index.js +5 -16
  5. package/dist/es/api/modules/get-browser-params.js +1 -4
  6. package/dist/es/api/modules/grab-pay/index.js +5 -16
  7. package/dist/es/api/modules/line-pay/index.js +5 -16
  8. package/dist/es/api/modules/may-bank-qr-pay/index.js +5 -16
  9. package/dist/es/api/modules/nine-pay/index.js +5 -16
  10. package/dist/es/api/modules/opay-wallet/index.js +5 -16
  11. package/dist/es/api/modules/paga-wallet/index.js +5 -16
  12. package/dist/es/api/modules/paymaya/index.js +5 -16
  13. package/dist/es/api/modules/shopee-pay/index.js +5 -16
  14. package/dist/es/api/modules/threeDS/index.js +16 -2
  15. package/dist/es/api/modules/tng-wallet/index.js +5 -16
  16. package/dist/es/api/modules/wallet/index.js +16 -0
  17. package/dist/es/api/modules/zalopay/index.js +5 -16
  18. package/dist/es/api/utils/index.js +2 -1
  19. package/dist/es/components/AccordionItem/AccordionItem.js +0 -2
  20. package/dist/es/components/AddressField/index.js +95 -85
  21. package/dist/es/components/AliPay/index.js +88 -76
  22. package/dist/es/components/ApplePay/index.js +61 -43
  23. package/dist/es/components/CPFField/index.js +2 -1
  24. package/dist/es/components/Card/index.js +182 -143
  25. package/dist/es/components/CardExpireDateField/index.js +2 -1
  26. package/dist/es/components/CardNo/index.js +2 -2
  27. package/dist/es/components/CardNumberField/index.js +2 -1
  28. package/dist/es/components/CardSecurityCodeField/index.js +2 -1
  29. package/dist/es/components/CardSelector/index.js +3 -2
  30. package/dist/es/components/DropIn/index.js +98 -31
  31. package/dist/es/components/GooglePay/index.js +190 -151
  32. package/dist/es/components/GuideCard/index.js +8 -1
  33. package/dist/es/components/PaymentButton/index.js +58 -0
  34. package/dist/es/components/RecurringTip/index.js +3 -3
  35. package/dist/es/components/SecuredFieldsProvider/index.js +81 -17
  36. package/dist/es/components/SecuredIframe/index.js +120 -52
  37. package/dist/es/components/Sepa/index.js +23 -25
  38. package/dist/es/components/SubmitButton/index.js +1 -1
  39. package/dist/es/components/ThreeDS/index.js +34 -15
  40. package/dist/es/components/WechatPay/index.js +94 -83
  41. package/dist/es/components/business/BlikCodeField/BlikCodeField.js +92 -0
  42. package/dist/es/components/business/BlikCodeField/blik-code-field.js +1 -0
  43. package/dist/es/components/business/BlikCodeField/index.js +13 -0
  44. package/dist/es/components/business/BlikConfirmModal/BlikConfirmModal.js +45 -0
  45. package/dist/es/components/business/BlikConfirmModal/blik-confirm-modal.js +1 -0
  46. package/dist/es/components/business/BlikConfirmModal/index.js +9 -0
  47. package/dist/es/components/business/BlikConfirmModal/type.js +1 -0
  48. package/dist/es/components/business/NameField/NameField.js +51 -0
  49. package/dist/es/components/business/NameField/index.js +11 -0
  50. package/dist/es/components/business/NameField/type.js +1 -0
  51. package/dist/es/components/business/PhoneField/PhoneField.js +125 -0
  52. package/dist/es/components/business/PhoneField/config.js +33 -0
  53. package/dist/es/components/business/PhoneField/index.js +14 -0
  54. package/dist/es/components/business/PhoneField/phone-field.js +1 -0
  55. package/dist/es/components/business/PhoneField/type.js +1 -0
  56. package/dist/es/components/business/SegmentedDigitInput/SegmentedDigitInput.js +80 -0
  57. package/dist/es/components/business/SegmentedDigitInput/format.js +26 -0
  58. package/dist/es/components/business/SegmentedDigitInput/index.js +5 -0
  59. package/dist/es/components/business/Tooltip/Tooltip.js +18 -0
  60. package/dist/es/components/business/Tooltip/index.js +6 -0
  61. package/dist/es/components/business/Tooltip/tooltip2.js +1 -0
  62. package/dist/es/components/business/index.js +14 -0
  63. package/dist/es/components/index.js +14 -7
  64. package/dist/es/components/internal/CheckBox/CheckBox.js +2 -2
  65. package/dist/es/components/internal/Input/Input.js +1 -1
  66. package/dist/es/components/internal/Select/Select.js +7 -1
  67. package/dist/es/components/internal/icons/IconArrowDown.js +4 -4
  68. package/dist/es/components/internal/icons/IconBancontact.js +95 -0
  69. package/dist/es/components/internal/icons/IconBlik.js +567 -0
  70. package/dist/es/components/internal/icons/IconIdeal.js +86 -0
  71. package/dist/es/components/internal/icons/IconOvo.js +47 -0
  72. package/dist/es/components/internal/icons/IconP24.js +40 -0
  73. package/dist/es/components/internal/icons/IconPhone.js +56 -0
  74. package/dist/es/components/internal/icons/IconSkrill.js +38 -0
  75. package/dist/es/components/internal/icons/IconTrustly.js +37 -0
  76. package/dist/es/components/wallets/Bancontact/Bancontact.js +201 -0
  77. package/dist/es/components/wallets/Bancontact/bancontact2.js +1 -0
  78. package/dist/es/components/wallets/Bancontact/index.js +1 -0
  79. package/dist/es/components/wallets/Bancontact/type.js +1 -0
  80. package/dist/es/components/wallets/Blik/Blik.js +232 -0
  81. package/dist/es/components/wallets/Blik/blik2.js +1 -0
  82. package/dist/es/components/wallets/Blik/index.js +1 -0
  83. package/dist/es/components/wallets/Blik/type.js +1 -0
  84. package/dist/es/components/wallets/Boost/Boost.js +183 -0
  85. package/dist/es/components/wallets/Boost/boost2.js +1 -0
  86. package/dist/es/components/wallets/Boost/index.js +1 -0
  87. package/dist/es/components/wallets/Boost/type.js +1 -0
  88. package/dist/es/components/wallets/GCash/GCash.js +74 -252
  89. package/dist/es/components/wallets/GrabPay/GrabPay.js +183 -0
  90. package/dist/es/components/wallets/GrabPay/grab-pay.js +1 -0
  91. package/dist/es/components/wallets/GrabPay/index.js +1 -0
  92. package/dist/es/components/wallets/GrabPay/type.js +1 -0
  93. package/dist/es/components/wallets/IDeal/IDeal.js +201 -0
  94. package/dist/es/components/wallets/IDeal/ideal2.js +1 -0
  95. package/dist/es/components/wallets/IDeal/index.js +1 -0
  96. package/dist/es/components/wallets/IDeal/type.js +1 -0
  97. package/dist/es/components/wallets/LinePay/LinePay.js +183 -0
  98. package/dist/es/components/wallets/LinePay/index.js +1 -0
  99. package/dist/es/components/wallets/LinePay/line-pay.js +1 -0
  100. package/dist/es/components/wallets/LinePay/type.js +1 -0
  101. package/dist/es/components/wallets/MayBankQRPay/MayBankQRPay.js +187 -0
  102. package/dist/es/components/wallets/MayBankQRPay/index.js +1 -0
  103. package/dist/es/components/wallets/MayBankQRPay/may-bank-qr-pay.js +1 -0
  104. package/dist/es/components/wallets/MayBankQRPay/type.js +1 -0
  105. package/dist/es/components/wallets/NinePay/NinePay.js +185 -0
  106. package/dist/es/components/wallets/NinePay/index.js +1 -0
  107. package/dist/es/components/wallets/NinePay/nine-pay.js +1 -0
  108. package/dist/es/components/wallets/NinePay/type.js +1 -0
  109. package/dist/es/components/wallets/OVO/OVO.js +200 -0
  110. package/dist/es/components/wallets/OVO/index.js +1 -0
  111. package/dist/es/components/wallets/OVO/ovo2.js +1 -0
  112. package/dist/es/components/wallets/OVO/type.js +1 -0
  113. package/dist/es/components/wallets/OpayWallet/OpayWallet.js +57 -218
  114. package/dist/es/components/wallets/P24/P24.js +198 -0
  115. package/dist/es/components/wallets/P24/index.js +1 -0
  116. package/dist/es/components/wallets/P24/p242.js +1 -0
  117. package/dist/es/components/wallets/P24/type.js +1 -0
  118. package/dist/es/components/wallets/PagaWallet/PagaWallet.js +57 -218
  119. package/dist/es/components/wallets/Paymaya/Paymaya.js +57 -221
  120. package/dist/es/components/wallets/PicPay/PicPay.js +64 -55
  121. package/dist/es/components/wallets/Pix/Pix.js +58 -56
  122. package/dist/es/components/wallets/ShopeePay/ShopeePay.js +185 -0
  123. package/dist/es/components/wallets/ShopeePay/index.js +1 -0
  124. package/dist/es/components/wallets/ShopeePay/shopee-pay.js +1 -0
  125. package/dist/es/components/wallets/ShopeePay/type.js +1 -0
  126. package/dist/es/components/wallets/Skrill/Skrill.js +200 -0
  127. package/dist/es/components/wallets/Skrill/index.js +1 -0
  128. package/dist/es/components/wallets/Skrill/skrill2.js +1 -0
  129. package/dist/es/components/wallets/Skrill/type.js +1 -0
  130. package/dist/es/components/wallets/TNGWallet/TNGWallet.js +185 -0
  131. package/dist/es/components/wallets/TNGWallet/index.js +1 -0
  132. package/dist/es/components/wallets/TNGWallet/tng-wallet.js +1 -0
  133. package/dist/es/components/wallets/TNGWallet/type.js +1 -0
  134. package/dist/es/components/wallets/Trustly/Trustly.js +226 -0
  135. package/dist/es/components/wallets/Trustly/index.js +1 -0
  136. package/dist/es/components/wallets/Trustly/trustly2.js +1 -0
  137. package/dist/es/components/wallets/Trustly/type.js +1 -0
  138. package/dist/es/components/wallets/Vietqr/Vietqr.js +73 -242
  139. package/dist/es/components/wallets/Zalopay/Zalopay.js +73 -242
  140. package/dist/es/components/wallets/index.js +14 -0
  141. package/dist/es/constant.js +48 -2
  142. package/dist/es/core/address.js +7 -6
  143. package/dist/es/core/checkout.js +93 -41
  144. package/dist/es/core/create-child.js +68 -0
  145. package/dist/es/core/environment.js +23 -1
  146. package/dist/es/core/error.js +15 -2
  147. package/dist/es/core/logger.js +106 -0
  148. package/dist/es/core/payment.js +65 -0
  149. package/dist/es/fe-logger.min.js +1 -0
  150. package/dist/es/hooks/useBaseWallet.js +280 -0
  151. package/dist/es/hooks/usePayState.js +37 -25
  152. package/dist/es/hooks/usePayment.js +1 -14
  153. package/dist/es/hooks/useRetry.js +50 -26
  154. package/dist/es/i18n/locales/de-DE.js +24 -0
  155. package/dist/es/i18n/locales/en-GB.js +24 -0
  156. package/dist/es/i18n/locales/es-ES.js +24 -0
  157. package/dist/es/i18n/locales/fr-FR.js +24 -0
  158. package/dist/es/i18n/locales/ja-JP.js +24 -0
  159. package/dist/es/i18n/locales/ko-KR.js +24 -0
  160. package/dist/es/i18n/locales/nl-NL.js +24 -0
  161. package/dist/es/i18n/locales/pt-PT.js +24 -0
  162. package/dist/es/i18n/locales/ru-RU.js +24 -0
  163. package/dist/es/i18n/locales/zh-CN.js +24 -0
  164. package/dist/es/i18n/locales/zh-HK.js +24 -0
  165. package/dist/es/i18n/locales/zh-TW.js +24 -0
  166. package/dist/es/index.js +23 -8
  167. package/dist/es/out/base-fraud-detection.js +4 -1
  168. package/dist/es/out/config.js +10 -4
  169. package/dist/es/out/fraud-detection.js +12 -13
  170. package/dist/es/out/worldpay-ddc-manager.js +7 -14
  171. package/dist/es/out/worldpay-ddc.js +7 -5
  172. package/dist/es/polyfill.js +166 -0
  173. package/dist/es/style.css +1 -1
  174. package/dist/es/types/event.js +12 -3
  175. package/dist/es/types/message.js +3 -0
  176. package/dist/es/utils/iframe.js +1 -1
  177. package/dist/es/utils/location.js +0 -8
  178. package/dist/es/utils/payment.js +12 -12
  179. package/dist/es/utils/redirect.js +4 -5
  180. package/dist/es/utils/system-info/is-ua-webview.js +1 -20
  181. package/dist/fe-logger.min.js +1 -0
  182. package/dist/polyfill.js +166 -0
  183. package/dist/style.css +1 -1
  184. package/dist/types/api/modules/index.d.ts +1 -0
  185. package/dist/types/api/modules/threeDS/index.d.ts +7 -0
  186. package/dist/types/api/modules/type.d.ts +2 -0
  187. package/dist/types/api/modules/wallet/index.d.ts +18 -0
  188. package/dist/types/api/utils/index.d.ts +1 -0
  189. package/dist/types/components/AddressField/index.d.ts +1 -0
  190. package/dist/types/components/AddressField/type.d.ts +17 -2
  191. package/dist/types/components/AddressField/utils.d.ts +22 -0
  192. package/dist/types/components/AliPay/type.d.ts +11 -15
  193. package/dist/types/components/ApplePay/type.d.ts +5 -28
  194. package/dist/types/components/CPFField/type.d.ts +1 -1
  195. package/dist/types/components/Card/type.d.ts +22 -23
  196. package/dist/types/components/CardExpireDateField/type.d.ts +1 -1
  197. package/dist/types/components/CardNo/type.d.ts +3 -2
  198. package/dist/types/components/CardNumberField/type.d.ts +1 -1
  199. package/dist/types/components/CardSecurityCodeField/type.d.ts +1 -1
  200. package/dist/types/components/CardSelector/type.d.ts +4 -4
  201. package/dist/types/components/DropIn/type.d.ts +10 -22
  202. package/dist/types/components/GooglePay/createGooglePay.d.ts +4 -4
  203. package/dist/types/components/GooglePay/type.d.ts +10 -14
  204. package/dist/types/components/PaymentButton/PaymentButton.d.ts +3 -0
  205. package/dist/types/components/PaymentButton/index.d.ts +2 -0
  206. package/dist/types/components/PaymentButton/type.d.ts +13 -0
  207. package/dist/types/components/RecurringTip/RecurringTip.d.ts +1 -1
  208. package/dist/types/components/SecuredFieldsProvider/type.d.ts +7 -1
  209. package/dist/types/components/SecuredIframe/HiddenIframe.d.ts +5 -0
  210. package/dist/types/components/ThreeDS/components/ThreeDSIframe/ThreeDSIframe.d.ts +0 -6
  211. package/dist/types/components/ThreeDS/components/ThreeDSIframe/type.d.ts +2 -0
  212. package/dist/types/components/WechatPay/type.d.ts +11 -15
  213. package/dist/types/components/business/BlikCodeField/BlikCodeField.d.ts +6 -0
  214. package/dist/types/components/business/BlikCodeField/index.d.ts +2 -0
  215. package/dist/types/components/business/BlikCodeField/type.d.ts +9 -0
  216. package/dist/types/components/business/BlikConfirmModal/BlikConfirmModal.d.ts +6 -0
  217. package/dist/types/components/business/BlikConfirmModal/index.d.ts +2 -0
  218. package/dist/types/components/business/BlikConfirmModal/type.d.ts +8 -0
  219. package/dist/types/components/business/NameField/NameField.d.ts +5 -0
  220. package/dist/types/components/business/NameField/index.d.ts +2 -0
  221. package/dist/types/components/business/NameField/type.d.ts +7 -0
  222. package/dist/types/components/business/PhoneField/PhoneField.d.ts +6 -0
  223. package/dist/types/components/business/PhoneField/config.d.ts +22 -0
  224. package/dist/types/components/business/PhoneField/index.d.ts +2 -0
  225. package/dist/types/components/business/PhoneField/type.d.ts +9 -0
  226. package/dist/types/components/business/SegmentedDigitInput/SegmentedDigitInput.d.ts +5 -0
  227. package/dist/types/components/business/SegmentedDigitInput/format.d.ts +5 -0
  228. package/dist/types/components/business/SegmentedDigitInput/index.d.ts +3 -0
  229. package/dist/types/components/business/SegmentedDigitInput/type.d.ts +13 -0
  230. package/dist/types/components/business/Tooltip/Tooltip.d.ts +11 -0
  231. package/dist/types/components/business/Tooltip/index.d.ts +1 -0
  232. package/dist/types/components/business/index.d.ts +6 -0
  233. package/dist/types/components/index.d.ts +0 -7
  234. package/dist/types/components/internal/CheckBox/type.d.ts +2 -1
  235. package/dist/types/components/internal/Form/type.d.ts +2 -1
  236. package/dist/types/components/internal/Select/type.d.ts +1 -1
  237. package/dist/types/components/internal/icons/IconArrowDown.d.ts +1 -1
  238. package/dist/types/components/internal/icons/IconBancontact.d.ts +2 -0
  239. package/dist/types/components/internal/icons/IconBlik.d.ts +2 -0
  240. package/dist/types/components/internal/icons/IconIdeal.d.ts +2 -0
  241. package/dist/types/components/internal/icons/IconOvo.d.ts +2 -0
  242. package/dist/types/components/internal/icons/IconP24.d.ts +2 -0
  243. package/dist/types/components/internal/icons/IconPhone.d.ts +2 -0
  244. package/dist/types/components/internal/icons/IconSkrill.d.ts +2 -0
  245. package/dist/types/components/internal/icons/IconTrustly.d.ts +2 -0
  246. package/dist/types/components/internal/icons/index.d.ts +8 -0
  247. package/dist/types/components/type.d.ts +0 -0
  248. package/dist/types/components/wallets/Bancontact/Bancontact.d.ts +15 -0
  249. package/dist/types/components/wallets/Bancontact/index.d.ts +2 -0
  250. package/dist/types/components/{GrabPay → wallets/Bancontact}/type.d.ts +8 -18
  251. package/dist/types/components/wallets/Blik/Blik.d.ts +15 -0
  252. package/dist/types/components/wallets/Blik/index.d.ts +2 -0
  253. package/dist/types/components/wallets/Blik/type.d.ts +29 -0
  254. package/dist/types/components/{Boost → wallets/Boost}/Boost.d.ts +9 -4
  255. package/dist/types/components/{Boost → wallets/Boost}/type.d.ts +3 -14
  256. package/dist/types/components/wallets/GCash/GCash.d.ts +5 -0
  257. package/dist/types/components/wallets/GCash/type.d.ts +3 -14
  258. package/dist/types/components/{GrabPay → wallets/GrabPay}/GrabPay.d.ts +4 -4
  259. package/dist/types/components/wallets/GrabPay/type.d.ts +17 -0
  260. package/dist/types/components/wallets/IDeal/IDeal.d.ts +15 -0
  261. package/dist/types/components/wallets/IDeal/index.d.ts +2 -0
  262. package/dist/types/components/wallets/IDeal/type.d.ts +29 -0
  263. package/dist/types/components/{LinePay → wallets/LinePay}/LinePay.d.ts +9 -4
  264. package/dist/types/components/{LinePay → wallets/LinePay}/type.d.ts +3 -14
  265. package/dist/types/components/wallets/MayBankQRPay/MayBankQRPay.d.ts +15 -0
  266. package/dist/types/components/{MayBankQRPay → wallets/MayBankQRPay}/type.d.ts +3 -14
  267. package/dist/types/components/wallets/NinePay/NinePay.d.ts +15 -0
  268. package/dist/types/components/{NinePay → wallets/NinePay}/type.d.ts +3 -14
  269. package/dist/types/components/wallets/OVO/OVO.d.ts +15 -0
  270. package/dist/types/components/wallets/OVO/index.d.ts +2 -0
  271. package/dist/types/components/wallets/OVO/type.d.ts +29 -0
  272. package/dist/types/components/wallets/OpayWallet/OpayWallet.d.ts +5 -0
  273. package/dist/types/components/wallets/OpayWallet/type.d.ts +4 -15
  274. package/dist/types/components/wallets/P24/P24.d.ts +15 -0
  275. package/dist/types/components/wallets/P24/index.d.ts +2 -0
  276. package/dist/types/components/wallets/P24/type.d.ts +29 -0
  277. package/dist/types/components/wallets/PagaWallet/PagaWallet.d.ts +5 -0
  278. package/dist/types/components/wallets/PagaWallet/type.d.ts +5 -16
  279. package/dist/types/components/wallets/Paymaya/Paymaya.d.ts +5 -0
  280. package/dist/types/components/wallets/Paymaya/type.d.ts +3 -14
  281. package/dist/types/components/wallets/PicPay/type.d.ts +5 -16
  282. package/dist/types/components/wallets/Pix/type.d.ts +5 -16
  283. package/dist/types/components/{ShopeePay → wallets/ShopeePay}/ShopeePay.d.ts +9 -4
  284. package/dist/types/components/{ShopeePay → wallets/ShopeePay}/type.d.ts +3 -14
  285. package/dist/types/components/wallets/Skrill/Skrill.d.ts +15 -0
  286. package/dist/types/components/wallets/Skrill/index.d.ts +2 -0
  287. package/dist/types/components/wallets/Skrill/type.d.ts +17 -0
  288. package/dist/types/components/{TNGWallet → wallets/TNGWallet}/TNGWallet.d.ts +9 -4
  289. package/dist/types/components/{TNGWallet → wallets/TNGWallet}/type.d.ts +3 -14
  290. package/dist/types/components/wallets/Trustly/Trustly.d.ts +15 -0
  291. package/dist/types/components/wallets/Trustly/index.d.ts +2 -0
  292. package/dist/types/components/wallets/Trustly/type.d.ts +21 -0
  293. package/dist/types/components/wallets/Vietqr/Vietqr.d.ts +5 -0
  294. package/dist/types/components/wallets/Vietqr/type.d.ts +3 -14
  295. package/dist/types/components/wallets/Zalopay/Zalopay.d.ts +5 -0
  296. package/dist/types/components/wallets/Zalopay/type.d.ts +3 -14
  297. package/dist/types/components/wallets/index.d.ts +14 -0
  298. package/dist/types/components/wallets/type.d.ts +18 -4
  299. package/dist/types/constant.d.ts +15 -1
  300. package/dist/types/core/address.d.ts +2 -5
  301. package/dist/types/core/checkout.d.ts +10 -10
  302. package/dist/types/core/create-child.d.ts +1 -0
  303. package/dist/types/core/environment.d.ts +5 -0
  304. package/dist/types/core/error.d.ts +9 -3
  305. package/dist/types/core/index.d.ts +2 -0
  306. package/dist/types/core/logger.d.ts +55 -0
  307. package/dist/types/core/payment.d.ts +21 -0
  308. package/dist/types/hooks/index.d.ts +1 -0
  309. package/dist/types/hooks/useBaseWallet.d.ts +54 -0
  310. package/dist/types/hooks/usePayState.d.ts +3 -1
  311. package/dist/types/hooks/useRetry.console-tests.d.ts +41 -0
  312. package/dist/types/hooks/useRetry.d.ts +22 -3
  313. package/dist/types/i18n/locales/de-DE.d.ts +23 -0
  314. package/dist/types/i18n/locales/en-GB.d.ts +23 -0
  315. package/dist/types/i18n/locales/es-ES.d.ts +23 -0
  316. package/dist/types/i18n/locales/fr-FR.d.ts +23 -0
  317. package/dist/types/i18n/locales/ja-JP.d.ts +23 -0
  318. package/dist/types/i18n/locales/ko-KR.d.ts +23 -0
  319. package/dist/types/i18n/locales/nl-NL.d.ts +23 -0
  320. package/dist/types/i18n/locales/pt-PT.d.ts +23 -0
  321. package/dist/types/i18n/locales/ru-RU.d.ts +23 -0
  322. package/dist/types/i18n/locales/zh-CN.d.ts +23 -0
  323. package/dist/types/i18n/locales/zh-HK.d.ts +23 -0
  324. package/dist/types/i18n/locales/zh-TW.d.ts +23 -0
  325. package/dist/types/out/base-fraud-detection.d.ts +1 -0
  326. package/dist/types/out/config.d.ts +6 -1
  327. package/dist/types/out/fraud-detection.d.ts +2 -8
  328. package/dist/types/out/types.d.ts +3 -1
  329. package/dist/types/out/worldpay-ddc-manager.d.ts +6 -7
  330. package/dist/types/types/event.d.ts +46 -13
  331. package/dist/types/types/index.d.ts +8 -37
  332. package/dist/types/types/message.d.ts +48 -7
  333. package/dist/types/types/payment.d.ts +63 -0
  334. package/dist/types/utils/app-payment.d.ts +7 -3
  335. package/dist/types/utils/behavior-tracker.d.ts +36 -0
  336. package/dist/types/utils/env.d.ts +37 -0
  337. package/dist/types/utils/iframe.d.ts +1 -1
  338. package/dist/types/utils/payment.d.ts +10 -10
  339. package/package.json +12 -5
  340. package/dist/es/components/Boost/index.js +0 -348
  341. package/dist/es/components/GrabPay/index.js +0 -348
  342. package/dist/es/components/LinePay/index.js +0 -348
  343. package/dist/es/components/MayBankQRPay/index.js +0 -354
  344. package/dist/es/components/NinePay/index.js +0 -348
  345. package/dist/es/components/ShopeePay/index.js +0 -348
  346. package/dist/es/components/TNGWallet/index.js +0 -348
  347. package/dist/types/components/MayBankQRPay/MayBankQRPay.d.ts +0 -10
  348. package/dist/types/components/NinePay/NinePay.d.ts +0 -10
  349. package/dist/types/utils/logger.d.ts +0 -14
  350. /package/dist/types/components/{Boost → wallets/Boost}/index.d.ts +0 -0
  351. /package/dist/types/components/{GrabPay → wallets/GrabPay}/index.d.ts +0 -0
  352. /package/dist/types/components/{LinePay → wallets/LinePay}/index.d.ts +0 -0
  353. /package/dist/types/components/{MayBankQRPay → wallets/MayBankQRPay}/index.d.ts +0 -0
  354. /package/dist/types/components/{NinePay → wallets/NinePay}/index.d.ts +0 -0
  355. /package/dist/types/components/{ShopeePay → wallets/ShopeePay}/index.d.ts +0 -0
  356. /package/dist/types/components/{TNGWallet → wallets/TNGWallet}/index.d.ts +0 -0
@@ -1,280 +1,121 @@
1
- import { w, F, A, h, y, q, u, b } from "../../../core.js";
1
+ import { w, F, A, h, y, u, b } from "../../../core.js";
2
2
  import { useBEM } from "../../../hooks/useBEM.js";
3
3
  import { CoreContext } from "../../../core/context.js";
4
4
  import "../../../utils/card-brand/brands.js";
5
5
  import "../../../utils/system-info/get-browser-info.js";
6
6
  import { normalizedClass, formatAmount } from "../../../utils/format.js";
7
- import { redirectToPayment } from "../../../utils/redirect.js";
8
- import { formatPaymentResult } from "../../../utils/payment.js";
9
- import { isTimeoutError } from "../../../api/http.js";
10
- import { getBrowserParams } from "../../../api/modules/get-browser-params.js";
11
- import { PaymentCategory, COMMON_CLASS_NAME, PaymentMethod, SessionMode } from "../../../constant.js";
12
- import { getOpayWalletPayInfo, opayWalletPay } from "../../../api/modules/opay-wallet/index.js";
13
- import { PayKKaError } from "../../../core/error.js";
7
+ import { PaymentMethod, PaymentCategory, COMMON_CLASS_NAME } from "../../../constant.js";
14
8
  import "../../../out/worldpay-jsc-origin.js";
15
9
  import { usePayState } from "../../../hooks/usePayState.js";
16
- import { useRetry } from "../../../hooks/useRetry.js";
10
+ import { useBaseWallet } from "../../../hooks/useBaseWallet.js";
17
11
  import { createEmailCore, EmailField } from "../../EmailField/EmailField.js";
18
- import { SubmitButton } from "../../SubmitButton/index.js";
19
12
  import { GuideCard } from "../../GuideCard/index.js";
20
- import { AddressField } from "../../AddressField/index.js";
13
+ import { DEFAULT_ADDRESS, AddressField } from "../../AddressField/index.js";
21
14
  import { Info } from "../../internal/Info/Info.js";
22
15
  import "../../internal/Form/type.js";
23
16
  import "../../internal/Form/context.js";
24
17
  import "../../internal/Form/FormItem.js";
25
18
  import { Form } from "../../internal/Form/Form.js";
26
19
  import "./opay-wallet.js";
20
+ import { PaymentButton } from "../../PaymentButton/index.js";
27
21
  const { bem } = useBEM("opay-wallet");
28
22
  const fieldClassNames = bem("field");
23
+ const CURR_PAYMENT_METHOD = PaymentMethod.OPAY_WALLET;
29
24
  const OpayWallet = w((props, ref) => {
30
25
  const {
31
26
  session,
32
- showEmail = false,
33
- showAddress = false,
34
27
  core,
35
- redirectMode = "auto",
36
- autoQuery = true,
37
28
  showGuideCard = true,
38
29
  hidePaymentButton = false
39
30
  } = props;
40
31
  F(ref, () => ({
41
- stopRetry: () => {
42
- setSubmitButtonStatus("unSubmit");
43
- stopReFetchPayInfo();
44
- },
45
- startRetry: (timeout) => {
46
- setSubmitButtonStatus("loading");
47
- startReFetchPayInfo({ timeout });
48
- },
32
+ stopRetry: () => stopRetry(),
33
+ startRetry: (timeout) => startRetry(timeout),
49
34
  updateAddress: () => {
50
35
  var _a;
51
36
  if (!(fieldStatus == null ? void 0 : fieldStatus.address.show))
52
37
  return;
53
- const newForm = Object.assign(form, { address: addressCore.getAddressState() });
54
- setForm(newForm);
55
- (_a = addressFieldRef.current) == null ? void 0 : _a.update(addressCore.getAddressState());
56
- validateForm();
38
+ const address = addressCore.getAddressState();
39
+ form.address = address;
40
+ setForm(form);
41
+ (_a = addressFieldRef.current) == null ? void 0 : _a.update(address);
42
+ validateFormSilently();
57
43
  },
58
44
  updateEmail: () => {
59
45
  var _a;
60
46
  if (!(fieldStatus == null ? void 0 : fieldStatus.email.show))
61
47
  return;
62
- const newForm = Object.assign(form, { email: emailState.email });
63
- setForm(newForm);
48
+ form.email = emailState.email;
49
+ setForm(form);
64
50
  (_a = emailFieldRef.current) == null ? void 0 : _a.update(emailState.email);
65
- validateForm();
51
+ validateFormSilently();
66
52
  },
67
53
  payment: () => {
68
54
  hidePaymentButton && onSubmit();
69
55
  }
70
56
  }));
57
+ const {
58
+ isEnabled,
59
+ fieldStatus,
60
+ paymentButtonStatus,
61
+ setPaymentButtonStatus,
62
+ errorMessage,
63
+ setErrorMessage,
64
+ payment,
65
+ startRetry,
66
+ stopRetry,
67
+ getPaymentMethodContext
68
+ } = useBaseWallet(CURR_PAYMENT_METHOD, props, {
69
+ getFormData: () => {
70
+ return {
71
+ ...form
72
+ };
73
+ }
74
+ });
71
75
  const addressCore = core.getAddressCore();
72
76
  const emailState = createEmailCore();
73
77
  const addressFieldRef = A(null);
74
78
  const emailFieldRef = A(null);
75
- const [isCheckoutEnabled, setIsCheckoutEnabled] = h(false);
76
- const { setErrorMsg, fraudDetection, i18n, errorMsg, sessionReady } = usePayState(session, props.core);
77
- const [submitButtonStatus, setSubmitButtonStatus] = h("unSubmit");
79
+ const { i18n, sessionReady, disabled } = usePayState(session, props.core);
78
80
  const formRef = A(null);
79
81
  const [form, setForm] = h({
80
82
  email: "",
81
- address: {
82
- country: void 0,
83
- province: void 0,
84
- city: void 0,
85
- area: void 0,
86
- postCode: void 0,
87
- address1: void 0,
88
- address2: void 0
89
- }
83
+ address: { ...DEFAULT_ADDRESS }
90
84
  });
91
85
  const [validated, setValidated] = h(false);
92
- const [fieldStatus, setFieldStatus] = h();
93
- const initFieldStatus = () => {
94
- const { field, sessionMode } = session.checkout;
95
- const { email, address } = field;
96
- if (sessionMode === SessionMode.COMPONENT) {
97
- if (email.disabled) {
98
- email.show = showEmail;
99
- }
100
- if (showAddress && !(address == null ? void 0 : address.show)) {
101
- address.show = true;
102
- }
103
- }
104
- setFieldStatus({ ...field });
105
- };
106
- const processOnSuccess = (res) => {
107
- var _a, _b;
108
- setSubmitButtonStatus("success");
109
- (_b = props.onSuccess) == null ? void 0 : _b.call(props, formatPaymentResult({
110
- ...res,
111
- returnUrl: (_a = session == null ? void 0 : session.checkout) == null ? void 0 : _a.returnUrl
112
- }));
113
- };
114
86
  y(() => {
115
- if (!sessionReady) {
87
+ if (!sessionReady)
116
88
  return;
117
- }
118
- const { bill = {}, supportMethods = [], country } = (session == null ? void 0 : session.checkout) || {};
119
- if (!supportMethods.includes(PaymentMethod.OPAY_WALLET)) {
120
- return;
121
- }
122
- initFieldStatus();
123
- setIsCheckoutEnabled(true);
89
+ const { bill = {}, country } = (session == null ? void 0 : session.checkout) || {};
124
90
  country && addressCore.setCountry(country);
125
91
  form.email = bill.email ?? "";
126
92
  form.address.country = country;
127
- if (autoQuery && core.processingPaymentMethod === PaymentMethod.OPAY_WALLET) {
128
- setSubmitButtonStatus("loading");
129
- startReFetchPayInfo();
130
- }
131
93
  }, [sessionReady]);
132
- const processOnError = (error) => {
94
+ const validateFormSilently = () => {
133
95
  var _a;
134
- (_a = props.onError) == null ? void 0 : _a.call(props, error);
135
- core.resetEnablePaymentMethod();
136
- };
137
- const onTimeout = q(
138
- (message) => {
139
- var _a;
140
- setErrorMsg(message || i18n.get("common.payTimeout"));
141
- setSubmitButtonStatus("unSubmit");
142
- (_a = props.onTimeout) == null ? void 0 : _a.call(props);
143
- core.resetEnablePaymentMethod();
144
- },
145
- [i18n, props.onTimeout]
146
- );
147
- const { start: startReFetchPayInfo, stop: stopReFetchPayInfo } = useRetry(
148
- (timeout) => pay(true, timeout),
149
- { onTimeout: () => onTimeout(i18n.get("common.queryTimeout")) }
150
- );
151
- const getPaymentParams = async () => {
152
- return {
153
- sessionId: session.sessionId,
154
- clientKey: session.clientKey,
155
- payment: {
156
- paymentMethod: PaymentMethod.OPAY_WALLET
157
- },
158
- bill: {
159
- email: form.email,
160
- addressLine1: form.address.address1,
161
- addressLine2: form.address.address2,
162
- postalCode: form.address.postCode,
163
- country: form.address.country,
164
- district: form.address.area,
165
- state: form.address.province ? addressCore.getLabel(form.address.province, addressCore.getProvinceOption()) ?? form.address.province : void 0,
166
- city: form.address.city ? addressCore.getLabel(form.address.city, addressCore.getCityOptions()) ?? form.address.city : void 0
167
- },
168
- browser: await getBrowserParams({
169
- fraudDetectionId: await (fraudDetection == null ? void 0 : fraudDetection.getFraudDetectionId())
170
- })
171
- };
172
- };
173
- const pay = async (search = false, timeout) => {
174
- var _a, _b, _c, _d, _e, _f, _g;
175
- try {
176
- const requestOptions = { locale: i18n.locale, timeout };
177
- let res = null;
178
- if (search) {
179
- const extraParams = (_b = (_a = core.config)._getExtraParams) == null ? void 0 : _b.call(_a, "query", PaymentMethod.OPAY_WALLET);
180
- res = await getOpayWalletPayInfo(
181
- {
182
- sessionId: session.sessionId,
183
- clientKey: session.clientKey,
184
- paymentMethod: PaymentMethod.OPAY_WALLET
185
- },
186
- extraParams,
187
- requestOptions
188
- );
189
- } else {
190
- const extraParams = (_d = (_c = core.config)._getExtraParams) == null ? void 0 : _d.call(_c, "payment", PaymentMethod.OPAY_WALLET);
191
- res = await opayWalletPay(await getPaymentParams(), extraParams, requestOptions);
192
- }
193
- !search && ((_e = props.onSubmitResponse) == null ? void 0 : _e.call(props, res));
194
- const { status, orderStatus, errorMessage, errorCode, payInfo, sessionId } = res;
195
- sessionId && (session.sessionId = sessionId);
196
- if (status === "PROCESSING") {
197
- if (!orderStatus) {
198
- setSubmitButtonStatus("unSubmit");
199
- return { end: true };
200
- } else if (orderStatus === "SUCCESS") {
201
- processOnSuccess(res);
202
- return { end: true };
203
- } else if (orderStatus === "FAILURE") {
204
- errorMessage && setErrorMsg(errorMessage);
205
- setSubmitButtonStatus("unSubmit");
206
- processOnError(new PayKKaError("API_ERROR", errorMessage, { code: errorCode }));
207
- return { end: true };
208
- } else if (orderStatus === "PROCESSING") {
209
- if (redirectMode === "auto" && (payInfo == null ? void 0 : payInfo.targetUrl)) {
210
- redirectToPayment(payInfo);
211
- return { end: true };
212
- }
213
- !search && startReFetchPayInfo();
214
- return { end: false };
215
- } else if (orderStatus === "CANCELED") {
216
- setSubmitButtonStatus("unSubmit");
217
- (_f = props.onTimeout) == null ? void 0 : _f.call(props);
218
- core.resetEnablePaymentMethod();
219
- return { end: true };
220
- }
221
- } else if (status === "SUCCESS") {
222
- processOnSuccess(res);
223
- return { end: true };
224
- } else if (status === "EXPIRED") {
225
- setSubmitButtonStatus("unSubmit");
226
- (_g = props.onExpired) == null ? void 0 : _g.call(props);
227
- return { end: true };
228
- }
229
- setSubmitButtonStatus("unSubmit");
230
- return { end: true };
231
- } catch (error) {
232
- if (isTimeoutError(error)) {
233
- if (search) {
234
- return { end: false };
235
- } else {
236
- onTimeout();
237
- return { end: true };
238
- }
239
- } else {
240
- const message = error.i18nKey ? i18n.get(error.i18nKey) : error.message;
241
- message && setErrorMsg(message);
242
- processOnError(new PayKKaError("API_ERROR", message, { code: error.code, cause: error }));
243
- setSubmitButtonStatus("unSubmit");
244
- return { end: true };
245
- }
246
- }
247
- };
248
- const validateForm = () => {
249
- var _a;
250
- (_a = formRef.current) == null ? void 0 : _a.validate(void 0, false).then(() => {
251
- setValidated(true);
252
- }).catch(() => {
253
- setValidated(false);
254
- });
96
+ (_a = formRef.current) == null ? void 0 : _a.validate(void 0, false).then(() => setValidated(true)).catch(() => setValidated(false));
255
97
  };
256
98
  y(() => {
257
- validateForm();
99
+ validateFormSilently();
258
100
  }, [form]);
259
101
  const onSubmit = async () => {
260
102
  var _a;
261
- setErrorMsg("");
103
+ setErrorMessage("");
262
104
  (_a = formRef.current) == null ? void 0 : _a.validate(async (errors) => {
263
105
  var _a2;
264
106
  (fieldStatus == null ? void 0 : fieldStatus.address.show) && addressCore.setValidateAllFields(true);
265
- (_a2 = props.onSubmit) == null ? void 0 : _a2.call(props, errors);
107
+ (_a2 = props.onSubmit) == null ? void 0 : _a2.call(props, errors, getPaymentMethodContext());
266
108
  if (errors) {
267
- setSubmitButtonStatus("unSubmit");
109
+ setPaymentButtonStatus("unSubmit");
268
110
  return;
269
111
  }
270
- setErrorMsg("");
271
- setSubmitButtonStatus("loading");
272
- await pay();
112
+ setPaymentButtonStatus("loading");
113
+ await payment();
273
114
  });
274
115
  };
275
116
  const setFormRef = (dom) => {
276
117
  formRef.current = dom;
277
- dom && validateForm();
118
+ dom && validateFormSilently();
278
119
  };
279
120
  const Button = () => {
280
121
  var _a;
@@ -282,15 +123,14 @@ const OpayWallet = w((props, ref) => {
282
123
  const amountText = (transAmount == null ? void 0 : transAmount.amount) ? formatAmount(transAmount).jointSymbol() : "";
283
124
  const text = i18n.get("common.pay") + (amountText ? ` ${amountText}` : "");
284
125
  return /* @__PURE__ */ u(
285
- SubmitButton,
126
+ PaymentButton,
286
127
  {
287
128
  className: bem("button"),
288
- status: submitButtonStatus,
289
- text,
290
- loadingText: i18n.get("common.payProcessing"),
291
- successText: i18n.get("common.paySuccess"),
129
+ status: paymentButtonStatus,
130
+ disabled,
131
+ verified: validated,
292
132
  onClick: onSubmit,
293
- verified: validated
133
+ children: text
294
134
  }
295
135
  );
296
136
  };
@@ -300,22 +140,21 @@ const OpayWallet = w((props, ref) => {
300
140
  {
301
141
  ref: emailFieldRef,
302
142
  value: form.email,
303
- disabled: fieldStatus == null ? void 0 : fieldStatus.email.disabled
143
+ disabled: (fieldStatus == null ? void 0 : fieldStatus.email.disabled) || disabled
304
144
  }
305
145
  ) }) });
306
146
  };
307
147
  const ErrorMessage = () => {
308
- return /* @__PURE__ */ u(b, { children: !!errorMsg && /* @__PURE__ */ u(Info, { content: errorMsg }) });
148
+ return /* @__PURE__ */ u(b, { children: !!errorMessage && /* @__PURE__ */ u(Info, { content: errorMessage }) });
309
149
  };
310
150
  const Address = () => {
311
- var _a, _b;
312
151
  return /* @__PURE__ */ u(b, { children: (fieldStatus == null ? void 0 : fieldStatus.address.show) && /* @__PURE__ */ u("div", { className: fieldClassNames, children: /* @__PURE__ */ u(
313
152
  AddressField,
314
153
  {
315
154
  ref: addressFieldRef,
316
155
  value: form.address,
317
- country: ((_a = session == null ? void 0 : session.checkout) == null ? void 0 : _a.country) || ((_b = session == null ? void 0 : session.checkout) == null ? void 0 : _b.bill.country),
318
- onAddressChange: (value) => setForm(Object.assign(form, { address: value }))
156
+ onChange: (value) => setForm(Object.assign(form, { address: value })),
157
+ disabled
319
158
  }
320
159
  ) }) });
321
160
  };
@@ -327,7 +166,7 @@ const OpayWallet = w((props, ref) => {
327
166
  session,
328
167
  core
329
168
  },
330
- children: isCheckoutEnabled && i18n.ready.value && /* @__PURE__ */ u("div", { className: core.theme.className, children: [
169
+ children: isEnabled && i18n.ready.value && /* @__PURE__ */ u("div", { className: core.theme.className, children: [
331
170
  showGuideCard && /* @__PURE__ */ u(GuideCard, { type: PaymentCategory.OPAY_WALLET }),
332
171
  /* @__PURE__ */ u(Form, { form, ref: setFormRef, onFormChange: (form2) => setForm(form2), children: /* @__PURE__ */ u("div", { className: normalizedClass(COMMON_CLASS_NAME, bem()), children: [
333
172
  Email(),
@@ -0,0 +1,198 @@
1
+ import { w, F, y, A, h, u, b } from "../../../core.js";
2
+ import { useBEM } from "../../../hooks/useBEM.js";
3
+ import { CoreContext } from "../../../core/context.js";
4
+ import "../../../utils/card-brand/brands.js";
5
+ import "../../../utils/system-info/get-browser-info.js";
6
+ import { normalizedClass, formatAmount } from "../../../utils/format.js";
7
+ import { PaymentMethod, PaymentCategory, COMMON_CLASS_NAME } from "../../../constant.js";
8
+ import "../../../out/worldpay-jsc-origin.js";
9
+ import { usePayState } from "../../../hooks/usePayState.js";
10
+ import { useBaseWallet } from "../../../hooks/useBaseWallet.js";
11
+ import "./p242.js";
12
+ import { GuideCard } from "../../GuideCard/index.js";
13
+ import "../../internal/Form/type.js";
14
+ import "../../internal/Form/context.js";
15
+ import "../../internal/Form/FormItem.js";
16
+ import { Form } from "../../internal/Form/Form.js";
17
+ import { createEmailCore, EmailField } from "../../EmailField/EmailField.js";
18
+ import { PaymentButton } from "../../PaymentButton/index.js";
19
+ import { Info } from "../../internal/Info/Info.js";
20
+ import "../../internal/Modal/Modal.js";
21
+ import "../../business/QRCodeModal/qr-code-modal.js";
22
+ import { NameField } from "../../business/NameField/NameField.js";
23
+ import "../../internal/Select/Select.js";
24
+ import "../../internal/Input/Input.js";
25
+ import "../../internal/Input/type.js";
26
+ import "../../business/PhoneField/config.js";
27
+ import "../../business/PhoneField/phone-field.js";
28
+ import "../../business/Tooltip/tooltip2.js";
29
+ import "../../business/BlikCodeField/blik-code-field.js";
30
+ import "../../internal/Button/button2.js";
31
+ import "../../business/BlikConfirmModal/blik-confirm-modal.js";
32
+ import "../../internal/LoadingCheck/loading-check.js";
33
+ import { DEFAULT_ADDRESS, AddressField } from "../../AddressField/index.js";
34
+ const { bem } = useBEM("p24");
35
+ const fieldClassNames = bem("field");
36
+ const CURR_PAYMENT_METHOD = PaymentMethod.P24;
37
+ const P24 = w((props, ref) => {
38
+ const {
39
+ session,
40
+ core,
41
+ showGuideCard = true,
42
+ hidePaymentButton = false
43
+ } = props;
44
+ F(ref, () => ({
45
+ stopRetry: () => stopRetry(),
46
+ startRetry: (timeout) => startRetry(timeout),
47
+ updateEmail: () => {
48
+ var _a;
49
+ if (!(fieldStatus == null ? void 0 : fieldStatus.email.show))
50
+ return;
51
+ form.email = emailState.email;
52
+ setForm(form);
53
+ (_a = emailFieldRef.current) == null ? void 0 : _a.update(emailState.email);
54
+ validateFormSilently();
55
+ },
56
+ updateAddress: () => {
57
+ var _a;
58
+ if (!(fieldStatus == null ? void 0 : fieldStatus.address.show))
59
+ return;
60
+ const address = addressCore.getAddressState();
61
+ form.address = address;
62
+ setForm(form);
63
+ (_a = addressFieldRef.current) == null ? void 0 : _a.update(address);
64
+ validateFormSilently();
65
+ },
66
+ payment: () => {
67
+ hidePaymentButton && onSubmit();
68
+ }
69
+ }));
70
+ const { i18n, sessionReady, disabled } = usePayState(session, props.core);
71
+ y(() => {
72
+ if (!sessionReady)
73
+ return;
74
+ const { bill = {}, country } = (session == null ? void 0 : session.checkout) || {};
75
+ country && addressCore.setCountry(country);
76
+ form.email = bill.email ?? "";
77
+ form.address.country = country;
78
+ }, [sessionReady]);
79
+ const {
80
+ isEnabled,
81
+ fieldStatus,
82
+ paymentButtonStatus,
83
+ setPaymentButtonStatus,
84
+ errorMessage,
85
+ setErrorMessage,
86
+ payment,
87
+ startRetry,
88
+ stopRetry,
89
+ getPaymentMethodContext
90
+ } = useBaseWallet(CURR_PAYMENT_METHOD, props, {
91
+ getFormData: () => {
92
+ return {
93
+ ...form,
94
+ firstName: form.name
95
+ };
96
+ }
97
+ });
98
+ const emailState = createEmailCore();
99
+ const emailFieldRef = A(null);
100
+ const addressCore = core.getAddressCore();
101
+ const addressFieldRef = A(null);
102
+ const formRef = A(null);
103
+ const [form, setForm] = h({
104
+ email: "",
105
+ name: "",
106
+ address: { ...DEFAULT_ADDRESS }
107
+ });
108
+ const [validated, setValidated] = h(false);
109
+ const validateFormSilently = () => {
110
+ var _a;
111
+ (_a = formRef.current) == null ? void 0 : _a.validate(void 0, false).then(() => setValidated(true)).catch(() => setValidated(false));
112
+ };
113
+ const setFormRef = (dom) => {
114
+ formRef.current = dom;
115
+ dom && validateFormSilently();
116
+ };
117
+ y(() => validateFormSilently(), [form]);
118
+ const onSubmit = () => {
119
+ var _a;
120
+ setErrorMessage("");
121
+ (_a = formRef.current) == null ? void 0 : _a.validate(async (errors) => {
122
+ var _a2;
123
+ (_a2 = props.onSubmit) == null ? void 0 : _a2.call(props, errors, getPaymentMethodContext());
124
+ if (errors) {
125
+ setPaymentButtonStatus("unSubmit");
126
+ return;
127
+ }
128
+ setPaymentButtonStatus("loading");
129
+ await payment();
130
+ });
131
+ };
132
+ const Email = () => {
133
+ return /* @__PURE__ */ u(b, { children: (fieldStatus == null ? void 0 : fieldStatus.email.show) && /* @__PURE__ */ u("div", { className: fieldClassNames, children: /* @__PURE__ */ u(
134
+ EmailField,
135
+ {
136
+ ref: emailFieldRef,
137
+ value: form.email,
138
+ disabled: (fieldStatus == null ? void 0 : fieldStatus.email.disabled) || disabled
139
+ }
140
+ ) }) });
141
+ };
142
+ const Address = () => {
143
+ return /* @__PURE__ */ u(b, { children: (fieldStatus == null ? void 0 : fieldStatus.address.show) && /* @__PURE__ */ u("div", { className: fieldClassNames, children: /* @__PURE__ */ u(
144
+ AddressField,
145
+ {
146
+ ref: addressFieldRef,
147
+ value: form.address,
148
+ disabled,
149
+ onChange: (value) => setForm(Object.assign(form, { address: value }))
150
+ }
151
+ ) }) });
152
+ };
153
+ const Button = () => {
154
+ var _a;
155
+ const transAmount = (_a = session == null ? void 0 : session.checkout) == null ? void 0 : _a.transAmount;
156
+ const amountText = (transAmount == null ? void 0 : transAmount.amount) ? formatAmount(transAmount).jointSymbol() : "";
157
+ const text = i18n.get("common.pay") + (amountText ? ` ${amountText}` : "");
158
+ return /* @__PURE__ */ u(
159
+ PaymentButton,
160
+ {
161
+ className: bem("button"),
162
+ status: paymentButtonStatus,
163
+ verified: validated,
164
+ disabled,
165
+ onClick: onSubmit,
166
+ children: text
167
+ }
168
+ );
169
+ };
170
+ const ErrorMessage = () => {
171
+ return /* @__PURE__ */ u(b, { children: !!errorMessage && /* @__PURE__ */ u(Info, { content: errorMessage }) });
172
+ };
173
+ return /* @__PURE__ */ u(
174
+ CoreContext.Provider,
175
+ {
176
+ value: {
177
+ i18n,
178
+ session,
179
+ core
180
+ },
181
+ children: isEnabled && i18n.ready.value && /* @__PURE__ */ u("div", { className: core.theme.className, children: [
182
+ showGuideCard && /* @__PURE__ */ u(GuideCard, { type: PaymentCategory.P24 }),
183
+ /* @__PURE__ */ u(Form, { form, ref: setFormRef, onFormChange: (form2) => setForm(form2), children: /* @__PURE__ */ u("div", { className: normalizedClass(COMMON_CLASS_NAME, bem()), children: [
184
+ Email(),
185
+ /* @__PURE__ */ u("div", { className: fieldClassNames, children: /* @__PURE__ */ u(NameField, { disabled }) }),
186
+ Address(),
187
+ /* @__PURE__ */ u("div", { className: bem("footer-wrapper"), children: [
188
+ ErrorMessage(),
189
+ !hidePaymentButton && Button()
190
+ ] })
191
+ ] }) })
192
+ ] })
193
+ }
194
+ );
195
+ });
196
+ export {
197
+ P24
198
+ };
@@ -0,0 +1 @@
1
+ import "./P24.js";