@opexa/portal-components 0.0.983 → 0.0.985

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 (56) hide show
  1. package/dist/client/hooks/useSignOutMutation.js +1 -0
  2. package/dist/components/KYC/KYCDefault/KYCDefault.js +3 -1
  3. package/dist/components/KYC/KYCReminder.lazy.js +14 -4
  4. package/dist/components/KYC/KycOpenOnHomeMount.js +14 -20
  5. package/dist/schemas/forgotPasswordSchema.d.ts +5 -5
  6. package/dist/ui/AlertDialog/AlertDialog.d.ts +187 -187
  7. package/dist/ui/AlertDialog/alertDialog.recipe.d.ts +17 -17
  8. package/dist/ui/Badge/Badge.d.ts +12 -12
  9. package/dist/ui/Badge/badge.anatomy.d.ts +1 -1
  10. package/dist/ui/Badge/badge.recipe.d.ts +3 -3
  11. package/dist/ui/Carousel/Carousel.d.ts +99 -99
  12. package/dist/ui/Carousel/carousel.recipe.d.ts +11 -11
  13. package/dist/ui/Checkbox/Checkbox.d.ts +23 -23
  14. package/dist/ui/Checkbox/checkbox.recipe.d.ts +3 -3
  15. package/dist/ui/Clipboard/Clipboard.d.ts +18 -18
  16. package/dist/ui/Clipboard/clipboard.recipe.d.ts +3 -3
  17. package/dist/ui/Collapsible/Collapsible.d.ts +20 -20
  18. package/dist/ui/Collapsible/collapsible.recipe.d.ts +5 -5
  19. package/dist/ui/Combobox/Combobox.d.ts +42 -42
  20. package/dist/ui/Combobox/combobox.recipe.d.ts +3 -3
  21. package/dist/ui/DatePicker/DatePicker.d.ts +72 -72
  22. package/dist/ui/DatePicker/datePicker.recipe.d.ts +3 -3
  23. package/dist/ui/Dialog/Dialog.d.ts +33 -33
  24. package/dist/ui/Dialog/dialog.recipe.d.ts +3 -3
  25. package/dist/ui/Drawer/Drawer.d.ts +33 -33
  26. package/dist/ui/Drawer/drawer.recipe.d.ts +3 -3
  27. package/dist/ui/Menu/Menu.d.ts +360 -360
  28. package/dist/ui/Menu/menu.recipe.d.ts +20 -20
  29. package/dist/ui/Popover/Popover.d.ts +154 -154
  30. package/dist/ui/Popover/popover.recipe.d.ts +14 -14
  31. package/dist/ui/Progress/Progress.d.ts +27 -27
  32. package/dist/ui/Progress/progress.recipe.d.ts +3 -3
  33. package/dist/ui/SegmentGroup/SegmentGroup.d.ts +18 -18
  34. package/dist/ui/SegmentGroup/segmentGroup.recipe.d.ts +3 -3
  35. package/dist/ui/Select/Select.d.ts +45 -45
  36. package/dist/ui/Select/select.recipe.d.ts +3 -3
  37. package/dist/ui/Table/Table.d.ts +21 -21
  38. package/dist/ui/Table/table.anatomy.d.ts +1 -1
  39. package/dist/ui/Table/table.recipe.d.ts +3 -3
  40. package/dist/ui/Tabs/Tabs.d.ts +15 -15
  41. package/dist/ui/Tabs/tabs.recipe.d.ts +3 -3
  42. package/dist/ui/Tooltip/Tooltip.d.ts +30 -30
  43. package/dist/ui/Tooltip/tooltip.recipe.d.ts +5 -5
  44. package/package.json +1 -1
  45. package/dist/client/hooks/useVerifyMobileNumber.d.ts +0 -3
  46. package/dist/client/hooks/useVerifyMobileNumber.js +0 -20
  47. package/dist/components/DepositWithdrawal/Deposit/AurixPayPayMayaDeposit/AurixPayGrabPayDeposit.d.ts +0 -1
  48. package/dist/components/DepositWithdrawal/Deposit/AurixPayPayMayaDeposit/AurixPayGrabPayDeposit.js +0 -241
  49. package/dist/components/SingleSignOn/SingleSignOn.d.ts +0 -4
  50. package/dist/components/SingleSignOn/SingleSignOn.js +0 -185
  51. package/dist/components/SingleSignOn/index.d.ts +0 -1
  52. package/dist/components/SingleSignOn/index.js +0 -1
  53. package/dist/lib/components/UpdateMobilePhoneNumber/UpdateMobilePhoneNumber.d.ts +0 -1
  54. package/dist/lib/components/UpdateMobilePhoneNumber/UpdateMobilePhoneNumber.js +0 -152
  55. package/dist/lib/components/UpdateMobilePhoneNumber/index.d.ts +0 -1
  56. package/dist/lib/components/UpdateMobilePhoneNumber/index.js +0 -1
@@ -1,152 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import { zodResolver } from '@hookform/resolvers/zod';
4
- import Image from 'next/image';
5
- import { useEffect, useRef, useState } from 'react';
6
- import { Controller, useForm } from 'react-hook-form';
7
- import z from 'zod';
8
- import { useAccountQuery } from '../../client/hooks/useAccountQuery.js';
9
- import { useCooldown } from '../../client/hooks/useCooldown.js';
10
- import { useLocaleInfo } from '../../client/hooks/useLocaleInfo.js';
11
- import { useMobileNumberParser } from '../../client/hooks/useMobileNumberParser.js';
12
- import { useSendVerificationCodeMutation } from '../../client/hooks/useSendVerificationCodeMutation.js';
13
- import { useUpdateMobileNumber } from '../../client/hooks/useUpdateMobileNumber.js';
14
- import { toaster } from '../../client/utils/toaster.js';
15
- import { ArrowLeftIcon } from '../../icons/ArrowLeftIcon.js';
16
- import inplayLogo from '../../images/inplay-logo.png';
17
- import lightBg from '../../images/light-bg.png';
18
- import { Button } from '../../ui/Button/index.js';
19
- import { Dialog } from '../../ui/Dialog/index.js';
20
- import { Field } from '../../ui/Field/index.js';
21
- import { PinInput } from '../../ui/PinInput/index.js';
22
- import { Portal } from '../../ui/Portal/index.js';
23
- export function UpdateMobilePhoneNumber() {
24
- const accountQuery = useAccountQuery();
25
- const account = accountQuery.data;
26
- const isAccountLoading = accountQuery.isLoading;
27
- const hasMobileNumber = !!account?.mobileNumber;
28
- const [isDialogOpen, setIsDialogOpen] = useState(false);
29
- // biome-ignore lint/correctness/useExhaustiveDependencies: We only want to open the dialog when the account data loads, not on every hasMobileNumber change
30
- useEffect(() => {
31
- if (!isAccountLoading && !!account && !hasMobileNumber) {
32
- setIsDialogOpen(true);
33
- }
34
- else if (!isAccountLoading && !!account && hasMobileNumber) {
35
- setIsDialogOpen(false);
36
- }
37
- }, [isAccountLoading, account?.mobileNumber]);
38
- const [step, setStep] = useState(1);
39
- const sendVerificationCodeMutation = useSendVerificationCodeMutation({
40
- onSuccess: () => {
41
- setStep(2);
42
- cooldown.start();
43
- },
44
- onError: (err) => {
45
- toaster.error({
46
- title: 'Sign In Failed',
47
- description: err.message,
48
- });
49
- },
50
- });
51
- const updateMobileNumberMutation = useUpdateMobileNumber({
52
- onSuccess: async () => {
53
- step1Form.reset();
54
- step2Form.reset();
55
- setStep(1);
56
- toaster.success({
57
- title: 'Verification Successful',
58
- description: 'Your mobile number has been verified.',
59
- });
60
- setIsDialogOpen(false);
61
- console.log('mobile number updated successfully');
62
- },
63
- onError: (err) => {
64
- const errorMessage = err.message === 'Internal Server Error'
65
- ? `mobile number ${mobileNumberParser.format(step1Form.getValues('mobileNumber'))} is not available`
66
- : err.message;
67
- toaster.error({
68
- title: 'Sign In Failed',
69
- description: errorMessage,
70
- });
71
- console.log('error updating mobile number');
72
- },
73
- });
74
- const localeInfo = useLocaleInfo();
75
- const mobileNumberParser = useMobileNumberParser();
76
- const Step1Definition = z.object({
77
- mobileNumber: z
78
- .string()
79
- .min(1, 'Mobile number is required')
80
- .superRefine((v, ctx) => {
81
- if (!mobileNumberParser.validate(v)) {
82
- ctx.addIssue({
83
- code: z.ZodIssueCode.custom,
84
- message: 'Invalid mobile number',
85
- });
86
- }
87
- }),
88
- });
89
- const Step2Definition = z.object({
90
- verificationCode: z.array(z.string()).superRefine((val, ctx) => {
91
- if (val.length !== 6 || val.some((v) => v.length !== 1)) {
92
- ctx.addIssue({
93
- code: z.ZodIssueCode.custom,
94
- message: 'Please enter your 6-digit verification code.',
95
- });
96
- }
97
- }),
98
- });
99
- const step1Form = useForm({
100
- resolver: zodResolver(Step1Definition),
101
- defaultValues: {
102
- mobileNumber: '',
103
- },
104
- });
105
- const step2Form = useForm({
106
- resolver: zodResolver(Step2Definition),
107
- defaultValues: {
108
- verificationCode: Array.from({ length: 6 }).fill(''),
109
- },
110
- });
111
- const cooldown = useCooldown({
112
- max: 60,
113
- duration: 1000 * 60,
114
- });
115
- const formRef = useRef(null);
116
- return (_jsx(Dialog.Root, { open: isDialogOpen, lazyMount: true, unmountOnExit: true, closeOnEscape: false, closeOnInteractOutside: false, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, {}), _jsx(Dialog.Positioner, { className: "flex items-center", children: _jsxs(Dialog.Content, { className: "flex w-[375px] flex-col items-center space-y-4 rounded-xl bg-[#111827] p-6 text-center", style: {
117
- backgroundImage: `url(${lightBg.src})`,
118
- }, children: [_jsx(Image, { src: inplayLogo, alt: "inplay logo", width: 82, height: 34, className: "h-auto w-[82px]" }), _jsxs("div", { children: [step === 1 && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "font-bold text-sm", children: ["Get ", _jsx("span", { className: "text-[#F05127]", children: "\u20B150 Bonus" }), " when you verify your account and play."] }), _jsxs("form", { className: "mt-3xl", onSubmit: step1Form.handleSubmit(async (data) => {
119
- sendVerificationCodeMutation.mutateAsync({
120
- channel: 'SMS',
121
- recipient: mobileNumberParser.format(data.mobileNumber),
122
- });
123
- }), children: [_jsxs(Field.Root, { invalid: !!step1Form.formState.errors.mobileNumber, className: "text-left", children: [_jsx(Field.Label, { children: "Mobile Number" }), _jsxs("div", { className: "relative", children: [_jsx("div", { className: "-translate-y-1/2 absolute top-1/2 left-3.5 flex shrink-0 items-center gap-md", children: _jsx("span", { className: "text-text-placeholder", children: localeInfo.mobileNumber.areaCode }) }), _jsx(Field.Input, { style: {
124
- paddingLeft: `calc(1.25rem + ${localeInfo.mobileNumber.areaCode.length}ch)`,
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: "Send Code" })] })] })), 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 text-[#F05127]", children: mobileNumberParser.format(step1Form.getValues('mobileNumber')) }), ' ', "via text"] }), _jsxs("form", { ref: formRef, className: "mt-5", onSubmit: step2Form.handleSubmit(async ({ verificationCode }) => {
126
- updateMobileNumberMutation.mutateAsync({
127
- mobileNumber: mobileNumberParser.format(step1Form.getValues('mobileNumber')),
128
- verificationCode: verificationCode.join(''),
129
- });
130
- }), children: [_jsx(Controller, { name: "verificationCode", control: step2Form.control, render: (o) => (_jsxs(Field.Root, { invalid: o.fieldState.invalid, children: [_jsxs(PinInput.Root, { placeholder: "0", onKeyDown: (e) => {
131
- if (e.key === 'Backspace') {
132
- step2Form.reset();
133
- }
134
- }, value: o.field.value, onValueChange: (details) => {
135
- o.field.onChange(details.value);
136
- o.field.onBlur();
137
- }, otp: true, onValueComplete: () => {
138
- formRef.current?.requestSubmit();
139
- }, 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-4 flex w-full items-center justify-center gap-xs text-xs", children: [_jsx("span", { className: "text-[#9CA3AF]", children: "Didn't receive the code?" }), _jsx("button", { type: "button", className: "font-semibold text-[#C084FC]", disabled: cooldown.cooling, onClick: async () => {
140
- await sendVerificationCodeMutation.mutateAsync({
141
- channel: 'SMS',
142
- recipient: mobileNumberParser.format(step1Form.getValues('mobileNumber')),
143
- });
144
- cooldown.start();
145
- }, children: cooldown.cooling
146
- ? `Resend in ${cooldown.countdown}s`
147
- : 'Resend' })] }), _jsx("button", { type: "button", className: "absolute top-0 left-6 mx-auto mt-3xl flex h-8 w-8 items-center gap-1 rounded-full bg-[#1f2638] font-semibold text-sm text-text-tertiary-600", onClick: () => {
148
- setStep(1);
149
- step2Form.reset();
150
- cooldown.stop();
151
- }, children: _jsx(ArrowLeftIcon, { className: "mx-auto size-5" }) })] })] }))] })] }) })] }) }));
152
- }
@@ -1 +0,0 @@
1
- export * from './UpdateMobilePhoneNumber';
@@ -1 +0,0 @@
1
- export * from './UpdateMobilePhoneNumber.js';