@opexa/portal-components 0.0.308 → 0.0.309

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 (266) hide show
  1. package/dist/client/hooks/useCamera.js +2 -2
  2. package/dist/client/hooks/useControllableState.js +1 -1
  3. package/dist/client/hooks/useInfiniteQueryHelper.js +2 -3
  4. package/dist/client/hooks/useMarkGameAsFavoriteMutation.js +1 -2
  5. package/dist/client/hooks/useMobileNumberParser.js +1 -1
  6. package/dist/client/utils/recaptcha.d.ts +14 -0
  7. package/dist/client/utils/recaptcha.js +18 -0
  8. package/dist/components/Account/Account.lazy.js +5 -5
  9. package/dist/components/Account/account.recipe.js +4 -4
  10. package/dist/components/AccountInfo/AccountInfo.js +6 -6
  11. package/dist/components/AccountSecurity/AccountSecurity.js +6 -6
  12. package/dist/components/AccountVerification/AccountVerification.js +7 -7
  13. package/dist/components/Banner/Banner.js +1 -1
  14. package/dist/components/BetRecords/BetRecords.client.js +5 -5
  15. package/dist/components/Bonus/Bonus.client.js +2 -2
  16. package/dist/components/Bonuses/Bonuses.client.js +10 -10
  17. package/dist/components/Bonuses/BonusesTrigger.js +1 -1
  18. package/dist/components/Bonuses/ClaimSpotBonus.lazy.js +1 -1
  19. package/dist/components/Cashback/Cashback.client.js +2 -2
  20. package/dist/components/CustomPromo/CustomPromo.js +1 -1
  21. package/dist/components/DepositWithdrawal/Deposit/AvailablePromos.js +1 -1
  22. package/dist/components/DepositWithdrawal/Deposit/Deposit.js +2 -2
  23. package/dist/components/DepositWithdrawal/Deposit/GCashDeposit/GCashDeposit.js +2 -2
  24. package/dist/components/DepositWithdrawal/Deposit/LibanganDeposit/LibanganDeposit.js +2 -2
  25. package/dist/components/DepositWithdrawal/Deposit/MayaAppDeposit/MayaAppDeposit.js +2 -2
  26. package/dist/components/DepositWithdrawal/Deposit/MayaDeposit/MayaDeposit.js +2 -2
  27. package/dist/components/DepositWithdrawal/Deposit/OnlineBankDeposit/OnlineBankDepositAlert.js +1 -1
  28. package/dist/components/DepositWithdrawal/Deposit/OnlineBankDeposit/OnlineBankDepositDetails.js +2 -2
  29. package/dist/components/DepositWithdrawal/Deposit/OnlineBankDeposit/OnlineBankDepositForm.js +1 -1
  30. package/dist/components/DepositWithdrawal/Deposit/PisoPayDeposit/PisoPayDeposit.js +2 -2
  31. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositAlert.js +1 -1
  32. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositDetails.js +2 -2
  33. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositForm.js +1 -1
  34. package/dist/components/DepositWithdrawal/DepositWithdrawal.lazy.js +2 -2
  35. package/dist/components/DepositWithdrawal/DepositWithdrawalTrigger.js +2 -2
  36. package/dist/components/DepositWithdrawal/HasPendingBonuses.js +1 -1
  37. package/dist/components/DepositWithdrawal/PaymentMethods.js +1 -1
  38. package/dist/components/DepositWithdrawal/Withdrawal/GCashWithdrawal/GCashWithdrawal.js +3 -3
  39. package/dist/components/DepositWithdrawal/Withdrawal/InstapayWithdrawal/InstapayWithdrawal.js +2 -4
  40. package/dist/components/DepositWithdrawal/Withdrawal/MayaAppWithdrawal/MayaAppWithdrawal.js +2 -2
  41. package/dist/components/DepositWithdrawal/Withdrawal/MayaWithdrawal/MayaWithdrawal.js +3 -3
  42. package/dist/components/DepositWithdrawal/Withdrawal/PisoPayWithdrawal/PisoPayWithdrawal.js +2 -2
  43. package/dist/components/DepositWithdrawal/Withdrawal/TransactionPasswordNotSet.js +2 -2
  44. package/dist/components/DepositWithdrawal/Withdrawal/VentajaWithdrawal/VentajaWithdrawal.js +2 -2
  45. package/dist/components/DepositWithdrawal/Withdrawal/Withdrawal.js +4 -4
  46. package/dist/components/DigitainLauncher/Fallback.js +1 -1
  47. package/dist/components/DigitainLauncher/Loading.js +1 -1
  48. package/dist/components/DigitainLauncher/utils.js +1 -2
  49. package/dist/components/Disclaimer/DisclaimerV1.js +1 -1
  50. package/dist/components/Disclaimer/DisclaimerV2.js +3 -3
  51. package/dist/components/Disclaimer/ResponsibleGaming.d.ts +10 -0
  52. package/dist/components/Disclaimer/ResponsibleGaming.js +13 -0
  53. package/dist/components/Disclaimer/TermsOfUse.d.ts +11 -0
  54. package/dist/components/Disclaimer/TermsOfUse.js +13 -0
  55. package/dist/components/FavoriteGames/FavoriteGames.client.js +4 -4
  56. package/dist/components/ForgotPassword/ForgotPassword.lazy.js +1 -1
  57. package/dist/components/ForgotPassword/ForgotPasswordForm.js +5 -5
  58. package/dist/components/GCashFailed/GCashFailed.js +1 -1
  59. package/dist/components/GCashSuccess/GCashSuccess.js +1 -1
  60. package/dist/components/GameLaunch/GameLaunch.lazy.js +4 -4
  61. package/dist/components/GameLaunch/GameLaunchTrigger.js +2 -4
  62. package/dist/components/GameProviders/GameProvidersCarousel.js +1 -1
  63. package/dist/components/GameProviders/GameProvidersList.js +1 -1
  64. package/dist/components/Games/Game.js +3 -3
  65. package/dist/components/Games/GamesCarousel.client.js +2 -4
  66. package/dist/components/Games/GamesList.client.js +2 -2
  67. package/dist/components/GamesSearch/GamesSearch.js +4 -6
  68. package/dist/components/Jackpots/JackpotsCarousel/JackpotsCarousel.js +1 -1
  69. package/dist/components/Jackpots/JackpotsCarousel/JackpotsCarouselItem.d.ts +1 -1
  70. package/dist/components/Jackpots/JackpotsCarousel/JackpotsCarouselItem.js +53 -51
  71. package/dist/components/Jackpots/JackpotsCarousel/JackpotsCarouselItem.module.css +184 -184
  72. package/dist/components/Jackpots/JackpotsList/JackpotsList.js +1 -1
  73. package/dist/components/Jackpots/JackpotsList/JackpotsListItem.module.css +184 -184
  74. package/dist/components/Jackpots/JackpotsList/JackpotsListItemDesktop.js +14 -12
  75. package/dist/components/Jackpots/JackpotsList/JackpotsListItemGameProviders.js +1 -1
  76. package/dist/components/Jackpots/JackpotsList/JackpotsListItemMobile.js +13 -11
  77. package/dist/components/Jackpots/JackpotsList/JackpotsListItemRules.js +1 -1
  78. package/dist/components/Jackpots/JackpotsList/useJackpotsListItemData.js +15 -15
  79. package/dist/components/KYC/BasicInformation.js +1 -1
  80. package/dist/components/KYC/CaptureIdDocument.d.ts +1 -0
  81. package/dist/components/KYC/CaptureIdDocument.js +219 -0
  82. package/dist/components/KYC/CaptureSelfie.d.ts +1 -0
  83. package/dist/components/KYC/CaptureSelfie.js +285 -0
  84. package/dist/components/KYC/DisplayImage.d.ts +5 -0
  85. package/dist/components/KYC/DisplayImage.js +8 -0
  86. package/dist/components/KYC/FileUpload.d.ts +10 -0
  87. package/dist/components/KYC/FileUpload.js +72 -0
  88. package/dist/components/KYC/IdentityVerification.js +1 -1
  89. package/dist/components/KYC/KYC.lazy.js +1 -1
  90. package/dist/components/KYC/KYCReminder.lazy.js +1 -1
  91. package/dist/components/KYC/NoCameraError.d.ts +7 -0
  92. package/dist/components/KYC/NoCameraError.js +6 -0
  93. package/dist/components/KYC/PersonOverlayDesktop.d.ts +7 -0
  94. package/dist/components/KYC/PersonOverlayDesktop.js +9 -0
  95. package/dist/components/KYC/PersonalInformation.js +1 -1
  96. package/dist/components/KYC/utils.d.ts +9 -0
  97. package/dist/components/KYC/utils.js +79 -0
  98. package/dist/components/Marquee/Marquee.js +1 -1
  99. package/dist/components/Messages/Messages.lazy.js +5 -5
  100. package/dist/components/Messages/MessagesPopup.js +3 -3
  101. package/dist/components/Messages/MessagesTrigger.js +1 -1
  102. package/dist/components/News/News.js +1 -1
  103. package/dist/components/NewsFeed/News.d.ts +2 -2
  104. package/dist/components/NewsFeed/News.js +1 -1
  105. package/dist/components/NewsFeed/NewsFeedCarousel.js +2 -2
  106. package/dist/components/NewsFeed/NewsFeedList.js +1 -1
  107. package/dist/components/PortalProvider/Snackbar.js +2 -2
  108. package/dist/components/Promo/Promo.client.js +2 -2
  109. package/dist/components/Promos/Cashback.js +1 -1
  110. package/dist/components/Promos/CustomPromo.d.ts +2 -2
  111. package/dist/components/Promos/CustomPromo.js +1 -1
  112. package/dist/components/Promos/Promo.js +1 -1
  113. package/dist/components/Promos/PromosCarousel.js +2 -2
  114. package/dist/components/Promos/PromosGrid.js +2 -2
  115. package/dist/components/Quests/DailyCheckInQuest.js +3 -3
  116. package/dist/components/Quests/JourneyQuest.js +5 -5
  117. package/dist/components/Quests/OnboardingQuest.js +2 -2
  118. package/dist/components/Quests/Quests.client.js +4 -4
  119. package/dist/components/Quests/WageringQuest.js +2 -2
  120. package/dist/components/ResponsibleGaming/ResponsibleGaming.lazy.js +1 -1
  121. package/dist/components/Search/Search.lazy.js +7 -9
  122. package/dist/components/SignIn/MobileNumberSignIn.js +5 -5
  123. package/dist/components/SignIn/NameAndPasswordSignIn.js +2 -2
  124. package/dist/components/SignIn/SignIn.lazy.d.ts +1 -1
  125. package/dist/components/SignIn/SignIn.lazy.js +1 -2
  126. package/dist/components/SignIn/SignInForm.js +1 -1
  127. package/dist/components/SignUp/SignUpDefault/SignUp.lazy.d.ts +17 -0
  128. package/dist/components/SignUp/SignUpDefault/SignUp.lazy.js +18 -0
  129. package/dist/components/SignUp/SignUpDefault/SignUpContext.d.ts +6 -0
  130. package/dist/components/SignUp/SignUpDefault/SignUpContext.js +2 -0
  131. package/dist/components/SignUp/SignUpDefault/SignUpDefault.lazy.js +1 -1
  132. package/dist/components/SignUp/SignUpDefault/SignUpDefaultForm.js +7 -7
  133. package/dist/components/SignUp/SignUpDefault/SignUpForm.d.ts +1 -0
  134. package/dist/components/SignUp/SignUpDefault/SignUpForm.js +310 -0
  135. package/dist/components/SignUp/SignUpKYC/CaptureIdDocument.d.ts +1 -0
  136. package/dist/components/SignUp/SignUpKYC/CaptureIdDocument.js +198 -0
  137. package/dist/components/SignUp/SignUpKYC/CaptureSelfie.d.ts +1 -0
  138. package/dist/components/SignUp/SignUpKYC/CaptureSelfie.js +251 -0
  139. package/dist/components/SignUp/SignUpKYC/IdFrontImageField/IdFrontImageField.client.js +7 -7
  140. package/dist/components/SignUp/SignUpKYC/IdFrontImageField/IdFrontImageField.js +1 -1
  141. package/dist/components/SignUp/SignUpKYC/ImageUploader.d.ts +10 -0
  142. package/dist/components/SignUp/SignUpKYC/ImageUploader.js +42 -0
  143. package/dist/components/SignUp/SignUpKYC/PersonOverlayDesktop.d.ts +7 -0
  144. package/dist/components/SignUp/SignUpKYC/PersonOverlayDesktop.js +9 -0
  145. package/dist/components/SignUp/SignUpKYC/SelfieImageField/SelfieImageField.client.js +6 -6
  146. package/dist/components/SignUp/SignUpKYC/SelfieImageField/SelfieImageField.js +1 -1
  147. package/dist/components/SignUp/SignUpKYC/SelfieImageField/useSelfieImageField.js +0 -1
  148. package/dist/components/SignUp/SignUpKYC/SignUpFormKYC.d.ts +1 -0
  149. package/dist/components/SignUp/SignUpKYC/SignUpFormKYC.js +464 -0
  150. package/dist/components/SignUp/SignUpKYC/SignUpKYC.lazy.js +1 -1
  151. package/dist/components/SignUp/SignUpKYC/SignUpKYCForm.js +8 -8
  152. package/dist/components/SignUp/SignUpKYC/useImageUploader.d.ts +11 -0
  153. package/dist/components/SignUp/SignUpKYC/useImageUploader.js +20 -0
  154. package/dist/components/SignUp/SignUpKYC/utils.d.ts +9 -0
  155. package/dist/components/SignUp/SignUpKYC/utils.js +79 -0
  156. package/dist/components/TermsAndConditions/TermsAndConditions.lazy.js +1 -1
  157. package/dist/components/TermsOfUse/TermsOfUse.lazy.js +1 -1
  158. package/dist/components/TopWins/TopWins.client.js +3 -3
  159. package/dist/components/Tournaments/TournamentsCarousel/TournamentsCarousel.js +1 -1
  160. package/dist/components/Tournaments/TournamentsCarousel/TournamentsCarouselItem.js +10 -8
  161. package/dist/components/Tournaments/TournamentsCarousel/TournamentsCarouselItem.module.css +184 -184
  162. package/dist/components/Tournaments/TournamentsList/TournamentItem.module.css +184 -184
  163. package/dist/components/Tournaments/TournamentsList/TournamentsList.js +2 -2
  164. package/dist/components/Tournaments/TournamentsList/TournamentsListItemDesktop.js +9 -7
  165. package/dist/components/Tournaments/TournamentsList/TournamentsListItemGameProviders.js +1 -1
  166. package/dist/components/Tournaments/TournamentsList/TournamentsListItemMobile.js +8 -6
  167. package/dist/components/Tournaments/TournamentsList/TournamentsListItemRules.js +1 -1
  168. package/dist/components/Tournaments/TournamentsList/useTournamentListItemData.js +1 -1
  169. package/dist/components/TransactionRecords/DepositRecordsTable.js +2 -2
  170. package/dist/components/TransactionRecords/TableFilters.js +1 -1
  171. package/dist/components/TransactionRecords/TransactionRecords.suspense.js +1 -1
  172. package/dist/components/TransactionRecords/TransactionRecordsTable.js +2 -2
  173. package/dist/components/TransactionRecords/WithdrawalRecordsTable.js +2 -2
  174. package/dist/components/shared/Empty.js +1 -1
  175. package/dist/components/shared/IdFrontImageField/IdFrontImageField.client.js +7 -7
  176. package/dist/components/shared/IdFrontImageField/IdFrontImageField.js +1 -1
  177. package/dist/components/shared/SelfieImageField/SelfieImageField.client.js +6 -6
  178. package/dist/components/shared/SelfieImageField/SelfieImageField.js +1 -1
  179. package/dist/components/shared/SelfieImageField/useSelfieImageField.js +0 -1
  180. package/dist/constants/EnvVar.d.ts +1 -1
  181. package/dist/handlers/postTransformIdFrontImage.d.ts +3 -0
  182. package/dist/handlers/postTransformIdFrontImage.js +82 -0
  183. package/dist/handlers/postTransformSelfieImage.d.ts +3 -0
  184. package/dist/handlers/postTransformSelfieImage.js +82 -0
  185. package/dist/middleware.d.ts +1 -1
  186. package/dist/middleware.js +1 -1
  187. package/dist/services/graphqlRequest.js +0 -1
  188. package/dist/styles/theme.css +706 -706
  189. package/dist/ui/AlertDialog/AlertDialog.d.ts +154 -154
  190. package/dist/ui/AlertDialog/alertDialog.recipe.d.ts +14 -14
  191. package/dist/ui/AlertDialog/alertDialog.recipe.js +6 -6
  192. package/dist/ui/Avatar/avatar.recipe.js +3 -3
  193. package/dist/ui/Badge/Badge.d.ts +12 -12
  194. package/dist/ui/Badge/badge.anatomy.d.ts +1 -1
  195. package/dist/ui/Badge/badge.recipe.d.ts +3 -3
  196. package/dist/ui/Badge/badge.recipe.js +7 -7
  197. package/dist/ui/Button/button.recipe.d.ts +2 -2
  198. package/dist/ui/Button/button.recipe.js +3 -3
  199. package/dist/ui/Carousel/Carousel.d.ts +45 -45
  200. package/dist/ui/Carousel/carousel.recipe.d.ts +5 -5
  201. package/dist/ui/Checkbox/Checkbox.d.ts +23 -23
  202. package/dist/ui/Checkbox/checkbox.recipe.d.ts +3 -3
  203. package/dist/ui/Checkbox/checkbox.recipe.js +1 -1
  204. package/dist/ui/Clipboard/Clipboard.d.ts +18 -18
  205. package/dist/ui/Clipboard/clipboard.recipe.d.ts +3 -3
  206. package/dist/ui/Clipboard/clipboard.recipe.js +2 -2
  207. package/dist/ui/Collapsible/Collapsible.d.ts +32 -32
  208. package/dist/ui/Collapsible/collapsible.recipe.d.ts +8 -8
  209. package/dist/ui/Collapsible/collapsible.recipe.js +2 -2
  210. package/dist/ui/Combobox/Combobox.d.ts +42 -42
  211. package/dist/ui/Combobox/Combobox.js +0 -1
  212. package/dist/ui/Combobox/combobox.recipe.d.ts +3 -3
  213. package/dist/ui/Combobox/combobox.recipe.js +6 -6
  214. package/dist/ui/DatePicker/DatePicker.d.ts +72 -72
  215. package/dist/ui/DatePicker/datePicker.recipe.d.ts +3 -3
  216. package/dist/ui/DatePicker/datePicker.recipe.js +7 -7
  217. package/dist/ui/Dialog/Dialog.d.ts +154 -154
  218. package/dist/ui/Dialog/dialog.recipe.d.ts +14 -14
  219. package/dist/ui/Dialog/dialog.recipe.js +4 -4
  220. package/dist/ui/Drawer/Drawer.d.ts +33 -33
  221. package/dist/ui/Drawer/drawer.recipe.d.ts +3 -3
  222. package/dist/ui/Drawer/drawer.recipe.js +5 -5
  223. package/dist/ui/Field/Field.d.ts +21 -21
  224. package/dist/ui/Field/field.recipe.d.ts +3 -3
  225. package/dist/ui/Field/field.recipe.js +3 -3
  226. package/dist/ui/IconButton/iconButton.recipe.d.ts +2 -2
  227. package/dist/ui/Menu/Menu.d.ts +144 -144
  228. package/dist/ui/Menu/menu.recipe.d.ts +8 -8
  229. package/dist/ui/NumberInput/numberInput.recipe.js +5 -5
  230. package/dist/ui/PasswordInput/PasswordInput.d.ts +18 -18
  231. package/dist/ui/PasswordInput/passwordInput.recipe.d.ts +3 -3
  232. package/dist/ui/PasswordInput/passwordInput.recipe.js +3 -3
  233. package/dist/ui/PinInput/pinInput.recipe.js +3 -3
  234. package/dist/ui/Popover/Popover.d.ts +121 -121
  235. package/dist/ui/Popover/popover.recipe.d.ts +11 -11
  236. package/dist/ui/Popover/popover.recipe.js +1 -1
  237. package/dist/ui/Presence/Presence.js +1 -1
  238. package/dist/ui/Progress/Progress.d.ts +27 -27
  239. package/dist/ui/Progress/progress.recipe.d.ts +3 -3
  240. package/dist/ui/Progress/progress.recipe.js +2 -2
  241. package/dist/ui/SegmentGroup/SegmentGroup.d.ts +18 -18
  242. package/dist/ui/SegmentGroup/segmentGroup.recipe.d.ts +3 -3
  243. package/dist/ui/SegmentGroup/segmentGroup.recipe.js +4 -4
  244. package/dist/ui/Select/Select.d.ts +45 -45
  245. package/dist/ui/Select/Select.js +0 -1
  246. package/dist/ui/Select/select.recipe.d.ts +3 -3
  247. package/dist/ui/Select/select.recipe.js +7 -7
  248. package/dist/ui/Table/Table.d.ts +21 -21
  249. package/dist/ui/Table/table.anatomy.d.ts +1 -1
  250. package/dist/ui/Table/table.recipe.d.ts +3 -3
  251. package/dist/ui/Table/table.recipe.js +3 -3
  252. package/dist/ui/Tabs/Tabs.d.ts +15 -15
  253. package/dist/ui/Tabs/tabs.recipe.d.ts +3 -3
  254. package/dist/ui/Tabs/tabs.recipe.js +4 -4
  255. package/dist/ui/Tooltip/tooltip.recipe.js +1 -1
  256. package/dist/utils/gamesAvailable3pmTo3am.d.ts +1 -0
  257. package/dist/utils/gamesAvailable3pmTo3am.js +1 -0
  258. package/dist/utils/getGameName.d.ts +1 -0
  259. package/dist/utils/getGameName.js +6 -0
  260. package/dist/utils/getLocaleInfo.js +7 -7
  261. package/dist/utils/getQueryClient.js +1 -1
  262. package/dist/utils/isBetween3amAnd3pm.d.ts +1 -0
  263. package/dist/utils/isBetween3amAnd3pm.js +5 -0
  264. package/dist/utils/parseDecimal.js +1 -1
  265. package/dist/utils/validateFile.d.ts +1 -1
  266. package/package.json +159 -164
@@ -57,7 +57,7 @@ export function DailyCheckInQuest() {
57
57
  },
58
58
  });
59
59
  const remainingTime = useRemainingTime(endDateTime);
60
- return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "border-border-primary bg-bg-tertiary flex h-full w-full flex-col space-y-6 rounded-2xl border px-4 pb-6 pt-5", children: [_jsxs("div", { className: "flex flex-col space-y-2", children: [_jsxs("div", { className: "flex max-h-7.5 items-start justify-between", children: [_jsx(RemainingTime, {}), _jsx("button", { type: "button", className: "bg-bg-primary border-border-secondary flex size-9 cursor-pointer items-center justify-center rounded-md border", onClick: () => disclosure.setOpen(true), "aria-label": "View Rules", children: _jsx(InfoCircleIcon, { className: "text-text-disabled size-5" }) })] }), _jsx("p", { className: "text-xl font-semibold", children: name }), _jsx("div", { className: "text-text-secondary-700 text-wrap text-sm font-normal", dangerouslySetInnerHTML: { __html: description } })] }), _jsxs("div", { className: "flex w-full flex-col space-y-2", children: [_jsx("div", { className: "grid grid-cols-7", children: dailyCheckedInData.map((item) => {
60
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex h-full w-full flex-col space-y-6 rounded-2xl border border-border-primary bg-bg-tertiary px-4 pt-5 pb-6", children: [_jsxs("div", { className: "flex flex-col space-y-2", children: [_jsxs("div", { className: "flex max-h-7.5 items-start justify-between", children: [_jsx(RemainingTime, {}), _jsx("button", { type: "button", className: "flex size-9 cursor-pointer items-center justify-center rounded-md border border-border-secondary bg-bg-primary", onClick: () => disclosure.setOpen(true), "aria-label": "View Rules", children: _jsx(InfoCircleIcon, { className: "size-5 text-text-disabled" }) })] }), _jsx("p", { className: "font-semibold text-xl", children: name }), _jsx("div", { className: "text-wrap font-normal text-sm text-text-secondary-700", dangerouslySetInnerHTML: { __html: description } })] }), _jsxs("div", { className: "flex w-full flex-col space-y-2", children: [_jsx("div", { className: "grid grid-cols-7", children: dailyCheckedInData.map((item) => {
61
61
  const done = item.day <= (checkInStreak ?? 0);
62
62
  const reward = item.reward ? (`+${formatNumber(item.reward, {
63
63
  currency: localeInfo.currency.code,
@@ -65,7 +65,7 @@ export function DailyCheckInQuest() {
65
65
  maxDecimalPlaces: 0,
66
66
  })}`) : done ? (_jsx(CheckIcon, { className: "size-4" })) : ('-');
67
67
  return (_jsx("div", { className: twMerge('flex items-center justify-center', done ? 'text-brand-400' : 'text-text-secondary-700'), children: _jsx("p", { children: reward }) }, item.day));
68
- }) }), _jsx("div", { className: "bg-bg-primary h-2 w-full overflow-hidden rounded-full", children: _jsx("div", { className: "bg-utility-brand-600 h-full rounded-full transition-all duration-300", style: { width: `${progressPercentage}%` } }) }), _jsx("div", { className: "grid grid-cols-7 place-items-center", children: dailyCheckedInData.map((item) => (_jsxs("div", { className: "text-text-secondary-700 ui-active:text-brand-400 group relative size-fit", "data-active": dataAttr(item.day <= (checkInStreak ?? 0)), children: [_jsx(CalendarIcon, { className: "h-4.5 w-auto" }), _jsx("p", { className: "absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 text-2xs leading-none", children: item.day })] }, item.day))) })] }), _jsx(Button, { onClick: () => checkInDailyQuestMutation.mutate(id), className: "disabled:bg-bg-primary disabled:text-text-disabled", disabled: status === 'COMPLETED' ||
68
+ }) }), _jsx("div", { className: "h-2 w-full overflow-hidden rounded-full bg-bg-primary", children: _jsx("div", { className: "h-full rounded-full bg-utility-brand-600 transition-all duration-300", style: { width: `${progressPercentage}%` } }) }), _jsx("div", { className: "grid grid-cols-7 place-items-center", children: dailyCheckedInData.map((item) => (_jsxs("div", { className: "group relative size-fit text-text-secondary-700 ui-active:text-brand-400", "data-active": dataAttr(item.day <= (checkInStreak ?? 0)), children: [_jsx(CalendarIcon, { className: "h-4.5 w-auto" }), _jsx("p", { className: "-translate-x-1/2 -translate-y-1/2 absolute top-1/2 left-1/2 text-2xs leading-none", children: item.day })] }, item.day))) })] }), _jsx(Button, { onClick: () => checkInDailyQuestMutation.mutate(id), className: "disabled:bg-bg-primary disabled:text-text-disabled", disabled: status === 'COMPLETED' ||
69
69
  status === 'FAILED' ||
70
70
  remainingTime.expired ||
71
71
  hasCheckedInToday ||
@@ -91,5 +91,5 @@ function Rules(props) {
91
91
  defaultValue: props.defaultOpen ?? false,
92
92
  onChange: props.onOpenChange,
93
93
  });
94
- return (_jsx(Dialog.Root, { lazyMount: true, unmountOnExit: true, open: open, onOpenChange: (details) => setOpen(details.open), closeOnEscape: false, closeOnInteractOutside: false, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, { className: "!z-[calc(var(--z-dialog)+1)]" }), _jsx(Dialog.Positioner, { className: "!z-[calc(var(--z-dialog)+2)] flex items-center justify-center", children: _jsxs(Dialog.Content, { className: "min-h-auto mx-auto max-w-[21.438rem] overflow-y-auto rounded-xl px-4 pb-0 pt-5", children: [_jsx(Dialog.CloseTrigger, { children: _jsx(XIcon, {}) }), _jsxs("div", { className: "flex flex-col space-y-5", children: [_jsx("h2", { className: "text-text-primary-900 text-lg font-semibold", children: "Daily Check-In Rules" }), _jsxs("ol", { className: "text-text-tertiary-600 group list-disc text-wrap pl-4 text-sm font-normal", children: [_jsx("li", { children: "Earn rewards just for checking in each day!" }), _jsx("li", { children: "Stay consistent to unlock special rewards on the 3rd, 5th, and 7th day." }), _jsx("li", { children: "Missing a day will reset your streak, starting again from Day 1." }), _jsx("li", { children: "Each check-in unlocks the next one on the following day." }), _jsx("li", { children: "Successfully check in for 7 consecutive days to complete the quest and reset the cycle." })] })] }), _jsx("div", { className: "pb-4 pt-6", children: _jsx(Button, { onClick: () => setOpen(false), children: "Ok" }) })] }) })] }) }));
94
+ return (_jsx(Dialog.Root, { lazyMount: true, unmountOnExit: true, open: open, onOpenChange: (details) => setOpen(details.open), closeOnEscape: false, closeOnInteractOutside: false, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, { className: "!z-[calc(var(--z-dialog)+1)]" }), _jsx(Dialog.Positioner, { className: "!z-[calc(var(--z-dialog)+2)] flex items-center justify-center", children: _jsxs(Dialog.Content, { className: "mx-auto min-h-auto max-w-[21.438rem] overflow-y-auto rounded-xl px-4 pt-5 pb-0", children: [_jsx(Dialog.CloseTrigger, { children: _jsx(XIcon, {}) }), _jsxs("div", { className: "flex flex-col space-y-5", children: [_jsx("h2", { className: "font-semibold text-lg text-text-primary-900", children: "Daily Check-In Rules" }), _jsxs("ol", { className: "group list-disc text-wrap pl-4 font-normal text-sm text-text-tertiary-600", children: [_jsx("li", { children: "Earn rewards just for checking in each day!" }), _jsx("li", { children: "Stay consistent to unlock special rewards on the 3rd, 5th, and 7th day." }), _jsx("li", { children: "Missing a day will reset your streak, starting again from Day 1." }), _jsx("li", { children: "Each check-in unlocks the next one on the following day." }), _jsx("li", { children: "Successfully check in for 7 consecutive days to complete the quest and reset the cycle." })] })] }), _jsx("div", { className: "pt-6 pb-4", children: _jsx(Button, { onClick: () => setOpen(false), children: "Ok" }) })] }) })] }) }));
95
95
  }
@@ -58,7 +58,7 @@ export function JourneyQuest() {
58
58
  const handleViewDetails = useCallback(() => {
59
59
  disclosure.setOpen(true);
60
60
  }, [disclosure]);
61
- return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "border-border-primary bg-bg-tertiary flex h-full w-full flex-col space-y-6 rounded-2xl border px-4 pb-6 pt-5", children: [_jsxs("div", { className: "flex flex-col space-y-2", children: [_jsx("div", { className: "max-h-7.5 flex items-start justify-between", children: _jsx(RemainingTime, {}) }), _jsx("p", { className: "text-xl font-semibold", children: quest?.name || 'Journey Quest' }), _jsxs("div", { className: "flex w-full items-center space-x-2", children: [_jsx(Progress.Root, { max: 100, className: "bg-bg-primary h-2 rounded-full", value: progressValue, children: _jsx(Progress.Track, { children: _jsx(Progress.Range, { className: "bg-utility-brand-600" }) }) }), _jsxs("p", { className: "text-text-quarterary-brand text-xs", children: [currentMilestone, "/", totalMilestones] })] }), _jsx("div", { className: "flex w-full flex-col space-y-3", children: milestones.map((milestone) => (_jsx(QuestMilestone, { label: milestone.label, bonus: milestone.bonus, isCompleted: milestone.isCompleted }, milestone.key))) })] }), _jsx("div", { className: "flex h-full items-end", children: _jsx(Button, { size: "sm", onClick: handleViewDetails, "aria-label": "View Details", disabled: false, className: "disabled:bg-bg-primary disabled:text-text-disabled", children: "View Details" }) })] }), _jsx(Rules, { open: disclosure.open, onOpenChange: disclosure.setOpen, quest: quest, milestones: milestones })] }));
61
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex h-full w-full flex-col space-y-6 rounded-2xl border border-border-primary bg-bg-tertiary px-4 pt-5 pb-6", children: [_jsxs("div", { className: "flex flex-col space-y-2", children: [_jsx("div", { className: "flex max-h-7.5 items-start justify-between", children: _jsx(RemainingTime, {}) }), _jsx("p", { className: "font-semibold text-xl", children: quest?.name || 'Journey Quest' }), _jsxs("div", { className: "flex w-full items-center space-x-2", children: [_jsx(Progress.Root, { max: 100, className: "h-2 rounded-full bg-bg-primary", value: progressValue, children: _jsx(Progress.Track, { children: _jsx(Progress.Range, { className: "bg-utility-brand-600" }) }) }), _jsxs("p", { className: "text-text-quarterary-brand text-xs", children: [currentMilestone, "/", totalMilestones] })] }), _jsx("div", { className: "flex w-full flex-col space-y-3", children: milestones.map((milestone) => (_jsx(QuestMilestone, { label: milestone.label, bonus: milestone.bonus, isCompleted: milestone.isCompleted }, milestone.key))) })] }), _jsx("div", { className: "flex h-full items-end", children: _jsx(Button, { size: "sm", onClick: handleViewDetails, "aria-label": "View Details", disabled: false, className: "disabled:bg-bg-primary disabled:text-text-disabled", children: "View Details" }) })] }), _jsx(Rules, { open: disclosure.open, onOpenChange: disclosure.setOpen, quest: quest, milestones: milestones })] }));
62
62
  }
63
63
  function Rules(props) {
64
64
  const [open, setOpen] = useControllableState({
@@ -81,8 +81,8 @@ function Rules(props) {
81
81
  return false;
82
82
  return milestones.every((milestone) => milestone.isCompleted);
83
83
  }, [milestones]);
84
- return (_jsx(Dialog.Root, { lazyMount: true, unmountOnExit: true, open: open, onOpenChange: (details) => setOpen(details.open), closeOnEscape: false, closeOnInteractOutside: false, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, { className: "!z-[calc(var(--z-dialog)+1)]" }), _jsx(Dialog.Positioner, { className: "!z-[calc(var(--z-dialog)+2)] flex items-center justify-center", children: _jsxs(Dialog.Content, { className: "min-h-auto mx-auto min-w-[21.438rem] max-w-[400px] overflow-y-auto rounded-xl px-4 py-5", children: [_jsx(Dialog.CloseTrigger, { children: _jsx(XIcon, {}) }), _jsxs("div", { className: "text-text-quarterary-brand group flex flex-col space-y-5 text-sm", children: [_jsx("h2", { className: "text-text-primary-900 text-lg font-semibold", children: quest?.name || 'Quest' }), _jsx("p", { children: quest?.description ||
85
- 'Ready for a challenge? Complete them all and get amazing rewards!' }), milestones.map((milestone) => (_jsxs("div", { className: "bg-bg-tertiary flex flex-col space-y-2.5 rounded-xl p-3", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("p", { className: "text-base font-medium text-white", children: milestone.label }), milestone.isCompleted && (_jsx("div", { className: "border-utility-success-200 bg-utility-success-50 text-utility-success-700 flex w-fit items-center gap-1 rounded-full border px-2 py-0.5 text-xs font-medium", children: "Complete" }))] }), milestone.description ? (_jsx(Prose, { dangerouslySetInnerHTML: {
84
+ return (_jsx(Dialog.Root, { lazyMount: true, unmountOnExit: true, open: open, onOpenChange: (details) => setOpen(details.open), closeOnEscape: false, closeOnInteractOutside: false, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, { className: "!z-[calc(var(--z-dialog)+1)]" }), _jsx(Dialog.Positioner, { className: "!z-[calc(var(--z-dialog)+2)] flex items-center justify-center", children: _jsxs(Dialog.Content, { className: "mx-auto min-h-auto min-w-[21.438rem] max-w-[400px] overflow-y-auto rounded-xl px-4 py-5", children: [_jsx(Dialog.CloseTrigger, { children: _jsx(XIcon, {}) }), _jsxs("div", { className: "group flex flex-col space-y-5 text-sm text-text-quarterary-brand", children: [_jsx("h2", { className: "font-semibold text-lg text-text-primary-900", children: quest?.name || 'Quest' }), _jsx("p", { children: quest?.description ||
85
+ 'Ready for a challenge? Complete them all and get amazing rewards!' }), milestones.map((milestone) => (_jsxs("div", { className: "flex flex-col space-y-2.5 rounded-xl bg-bg-tertiary p-3", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("p", { className: "font-medium text-base text-white", children: milestone.label }), milestone.isCompleted && (_jsx("div", { className: "flex w-fit items-center gap-1 rounded-full border border-utility-success-200 bg-utility-success-50 px-2 py-0.5 font-medium text-utility-success-700 text-xs", children: "Complete" }))] }), milestone.description ? (_jsx(Prose, { dangerouslySetInnerHTML: {
86
86
  __html: milestone.description,
87
87
  } })) : milestone.bonus ? (_jsxs("p", { className: "ml-1", children: [milestone.key === 'REGISTRATION' &&
88
88
  `Register and win Php ${milestone.bonus} Bonus`, milestone.key === 'ACCOUNT_VERIFICATION' &&
@@ -103,11 +103,11 @@ function Rules(props) {
103
103
  }
104
104
  }, "aria-label": `Complete ${milestone.label}`, children: [milestone.key === 'ACCOUNT_VERIFICATION' ? (_jsx(FileCheck02Icon, { className: "size-5" })) : (_jsx(CoinsHandIcon, { className: "size-5" })), milestone.key === 'FIRST_DEPOSIT'
105
105
  ? 'Deposit'
106
- : 'Verify Account'] }))] }, milestone.key))), quest?.bonus && (_jsx("div", { className: "flex h-full items-end", children: allMilestonesCompleted ? (_jsx(Button, { size: "sm", onClick: () => setOpen(false), "aria-label": "Close", className: "w-full", children: "Close" })) : (_jsx("div", { className: "bg-button-secondary-bg border-bg-primary-hover w-full rounded-md border px-3.5 py-2.5 text-center text-white", children: _jsxs("p", { children: ["Complete target to", ' ', _jsxs("span", { className: "text-brand-400", children: ["\u20B1", quest?.bonus] }), ' ', "bonus!"] }) })) }))] })] }) })] }) }));
106
+ : 'Verify Account'] }))] }, milestone.key))), quest?.bonus && (_jsx("div", { className: "flex h-full items-end", children: allMilestonesCompleted ? (_jsx(Button, { size: "sm", onClick: () => setOpen(false), "aria-label": "Close", className: "w-full", children: "Close" })) : (_jsx("div", { className: "w-full rounded-md border border-bg-primary-hover bg-button-secondary-bg px-3.5 py-2.5 text-center text-white", children: _jsxs("p", { children: ["Complete target to", ' ', _jsxs("span", { className: "text-brand-400", children: ["\u20B1", quest?.bonus] }), ' ', "bonus!"] }) })) }))] })] }) })] }) }));
107
107
  }
108
108
  function QuestMilestone({ label, bonus, isCompleted = false, }) {
109
109
  const localeInfo = useLocaleInfo();
110
- return (_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs(Checkbox.Root, { checked: isCompleted, children: [_jsx(Checkbox.Control, { className: "bg-transparent", children: _jsx(Checkbox.Indicator, { asChild: true, children: _jsx(CheckIcon, {}) }) }), _jsx(Checkbox.Label, { className: "text-sm font-medium leading-tight", children: label }), _jsx(Checkbox.HiddenInput, {})] }), bonus && (_jsx("div", { className: "bg-bg-secondary-alt border-border-secondary rounded-[6px] border px-1.5 py-0.5", children: _jsxs("p", { className: "text-xs font-medium leading-tight", children: ["+", formatNumber(bonus, {
110
+ return (_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs(Checkbox.Root, { checked: isCompleted, children: [_jsx(Checkbox.Control, { className: "bg-transparent", children: _jsx(Checkbox.Indicator, { asChild: true, children: _jsx(CheckIcon, {}) }) }), _jsx(Checkbox.Label, { className: "font-medium text-sm leading-tight", children: label }), _jsx(Checkbox.HiddenInput, {})] }), bonus && (_jsx("div", { className: "rounded-[6px] border border-border-secondary bg-bg-secondary-alt px-1.5 py-0.5", children: _jsxs("p", { className: "font-medium text-xs leading-tight", children: ["+", formatNumber(bonus, {
111
111
  currency: localeInfo.currency.code,
112
112
  }), ' ', "Bonus"] }) }))] }));
113
113
  }
@@ -26,7 +26,7 @@ export function OnboardingQuest() {
26
26
  })));
27
27
  const memberVerificationQuery = useMemberVerificationQuery();
28
28
  const remainingTime = useRemainingTime(quest.endDateTime);
29
- return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "border-border-primary bg-bg-tertiary flex h-full w-full flex-col space-y-6 rounded-2xl border px-4 pb-6 pt-5", children: [_jsxs("div", { className: "flex flex-col space-y-2", children: [_jsxs("div", { className: "flex max-h-7.5 items-start justify-between", children: [_jsx(RemainingTime, {}), _jsx("button", { type: "button", className: "bg-bg-primary border-border-secondary flex size-9 cursor-pointer items-center justify-center rounded-md border", onClick: () => disclosure.setOpen(true), "aria-label": "View Rules", children: _jsx(InfoCircleIcon, { className: "text-text-disabled size-5" }) })] }), _jsx("h2", { className: "text-xl font-semibold", children: quest.name }), _jsx("div", { className: "text-text-secondary-700 text-wrap text-sm font-normal", dangerouslySetInnerHTML: { __html: quest.description } })] }), _jsxs("div", { className: "w-full grow space-y-2", children: [_jsxs(Checkbox.Root, { checked: quest.accountVerificationCompleted, onCheckedChange: noop, children: [_jsx(Checkbox.Control, { className: "bg-transparent", children: _jsx(Checkbox.Indicator, { asChild: true, children: _jsx(CheckIcon, {}) }) }), _jsx(Checkbox.Label, { className: "text-sm font-medium leading-tight", children: "Complete personal verification" }), _jsx(Checkbox.HiddenInput, {})] }), _jsxs(Checkbox.Root, { checked: quest.firstDepositCompleted, onCheckedChange: noop, children: [_jsx(Checkbox.Control, { className: "bg-transparent", children: _jsx(Checkbox.Indicator, { asChild: true, children: _jsx(CheckIcon, {}) }) }), _jsx(Checkbox.Label, { className: "text-sm font-medium leading-tight", children: "Make your first deposit" }), _jsx(Checkbox.HiddenInput, {})] })] }), _jsxs("div", { className: "flex gap-lg", children: [_jsxs(Button, { size: "sm", onClick: () => {
29
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex h-full w-full flex-col space-y-6 rounded-2xl border border-border-primary bg-bg-tertiary px-4 pt-5 pb-6", children: [_jsxs("div", { className: "flex flex-col space-y-2", children: [_jsxs("div", { className: "flex max-h-7.5 items-start justify-between", children: [_jsx(RemainingTime, {}), _jsx("button", { type: "button", className: "flex size-9 cursor-pointer items-center justify-center rounded-md border border-border-secondary bg-bg-primary", onClick: () => disclosure.setOpen(true), "aria-label": "View Rules", children: _jsx(InfoCircleIcon, { className: "size-5 text-text-disabled" }) })] }), _jsx("h2", { className: "font-semibold text-xl", children: quest.name }), _jsx("div", { className: "text-wrap font-normal text-sm text-text-secondary-700", dangerouslySetInnerHTML: { __html: quest.description } })] }), _jsxs("div", { className: "w-full grow space-y-2", children: [_jsxs(Checkbox.Root, { checked: quest.accountVerificationCompleted, onCheckedChange: noop, children: [_jsx(Checkbox.Control, { className: "bg-transparent", children: _jsx(Checkbox.Indicator, { asChild: true, children: _jsx(CheckIcon, {}) }) }), _jsx(Checkbox.Label, { className: "font-medium text-sm leading-tight", children: "Complete personal verification" }), _jsx(Checkbox.HiddenInput, {})] }), _jsxs(Checkbox.Root, { checked: quest.firstDepositCompleted, onCheckedChange: noop, children: [_jsx(Checkbox.Control, { className: "bg-transparent", children: _jsx(Checkbox.Indicator, { asChild: true, children: _jsx(CheckIcon, {}) }) }), _jsx(Checkbox.Label, { className: "font-medium text-sm leading-tight", children: "Make your first deposit" }), _jsx(Checkbox.HiddenInput, {})] })] }), _jsxs("div", { className: "flex gap-lg", children: [_jsxs(Button, { size: "sm", onClick: () => {
30
30
  globalStore.kyc.setOpen(true);
31
31
  }, disabled: quest.accountVerificationCompleted ||
32
32
  quest.status === 'COMPLETED' ||
@@ -47,5 +47,5 @@ function Rules(props) {
47
47
  defaultValue: props.defaultOpen ?? false,
48
48
  onChange: props.onOpenChange,
49
49
  });
50
- return (_jsx(Dialog.Root, { lazyMount: true, unmountOnExit: true, open: open, onOpenChange: (details) => setOpen(details.open), closeOnEscape: false, closeOnInteractOutside: false, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, { className: "!z-[calc(var(--z-dialog)+1)]" }), _jsx(Dialog.Positioner, { className: "!z-[calc(var(--z-dialog)+2)] flex items-center justify-center", children: _jsxs(Dialog.Content, { className: "min-h-auto mx-auto max-w-[21.438rem] overflow-y-auto rounded-xl px-4 pb-0 pt-5", children: [_jsx(Dialog.CloseTrigger, { children: _jsx(XIcon, {}) }), _jsxs("div", { className: "flex flex-col space-y-5", children: [_jsx("h2", { className: "text-text-primary-900 text-lg font-semibold", children: "Welcome Quest Rules" }), _jsxs("ol", { className: "text-text-tertiary-600 group list-disc text-wrap pl-4 text-sm font-normal", children: [_jsx("li", { children: "Begin your quest whenever you're ready" }), _jsx("li", { children: "Tackle the tasks in any order you like" }), _jsx("li", { children: "Finish all tasks and we'll credit your reward automatically!" })] })] }), _jsx("div", { className: "pb-4 pt-6", children: _jsx(Button, { onClick: () => setOpen(false), children: "Ok" }) })] }) })] }) }));
50
+ return (_jsx(Dialog.Root, { lazyMount: true, unmountOnExit: true, open: open, onOpenChange: (details) => setOpen(details.open), closeOnEscape: false, closeOnInteractOutside: false, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, { className: "!z-[calc(var(--z-dialog)+1)]" }), _jsx(Dialog.Positioner, { className: "!z-[calc(var(--z-dialog)+2)] flex items-center justify-center", children: _jsxs(Dialog.Content, { className: "mx-auto min-h-auto max-w-[21.438rem] overflow-y-auto rounded-xl px-4 pt-5 pb-0", children: [_jsx(Dialog.CloseTrigger, { children: _jsx(XIcon, {}) }), _jsxs("div", { className: "flex flex-col space-y-5", children: [_jsx("h2", { className: "font-semibold text-lg text-text-primary-900", children: "Welcome Quest Rules" }), _jsxs("ol", { className: "group list-disc text-wrap pl-4 font-normal text-sm text-text-tertiary-600", children: [_jsx("li", { children: "Begin your quest whenever you're ready" }), _jsx("li", { children: "Tackle the tasks in any order you like" }), _jsx("li", { children: "Finish all tasks and we'll credit your reward automatically!" })] })] }), _jsx("div", { className: "pt-6 pb-4", children: _jsx(Button, { onClick: () => setOpen(false), children: "Ok" }) })] }) })] }) }));
51
51
  }
@@ -39,14 +39,14 @@ export function Quests__client(props) {
39
39
  return false;
40
40
  });
41
41
  if (questsQuery.isLoading) {
42
- return (_jsxs("div", { style: props.style, className: props.className, children: [_jsx("h2", { className: "mb-3 text-lg font-semibold", children: props.heading ?? 'Quests' }), _jsx(SpinnerIcon, { className: "mx-auto size-5 h-[50vh]" })] }));
42
+ return (_jsxs("div", { style: props.style, className: props.className, children: [_jsx("h2", { className: "mb-3 font-semibold text-lg", children: props.heading ?? 'Quests' }), _jsx(SpinnerIcon, { className: "mx-auto size-5 h-[50vh]" })] }));
43
43
  }
44
44
  if (!questsQuery.data?.length) {
45
- return (_jsxs("div", { style: props.style, className: props.className, children: [_jsx("h2", { className: "mb-3 text-lg font-semibold", children: props.heading ?? 'Quests' }), _jsxs("div", { className: "mt-11 flex flex-col items-center justify-center", children: [_jsx(Image, { src: closeChest, width: 100, height: 100, alt: "No Quests Available", className: "mix-blend-luminosity" }), _jsx("div", { className: "text-text-primary-900 mt-4 text-base font-semibold", children: props.heading ?? 'Quests' }), _jsx("div", { className: "text-text-tertiary-600 mt-1 text-center text-sm", children: "No available quests. Please check back later!" })] })] }));
45
+ return (_jsxs("div", { style: props.style, className: props.className, children: [_jsx("h2", { className: "mb-3 font-semibold text-lg", children: props.heading ?? 'Quests' }), _jsxs("div", { className: "mt-11 flex flex-col items-center justify-center", children: [_jsx(Image, { src: closeChest, width: 100, height: 100, alt: "No Quests Available", className: "mix-blend-luminosity" }), _jsx("div", { className: "mt-4 font-semibold text-base text-text-primary-900", children: props.heading ?? 'Quests' }), _jsx("div", { className: "mt-1 text-center text-sm text-text-tertiary-600", children: "No available quests. Please check back later!" })] })] }));
46
46
  }
47
- return (_jsxs("div", { style: props.style, className: props.className, children: [_jsx("h2", { className: "text-lg font-semibold", children: props.heading ?? 'Quests' }), _jsxs(SegmentGroup.Root, { value: tab, onValueChange: (details) => {
47
+ return (_jsxs("div", { style: props.style, className: props.className, children: [_jsx("h2", { className: "font-semibold text-lg", children: props.heading ?? 'Quests' }), _jsxs(SegmentGroup.Root, { value: tab, onValueChange: (details) => {
48
48
  setTab(TabDefinition.catch('AVAILABLE').parse(details.value));
49
- }, className: "lg:mt-4.5 mt-3 w-full overflow-x-auto lg:w-fit", children: [_jsxs(SegmentGroup.Item, { value: "AVAILABLE", className: "w-full lg:w-fit", children: [_jsx(SegmentGroup.ItemText, { children: "Available" }), _jsx(SegmentGroup.ItemControl, {}), _jsx(SegmentGroup.ItemHiddenInput, {})] }), _jsxs(SegmentGroup.Item, { value: "COMPLETED", className: "w-full lg:w-fit", children: [_jsx(SegmentGroup.ItemText, { children: "Completed" }), _jsx(SegmentGroup.ItemControl, {}), _jsx(SegmentGroup.ItemHiddenInput, {})] }), _jsxs(SegmentGroup.Item, { value: "FAILED", className: "w-full lg:w-fit", children: [_jsx(SegmentGroup.ItemText, { children: "Failed" }), _jsx(SegmentGroup.ItemControl, {}), _jsx(SegmentGroup.ItemHiddenInput, {})] }), _jsx(SegmentGroup.Indicator, {})] }), _jsx("div", { className: "mt-3xl gap-3xl lg:mt-lg grid lg:grid-cols-3", children: quests.map((quest) => {
49
+ }, className: "mt-3 w-full overflow-x-auto lg:mt-4.5 lg:w-fit", children: [_jsxs(SegmentGroup.Item, { value: "AVAILABLE", className: "w-full lg:w-fit", children: [_jsx(SegmentGroup.ItemText, { children: "Available" }), _jsx(SegmentGroup.ItemControl, {}), _jsx(SegmentGroup.ItemHiddenInput, {})] }), _jsxs(SegmentGroup.Item, { value: "COMPLETED", className: "w-full lg:w-fit", children: [_jsx(SegmentGroup.ItemText, { children: "Completed" }), _jsx(SegmentGroup.ItemControl, {}), _jsx(SegmentGroup.ItemHiddenInput, {})] }), _jsxs(SegmentGroup.Item, { value: "FAILED", className: "w-full lg:w-fit", children: [_jsx(SegmentGroup.ItemText, { children: "Failed" }), _jsx(SegmentGroup.ItemControl, {}), _jsx(SegmentGroup.ItemHiddenInput, {})] }), _jsx(SegmentGroup.Indicator, {})] }), _jsx("div", { className: "mt-3xl grid gap-3xl lg:mt-lg lg:grid-cols-3", children: quests.map((quest) => {
50
50
  const Quest = QUEST_COMPONENT_MAP[quest.type];
51
51
  return (_jsx(QuestContext, { value: quest, children: _jsx(Quest, {}) }, quest.id));
52
52
  }) })] }));
@@ -19,7 +19,7 @@ export function WageringQuest() {
19
19
  const localeInfo = useLocaleInfo();
20
20
  const { progressPercentage, turnover, targetTurnover, name, description, endDateTime, bonus, status, } = quest;
21
21
  const remainingTime = useRemainingTime(endDateTime);
22
- return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "border-border-primary bg-bg-tertiary flex h-full w-full flex-col space-y-6 rounded-2xl border px-4 pb-6 pt-5", children: [_jsxs("div", { className: "flex flex-col space-y-2", children: [_jsxs("div", { className: "flex max-h-7.5 items-start justify-between", children: [_jsx(RemainingTime, {}), _jsx("button", { type: "button", className: "bg-bg-primary border-border-secondary flex size-9 cursor-pointer items-center justify-center rounded-md border", onClick: () => disclosure.setOpen(true), "aria-label": "View Rules", children: _jsx(InfoCircleIcon, { className: "text-text-disabled size-5" }) })] }), _jsx("p", { className: "text-xl font-semibold", children: name }), _jsx("div", { className: "text-text-secondary-700 text-wrap text-sm font-normal", dangerouslySetInnerHTML: { __html: description } })] }), _jsxs("div", { className: "flex w-full flex-col space-y-2", children: [_jsxs("div", { className: "text-text-primary-brand group flex items-center justify-between", children: [_jsxs("p", { children: ["Progress ", parseDecimal(progressPercentage, 0).toFixed(2), "%"] }), _jsxs("p", { children: [turnover, _jsxs("span", { className: "text-text-quarterary-brand", children: ["/", targetTurnover, " ", localeInfo.currency.code] })] })] }), _jsx("div", { className: "bg-bg-primary h-2 w-full overflow-hidden rounded-full", children: _jsx("div", { className: "bg-utility-brand-600 h-full rounded-full transition-all duration-300", style: { width: `${progressPercentage}%` } }) })] }), _jsx("div", { className: "flex h-full items-end", children: _jsx("div", { className: "bg-button-secondary-bg border-bg-primary-hover w-full rounded-md border px-3.5 py-2.5 text-center text-white", children: _jsxs("p", { className: twMerge(remainingTime.expired ||
22
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex h-full w-full flex-col space-y-6 rounded-2xl border border-border-primary bg-bg-tertiary px-4 pt-5 pb-6", children: [_jsxs("div", { className: "flex flex-col space-y-2", children: [_jsxs("div", { className: "flex max-h-7.5 items-start justify-between", children: [_jsx(RemainingTime, {}), _jsx("button", { type: "button", className: "flex size-9 cursor-pointer items-center justify-center rounded-md border border-border-secondary bg-bg-primary", onClick: () => disclosure.setOpen(true), "aria-label": "View Rules", children: _jsx(InfoCircleIcon, { className: "size-5 text-text-disabled" }) })] }), _jsx("p", { className: "font-semibold text-xl", children: name }), _jsx("div", { className: "text-wrap font-normal text-sm text-text-secondary-700", dangerouslySetInnerHTML: { __html: description } })] }), _jsxs("div", { className: "flex w-full flex-col space-y-2", children: [_jsxs("div", { className: "group flex items-center justify-between text-text-primary-brand", children: [_jsxs("p", { children: ["Progress ", parseDecimal(progressPercentage, 0).toFixed(2), "%"] }), _jsxs("p", { children: [turnover, _jsxs("span", { className: "text-text-quarterary-brand", children: ["/", targetTurnover, " ", localeInfo.currency.code] })] })] }), _jsx("div", { className: "h-2 w-full overflow-hidden rounded-full bg-bg-primary", children: _jsx("div", { className: "h-full rounded-full bg-utility-brand-600 transition-all duration-300", style: { width: `${progressPercentage}%` } }) })] }), _jsx("div", { className: "flex h-full items-end", children: _jsx("div", { className: "w-full rounded-md border border-bg-primary-hover bg-button-secondary-bg px-3.5 py-2.5 text-center text-white", children: _jsxs("p", { className: twMerge(remainingTime.expired ||
23
23
  status === 'COMPLETED' ||
24
24
  status === 'FAILED'
25
25
  ? 'opacity-50 grayscale'
@@ -32,5 +32,5 @@ function Rules(props) {
32
32
  defaultValue: props.defaultOpen ?? false,
33
33
  onChange: props.onOpenChange,
34
34
  });
35
- return (_jsx(Dialog.Root, { lazyMount: true, unmountOnExit: true, open: open, onOpenChange: (details) => setOpen(details.open), closeOnEscape: false, closeOnInteractOutside: false, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, { className: "!z-[calc(var(--z-dialog)+1)]" }), _jsx(Dialog.Positioner, { className: "!z-[calc(var(--z-dialog)+2)] flex items-center justify-center", children: _jsxs(Dialog.Content, { className: "min-h-auto mx-auto max-w-[21.438rem] overflow-y-auto rounded-xl px-4 pb-0 pt-5", children: [_jsx(Dialog.CloseTrigger, { children: _jsx(XIcon, {}) }), _jsxs("div", { className: "flex flex-col space-y-5", children: [_jsx("h2", { className: "text-text-primary-900 text-lg font-semibold", children: quest.name }), _jsxs("ol", { className: "text-text-tertiary-600 group list-disc text-wrap pl-4 text-sm font-normal", children: [_jsx("li", { children: "Earn extra rewards just by playing Slots, every bet counts, win or lose!" }), _jsx("li", { children: "Reach the wagering requirement in bets to complete the quest and claim your reward." })] })] }), _jsx("div", { className: "pb-4 pt-6", children: _jsx(Button, { onClick: () => setOpen(false), children: "Ok" }) })] }) })] }) }));
35
+ return (_jsx(Dialog.Root, { lazyMount: true, unmountOnExit: true, open: open, onOpenChange: (details) => setOpen(details.open), closeOnEscape: false, closeOnInteractOutside: false, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, { className: "!z-[calc(var(--z-dialog)+1)]" }), _jsx(Dialog.Positioner, { className: "!z-[calc(var(--z-dialog)+2)] flex items-center justify-center", children: _jsxs(Dialog.Content, { className: "mx-auto min-h-auto max-w-[21.438rem] overflow-y-auto rounded-xl px-4 pt-5 pb-0", children: [_jsx(Dialog.CloseTrigger, { children: _jsx(XIcon, {}) }), _jsxs("div", { className: "flex flex-col space-y-5", children: [_jsx("h2", { className: "font-semibold text-lg text-text-primary-900", children: quest.name }), _jsxs("ol", { className: "group list-disc text-wrap pl-4 font-normal text-sm text-text-tertiary-600", children: [_jsx("li", { children: "Earn extra rewards just by playing Slots, every bet counts, win or lose!" }), _jsx("li", { children: "Reach the wagering requirement in bets to complete the quest and claim your reward." })] })] }), _jsx("div", { className: "pt-6 pb-4", children: _jsx(Button, { onClick: () => setOpen(false), children: "Ok" }) })] }) })] }) }));
36
36
  }
@@ -30,7 +30,7 @@ export function ResponsibleGaming(props) {
30
30
  globalStore.disclaimer.setOpen(true);
31
31
  }
32
32
  globalStore.responsibleGaming.setNext(null);
33
- }, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, { className: "z-popover" }), _jsx(Dialog.Positioner, { className: "z-popover", children: _jsxs(Dialog.Content, { className: twMerge('p-3xl flex h-full w-full flex-col items-start overflow-y-auto lg:mx-auto lg:h-auto lg:max-h-[80vh] lg:w-[400px]', 'scrollbar-thumb:bg-bg-quaternary scrollbar-track:bg-transparent scrollbar:h-2 scrollbar:w-2 scrollbar-thumb:rounded-full'), children: [_jsx(Image, { src: props.logo, alt: "", width: 200, height: 100, className: "mx-auto h-auto w-[7.5rem]", draggable: false }), _jsxs("div", { className: "w-full grow", children: [_jsx(Dialog.Title, { className: "text-brand-400 mt-3xl text-center text-lg font-semibold", children: "Responsible Gaming" }), _jsx(Dialog.Description, { className: "leading-2xl mt-xs text-sm", children: props.content }), _jsxs("div", { className: "gap-3xl mt-5 flex items-center justify-center", children: [_jsx(Image, { src: pagcorLogo, alt: "", height: 75, width: 88, className: "h-[5.5rem] w-auto shrink-0", draggable: false }), _jsx(Image, { src: props.responsibleGamingLogo ?? responsibleGamingLogo, alt: "", height: 62, width: 186, className: "h-[3.875rem] w-auto shrink-0", draggable: false })] })] }), _jsx(Dialog.Context, { children: (api) => (_jsx(Button, { type: "button", className: "mt-3 py-2.5", onClick: () => {
33
+ }, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, { className: "z-popover" }), _jsx(Dialog.Positioner, { className: "z-popover", children: _jsxs(Dialog.Content, { className: twMerge('flex h-full w-full flex-col items-start overflow-y-auto p-3xl lg:mx-auto lg:h-auto lg:max-h-[80vh] lg:w-[400px]', 'scrollbar:h-2 scrollbar:w-2 scrollbar-thumb:rounded-full scrollbar-thumb:bg-bg-quaternary scrollbar-track:bg-transparent'), children: [_jsx(Image, { src: props.logo, alt: "", width: 200, height: 100, className: "mx-auto h-auto w-[7.5rem]", draggable: false }), _jsxs("div", { className: "w-full grow", children: [_jsx(Dialog.Title, { className: "mt-3xl text-center font-semibold text-brand-400 text-lg", children: "Responsible Gaming" }), _jsx(Dialog.Description, { className: "mt-xs text-sm leading-2xl", children: props.content }), _jsxs("div", { className: "mt-5 flex items-center justify-center gap-3xl", children: [_jsx(Image, { src: pagcorLogo, alt: "", height: 75, width: 88, className: "h-[5.5rem] w-auto shrink-0", draggable: false }), _jsx(Image, { src: props.responsibleGamingLogo ?? responsibleGamingLogo, alt: "", height: 62, width: 186, className: "h-[3.875rem] w-auto shrink-0", draggable: false })] })] }), _jsx(Dialog.Context, { children: (api) => (_jsx(Button, { type: "button", className: "mt-3 py-2.5", onClick: () => {
34
34
  api.setOpen(false);
35
35
  }, children: "I Agree" })) })] }) })] }) }));
36
36
  }
@@ -55,9 +55,7 @@ export function Search(props) {
55
55
  }, {
56
56
  enabled: search.length >= 2,
57
57
  });
58
- const games = gamesQuery.data?.pages
59
- .map((page) => page.edges.map((edge) => edge.node))
60
- .flat() ?? [];
58
+ const games = gamesQuery.data?.pages.flatMap((page) => page.edges.map((edge) => edge.node)) ?? [];
61
59
  const empty = games.length <= 0 && gameProviders.length <= 0;
62
60
  const viewGamesUrl = (data) => {
63
61
  return props.viewGamesUrl
@@ -73,18 +71,18 @@ export function Search(props) {
73
71
  return (_jsx(Dialog.Root, { open: globalStore.search.open, onOpenChange: (details) => {
74
72
  globalStore.search.setOpen(details.open);
75
73
  setSearch('');
76
- }, lazyMount: true, unmountOnExit: true, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, {}), _jsx(Dialog.Positioner, { children: _jsxs(Dialog.Content, { className: "bg-bg-primary lg:min-h-auto mx-auto min-h-full w-full overflow-y-auto pt-xl lg:mt-[132px] lg:max-w-[1136px] lg:bg-unset lg:px-2 lg:pt-0", children: [_jsx(Dialog.Context, { children: (api) => (_jsxs("div", { className: "flex items-center justify-between px-4 lg:hidden", children: [_jsx(Image, { src: props.logo, alt: "", width: 200, height: 40, className: "h-8 w-auto" }), _jsx(IconButton, { size: "sm", colorScheme: "gray", onClick: () => api.setOpen(false), children: _jsx(XIcon, { className: "text-text-quinary size-6" }) })] })) }), _jsx("div", { className: "flex justify-end", children: _jsx(Dialog.Context, { children: (api) => (_jsx("button", { type: "button", onClick: () => api.setOpen(false), className: "hidden size-9 items-center justify-center rounded-md bg-white/20 lg:flex", children: _jsx(XIcon, { className: "size-5 text-white" }) })) }) }), _jsx("div", { className: "mt-2xl px-4 lg:mt-xl lg:px-0", children: _jsxs("div", { className: "relative", children: [_jsx(SearchLgIcon, { className: "text-text-quinary pointer-events-none absolute left-3.5 top-1/2 size-5 -translate-y-1/2" }), _jsx(DebouncedInput, { ref: inputRef, value: search, placeholder: props.placeholder ?? 'Search', onChange: setSearch }), _jsx(Presence, { present: search.length > 0, asChild: true, lazyMount: true, children: _jsx("button", { type: "button", className: "text-text-secondary-700 absolute right-3.5 top-1/2 -translate-y-1/2 cursor-pointer font-semibold", onClick: () => {
74
+ }, lazyMount: true, unmountOnExit: true, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, {}), _jsx(Dialog.Positioner, { children: _jsxs(Dialog.Content, { className: "mx-auto min-h-full w-full overflow-y-auto bg-bg-primary pt-xl lg:mt-[132px] lg:min-h-auto lg:max-w-[1136px] lg:bg-unset lg:px-2 lg:pt-0", children: [_jsx(Dialog.Context, { children: (api) => (_jsxs("div", { className: "flex items-center justify-between px-4 lg:hidden", children: [_jsx(Image, { src: props.logo, alt: "", width: 200, height: 40, className: "h-8 w-auto" }), _jsx(IconButton, { size: "sm", colorScheme: "gray", onClick: () => api.setOpen(false), children: _jsx(XIcon, { className: "size-6 text-text-quinary" }) })] })) }), _jsx("div", { className: "flex justify-end", children: _jsx(Dialog.Context, { children: (api) => (_jsx("button", { type: "button", onClick: () => api.setOpen(false), className: "hidden size-9 items-center justify-center rounded-md bg-white/20 lg:flex", children: _jsx(XIcon, { className: "size-5 text-white" }) })) }) }), _jsx("div", { className: "mt-2xl px-4 lg:mt-xl lg:px-0", children: _jsxs("div", { className: "relative", children: [_jsx(SearchLgIcon, { className: "-translate-y-1/2 pointer-events-none absolute top-1/2 left-3.5 size-5 text-text-quinary" }), _jsx(DebouncedInput, { ref: inputRef, value: search, placeholder: props.placeholder ?? 'Search', onChange: setSearch }), _jsx(Presence, { present: search.length > 0, asChild: true, lazyMount: true, children: _jsx("button", { type: "button", className: "-translate-y-1/2 absolute top-1/2 right-3.5 cursor-pointer font-semibold text-text-secondary-700", onClick: () => {
77
75
  setSearch('');
78
76
  inputRef.current?.focus();
79
- }, children: "Clear" }) })] }) }), _jsx("div", { className: "lg:bg-bg-primary lg:border-border-primary mt-2xl p-xl pb-3xl lg:mt-2 lg:max-h-[41rem] lg:overflow-y-auto lg:rounded-xl lg:border", children: search.length <= 0 ? (_jsx(Alert, { message: "Search for your favorite game or provider." })) : search.length === 1 ? (_jsx(Alert, { message: "Search requires at least 2 characters." })) : (_jsxs(_Fragment, { children: [empty && _jsx(Alert, { message: "No results found" }), !empty && (_jsxs(_Fragment, { children: [gameProviders.length > 0 && (_jsxs(_Fragment, { children: [_jsx("h2", { className: "text-lg font-semibold", children: "Providers" }), _jsx("div", { className: "mb-3xl mt-3.5 grid grid-cols-3 gap-1.5 lg:grid-cols-9 lg:gap-3.5", children: gameProviders.map((provider) => (_jsx(Link, { href: viewGamesUrl(provider), "aria-label": `View ${provider.name} games`, className: twMerge('bg-brand-800 flex h-14 w-full items-center rounded-md', classNames.providerThumbnailRoot), onClick: () => {
77
+ }, children: "Clear" }) })] }) }), _jsx("div", { className: "mt-2xl p-xl pb-3xl lg:mt-2 lg:max-h-[41rem] lg:overflow-y-auto lg:rounded-xl lg:border lg:border-border-primary lg:bg-bg-primary", children: search.length <= 0 ? (_jsx(Alert, { message: "Search for your favorite game or provider." })) : search.length === 1 ? (_jsx(Alert, { message: "Search requires at least 2 characters." })) : (_jsxs(_Fragment, { children: [empty && _jsx(Alert, { message: "No results found" }), !empty && (_jsxs(_Fragment, { children: [gameProviders.length > 0 && (_jsxs(_Fragment, { children: [_jsx("h2", { className: "font-semibold text-lg", children: "Providers" }), _jsx("div", { className: "mt-3.5 mb-3xl grid grid-cols-3 gap-1.5 lg:grid-cols-9 lg:gap-3.5", children: gameProviders.map((provider) => (_jsx(Link, { href: viewGamesUrl(provider), "aria-label": `View ${provider.name} games`, className: twMerge('flex h-14 w-full items-center rounded-md bg-brand-800', classNames.providerThumbnailRoot), onClick: () => {
80
78
  globalStore.search.setOpen(false);
81
79
  }, children: _jsx(Image, { src: props.gameProviderImages?.[provider.id] ??
82
- provider.logo, alt: "", width: 100, height: 50, className: twMerge('mx-auto h-auto w-full', classNames.providerThumbnailImage) }) }, provider.id))) })] })), games.length > 0 && (_jsxs(_Fragment, { children: [_jsx("h2", { className: "text-lg font-semibold", children: "Games" }), _jsx("div", { className: "mt-3.5 grid grid-cols-3 gap-1.5 lg:grid-cols-9 lg:gap-3.5", children: games.map((game) => (_jsxs(GameLaunchTrigger, { game: game, className: twMerge('block w-full shadow-sm', classNames.gameThumbnailRoot), onClick: () => {
80
+ provider.logo, alt: "", width: 100, height: 50, className: twMerge('mx-auto h-auto w-full', classNames.providerThumbnailImage) }) }, provider.id))) })] })), games.length > 0 && (_jsxs(_Fragment, { children: [_jsx("h2", { className: "font-semibold text-lg", children: "Games" }), _jsx("div", { className: "mt-3.5 grid grid-cols-3 gap-1.5 lg:grid-cols-9 lg:gap-3.5", children: games.map((game) => (_jsxs(GameLaunchTrigger, { game: game, className: twMerge('block w-full shadow-sm', classNames.gameThumbnailRoot), onClick: () => {
83
81
  globalStore.search.setOpen(false);
84
82
  }, children: [_jsx(Image, { src: getGameImageUrl({
85
83
  reference: game.reference,
86
84
  provider: game.provider,
87
- }), alt: "", width: 200, height: 200, loading: "lazy", unoptimized: true, className: "aspect-square w-full rounded-t-md object-cover" }), _jsx("span", { className: twMerge('bg-bg-tertiary text-text-primary-brand block w-full truncate rounded-b-md px-2 py-2.5 text-center text-xs font-semibold', classNames.gameThumbnailTitle), children: game.name })] }, game.id))) })] })), _jsx(Presence, { present: gamesQuery.hasNextPage, children: _jsx(Button, { variant: "outline", className: "mx-auto mt-12 w-fit", onClick: () => gamesQuery.fetchNextPage(), children: "Load More" }) })] }))] })) })] }) })] }) }));
85
+ }), alt: "", width: 200, height: 200, loading: "lazy", unoptimized: true, className: "aspect-square w-full rounded-t-md object-cover" }), _jsx("span", { className: twMerge('block w-full truncate rounded-b-md bg-bg-tertiary px-2 py-2.5 text-center font-semibold text-text-primary-brand text-xs', classNames.gameThumbnailTitle), children: game.name })] }, game.id))) })] })), _jsx(Presence, { present: gamesQuery.hasNextPage, children: _jsx(Button, { variant: "outline", className: "mx-auto mt-12 w-fit", onClick: () => gamesQuery.fetchNextPage(), children: "Load More" }) })] }))] })) })] }) })] }) }));
88
86
  }
89
87
  function DebouncedInput(props) {
90
88
  const [value, setValue] = useControllableState({
@@ -100,8 +98,8 @@ function DebouncedInput(props) {
100
98
  return (_jsx(Field.Input, { ref: props.ref, type: "search", value: internalValue, onChange: (e) => {
101
99
  setInternalValue(e.target.value);
102
100
  setValueDebounced(e.target.value);
103
- }, className: "pl-10 pr-16", placeholder: props.placeholder, autoComplete: "off" }));
101
+ }, className: "pr-16 pl-10", placeholder: props.placeholder, autoComplete: "off" }));
104
102
  }
105
103
  function Alert({ message }) {
106
- return (_jsxs("div", { className: "py-lg", role: "alert", "aria-live": "polite", children: [_jsx("div", { className: "bg-bg-secondary shadow-xs border-border-primary mx-auto flex size-12 items-center justify-center rounded-lg border", children: _jsx(SearchLgIcon, { className: "text-text-secondary-700 size-6" }) }), _jsx("p", { className: "text-text-secondary-700 mt-4 text-center", children: message })] }));
104
+ return (_jsxs("div", { className: "py-lg", role: "alert", "aria-live": "polite", children: [_jsx("div", { className: "mx-auto flex size-12 items-center justify-center rounded-lg border border-border-primary bg-bg-secondary shadow-xs", children: _jsx(SearchLgIcon, { className: "size-6 text-text-secondary-700" }) }), _jsx("p", { className: "mt-4 text-center text-text-secondary-700", children: message })] }));
107
105
  }
@@ -120,7 +120,7 @@ export function MobileNumberSignIn() {
120
120
  recipient: mobileNumberParser.format(data.mobileNumber),
121
121
  strict: true,
122
122
  });
123
- }), children: [_jsxs(Field.Root, { invalid: !!step1Form.formState.errors.mobileNumber, children: [_jsx(Field.Label, { children: "Mobile Number" }), _jsxs("div", { className: "relative", children: [_jsxs("div", { className: "gap-md absolute left-3.5 top-1/2 flex shrink-0 -translate-y-1/2 items-center", children: [_jsx(localeInfo.country.flag, { className: "size-5" }), _jsx("span", { className: "text-text-placeholder", children: localeInfo.mobileNumber.areaCode })] }), _jsx(Field.Input, { style: {
123
+ }), children: [_jsxs(Field.Root, { invalid: !!step1Form.formState.errors.mobileNumber, children: [_jsx(Field.Label, { children: "Mobile Number" }), _jsxs("div", { className: "relative", children: [_jsxs("div", { className: "-translate-y-1/2 absolute top-1/2 left-3.5 flex shrink-0 items-center gap-md", children: [_jsx(localeInfo.country.flag, { className: "size-5" }), _jsx("span", { className: "text-text-placeholder", children: localeInfo.mobileNumber.areaCode })] }), _jsx(Field.Input, { style: {
124
124
  paddingLeft: `calc(2.75rem + ${localeInfo.mobileNumber.areaCode.length}ch)`,
125
125
  }, ...step1Form.register('mobileNumber') })] }), _jsx(Field.ErrorText, { children: step1Form.formState.errors.mobileNumber?.message })] }), _jsx(Button, { type: "submit", className: "mt-3xl", disabled: step1Form.formState.isSubmitting, children: "Log In" }), _jsx(Controller, { control: step1Form.control, name: "termsAccepted", render: (o) => (_jsxs(Field.Root, { invalid: o.fieldState.invalid, className: "mt-xl", children: [_jsxs(Checkbox.Root, { checked: o.field.value, onCheckedChange: (details) => {
126
126
  if (details.checked === 'indeterminate')
@@ -148,10 +148,10 @@ export function MobileNumberSignIn() {
148
148
  globalStore.responsibleGaming.setNext('SIGN_IN');
149
149
  globalStore.signIn.setOpen(false);
150
150
  }
151
- }, children: "Responsible Gaming" }), ' ', "guidelines."] }), _jsx(Checkbox.HiddenInput, {})] }), _jsx(Field.ErrorText, { className: "ml-6 text-xs", children: o.fieldState.error?.message })] })) })] }), signInProps.showPublicPlayProhibition && (_jsxs("div", { className: "mt-3xl text-center text-sm", children: ["Prohibition to play in open and public places", _jsxs("div", { className: "gap-3xl h-13 mx-auto mt-5 flex w-fit items-center justify-center rounded-[60px] bg-[#1D0201] px-5 py-2", children: [_jsx("div", { className: "size-5xl flex items-center justify-center overflow-hidden rounded-full bg-white", children: _jsx(Image, { src: pagcorLogo, alt: "", draggable: false, height: 62, width: 186, className: "h-9.5 w-auto object-contain" }) }), _jsx(Image, { src: responsibleGamingLogo, alt: "", height: 62, width: 186, className: "h-10 w-auto", draggable: false })] })] })), _jsxs("div", { className: "gap-xs mt-6 flex w-full items-center justify-center text-sm", children: [_jsx("span", { className: "text-text-tertiary-600", children: "Don't have an account?" }), _jsx("button", { type: "submit", className: "text-button-tertiary-fg font-semibold", onClick: () => {
151
+ }, children: "Responsible Gaming" }), ' ', "guidelines."] }), _jsx(Checkbox.HiddenInput, {})] }), _jsx(Field.ErrorText, { className: "ml-6 text-xs", children: o.fieldState.error?.message })] })) })] }), signInProps.showPublicPlayProhibition && (_jsxs("div", { className: "mt-3xl text-center text-sm", children: ["Prohibition to play in open and public places", _jsxs("div", { className: "mx-auto mt-5 flex h-13 w-fit items-center justify-center gap-3xl rounded-[60px] bg-[#1D0201] px-5 py-2", children: [_jsx("div", { className: "flex size-5xl items-center justify-center overflow-hidden rounded-full bg-white", children: _jsx(Image, { src: pagcorLogo, alt: "", draggable: false, height: 62, width: 186, className: "h-9.5 w-auto object-contain" }) }), _jsx(Image, { src: responsibleGamingLogo, alt: "", height: 62, width: 186, className: "h-10 w-auto", draggable: false })] })] })), _jsxs("div", { className: "mt-6 flex w-full items-center justify-center gap-xs text-sm", children: [_jsx("span", { className: "text-text-tertiary-600", children: "Don't have an account?" }), _jsx("button", { type: "submit", className: "font-semibold text-button-tertiary-fg", onClick: () => {
152
152
  globalStore.signIn.setOpen(false);
153
153
  globalStore.signUp.setOpen(true);
154
- }, children: "Sign up" })] })] })), context.step === 2 && (_jsxs(_Fragment, { children: [_jsx("h2", { className: "mt-xl text-center text-lg font-semibold", children: "Check your Phone" }), _jsxs("p", { className: "text-text-secondary-700 mt-xs text-center text-sm", children: ["We\u2019ve sent a verification code to your mobile number", ' ', _jsx("span", { className: "font-semibold", children: mobileNumberParser.format(step1Form.getValues('mobileNumber')) }), ' ', "via text"] }), _jsxs("form", { ref: form2Ref, className: "mt-5", onSubmit: step2Form.handleSubmit(async ({ verificationCode }) => {
154
+ }, children: "Sign up" })] })] })), context.step === 2 && (_jsxs(_Fragment, { children: [_jsx("h2", { className: "mt-xl text-center font-semibold text-lg", children: "Check your Phone" }), _jsxs("p", { className: "mt-xs text-center text-sm text-text-secondary-700", children: ["We\u2019ve sent a verification code to your mobile number", ' ', _jsx("span", { className: "font-semibold", children: mobileNumberParser.format(step1Form.getValues('mobileNumber')) }), ' ', "via text"] }), _jsxs("form", { ref: form2Ref, className: "mt-5", onSubmit: step2Form.handleSubmit(async ({ verificationCode }) => {
155
155
  const { mobileNumber } = step1Form.getValues();
156
156
  signInMutation.mutate({
157
157
  type: 'MOBILE_NUMBER',
@@ -163,7 +163,7 @@ export function MobileNumberSignIn() {
163
163
  o.field.onBlur();
164
164
  }, otp: true, onValueComplete: () => {
165
165
  form2Ref.current?.requestSubmit();
166
- }, blurOnComplete: true, readOnly: step2Form.formState.isSubmitting, type: "numeric", children: [_jsxs(PinInput.Control, { className: "gap-md grid-cols-[1fr_1fr_1fr_auto_1fr_1fr_1fr] items-center", children: [_jsx(PinInput.Input, { index: 0 }), _jsx(PinInput.Input, { index: 1 }), _jsx(PinInput.Input, { index: 2 }), _jsx("span", { className: "text-text-placeholder-subtle text-2xl font-medium", children: "\u2013" }), _jsx(PinInput.Input, { index: 3 }), _jsx(PinInput.Input, { index: 4 }), _jsx(PinInput.Input, { index: 5 })] }), _jsx(PinInput.HiddenInput, {})] }), _jsx(Field.ErrorText, { children: o.fieldState.error?.message })] })) }), _jsx(Button, { type: "submit", className: "mt-4xl", disabled: step2Form.formState.isSubmitting, children: "Verify" }), _jsxs("div", { className: "gap-xs mt-3 flex w-full items-center justify-center text-sm", children: [_jsx("span", { className: "text-text-secondary-700", children: "Didn't recieve the code?" }), _jsx("button", { type: "button", className: "text-button-secondary-fg font-semibold", disabled: cooldown.cooling, onClick: async () => {
166
+ }, blurOnComplete: true, readOnly: step2Form.formState.isSubmitting, type: "numeric", children: [_jsxs(PinInput.Control, { className: "grid-cols-[1fr_1fr_1fr_auto_1fr_1fr_1fr] items-center gap-md", children: [_jsx(PinInput.Input, { index: 0 }), _jsx(PinInput.Input, { index: 1 }), _jsx(PinInput.Input, { index: 2 }), _jsx("span", { className: "font-medium text-2xl text-text-placeholder-subtle", children: "\u2013" }), _jsx(PinInput.Input, { index: 3 }), _jsx(PinInput.Input, { index: 4 }), _jsx(PinInput.Input, { index: 5 })] }), _jsx(PinInput.HiddenInput, {})] }), _jsx(Field.ErrorText, { children: o.fieldState.error?.message })] })) }), _jsx(Button, { type: "submit", className: "mt-4xl", disabled: step2Form.formState.isSubmitting, children: "Verify" }), _jsxs("div", { className: "mt-3 flex w-full items-center justify-center gap-xs text-sm", children: [_jsx("span", { className: "text-text-secondary-700", children: "Didn't recieve the code?" }), _jsx("button", { type: "button", className: "font-semibold text-button-secondary-fg", disabled: cooldown.cooling, onClick: async () => {
167
167
  await sendVerificationCodeMutation.mutateAsync({
168
168
  channel: 'SMS',
169
169
  recipient: mobileNumberParser.format(step1Form.getValues('mobileNumber')),
@@ -171,7 +171,7 @@ export function MobileNumberSignIn() {
171
171
  cooldown.start();
172
172
  }, children: cooldown.cooling
173
173
  ? `Resend in ${cooldown.countdown}s`
174
- : 'Resend' })] }), _jsxs("button", { type: "button", className: "text-text-tertiary-600 mt-3xl mx-auto flex w-fit items-center gap-1 text-sm font-semibold", onClick: () => {
174
+ : 'Resend' })] }), _jsxs("button", { type: "button", className: "mx-auto mt-3xl flex w-fit items-center gap-1 font-semibold text-sm text-text-tertiary-600", onClick: () => {
175
175
  context.setStep(1);
176
176
  step2Form.reset();
177
177
  cooldown.stop();
@@ -132,7 +132,7 @@ export function NameAndPasswordSignIn() {
132
132
  signInMutation.reset();
133
133
  form.setValue('secretAnswer', '');
134
134
  },
135
- }) }), _jsx(Field.ErrorText, { children: form.formState.errors.name?.message })] }), _jsx(Field.Root, { disabled: !!signInMutation.data, invalid: !!form.formState.errors.password, className: "mt-xl", children: _jsxs(PasswordInput.Root, { children: [_jsx(PasswordInput.Label, { children: "Password" }), _jsxs("div", { children: [_jsxs(PasswordInput.Control, { children: [_jsx(PasswordInput.Input, { placeholder: "Enter your password", ...form.register('password') }), _jsx(PasswordInput.VisibilityTrigger, { children: _jsx(PasswordInput.Indicator, { fallback: _jsx(EyeOffIcon, {}), asChild: true, children: _jsx(EyeIcon, {}) }) })] }), _jsx(Field.ErrorText, { children: form.formState.errors.password?.message })] }), _jsx("div", { className: "mt-2 flex justify-end", children: _jsx("button", { type: "button", tabIndex: -1, className: "text-button-tertiary-fg text-sm font-semibold", onClick: () => {
135
+ }) }), _jsx(Field.ErrorText, { children: form.formState.errors.name?.message })] }), _jsx(Field.Root, { disabled: !!signInMutation.data, invalid: !!form.formState.errors.password, className: "mt-xl", children: _jsxs(PasswordInput.Root, { children: [_jsx(PasswordInput.Label, { children: "Password" }), _jsxs("div", { children: [_jsxs(PasswordInput.Control, { children: [_jsx(PasswordInput.Input, { placeholder: "Enter your password", ...form.register('password') }), _jsx(PasswordInput.VisibilityTrigger, { children: _jsx(PasswordInput.Indicator, { fallback: _jsx(EyeOffIcon, {}), asChild: true, children: _jsx(EyeIcon, {}) }) })] }), _jsx(Field.ErrorText, { children: form.formState.errors.password?.message })] }), _jsx("div", { className: "mt-2 flex justify-end", children: _jsx("button", { type: "button", tabIndex: -1, className: "font-semibold text-button-tertiary-fg text-sm", onClick: () => {
136
136
  globalStore.forgotPassword.setOpen(true);
137
137
  dialog.setOpen(false);
138
138
  }, children: "Forgot Password" }) })] }) }), signInMutation.data && (_jsxs(Field.Root, { invalid: !!form.formState.errors.secretAnswer, className: "mt-xl", children: [_jsx(Field.Label, { children: secretQuestion }), _jsx(Field.Input, { placeholder: "Answer the security question", ...form.register('secretAnswer') }), _jsx(Field.ErrorText, { children: form.formState.errors.secretAnswer?.message })] })), _jsx(Button, { type: "submit", className: "mt-3xl", disabled: signInMutation.isPending || authenticateMutation.isPending, children: "Log In" }), _jsx(Controller, { control: form.control, name: "termsAccepted", render: (o) => (_jsxs(Field.Root, { invalid: o.fieldState.invalid, className: "mt-xl", children: [_jsxs(Checkbox.Root, { checked: o.field.value, onCheckedChange: (details) => {
@@ -161,7 +161,7 @@ export function NameAndPasswordSignIn() {
161
161
  globalStore.responsibleGaming.setNext('SIGN_IN');
162
162
  globalStore.signIn.setOpen(false);
163
163
  }
164
- }, children: "Responsible Gaming" }), ' ', "guidelines."] }), _jsx(Checkbox.HiddenInput, {})] }), _jsx(Field.ErrorText, { className: "ml-6 text-xs", children: o.fieldState.error?.message })] })) })] }), signInProps.showPublicPlayProhibition && (_jsxs("div", { className: "mt-3xl text-center text-sm", children: ["Prohibition to play in open and public places", _jsxs("div", { className: "gap-3xl h-13 mx-auto mt-5 flex w-fit items-center justify-center rounded-[60px] bg-[#1D0201] px-5 py-2", children: [_jsx("div", { className: "size-5xl flex items-center justify-center overflow-hidden rounded-full bg-white", children: _jsx(Image, { src: pagcorLogo, alt: "", draggable: false, height: 62, width: 186, className: "h-9.5 w-auto object-contain" }) }), _jsx(Image, { src: responsibleGamingLogo, alt: "", height: 62, width: 186, className: "h-10 w-auto", draggable: false })] })] })), _jsxs("div", { className: "gap-xs mt-6 flex w-full items-center justify-center text-sm", children: [_jsx("span", { className: "text-text-tertiary-600", children: "Don't have an account?" }), _jsx("button", { type: "submit", className: "text-button-tertiary-fg font-semibold", onClick: () => {
164
+ }, children: "Responsible Gaming" }), ' ', "guidelines."] }), _jsx(Checkbox.HiddenInput, {})] }), _jsx(Field.ErrorText, { className: "ml-6 text-xs", children: o.fieldState.error?.message })] })) })] }), signInProps.showPublicPlayProhibition && (_jsxs("div", { className: "mt-3xl text-center text-sm", children: ["Prohibition to play in open and public places", _jsxs("div", { className: "mx-auto mt-5 flex h-13 w-fit items-center justify-center gap-3xl rounded-[60px] bg-[#1D0201] px-5 py-2", children: [_jsx("div", { className: "flex size-5xl items-center justify-center overflow-hidden rounded-full bg-white", children: _jsx(Image, { src: pagcorLogo, alt: "", draggable: false, height: 62, width: 186, className: "h-9.5 w-auto object-contain" }) }), _jsx(Image, { src: responsibleGamingLogo, alt: "", height: 62, width: 186, className: "h-10 w-auto", draggable: false })] })] })), _jsxs("div", { className: "mt-6 flex w-full items-center justify-center gap-xs text-sm", children: [_jsx("span", { className: "text-text-tertiary-600", children: "Don't have an account?" }), _jsx("button", { type: "submit", className: "font-semibold text-button-tertiary-fg", onClick: () => {
165
165
  dialog.setOpen(false);
166
166
  globalStore.signUp.setOpen(true);
167
167
  }, children: "Sign up" })] })] }));
@@ -1,5 +1,5 @@
1
1
  import { type ImageProps } from 'next/image';
2
- import { type ReactNode } from 'react';
2
+ import type { ReactNode } from 'react';
3
3
  export interface SignInProps {
4
4
  logo: ImageProps['src'];
5
5
  siteName?: string;
@@ -1,7 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import Image, {} from 'next/image';
4
- import {} from 'react';
5
4
  import { twMerge } from 'tailwind-merge';
6
5
  import { useShallow } from 'zustand/shallow';
7
6
  import { useGlobalStore } from '../../client/hooks/useGlobalStore.js';
@@ -16,5 +15,5 @@ export function SignIn(props) {
16
15
  const signInStore = useGlobalStore(useShallow((ctx) => ctx.signIn));
17
16
  return (_jsx(SignInPropsProvider, { value: props, children: _jsx(SignInProvider, { value: signIn, children: _jsx(Dialog.Root, { open: signInStore.open, onOpenChange: (details) => {
18
17
  signInStore.setOpen(details.open);
19
- }, lazyMount: true, unmountOnExit: true, closeOnEscape: false, closeOnInteractOutside: false, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, {}), _jsx(Dialog.Positioner, { children: _jsxs(Dialog.Content, { className: twMerge('bg-bg-primary-alt p-3xl pb-4xl mx-auto h-full w-full items-start overflow-y-auto lg:h-auto lg:w-[400px] lg:rounded-xl', props.className), children: [_jsx(Dialog.CloseTrigger, { children: _jsx(XIcon, {}) }), _jsx(Image, { src: props.logo, alt: "", width: 200, height: 100, className: "h-7.5 mx-auto w-auto", draggable: false }), _jsx(SignInForm, {})] }) })] }) }) }) }));
18
+ }, lazyMount: true, unmountOnExit: true, closeOnEscape: false, closeOnInteractOutside: false, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, {}), _jsx(Dialog.Positioner, { children: _jsxs(Dialog.Content, { className: twMerge('mx-auto h-full w-full items-start overflow-y-auto bg-bg-primary-alt p-3xl pb-4xl lg:h-auto lg:w-[400px] lg:rounded-xl', props.className), children: [_jsx(Dialog.CloseTrigger, { children: _jsx(XIcon, {}) }), _jsx(Image, { src: props.logo, alt: "", width: 200, height: 100, className: "mx-auto h-7.5 w-auto", draggable: false }), _jsx(SignInForm, {})] }) })] }) }) }) }));
20
19
  }
@@ -6,5 +6,5 @@ import { useSignInContext } from './SignInContext.js';
6
6
  import { SignInMethod } from './SignInMethod.js';
7
7
  export function SignInForm() {
8
8
  const context = useSignInContext();
9
- return (_jsxs(_Fragment, { children: [context.step === 1 && (_jsxs(_Fragment, { children: [_jsx("h2", { className: "mt-xl text-center text-lg font-semibold", children: "Log in to your account" }), _jsx("p", { className: "text-text-secondary-700 mt-xs text-center text-sm", children: "Welcome back! Please enter your details." })] })), _jsx(SignInMethod, {}), context.type === 'MOBILE_NUMBER' && _jsx(MobileNumberSignIn, {}), context.type === 'NAME_AND_PASSWORD' && _jsx(NameAndPasswordSignIn, {})] }));
9
+ return (_jsxs(_Fragment, { children: [context.step === 1 && (_jsxs(_Fragment, { children: [_jsx("h2", { className: "mt-xl text-center font-semibold text-lg", children: "Log in to your account" }), _jsx("p", { className: "mt-xs text-center text-sm text-text-secondary-700", children: "Welcome back! Please enter your details." })] })), _jsx(SignInMethod, {}), context.type === 'MOBILE_NUMBER' && _jsx(MobileNumberSignIn, {}), context.type === 'NAME_AND_PASSWORD' && _jsx(NameAndPasswordSignIn, {})] }));
10
10
  }
@@ -0,0 +1,17 @@
1
+ import { type ImageProps } from 'next/image';
2
+ import { type ReactNode } from 'react';
3
+ import type { Branch } from '../../../types';
4
+ export interface SignUpProps {
5
+ logo: ImageProps['src'];
6
+ children?: ReactNode;
7
+ /** @default "/terms-and-conditions" */
8
+ termsAndConditionsUrl?: string;
9
+ termsOfUseContent?: ReactNode;
10
+ responsibleGamingContent?: ReactNode;
11
+ responsibleGamingLogo?: ImageProps['src'];
12
+ siteName?: string;
13
+ className?: string;
14
+ branches?: Branch[];
15
+ layout: 'default';
16
+ }
17
+ export declare function SignUp(props: SignUpProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,18 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import Image, {} from 'next/image';
4
+ import { Suspense } from 'react';
5
+ import { twMerge } from 'tailwind-merge';
6
+ import { useShallow } from 'zustand/shallow';
7
+ import { useGlobalStore } from '../../../client/hooks/useGlobalStore.js';
8
+ import { XIcon } from '../../../icons/XIcon.js';
9
+ import { Dialog } from '../../../ui/Dialog/index.js';
10
+ import { Portal } from '../../../ui/Portal/index.js';
11
+ import { SignUpPropsProvider } from './SignUpContext.js';
12
+ import { SignUpForm } from './SignUpForm.js';
13
+ export function SignUp(props) {
14
+ const signUpStore = useGlobalStore(useShallow((ctx) => ctx.signUp));
15
+ return (_jsx(SignUpPropsProvider, { value: props, children: _jsx(Dialog.Root, { open: signUpStore.open, onOpenChange: (details) => {
16
+ signUpStore.setOpen(details.open);
17
+ }, lazyMount: true, unmountOnExit: true, closeOnEscape: false, closeOnInteractOutside: false, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, {}), _jsx(Dialog.Positioner, { children: _jsxs(Dialog.Content, { className: twMerge('bg-bg-primary-alt mx-auto h-full w-full items-start overflow-y-auto p-3xl pb-4xl lg:h-auto lg:w-[400px] lg:rounded-xl', props.className), children: [_jsx(Dialog.CloseTrigger, { children: _jsx(XIcon, {}) }), _jsx(Image, { src: props.logo, alt: "", width: 200, height: 100, className: "mx-auto h-auto w-[120px]", draggable: false }), _jsx(Suspense, { children: _jsx(SignUpForm, {}) })] }) })] }) }) }));
18
+ }
@@ -0,0 +1,6 @@
1
+ import type { SignUpProps } from './SignUp.lazy';
2
+ export declare const SignUpPropsProvider: (props: {
3
+ value: SignUpProps;
4
+ } & {
5
+ children?: import("react").ReactNode | undefined;
6
+ }) => React.ReactNode, useSignUpPropsContext: () => SignUpProps;
@@ -0,0 +1,2 @@
1
+ import { createContext } from '../../../client/utils/createContext.js';
2
+ export const [SignUpPropsProvider, useSignUpPropsContext] = createContext();
@@ -14,5 +14,5 @@ export function SignUpDefault(props) {
14
14
  const signUpStore = useGlobalStore(useShallow((ctx) => ctx.signUp));
15
15
  return (_jsx(SignUpDefaultPropsProvider, { value: props, children: _jsx(Dialog.Root, { open: signUpStore.open, onOpenChange: (details) => {
16
16
  signUpStore.setOpen(details.open);
17
- }, lazyMount: true, unmountOnExit: true, closeOnEscape: false, closeOnInteractOutside: false, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, {}), _jsx(Dialog.Positioner, { children: _jsxs(Dialog.Content, { className: twMerge('bg-bg-primary-alt p-3xl pb-4xl mx-auto h-full w-full items-start overflow-y-auto lg:h-fit lg:w-[400px] lg:rounded-xl', 'scrollbar-thumb:bg-bg-quaternary scrollbar-track:bg-transparent scrollbar:h-2 scrollbar:w-2 scrollbar-thumb:rounded-full', props.className), children: [_jsx(Dialog.CloseTrigger, { children: _jsx(XIcon, {}) }), _jsx(Image, { src: props.logo, alt: "", width: 200, height: 100, className: "mx-auto h-auto w-[120px]", draggable: false }), _jsx(Suspense, { children: _jsx(SignUpDefaultForm, {}) })] }) })] }) }) }));
17
+ }, lazyMount: true, unmountOnExit: true, closeOnEscape: false, closeOnInteractOutside: false, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, {}), _jsx(Dialog.Positioner, { children: _jsxs(Dialog.Content, { className: twMerge('mx-auto h-full w-full items-start overflow-y-auto bg-bg-primary-alt p-3xl pb-4xl lg:h-fit lg:w-[400px] lg:rounded-xl', 'scrollbar:h-2 scrollbar:w-2 scrollbar-thumb:rounded-full scrollbar-thumb:bg-bg-quaternary scrollbar-track:bg-transparent', props.className), children: [_jsx(Dialog.CloseTrigger, { children: _jsx(XIcon, {}) }), _jsx(Image, { src: props.logo, alt: "", width: 200, height: 100, className: "mx-auto h-auto w-[120px]", draggable: false }), _jsx(Suspense, { children: _jsx(SignUpDefaultForm, {}) })] }) })] }) }) }));
18
18
  }
@@ -149,7 +149,7 @@ export function SignUpDefaultForm() {
149
149
  const form2Ref = useRef(null);
150
150
  const birthDay = step1Form.watch('birthDay');
151
151
  const branchCode = step1Form.watch('branchCode', '');
152
- return (_jsxs(_Fragment, { children: [step === 1 && (_jsxs(_Fragment, { children: [_jsx("h2", { className: "mt-xl text-center text-lg font-semibold", children: "Create an account" }), _jsx("p", { className: "text-text-secondary-700 mt-xs text-center text-sm", children: "Register instantly and start playing!" }), _jsxs("form", { className: "mt-3xl", autoComplete: "off", onSubmit: step1Form.handleSubmit(async (data) => {
152
+ return (_jsxs(_Fragment, { children: [step === 1 && (_jsxs(_Fragment, { children: [_jsx("h2", { className: "mt-xl text-center font-semibold text-lg", children: "Create an account" }), _jsx("p", { className: "mt-xs text-center text-sm text-text-secondary-700", children: "Register instantly and start playing!" }), _jsxs("form", { className: "mt-3xl", autoComplete: "off", onSubmit: step1Form.handleSubmit(async (data) => {
153
153
  try {
154
154
  await sendVerificationCodeMutation.mutateAsync({
155
155
  channel: 'SMS',
@@ -165,7 +165,7 @@ export function SignUpDefaultForm() {
165
165
  : 'Failed to send verification code',
166
166
  });
167
167
  }
168
- }), children: [_jsxs(Field.Root, { invalid: !!step1Form.formState.errors.mobileNumber, children: [_jsx(Field.Label, { children: "Mobile Number" }), _jsxs("div", { className: "relative", children: [_jsxs("div", { className: "gap-md absolute left-3.5 top-1/2 flex shrink-0 -translate-y-1/2 items-center", children: [_jsx(localeInfo.country.flag, { className: "size-5" }), _jsx("span", { className: "text-text-placeholder", children: localeInfo.mobileNumber.areaCode })] }), _jsx(Field.Input, { style: {
168
+ }), children: [_jsxs(Field.Root, { invalid: !!step1Form.formState.errors.mobileNumber, children: [_jsx(Field.Label, { children: "Mobile Number" }), _jsxs("div", { className: "relative", children: [_jsxs("div", { className: "-translate-y-1/2 absolute top-1/2 left-3.5 flex shrink-0 items-center gap-md", children: [_jsx(localeInfo.country.flag, { className: "size-5" }), _jsx("span", { className: "text-text-placeholder", children: localeInfo.mobileNumber.areaCode })] }), _jsx(Field.Input, { style: {
169
169
  paddingLeft: `calc(2.75rem + ${localeInfo.mobileNumber.areaCode.length}ch)`,
170
170
  }, ...step1Form.register('mobileNumber') })] }), _jsx(Field.ErrorText, { children: step1Form.formState.errors.mobileNumber?.message })] }), _jsxs(Field.Root, { invalid: !!step1Form.formState.errors.realName, className: "mt-xl", children: [_jsx(Field.Label, { children: "Real Name" }), _jsx(Field.Input, { placeholder: "Enter your real name", ...step1Form.register('realName') }), _jsx(Field.ErrorText, { children: step1Form.formState.errors.realName?.message })] }), _jsxs(Field.Root, { invalid: !!step1Form.formState.errors.birthDay, className: "mt-xl", children: [_jsx(DateOfBirthField, { value: birthDay, onChange: (value) => {
171
171
  if (!value)
@@ -188,7 +188,7 @@ export function SignUpDefaultForm() {
188
188
  placement: 'bottom',
189
189
  }, lazyMount: true, unmountOnExit: true, children: [_jsxs(Select.Label, { className: "flex items-center gap-1", children: ["Branch", _jsxs(Tooltip.Root, { openDelay: 0, closeDelay: 100, lazyMount: true, unmountOnExit: true, positioning: {
190
190
  placement: 'top',
191
- }, children: [_jsx(Tooltip.Trigger, { children: _jsx(HelpCircleIcon, { className: "text-text-nav-item-button-icon size-4" }) }), _jsx(Tooltip.Positioner, { children: _jsxs(Tooltip.Content, { children: [_jsx(Tooltip.Arrow, { children: _jsx(Tooltip.ArrowTip, {}) }), "Choose branch closest to your residence."] }) })] })] }), _jsxs(Select.Trigger, { children: [_jsx(Select.ValueText, {}), _jsx(Select.Indicator, { asChild: true, children: _jsx(ChevronDownIcon, {}) })] }), _jsx(Select.Positioner, { children: _jsx(Select.Content, { children: branchCollection.items.map((item) => {
191
+ }, children: [_jsx(Tooltip.Trigger, { children: _jsx(HelpCircleIcon, { className: "size-4 text-text-nav-item-button-icon" }) }), _jsx(Tooltip.Positioner, { children: _jsxs(Tooltip.Content, { children: [_jsx(Tooltip.Arrow, { children: _jsx(Tooltip.ArrowTip, {}) }), "Choose branch closest to your residence."] }) })] })] }), _jsxs(Select.Trigger, { children: [_jsx(Select.ValueText, {}), _jsx(Select.Indicator, { asChild: true, children: _jsx(ChevronDownIcon, {}) })] }), _jsx(Select.Positioner, { children: _jsx(Select.Content, { children: branchCollection.items.map((item) => {
192
192
  const label = branchCollection.stringifyItem(item) ?? '';
193
193
  return (_jsx(Select.Item, { item: item, "aria-disabled": item.disabled, className: twMerge(item.disabled && 'text-border-disabled'), children: _jsx("div", { title: label, className: "line-clamp-1", children: label }) }, item.code));
194
194
  }) }) })] }), _jsx(Field.ErrorText, { children: step1Form.formState.errors.branchCode?.message })] })), _jsx(Controller, { control: step1Form.control, name: "termsAccepted", render: (o) => (_jsxs(Field.Root, { className: "mt-2xl", invalid: o.fieldState.invalid, children: [_jsxs(Checkbox.Root, { checked: o.field.value, onCheckedChange: (details) => {
@@ -217,10 +217,10 @@ export function SignUpDefaultForm() {
217
217
  globalStore.responsibleGaming.setNext('SIGN_UP');
218
218
  globalStore.signUp.setOpen(false);
219
219
  }
220
- }, children: "Responsible Gaming" }), ' ', "guidelines."] }), _jsx(Checkbox.HiddenInput, {})] }), _jsx(Field.ErrorText, { className: "ml-6 text-xs", children: o.fieldState.error?.message })] })) }), _jsx(Button, { type: "submit", className: "mt-3xl", disabled: step1Form.formState.isSubmitting, children: "Create Account" })] }), signUpProps.showPublicPlayProhibition && (_jsxs("div", { className: "mt-3xl text-center text-sm", children: ["Prohibition to play in open and public places", _jsxs("div", { className: "gap-3xl h-13 mx-auto mt-5 flex w-fit items-center justify-center rounded-[60px] bg-[#1D0201] px-5 py-2", children: [_jsx("div", { className: "size-5xl flex items-center justify-center overflow-hidden rounded-full bg-white", children: _jsx(Image, { src: pagcorLogo, alt: "", draggable: false, height: 62, width: 186, className: "h-9.5 w-auto object-contain" }) }), _jsx(Image, { src: responsibleGamingLogo, alt: "", height: 62, width: 186, className: "h-10 w-auto", draggable: false })] })] })), _jsxs("div", { className: "gap-xs mt-6 flex w-full items-center justify-center text-sm", children: [_jsx("span", { className: "text-text-tertiary-600", children: "Already have an account?" }), _jsx("button", { type: "submit", className: "text-button-tertiary-fg font-semibold", onClick: () => {
220
+ }, children: "Responsible Gaming" }), ' ', "guidelines."] }), _jsx(Checkbox.HiddenInput, {})] }), _jsx(Field.ErrorText, { className: "ml-6 text-xs", children: o.fieldState.error?.message })] })) }), _jsx(Button, { type: "submit", className: "mt-3xl", disabled: step1Form.formState.isSubmitting, children: "Create Account" })] }), signUpProps.showPublicPlayProhibition && (_jsxs("div", { className: "mt-3xl text-center text-sm", children: ["Prohibition to play in open and public places", _jsxs("div", { className: "mx-auto mt-5 flex h-13 w-fit items-center justify-center gap-3xl rounded-[60px] bg-[#1D0201] px-5 py-2", children: [_jsx("div", { className: "flex size-5xl items-center justify-center overflow-hidden rounded-full bg-white", children: _jsx(Image, { src: pagcorLogo, alt: "", draggable: false, height: 62, width: 186, className: "h-9.5 w-auto object-contain" }) }), _jsx(Image, { src: responsibleGamingLogo, alt: "", height: 62, width: 186, className: "h-10 w-auto", draggable: false })] })] })), _jsxs("div", { className: "mt-6 flex w-full items-center justify-center gap-xs text-sm", children: [_jsx("span", { className: "text-text-tertiary-600", children: "Already have an account?" }), _jsx("button", { type: "submit", className: "font-semibold text-button-tertiary-fg", onClick: () => {
221
221
  globalStore.signUp.setOpen(false);
222
222
  globalStore.signIn.setOpen(true);
223
- }, children: "Log In" })] })] })), step === 2 && (_jsxs(_Fragment, { children: [_jsx("h2", { className: "mt-xl text-center text-lg font-semibold", children: "Check your Phone" }), _jsxs("p", { className: "text-text-secondary-700 mt-xs text-center text-sm", children: ["We\u2019ve sent a verification code to your mobile number", ' ', _jsx("span", { className: "font-semibold", children: mobileNumberParser.format(step1Form.getValues('mobileNumber')) }), ' ', "via text"] }), _jsxs("form", { ref: form2Ref, className: "mt-5", onSubmit: step2Form.handleSubmit(async ({ verificationCode }) => {
223
+ }, children: "Log In" })] })] })), step === 2 && (_jsxs(_Fragment, { children: [_jsx("h2", { className: "mt-xl text-center font-semibold text-lg", children: "Check your Phone" }), _jsxs("p", { className: "mt-xs text-center text-sm text-text-secondary-700", children: ["We\u2019ve sent a verification code to your mobile number", ' ', _jsx("span", { className: "font-semibold", children: mobileNumberParser.format(step1Form.getValues('mobileNumber')) }), ' ', "via text"] }), _jsxs("form", { ref: form2Ref, className: "mt-5", onSubmit: step2Form.handleSubmit(async ({ verificationCode }) => {
224
224
  const id = ObjectId.generate(ObjectType.MemberAccount).toString();
225
225
  const { mobileNumber } = step1Form.getValues();
226
226
  try {
@@ -291,7 +291,7 @@ export function SignUpDefaultForm() {
291
291
  o.field.onChange(details.value);
292
292
  }, onValueComplete: () => {
293
293
  form2Ref.current?.requestSubmit();
294
- }, blurOnComplete: true, readOnly: step2Form.formState.isSubmitting, type: "numeric", children: [_jsxs(PinInput.Control, { className: "gap-md grid-cols-[1fr_1fr_1fr_auto_1fr_1fr_1fr] items-center", children: [_jsx(PinInput.Input, { index: 0 }), _jsx(PinInput.Input, { index: 1 }), _jsx(PinInput.Input, { index: 2 }), _jsx("span", { className: "text-text-placeholder-subtle text-2xl font-medium", children: "\u2013" }), _jsx(PinInput.Input, { index: 3 }), _jsx(PinInput.Input, { index: 4 }), _jsx(PinInput.Input, { index: 5 })] }), _jsx(PinInput.HiddenInput, {})] }), _jsx(Field.ErrorText, { children: o.formState.errors.verificationCode?.message })] })) }), _jsx(Button, { type: "submit", className: "mt-4xl", disabled: step2Form.formState.isSubmitting, children: "Verify" }), _jsxs("div", { className: "gap-xs mt-3 flex w-full items-center justify-center text-sm", children: [_jsx("span", { className: "text-text-secondary-700", children: "Didn't recieve the code?" }), _jsx("button", { type: "button", className: "text-button-secondary-fg font-semibold disabled:cursor-not-allowed disabled:opacity-75", disabled: cooldown.cooling, onClick: async () => {
294
+ }, blurOnComplete: true, readOnly: step2Form.formState.isSubmitting, type: "numeric", children: [_jsxs(PinInput.Control, { className: "grid-cols-[1fr_1fr_1fr_auto_1fr_1fr_1fr] items-center gap-md", children: [_jsx(PinInput.Input, { index: 0 }), _jsx(PinInput.Input, { index: 1 }), _jsx(PinInput.Input, { index: 2 }), _jsx("span", { className: "font-medium text-2xl text-text-placeholder-subtle", children: "\u2013" }), _jsx(PinInput.Input, { index: 3 }), _jsx(PinInput.Input, { index: 4 }), _jsx(PinInput.Input, { index: 5 })] }), _jsx(PinInput.HiddenInput, {})] }), _jsx(Field.ErrorText, { children: o.formState.errors.verificationCode?.message })] })) }), _jsx(Button, { type: "submit", className: "mt-4xl", disabled: step2Form.formState.isSubmitting, children: "Verify" }), _jsxs("div", { className: "mt-3 flex w-full items-center justify-center gap-xs text-sm", children: [_jsx("span", { className: "text-text-secondary-700", children: "Didn't recieve the code?" }), _jsx("button", { type: "button", className: "font-semibold text-button-secondary-fg disabled:cursor-not-allowed disabled:opacity-75", disabled: cooldown.cooling, onClick: async () => {
295
295
  await sendVerificationCodeMutation.mutateAsync({
296
296
  channel: 'SMS',
297
297
  recipient: mobileNumberParser.format(step1Form.getValues('mobileNumber')),
@@ -299,7 +299,7 @@ export function SignUpDefaultForm() {
299
299
  cooldown.start();
300
300
  }, children: cooldown.cooling
301
301
  ? `Resend in ${cooldown.countdown}s`
302
- : 'Resend' })] }), _jsxs("button", { type: "button", className: "text-text-tertiary-600 mt-3xl mx-auto flex w-fit items-center gap-1 text-sm font-semibold", onClick: () => {
302
+ : 'Resend' })] }), _jsxs("button", { type: "button", className: "mx-auto mt-3xl flex w-fit items-center gap-1 font-semibold text-sm text-text-tertiary-600", onClick: () => {
303
303
  setStep(1);
304
304
  step2Form.reset();
305
305
  cooldown.stop();
@@ -0,0 +1 @@
1
+ export declare function SignUpForm(): import("react/jsx-runtime").JSX.Element;