@opexa/portal-components 0.0.335 → 0.0.336

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 (53) hide show
  1. package/dist/components/KYC/KYCSumsub.js +84 -1
  2. package/dist/components/TransactionRecords/WithdrawalRecordsTable.js +3 -1
  3. package/dist/handlers/index.d.ts +7 -7
  4. package/dist/handlers/postAuthenticate.js +0 -1
  5. package/dist/services/auth.js +0 -2
  6. package/dist/services/queries.d.ts +1 -1
  7. package/dist/services/queries.js +1 -0
  8. package/dist/types/index.d.ts +1 -0
  9. package/dist/ui/Carousel/Carousel.d.ts +45 -45
  10. package/dist/ui/Carousel/carousel.recipe.d.ts +5 -5
  11. package/dist/ui/Clipboard/Clipboard.d.ts +18 -18
  12. package/dist/ui/Clipboard/clipboard.recipe.d.ts +3 -3
  13. package/dist/ui/Combobox/Combobox.d.ts +42 -42
  14. package/dist/ui/Combobox/combobox.recipe.d.ts +3 -3
  15. package/dist/ui/DatePicker/DatePicker.d.ts +72 -72
  16. package/dist/ui/DatePicker/datePicker.recipe.d.ts +3 -3
  17. package/dist/ui/Field/Field.d.ts +21 -21
  18. package/dist/ui/Field/field.recipe.d.ts +3 -3
  19. package/dist/ui/NumberInput/NumberInput.d.ts +24 -24
  20. package/dist/ui/NumberInput/numberInput.recipe.d.ts +3 -3
  21. package/dist/ui/PasswordInput/PasswordInput.d.ts +18 -18
  22. package/dist/ui/PasswordInput/passwordInput.recipe.d.ts +3 -3
  23. package/dist/ui/PinInput/PinInput.d.ts +12 -12
  24. package/dist/ui/PinInput/pinInput.recipe.d.ts +3 -3
  25. package/dist/ui/Progress/Progress.d.ts +27 -27
  26. package/dist/ui/Progress/progress.recipe.d.ts +3 -3
  27. package/dist/ui/QrCode/QrCode.d.ts +25 -25
  28. package/dist/ui/QrCode/qrCode.recipe.d.ts +5 -5
  29. package/dist/ui/Select/Select.d.ts +45 -45
  30. package/dist/ui/Select/select.recipe.d.ts +3 -3
  31. package/dist/ui/Table/Table.d.ts +21 -21
  32. package/dist/ui/Table/table.anatomy.d.ts +1 -1
  33. package/dist/ui/Table/table.recipe.d.ts +3 -3
  34. package/dist/ui/Tabs/Tabs.d.ts +15 -15
  35. package/dist/ui/Tabs/tabs.recipe.d.ts +3 -3
  36. package/package.json +1 -1
  37. package/dist/components/DigitainLauncher/Loading.d.ts +0 -1
  38. package/dist/components/DigitainLauncher/Loading.js +0 -5
  39. package/dist/components/KYC/BasicInformation.d.ts +0 -1
  40. package/dist/components/KYC/BasicInformation.js +0 -101
  41. package/dist/components/KYC/IdentityVerification.d.ts +0 -1
  42. package/dist/components/KYC/IdentityVerification.js +0 -120
  43. package/dist/components/KYC/Indicator.d.ts +0 -1
  44. package/dist/components/KYC/Indicator.js +0 -8
  45. package/dist/components/KYC/KYC.lazy.d.ts +0 -6
  46. package/dist/components/KYC/KYC.lazy.js +0 -45
  47. package/dist/components/KYC/KYCContext.d.ts +0 -6
  48. package/dist/components/KYC/KYCContext.js +0 -2
  49. package/dist/components/KYC/PersonalInformation.d.ts +0 -1
  50. package/dist/components/KYC/PersonalInformation.js +0 -122
  51. package/dist/components/KYC/useKYC.d.ts +0 -25
  52. package/dist/components/KYC/useKYC.js +0 -38
  53. package/dist/images/responsible-gaming-yellow.png +0 -0
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import Sumsub from '@sumsub/websdk-react';
3
+ import { isObject } from 'lodash-es';
3
4
  import { useEffect, useState } from 'react';
4
5
  import { useShallow } from 'zustand/shallow';
5
6
  import { useGenerateSumsubVerificationTokenMutation } from '../../client/hooks/useGenerateSumsubVerificationTokenMutation.js';
@@ -8,6 +9,8 @@ import { Spinner02Icon } from '../../icons/Spinner02Icon.js';
8
9
  import { XIcon } from '../../icons/XIcon.js';
9
10
  import { Dialog } from '../../ui/Dialog/index.js';
10
11
  import { Portal } from '../../ui/Portal/index.js';
12
+ import { getQueryClient } from '../../utils/getQueryClient.js';
13
+ import { getMemberVerificationQueryKey } from '../../utils/queryKeys.js';
11
14
  import { KYCReminder } from './KYCReminder.js';
12
15
  export function KYCSumsub(props) {
13
16
  const [open, setOpen] = useGlobalStore(useShallow((ctx) => [ctx.kyc.open, ctx.kyc.setOpen]));
@@ -47,7 +50,87 @@ export function KYCSumsub(props) {
47
50
  adaptIframeHeight: true,
48
51
  enableScrollIntoView: true,
49
52
  }, onMessage: (type, payload) => {
50
- console.log({ type, payload });
53
+ /*
54
+
55
+ ------------------------
56
+ REJECTED
57
+ ------------------------
58
+
59
+ {
60
+ "type": "idCheck.onApplicantStatusChanged",
61
+ "payload": {
62
+ "reviewId": "toJnn",
63
+ "attemptId": "ooaKO",
64
+ "attemptCnt": 1,
65
+ "elapsedSincePendingMs": 1072,
66
+ "elapsedSinceQueuedMs": 1072,
67
+ "reprocessing": true,
68
+ "levelName": "id-and-liveness",
69
+ "levelAutoCheckMode": null,
70
+ "createDate": "2025-07-18 02:08:16+0000",
71
+ "reviewDate": "2025-07-18 02:08:17+0000",
72
+ "reviewResult": {
73
+ "moderationComment": "We couldn’t verify your...",
74
+ "reviewAnswer": "RED",
75
+ "reviewRejectType": "FINAL"
76
+ },
77
+ "reviewStatus": "completed",
78
+ "priority": 0
79
+ }
80
+ }
81
+
82
+ ------------------------
83
+ APPROVED
84
+ ------------------------
85
+
86
+ {
87
+ "type": "idCheck.onApplicantStatusChanged",
88
+ "payload": {
89
+ "reviewId": "RCAdU",
90
+ "attemptId": "iaOXv",
91
+ "attemptCnt": 1,
92
+ "elapsedSincePendingMs": 1956,
93
+ "elapsedSinceQueuedMs": 1956,
94
+ "reprocessing": true,
95
+ "levelName": "id-and-selfie",
96
+ "levelAutoCheckMode": null,
97
+ "createDate": "2025-07-18 02:17:52+0000",
98
+ "reviewDate": "2025-07-18 02:17:54+0000",
99
+ "reviewResult": {
100
+ "reviewAnswer": "GREEN"
101
+ },
102
+ "reviewStatus": "completed",
103
+ "priority": 0
104
+ }
105
+ }
106
+
107
+ */
108
+ console.log({
109
+ type,
110
+ payload,
111
+ });
112
+ if (type === 'idCheck.onApplicantStatusChanged' &&
113
+ isObject(payload) &&
114
+ 'reviewStatus' in payload &&
115
+ payload.reviewStatus === 'completed' &&
116
+ 'reviewResult' in payload &&
117
+ isObject(payload.reviewResult) &&
118
+ 'reviewAnswer' in payload.reviewResult &&
119
+ payload.reviewResult.reviewAnswer === 'GREEN') {
120
+ getQueryClient().setQueryData(getMemberVerificationQueryKey(), (prev) => ({
121
+ id: '',
122
+ address: '',
123
+ nationality: '',
124
+ natureOfWork: '',
125
+ placeOfBirth: '',
126
+ sourceOfIncome: '',
127
+ permanentAddress: '',
128
+ selfieImage: { id: '', url: '', status: 'READY' },
129
+ idFrontImage: { id: '', url: '', status: 'READY' },
130
+ ...(prev ?? {}),
131
+ status: 'APPROVED',
132
+ }));
133
+ }
51
134
  }, onError: (error) => {
52
135
  console.warn(error);
53
136
  }, className: "block max-h-full w-full overflow-y-auto rounded-md", force: true }) }))] }) })] }) }), _jsx(KYCReminder, { ...props })] }));
@@ -19,10 +19,12 @@ import { capitalize } from '../../utils/capitalize.js';
19
19
  import { formatNumber } from '../../utils/formatNumber.js';
20
20
  import { Empty } from '../shared/Empty.js';
21
21
  import { TableFilters } from './TableFilters.js';
22
+ import { useFeatureFlag } from '../../client/hooks/useFeatureFlag.js';
22
23
  export function WithdrawalRecordsTable() {
23
24
  const router = useRouter();
24
25
  const pathname = usePathname();
25
26
  const searchParams = useSearchParams();
27
+ const { enabled } = useFeatureFlag();
26
28
  const [state, setState] = useReducer((prev, next) => ({
27
29
  ...prev,
28
30
  ...next,
@@ -85,7 +87,7 @@ export function WithdrawalRecordsTable() {
85
87
  withdrawalStatus: true,
86
88
  } }), rows.length <= 0 && (_jsx(Empty, { icon: loading ? SpinnerIcon : File02Icon, title: loading ? 'Just a moment' : 'No data', message: loading
87
89
  ? 'Fetching latest withdrawal records...'
88
- : 'No data is currently available.', className: "mt-5xl" })), rows.length >= 1 && (_jsxs("div", { className: twMerge('mt-xl', 'border-y', 'border-border-secondary', 'bleed', 'lg:not-bleed', 'lg:mt-3xl', 'lg:w-full', 'lg:rounded-xl', 'lg:border-x'), children: [_jsx("div", { className: "scrollbar:h-2 overflow-hidden overflow-x-auto rounded-none scrollbar-thumb:rounded-full border-border-secondary border-b scrollbar-thumb:bg-bg-quaternary scrollbar-track:bg-transparent lg:rounded-t-xl", children: _jsxs(Table.Root, { className: "border-0", children: [_jsx(Table.Header, { children: _jsxs(Table.Row, { children: [_jsx(Table.Heading, { children: "Withdrawal No." }), _jsx(Table.Heading, { children: "Reference Number" }), _jsx(Table.Heading, { children: "Withdrawal Method" }), _jsx(Table.Heading, { children: "Mobile Number" }), _jsx(Table.Heading, { children: "Withdrawal Amount" }), _jsx(Table.Heading, { children: "Net Amount" }), _jsx(Table.Heading, { children: "Transaction Fee" }), _jsx(Table.Heading, { children: "Bank Name" }), _jsx(Table.Heading, { children: "Withdrawal Time" }), _jsx(Table.Heading, { children: "Status" })] }) }), _jsx(Table.Body, { children: rows.map((data) => (_jsxs(Table.Row, { children: [_jsx(Table.Cell, { className: "!py-1", children: data.withdrawalNumber }), _jsx(Table.Cell, { className: "!py-1", children: data.reference }), _jsx(Table.Cell, { className: "!py-1 text-right", children: capitalize(data.type, {
90
+ : 'No data is currently available.', className: "mt-5xl" })), rows.length >= 1 && (_jsxs("div", { className: twMerge('mt-xl', 'border-y', 'border-border-secondary', 'bleed', 'lg:not-bleed', 'lg:mt-3xl', 'lg:w-full', 'lg:rounded-xl', 'lg:border-x'), children: [_jsx("div", { className: "scrollbar:h-2 overflow-hidden overflow-x-auto rounded-none scrollbar-thumb:rounded-full border-border-secondary border-b scrollbar-thumb:bg-bg-quaternary scrollbar-track:bg-transparent lg:rounded-t-xl", children: _jsxs(Table.Root, { className: "border-0", children: [_jsx(Table.Header, { children: _jsxs(Table.Row, { children: [_jsx(Table.Heading, { children: "Withdrawal No." }), _jsx(Table.Heading, { children: "Reference Number" }), enabled && _jsx(Table.Heading, { children: "Account Name" }), _jsx(Table.Heading, { children: "Withdrawal Method" }), _jsx(Table.Heading, { children: "Mobile Number" }), _jsx(Table.Heading, { children: "Withdrawal Amount" }), _jsx(Table.Heading, { children: "Net Amount" }), _jsx(Table.Heading, { children: "Transaction Fee" }), _jsx(Table.Heading, { children: "Bank Name" }), _jsx(Table.Heading, { children: "Withdrawal Time" }), _jsx(Table.Heading, { children: "Status" })] }) }), _jsx(Table.Body, { children: rows.map((data) => (_jsxs(Table.Row, { children: [_jsx(Table.Cell, { className: "!py-1", children: data.withdrawalNumber }), _jsx(Table.Cell, { className: "!py-1", children: data.reference }), _jsx(Table.Cell, { className: "!py-1", children: data.accountName }), _jsx(Table.Cell, { className: "!py-1 text-right", children: capitalize(data.type, {
89
91
  delimiter: capitalize.delimiters.UNDERSCORE,
90
92
  }) }), _jsx(Table.Cell, { className: "!py-1", children: data.recipientMobileNumber }), _jsx(Table.Cell, { className: "!py-1 text-right", children: formatNumber(data.amount, {
91
93
  currency: localeInfo.currency.code,
@@ -6,13 +6,6 @@ interface Context {
6
6
  params: Promise<Params>;
7
7
  }
8
8
  export declare const GET: (req: NextRequest, { params }: Context) => Promise<NextResponse<{
9
- ok: false;
10
- message: string;
11
- __error?: unknown;
12
- } | {
13
- ok: true;
14
- data: import("../types").Session;
15
- }> | NextResponse<{
16
9
  ok: true;
17
10
  data?: never;
18
11
  } | {
@@ -26,6 +19,13 @@ export declare const GET: (req: NextRequest, { params }: Context) => Promise<Nex
26
19
  } | {
27
20
  ok: true;
28
21
  data: Record<string, unknown>;
22
+ }> | NextResponse<{
23
+ ok: false;
24
+ message: string;
25
+ __error?: unknown;
26
+ } | {
27
+ ok: true;
28
+ data: import("../types").Session;
29
29
  }>>;
30
30
  export declare const DELETE: (req: NextRequest, { params }: Context) => Promise<NextResponse<{
31
31
  ok: true;
@@ -14,7 +14,6 @@ export async function postAuthenticate(request) {
14
14
  const userAgent = request.headers.get('user-agent');
15
15
  const forwarded = request.headers.get('x-forwarded-for');
16
16
  const ipaddress = forwarded?.split(',')[0];
17
- console.log(forwarded, 'forwarded');
18
17
  if (!parsed.success) {
19
18
  return NextResponse.json({
20
19
  ok: false,
@@ -26,7 +26,6 @@ export async function createSession(input, options) {
26
26
  headers.set(key, value);
27
27
  });
28
28
  try {
29
- console.log('post session headers', headers);
30
29
  return await httpRequest.json(`${AUTH_ENDPOINT}/sessions`, {
31
30
  ...options,
32
31
  method: 'POST',
@@ -34,7 +33,6 @@ export async function createSession(input, options) {
34
33
  });
35
34
  }
36
35
  catch (e) {
37
- console.log('Error creating session:', e);
38
36
  if (e instanceof Error) {
39
37
  throw e;
40
38
  }
@@ -14,7 +14,7 @@ export declare const END_GAME_SESSION = "\n mutation EndGameSession($input: End
14
14
  export declare const END_GAME_SESSION__LEGACY = "\n mutation EndGameSession($input: EndGameSessionInput!) {\n endGameSession(input: $input) {\n ... on GameSessionDoesNotExistError {\n name: __typename\n message\n }\n ... on GameSessionAlreadyClosedError {\n name: __typename\n message\n }\n ... on GameProviderError {\n name: __typename\n message\n }\n }\n }\n";
15
15
  export declare const RECOMMENDED_GAMES = "\n query RecommendedGames {\n recommendedGames {\n id\n name\n type\n provider\n }\n }\n";
16
16
  export declare const ANNOUNCEMENTS = "\n query Announcements(\n $first: Int\n $after: Cursor\n $filter: AnnouncementFilterInput\n ) {\n announcements(first: $first, after: $after, filter: $filter) {\n edges {\n cursor\n node {\n ... on Announcement {\n id\n type\n title\n status\n message\n activationStartDateTime\n activationEndDateTime\n dateTimeCreated\n dateTimeLastUpdated\n }\n }\n }\n totalCount\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n }\n";
17
- export declare const WITHDRAWAL_RECORDS = "\n query WithdrawalRecords(\n $first: Int\n $after: Cursor\n $filter: WithdrawalRecordFilterInput\n ) {\n member {\n withdrawalRecords(first: $first, after: $after, filter: $filter) {\n edges {\n cursor\n node {\n ... on BankWithdrawalRecord {\n id\n type\n bank\n fee\n netAmount\n reference\n amount\n status\n error\n withdrawalNumber\n dateTimeCreated\n dateTimeLastUpdated\n }\n ... on GCashWithdrawalRecord {\n id\n type\n fee\n netAmount\n reference\n amount\n status\n error\n withdrawalNumber\n recipientMobileNumber\n dateTimeCreated\n dateTimeLastUpdated\n }\n ... on ManualWithdrawalRecord {\n id\n type\n fee\n netAmount\n reference\n amount\n status\n error\n withdrawalNumber\n dateTimeCreated\n dateTimeLastUpdated\n }\n ... on MayaAppWithdrawalRecord {\n id\n type\n fee\n netAmount\n reference\n amount\n status\n error\n withdrawalNumber\n dateTimeCreated\n dateTimeLastUpdated\n }\n ... on InstapayWithdrawalRecord {\n id\n type\n fee\n netAmount\n bankName\n reference\n amount\n status\n error\n withdrawalNumber\n dateTimeCreated\n dateTimeLastUpdated\n }\n ... on ManualUPIWithdrawalRecord {\n id\n type\n fee\n netAmount\n reference\n amount\n status\n error\n withdrawalNumber\n dateTimeCreated\n dateTimeLastUpdated\n }\n ... on ManualBankWithdrawalRecord {\n id\n type\n fee\n netAmount\n reference\n amount\n status\n error\n withdrawalNumber\n dateTimeCreated\n dateTimeLastUpdated\n }\n }\n }\n totalCount\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n }\n }\n";
17
+ export declare const WITHDRAWAL_RECORDS = "\n query WithdrawalRecords(\n $first: Int\n $after: Cursor\n $filter: WithdrawalRecordFilterInput\n ) {\n member {\n withdrawalRecords(first: $first, after: $after, filter: $filter) {\n edges {\n cursor\n node {\n ... on BankWithdrawalRecord {\n id\n type\n bank\n fee\n netAmount\n reference\n amount\n status\n error\n withdrawalNumber\n dateTimeCreated\n dateTimeLastUpdated\n }\n ... on GCashWithdrawalRecord {\n id\n type\n fee\n netAmount\n reference\n amount\n status\n error\n withdrawalNumber\n recipientMobileNumber\n dateTimeCreated\n dateTimeLastUpdated\n }\n ... on ManualWithdrawalRecord {\n id\n type\n fee\n netAmount\n reference\n amount\n status\n error\n withdrawalNumber\n dateTimeCreated\n dateTimeLastUpdated\n }\n ... on MayaAppWithdrawalRecord {\n id\n type\n fee\n netAmount\n reference\n amount\n status\n error\n withdrawalNumber\n dateTimeCreated\n dateTimeLastUpdated\n }\n ... on InstapayWithdrawalRecord {\n id\n type\n fee\n netAmount\n bankName\n reference\n accountName\n amount\n status\n error\n withdrawalNumber\n dateTimeCreated\n dateTimeLastUpdated\n }\n ... on ManualUPIWithdrawalRecord {\n id\n type\n fee\n netAmount\n reference\n amount\n status\n error\n withdrawalNumber\n dateTimeCreated\n dateTimeLastUpdated\n }\n ... on ManualBankWithdrawalRecord {\n id\n type\n fee\n netAmount\n reference\n amount\n status\n error\n withdrawalNumber\n dateTimeCreated\n dateTimeLastUpdated\n }\n }\n }\n totalCount\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n }\n }\n";
18
18
  export declare const CREATE_GCASH_WITHDRAWAL = "\n mutation CreateGCashWithdrawal($input: CreateGCashWithdrawalInput!) {\n createGCashWithdrawal(input: $input) {\n ... on AccountNotVerifiedError {\n name: __typename\n message\n }\n ... on InvalidTransactionPasswordError {\n name: __typename\n message\n }\n ... on InvalidWithdrawalAmountError {\n name: __typename\n message\n }\n ... on MobileNumberNotVerifiedError {\n name: __typename\n message\n }\n ... on NotEnoughBalanceError {\n name: __typename\n message\n }\n ... on WithdrawalDailyLimitExceededError {\n name: __typename\n message\n }\n ... on ReCAPTCHAVerificationFailedError {\n name: __typename\n message\n }\n ... on WalletDoesNotExistError {\n name: __typename\n message\n }\n ... on TransactionPasswordNotSetError {\n name: __typename\n message\n }\n }\n }\n";
19
19
  export declare const CREATE_MAYA_WITHDRAWAL = "\n mutation CreateMayaWithdrawal($input: CreateMayaWithdrawalInput!) {\n createMayaWithdrawal(input: $input) {\n ... on AccountNotVerifiedError {\n name: __typename\n message\n }\n ... on InvalidTransactionPasswordError {\n name: __typename\n message\n }\n ... on InvalidWithdrawalAmountError {\n name: __typename\n message\n }\n ... on MobileNumberNotVerifiedError {\n name: __typename\n message\n }\n ... on NotEnoughBalanceError {\n name: __typename\n message\n }\n ... on WithdrawalDailyLimitExceededError {\n name: __typename\n message\n }\n }\n }\n";
20
20
  export declare const CREATE_MAYA_APP_WITHDRAWAL = "\n mutation CreateMayaAppWithdrawal($input: CreateMayaAppWithdrawalInput!) {\n createMayaAppWithdrawal(input: $input) {\n ... on AccountNotVerifiedError {\n name: __typename\n message\n }\n ... on InvalidTransactionPasswordError {\n name: __typename\n message\n }\n ... on InvalidWithdrawalAmountError {\n name: __typename\n message\n }\n ... on NotEnoughBalanceError {\n name: __typename\n message\n }\n ... on WithdrawalDailyLimitExceededError {\n name: __typename\n message\n }\n ... on WalletDoesNotExistError {\n name: __typename\n message\n }\n ... on TransactionPasswordNotSetError {\n name: __typename\n message\n }\n }\n }\n";
@@ -305,6 +305,7 @@ export const WITHDRAWAL_RECORDS = /* GraphQL */ `
305
305
  netAmount
306
306
  bankName
307
307
  reference
308
+ accountName
308
309
  amount
309
310
  status
310
311
  error
@@ -287,6 +287,7 @@ export interface WithdrawalRecord {
287
287
  netAmount: string;
288
288
  status: WithdrawalStatus;
289
289
  reference?: string | null;
290
+ accountName?: string | null;
290
291
  withdrawalNumber: string;
291
292
  bank?: Bank | null;
292
293
  error?: WithdrawalError | null;