@opexa/portal-components 0.0.350 → 0.0.352

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 (205) hide show
  1. package/dist/components/AccountInfo/AccountInfo.js +4 -0
  2. package/dist/components/DepositWithdrawal/Withdrawal/InstapayWithdrawal/InstapayWithdrawal.js +40 -12
  3. package/dist/components/DigitainLauncher/Loading.js +1 -1
  4. package/dist/components/Disclaimer/ResponsibleGaming.d.ts +10 -0
  5. package/dist/components/Disclaimer/ResponsibleGaming.js +13 -0
  6. package/dist/components/Disclaimer/TermsOfUse.d.ts +11 -0
  7. package/dist/components/Disclaimer/TermsOfUse.js +13 -0
  8. package/dist/components/FeatureFlag/FeatureFlag.d.ts +1 -0
  9. package/dist/components/FeatureFlag/FeatureFlag.js +29 -0
  10. package/dist/components/FeatureFlag/index.d.ts +1 -0
  11. package/dist/components/FeatureFlag/index.js +1 -0
  12. package/dist/components/Jackpots/JackpotsCarousel/JackpotsCarouselItem.module.css +184 -184
  13. package/dist/components/Jackpots/JackpotsList/JackpotsListItem.module.css +184 -184
  14. package/dist/components/KYC/AutoOpen.d.ts +1 -0
  15. package/dist/components/KYC/AutoOpen.js +40 -0
  16. package/dist/components/KYC/BasicInformation.js +1 -1
  17. package/dist/components/KYC/CaptureIdDocument.d.ts +1 -0
  18. package/dist/components/KYC/CaptureIdDocument.js +219 -0
  19. package/dist/components/KYC/CaptureSelfie.d.ts +1 -0
  20. package/dist/components/KYC/CaptureSelfie.js +285 -0
  21. package/dist/components/KYC/DisplayImage.d.ts +5 -0
  22. package/dist/components/KYC/DisplayImage.js +8 -0
  23. package/dist/components/KYC/FileUpload.d.ts +10 -0
  24. package/dist/components/KYC/FileUpload.js +72 -0
  25. package/dist/components/KYC/IdentityVerification.js +1 -1
  26. package/dist/components/KYC/KYC.lazy.js +1 -1
  27. package/dist/components/KYC/NoCameraError.d.ts +7 -0
  28. package/dist/components/KYC/NoCameraError.js +6 -0
  29. package/dist/components/KYC/PersonOverlayDesktop.d.ts +7 -0
  30. package/dist/components/KYC/PersonOverlayDesktop.js +9 -0
  31. package/dist/components/KYC/PersonalInformation.js +1 -1
  32. package/dist/components/KYC/backup/Header.d.ts +1 -0
  33. package/dist/components/KYC/backup/Header.js +8 -0
  34. package/dist/components/KYC/backup/Indicator.d.ts +1 -0
  35. package/dist/components/KYC/backup/Indicator.js +9 -0
  36. package/dist/components/KYC/backup/KYC.d.ts +1 -0
  37. package/dist/components/KYC/backup/KYC.js +14 -0
  38. package/dist/components/KYC/backup/KYC.lazy.d.ts +1 -0
  39. package/dist/components/KYC/backup/KYC.lazy.js +26 -0
  40. package/dist/components/KYC/backup/KYCContext.d.ts +6 -0
  41. package/dist/components/KYC/backup/KYCContext.js +2 -0
  42. package/dist/components/KYC/backup/Step1.d.ts +1 -0
  43. package/dist/components/KYC/backup/Step1.js +13 -0
  44. package/dist/components/KYC/backup/Step2.d.ts +1 -0
  45. package/dist/components/KYC/backup/Step2.js +13 -0
  46. package/dist/components/KYC/backup/Step3.d.ts +1 -0
  47. package/dist/components/KYC/backup/Step3.js +13 -0
  48. package/dist/components/KYC/backup/Step4.d.ts +1 -0
  49. package/dist/components/KYC/backup/Step4.js +7 -0
  50. package/dist/components/KYC/backup/useKYC.d.ts +10 -0
  51. package/dist/components/KYC/backup/useKYC.js +8 -0
  52. package/dist/components/KYC/loadModels.d.ts +1 -0
  53. package/dist/components/KYC/loadModels.js +9 -0
  54. package/dist/components/KYC/utils.d.ts +9 -0
  55. package/dist/components/KYC/utils.js +79 -0
  56. package/dist/components/Messages/Message.d.ts +1 -0
  57. package/dist/components/Messages/Message.js +35 -0
  58. package/dist/components/Messages/MessageContext.d.ts +6 -0
  59. package/dist/components/Messages/MessageContext.js +2 -0
  60. package/dist/components/Messages/MessagePopup.d.ts +1 -0
  61. package/dist/components/Messages/MessagePopup.js +20 -0
  62. package/dist/components/Messages/MessageTrigger.d.ts +8 -0
  63. package/dist/components/Messages/MessageTrigger.js +19 -0
  64. package/dist/components/Quests/CountdownTimer.d.ts +15 -0
  65. package/dist/components/Quests/CountdownTimer.js +33 -0
  66. package/dist/components/Quests/DailyCheckInQuest/DailyCheckInQuest.d.ts +4 -0
  67. package/dist/components/Quests/DailyCheckInQuest/DailyCheckInQuest.js +78 -0
  68. package/dist/components/Quests/DailyCheckInQuest/DailyCheckInQuestModal.d.ts +8 -0
  69. package/dist/components/Quests/DailyCheckInQuest/DailyCheckInQuestModal.js +9 -0
  70. package/dist/components/Quests/OnboardingQuest/OnboardingQuest.d.ts +4 -0
  71. package/dist/components/Quests/OnboardingQuest/OnboardingQuest.js +4 -0
  72. package/dist/components/Quests/WageringQuest/WageringQuest.d.ts +4 -0
  73. package/dist/components/Quests/WageringQuest/WageringQuest.js +20 -0
  74. package/dist/components/Quests/WageringQuest/WageringQuestModal.d.ts +9 -0
  75. package/dist/components/Quests/WageringQuest/WageringQuestModal.js +9 -0
  76. package/dist/components/SignIn/utils.d.ts +8 -0
  77. package/dist/components/SignIn/utils.js +26 -0
  78. package/dist/components/SignUp/SignUp.lazy.d.ts +12 -0
  79. package/dist/components/SignUp/SignUp.lazy.js +18 -0
  80. package/dist/components/SignUp/SignUpContext.d.ts +6 -0
  81. package/dist/components/SignUp/SignUpContext.js +2 -0
  82. package/dist/components/SignUp/SignUpDefault/SignUp.lazy.d.ts +17 -0
  83. package/dist/components/SignUp/SignUpDefault/SignUp.lazy.js +18 -0
  84. package/dist/components/SignUp/SignUpDefault/SignUpContext.d.ts +6 -0
  85. package/dist/components/SignUp/SignUpDefault/SignUpContext.js +2 -0
  86. package/dist/components/SignUp/SignUpDefault/SignUpForm.d.ts +1 -0
  87. package/dist/components/SignUp/SignUpDefault/SignUpForm.js +310 -0
  88. package/dist/components/SignUp/SignUpForm.d.ts +1 -0
  89. package/dist/components/SignUp/SignUpForm.js +284 -0
  90. package/dist/components/SignUp/SignUpKYC/CaptureIdDocument.d.ts +1 -0
  91. package/dist/components/SignUp/SignUpKYC/CaptureIdDocument.js +198 -0
  92. package/dist/components/SignUp/SignUpKYC/CaptureSelfie.d.ts +1 -0
  93. package/dist/components/SignUp/SignUpKYC/CaptureSelfie.js +251 -0
  94. package/dist/components/SignUp/SignUpKYC/ImageUploader.d.ts +10 -0
  95. package/dist/components/SignUp/SignUpKYC/ImageUploader.js +42 -0
  96. package/dist/components/SignUp/SignUpKYC/PersonOverlayDesktop.d.ts +7 -0
  97. package/dist/components/SignUp/SignUpKYC/PersonOverlayDesktop.js +9 -0
  98. package/dist/components/SignUp/SignUpKYC/SignUpFormKYC.d.ts +1 -0
  99. package/dist/components/SignUp/SignUpKYC/SignUpFormKYC.js +464 -0
  100. package/dist/components/SignUp/SignUpKYC/useImageUploader.d.ts +11 -0
  101. package/dist/components/SignUp/SignUpKYC/useImageUploader.js +20 -0
  102. package/dist/components/SignUp/SignUpKYC/utils.d.ts +9 -0
  103. package/dist/components/SignUp/SignUpKYC/utils.js +79 -0
  104. package/dist/components/SignUp/SignUpPagcor/CaptureIdDocument.d.ts +1 -0
  105. package/dist/components/SignUp/SignUpPagcor/CaptureIdDocument.js +198 -0
  106. package/dist/components/SignUp/SignUpPagcor/CaptureSelfie.d.ts +1 -0
  107. package/dist/components/SignUp/SignUpPagcor/CaptureSelfie.js +251 -0
  108. package/dist/components/SignUp/SignUpPagcor/ImageUploader.d.ts +10 -0
  109. package/dist/components/SignUp/SignUpPagcor/ImageUploader.js +41 -0
  110. package/dist/components/SignUp/SignUpPagcor/SignUpFormPagcor.d.ts +1 -0
  111. package/dist/components/SignUp/SignUpPagcor/SignUpFormPagcor.js +429 -0
  112. package/dist/components/SignUp/SignUpPagcor/SignUpPagcor.lazy.d.ts +13 -0
  113. package/dist/components/SignUp/SignUpPagcor/SignUpPagcor.lazy.js +26 -0
  114. package/dist/components/SignUp/SignUpPagcor/SignUpPagcorContext.d.ts +7 -0
  115. package/dist/components/SignUp/SignUpPagcor/SignUpPagcorContext.js +2 -0
  116. package/dist/components/SignUp/SignUpPagcor/useImageUploader.d.ts +11 -0
  117. package/dist/components/SignUp/SignUpPagcor/useImageUploader.js +20 -0
  118. package/dist/components/Tournaments/TournamentsCarousel/TournamentsCarouselItem.module.css +184 -184
  119. package/dist/components/Tournaments/TournamentsList/TournamentItem.module.css +184 -184
  120. package/dist/components/shared/IdDocumentField.client.d.ts +25 -0
  121. package/dist/components/shared/IdDocumentField.client.js +204 -0
  122. package/dist/components/shared/IdDocumentField.d.ts +2 -0
  123. package/dist/components/shared/IdDocumentField.js +11 -0
  124. package/dist/components/shared/SelfieField.client.d.ts +20 -0
  125. package/dist/components/shared/SelfieField.client.js +327 -0
  126. package/dist/components/shared/SelfieField.d.ts +2 -0
  127. package/dist/components/shared/SelfieField.js +11 -0
  128. package/dist/constants/BranchCode.d.ts +4 -0
  129. package/dist/constants/BranchCode.js +42 -0
  130. package/dist/constants/Branches.d.ts +2 -0
  131. package/dist/constants/Branches.js +42 -0
  132. package/dist/handlers/getSession.js +6 -7
  133. package/dist/handlers/index.d.ts +7 -7
  134. package/dist/handlers/postAuthenticate.js +3 -7
  135. package/dist/handlers/postSession.js +3 -7
  136. package/dist/handlers/postTransformIdFrontImage.d.ts +3 -0
  137. package/dist/handlers/postTransformIdFrontImage.js +67 -0
  138. package/dist/handlers/postTransformSelfieImage.d.ts +3 -0
  139. package/dist/handlers/postTransformSelfieImage.js +71 -0
  140. package/dist/handlers.d.ts +43 -0
  141. package/dist/handlers.js +297 -0
  142. package/dist/icons/BellRingIcon.d.ts +2 -0
  143. package/dist/icons/BellRingIcon.js +4 -0
  144. package/dist/services/queries.js +2651 -2651
  145. package/dist/styles/theme.css +706 -706
  146. package/dist/third-parties/FacebookPixel/FacebookPixel.d.ts +4 -0
  147. package/dist/third-parties/FacebookPixel/FacebookPixel.js +4 -0
  148. package/dist/third-parties/FacebookPixel/api.d.ts +0 -0
  149. package/dist/third-parties/FacebookPixel/api.js +1 -0
  150. package/dist/third-parties/FacebookPixel/index.d.ts +1 -0
  151. package/dist/third-parties/FacebookPixel/index.js +1 -0
  152. package/dist/third-parties/GoogleRecaptcha/GoogleRecaptcha.d.ts +4 -0
  153. package/dist/third-parties/GoogleRecaptcha/GoogleRecaptcha.js +4 -0
  154. package/dist/third-parties/GoogleRecaptcha/api.d.ts +0 -0
  155. package/dist/third-parties/GoogleRecaptcha/api.js +1 -0
  156. package/dist/third-parties/GoogleRecaptcha/index.d.ts +1 -0
  157. package/dist/third-parties/GoogleRecaptcha/index.js +1 -0
  158. package/dist/third-parties/index.d.ts +2 -0
  159. package/dist/third-parties/index.js +2 -0
  160. package/dist/ui/AlertDialog/AlertDialog.d.ts +55 -55
  161. package/dist/ui/AlertDialog/alertDialog.recipe.d.ts +5 -5
  162. package/dist/ui/Carousel/Carousel.d.ts +45 -45
  163. package/dist/ui/Carousel/carousel.recipe.d.ts +5 -5
  164. package/dist/ui/Combobox/Combobox.d.ts +42 -42
  165. package/dist/ui/Combobox/combobox.recipe.d.ts +3 -3
  166. package/dist/ui/DatePicker/DatePicker.d.ts +72 -72
  167. package/dist/ui/DatePicker/datePicker.recipe.d.ts +3 -3
  168. package/dist/ui/Dialog/Dialog.d.ts +55 -55
  169. package/dist/ui/Dialog/dialog.recipe.d.ts +5 -5
  170. package/dist/ui/Drawer/Drawer.d.ts +33 -33
  171. package/dist/ui/Drawer/drawer.recipe.d.ts +3 -3
  172. package/dist/ui/Menu/Menu.d.ts +307 -307
  173. package/dist/ui/Menu/menu.recipe.d.ts +17 -17
  174. package/dist/ui/NumberInput/NumberInput.d.ts +24 -24
  175. package/dist/ui/NumberInput/numberInput.recipe.d.ts +3 -3
  176. package/dist/ui/Popover/Popover.d.ts +88 -88
  177. package/dist/ui/Popover/popover.recipe.d.ts +8 -8
  178. package/dist/ui/QrCode/QrCode.d.ts +25 -25
  179. package/dist/ui/QrCode/qrCode.recipe.d.ts +5 -5
  180. package/dist/ui/SegmentGroup/SegmentGroup.d.ts +18 -18
  181. package/dist/ui/SegmentGroup/segmentGroup.recipe.d.ts +3 -3
  182. package/dist/ui/Select/Select.d.ts +45 -45
  183. package/dist/ui/Select/select.recipe.d.ts +3 -3
  184. package/dist/ui/Table/Table.d.ts +21 -21
  185. package/dist/ui/Table/table.anatomy.d.ts +1 -1
  186. package/dist/ui/Table/table.recipe.d.ts +3 -3
  187. package/dist/ui/Tabs/Tabs.d.ts +15 -15
  188. package/dist/ui/Tabs/tabs.recipe.d.ts +3 -3
  189. package/dist/ui/Tooltip/Tooltip.d.ts +30 -30
  190. package/dist/ui/Tooltip/tooltip.recipe.d.ts +5 -5
  191. package/dist/utils/dataUrlToBlob.d.ts +1 -0
  192. package/dist/utils/dataUrlToBlob.js +11 -0
  193. package/dist/utils/gamesAvailable3pmTo3am.d.ts +1 -0
  194. package/dist/utils/gamesAvailable3pmTo3am.js +1 -0
  195. package/dist/utils/getGameName.d.ts +1 -0
  196. package/dist/utils/getGameName.js +6 -0
  197. package/dist/utils/isBetween3amAnd3pm.d.ts +1 -0
  198. package/dist/utils/isBetween3amAnd3pm.js +5 -0
  199. package/dist/utils/resizeImageSize.d.ts +2 -0
  200. package/dist/utils/resizeImageSize.js +11 -0
  201. package/package.json +160 -160
  202. package/dist/components/AccountInfo/GoogleDisconnect.d.ts +0 -7
  203. package/dist/components/AccountInfo/GoogleDisconnect.js +0 -11
  204. package/dist/icons/LinkBrokenIcon.d.ts +0 -2
  205. package/dist/icons/LinkBrokenIcon.js +0 -4
@@ -185,6 +185,10 @@ function UnlinkGoogleAccount() {
185
185
  const disclosure = useDisclosure();
186
186
  const unlinkGoogleMutation = useUnlinkGoogleMutation({
187
187
  onSuccess() {
188
+ toaster.success({
189
+ title: 'Successfully Disconnected Google Account',
190
+ description: 'Your Google account has been disconnected. You can reconnect anytime from your account settings.',
191
+ });
188
192
  disclosure.setOpen(false);
189
193
  },
190
194
  onError() {
@@ -6,7 +6,9 @@ import { useEffect, useMemo, useState } from 'react';
6
6
  import { Controller, useForm } from 'react-hook-form';
7
7
  import { z } from 'zod';
8
8
  import { useShallow } from 'zustand/shallow';
9
+ import { useCreateInstapayWithdrawalMutation } from '../../../../client/hooks/useCreateInstapayWithdrawalMutation.js';
9
10
  import { useCreateInstapayWithdrawalNextMutation } from '../../../../client/hooks/useCreateInstapayWithdrawalNextMutation.js';
11
+ import { useFeatureFlag } from '../../../../client/hooks/useFeatureFlag.js';
10
12
  import { useGlobalStore } from '../../../../client/hooks/useGlobalStore.js';
11
13
  import { useInstapayBankListQuery } from '../../../../client/hooks/useInstapayBankListQuery.js';
12
14
  import { usePaymentSettingsQuery } from '../../../../client/hooks/usePaymentSettingsQuery.js';
@@ -32,6 +34,7 @@ import { explainError } from '../../utils.js';
32
34
  import { TransactionPasswordNotSet } from '../TransactionPasswordNotSet.js';
33
35
  export function InstapayWithdrawal() {
34
36
  const depositWithdrawalProps = useDepositWithdrawalPropsContext();
37
+ const { enabled } = useFeatureFlag();
35
38
  const globalStore = useGlobalStore(useShallow((ctx) => ({
36
39
  depositWithdrawal: ctx.depositWithdrawal,
37
40
  hasPendingBonus: ctx.pendingBonus,
@@ -49,6 +52,18 @@ export function InstapayWithdrawal() {
49
52
  setStatus('failed');
50
53
  },
51
54
  });
55
+ const createWithdrawalMutation = useCreateInstapayWithdrawalMutation({
56
+ onMutate() {
57
+ setStatus('processing');
58
+ },
59
+ onSuccess() {
60
+ form.reset();
61
+ setStatus('success');
62
+ },
63
+ onError() {
64
+ setStatus('failed');
65
+ },
66
+ });
52
67
  const instapayBankListQuery = useInstapayBankListQuery();
53
68
  const instapayBankList = instapayBankListQuery.data;
54
69
  const paymentSettingsQuery = usePaymentSettingsQuery();
@@ -83,9 +98,11 @@ export function InstapayWithdrawal() {
83
98
  .min(8, 'Password must be 8 or more characters')
84
99
  .max(64, 'Password must be not be more than 64 characters'),
85
100
  accountNumber: z.string().min(1).trim(),
86
- accountName: z
87
- .string({ required_error: 'Account name is required' })
88
- .min(4, 'Account name must be at least 4 characters'),
101
+ accountName: enabled
102
+ ? z
103
+ .string({ required_error: 'Account name is required' })
104
+ .min(4, 'Account name must be at least 4 characters')
105
+ : z.string().optional(),
89
106
  bankCode: z.string().min(1, 'Bank is required').trim(),
90
107
  });
91
108
  const form = useForm({
@@ -124,13 +141,23 @@ export function InstapayWithdrawal() {
124
141
  globalStore.hasPendingBonus.setOpen(true);
125
142
  return;
126
143
  }
127
- createWithdrawalNextMutation.mutate({
128
- amount: data.amount,
129
- transactionPassword: data.password,
130
- accountNumber: data.accountNumber,
131
- bankCode: data.bankCode,
132
- accountName: data.accountName ?? '',
133
- });
144
+ if (enabled) {
145
+ createWithdrawalNextMutation.mutate({
146
+ amount: data.amount,
147
+ transactionPassword: data.password,
148
+ accountNumber: data.accountNumber,
149
+ bankCode: data.bankCode,
150
+ accountName: data.accountName ?? '',
151
+ });
152
+ }
153
+ else {
154
+ createWithdrawalMutation.mutate({
155
+ amount: data.amount,
156
+ transactionPassword: data.password,
157
+ accountNumber: data.accountNumber,
158
+ bankCode: data.bankCode,
159
+ });
160
+ }
134
161
  });
135
162
  const bankCollection = useMemo(() => createListCollection({
136
163
  items: instapayBankList ?? [],
@@ -141,7 +168,7 @@ export function InstapayWithdrawal() {
141
168
  sameWidth: true,
142
169
  }, value: o.field.value ? [o.field.value] : [], onValueChange: (details) => {
143
170
  o.field.onChange(details.value.at(0) ?? '');
144
- }, children: [_jsx(Select.Label, { children: "Bank" }), _jsx(Select.Control, { children: _jsxs(Select.Trigger, { children: [_jsx(Select.ValueText, {}), _jsx(Select.Indicator, { asChild: true, children: _jsx(ChevronDownIcon, {}) })] }) }), _jsx(Select.Positioner, { children: _jsx(Select.Content, { children: _jsx(Select.ItemGroup, { children: bankCollection.items.map((item) => (_jsxs(Select.Item, { item: item, children: [_jsx(Select.ItemText, { children: item.name }), _jsx(Select.ItemIndicator, { asChild: true, children: _jsx(CheckIcon, {}) })] }, item.id))) }) }) })] }), _jsx(Field.ErrorText, { children: form.formState.errors.bankCode?.message })] })) }), _jsxs(Field.Root, { invalid: !!form.formState.errors.accountNumber, className: "mt-3xl", children: [_jsx(Field.Label, { children: "Bank account number" }), _jsx(Field.Input, { ...form.register('accountNumber') }), _jsx(Field.ErrorText, { children: form.formState.errors.accountNumber?.message })] }), _jsxs(Field.Root, { invalid: !!form.formState.errors.accountName, className: "mt-3xl", children: [_jsx(Field.Label, { children: "Account name" }), _jsx(Field.Input, { ...form.register('accountName') }), _jsx(Field.ErrorText, { children: form.formState.errors.accountName?.message })] }), _jsx(Controller, { control: form.control, name: "amount", render: (o) => (_jsxs(Field.Root, { invalid: !!form.formState.errors.amount, className: "mt-3xl", children: [_jsxs(NumberInput.Root, { min: 0, step: 1, value: o.field.value, onValueChange: (details) => {
171
+ }, children: [_jsx(Select.Label, { children: "Bank" }), _jsx(Select.Control, { children: _jsxs(Select.Trigger, { children: [_jsx(Select.ValueText, {}), _jsx(Select.Indicator, { asChild: true, children: _jsx(ChevronDownIcon, {}) })] }) }), _jsx(Select.Positioner, { children: _jsx(Select.Content, { children: _jsx(Select.ItemGroup, { children: bankCollection.items.map((item) => (_jsxs(Select.Item, { item: item, children: [_jsx(Select.ItemText, { children: item.name }), _jsx(Select.ItemIndicator, { asChild: true, children: _jsx(CheckIcon, {}) })] }, item.id))) }) }) })] }), _jsx(Field.ErrorText, { children: form.formState.errors.bankCode?.message })] })) }), _jsxs(Field.Root, { invalid: !!form.formState.errors.accountNumber, className: "mt-3xl", children: [_jsx(Field.Label, { children: "Bank account number" }), _jsx(Field.Input, { ...form.register('accountNumber') }), _jsx(Field.ErrorText, { children: form.formState.errors.accountNumber?.message })] }), enabled && (_jsxs(Field.Root, { invalid: !!form.formState.errors.accountName, className: "mt-3xl", children: [_jsx(Field.Label, { children: "Account name" }), _jsx(Field.Input, { ...form.register('accountName') }), _jsx(Field.ErrorText, { children: form.formState.errors.accountName?.message })] })), _jsx(Controller, { control: form.control, name: "amount", render: (o) => (_jsxs(Field.Root, { invalid: !!form.formState.errors.amount, className: "mt-3xl", children: [_jsxs(NumberInput.Root, { min: 0, step: 1, value: o.field.value, onValueChange: (details) => {
145
172
  o.field.onChange(details.value);
146
173
  }, formatOptions: {
147
174
  maximumFractionDigits: 2,
@@ -159,7 +186,8 @@ export function InstapayWithdrawal() {
159
186
  }, lazyMount: true, unmountOnExit: true, children: _jsxs(Portal, { children: [_jsx(AlertDialog.Backdrop, { className: "!z-[calc(var(--z-dialog)+2)]" }), _jsx(AlertDialog.Positioner, { className: "!z-[calc(var(--z-dialog)+3)]", children: _jsxs(AlertDialog.Content, { children: [_jsx(AlertDialog.CloseTrigger, { disabled: status === 'processing', children: _jsx(XIcon, {}) }), _jsxs(AlertDialog.Header, { children: [status === 'processing' && (_jsx(SpinnerIcon, { className: "size-12 text-text-brand-primary-600" })), status === 'success' && (_jsx("div", { className: "flex size-12 items-center justify-center rounded-full bg-bg-success-secondary text-text-featured-icon-light-success", children: _jsx(AlertCircleIcon, {}) })), status === 'failed' && (_jsx("div", { className: "flex size-12 items-center justify-center rounded-full bg-bg-error-secondary text-text-featured-icon-light-error", children: _jsx(AlertCircleIcon, {}) }))] }), _jsxs(AlertDialog.Body, { children: [_jsxs(AlertDialog.Title, { children: [status === 'processing' && 'Processing Withdraw', status === 'success' && 'Withdrawal Submitted', status === 'failed' && 'Withdraw Failed'] }), _jsxs(AlertDialog.Description, { children: [status === 'processing' &&
160
187
  "We're verifying your account and amount. Please hold a moment.", status === 'success' &&
161
188
  'Your withdrawal request has been submitted successfully and is awaiting confirmation. You won’t have to wait long — once approved, the funds will be credited to your account.', status === 'failed' &&
162
- explainError(createWithdrawalNextMutation.error?.name)] })] }), (status === 'failed' || status === 'success') && (_jsx(AlertDialog.Footer, { children: _jsx(AlertDialog.Context, { children: (api) => (_jsx(Button, { onClick: () => {
189
+ explainError(createWithdrawalNextMutation.error?.name ||
190
+ createWithdrawalMutation.error?.name)] })] }), (status === 'failed' || status === 'success') && (_jsx(AlertDialog.Footer, { children: _jsx(AlertDialog.Context, { children: (api) => (_jsx(Button, { onClick: () => {
163
191
  api.setOpen(false);
164
192
  }, children: status === 'failed' ? 'Try Again' : 'Ok' })) }) }))] }) })] }) })] }));
165
193
  }
@@ -1,5 +1,5 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  export function Loading() {
4
- return (_jsx("div", { className: "flex h-[calc(100vh-400px)] w-full items-center justify-center px-4", children: _jsxs("div", { className: "flex flex-col items-center space-y-4", children: [_jsx("div", { className: "h-10 w-10 animate-spin rounded-full border-4 border-blue-500 border-t-transparent" }), _jsx("p", { className: "font-medium text-gray-700 text-lg", children: "Loading Sports Book\u2026" })] }) }));
4
+ return (_jsx("div", { className: "flex h-[calc(100vh-400px)] w-full items-center justify-center px-4", children: _jsxs("div", { className: "flex flex-col items-center space-y-4", children: [_jsx("div", { className: "border-blue-500 h-10 w-10 animate-spin rounded-full border-4 border-t-transparent" }), _jsx("p", { className: "text-gray-700 text-lg font-medium", children: "Loading Sports Book\u2026" })] }) }));
5
5
  }
@@ -0,0 +1,10 @@
1
+ import { type ImageProps } from 'next/image';
2
+ import type { ReactNode } from 'react';
3
+ export interface ResponsibleGamingProps {
4
+ responsibleGamingContent: string | ReactNode;
5
+ logo: ImageProps['src'];
6
+ open: boolean;
7
+ onCloseAction: () => void;
8
+ responsibleGamingLogo?: ImageProps['src'];
9
+ }
10
+ export declare function ResponsibleGaming({ logo, open, responsibleGamingContent, onCloseAction, ...props }: ResponsibleGamingProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,13 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import Image, {} from 'next/image';
4
+ import pagcorLogo from '../../images/pagcor.png';
5
+ import responsibleGamingLogo from '../../images/responsible-gaming.png';
6
+ import { Button } from '../../ui/Button/index.js';
7
+ import { Dialog } from '../../ui/Dialog/index.js';
8
+ import { Portal } from '../../ui/Portal/index.js';
9
+ export function ResponsibleGaming({ logo, open, responsibleGamingContent, onCloseAction, ...props }) {
10
+ return (_jsx(Dialog.Root, { open: open, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, { className: "z-popover" }), _jsx(Dialog.Positioner, { className: "z-popover", children: _jsxs(Dialog.Content, { className: "flex h-full w-full flex-col items-start overflow-y-auto p-3xl lg:mx-auto lg:h-auto lg:w-[400px] lg:rounded-xl", children: [_jsx(Image, { src: logo, alt: "", width: 200, height: 100, className: "mx-auto h-auto w-[120px]", 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: responsibleGamingContent }), _jsxs("div", { className: "mt-5 flex items-center justify-center gap-3xl", children: [_jsx(Image, { src: pagcorLogo, alt: "", height: 75, width: 88, className: "h-[88px] w-auto shrink-0", draggable: false }), _jsx(Image, { src: props.responsibleGamingLogo ?? responsibleGamingLogo, alt: "", height: 62, width: 186, className: "h-[62px] w-auto shrink-0", draggable: false })] })] }), _jsx("div", { className: "w-full", children: _jsx(Button, { type: "button", className: "mt-3", onClick: () => {
11
+ onCloseAction();
12
+ }, children: "I Agree" }) })] }) })] }) }));
13
+ }
@@ -0,0 +1,11 @@
1
+ import { type ImageProps } from 'next/image';
2
+ import type { ReactNode } from 'react';
3
+ export interface TermsOfUseProps {
4
+ logo: ImageProps['src'];
5
+ open: boolean;
6
+ onCloseAction: () => void;
7
+ termsOfUseContent: string | ReactNode;
8
+ siteName: string;
9
+ responsibleGamingLogo?: ImageProps['src'];
10
+ }
11
+ export declare function TermsOfUse({ logo, open, onCloseAction, siteName, termsOfUseContent, ...props }: TermsOfUseProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,13 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import Image, {} from 'next/image';
4
+ import pagcorLogo from '../../images/pagcor.png';
5
+ import responsibleGamingLogo from '../../images/responsible-gaming.png';
6
+ import { Button } from '../../ui/Button/index.js';
7
+ import { Dialog } from '../../ui/Dialog/index.js';
8
+ import { Portal } from '../../ui/Portal/index.js';
9
+ export function TermsOfUse({ logo, open, onCloseAction, siteName, termsOfUseContent, ...props }) {
10
+ return (_jsx(Dialog.Root, { open: open, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, { className: "z-popover" }), _jsx(Dialog.Positioner, { className: "z-popover", children: _jsxs(Dialog.Content, { className: "flex h-full w-full flex-col items-start overflow-y-auto p-3xl lg:mx-auto lg:h-auto lg:w-[400px] lg:rounded-xl", children: [_jsx(Image, { src: logo, alt: "", width: 200, height: 100, className: "mx-auto h-auto w-[120px]", draggable: false }), _jsxs("div", { className: "w-full grow", children: [_jsxs(Dialog.Title, { className: "text-brand-400 mt-3xl text-center text-lg font-semibold", children: [siteName, " Terms of Use"] }), _jsx(Dialog.Description, { className: "leading-2xl mt-xs text-sm", children: termsOfUseContent }), _jsxs("div", { className: "mt-5 flex items-center justify-center gap-3xl", children: [_jsx(Image, { src: pagcorLogo, alt: "", height: 75, width: 88, className: "h-[88px] w-auto shrink-0", draggable: false }), _jsx(Image, { src: props.responsibleGamingLogo ?? responsibleGamingLogo, alt: "", height: 62, width: 186, className: "h-[62px] w-auto shrink-0", draggable: false })] })] }), _jsx("div", { className: "w-full", children: _jsx(Button, { type: "button", className: "mt-3", onClick: () => {
11
+ onCloseAction();
12
+ }, children: "I Agree" }) })] }) })] }) }));
13
+ }
@@ -0,0 +1 @@
1
+ export declare function FeatureFlag(): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,29 @@
1
+ 'use client';
2
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
3
+ import { useRouter, useSearchParams } from 'next/navigation';
4
+ import { useEffect } from 'react';
5
+ import { FEATURE_FLAG_KEY, useFeatureFlag, } from '../../client/hooks/useFeatureFlag.js';
6
+ export function FeatureFlag() {
7
+ const { featureFlagEnabled, setFeatureFlagEnabled } = useFeatureFlag();
8
+ const searchParams = useSearchParams();
9
+ const router = useRouter();
10
+ useEffect(() => {
11
+ const futureFlagParam = searchParams.get('future');
12
+ if (futureFlagParam !== null) {
13
+ const isEnabled = futureFlagParam === 'true';
14
+ setFeatureFlagEnabled(isEnabled);
15
+ localStorage.setItem(FEATURE_FLAG_KEY, isEnabled.toString());
16
+ }
17
+ }, [searchParams, setFeatureFlagEnabled]);
18
+ function disableFeatureFlag() {
19
+ setFeatureFlagEnabled(false);
20
+ localStorage.removeItem(FEATURE_FLAG_KEY);
21
+ const params = new URLSearchParams(searchParams.toString());
22
+ params.delete('future');
23
+ router.replace(`?${params.toString()}`, { scroll: false });
24
+ }
25
+ if (!featureFlagEnabled) {
26
+ return null;
27
+ }
28
+ return (_jsx("div", { className: "fixed bottom-3 flex w-full flex-col items-center justify-center", children: _jsxs("div", { className: "bg-black/70 p-1", children: ["Experimental features are enabled.", ' ', _jsxs("button", { onClick: () => disableFeatureFlag(), className: "cursor-pointer underline", children: [' ', "Disable"] })] }) }));
29
+ }
@@ -0,0 +1 @@
1
+ export * from './FeatureFlag';
@@ -0,0 +1 @@
1
+ export * from './FeatureFlag.js';
@@ -1,184 +1,184 @@
1
- @keyframes arrow-green-flash {
2
- 0% {
3
- color: #abefc6;
4
- }
5
- 100% {
6
- color: #079455;
7
- }
8
- }
9
-
10
- .animate-arrow-green-flash-1 {
11
- animation: arrow-green-flash 0.4s infinite;
12
- animation-delay: -0.2s;
13
- }
14
-
15
- .animate-arrow-green-flash-2 {
16
- animation: arrow-green-flash 0.4s infinite;
17
- animation-delay: -0.1s;
18
- }
19
-
20
- .animate-arrow-green-flash-3 {
21
- animation: arrow-green-flash 0.4s infinite;
22
- }
23
-
24
- @keyframes arrow-red-flash {
25
- 0%,
26
- 100% {
27
- color: #f97066;
28
- }
29
- 50% {
30
- color: #fecdca;
31
- }
32
- }
33
-
34
- .animate-arrow-red-flash-1 {
35
- animation: arrow-red-flash 0.4s infinite;
36
- }
37
-
38
- .animate-arrow-red-flash-2 {
39
- animation: arrow-red-flash 0.4s infinite;
40
- animation-delay: -0.1s;
41
- }
42
-
43
- .animate-arrow-red-flash-3 {
44
- animation: arrow-red-flash 0.4s infinite;
45
- animation-delay: -0.2s;
46
- }
47
-
48
- /* Animated BG */
49
- @keyframes rotate {
50
- to {
51
- transform: rotate(1turn);
52
- }
53
- }
54
-
55
- .light-rays {
56
- position: absolute;
57
- top: 0;
58
- left: 0;
59
- right: 0;
60
- bottom: 0;
61
- overflow: hidden;
62
-
63
- --first: var(--color-bg-tertiary);
64
- --second: var(--color-bg-quaternary);
65
- }
66
-
67
- .light-rays::before,
68
- .light-rays::after {
69
- content: '';
70
- position: absolute;
71
- top: var(--light-rays-top, 150px);
72
- left: calc(50% - 90px);
73
- margin: -100vmax;
74
- width: 200vmax;
75
- height: 200vmax;
76
- opacity: 0.6;
77
- transform-origin: center;
78
- }
79
-
80
- .light-rays::before {
81
- background: conic-gradient(
82
- var(--first) 0deg 7.2deg,
83
- var(--second) 7.2deg 14.4deg,
84
- var(--first) 14.4deg 21.6deg,
85
- var(--second) 21.6deg 28.8deg,
86
- var(--first) 28.8deg 36deg,
87
- var(--second) 36deg 43.2deg,
88
- var(--first) 43.2deg 50.4deg,
89
- var(--second) 50.4deg 57.6deg,
90
- var(--first) 57.6deg 64.8deg,
91
- var(--second) 64.8deg 72deg,
92
- var(--first) 72deg 79.2deg,
93
- var(--second) 79.2deg 86.4deg,
94
- var(--first) 86.4deg 93.6deg,
95
- var(--second) 93.6deg 100.8deg,
96
- var(--first) 100.8deg 108deg,
97
- var(--second) 108deg 115.2deg,
98
- var(--first) 115.2deg 122.4deg,
99
- var(--second) 122.4deg 129.6deg,
100
- var(--first) 129.6deg 136.8deg,
101
- var(--second) 136.8deg 144deg,
102
- var(--first) 144deg 151.2deg,
103
- var(--second) 151.2deg 158.4deg,
104
- var(--first) 158.4deg 165.6deg,
105
- var(--second) 165.6deg 172.8deg,
106
- var(--first) 172.8deg 180deg,
107
- var(--second) 180deg 187.2deg,
108
- var(--first) 187.2deg 194.4deg,
109
- var(--second) 194.4deg 201.6deg,
110
- var(--first) 201.6deg 208.8deg,
111
- var(--second) 208.8deg 216deg,
112
- var(--first) 216deg 223.2deg,
113
- var(--second) 223.2deg 230.4deg,
114
- var(--first) 230.4deg 237.6deg,
115
- var(--second) 237.6deg 244.8deg,
116
- var(--first) 244.8deg 252deg,
117
- var(--second) 252deg 259.2deg,
118
- var(--first) 259.2deg 266.4deg,
119
- var(--second) 266.4deg 273.6deg,
120
- var(--first) 273.6deg 280.8deg,
121
- var(--second) 280.8deg 288deg,
122
- var(--first) 288deg 295.2deg,
123
- var(--second) 295.2deg 302.4deg,
124
- var(--first) 302.4deg 309.6deg,
125
- var(--second) 309.6deg 316.8deg,
126
- var(--first) 316.8deg 324deg,
127
- var(--second) 324deg 331.2deg,
128
- var(--first) 331.2deg 338.4deg,
129
- var(--second) 338.4deg 345.6deg,
130
- var(--first) 345.6deg 352.8deg,
131
- var(--second) 352.8deg 360deg
132
- );
133
- animation: rotate 20s linear infinite;
134
- }
135
-
136
- @media (max-width: 1024px) {
137
- .light-rays::before,
138
- .light-rays::after {
139
- left: auto;
140
- right: 11%;
141
- }
142
- }
143
-
144
- /* ScrollArea.module.css */
145
- .scrollArea {
146
- overflow-y: scroll;
147
- padding-right: 4px;
148
- }
149
-
150
- /* WebKit-based browsers */
151
- .scrollArea::-webkit-scrollbar {
152
- width: 8px;
153
- }
154
-
155
- .scrollArea::-webkit-scrollbar-track {
156
- background: var(--color-bg-primary-alt);
157
- border-radius: 9999px;
158
- }
159
-
160
- .scrollArea::-webkit-scrollbar-thumb {
161
- background-color: var(--color-bg-quaternary);
162
- border-radius: 9999px;
163
- }
164
-
165
- @keyframes waveColor {
166
- 0%,
167
- 2.5% {
168
- color: var(--wave-highlight-color);
169
- }
170
- 2.51%,
171
- 100% {
172
- color: var(--color-brand-300);
173
- }
174
- }
175
-
176
- .animate-wave-color-success {
177
- --wave-highlight-color: var(--color-success-800);
178
- animation: waveColor 4s ease-in-out infinite;
179
- }
180
-
181
- .animate-wave-color-error {
182
- --wave-highlight-color: var(--color-error-600);
183
- animation: waveColor 4s ease-in-out infinite;
184
- }
1
+ @keyframes arrow-green-flash {
2
+ 0% {
3
+ color: #abefc6;
4
+ }
5
+ 100% {
6
+ color: #079455;
7
+ }
8
+ }
9
+
10
+ .animate-arrow-green-flash-1 {
11
+ animation: arrow-green-flash 0.4s infinite;
12
+ animation-delay: -0.2s;
13
+ }
14
+
15
+ .animate-arrow-green-flash-2 {
16
+ animation: arrow-green-flash 0.4s infinite;
17
+ animation-delay: -0.1s;
18
+ }
19
+
20
+ .animate-arrow-green-flash-3 {
21
+ animation: arrow-green-flash 0.4s infinite;
22
+ }
23
+
24
+ @keyframes arrow-red-flash {
25
+ 0%,
26
+ 100% {
27
+ color: #f97066;
28
+ }
29
+ 50% {
30
+ color: #fecdca;
31
+ }
32
+ }
33
+
34
+ .animate-arrow-red-flash-1 {
35
+ animation: arrow-red-flash 0.4s infinite;
36
+ }
37
+
38
+ .animate-arrow-red-flash-2 {
39
+ animation: arrow-red-flash 0.4s infinite;
40
+ animation-delay: -0.1s;
41
+ }
42
+
43
+ .animate-arrow-red-flash-3 {
44
+ animation: arrow-red-flash 0.4s infinite;
45
+ animation-delay: -0.2s;
46
+ }
47
+
48
+ /* Animated BG */
49
+ @keyframes rotate {
50
+ to {
51
+ transform: rotate(1turn);
52
+ }
53
+ }
54
+
55
+ .light-rays {
56
+ position: absolute;
57
+ top: 0;
58
+ left: 0;
59
+ right: 0;
60
+ bottom: 0;
61
+ overflow: hidden;
62
+
63
+ --first: var(--color-bg-tertiary);
64
+ --second: var(--color-bg-quaternary);
65
+ }
66
+
67
+ .light-rays::before,
68
+ .light-rays::after {
69
+ content: '';
70
+ position: absolute;
71
+ top: var(--light-rays-top, 150px);
72
+ left: calc(50% - 90px);
73
+ margin: -100vmax;
74
+ width: 200vmax;
75
+ height: 200vmax;
76
+ opacity: 0.6;
77
+ transform-origin: center;
78
+ }
79
+
80
+ .light-rays::before {
81
+ background: conic-gradient(
82
+ var(--first) 0deg 7.2deg,
83
+ var(--second) 7.2deg 14.4deg,
84
+ var(--first) 14.4deg 21.6deg,
85
+ var(--second) 21.6deg 28.8deg,
86
+ var(--first) 28.8deg 36deg,
87
+ var(--second) 36deg 43.2deg,
88
+ var(--first) 43.2deg 50.4deg,
89
+ var(--second) 50.4deg 57.6deg,
90
+ var(--first) 57.6deg 64.8deg,
91
+ var(--second) 64.8deg 72deg,
92
+ var(--first) 72deg 79.2deg,
93
+ var(--second) 79.2deg 86.4deg,
94
+ var(--first) 86.4deg 93.6deg,
95
+ var(--second) 93.6deg 100.8deg,
96
+ var(--first) 100.8deg 108deg,
97
+ var(--second) 108deg 115.2deg,
98
+ var(--first) 115.2deg 122.4deg,
99
+ var(--second) 122.4deg 129.6deg,
100
+ var(--first) 129.6deg 136.8deg,
101
+ var(--second) 136.8deg 144deg,
102
+ var(--first) 144deg 151.2deg,
103
+ var(--second) 151.2deg 158.4deg,
104
+ var(--first) 158.4deg 165.6deg,
105
+ var(--second) 165.6deg 172.8deg,
106
+ var(--first) 172.8deg 180deg,
107
+ var(--second) 180deg 187.2deg,
108
+ var(--first) 187.2deg 194.4deg,
109
+ var(--second) 194.4deg 201.6deg,
110
+ var(--first) 201.6deg 208.8deg,
111
+ var(--second) 208.8deg 216deg,
112
+ var(--first) 216deg 223.2deg,
113
+ var(--second) 223.2deg 230.4deg,
114
+ var(--first) 230.4deg 237.6deg,
115
+ var(--second) 237.6deg 244.8deg,
116
+ var(--first) 244.8deg 252deg,
117
+ var(--second) 252deg 259.2deg,
118
+ var(--first) 259.2deg 266.4deg,
119
+ var(--second) 266.4deg 273.6deg,
120
+ var(--first) 273.6deg 280.8deg,
121
+ var(--second) 280.8deg 288deg,
122
+ var(--first) 288deg 295.2deg,
123
+ var(--second) 295.2deg 302.4deg,
124
+ var(--first) 302.4deg 309.6deg,
125
+ var(--second) 309.6deg 316.8deg,
126
+ var(--first) 316.8deg 324deg,
127
+ var(--second) 324deg 331.2deg,
128
+ var(--first) 331.2deg 338.4deg,
129
+ var(--second) 338.4deg 345.6deg,
130
+ var(--first) 345.6deg 352.8deg,
131
+ var(--second) 352.8deg 360deg
132
+ );
133
+ animation: rotate 20s linear infinite;
134
+ }
135
+
136
+ @media (max-width: 1024px) {
137
+ .light-rays::before,
138
+ .light-rays::after {
139
+ left: auto;
140
+ right: 11%;
141
+ }
142
+ }
143
+
144
+ /* ScrollArea.module.css */
145
+ .scrollArea {
146
+ overflow-y: scroll;
147
+ padding-right: 4px;
148
+ }
149
+
150
+ /* WebKit-based browsers */
151
+ .scrollArea::-webkit-scrollbar {
152
+ width: 8px;
153
+ }
154
+
155
+ .scrollArea::-webkit-scrollbar-track {
156
+ background: var(--color-bg-primary-alt);
157
+ border-radius: 9999px;
158
+ }
159
+
160
+ .scrollArea::-webkit-scrollbar-thumb {
161
+ background-color: var(--color-bg-quaternary);
162
+ border-radius: 9999px;
163
+ }
164
+
165
+ @keyframes waveColor {
166
+ 0%,
167
+ 2.5% {
168
+ color: var(--wave-highlight-color);
169
+ }
170
+ 2.51%,
171
+ 100% {
172
+ color: var(--color-brand-300);
173
+ }
174
+ }
175
+
176
+ .animate-wave-color-success {
177
+ --wave-highlight-color: var(--color-success-800);
178
+ animation: waveColor 4s ease-in-out infinite;
179
+ }
180
+
181
+ .animate-wave-color-error {
182
+ --wave-highlight-color: var(--color-error-600);
183
+ animation: waveColor 4s ease-in-out infinite;
184
+ }