@levo-so/studio 0.1.65 → 0.1.67
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.
- package/dist/{Beams-BRf_EHmR.js → Beams-nmNmDhrm.js} +1 -1
- package/dist/{BillingStep-3JMxE22F.js → BillingStep-CUrykLb4.js} +1 -1
- package/dist/{Dots-DHyk4_u7.js → Dots-dNvykqVn.js} +1 -1
- package/dist/{Gradient-MU2Wz9xb.js → Gradient-Ciw_vJDx.js} +1 -1
- package/dist/{Grid-Di1JssWH.js → Grid-BqYjfOaX.js} +1 -1
- package/dist/{MessageCard-D2lLp4eE.js → MessageCard-B4szjq4V.js} +1 -1
- package/dist/{Waves-CnzNxaRY.js → Waves-BJBLHT4h.js} +1 -1
- package/dist/components/LoginForm/GoogleOAuth.d.ts.map +1 -1
- package/dist/components/globalSearch/GlobalSearch.d.ts +7 -0
- package/dist/components/globalSearch/GlobalSearch.d.ts.map +1 -0
- package/dist/components/globalSearch/GlobalSearchDialog.d.ts +6 -0
- package/dist/components/globalSearch/GlobalSearchDialog.d.ts.map +1 -0
- package/dist/components/globalSearch/index.d.ts +2 -0
- package/dist/components/globalSearch/index.d.ts.map +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/stripePaymentModal/StripePaymentModal.d.ts.map +1 -1
- package/dist/components/stripePaymentModal/index.d.ts +1 -1
- package/dist/components/stripePaymentModal/index.d.ts.map +1 -1
- package/dist/components/ui/base/index.d.ts +1 -0
- package/dist/components/ui/base/index.d.ts.map +1 -1
- package/dist/components/ui/base/kbd.d.ts +4 -0
- package/dist/components/ui/base/kbd.d.ts.map +1 -0
- package/dist/elements/forum/comments/Comments.d.ts.map +1 -1
- package/dist/elements/forum/comments/ReplyBox.d.ts.map +1 -1
- package/dist/elements/forum/comments/commentUtility.d.ts.map +1 -1
- package/dist/elements/forum/createForumPost/CreateForumPost.d.ts.map +1 -1
- package/dist/elements/forum/createForumPost/CreateForumPostModal.d.ts.map +1 -1
- package/dist/elements/forum/utility/Video.d.ts.map +1 -1
- package/dist/elements/forum/utility/index.d.ts.map +1 -1
- package/dist/{elements-CQPyQ41m.js → elements-BFZyX9xz.js} +1 -1
- package/dist/hooks/useLogin.d.ts.map +1 -1
- package/dist/{index-CaY6J1im.js → index-BxyIkcWw.js} +2 -2
- package/dist/{index-Cwq8c9bh.js → index-C75foZeA.js} +3743 -3488
- package/dist/{index-BoVbOwhL.js → index-CpNa1Kv5.js} +2 -2
- package/dist/{index-eeE2Aq54.js → index-DDc-37FN.js} +2 -2
- package/dist/{index-DJ7HthbO.js → index-DWpliAOR.js} +1 -1
- package/dist/{index-sUzBLq7s.js → index-djT9Bhvi.js} +1 -1
- package/dist/{index-Bm3Ox5Ky.js → index-gIohjnj8.js} +204 -204
- package/dist/index.js +115 -112
- package/package.json +4 -4
|
@@ -1,54 +1,54 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as e, jsxs as l, Fragment as q } from "react/jsx-runtime";
|
|
3
|
-
import { useLevo as Q,
|
|
3
|
+
import { useLevo as Q, LevoOAuth as I, successToast as X, errorHandler as Z } from "@levo-so/react";
|
|
4
4
|
import { useState as _, useEffect as G, useRef as R, useMemo as F } from "react";
|
|
5
|
-
import { h as $, A as
|
|
5
|
+
import { h as $, A as ee } from "./index-C75foZeA.js";
|
|
6
6
|
import { getLevoError as B } from "@levo-so/core";
|
|
7
7
|
import { useFormik as A } from "formik";
|
|
8
|
-
import { parsePhoneNumberWithError as
|
|
8
|
+
import { parsePhoneNumberWithError as te } from "libphonenumber-js";
|
|
9
9
|
import * as k from "yup";
|
|
10
|
-
import
|
|
11
|
-
import { ChevronDown as
|
|
12
|
-
import { Popover as
|
|
13
|
-
import { usePhoneInput as
|
|
14
|
-
const z = k.string().required("Email is required").email("Please enter a valid email address").trim(), H = k.string().required("Please enter the verification code").length(4, "Verification code must be 4 digits").matches(/^\d+$/, "Verification code must contain only numbers"), U = k.string().required("Phone number is required").test("phone", "The phone number has incorrect format", (
|
|
15
|
-
if (!
|
|
10
|
+
import ne from "react-otp-input";
|
|
11
|
+
import { ChevronDown as re } from "lucide-react";
|
|
12
|
+
import { Popover as L } from "radix-ui";
|
|
13
|
+
import { usePhoneInput as oe, defaultCountries as P, parseCountry as M, FlagImage as j } from "react-international-phone";
|
|
14
|
+
const z = k.string().required("Email is required").email("Please enter a valid email address").trim(), H = k.string().required("Please enter the verification code").length(4, "Verification code must be 4 digits").matches(/^\d+$/, "Verification code must contain only numbers"), U = k.string().required("Phone number is required").test("phone", "The phone number has incorrect format", (o) => {
|
|
15
|
+
if (!o) return !1;
|
|
16
16
|
try {
|
|
17
|
-
return
|
|
17
|
+
return te(o)?.isValid() ?? !1;
|
|
18
18
|
} catch {
|
|
19
19
|
return !1;
|
|
20
20
|
}
|
|
21
21
|
}), K = k.object({
|
|
22
22
|
email: z
|
|
23
|
-
}),
|
|
23
|
+
}), ie = k.object({
|
|
24
24
|
email: z,
|
|
25
25
|
otp: H
|
|
26
|
-
}),
|
|
26
|
+
}), se = k.object({
|
|
27
27
|
phone: U
|
|
28
|
-
}),
|
|
28
|
+
}), ae = k.object({
|
|
29
29
|
phone: U,
|
|
30
30
|
otp: H
|
|
31
|
-
}),
|
|
32
|
-
button:
|
|
33
|
-
content:
|
|
34
|
-
icon:
|
|
35
|
-
spinner:
|
|
36
|
-
iconEnter:
|
|
37
|
-
text:
|
|
31
|
+
}), le = K, ce = "_button_1je4h_2", de = "_content_1je4h_70", ue = "_icon_1je4h_77", me = "_spinner_1je4h_89", pe = "_iconEnter_1je4h_103", he = "_text_1je4h_119", N = {
|
|
32
|
+
button: ce,
|
|
33
|
+
content: de,
|
|
34
|
+
icon: ue,
|
|
35
|
+
spinner: me,
|
|
36
|
+
iconEnter: pe,
|
|
37
|
+
text: he
|
|
38
38
|
}, E = ({
|
|
39
|
-
className:
|
|
39
|
+
className: o,
|
|
40
40
|
children: c,
|
|
41
41
|
isLoading: t = !1,
|
|
42
42
|
isError: a = !1,
|
|
43
|
-
loadingText:
|
|
43
|
+
loadingText: u = "Loading...",
|
|
44
44
|
successText: s = "Success!",
|
|
45
|
-
errorText:
|
|
45
|
+
errorText: r = "Error!",
|
|
46
46
|
variant: h = "default",
|
|
47
|
-
size:
|
|
47
|
+
size: p = "default",
|
|
48
48
|
disabled: n,
|
|
49
49
|
...y
|
|
50
50
|
}) => {
|
|
51
|
-
const [v, i] = _(!1), [g, C] = _(!1), [S,
|
|
51
|
+
const [v, i] = _(!1), [g, C] = _(!1), [S, m] = _(t);
|
|
52
52
|
G(() => {
|
|
53
53
|
if (S && !t)
|
|
54
54
|
if (a) {
|
|
@@ -64,9 +64,9 @@ const z = k.string().required("Email is required").email("Please enter a valid e
|
|
|
64
64
|
}, 2e3);
|
|
65
65
|
return () => clearTimeout(T);
|
|
66
66
|
}
|
|
67
|
-
|
|
67
|
+
m(t);
|
|
68
68
|
}, [t, S, a]);
|
|
69
|
-
const f = () => t ?
|
|
69
|
+
const f = () => t ? u : v ? s : g ? r : c, V = () => g ? "destructive" : v ? "success" : h, w = () => t ? /* @__PURE__ */ e("div", { className: `${N.icon} ${N.iconEnter}`, children: /* @__PURE__ */ e("svg", { className: N.spinner, viewBox: "0 0 24 24", children: /* @__PURE__ */ e(
|
|
70
70
|
"circle",
|
|
71
71
|
{
|
|
72
72
|
cx: "12",
|
|
@@ -113,9 +113,9 @@ const z = k.string().required("Email is required").email("Please enter a valid e
|
|
|
113
113
|
return /* @__PURE__ */ e(
|
|
114
114
|
"button",
|
|
115
115
|
{
|
|
116
|
-
className: `${N.button} ${
|
|
116
|
+
className: `${N.button} ${o || ""}`,
|
|
117
117
|
"data-variant": V(),
|
|
118
|
-
"data-size":
|
|
118
|
+
"data-size": p,
|
|
119
119
|
disabled: n || t,
|
|
120
120
|
...y,
|
|
121
121
|
children: /* @__PURE__ */ l("div", { className: N.content, children: [
|
|
@@ -124,21 +124,21 @@ const z = k.string().required("Email is required").email("Please enter a valid e
|
|
|
124
124
|
] })
|
|
125
125
|
}
|
|
126
126
|
);
|
|
127
|
-
},
|
|
128
|
-
container:
|
|
129
|
-
label:
|
|
130
|
-
inputWrapper:
|
|
131
|
-
input:
|
|
132
|
-
editButton:
|
|
133
|
-
}, Y = ({ email:
|
|
127
|
+
}, fe = "_container_wx5fd_1", ge = "_label_wx5fd_5", _e = "_inputWrapper_wx5fd_13", ve = "_input_wx5fd_13", be = "_editButton_wx5fd_38", W = {
|
|
128
|
+
container: fe,
|
|
129
|
+
label: ge,
|
|
130
|
+
inputWrapper: _e,
|
|
131
|
+
input: ve,
|
|
132
|
+
editButton: be
|
|
133
|
+
}, Y = ({ email: o, setEmail: c, otpSent: t, handleReset: a }) => /* @__PURE__ */ l("div", { className: W.container, children: [
|
|
134
134
|
/* @__PURE__ */ e("label", { className: W.label, children: "Email" }),
|
|
135
135
|
/* @__PURE__ */ l("div", { className: W.inputWrapper, children: [
|
|
136
136
|
/* @__PURE__ */ e(
|
|
137
137
|
"input",
|
|
138
138
|
{
|
|
139
139
|
type: "email",
|
|
140
|
-
value:
|
|
141
|
-
onChange: (
|
|
140
|
+
value: o,
|
|
141
|
+
onChange: (u) => c(u.target.value),
|
|
142
142
|
className: W.input,
|
|
143
143
|
placeholder: "Enter your email",
|
|
144
144
|
disabled: t
|
|
@@ -154,17 +154,17 @@ const z = k.string().required("Email is required").email("Please enter a valid e
|
|
|
154
154
|
}
|
|
155
155
|
)
|
|
156
156
|
] })
|
|
157
|
-
] }),
|
|
158
|
-
container:
|
|
159
|
-
iconWrapper:
|
|
160
|
-
icon:
|
|
161
|
-
content:
|
|
162
|
-
title:
|
|
163
|
-
message:
|
|
164
|
-
submessage:
|
|
165
|
-
actions:
|
|
166
|
-
resetButton:
|
|
167
|
-
},
|
|
157
|
+
] }), ye = "_container_x1dec_1", Ne = "_iconWrapper_x1dec_9", Se = "_icon_x1dec_9", xe = "_content_x1dec_26", Ce = "_title_x1dec_30", we = "_message_x1dec_37", Ee = "_submessage_x1dec_49", Te = "_actions_x1dec_55", ke = "_resetButton_x1dec_59", x = {
|
|
158
|
+
container: ye,
|
|
159
|
+
iconWrapper: Ne,
|
|
160
|
+
icon: Se,
|
|
161
|
+
content: xe,
|
|
162
|
+
title: Ce,
|
|
163
|
+
message: we,
|
|
164
|
+
submessage: Ee,
|
|
165
|
+
actions: Te,
|
|
166
|
+
resetButton: ke
|
|
167
|
+
}, Be = ({ email: o, onReset: c }) => /* @__PURE__ */ l("div", { className: x.container, children: [
|
|
168
168
|
/* @__PURE__ */ e("div", { className: x.iconWrapper, children: /* @__PURE__ */ e("svg", { className: x.icon, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ e(
|
|
169
169
|
"path",
|
|
170
170
|
{
|
|
@@ -178,49 +178,49 @@ const z = k.string().required("Email is required").email("Please enter a valid e
|
|
|
178
178
|
/* @__PURE__ */ e("h3", { className: x.title, children: "Check your email" }),
|
|
179
179
|
/* @__PURE__ */ l("p", { className: x.message, children: [
|
|
180
180
|
"We've sent a magic link to ",
|
|
181
|
-
/* @__PURE__ */ e("strong", { children:
|
|
181
|
+
/* @__PURE__ */ e("strong", { children: o })
|
|
182
182
|
] }),
|
|
183
183
|
/* @__PURE__ */ e("p", { className: x.submessage, children: "Click the link in your email to sign in. The link will expire in 15 minutes." })
|
|
184
184
|
] }),
|
|
185
185
|
/* @__PURE__ */ e("div", { className: x.actions, children: /* @__PURE__ */ e(E, { variant: "outline", onClick: c, className: x.resetButton, children: "Use a different email" }) })
|
|
186
|
-
] }),
|
|
187
|
-
container:
|
|
186
|
+
] }), We = "_container_1mfd3_1", Oe = "_errorContainer_1mfd3_5", Le = "_divider_1mfd3_9", Ie = "_dividerLine_1mfd3_15", $e = "_dividerText_1mfd3_21", Ve = "_formSection_1mfd3_27", Ae = "_buttonWrapper_1mfd3_33", De = "_fullWidthButton_1mfd3_36", Re = "_oauthContainer_1mfd3_41", Fe = "_googleButton_1mfd3_54", Pe = "_googleIcon_1mfd3_78", Me = "_errorContent_1mfd3_90", je = "_errorText_1mfd3_107", qe = "_errorTitle_1mfd3_112", Ge = "_errorMessage_1mfd3_119", ze = "_errorDismiss_1mfd3_125", d = {
|
|
187
|
+
container: We,
|
|
188
188
|
errorContainer: Oe,
|
|
189
|
-
divider:
|
|
190
|
-
dividerLine:
|
|
191
|
-
dividerText:
|
|
192
|
-
formSection:
|
|
193
|
-
buttonWrapper:
|
|
194
|
-
fullWidthButton:
|
|
195
|
-
oauthContainer:
|
|
196
|
-
googleButton:
|
|
197
|
-
googleIcon:
|
|
198
|
-
errorContent:
|
|
199
|
-
errorText:
|
|
200
|
-
errorTitle:
|
|
201
|
-
errorMessage:
|
|
202
|
-
errorDismiss:
|
|
203
|
-
}, D = ({ error:
|
|
189
|
+
divider: Le,
|
|
190
|
+
dividerLine: Ie,
|
|
191
|
+
dividerText: $e,
|
|
192
|
+
formSection: Ve,
|
|
193
|
+
buttonWrapper: Ae,
|
|
194
|
+
fullWidthButton: De,
|
|
195
|
+
oauthContainer: Re,
|
|
196
|
+
googleButton: Fe,
|
|
197
|
+
googleIcon: Pe,
|
|
198
|
+
errorContent: Me,
|
|
199
|
+
errorText: je,
|
|
200
|
+
errorTitle: qe,
|
|
201
|
+
errorMessage: Ge,
|
|
202
|
+
errorDismiss: ze
|
|
203
|
+
}, D = ({ error: o, onDismiss: c }) => /* @__PURE__ */ e("div", { className: d.errorContainer, children: /* @__PURE__ */ l("div", { className: d.errorContent, children: [
|
|
204
204
|
/* @__PURE__ */ l("div", { className: d.errorText, children: [
|
|
205
|
-
|
|
206
|
-
/* @__PURE__ */ e("div", { className: d.errorMessage, children:
|
|
205
|
+
o.title && /* @__PURE__ */ e("div", { className: d.errorTitle, children: o.title }),
|
|
206
|
+
/* @__PURE__ */ e("div", { className: d.errorMessage, children: o.message || "An unexpected error occurred" })
|
|
207
207
|
] }),
|
|
208
208
|
c && /* @__PURE__ */ e("button", { onClick: c, className: d.errorDismiss, "aria-label": "Dismiss error", children: "×" })
|
|
209
|
-
] }) }),
|
|
210
|
-
const { sendMagicLink: c } = $(), [t, a] = _(!1), [
|
|
209
|
+
] }) }), He = ({ onMagicLinkSent: o }) => {
|
|
210
|
+
const { sendMagicLink: c } = $(), [t, a] = _(!1), [u, s] = _(null);
|
|
211
211
|
G(() => {
|
|
212
|
-
|
|
213
|
-
}, [t,
|
|
214
|
-
const
|
|
212
|
+
o?.(t);
|
|
213
|
+
}, [t, o]);
|
|
214
|
+
const r = A({
|
|
215
215
|
initialValues: {
|
|
216
216
|
email: ""
|
|
217
217
|
},
|
|
218
|
-
validationSchema:
|
|
218
|
+
validationSchema: le,
|
|
219
219
|
validateOnChange: !1,
|
|
220
220
|
validateOnBlur: !1,
|
|
221
|
-
onSubmit: async (
|
|
221
|
+
onSubmit: async (p, { setSubmitting: n, setFieldError: y }) => {
|
|
222
222
|
try {
|
|
223
|
-
s(null), await c(
|
|
223
|
+
s(null), await c(p.email), a(!0);
|
|
224
224
|
} catch (v) {
|
|
225
225
|
const i = B(v);
|
|
226
226
|
i.hasFieldErrors ? i.fieldErrors.forEach((g) => {
|
|
@@ -231,12 +231,12 @@ const z = k.string().required("Email is required").email("Please enter a valid e
|
|
|
231
231
|
}
|
|
232
232
|
}
|
|
233
233
|
}), h = () => {
|
|
234
|
-
a(!1),
|
|
234
|
+
a(!1), r.resetForm(), s(null);
|
|
235
235
|
};
|
|
236
|
-
return t ? /* @__PURE__ */ e(
|
|
236
|
+
return t ? /* @__PURE__ */ e(Be, { email: r.values.email, onReset: h }) : /* @__PURE__ */ l(
|
|
237
237
|
"form",
|
|
238
238
|
{
|
|
239
|
-
onSubmit:
|
|
239
|
+
onSubmit: r.handleSubmit,
|
|
240
240
|
style: {
|
|
241
241
|
display: "flex",
|
|
242
242
|
flexDirection: "column",
|
|
@@ -246,8 +246,8 @@ const z = k.string().required("Email is required").email("Please enter a valid e
|
|
|
246
246
|
/* @__PURE__ */ e(
|
|
247
247
|
Y,
|
|
248
248
|
{
|
|
249
|
-
email:
|
|
250
|
-
setEmail: (
|
|
249
|
+
email: r.values.email,
|
|
250
|
+
setEmail: (p) => r.setFieldValue("email", p),
|
|
251
251
|
otpSent: !1,
|
|
252
252
|
handleReset: h
|
|
253
253
|
}
|
|
@@ -256,54 +256,54 @@ const z = k.string().required("Email is required").email("Please enter a valid e
|
|
|
256
256
|
E,
|
|
257
257
|
{
|
|
258
258
|
type: "submit",
|
|
259
|
-
isLoading:
|
|
260
|
-
isError: !!
|
|
261
|
-
disabled:
|
|
259
|
+
isLoading: r.isSubmitting,
|
|
260
|
+
isError: !!u,
|
|
261
|
+
disabled: r.isSubmitting,
|
|
262
262
|
className: d.fullWidthButton,
|
|
263
263
|
loadingText: "Sending Magic Link...",
|
|
264
264
|
errorText: "Failed to Send",
|
|
265
265
|
children: "Send Magic Link"
|
|
266
266
|
}
|
|
267
267
|
) }),
|
|
268
|
-
|
|
268
|
+
u && /* @__PURE__ */ e(D, { error: u, onDismiss: () => s(null) })
|
|
269
269
|
]
|
|
270
270
|
}
|
|
271
271
|
);
|
|
272
|
-
},
|
|
273
|
-
container:
|
|
274
|
-
label:
|
|
275
|
-
inputGroup:
|
|
276
|
-
input:
|
|
277
|
-
resendButton:
|
|
272
|
+
}, Ue = "_container_1c9qn_1", Ke = "_label_1c9qn_5", Ye = "_inputGroup_1c9qn_13", Je = "_input_1c9qn_13", Qe = "_resendButton_1c9qn_36", O = {
|
|
273
|
+
container: Ue,
|
|
274
|
+
label: Ke,
|
|
275
|
+
inputGroup: Ye,
|
|
276
|
+
input: Je,
|
|
277
|
+
resendButton: Qe
|
|
278
278
|
}, J = ({
|
|
279
|
-
otpSent:
|
|
279
|
+
otpSent: o,
|
|
280
280
|
isResendingOtp: c,
|
|
281
281
|
otp: t,
|
|
282
282
|
resendOTP: a,
|
|
283
|
-
setOtp:
|
|
283
|
+
setOtp: u
|
|
284
284
|
}) => {
|
|
285
|
-
const [s,
|
|
285
|
+
const [s, r] = _(0), h = () => {
|
|
286
286
|
a(() => {
|
|
287
|
-
|
|
288
|
-
const
|
|
289
|
-
|
|
287
|
+
r(30);
|
|
288
|
+
const p = setInterval(() => {
|
|
289
|
+
r((n) => n <= 1 ? (clearInterval(p), 0) : n - 1);
|
|
290
290
|
}, 1e3);
|
|
291
291
|
});
|
|
292
292
|
};
|
|
293
|
-
return
|
|
294
|
-
/* @__PURE__ */ e("label", { className:
|
|
295
|
-
/* @__PURE__ */ e("div", { className:
|
|
296
|
-
|
|
293
|
+
return o ? /* @__PURE__ */ l("div", { className: O.container, children: [
|
|
294
|
+
/* @__PURE__ */ e("label", { className: O.label, children: "Verification Code" }),
|
|
295
|
+
/* @__PURE__ */ e("div", { className: O.inputGroup, children: /* @__PURE__ */ e(
|
|
296
|
+
ne,
|
|
297
297
|
{
|
|
298
298
|
value: t,
|
|
299
|
-
onChange:
|
|
299
|
+
onChange: u,
|
|
300
300
|
numInputs: 4,
|
|
301
301
|
inputStyle: {
|
|
302
302
|
marginRight: "12px"
|
|
303
303
|
},
|
|
304
304
|
inputType: "tel",
|
|
305
305
|
skipDefaultStyles: !0,
|
|
306
|
-
renderInput: ({ className:
|
|
306
|
+
renderInput: ({ className: p, ...n }) => /* @__PURE__ */ e("input", { className: `${O.input} ${p}`, ...n })
|
|
307
307
|
}
|
|
308
308
|
) }),
|
|
309
309
|
/* @__PURE__ */ e(
|
|
@@ -311,42 +311,42 @@ const z = k.string().required("Email is required").email("Please enter a valid e
|
|
|
311
311
|
{
|
|
312
312
|
onClick: h,
|
|
313
313
|
disabled: c || s > 0,
|
|
314
|
-
className:
|
|
314
|
+
className: O.resendButton,
|
|
315
315
|
children: c ? "Resending..." : s > 0 ? `Resend in ${s}s` : "Resend Code"
|
|
316
316
|
}
|
|
317
317
|
)
|
|
318
318
|
] }) : null;
|
|
319
|
-
},
|
|
320
|
-
const { sendOTP:
|
|
319
|
+
}, Xe = () => {
|
|
320
|
+
const { sendOTP: o, verifyOTP: c, resendOTP: t } = $(), [a, u] = _(!1), [s, r] = _(null), [h, p] = _(!1), n = A({
|
|
321
321
|
initialValues: {
|
|
322
322
|
email: "",
|
|
323
323
|
otp: ""
|
|
324
324
|
},
|
|
325
|
-
validationSchema: a ?
|
|
325
|
+
validationSchema: a ? ie : K,
|
|
326
326
|
validateOnChange: !1,
|
|
327
327
|
validateOnBlur: !1,
|
|
328
328
|
onSubmit: async (i, { setSubmitting: g, setFieldError: C }) => {
|
|
329
329
|
try {
|
|
330
|
-
|
|
330
|
+
r(null), a ? await c(i.email, i.otp) : (await o({ email: i.email }), u(!0));
|
|
331
331
|
} catch (S) {
|
|
332
|
-
const
|
|
333
|
-
|
|
332
|
+
const m = B(S);
|
|
333
|
+
m.hasFieldErrors ? m.fieldErrors.forEach((f) => {
|
|
334
334
|
C(f.param, f.message);
|
|
335
|
-
}) :
|
|
335
|
+
}) : r(m);
|
|
336
336
|
} finally {
|
|
337
337
|
g(!1);
|
|
338
338
|
}
|
|
339
339
|
}
|
|
340
340
|
}), y = () => {
|
|
341
|
-
|
|
341
|
+
u(!1), n.resetForm(), r(null);
|
|
342
342
|
}, v = async () => {
|
|
343
343
|
try {
|
|
344
|
-
|
|
344
|
+
p(!0), r(null), await t({ email: n.values.email });
|
|
345
345
|
} catch (i) {
|
|
346
346
|
const g = B(i);
|
|
347
|
-
|
|
347
|
+
r(g);
|
|
348
348
|
} finally {
|
|
349
|
-
|
|
349
|
+
p(!1);
|
|
350
350
|
}
|
|
351
351
|
};
|
|
352
352
|
return /* @__PURE__ */ l(
|
|
@@ -403,54 +403,54 @@ const z = k.string().required("Email is required").email("Please enter a valid e
|
|
|
403
403
|
children: "Send Code"
|
|
404
404
|
}
|
|
405
405
|
) }),
|
|
406
|
-
s && /* @__PURE__ */ e(D, { error: s, onDismiss: () =>
|
|
406
|
+
s && /* @__PURE__ */ e(D, { error: s, onDismiss: () => r(null) })
|
|
407
407
|
]
|
|
408
408
|
}
|
|
409
409
|
);
|
|
410
|
-
},
|
|
411
|
-
label:
|
|
412
|
-
inputWrapper:
|
|
413
|
-
phoneInputWrapper:
|
|
414
|
-
input:
|
|
415
|
-
selector:
|
|
416
|
-
editButton:
|
|
417
|
-
dropdownContent:
|
|
418
|
-
countryItem:
|
|
419
|
-
flag:
|
|
420
|
-
countryName:
|
|
421
|
-
dialCode:
|
|
422
|
-
},
|
|
423
|
-
const [
|
|
410
|
+
}, Ze = "_label_1fvbo_1", et = "_inputWrapper_1fvbo_9", tt = "_phoneInputWrapper_1fvbo_14", nt = "_input_1fvbo_9", rt = "_selector_1fvbo_41", ot = "_editButton_1fvbo_69", it = "_dropdownContent_1fvbo_73", st = "_countryItem_1fvbo_89", at = "_flag_1fvbo_111", lt = "_countryName_1fvbo_118", ct = "_dialCode_1fvbo_125", b = {
|
|
411
|
+
label: Ze,
|
|
412
|
+
inputWrapper: et,
|
|
413
|
+
phoneInputWrapper: tt,
|
|
414
|
+
input: nt,
|
|
415
|
+
selector: rt,
|
|
416
|
+
editButton: ot,
|
|
417
|
+
dropdownContent: it,
|
|
418
|
+
countryItem: st,
|
|
419
|
+
flag: at,
|
|
420
|
+
countryName: lt,
|
|
421
|
+
dialCode: ct
|
|
422
|
+
}, dt = ({ phone: o, setPhone: c, otpSent: t, handleReset: a }) => {
|
|
423
|
+
const [u, s] = _(!1), [r, h] = _(""), p = R(null), n = R(null), { inputValue: y, handlePhoneValueChange: v, inputRef: i, country: g, setCountry: C } = oe({
|
|
424
424
|
defaultCountry: "in",
|
|
425
|
-
value:
|
|
425
|
+
value: o,
|
|
426
426
|
countries: P,
|
|
427
|
-
onChange: (
|
|
428
|
-
c(
|
|
427
|
+
onChange: (m) => {
|
|
428
|
+
c(m.phone);
|
|
429
429
|
},
|
|
430
430
|
disableDialCodePrefill: !0,
|
|
431
431
|
forceDialCode: !0
|
|
432
|
-
}), S = P.filter((
|
|
433
|
-
const f = M(
|
|
434
|
-
return f.name.toLowerCase().includes(
|
|
432
|
+
}), S = P.filter((m) => {
|
|
433
|
+
const f = M(m);
|
|
434
|
+
return f.name.toLowerCase().includes(r.toLowerCase()) || f.dialCode.includes(r);
|
|
435
435
|
});
|
|
436
436
|
return /* @__PURE__ */ l("div", { children: [
|
|
437
437
|
/* @__PURE__ */ e("label", { className: b.label, children: "Phone Number" }),
|
|
438
438
|
/* @__PURE__ */ l("div", { className: b.inputWrapper, children: [
|
|
439
439
|
/* @__PURE__ */ l("div", { className: b.phoneInputWrapper, children: [
|
|
440
|
-
/* @__PURE__ */ l(
|
|
441
|
-
/* @__PURE__ */ e(
|
|
440
|
+
/* @__PURE__ */ l(L.Root, { open: u, onOpenChange: s, children: [
|
|
441
|
+
/* @__PURE__ */ e(L.Trigger, { asChild: !0, disabled: t, children: /* @__PURE__ */ l("button", { type: "button", className: b.selector, disabled: t, children: [
|
|
442
442
|
/* @__PURE__ */ e(j, { iso2: g.iso2, style: { width: "24px", height: "16px" } }),
|
|
443
|
-
/* @__PURE__ */ e(
|
|
443
|
+
/* @__PURE__ */ e(re, { size: 16, style: { marginLeft: "4px", opacity: 0.5 } })
|
|
444
444
|
] }) }),
|
|
445
|
-
/* @__PURE__ */ e(
|
|
446
|
-
|
|
445
|
+
/* @__PURE__ */ e(L.Portal, { children: /* @__PURE__ */ l(
|
|
446
|
+
L.Content,
|
|
447
447
|
{
|
|
448
448
|
className: b.dropdownContent,
|
|
449
449
|
align: "start",
|
|
450
450
|
side: "bottom",
|
|
451
451
|
sideOffset: 4,
|
|
452
|
-
onOpenAutoFocus: (
|
|
453
|
-
|
|
452
|
+
onOpenAutoFocus: (m) => {
|
|
453
|
+
m.preventDefault(), n.current?.focus();
|
|
454
454
|
},
|
|
455
455
|
children: [
|
|
456
456
|
/* @__PURE__ */ e("div", { style: { padding: "0.5rem" }, children: /* @__PURE__ */ e(
|
|
@@ -459,10 +459,10 @@ const z = k.string().required("Email is required").email("Please enter a valid e
|
|
|
459
459
|
ref: n,
|
|
460
460
|
type: "text",
|
|
461
461
|
placeholder: "Search country...",
|
|
462
|
-
value:
|
|
463
|
-
onChange: (
|
|
464
|
-
onKeyDown: (
|
|
465
|
-
|
|
462
|
+
value: r,
|
|
463
|
+
onChange: (m) => h(m.target.value),
|
|
464
|
+
onKeyDown: (m) => {
|
|
465
|
+
m.key === "ArrowDown" && (m.preventDefault(), p.current?.firstElementChild?.focus());
|
|
466
466
|
},
|
|
467
467
|
className: b.input,
|
|
468
468
|
style: {
|
|
@@ -471,9 +471,9 @@ const z = k.string().required("Email is required").email("Please enter a valid e
|
|
|
471
471
|
}
|
|
472
472
|
}
|
|
473
473
|
) }),
|
|
474
|
-
/* @__PURE__ */ l("div", { ref:
|
|
475
|
-
S.map((
|
|
476
|
-
const f = M(
|
|
474
|
+
/* @__PURE__ */ l("div", { ref: p, style: { overflowY: "auto", flex: 1 }, children: [
|
|
475
|
+
S.map((m) => {
|
|
476
|
+
const f = M(m), V = f.iso2 === g.iso2;
|
|
477
477
|
return /* @__PURE__ */ l(
|
|
478
478
|
"button",
|
|
479
479
|
{
|
|
@@ -544,37 +544,37 @@ const z = k.string().required("Email is required").email("Please enter a valid e
|
|
|
544
544
|
)
|
|
545
545
|
] })
|
|
546
546
|
] });
|
|
547
|
-
},
|
|
548
|
-
const { sendOTP:
|
|
547
|
+
}, ut = () => {
|
|
548
|
+
const { sendOTP: o, verifyOTP: c, resendOTP: t } = $(), [a, u] = _(!1), [s, r] = _(null), [h, p] = _(!1), n = A({
|
|
549
549
|
initialValues: {
|
|
550
550
|
phone: "",
|
|
551
551
|
otp: ""
|
|
552
552
|
},
|
|
553
|
-
validationSchema: a ?
|
|
553
|
+
validationSchema: a ? ae : se,
|
|
554
554
|
validateOnChange: !1,
|
|
555
555
|
validateOnBlur: !1,
|
|
556
556
|
onSubmit: async (i, { setSubmitting: g, setFieldError: C }) => {
|
|
557
557
|
try {
|
|
558
|
-
|
|
558
|
+
r(null), a ? await c(i.phone, i.otp) : (await o({ phone: i.phone, medium: "whatsapp" }), u(!0));
|
|
559
559
|
} catch (S) {
|
|
560
|
-
const
|
|
561
|
-
|
|
560
|
+
const m = B(S);
|
|
561
|
+
m.hasFieldErrors ? m.fieldErrors.forEach((f) => {
|
|
562
562
|
C(f.param, f.message);
|
|
563
|
-
}) :
|
|
563
|
+
}) : r(m);
|
|
564
564
|
} finally {
|
|
565
565
|
g(!1);
|
|
566
566
|
}
|
|
567
567
|
}
|
|
568
568
|
}), y = () => {
|
|
569
|
-
|
|
569
|
+
u(!1), n.resetForm(), r(null);
|
|
570
570
|
}, v = async () => {
|
|
571
571
|
try {
|
|
572
|
-
|
|
572
|
+
p(!0), r(null), await t({ phone: n.values.phone, medium: "whatsapp" });
|
|
573
573
|
} catch (i) {
|
|
574
574
|
const g = B(i);
|
|
575
|
-
|
|
575
|
+
r(g);
|
|
576
576
|
} finally {
|
|
577
|
-
|
|
577
|
+
p(!1);
|
|
578
578
|
}
|
|
579
579
|
};
|
|
580
580
|
return /* @__PURE__ */ l(
|
|
@@ -588,7 +588,7 @@ const z = k.string().required("Email is required").email("Please enter a valid e
|
|
|
588
588
|
},
|
|
589
589
|
children: [
|
|
590
590
|
/* @__PURE__ */ e(
|
|
591
|
-
|
|
591
|
+
dt,
|
|
592
592
|
{
|
|
593
593
|
phone: n.values.phone,
|
|
594
594
|
setPhone: (i) => n.setFieldValue("phone", i),
|
|
@@ -635,34 +635,34 @@ const z = k.string().required("Email is required").email("Please enter a valid e
|
|
|
635
635
|
]
|
|
636
636
|
}
|
|
637
637
|
);
|
|
638
|
-
},
|
|
639
|
-
method:
|
|
638
|
+
}, mt = ({
|
|
639
|
+
method: o,
|
|
640
640
|
onMagicLinkSent: c
|
|
641
641
|
}) => {
|
|
642
|
-
switch (
|
|
642
|
+
switch (o) {
|
|
643
643
|
case "otp":
|
|
644
|
-
return /* @__PURE__ */ e(
|
|
644
|
+
return /* @__PURE__ */ e(Xe, {});
|
|
645
645
|
case "whatsapp":
|
|
646
|
-
return /* @__PURE__ */ e(
|
|
646
|
+
return /* @__PURE__ */ e(ut, {});
|
|
647
647
|
case "magiclink":
|
|
648
|
-
return /* @__PURE__ */ e(
|
|
648
|
+
return /* @__PURE__ */ e(He, { onMagicLinkSent: c });
|
|
649
649
|
default:
|
|
650
650
|
return null;
|
|
651
651
|
}
|
|
652
|
-
},
|
|
653
|
-
switch (
|
|
652
|
+
}, pt = ({ method: o }) => {
|
|
653
|
+
switch (o) {
|
|
654
654
|
case "google":
|
|
655
|
-
return /* @__PURE__ */ e(I.Button, { provider: "google", children: /* @__PURE__ */ l("button", { className: d.googleButton, children: [
|
|
655
|
+
return /* @__PURE__ */ e(I.Button, { provider: "google", children: /* @__PURE__ */ l("button", { type: "button", className: d.googleButton, children: [
|
|
656
656
|
/* @__PURE__ */ e("img", { className: d.googleIcon, src: "https://static.levocdn.com/png/google.png" }),
|
|
657
657
|
"Continue with Google"
|
|
658
658
|
] }) });
|
|
659
659
|
case "microsoft":
|
|
660
|
-
return /* @__PURE__ */ e(I.Button, { provider: "microsoft", children: /* @__PURE__ */ l("button", { className: d.googleButton, children: [
|
|
660
|
+
return /* @__PURE__ */ e(I.Button, { provider: "microsoft", children: /* @__PURE__ */ l("button", { type: "button", className: d.googleButton, children: [
|
|
661
661
|
/* @__PURE__ */ e("img", { className: d.googleIcon, src: "https://static.levocdn.com/png/microsoft.png" }),
|
|
662
662
|
"Continue with Microsoft"
|
|
663
663
|
] }) });
|
|
664
664
|
case "linkedin":
|
|
665
|
-
return /* @__PURE__ */ e(I.Button, { provider: "linkedin", children: /* @__PURE__ */ l("button", { className: d.googleButton, children: [
|
|
665
|
+
return /* @__PURE__ */ e(I.Button, { provider: "linkedin", children: /* @__PURE__ */ l("button", { type: "button", className: d.googleButton, children: [
|
|
666
666
|
/* @__PURE__ */ e("img", { className: d.googleIcon, src: "https://static.levocdn.com/png/linkedin.png" }),
|
|
667
667
|
"Continue with LinkedIn"
|
|
668
668
|
] }) });
|
|
@@ -670,46 +670,46 @@ const z = k.string().required("Email is required").email("Please enter a valid e
|
|
|
670
670
|
default:
|
|
671
671
|
return /* @__PURE__ */ e(q, {});
|
|
672
672
|
}
|
|
673
|
-
},
|
|
674
|
-
otpSent:
|
|
673
|
+
}, ht = ({
|
|
674
|
+
otpSent: o,
|
|
675
675
|
oAuthTitle: c,
|
|
676
676
|
onOAuthSuccess: t,
|
|
677
677
|
onOAuthError: a,
|
|
678
|
-
oAuthMethods:
|
|
678
|
+
oAuthMethods: u
|
|
679
679
|
}) => {
|
|
680
|
-
const { logger: s } = Q()
|
|
681
|
-
return /* @__PURE__ */ e("div", { className: d.oauthContainer, children: !
|
|
680
|
+
const { logger: s } = Q();
|
|
681
|
+
return /* @__PURE__ */ e("div", { className: d.oauthContainer, children: !o && /* @__PURE__ */ e(
|
|
682
682
|
I.Container,
|
|
683
683
|
{
|
|
684
684
|
title: c,
|
|
685
685
|
onSuccess: () => {
|
|
686
|
-
|
|
686
|
+
X("You are logged in successfully", "Login Successful", {
|
|
687
687
|
position: "top-right"
|
|
688
|
-
}),
|
|
688
|
+
}), t && t();
|
|
689
689
|
},
|
|
690
|
-
onError: (
|
|
691
|
-
const
|
|
692
|
-
s?.error("OAuth login failed",
|
|
690
|
+
onError: (r) => {
|
|
691
|
+
const h = B(r);
|
|
692
|
+
s?.error("OAuth login failed", h.message), a && a(h);
|
|
693
693
|
},
|
|
694
|
-
children:
|
|
694
|
+
children: u?.map((r) => /* @__PURE__ */ e(pt, { method: r }, r))
|
|
695
695
|
}
|
|
696
696
|
) });
|
|
697
|
-
},
|
|
698
|
-
oAuthMethods:
|
|
697
|
+
}, ft = ({
|
|
698
|
+
oAuthMethods: o,
|
|
699
699
|
oAuthTitle: c = "Studio",
|
|
700
700
|
showDivider: t,
|
|
701
701
|
dividerText: a,
|
|
702
|
-
onOAuthSuccess:
|
|
702
|
+
onOAuthSuccess: u,
|
|
703
703
|
onOAuthError: s
|
|
704
704
|
}) => /* @__PURE__ */ l(q, { children: [
|
|
705
705
|
/* @__PURE__ */ e(
|
|
706
|
-
|
|
706
|
+
ht,
|
|
707
707
|
{
|
|
708
708
|
otpSent: !t,
|
|
709
709
|
oAuthTitle: c,
|
|
710
|
-
onOAuthSuccess:
|
|
710
|
+
onOAuthSuccess: u,
|
|
711
711
|
onOAuthError: s,
|
|
712
|
-
oAuthMethods:
|
|
712
|
+
oAuthMethods: o
|
|
713
713
|
}
|
|
714
714
|
),
|
|
715
715
|
t && /* @__PURE__ */ l("div", { className: d.divider, children: [
|
|
@@ -717,18 +717,18 @@ const z = k.string().required("Email is required").email("Please enter a valid e
|
|
|
717
717
|
/* @__PURE__ */ e("div", { className: d.dividerText, children: a }),
|
|
718
718
|
/* @__PURE__ */ e("div", { className: d.dividerLine })
|
|
719
719
|
] })
|
|
720
|
-
] }),
|
|
721
|
-
className:
|
|
720
|
+
] }), Tt = ({
|
|
721
|
+
className: o,
|
|
722
722
|
oAuthTitle: c = "Studio",
|
|
723
723
|
page: t,
|
|
724
724
|
magicLinkSent: a,
|
|
725
|
-
setMagicLinkSent:
|
|
725
|
+
setMagicLinkSent: u,
|
|
726
726
|
oAuthMethods: s
|
|
727
727
|
}) => {
|
|
728
|
-
const { refetchLoginStatus:
|
|
729
|
-
|
|
728
|
+
const { refetchLoginStatus: r } = $(), h = F(() => t?.access?.[0]?.kind === "authentication" && t?.access?.[0]?.options?.primary_method || "otp", [t?.access]), p = F(() => s || (t?.access?.[0]?.kind === "authentication" ? t?.access?.[0]?.options?.methods?.filter((i) => ee.includes(i)) || [] : []), [t?.access, s]), n = () => {
|
|
729
|
+
r();
|
|
730
730
|
}, y = (i) => {
|
|
731
|
-
|
|
731
|
+
Z(i);
|
|
732
732
|
}, v = () => {
|
|
733
733
|
switch (h) {
|
|
734
734
|
case "whatsapp":
|
|
@@ -739,11 +739,11 @@ const z = k.string().required("Email is required").email("Please enter a valid e
|
|
|
739
739
|
return "or sign in with email";
|
|
740
740
|
}
|
|
741
741
|
};
|
|
742
|
-
return /* @__PURE__ */ l("div", { className: `${d.container} ${
|
|
743
|
-
|
|
744
|
-
|
|
742
|
+
return /* @__PURE__ */ l("div", { className: `${d.container} ${o || ""}`, children: [
|
|
743
|
+
p.length > 0 && !a && /* @__PURE__ */ e(
|
|
744
|
+
ft,
|
|
745
745
|
{
|
|
746
|
-
oAuthMethods:
|
|
746
|
+
oAuthMethods: p,
|
|
747
747
|
oAuthTitle: c,
|
|
748
748
|
showDivider: !0,
|
|
749
749
|
dividerText: v(),
|
|
@@ -752,14 +752,14 @@ const z = k.string().required("Email is required").email("Please enter a valid e
|
|
|
752
752
|
}
|
|
753
753
|
),
|
|
754
754
|
/* @__PURE__ */ e("div", { className: d.formSection, children: /* @__PURE__ */ e(
|
|
755
|
-
|
|
755
|
+
mt,
|
|
756
756
|
{
|
|
757
757
|
method: h,
|
|
758
|
-
onMagicLinkSent:
|
|
758
|
+
onMagicLinkSent: u
|
|
759
759
|
}
|
|
760
760
|
) })
|
|
761
761
|
] });
|
|
762
762
|
};
|
|
763
763
|
export {
|
|
764
|
-
|
|
764
|
+
Tt as L
|
|
765
765
|
};
|