@opexa/portal-components 0.0.824 → 0.0.826

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 (289) hide show
  1. package/dist/components/DepositWithdrawal/Deposit/Deposit.js +1 -2
  2. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/Confirmed.d.ts +1 -0
  3. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/Confirmed.js +11 -0
  4. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/Failed.d.ts +1 -0
  5. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/Failed.js +11 -0
  6. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/Form.d.ts +1 -0
  7. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/Form.js +126 -0
  8. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/GeneratingQrCode.d.ts +1 -0
  9. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/GeneratingQrCode.js +10 -0
  10. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDeposit.js +6 -4
  11. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositContext.d.ts +8 -16
  12. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QrCodeGenerated.d.ts +1 -0
  13. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QrCodeGenerated.js +41 -0
  14. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/useQRPHDeposit.d.ts +8 -8
  15. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/useQRPHDeposit.js +47 -41
  16. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDeposit.d.ts +1 -0
  17. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDeposit.js +10 -0
  18. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDepositAlert.d.ts +1 -0
  19. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDepositAlert.js +99 -0
  20. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDepositContext.d.ts +25 -0
  21. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDepositContext.js +2 -0
  22. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDepositDetails.d.ts +1 -0
  23. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDepositDetails.js +17 -0
  24. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDepositForm.d.ts +1 -0
  25. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDepositForm.js +116 -0
  26. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHQRCode.d.ts +3 -0
  27. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHQRCode.js +69 -0
  28. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/useQRPHDeposit.d.ts +13 -0
  29. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/useQRPHDeposit.js +85 -0
  30. package/dist/components/Jackpots/Jackpots.module.css +221 -221
  31. package/dist/components/KYC/KYCDefault/KYCVerificationStatus.lazy.js +2 -2
  32. package/dist/components/Tournaments/TournamentsCarousel/TournamentsCarouselItem.module.css +184 -184
  33. package/dist/components/Tournaments/TournamentsList/TournamentItem.module.css +184 -184
  34. package/dist/services/queries.js +3151 -3151
  35. package/dist/styles/theme.css +776 -776
  36. package/dist/ui/AlertDialog/AlertDialog.d.ts +55 -55
  37. package/dist/ui/AlertDialog/alertDialog.recipe.d.ts +5 -5
  38. package/dist/ui/Badge/Badge.d.ts +12 -12
  39. package/dist/ui/Badge/badge.anatomy.d.ts +1 -1
  40. package/dist/ui/Badge/badge.recipe.d.ts +3 -3
  41. package/dist/ui/Carousel/Carousel.d.ts +45 -45
  42. package/dist/ui/Carousel/carousel.recipe.d.ts +5 -5
  43. package/dist/ui/Checkbox/Checkbox.d.ts +23 -23
  44. package/dist/ui/Checkbox/checkbox.recipe.d.ts +3 -3
  45. package/dist/ui/Clipboard/Clipboard.d.ts +18 -18
  46. package/dist/ui/Clipboard/clipboard.recipe.d.ts +3 -3
  47. package/dist/ui/Combobox/Combobox.d.ts +42 -42
  48. package/dist/ui/Combobox/combobox.recipe.d.ts +3 -3
  49. package/dist/ui/DatePicker/DatePicker.d.ts +72 -72
  50. package/dist/ui/DatePicker/datePicker.recipe.d.ts +3 -3
  51. package/dist/ui/Dialog/Dialog.d.ts +33 -33
  52. package/dist/ui/Dialog/dialog.recipe.d.ts +3 -3
  53. package/dist/ui/Drawer/Drawer.d.ts +33 -33
  54. package/dist/ui/Drawer/drawer.recipe.d.ts +3 -3
  55. package/dist/ui/Menu/Menu.d.ts +198 -198
  56. package/dist/ui/Menu/menu.recipe.d.ts +11 -11
  57. package/dist/ui/PasswordInput/PasswordInput.d.ts +18 -18
  58. package/dist/ui/PasswordInput/passwordInput.recipe.d.ts +3 -3
  59. package/dist/ui/Popover/Popover.d.ts +55 -55
  60. package/dist/ui/Popover/popover.recipe.d.ts +5 -5
  61. package/dist/ui/Progress/Progress.d.ts +27 -27
  62. package/dist/ui/Progress/progress.recipe.d.ts +3 -3
  63. package/dist/ui/Select/Select.d.ts +45 -45
  64. package/dist/ui/Select/select.recipe.d.ts +3 -3
  65. package/dist/ui/Table/Table.d.ts +21 -21
  66. package/dist/ui/Table/table.anatomy.d.ts +1 -1
  67. package/dist/ui/Table/table.recipe.d.ts +3 -3
  68. package/dist/ui/Tabs/Tabs.d.ts +15 -15
  69. package/dist/ui/Tabs/tabs.recipe.d.ts +3 -3
  70. package/package.json +176 -176
  71. package/dist/assets/providers/alize.png +0 -0
  72. package/dist/assets/providers/bigtime-gaming.png +0 -0
  73. package/dist/assets/providers/bng.png +0 -0
  74. package/dist/assets/providers/boongo.png +0 -0
  75. package/dist/assets/providers/btg.png +0 -0
  76. package/dist/assets/providers/cq9.png +0 -0
  77. package/dist/assets/providers/darwin.png +0 -0
  78. package/dist/assets/providers/digitain.png +0 -0
  79. package/dist/assets/providers/evolution.png +0 -0
  80. package/dist/assets/providers/fantasma-games.png +0 -0
  81. package/dist/assets/providers/fc.png +0 -0
  82. package/dist/assets/providers/fp.png +0 -0
  83. package/dist/assets/providers/habanero.png +0 -0
  84. package/dist/assets/providers/hacksaw.png +0 -0
  85. package/dist/assets/providers/jdb.png +0 -0
  86. package/dist/assets/providers/jili.png +0 -0
  87. package/dist/assets/providers/leap.png +0 -0
  88. package/dist/assets/providers/live-22-metaverse.png +0 -0
  89. package/dist/assets/providers/netent.png +0 -0
  90. package/dist/assets/providers/no-limit.png +0 -0
  91. package/dist/assets/providers/pg.png +0 -0
  92. package/dist/assets/providers/pgsoft.png +0 -0
  93. package/dist/assets/providers/pragmatic-play.png +0 -0
  94. package/dist/assets/providers/realtime-gaming.png +0 -0
  95. package/dist/assets/providers/redtiger.png +0 -0
  96. package/dist/assets/providers/rtg.png +0 -0
  97. package/dist/assets/providers/sagaming.png +0 -0
  98. package/dist/components/DepositWithdrawal/AiOPaymentMethods.d.ts +0 -11
  99. package/dist/components/DepositWithdrawal/AiOPaymentMethods.js +0 -55
  100. package/dist/components/DigitainLauncher/Loading.d.ts +0 -1
  101. package/dist/components/DigitainLauncher/Loading.js +0 -5
  102. package/dist/components/Disclaimer/ResponsibleGaming.d.ts +0 -10
  103. package/dist/components/Disclaimer/ResponsibleGaming.js +0 -13
  104. package/dist/components/Disclaimer/TermsOfUse.d.ts +0 -11
  105. package/dist/components/Disclaimer/TermsOfUse.js +0 -13
  106. package/dist/components/FeatureFlag/FeatureFlag.d.ts +0 -1
  107. package/dist/components/FeatureFlag/FeatureFlag.js +0 -29
  108. package/dist/components/FeatureFlag/index.d.ts +0 -1
  109. package/dist/components/FeatureFlag/index.js +0 -1
  110. package/dist/components/Jackpots/JackpotsCarousel/JackpotsCarouselItem.module.css +0 -184
  111. package/dist/components/Jackpots/JackpotsList/JackpotsListItem.module.css +0 -184
  112. package/dist/components/KYC/AutoOpen.d.ts +0 -1
  113. package/dist/components/KYC/AutoOpen.js +0 -40
  114. package/dist/components/KYC/BasicInformation.d.ts +0 -1
  115. package/dist/components/KYC/BasicInformation.js +0 -101
  116. package/dist/components/KYC/CaptureIdDocument.d.ts +0 -1
  117. package/dist/components/KYC/CaptureIdDocument.js +0 -219
  118. package/dist/components/KYC/CaptureSelfie.d.ts +0 -1
  119. package/dist/components/KYC/CaptureSelfie.js +0 -285
  120. package/dist/components/KYC/DisplayImage.d.ts +0 -5
  121. package/dist/components/KYC/DisplayImage.js +0 -8
  122. package/dist/components/KYC/FileUpload.d.ts +0 -10
  123. package/dist/components/KYC/FileUpload.js +0 -72
  124. package/dist/components/KYC/IdentityVerification.d.ts +0 -1
  125. package/dist/components/KYC/IdentityVerification.js +0 -120
  126. package/dist/components/KYC/Indicator.d.ts +0 -1
  127. package/dist/components/KYC/Indicator.js +0 -8
  128. package/dist/components/KYC/KYC.lazy.d.ts +0 -6
  129. package/dist/components/KYC/KYC.lazy.js +0 -45
  130. package/dist/components/KYC/KYCContext.d.ts +0 -6
  131. package/dist/components/KYC/KYCContext.js +0 -2
  132. package/dist/components/KYC/KYCDefault/BasicInformation.d.ts +0 -1
  133. package/dist/components/KYC/KYCDefault/BasicInformation.js +0 -101
  134. package/dist/components/KYC/KYCVerificationStatus.d.ts +0 -1
  135. package/dist/components/KYC/KYCVerificationStatus.js +0 -10
  136. package/dist/components/KYC/KYCVerificationStatus.lazy.d.ts +0 -1
  137. package/dist/components/KYC/KYCVerificationStatus.lazy.js +0 -39
  138. package/dist/components/KYC/NoCameraError.d.ts +0 -7
  139. package/dist/components/KYC/NoCameraError.js +0 -6
  140. package/dist/components/KYC/PersonOverlayDesktop.d.ts +0 -7
  141. package/dist/components/KYC/PersonOverlayDesktop.js +0 -9
  142. package/dist/components/KYC/PersonalInformation.d.ts +0 -1
  143. package/dist/components/KYC/PersonalInformation.js +0 -122
  144. package/dist/components/KYC/backup/Header.d.ts +0 -1
  145. package/dist/components/KYC/backup/Header.js +0 -8
  146. package/dist/components/KYC/backup/Indicator.d.ts +0 -1
  147. package/dist/components/KYC/backup/Indicator.js +0 -9
  148. package/dist/components/KYC/backup/KYC.d.ts +0 -1
  149. package/dist/components/KYC/backup/KYC.js +0 -14
  150. package/dist/components/KYC/backup/KYC.lazy.d.ts +0 -1
  151. package/dist/components/KYC/backup/KYC.lazy.js +0 -26
  152. package/dist/components/KYC/backup/KYCContext.d.ts +0 -6
  153. package/dist/components/KYC/backup/KYCContext.js +0 -2
  154. package/dist/components/KYC/backup/Step1.d.ts +0 -1
  155. package/dist/components/KYC/backup/Step1.js +0 -13
  156. package/dist/components/KYC/backup/Step2.d.ts +0 -1
  157. package/dist/components/KYC/backup/Step2.js +0 -13
  158. package/dist/components/KYC/backup/Step3.d.ts +0 -1
  159. package/dist/components/KYC/backup/Step3.js +0 -13
  160. package/dist/components/KYC/backup/Step4.d.ts +0 -1
  161. package/dist/components/KYC/backup/Step4.js +0 -7
  162. package/dist/components/KYC/backup/useKYC.d.ts +0 -10
  163. package/dist/components/KYC/backup/useKYC.js +0 -8
  164. package/dist/components/KYC/loadModels.d.ts +0 -1
  165. package/dist/components/KYC/loadModels.js +0 -9
  166. package/dist/components/KYC/useKYC.d.ts +0 -25
  167. package/dist/components/KYC/useKYC.js +0 -38
  168. package/dist/components/KYC/utils.d.ts +0 -9
  169. package/dist/components/KYC/utils.js +0 -79
  170. package/dist/components/KYCNotRequired/KYCNotRequired.d.ts +0 -0
  171. package/dist/components/KYCNotRequired/KYCNotRequired.js +0 -1
  172. package/dist/components/Messages/Message.d.ts +0 -1
  173. package/dist/components/Messages/Message.js +0 -35
  174. package/dist/components/Messages/MessageContext.d.ts +0 -6
  175. package/dist/components/Messages/MessageContext.js +0 -2
  176. package/dist/components/Messages/MessagePopup.d.ts +0 -1
  177. package/dist/components/Messages/MessagePopup.js +0 -20
  178. package/dist/components/Messages/MessageTrigger.d.ts +0 -8
  179. package/dist/components/Messages/MessageTrigger.js +0 -19
  180. package/dist/components/PortalProvider/CXDTokenObserver.d.ts +0 -1
  181. package/dist/components/PortalProvider/CXDTokenObserver.js +0 -30
  182. package/dist/components/PortalProvider/LinkGoogleAccountObserver.d.ts +0 -1
  183. package/dist/components/PortalProvider/LinkGoogleAccountObserver.js +0 -29
  184. package/dist/components/Quests/CountdownTimer.d.ts +0 -15
  185. package/dist/components/Quests/CountdownTimer.js +0 -33
  186. package/dist/components/Quests/DailyCheckInQuest/DailyCheckInQuest.d.ts +0 -4
  187. package/dist/components/Quests/DailyCheckInQuest/DailyCheckInQuest.js +0 -78
  188. package/dist/components/Quests/DailyCheckInQuest/DailyCheckInQuestModal.d.ts +0 -8
  189. package/dist/components/Quests/DailyCheckInQuest/DailyCheckInQuestModal.js +0 -9
  190. package/dist/components/Quests/MultiWageringQuest.d.ts +0 -1
  191. package/dist/components/Quests/MultiWageringQuest.js +0 -111
  192. package/dist/components/Quests/OnboardingQuest/OnboardingQuest.d.ts +0 -4
  193. package/dist/components/Quests/OnboardingQuest/OnboardingQuest.js +0 -4
  194. package/dist/components/Quests/WageringQuest/WageringQuest.d.ts +0 -4
  195. package/dist/components/Quests/WageringQuest/WageringQuest.js +0 -20
  196. package/dist/components/Quests/WageringQuest/WageringQuestModal.d.ts +0 -9
  197. package/dist/components/Quests/WageringQuest/WageringQuestModal.js +0 -9
  198. package/dist/components/SessionWatcher/SessionWatcher.d.ts +0 -1
  199. package/dist/components/SessionWatcher/SessionWatcher.js +0 -20
  200. package/dist/components/SessionWatcher/index.d.ts +0 -1
  201. package/dist/components/SessionWatcher/index.js +0 -1
  202. package/dist/components/SignIn/utils.d.ts +0 -8
  203. package/dist/components/SignIn/utils.js +0 -26
  204. package/dist/components/SignUp/SignUp.lazy.d.ts +0 -12
  205. package/dist/components/SignUp/SignUp.lazy.js +0 -18
  206. package/dist/components/SignUp/SignUpContext.d.ts +0 -6
  207. package/dist/components/SignUp/SignUpContext.js +0 -2
  208. package/dist/components/SignUp/SignUpDefault/SignUp.lazy.d.ts +0 -17
  209. package/dist/components/SignUp/SignUpDefault/SignUp.lazy.js +0 -18
  210. package/dist/components/SignUp/SignUpDefault/SignUpContext.d.ts +0 -6
  211. package/dist/components/SignUp/SignUpDefault/SignUpContext.js +0 -2
  212. package/dist/components/SignUp/SignUpDefault/SignUpForm.d.ts +0 -1
  213. package/dist/components/SignUp/SignUpDefault/SignUpForm.js +0 -310
  214. package/dist/components/SignUp/SignUpForm.d.ts +0 -1
  215. package/dist/components/SignUp/SignUpForm.js +0 -284
  216. package/dist/components/SignUp/SignUpKYC/CaptureIdDocument.d.ts +0 -1
  217. package/dist/components/SignUp/SignUpKYC/CaptureIdDocument.js +0 -198
  218. package/dist/components/SignUp/SignUpKYC/CaptureSelfie.d.ts +0 -1
  219. package/dist/components/SignUp/SignUpKYC/CaptureSelfie.js +0 -251
  220. package/dist/components/SignUp/SignUpKYC/ImageUploader.d.ts +0 -10
  221. package/dist/components/SignUp/SignUpKYC/ImageUploader.js +0 -42
  222. package/dist/components/SignUp/SignUpKYC/PersonOverlayDesktop.d.ts +0 -7
  223. package/dist/components/SignUp/SignUpKYC/PersonOverlayDesktop.js +0 -9
  224. package/dist/components/SignUp/SignUpKYC/SignUpFormKYC.d.ts +0 -1
  225. package/dist/components/SignUp/SignUpKYC/SignUpFormKYC.js +0 -464
  226. package/dist/components/SignUp/SignUpKYC/useImageUploader.d.ts +0 -11
  227. package/dist/components/SignUp/SignUpKYC/useImageUploader.js +0 -20
  228. package/dist/components/SignUp/SignUpKYC/utils.d.ts +0 -9
  229. package/dist/components/SignUp/SignUpKYC/utils.js +0 -79
  230. package/dist/components/SignUp/SignUpPagcor/CaptureIdDocument.d.ts +0 -1
  231. package/dist/components/SignUp/SignUpPagcor/CaptureIdDocument.js +0 -198
  232. package/dist/components/SignUp/SignUpPagcor/CaptureSelfie.d.ts +0 -1
  233. package/dist/components/SignUp/SignUpPagcor/CaptureSelfie.js +0 -251
  234. package/dist/components/SignUp/SignUpPagcor/ImageUploader.d.ts +0 -10
  235. package/dist/components/SignUp/SignUpPagcor/ImageUploader.js +0 -41
  236. package/dist/components/SignUp/SignUpPagcor/SignUpFormPagcor.d.ts +0 -1
  237. package/dist/components/SignUp/SignUpPagcor/SignUpFormPagcor.js +0 -429
  238. package/dist/components/SignUp/SignUpPagcor/SignUpPagcor.lazy.d.ts +0 -13
  239. package/dist/components/SignUp/SignUpPagcor/SignUpPagcor.lazy.js +0 -26
  240. package/dist/components/SignUp/SignUpPagcor/SignUpPagcorContext.d.ts +0 -7
  241. package/dist/components/SignUp/SignUpPagcor/SignUpPagcorContext.js +0 -2
  242. package/dist/components/SignUp/SignUpPagcor/useImageUploader.d.ts +0 -11
  243. package/dist/components/SignUp/SignUpPagcor/useImageUploader.js +0 -20
  244. package/dist/components/shared/IdDocumentField.client.d.ts +0 -25
  245. package/dist/components/shared/IdDocumentField.client.js +0 -204
  246. package/dist/components/shared/IdDocumentField.d.ts +0 -2
  247. package/dist/components/shared/IdDocumentField.js +0 -11
  248. package/dist/components/shared/SelfieField.client.d.ts +0 -20
  249. package/dist/components/shared/SelfieField.client.js +0 -327
  250. package/dist/components/shared/SelfieField.d.ts +0 -2
  251. package/dist/components/shared/SelfieField.js +0 -11
  252. package/dist/constants/BranchCode.d.ts +0 -4
  253. package/dist/constants/BranchCode.js +0 -42
  254. package/dist/constants/Branches.d.ts +0 -2
  255. package/dist/constants/Branches.js +0 -42
  256. package/dist/handlers/postTransformIdFrontImage.d.ts +0 -3
  257. package/dist/handlers/postTransformIdFrontImage.js +0 -67
  258. package/dist/handlers/postTransformSelfieImage.d.ts +0 -3
  259. package/dist/handlers/postTransformSelfieImage.js +0 -71
  260. package/dist/handlers.d.ts +0 -43
  261. package/dist/handlers.js +0 -297
  262. package/dist/icons/BellRingIcon.d.ts +0 -2
  263. package/dist/icons/BellRingIcon.js +0 -4
  264. package/dist/images/game-providers/ALPHACHINKO.png +0 -0
  265. package/dist/images/responsible-gaming-yellow.png +0 -0
  266. package/dist/third-parties/FacebookPixel/FacebookPixel.d.ts +0 -4
  267. package/dist/third-parties/FacebookPixel/FacebookPixel.js +0 -4
  268. package/dist/third-parties/FacebookPixel/api.d.ts +0 -0
  269. package/dist/third-parties/FacebookPixel/api.js +0 -1
  270. package/dist/third-parties/FacebookPixel/index.d.ts +0 -1
  271. package/dist/third-parties/FacebookPixel/index.js +0 -1
  272. package/dist/third-parties/GoogleRecaptcha/GoogleRecaptcha.d.ts +0 -4
  273. package/dist/third-parties/GoogleRecaptcha/GoogleRecaptcha.js +0 -4
  274. package/dist/third-parties/GoogleRecaptcha/api.d.ts +0 -0
  275. package/dist/third-parties/GoogleRecaptcha/api.js +0 -1
  276. package/dist/third-parties/GoogleRecaptcha/index.d.ts +0 -1
  277. package/dist/third-parties/GoogleRecaptcha/index.js +0 -1
  278. package/dist/third-parties/index.d.ts +0 -2
  279. package/dist/third-parties/index.js +0 -2
  280. package/dist/utils/dataUrlToBlob.d.ts +0 -1
  281. package/dist/utils/dataUrlToBlob.js +0 -11
  282. package/dist/utils/gamesAvailable3pmTo3am.d.ts +0 -1
  283. package/dist/utils/gamesAvailable3pmTo3am.js +0 -1
  284. package/dist/utils/getGameName.d.ts +0 -1
  285. package/dist/utils/getGameName.js +0 -6
  286. package/dist/utils/isBetween3amAnd3pm.d.ts +0 -1
  287. package/dist/utils/isBetween3amAnd3pm.js +0 -5
  288. package/dist/utils/resizeImageSize.d.ts +0 -2
  289. package/dist/utils/resizeImageSize.js +0 -11
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { QrCode02Icon } from '../../../../icons/QrCode02Icon.js';
3
+ import { XIcon } from '../../../../icons/XIcon.js';
4
+ import { Button } from '../../../../ui/Button/index.js';
5
+ import { Dialog } from '../../../../ui/Dialog/index.js';
6
+ import { Portal } from '../../../../ui/Portal/index.js';
7
+ import { useQRPHDepositContext } from './QRPHDepositContext.js';
8
+ import { QRPHQRCode } from './QRPHQRCode.js';
9
+ export function QRPHDepositDetails() {
10
+ const context = useQRPHDepositContext();
11
+ if (context.view !== 'qrCode')
12
+ return null;
13
+ return (_jsxs("div", { className: "rounded-lg bg-bg-primary-alt p-2xl", children: [_jsx("p", { className: "text-center font-semibold text-lg lg:text-xl", children: "QR Code" }), _jsx("p", { className: "mt-3 text-center text-sm text-text-secondary-700 lg:text-base", children: "Scan the QR code below with your banking app, or upload it to complete your deposit." }), _jsx(QRPHQRCode, { qrCodeString: context.deposit?.qrCode ?? '' }), _jsx("div", { className: "mt-6 flex flex-col gap-4 lg:flex-row", children: _jsx(Button, { size: "sm", variant: "outline", colorScheme: "gray", onClick: context.reset, children: "Generate New QR Code" }) }), _jsx(Instruction, {})] }));
14
+ }
15
+ function Instruction() {
16
+ return (_jsxs("p", { className: "mt-6 text-center text-text-tertiary-600 text-xs", children: ["Need help using the QR Code?", ' ', _jsxs(Dialog.Root, { lazyMount: true, unmountOnExit: true, children: [_jsx(Dialog.Trigger, { className: "text-text-warning-primary-600", children: "See instructions" }), _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, { className: "!z-[calc(var(--z-dialog)+2)]" }), _jsx(Dialog.Positioner, { className: "!z-[calc(var(--z-dialog)+3)] flex items-center justify-center", children: _jsxs(Dialog.Content, { className: "mx-auto w-[calc(100%-2rem)] overflow-y-auto rounded-lg p-4xl lg:w-[33.625rem]", children: [_jsx(Dialog.CloseTrigger, { children: _jsx(XIcon, {}) }), _jsxs(Dialog.Body, { children: [_jsxs("div", { className: "flex items-center gap-xl", children: [_jsx("div", { className: "flex size-11 items-center justify-center rounded-lg border border-border-primary text-gray-700 text-text-secondary-700 shadow-xs", children: _jsx(QrCode02Icon, { className: "size-6" }) }), _jsx(Dialog.Title, { className: "font-semibold text-lg", children: "How to Use the QR Code for Payment" })] }), _jsx(Dialog.Description, { className: "mt-5", children: "Follow these simple steps to complete your transaction:" }), _jsxs("ol", { className: "mt-3 list-inside list-decimal space-y-3", children: [_jsx("li", { children: "Open your preferred banking or EMI mobile app and select 'Transfer Money' or 'Pay via QR'" }), _jsx("li", { children: "Scan or upload the generated QR Ph code. If prompted by the app, enter the amount to be sent." }), _jsx("li", { children: "Proceed with the transfer or payment." })] })] })] }) })] })] })] }));
17
+ }
@@ -0,0 +1 @@
1
+ export declare function QRPHDepositForm(): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,116 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { zodResolver } from '@hookform/resolvers/zod';
3
+ import Link from 'next/link';
4
+ import { useEffect } from 'react';
5
+ import { Controller, useForm } from 'react-hook-form';
6
+ import { z } from 'zod';
7
+ import { useShallow } from 'zustand/shallow';
8
+ import { useAvailablePromosQuery } from '../../../../client/hooks/useAvailablePromosQuery.js';
9
+ import { useDepositsCountQuery } from '../../../../client/hooks/useDepositsCountQuery.js';
10
+ import { useGlobalStore } from '../../../../client/hooks/useGlobalStore.js';
11
+ import { usePaymentSettingsQuery } from '../../../../client/hooks/usePaymentSettingsQuery.js';
12
+ import { Button } from '../../../../ui/Button/index.js';
13
+ import { Field } from '../../../../ui/Field/index.js';
14
+ import { parseDecimal } from '../../../../utils/parseDecimal.js';
15
+ import { AmountChoices } from '../../AmountChoices.js';
16
+ import { useDepositWithdrawalPropsContext } from '../../DepositWithdrawalContext.js';
17
+ import { AvailablePromos } from '../AvailablePromos.js';
18
+ import { useQRPHDepositContext } from './QRPHDepositContext.js';
19
+ export function QRPHDepositForm() {
20
+ const depositWithdrawalProps = useDepositWithdrawalPropsContext();
21
+ const globalStore = useGlobalStore(useShallow((ctx) => ({
22
+ depositWithdrawal: ctx.depositWithdrawal,
23
+ })));
24
+ const context = useQRPHDepositContext();
25
+ const depositsCountQuery = useDepositsCountQuery();
26
+ const depositsCount = depositsCountQuery.data ?? 0;
27
+ const paymentSettingsQuery = usePaymentSettingsQuery();
28
+ const paymentSettings = paymentSettingsQuery.data;
29
+ const gatewaySettings = paymentSettings?.qrphDepositGatewaySettings;
30
+ const maximumAmount = parseDecimal(gatewaySettings?.maximumAmount, 0);
31
+ const minimumAmount = depositsCount <= 0
32
+ ? parseDecimal(paymentSettingsQuery.data?.minimumFirstDepositAmount, 0)
33
+ : parseDecimal(gatewaySettings?.minimumAmount, 0);
34
+ const promosQuery = useAvailablePromosQuery();
35
+ const promos = promosQuery.data ?? [];
36
+ const definition = z
37
+ .object({
38
+ amount: z.string().superRefine((val, ctx) => {
39
+ const n = parseDecimal(val, 0);
40
+ if (val.includes('.')) {
41
+ ctx.addIssue({
42
+ code: z.ZodIssueCode.custom,
43
+ message: 'Amount must be a whole number',
44
+ });
45
+ return;
46
+ }
47
+ if (n < minimumAmount) {
48
+ ctx.addIssue({
49
+ type: 'number',
50
+ code: z.ZodIssueCode.too_small,
51
+ inclusive: true,
52
+ minimum: minimumAmount,
53
+ message: `Minimum amount is ${minimumAmount.toLocaleString()}`,
54
+ });
55
+ }
56
+ if (n > maximumAmount) {
57
+ ctx.addIssue({
58
+ type: 'number',
59
+ code: z.ZodIssueCode.too_big,
60
+ inclusive: true,
61
+ maximum: maximumAmount,
62
+ message: `Maximum amount is ${maximumAmount.toLocaleString()}`,
63
+ });
64
+ }
65
+ }),
66
+ promo: z.string().optional().nullable(),
67
+ })
68
+ .superRefine((value, ctx) => {
69
+ const promo = promos.find((o) => o.id === value.promo);
70
+ const promoMinAmount = parseDecimal(promo?.minimumDepositAmount, 0);
71
+ const promoMaxAmount = parseDecimal(promo?.maximumDepositAmount, 0);
72
+ const amount = parseDecimal(value.amount, 0);
73
+ if (promo && amount < promoMinAmount) {
74
+ ctx.addIssue({
75
+ path: ['amount'],
76
+ code: z.ZodIssueCode.custom,
77
+ message: `Minimum amount for this promo is ${promoMinAmount.toLocaleString()}`,
78
+ });
79
+ }
80
+ if (promo && amount > promoMaxAmount) {
81
+ ctx.addIssue({
82
+ path: ['amount'],
83
+ code: z.ZodIssueCode.custom,
84
+ message: `Maximum amount for this promo is ${promoMaxAmount}`,
85
+ });
86
+ }
87
+ });
88
+ const form = useForm({
89
+ mode: 'all',
90
+ resolver: zodResolver(definition),
91
+ defaultValues: {
92
+ amount: '0',
93
+ promo: globalStore.depositWithdrawal.promo ?? null,
94
+ },
95
+ });
96
+ useEffect(() => {
97
+ if (minimumAmount) {
98
+ form.reset({
99
+ amount: minimumAmount.toString(),
100
+ promo: form.getValues('promo') ?? null,
101
+ });
102
+ }
103
+ }, [form, minimumAmount]);
104
+ if (context.view !== 'form')
105
+ return null;
106
+ return (_jsxs("form", { onSubmit: form.handleSubmit(context.generateQRCode), noValidate: true, children: [_jsxs(Field.Root, { invalid: !!form.formState.errors.amount, className: "mt-3xl", children: [_jsx(Field.Label, { children: "Enter the amount you want to deposit" }), _jsx(Field.Input, { type: "number", ...form.register('amount') }), _jsx(Field.ErrorText, { children: form.formState.errors.amount?.message })] }), _jsx(AmountChoices, { value: parseDecimal(form.watch('amount'), 0), onChange: (value) => {
107
+ form.setValue('amount', value.toString(), {
108
+ shouldTouch: true,
109
+ shouldDirty: true,
110
+ shouldValidate: true,
111
+ });
112
+ }, min: minimumAmount, max: maximumAmount, className: "mt-lg" }), _jsx(Controller, { control: form.control, name: "promo", render: (o) => (_jsx(AvailablePromos, { value: o.field.value, onChange: (value) => {
113
+ o.field.onChange(value);
114
+ globalStore.depositWithdrawal.setPromo(null);
115
+ }, className: "mt-3xl" })) }), _jsx(Button, { type: "submit", className: "mt-3xl", children: "Deposit" }), depositWithdrawalProps.hasPrivacyPolicyAndTermsOfUse && (_jsxs("p", { className: "mt-lg text-text-tertiary-600 text-xs", children: ["By depositing, you agree to our", ' ', _jsx(Link, { href: depositWithdrawalProps.termsOfUseUrl ?? '/terms-of-use', onClick: () => globalStore.depositWithdrawal.setOpen(false), className: "text-text-warning-primary-600 underline underline-offset-2", children: "Terms of Use" }), ' ', "and", ' ', _jsx(Link, { href: depositWithdrawalProps.privacyPolicyUrl ?? '/privacy-policy', onClick: () => globalStore.depositWithdrawal.setOpen(false), className: "text-text-warning-primary-600 underline underline-offset-2", children: "Privacy Policy" }), "."] }))] }));
116
+ }
@@ -0,0 +1,3 @@
1
+ export declare function QRPHQRCode(props: {
2
+ qrCodeString: string;
3
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,69 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Capacitor } from '@capacitor/core';
4
+ import { Directory, Filesystem } from '@capacitor/filesystem';
5
+ import Image from 'next/image';
6
+ import { toaster } from '../../../../client/utils/toaster.js';
7
+ import qrphIcon from '../../../../images/qrph-icon.png';
8
+ import { QrCode } from '../../../../ui/QrCode/index.js';
9
+ export function QRPHQRCode(props) {
10
+ async function handleNativeDownload() {
11
+ const QRCode = await import('qrcode');
12
+ const dataUrl = await QRCode.toDataURL(props.qrCodeString, {
13
+ type: 'image/png',
14
+ color: {
15
+ light: '#FFFFFF',
16
+ dark: '#000000',
17
+ },
18
+ });
19
+ const base64 = dataUrl.split(',')[1];
20
+ try {
21
+ await Filesystem.writeFile({
22
+ path: `qrcode-${Date.now()}.png`,
23
+ data: base64,
24
+ directory: Directory.Documents,
25
+ });
26
+ toaster.success({
27
+ title: 'QR Code successfully saved to your device',
28
+ description: 'To continue with your deposit, please upload the QR code in your banking app.',
29
+ });
30
+ }
31
+ catch (error) {
32
+ console.log(error, 'error');
33
+ toaster.error({
34
+ title: 'Failed to save QR Code',
35
+ description: 'An error occurred while saving the QR code to your device.',
36
+ });
37
+ }
38
+ }
39
+ async function handleWebDownload() {
40
+ try {
41
+ const QRCode = await import('qrcode');
42
+ const dataUrl = await QRCode.toDataURL(props.qrCodeString, {
43
+ type: 'image/png',
44
+ color: {
45
+ light: '#FFFFFF',
46
+ dark: '#000000',
47
+ },
48
+ });
49
+ const link = document.createElement('a');
50
+ link.href = dataUrl;
51
+ link.download = `qrcode-${Date.now()}.png`;
52
+ document.body.appendChild(link);
53
+ link.click();
54
+ document.body.removeChild(link);
55
+ toaster.success({
56
+ title: 'QR Code successfully saved to your device',
57
+ description: 'To continue with your deposit, please upload the QR code in your banking app.',
58
+ });
59
+ }
60
+ catch (error) {
61
+ console.log(error, 'error');
62
+ toaster.error({
63
+ title: 'Failed to save QR Code',
64
+ description: 'An error occurred while saving the QR code to your device.',
65
+ });
66
+ }
67
+ }
68
+ return (_jsxs(QrCode.Root, { value: props.qrCodeString, className: "mx-auto mt-6 w-[12.5rem] rounded-lg border border-border-primary bg-bg-brand-secondary-alt p-5 lg:w-[13rem] lg:p-6", children: [_jsxs("div", { className: "relative", children: [_jsx(QrCode.Frame, { className: "mx-auto size-[10rem] rounded-[0.25rem] border border-border-primary bg-white", children: _jsx(QrCode.Pattern, {}) }), _jsx(QrCode.Overlay, { className: "bg-white p-0.5", children: _jsx(Image, { src: qrphIcon, alt: "", className: "size-8", width: 40, height: 40 }) })] }), Capacitor.isNativePlatform() ? (_jsx("button", { type: "button", onClick: handleNativeDownload, className: "mt-5 block w-full text-center font-semibold text-sm text-text-secondary-700", children: "Download QR Code to Device" })) : (_jsx("button", { type: "button", onClick: handleWebDownload, className: "mt-5 block w-full text-center font-semibold text-sm text-text-secondary-700", children: "Download QR Code" }))] }));
69
+ }
@@ -0,0 +1,13 @@
1
+ import type { Deposit } from '../../../../types';
2
+ export type UseQRPHDepositReturn = ReturnType<typeof useQRPHDeposit>;
3
+ export declare function useQRPHDeposit(): {
4
+ view: "form" | "qrCode";
5
+ status: "failed" | "waiting" | "processing" | "verification-waiting" | "verification-processing" | "verification-failed" | "verification-success";
6
+ verify: () => void;
7
+ reset: () => void;
8
+ deposit: Deposit | null;
9
+ generateQRCode: (input: {
10
+ amount: string;
11
+ promo?: string | null;
12
+ }) => void;
13
+ };
@@ -0,0 +1,85 @@
1
+ import { useEffect, useState } from 'react';
2
+ import invariant from 'tiny-invariant';
3
+ import { useShallow } from 'zustand/shallow';
4
+ import { useCreateQRPHDepositMutation } from '../../../../client/hooks/useCreateQRPHDepositMutation.js';
5
+ import { useDepositQuery } from '../../../../client/hooks/useDepositQuery.js';
6
+ import { useGlobalStore } from '../../../../client/hooks/useGlobalStore.js';
7
+ import { useMemberVerificationQuery } from '../../../../client/hooks/useMemberVerificationQuery.js';
8
+ import { getQueryClient } from '../../../../utils/getQueryClient.js';
9
+ import { getDepositsCountQueryKey } from '../../../../utils/queryKeys.js';
10
+ export function useQRPHDeposit() {
11
+ const globalStore = useGlobalStore(useShallow((ctx) => ({
12
+ kycVerificationStatus: ctx.kycVerificationStatus,
13
+ })));
14
+ const [deposit, setDeposit] = useState(null);
15
+ const verificationQuery = useMemberVerificationQuery();
16
+ const verificationStatus = verificationQuery.data?.status ?? 'UNVERIFIED';
17
+ const [status, setStatus] = useState('waiting');
18
+ const view = status === 'verification-failed' ||
19
+ status === 'verification-waiting' ||
20
+ status === 'verification-success' ||
21
+ status === 'verification-processing'
22
+ ? 'qrCode'
23
+ : 'form';
24
+ const mutation = useCreateQRPHDepositMutation({
25
+ onMutate() {
26
+ setStatus('processing');
27
+ },
28
+ onSuccess(data) {
29
+ const queryClient = getQueryClient();
30
+ invariant(data.qrCode);
31
+ setStatus('verification-waiting');
32
+ queryClient.invalidateQueries({ queryKey: getDepositsCountQueryKey() });
33
+ setDeposit(data);
34
+ },
35
+ onError() {
36
+ setStatus('failed');
37
+ },
38
+ });
39
+ const generateQRCode = (input) => {
40
+ //handle new kyc process
41
+ if (verificationStatus === 'PENDING' ||
42
+ verificationStatus === 'UNVERIFIED' ||
43
+ verificationStatus === 'REJECTED' ||
44
+ verificationStatus === 'CREATED') {
45
+ globalStore.kycVerificationStatus.setOpen(true);
46
+ return;
47
+ }
48
+ else {
49
+ mutation.mutate({
50
+ amount: input.amount,
51
+ promo: input.promo ?? undefined,
52
+ });
53
+ }
54
+ };
55
+ const query = useDepositQuery(deposit?.id, {
56
+ enabled: !!deposit,
57
+ refetchInterval: 5000,
58
+ });
59
+ useEffect(() => {
60
+ if (query.data?.status === 'APPROVED' ||
61
+ query.data?.status === 'CONFIRMED') {
62
+ setStatus('verification-success');
63
+ }
64
+ if (query.data?.status === 'CANCELLED' ||
65
+ query.data?.status === 'REJECTED' ||
66
+ query.data?.status === 'FAILED') {
67
+ setStatus('verification-failed');
68
+ }
69
+ }, [query.data?.status]);
70
+ const reset = () => {
71
+ setDeposit(null);
72
+ setStatus('waiting');
73
+ };
74
+ const verify = () => {
75
+ setStatus('verification-processing');
76
+ };
77
+ return {
78
+ view,
79
+ status,
80
+ verify,
81
+ reset,
82
+ deposit,
83
+ generateQRCode,
84
+ };
85
+ }