@better-auth-ui/heroui 1.6.27 → 1.6.29
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/components/auth/forgot-password.d.ts +3 -1
- package/dist/components/auth/last-login-method/last-used-badge.d.ts +13 -0
- package/dist/components/auth/magic-link/magic-link-sent.d.ts +20 -0
- package/dist/components/auth/provider-button.d.ts +3 -1
- package/dist/components/auth/provider-buttons.d.ts +3 -1
- package/dist/components/auth/reset-link-sent.d.ts +20 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +280 -220
- package/dist/lib/auth/last-login-method-plugin.d.ts +12 -0
- package/dist/lib/auth/magic-link-plugin.d.ts +4 -0
- package/dist/plugins.d.ts +3 -0
- package/dist/plugins.js +1070 -1005
- package/dist/user-view-D9ial2fQ.js +150 -0
- package/package.json +1 -1
- package/src/components/auth/auth.tsx +8 -1
- package/src/components/auth/forgot-password.tsx +9 -6
- package/src/components/auth/last-login-method/last-used-badge.tsx +40 -0
- package/src/components/auth/magic-link/magic-link-sent.tsx +84 -0
- package/src/components/auth/magic-link/magic-link.tsx +12 -8
- package/src/components/auth/provider-button.tsx +17 -3
- package/src/components/auth/provider-buttons.tsx +5 -1
- package/src/components/auth/reset-link-sent.tsx +80 -0
- package/src/components/auth/settings/security/change-password.tsx +32 -14
- package/src/components/auth/sign-in.tsx +10 -3
- package/src/components/auth/sign-up.tsx +2 -2
- package/src/components/auth/username/sign-in-username.tsx +6 -3
- package/src/index.tsx +1 -0
- package/src/lib/auth/last-login-method-plugin.ts +12 -0
- package/src/lib/auth/magic-link-plugin.ts +2 -1
- package/src/plugins.ts +3 -0
- package/dist/user-view--47tVtJ3.js +0 -113
package/dist/index.js
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { a as e, i as t, n, r,
|
|
3
|
-
import { authMutationKeys as
|
|
4
|
-
import { AuthProvider as
|
|
5
|
-
import { ArrowRightFromSquare as
|
|
2
|
+
import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "./user-view-D9ial2fQ.js";
|
|
3
|
+
import { authMutationKeys as s, authQueryKeys as c, fileToBase64 as l, getProviderName as u, parseAdditionalFieldValue as d, resolveInputType as f } from "@better-auth-ui/core";
|
|
4
|
+
import { AuthProvider as p, providerIcons as m, useAccountInfo as h, useAuth as g, useAuthenticate as _, useChangeEmail as v, useChangePassword as ee, useFetchOptions as te, useLinkSocial as y, useListAccounts as b, useListSessions as x, useRequestPasswordReset as S, useResetPassword as C, useRevokeSession as w, useSendVerificationEmail as ne, useSession as T, useSignInEmail as re, useSignOut as ie, useSignUpEmail as ae, useUnlinkAccount as oe, useUpdateUser as E } from "@better-auth-ui/react";
|
|
5
|
+
import { ArrowRightFromSquare as se, ArrowRightToSquare as ce, Check as le, ChevronsExpandVertical as ue, CloudArrowUpIn as de, Copy as fe, Display as pe, Eye as D, EyeSlash as O, Gear as me, Link as he, LinkSlash as ge, Person as _e, PersonPlus as ve, PlugConnection as ye, Shield as be, Smartphone as xe, TrashBin as Se, Xmark as Ce } from "@gravity-ui/icons";
|
|
6
6
|
import { Button as k, Calendar as A, Card as j, Checkbox as M, Chip as we, ComboBox as Te, DateField as Ee, DatePicker as De, Description as N, Dropdown as P, FieldError as F, Fieldset as I, Form as L, Input as R, InputGroup as z, Label as B, Link as V, ListBox as H, NumberField as Oe, RouterProvider as ke, Select as Ae, Skeleton as U, Slider as je, Spinner as W, Switch as Me, Tabs as G, TextArea as Ne, TextField as K, TimeField as Pe, cn as q, toast as J, useIsHydrated as Fe } from "@heroui/react";
|
|
7
7
|
import { fromDate as Ie, getLocalTimeZone as Le, parseDate as Re, parseDateTime as ze, toCalendarDate as Be, toCalendarDateTime as Ve } from "@internationalized/date";
|
|
8
8
|
import { isValidElement as He, useEffect as Y, useMemo as Ue, useRef as We, useState as X } from "react";
|
|
9
9
|
import { Fragment as Z, jsx as Q, jsxs as $ } from "react/jsx-runtime";
|
|
10
10
|
import { matchMutation as Ge, matchQuery as Ke, useIsMutating as qe, useQueryClient as Je } from "@tanstack/react-query";
|
|
11
|
-
import
|
|
12
|
-
import Xe from "bowser";
|
|
11
|
+
import Ye from "bowser";
|
|
13
12
|
//#region src/components/auth/additional-field.tsx
|
|
14
|
-
function
|
|
13
|
+
function Xe(e) {
|
|
15
14
|
if (e instanceof Date) return Be(Ie(e, Le()));
|
|
16
15
|
if (typeof e == "string") try {
|
|
17
16
|
return Re(e.slice(0, 10));
|
|
@@ -19,7 +18,7 @@ function Ze(e) {
|
|
|
19
18
|
return;
|
|
20
19
|
}
|
|
21
20
|
}
|
|
22
|
-
function
|
|
21
|
+
function Ze(e) {
|
|
23
22
|
if (e instanceof Date) return Ve(Ie(e, Le()));
|
|
24
23
|
if (typeof e == "string") try {
|
|
25
24
|
return ze(e.replace(/(Z|[+-]\d{2}:?\d{2})$/, ""));
|
|
@@ -27,8 +26,8 @@ function Qe(e) {
|
|
|
27
26
|
return;
|
|
28
27
|
}
|
|
29
28
|
}
|
|
30
|
-
function
|
|
31
|
-
let { localization: n } =
|
|
29
|
+
function Qe({ getValue: e, isDisabled: t }) {
|
|
30
|
+
let { localization: n } = g(), [r, i] = X(!1);
|
|
32
31
|
async function a() {
|
|
33
32
|
let t = e();
|
|
34
33
|
if (t) try {
|
|
@@ -47,8 +46,8 @@ function $e({ getValue: e, isDisabled: t }) {
|
|
|
47
46
|
children: Q(r ? le : fe, { className: "size-4" })
|
|
48
47
|
});
|
|
49
48
|
}
|
|
50
|
-
function
|
|
51
|
-
let { localization: i } =
|
|
49
|
+
function $e({ name: e, field: t, isPending: n, variant: r }) {
|
|
50
|
+
let { localization: i } = g(), a = f(t), o = r === "transparent" ? "primary" : "secondary";
|
|
52
51
|
if (t.render) {
|
|
53
52
|
let i = t.render;
|
|
54
53
|
return /* @__PURE__ */ Q(i, {
|
|
@@ -181,7 +180,7 @@ function et({ name: e, field: t, isPending: n, variant: r }) {
|
|
|
181
180
|
return /* @__PURE__ */ Q(De, {
|
|
182
181
|
className: "w-full [&[data-required=true]>.label]:after:content-none",
|
|
183
182
|
name: e,
|
|
184
|
-
defaultValue: r ?
|
|
183
|
+
defaultValue: r ? Ze(t.defaultValue) : Xe(t.defaultValue),
|
|
185
184
|
granularity: r ? "minute" : "day",
|
|
186
185
|
isDisabled: n,
|
|
187
186
|
isReadOnly: t.readOnly,
|
|
@@ -224,14 +223,14 @@ function et({ name: e, field: t, isPending: n, variant: r }) {
|
|
|
224
223
|
] })
|
|
225
224
|
});
|
|
226
225
|
}
|
|
227
|
-
return /* @__PURE__ */ Q(
|
|
226
|
+
return /* @__PURE__ */ Q(et, {
|
|
228
227
|
name: e,
|
|
229
228
|
field: t,
|
|
230
229
|
isPending: n,
|
|
231
230
|
variant: r
|
|
232
231
|
});
|
|
233
232
|
}
|
|
234
|
-
function
|
|
233
|
+
function et({ name: e, field: t, isPending: n, variant: r }) {
|
|
235
234
|
let i = We(null), a = r === "transparent" ? "primary" : "secondary", o = t.prefix != null, s = t.suffix != null || t.copyable, c = t.type === "number", l = t.formatOptions?.maximumFractionDigits, u = c ? "number" : void 0, d = c ? l ? "decimal" : "numeric" : void 0, f = l ? 1 / 10 ** l : void 0;
|
|
236
235
|
return o || s ? /* @__PURE__ */ $(K, {
|
|
237
236
|
name: e,
|
|
@@ -254,7 +253,7 @@ function tt({ name: e, field: t, isPending: n, variant: r }) {
|
|
|
254
253
|
}),
|
|
255
254
|
t.copyable ? /* @__PURE__ */ Q(z.Suffix, {
|
|
256
255
|
className: "px-0",
|
|
257
|
-
children: /* @__PURE__ */ Q(
|
|
256
|
+
children: /* @__PURE__ */ Q(Qe, {
|
|
258
257
|
getValue: () => i.current?.value,
|
|
259
258
|
isDisabled: n
|
|
260
259
|
})
|
|
@@ -283,14 +282,54 @@ function tt({ name: e, field: t, isPending: n, variant: r }) {
|
|
|
283
282
|
});
|
|
284
283
|
}
|
|
285
284
|
//#endregion
|
|
286
|
-
//#region src/components/auth/
|
|
285
|
+
//#region src/components/auth/reset-link-sent.tsx
|
|
286
|
+
var tt = "better-auth-ui.reset-link-sent";
|
|
287
287
|
function nt({ className: e, variant: t }) {
|
|
288
|
-
let {
|
|
288
|
+
let { basePaths: n, localization: r, viewPaths: i } = g(), [o, s] = X(Fe() && sessionStorage.getItem("better-auth-ui.reset-link-sent") || "");
|
|
289
|
+
return Y(() => {
|
|
290
|
+
s(sessionStorage.getItem("better-auth-ui.reset-link-sent") ?? "");
|
|
291
|
+
}, []), /* @__PURE__ */ $(j, {
|
|
292
|
+
className: q("w-full max-w-sm gap-4 md:p-6", e),
|
|
293
|
+
variant: t,
|
|
294
|
+
children: [
|
|
295
|
+
/* @__PURE__ */ Q(j.Header, { children: /* @__PURE__ */ Q(j.Title, {
|
|
296
|
+
className: "text-xl font-semibold mb-1",
|
|
297
|
+
children: r.auth.checkYourEmailTitle
|
|
298
|
+
}) }),
|
|
299
|
+
/* @__PURE__ */ $(j.Content, {
|
|
300
|
+
className: "gap-4",
|
|
301
|
+
children: [/* @__PURE__ */ Q(N, {
|
|
302
|
+
className: "text-sm",
|
|
303
|
+
children: o ? r.auth.resetLinkSentTo.replace("{{email}}", o) : r.auth.passwordResetEmailSent
|
|
304
|
+
}), o && /* @__PURE__ */ Q(a, { email: o })]
|
|
305
|
+
}),
|
|
306
|
+
/* @__PURE__ */ Q(j.Footer, {
|
|
307
|
+
className: "flex-col gap-3",
|
|
308
|
+
children: /* @__PURE__ */ $(N, {
|
|
309
|
+
className: "text-sm",
|
|
310
|
+
children: [
|
|
311
|
+
r.auth.rememberYourPassword,
|
|
312
|
+
" ",
|
|
313
|
+
/* @__PURE__ */ Q(V, {
|
|
314
|
+
href: `${n.auth}/${i.auth.signIn}`,
|
|
315
|
+
className: "text-accent no-underline hover:underline decoration-accent-hover",
|
|
316
|
+
children: r.auth.signIn
|
|
317
|
+
})
|
|
318
|
+
]
|
|
319
|
+
})
|
|
320
|
+
})
|
|
321
|
+
]
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
//#endregion
|
|
325
|
+
//#region src/components/auth/forgot-password.tsx
|
|
326
|
+
function rt({ className: e, variant: t }) {
|
|
327
|
+
let { authClient: n, baseURL: r, basePaths: i, localization: a, viewPaths: o, navigate: s, plugins: c } = g(), { fetchOptions: l, resetFetchOptions: u } = te(), { mutate: d, isPending: f } = S(n, {
|
|
289
328
|
onError: () => {
|
|
290
329
|
u();
|
|
291
330
|
},
|
|
292
|
-
onSuccess: () => {
|
|
293
|
-
|
|
331
|
+
onSuccess: (e, { email: t }) => {
|
|
332
|
+
sessionStorage.setItem(tt, t), s({ to: `${i.auth}/${o.auth.resetLinkSent}` });
|
|
294
333
|
}
|
|
295
334
|
});
|
|
296
335
|
function p(e) {
|
|
@@ -373,8 +412,8 @@ function nt({ className: e, variant: t }) {
|
|
|
373
412
|
}
|
|
374
413
|
//#endregion
|
|
375
414
|
//#region src/components/auth/reset-password.tsx
|
|
376
|
-
function
|
|
377
|
-
let { authClient: n, basePaths: r, emailAndPassword: i, localization: a, viewPaths: o, navigate: s } =
|
|
415
|
+
function it({ className: e, variant: t }) {
|
|
416
|
+
let { authClient: n, basePaths: r, emailAndPassword: i, localization: a, viewPaths: o, navigate: s } = g(), { mutate: c, isPending: l } = C(n, { onSuccess: () => {
|
|
378
417
|
J.success(a.auth.passwordResetSuccess), s({ to: `${r.auth}/${o.auth.signIn}` });
|
|
379
418
|
} }), [u, d] = X(!1), [f, p] = X(!1);
|
|
380
419
|
Y(() => {
|
|
@@ -525,51 +564,54 @@ function rt({ className: e, variant: t }) {
|
|
|
525
564
|
}
|
|
526
565
|
//#endregion
|
|
527
566
|
//#region src/components/auth/sign-in.tsx
|
|
528
|
-
function
|
|
529
|
-
let { authClient:
|
|
567
|
+
function at({ className: t, socialLayout: n, socialPosition: a = "bottom", variant: o }) {
|
|
568
|
+
let { authClient: c, basePaths: l, emailAndPassword: u, localization: d, plugins: f, redirectTo: p, socialProviders: m, viewPaths: h, navigate: _ } = g(), { fetchOptions: v, resetFetchOptions: ee } = te(), [y, b] = X(""), { mutate: x, isPending: S } = re(c, {
|
|
530
569
|
onError: (e, { email: t }) => {
|
|
531
|
-
|
|
570
|
+
b(""), e.error?.code === "EMAIL_NOT_VERIFIED" && (sessionStorage.setItem("better-auth-ui.verify-email", t), _({ to: `${l.auth}/${h.auth.verifyEmail}` })), ee();
|
|
532
571
|
},
|
|
533
|
-
onSuccess: () =>
|
|
534
|
-
}),
|
|
572
|
+
onSuccess: () => _({ to: p })
|
|
573
|
+
}), C = (e) => {
|
|
535
574
|
e.preventDefault();
|
|
536
575
|
let t = new FormData(e.currentTarget), n = t.get("email"), r = t.get("rememberMe") === "on";
|
|
537
|
-
|
|
576
|
+
x({
|
|
538
577
|
email: n,
|
|
539
|
-
password:
|
|
540
|
-
...
|
|
541
|
-
fetchOptions:
|
|
578
|
+
password: y,
|
|
579
|
+
...u?.rememberMe ? { rememberMe: r } : {},
|
|
580
|
+
fetchOptions: v
|
|
542
581
|
});
|
|
543
|
-
},
|
|
582
|
+
}, w = qe({ mutationKey: s.signIn.all }) + qe({ mutationKey: s.signUp.all }) > 0, ne = f.find((e) => e.captchaComponent)?.captchaComponent, T = u?.enabled && !!m?.length;
|
|
544
583
|
return /* @__PURE__ */ $(j, {
|
|
545
584
|
className: q("w-full max-w-sm gap-4 md:p-6", t),
|
|
546
585
|
variant: o,
|
|
547
586
|
children: [
|
|
548
587
|
/* @__PURE__ */ Q(j.Header, { children: /* @__PURE__ */ Q(j.Title, {
|
|
549
588
|
className: "text-xl font-semibold mb-1",
|
|
550
|
-
children:
|
|
589
|
+
children: d.auth.signIn
|
|
551
590
|
}) }),
|
|
552
591
|
/* @__PURE__ */ $(j.Content, {
|
|
553
592
|
className: "gap-4",
|
|
554
593
|
children: [
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
594
|
+
a === "top" && /* @__PURE__ */ $(Z, { children: [!!m?.length && /* @__PURE__ */ Q(i, {
|
|
595
|
+
socialLayout: n,
|
|
596
|
+
view: "signIn"
|
|
597
|
+
}), T && /* @__PURE__ */ Q(r, { children: d.auth.or })] }),
|
|
598
|
+
u?.enabled && /* @__PURE__ */ $(L, {
|
|
599
|
+
onSubmit: C,
|
|
558
600
|
className: "flex flex-col gap-4",
|
|
559
601
|
children: [
|
|
560
602
|
/* @__PURE__ */ $(K, {
|
|
561
603
|
name: "email",
|
|
562
604
|
type: "email",
|
|
563
605
|
autoComplete: "email",
|
|
564
|
-
isDisabled:
|
|
606
|
+
isDisabled: w,
|
|
565
607
|
validate: (e) => {
|
|
566
|
-
if (!e) return
|
|
567
|
-
if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)) return
|
|
608
|
+
if (!e) return d.auth.fieldRequired;
|
|
609
|
+
if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)) return d.auth.invalidEmail;
|
|
568
610
|
},
|
|
569
611
|
children: [
|
|
570
|
-
/* @__PURE__ */ Q(B, { children:
|
|
612
|
+
/* @__PURE__ */ Q(B, { children: d.auth.email }),
|
|
571
613
|
/* @__PURE__ */ Q(R, {
|
|
572
|
-
placeholder:
|
|
614
|
+
placeholder: d.auth.emailPlaceholder,
|
|
573
615
|
variant: o === "transparent" ? "primary" : "secondary",
|
|
574
616
|
required: !0
|
|
575
617
|
}),
|
|
@@ -577,35 +619,35 @@ function it({ className: t, socialLayout: n, socialPosition: i = "bottom", varia
|
|
|
577
619
|
]
|
|
578
620
|
}),
|
|
579
621
|
/* @__PURE__ */ $(K, {
|
|
580
|
-
minLength:
|
|
581
|
-
maxLength:
|
|
622
|
+
minLength: u?.minPasswordLength,
|
|
623
|
+
maxLength: u?.maxPasswordLength,
|
|
582
624
|
name: "password",
|
|
583
625
|
type: "password",
|
|
584
626
|
autoComplete: "current-password",
|
|
585
|
-
isDisabled:
|
|
586
|
-
value:
|
|
587
|
-
onChange:
|
|
627
|
+
isDisabled: w,
|
|
628
|
+
value: y,
|
|
629
|
+
onChange: b,
|
|
588
630
|
validate: (e) => {
|
|
589
|
-
if (!e) return
|
|
590
|
-
let t =
|
|
591
|
-
if (t && e.length < t) return
|
|
592
|
-
if (n && e.length > n) return
|
|
631
|
+
if (!e) return d.auth.fieldRequired;
|
|
632
|
+
let t = u?.minPasswordLength, n = u?.maxPasswordLength;
|
|
633
|
+
if (t && e.length < t) return d.auth.tooShort.replace("{{min}}", String(t));
|
|
634
|
+
if (n && e.length > n) return d.auth.tooLong.replace("{{max}}", String(n));
|
|
593
635
|
},
|
|
594
636
|
children: [
|
|
595
|
-
/* @__PURE__ */ Q(B, { children:
|
|
637
|
+
/* @__PURE__ */ Q(B, { children: d.auth.password }),
|
|
596
638
|
/* @__PURE__ */ Q(R, {
|
|
597
|
-
placeholder:
|
|
639
|
+
placeholder: d.auth.passwordPlaceholder,
|
|
598
640
|
variant: o === "transparent" ? "primary" : "secondary",
|
|
599
641
|
required: !0
|
|
600
642
|
}),
|
|
601
643
|
/* @__PURE__ */ Q(F, {})
|
|
602
644
|
]
|
|
603
645
|
}),
|
|
604
|
-
|
|
646
|
+
u?.rememberMe && /* @__PURE__ */ Q(M, {
|
|
605
647
|
name: "rememberMe",
|
|
606
|
-
isDisabled:
|
|
648
|
+
isDisabled: w,
|
|
607
649
|
variant: o === "transparent" ? "primary" : "secondary",
|
|
608
|
-
children: /* @__PURE__ */ $(M.Content, { children: [/* @__PURE__ */ Q(M.Control, { children: /* @__PURE__ */ Q(M.Indicator, {}) }),
|
|
650
|
+
children: /* @__PURE__ */ $(M.Content, { children: [/* @__PURE__ */ Q(M.Control, { children: /* @__PURE__ */ Q(M.Indicator, {}) }), d.auth.rememberMe] })
|
|
609
651
|
}),
|
|
610
652
|
ne && /* @__PURE__ */ Q("div", {
|
|
611
653
|
className: "flex justify-center",
|
|
@@ -615,34 +657,44 @@ function it({ className: t, socialLayout: n, socialPosition: i = "bottom", varia
|
|
|
615
657
|
className: "flex flex-col gap-3",
|
|
616
658
|
children: [/* @__PURE__ */ $(k, {
|
|
617
659
|
type: "submit",
|
|
618
|
-
className: "w-full",
|
|
619
|
-
isPending:
|
|
620
|
-
children: [
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
660
|
+
className: "relative w-full overflow-visible",
|
|
661
|
+
isPending: w,
|
|
662
|
+
children: [
|
|
663
|
+
S && /* @__PURE__ */ Q(W, {
|
|
664
|
+
color: "current",
|
|
665
|
+
size: "sm"
|
|
666
|
+
}),
|
|
667
|
+
d.auth.signIn,
|
|
668
|
+
/* @__PURE__ */ Q(e, {
|
|
669
|
+
method: "email",
|
|
670
|
+
floating: !0
|
|
671
|
+
})
|
|
672
|
+
]
|
|
673
|
+
}), f.flatMap((e) => e.authButtons?.map((t, n) => /* @__PURE__ */ Q(t, { view: "signIn" }, `${e.id}-${n.toString()}`)))]
|
|
625
674
|
})
|
|
626
675
|
]
|
|
627
676
|
}),
|
|
628
|
-
|
|
677
|
+
a === "bottom" && /* @__PURE__ */ $(Z, { children: [T && /* @__PURE__ */ Q(r, { children: d.auth.or }), !!m?.length && /* @__PURE__ */ Q(i, {
|
|
678
|
+
socialLayout: n,
|
|
679
|
+
view: "signIn"
|
|
680
|
+
})] })
|
|
629
681
|
]
|
|
630
682
|
}),
|
|
631
683
|
/* @__PURE__ */ $(j.Footer, {
|
|
632
684
|
className: "flex-col gap-3",
|
|
633
|
-
children: [
|
|
634
|
-
href: `${
|
|
685
|
+
children: [u?.enabled && u?.forgotPassword && /* @__PURE__ */ Q(V, {
|
|
686
|
+
href: `${l.auth}/${h.auth.forgotPassword}`,
|
|
635
687
|
className: "text-sm no-underline hover:underline",
|
|
636
|
-
children:
|
|
637
|
-
}),
|
|
688
|
+
children: d.auth.forgotPasswordLink
|
|
689
|
+
}), u?.enabled && /* @__PURE__ */ $(N, {
|
|
638
690
|
className: "text-sm",
|
|
639
691
|
children: [
|
|
640
|
-
|
|
692
|
+
d.auth.needToCreateAnAccount,
|
|
641
693
|
" ",
|
|
642
694
|
/* @__PURE__ */ Q(V, {
|
|
643
|
-
href: `${
|
|
695
|
+
href: `${l.auth}/${h.auth.signUp}`,
|
|
644
696
|
className: "text-accent no-underline hover:underline decoration-accent-hover",
|
|
645
|
-
children:
|
|
697
|
+
children: d.auth.signUp
|
|
646
698
|
})
|
|
647
699
|
]
|
|
648
700
|
})]
|
|
@@ -652,8 +704,8 @@ function it({ className: t, socialLayout: n, socialPosition: i = "bottom", varia
|
|
|
652
704
|
}
|
|
653
705
|
//#endregion
|
|
654
706
|
//#region src/components/auth/sign-out.tsx
|
|
655
|
-
function
|
|
656
|
-
let { authClient: t, basePaths: n, navigate: r, viewPaths: i } =
|
|
707
|
+
function ot({ className: e }) {
|
|
708
|
+
let { authClient: t, basePaths: n, navigate: r, viewPaths: i } = g(), { mutate: a } = ie(t, {
|
|
657
709
|
onError: () => {
|
|
658
710
|
r({
|
|
659
711
|
to: `${n.auth}/${i.auth.signIn}`,
|
|
@@ -674,25 +726,25 @@ function at({ className: e }) {
|
|
|
674
726
|
}
|
|
675
727
|
//#endregion
|
|
676
728
|
//#region src/components/auth/sign-up.tsx
|
|
677
|
-
function
|
|
678
|
-
let { additionalFields:
|
|
729
|
+
function st({ className: e, socialLayout: t, socialPosition: n = "bottom", variant: a }) {
|
|
730
|
+
let { additionalFields: o, authClient: c, basePaths: l, emailAndPassword: u, localization: f, plugins: p, redirectTo: m, socialProviders: h, viewPaths: _, navigate: v } = g(), { fetchOptions: ee, resetFetchOptions: y } = te(), [b, x] = X(""), [S, C] = X(""), { mutate: w, isPending: ne } = ae(c, {
|
|
679
731
|
onError: () => {
|
|
680
|
-
|
|
732
|
+
x(""), C(""), y();
|
|
681
733
|
},
|
|
682
734
|
onSuccess: (e, { email: t }) => {
|
|
683
|
-
|
|
735
|
+
u?.requireEmailVerification ? (sessionStorage.setItem("better-auth-ui.verify-email", t), v({ to: `${l.auth}/${_.auth.verifyEmail}` })) : v({ to: m });
|
|
684
736
|
}
|
|
685
|
-
}), [T, re] = X(!1), [
|
|
737
|
+
}), [T, re] = X(!1), [ie, oe] = X(!1), E = qe({ mutationKey: s.signIn.all }) + qe({ mutationKey: s.signUp.all }) > 0, se = p.find((e) => e.captchaComponent)?.captchaComponent, ce = async (e) => {
|
|
686
738
|
e.preventDefault();
|
|
687
739
|
let t = new FormData(e.currentTarget), n = t.get("name") ?? "", r = t.get("email");
|
|
688
|
-
if (
|
|
689
|
-
J.danger(f.auth.passwordsDoNotMatch),
|
|
740
|
+
if (u?.confirmPassword && b !== S) {
|
|
741
|
+
J.danger(f.auth.passwordsDoNotMatch), x(""), C("");
|
|
690
742
|
return;
|
|
691
743
|
}
|
|
692
744
|
let i = {};
|
|
693
|
-
for (let e of
|
|
745
|
+
for (let e of o ?? []) {
|
|
694
746
|
if (!e.signUp || e.readOnly) continue;
|
|
695
|
-
let n =
|
|
747
|
+
let n = d(e, t.get(e.name));
|
|
696
748
|
if (e.validate) try {
|
|
697
749
|
await e.validate(n);
|
|
698
750
|
} catch (e) {
|
|
@@ -701,17 +753,17 @@ function ot({ className: t, socialLayout: n, socialPosition: i = "bottom", varia
|
|
|
701
753
|
}
|
|
702
754
|
n !== void 0 && (i[e.name] = n);
|
|
703
755
|
}
|
|
704
|
-
|
|
756
|
+
w({
|
|
705
757
|
name: n,
|
|
706
758
|
email: r,
|
|
707
|
-
password:
|
|
759
|
+
password: b,
|
|
708
760
|
...i,
|
|
709
|
-
fetchOptions:
|
|
761
|
+
fetchOptions: ee
|
|
710
762
|
});
|
|
711
|
-
}, le =
|
|
763
|
+
}, le = u?.enabled && !!h?.length;
|
|
712
764
|
return /* @__PURE__ */ $(j, {
|
|
713
|
-
className: q("w-full max-w-sm gap-4 md:p-6",
|
|
714
|
-
variant:
|
|
765
|
+
className: q("w-full max-w-sm gap-4 md:p-6", e),
|
|
766
|
+
variant: a,
|
|
715
767
|
children: [
|
|
716
768
|
/* @__PURE__ */ Q(j.Header, { children: /* @__PURE__ */ Q(j.Title, {
|
|
717
769
|
className: "text-xl font-semibold mb-1",
|
|
@@ -720,12 +772,15 @@ function ot({ className: t, socialLayout: n, socialPosition: i = "bottom", varia
|
|
|
720
772
|
/* @__PURE__ */ $(j.Content, {
|
|
721
773
|
className: "gap-4",
|
|
722
774
|
children: [
|
|
723
|
-
|
|
724
|
-
|
|
775
|
+
n === "top" && /* @__PURE__ */ $(Z, { children: [!!h?.length && /* @__PURE__ */ Q(i, {
|
|
776
|
+
socialLayout: t,
|
|
777
|
+
view: "signUp"
|
|
778
|
+
}), le && /* @__PURE__ */ Q(r, { children: f.auth.or })] }),
|
|
779
|
+
u?.enabled && /* @__PURE__ */ $(L, {
|
|
725
780
|
onSubmit: ce,
|
|
726
781
|
className: "flex flex-col gap-4",
|
|
727
782
|
children: [
|
|
728
|
-
|
|
783
|
+
u.name !== !1 && /* @__PURE__ */ $(K, {
|
|
729
784
|
name: "name",
|
|
730
785
|
type: "text",
|
|
731
786
|
autoComplete: "name",
|
|
@@ -738,7 +793,7 @@ function ot({ className: t, socialLayout: n, socialPosition: i = "bottom", varia
|
|
|
738
793
|
/* @__PURE__ */ Q(R, {
|
|
739
794
|
placeholder: f.auth.namePlaceholder,
|
|
740
795
|
required: !0,
|
|
741
|
-
variant:
|
|
796
|
+
variant: a === "transparent" ? "primary" : "secondary"
|
|
742
797
|
}),
|
|
743
798
|
/* @__PURE__ */ Q(F, {})
|
|
744
799
|
]
|
|
@@ -757,35 +812,35 @@ function ot({ className: t, socialLayout: n, socialPosition: i = "bottom", varia
|
|
|
757
812
|
/* @__PURE__ */ Q(R, {
|
|
758
813
|
placeholder: f.auth.emailPlaceholder,
|
|
759
814
|
required: !0,
|
|
760
|
-
variant:
|
|
815
|
+
variant: a === "transparent" ? "primary" : "secondary"
|
|
761
816
|
}),
|
|
762
817
|
/* @__PURE__ */ Q(F, {})
|
|
763
818
|
]
|
|
764
819
|
}),
|
|
765
|
-
|
|
820
|
+
o?.map((e) => e.signUp === "above" && /* @__PURE__ */ Q($e, {
|
|
766
821
|
name: e.name,
|
|
767
822
|
field: e,
|
|
768
823
|
isPending: E,
|
|
769
|
-
variant:
|
|
824
|
+
variant: a
|
|
770
825
|
}, e.name)),
|
|
771
826
|
/* @__PURE__ */ $(K, {
|
|
772
|
-
minLength:
|
|
773
|
-
maxLength:
|
|
827
|
+
minLength: u?.minPasswordLength,
|
|
828
|
+
maxLength: u?.maxPasswordLength,
|
|
774
829
|
name: "password",
|
|
775
830
|
autoComplete: "new-password",
|
|
776
831
|
isDisabled: E,
|
|
777
|
-
value:
|
|
778
|
-
onChange:
|
|
832
|
+
value: b,
|
|
833
|
+
onChange: x,
|
|
779
834
|
validate: (e) => {
|
|
780
835
|
if (!e) return f.auth.fieldRequired;
|
|
781
|
-
let t =
|
|
836
|
+
let t = u?.minPasswordLength, n = u?.maxPasswordLength;
|
|
782
837
|
if (t && e.length < t) return f.auth.tooShort.replace("{{min}}", String(t));
|
|
783
838
|
if (n && e.length > n) return f.auth.tooLong.replace("{{max}}", String(n));
|
|
784
839
|
},
|
|
785
840
|
children: [
|
|
786
841
|
/* @__PURE__ */ Q(B, { children: f.auth.password }),
|
|
787
842
|
/* @__PURE__ */ $(z, {
|
|
788
|
-
variant:
|
|
843
|
+
variant: a === "transparent" ? "primary" : "secondary",
|
|
789
844
|
children: [/* @__PURE__ */ Q(z.Input, {
|
|
790
845
|
placeholder: f.auth.passwordPlaceholder,
|
|
791
846
|
type: T ? "text" : "password",
|
|
@@ -807,50 +862,50 @@ function ot({ className: t, socialLayout: n, socialPosition: i = "bottom", varia
|
|
|
807
862
|
/* @__PURE__ */ Q(F, {})
|
|
808
863
|
]
|
|
809
864
|
}),
|
|
810
|
-
|
|
811
|
-
minLength:
|
|
812
|
-
maxLength:
|
|
865
|
+
u?.confirmPassword && /* @__PURE__ */ $(K, {
|
|
866
|
+
minLength: u?.minPasswordLength,
|
|
867
|
+
maxLength: u?.maxPasswordLength,
|
|
813
868
|
name: "confirmPassword",
|
|
814
869
|
autoComplete: "new-password",
|
|
815
870
|
isDisabled: E,
|
|
816
|
-
value:
|
|
871
|
+
value: S,
|
|
817
872
|
onChange: C,
|
|
818
873
|
validate: (e) => {
|
|
819
874
|
if (!e) return f.auth.fieldRequired;
|
|
820
|
-
let t =
|
|
875
|
+
let t = u?.minPasswordLength, n = u?.maxPasswordLength;
|
|
821
876
|
if (t && e.length < t) return f.auth.tooShort.replace("{{min}}", String(t));
|
|
822
877
|
if (n && e.length > n) return f.auth.tooLong.replace("{{max}}", String(n));
|
|
823
878
|
},
|
|
824
879
|
children: [
|
|
825
880
|
/* @__PURE__ */ Q(B, { children: f.auth.confirmPassword }),
|
|
826
881
|
/* @__PURE__ */ $(z, {
|
|
827
|
-
variant:
|
|
882
|
+
variant: a === "transparent" ? "primary" : "secondary",
|
|
828
883
|
children: [/* @__PURE__ */ Q(z.Input, {
|
|
829
884
|
name: "confirmPassword",
|
|
830
885
|
placeholder: f.auth.confirmPasswordPlaceholder,
|
|
831
|
-
type:
|
|
886
|
+
type: ie ? "text" : "password",
|
|
832
887
|
required: !0
|
|
833
888
|
}), /* @__PURE__ */ Q(z.Suffix, {
|
|
834
889
|
className: "px-0",
|
|
835
890
|
children: /* @__PURE__ */ Q(k, {
|
|
836
891
|
isIconOnly: !0,
|
|
837
|
-
"aria-label":
|
|
892
|
+
"aria-label": ie ? f.auth.hidePassword : f.auth.showPassword,
|
|
838
893
|
size: "sm",
|
|
839
894
|
variant: "ghost",
|
|
840
|
-
onPress: () => oe(!
|
|
895
|
+
onPress: () => oe(!ie),
|
|
841
896
|
isDisabled: E,
|
|
842
|
-
children: Q(
|
|
897
|
+
children: Q(ie ? O : D, {})
|
|
843
898
|
})
|
|
844
899
|
})]
|
|
845
900
|
}),
|
|
846
901
|
/* @__PURE__ */ Q(F, {})
|
|
847
902
|
]
|
|
848
903
|
}),
|
|
849
|
-
|
|
904
|
+
o?.map((e) => e.signUp && e.signUp !== "above" && /* @__PURE__ */ Q($e, {
|
|
850
905
|
name: e.name,
|
|
851
906
|
field: e,
|
|
852
907
|
isPending: E,
|
|
853
|
-
variant:
|
|
908
|
+
variant: a
|
|
854
909
|
}, e.name)),
|
|
855
910
|
se && /* @__PURE__ */ Q("div", {
|
|
856
911
|
className: "flex justify-center",
|
|
@@ -862,7 +917,7 @@ function ot({ className: t, socialLayout: n, socialPosition: i = "bottom", varia
|
|
|
862
917
|
type: "submit",
|
|
863
918
|
className: "w-full",
|
|
864
919
|
isPending: E,
|
|
865
|
-
children: [
|
|
920
|
+
children: [ne && /* @__PURE__ */ Q(W, {
|
|
866
921
|
color: "current",
|
|
867
922
|
size: "sm"
|
|
868
923
|
}), f.auth.signUp]
|
|
@@ -870,7 +925,10 @@ function ot({ className: t, socialLayout: n, socialPosition: i = "bottom", varia
|
|
|
870
925
|
})
|
|
871
926
|
]
|
|
872
927
|
}),
|
|
873
|
-
|
|
928
|
+
n === "bottom" && /* @__PURE__ */ $(Z, { children: [le && /* @__PURE__ */ Q(r, { children: f.auth.or }), !!h?.length && /* @__PURE__ */ Q(i, {
|
|
929
|
+
socialLayout: t,
|
|
930
|
+
view: "signUp"
|
|
931
|
+
})] })
|
|
874
932
|
]
|
|
875
933
|
}),
|
|
876
934
|
/* @__PURE__ */ Q(j.Footer, {
|
|
@@ -892,62 +950,50 @@ function ot({ className: t, socialLayout: n, socialPosition: i = "bottom", varia
|
|
|
892
950
|
});
|
|
893
951
|
}
|
|
894
952
|
//#endregion
|
|
895
|
-
//#region src/components/auth/open-email-button.tsx
|
|
896
|
-
function st({ email: e, className: t }) {
|
|
897
|
-
let { localization: n } = h(), r = c(e);
|
|
898
|
-
return r ? /* @__PURE__ */ $(V, {
|
|
899
|
-
href: r.loginUrl,
|
|
900
|
-
target: "_blank",
|
|
901
|
-
rel: "noopener noreferrer",
|
|
902
|
-
className: q(Ye({ variant: "primary" }), "w-full gap-2", t),
|
|
903
|
-
children: [n.auth.openEmailProvider.replace("{{provider}}", r.companyProvider), /* @__PURE__ */ Q(ce, { className: "size-3" })]
|
|
904
|
-
}) : null;
|
|
905
|
-
}
|
|
906
|
-
//#endregion
|
|
907
953
|
//#region src/components/auth/verify-email.tsx
|
|
908
954
|
var ct = 60;
|
|
909
955
|
function lt({ className: e, variant: t }) {
|
|
910
|
-
let { authClient: n, basePaths: r, baseURL: i, localization:
|
|
956
|
+
let { authClient: n, basePaths: r, baseURL: i, localization: o, redirectTo: s, viewPaths: c } = g(), [l, u] = X(Fe() && sessionStorage.getItem("better-auth-ui.verify-email") || ""), [d, f] = X(ct);
|
|
911
957
|
Y(() => {
|
|
912
|
-
|
|
958
|
+
u(sessionStorage.getItem("better-auth-ui.verify-email") ?? "");
|
|
913
959
|
}, []), Y(() => {
|
|
914
|
-
if (
|
|
960
|
+
if (d <= 0 || !l) return;
|
|
915
961
|
let e = setInterval(() => {
|
|
916
|
-
|
|
962
|
+
f((e) => e > 0 ? e - 1 : 0);
|
|
917
963
|
}, 1e3);
|
|
918
964
|
return () => clearInterval(e);
|
|
919
|
-
}, [
|
|
920
|
-
let { mutate:
|
|
921
|
-
J.success(
|
|
922
|
-
} }),
|
|
965
|
+
}, [d, l]);
|
|
966
|
+
let { mutate: p, isPending: m } = ne(n, { onSuccess: () => {
|
|
967
|
+
J.success(o.auth.verificationEmailSent), f(ct);
|
|
968
|
+
} }), h = d > 0;
|
|
923
969
|
return /* @__PURE__ */ $(j, {
|
|
924
970
|
className: q("w-full max-w-sm gap-4 md:p-6", e),
|
|
925
971
|
variant: t,
|
|
926
972
|
children: [
|
|
927
973
|
/* @__PURE__ */ Q(j.Header, { children: /* @__PURE__ */ Q(j.Title, {
|
|
928
974
|
className: "text-xl font-semibold mb-1",
|
|
929
|
-
children:
|
|
975
|
+
children: o.auth.verifyEmail
|
|
930
976
|
}) }),
|
|
931
977
|
/* @__PURE__ */ $(j.Content, {
|
|
932
978
|
className: "gap-4",
|
|
933
979
|
children: [/* @__PURE__ */ Q(N, {
|
|
934
980
|
className: "text-sm",
|
|
935
|
-
children:
|
|
936
|
-
}),
|
|
981
|
+
children: o.auth.checkYourEmail
|
|
982
|
+
}), l && /* @__PURE__ */ $("div", {
|
|
937
983
|
className: "flex flex-col gap-3",
|
|
938
|
-
children: [/* @__PURE__ */ Q(
|
|
984
|
+
children: [/* @__PURE__ */ Q(a, { email: l }), /* @__PURE__ */ $(k, {
|
|
939
985
|
className: "w-full",
|
|
940
986
|
variant: "tertiary",
|
|
941
|
-
isDisabled: !
|
|
942
|
-
isPending:
|
|
943
|
-
onPress: () =>
|
|
944
|
-
email:
|
|
945
|
-
callbackURL: `${i}${
|
|
987
|
+
isDisabled: !l || h || m,
|
|
988
|
+
isPending: m,
|
|
989
|
+
onPress: () => p({
|
|
990
|
+
email: l,
|
|
991
|
+
callbackURL: `${i}${s}`
|
|
946
992
|
}),
|
|
947
|
-
children: [
|
|
993
|
+
children: [m && /* @__PURE__ */ Q(W, {
|
|
948
994
|
color: "current",
|
|
949
995
|
size: "sm"
|
|
950
|
-
}),
|
|
996
|
+
}), h ? o.auth.resendIn.replace("{{seconds}}", String(d)) : o.auth.resend]
|
|
951
997
|
})]
|
|
952
998
|
})]
|
|
953
999
|
}),
|
|
@@ -956,12 +1002,12 @@ function lt({ className: e, variant: t }) {
|
|
|
956
1002
|
children: /* @__PURE__ */ $(N, {
|
|
957
1003
|
className: "text-sm",
|
|
958
1004
|
children: [
|
|
959
|
-
|
|
1005
|
+
o.auth.alreadyVerifiedYourEmail,
|
|
960
1006
|
" ",
|
|
961
1007
|
/* @__PURE__ */ Q(V, {
|
|
962
|
-
href: `${r.auth}/${
|
|
1008
|
+
href: `${r.auth}/${c.auth.signIn}`,
|
|
963
1009
|
className: "text-accent no-underline hover:underline decoration-accent-hover",
|
|
964
|
-
children:
|
|
1010
|
+
children: o.auth.signIn
|
|
965
1011
|
})
|
|
966
1012
|
]
|
|
967
1013
|
})
|
|
@@ -974,17 +1020,19 @@ function lt({ className: e, variant: t }) {
|
|
|
974
1020
|
var ut = [
|
|
975
1021
|
"signUp",
|
|
976
1022
|
"forgotPassword",
|
|
977
|
-
"resetPassword"
|
|
1023
|
+
"resetPassword",
|
|
1024
|
+
"resetLinkSent"
|
|
978
1025
|
], dt = {
|
|
979
|
-
signIn:
|
|
980
|
-
signOut:
|
|
981
|
-
signUp:
|
|
982
|
-
forgotPassword:
|
|
983
|
-
resetPassword:
|
|
1026
|
+
signIn: at,
|
|
1027
|
+
signOut: ot,
|
|
1028
|
+
signUp: st,
|
|
1029
|
+
forgotPassword: rt,
|
|
1030
|
+
resetPassword: it,
|
|
1031
|
+
resetLinkSent: nt,
|
|
984
1032
|
verifyEmail: lt
|
|
985
1033
|
};
|
|
986
1034
|
function ft({ className: e, path: t, socialLayout: n, socialPosition: r, variant: i, view: a }) {
|
|
987
|
-
let { basePaths: o, emailAndPassword: s, plugins: c, viewPaths: l, navigate: u } =
|
|
1035
|
+
let { basePaths: o, emailAndPassword: s, plugins: c, viewPaths: l, navigate: u } = g();
|
|
988
1036
|
if (!a && !t) throw Error("[Better Auth UI] Either `view` or `path` must be provided");
|
|
989
1037
|
let d = a || Object.keys(l.auth).find((e) => l.auth[e] === t), f = !s?.enabled && d && ut.includes(d);
|
|
990
1038
|
if (Y(() => {
|
|
@@ -1034,15 +1082,15 @@ function pt() {
|
|
|
1034
1082
|
return Y(() => {
|
|
1035
1083
|
let t = e.getQueryCache(), n = t.config.onError;
|
|
1036
1084
|
t.config.onError = (e, t) => {
|
|
1037
|
-
if (n?.(e, t), !Ke({ queryKey:
|
|
1085
|
+
if (n?.(e, t), !Ke({ queryKey: c.all }, t)) return;
|
|
1038
1086
|
let r = e;
|
|
1039
1087
|
r?.error?.code !== "EMAIL_NOT_VERIFIED" && r?.error && J.danger(r.error.message);
|
|
1040
1088
|
};
|
|
1041
1089
|
let r = e.getMutationCache(), i = r.config.onError;
|
|
1042
|
-
return r.config.onError = (e, t, n, r,
|
|
1043
|
-
if (i?.(e, t, n, r,
|
|
1044
|
-
let
|
|
1045
|
-
|
|
1090
|
+
return r.config.onError = (e, t, n, r, a) => {
|
|
1091
|
+
if (i?.(e, t, n, r, a), !Ge({ mutationKey: s.all }, r)) return;
|
|
1092
|
+
let o = e;
|
|
1093
|
+
o.error?.code !== "EMAIL_NOT_VERIFIED" && J.danger(o.error?.message || o.message);
|
|
1046
1094
|
}, () => {
|
|
1047
1095
|
t.config.onError = n, r.config.onError = i;
|
|
1048
1096
|
};
|
|
@@ -1051,7 +1099,7 @@ function pt() {
|
|
|
1051
1099
|
//#endregion
|
|
1052
1100
|
//#region src/components/auth/auth-provider.tsx
|
|
1053
1101
|
function mt({ children: e, navigate: t, ...n }) {
|
|
1054
|
-
return /* @__PURE__ */ Q(
|
|
1102
|
+
return /* @__PURE__ */ Q(p, {
|
|
1055
1103
|
navigate: t,
|
|
1056
1104
|
...n,
|
|
1057
1105
|
children: /* @__PURE__ */ $(ke, {
|
|
@@ -1063,7 +1111,7 @@ function mt({ children: e, navigate: t, ...n }) {
|
|
|
1063
1111
|
//#endregion
|
|
1064
1112
|
//#region src/components/auth/settings/account/change-email.tsx
|
|
1065
1113
|
function ht({ className: e, variant: t, ...n }) {
|
|
1066
|
-
let { authClient: r, localization: i, baseURL: a, viewPaths: o } =
|
|
1114
|
+
let { authClient: r, localization: i, baseURL: a, viewPaths: o } = g(), { data: s } = T(r), { mutate: c, isPending: l } = v(r, { onSuccess: () => J.success(i.settings.changeEmailSuccess) });
|
|
1067
1115
|
function u(e) {
|
|
1068
1116
|
e.preventDefault(), c({
|
|
1069
1117
|
newEmail: new FormData(e.currentTarget).get("email"),
|
|
@@ -1113,14 +1161,14 @@ function ht({ className: e, variant: t, ...n }) {
|
|
|
1113
1161
|
//#endregion
|
|
1114
1162
|
//#region src/components/auth/settings/account/change-avatar.tsx
|
|
1115
1163
|
function gt({ className: e }) {
|
|
1116
|
-
let { authClient: t, localization: r, avatar: i } =
|
|
1117
|
-
async function
|
|
1164
|
+
let { authClient: t, localization: r, avatar: i } = g(), { data: a } = T(t), { mutate: o, isPending: s } = E(t), c = We(null), [u, d] = X(!1), [f, p] = X(!1), m = s || u || f;
|
|
1165
|
+
async function h(e) {
|
|
1118
1166
|
let t = e.target.files?.[0];
|
|
1119
1167
|
if (t) {
|
|
1120
1168
|
e.target.value = "", d(!0);
|
|
1121
1169
|
try {
|
|
1122
1170
|
let e = await i.resize?.(t, i.size, i.extension) || t;
|
|
1123
|
-
o({ image: await i.upload?.(e) || await
|
|
1171
|
+
o({ image: await i.upload?.(e) || await l(e) }, { onSuccess: () => J.success(r.settings.avatarChangedSuccess) });
|
|
1124
1172
|
} catch (e) {
|
|
1125
1173
|
e instanceof Error && J.danger(e.message);
|
|
1126
1174
|
}
|
|
@@ -1149,11 +1197,11 @@ function gt({ className: e }) {
|
|
|
1149
1197
|
children: r.settings.avatar
|
|
1150
1198
|
}),
|
|
1151
1199
|
/* @__PURE__ */ Q("input", {
|
|
1152
|
-
ref:
|
|
1200
|
+
ref: c,
|
|
1153
1201
|
type: "file",
|
|
1154
1202
|
accept: "image/*",
|
|
1155
1203
|
className: "hidden",
|
|
1156
|
-
onChange:
|
|
1204
|
+
onChange: h
|
|
1157
1205
|
}),
|
|
1158
1206
|
/* @__PURE__ */ $("div", {
|
|
1159
1207
|
className: "flex items-center gap-4",
|
|
@@ -1163,7 +1211,7 @@ function gt({ className: e }) {
|
|
|
1163
1211
|
variant: "ghost",
|
|
1164
1212
|
className: "p-0 h-auto w-auto rounded-full",
|
|
1165
1213
|
isDisabled: !a || m,
|
|
1166
|
-
onPress: () =>
|
|
1214
|
+
onPress: () => c.current?.click(),
|
|
1167
1215
|
children: /* @__PURE__ */ Q(n, {
|
|
1168
1216
|
size: "lg",
|
|
1169
1217
|
isPending: m
|
|
@@ -1177,7 +1225,7 @@ function gt({ className: e }) {
|
|
|
1177
1225
|
className: "min-w-fit",
|
|
1178
1226
|
children: /* @__PURE__ */ $(P.Menu, { children: [/* @__PURE__ */ $(P.Item, {
|
|
1179
1227
|
textValue: r.settings.uploadAvatar,
|
|
1180
|
-
onAction: () =>
|
|
1228
|
+
onAction: () => c.current?.click(),
|
|
1181
1229
|
children: [/* @__PURE__ */ Q(de, { className: "text-muted" }), /* @__PURE__ */ Q(B, { children: r.settings.uploadAvatar })]
|
|
1182
1230
|
}), /* @__PURE__ */ $(P.Item, {
|
|
1183
1231
|
textValue: r.settings.deleteAvatar,
|
|
@@ -1194,13 +1242,13 @@ function gt({ className: e }) {
|
|
|
1194
1242
|
//#endregion
|
|
1195
1243
|
//#region src/components/auth/settings/account/user-profile.tsx
|
|
1196
1244
|
function _t({ className: e, variant: t, ...n }) {
|
|
1197
|
-
let { additionalFields: r, authClient: i, localization: a } =
|
|
1245
|
+
let { additionalFields: r, authClient: i, localization: a } = g(), { data: o } = T(i), { mutate: s, isPending: c } = E(i, { onSuccess: () => J.success(a.settings.profileUpdatedSuccess) });
|
|
1198
1246
|
async function l(e) {
|
|
1199
1247
|
e.preventDefault();
|
|
1200
1248
|
let t = new FormData(e.currentTarget), n = t.get("name"), i = {};
|
|
1201
1249
|
for (let e of r ?? []) {
|
|
1202
1250
|
if (e.profile === !1 || e.readOnly) continue;
|
|
1203
|
-
let n =
|
|
1251
|
+
let n = d(e, t.get(e.name));
|
|
1204
1252
|
if (e.validate) try {
|
|
1205
1253
|
await e.validate(n);
|
|
1206
1254
|
} catch (e) {
|
|
@@ -1245,7 +1293,7 @@ function _t({ className: e, variant: t, ...n }) {
|
|
|
1245
1293
|
r?.filter((e) => e.profile !== !1).map((e) => {
|
|
1246
1294
|
if (!o) return e.inputType === "hidden" ? null : /* @__PURE__ */ Q(U, { className: "h-10 md:h-9 w-full rounded-xl" }, e.name);
|
|
1247
1295
|
let n = o.user[e.name], r = `${o.user.id}-${e.name}-${n instanceof Date ? n.toISOString() : String(n ?? "")}`;
|
|
1248
|
-
return /* @__PURE__ */ Q(
|
|
1296
|
+
return /* @__PURE__ */ Q($e, {
|
|
1249
1297
|
name: e.name,
|
|
1250
1298
|
field: {
|
|
1251
1299
|
...e,
|
|
@@ -1273,7 +1321,7 @@ function _t({ className: e, variant: t, ...n }) {
|
|
|
1273
1321
|
//#endregion
|
|
1274
1322
|
//#region src/components/auth/settings/account/account-settings.tsx
|
|
1275
1323
|
function vt({ className: e, variant: t, ...n }) {
|
|
1276
|
-
let { emailAndPassword: r, plugins: i } =
|
|
1324
|
+
let { emailAndPassword: r, plugins: i } = g(), a = i.some((e) => e.id === "magicLink");
|
|
1277
1325
|
return /* @__PURE__ */ $("div", {
|
|
1278
1326
|
className: q("flex w-full flex-col gap-4 md:gap-6", e),
|
|
1279
1327
|
...n,
|
|
@@ -1300,7 +1348,7 @@ function yt(e) {
|
|
|
1300
1348
|
return n.format(0, "second");
|
|
1301
1349
|
}
|
|
1302
1350
|
function bt({ activeSession: e }) {
|
|
1303
|
-
let { authClient: t, basePaths: n, localization: r, viewPaths: i, navigate: a } =
|
|
1351
|
+
let { authClient: t, basePaths: n, localization: r, viewPaths: i, navigate: a } = g(), { data: o } = T(t, { refetchOnMount: !1 }), { mutate: s, isPending: c } = w(t, { onSuccess: () => J.success(r.settings.revokeSessionSuccess) }), l = e.token === o?.session.token, u = Ye.parse(e.userAgent || "");
|
|
1304
1352
|
return /* @__PURE__ */ $("div", {
|
|
1305
1353
|
className: "flex items-center gap-3",
|
|
1306
1354
|
children: [
|
|
@@ -1332,7 +1380,7 @@ function bt({ activeSession: e }) {
|
|
|
1332
1380
|
children: [c ? /* @__PURE__ */ Q(W, {
|
|
1333
1381
|
color: "current",
|
|
1334
1382
|
size: "sm"
|
|
1335
|
-
}) : Q(l ?
|
|
1383
|
+
}) : Q(l ? se : Ce, {}), l ? r.auth.signOut : r.settings.revoke]
|
|
1336
1384
|
})
|
|
1337
1385
|
]
|
|
1338
1386
|
});
|
|
@@ -1340,7 +1388,7 @@ function bt({ activeSession: e }) {
|
|
|
1340
1388
|
//#endregion
|
|
1341
1389
|
//#region src/components/auth/settings/security/active-sessions.tsx
|
|
1342
1390
|
function xt({ className: e, variant: t, ...n }) {
|
|
1343
|
-
let { authClient: r, localization: i } =
|
|
1391
|
+
let { authClient: r, localization: i } = g(), { data: a } = T(r), { data: o, isPending: s } = x(r), c = o && [...o].sort((e, t) => e.id === a?.session.id ? -1 : +(t.id === a?.session.id));
|
|
1344
1392
|
return /* @__PURE__ */ $("div", { children: [/* @__PURE__ */ Q("h2", {
|
|
1345
1393
|
className: q("text-sm font-semibold mb-3"),
|
|
1346
1394
|
children: i.settings.activeSessions
|
|
@@ -1369,7 +1417,7 @@ function St() {
|
|
|
1369
1417
|
//#endregion
|
|
1370
1418
|
//#region src/components/auth/settings/security/change-password.tsx
|
|
1371
1419
|
function Ct({ className: e, variant: t, ...n }) {
|
|
1372
|
-
let { authClient: r, emailAndPassword: i, localization: a } =
|
|
1420
|
+
let { authClient: r, emailAndPassword: i, localization: a } = g(), { data: o } = T(r), { data: s, isPending: c } = b(r), l = s?.some((e) => e.providerId === "credential");
|
|
1373
1421
|
return !c && !l ? /* @__PURE__ */ Q(wt, {
|
|
1374
1422
|
className: e,
|
|
1375
1423
|
variant: t,
|
|
@@ -1384,15 +1432,17 @@ function Ct({ className: e, variant: t, ...n }) {
|
|
|
1384
1432
|
});
|
|
1385
1433
|
}
|
|
1386
1434
|
function wt({ className: e, variant: t, ...n }) {
|
|
1387
|
-
let { authClient: r, localization: i, plugins:
|
|
1435
|
+
let { authClient: r, localization: i, plugins: o } = g(), { data: s } = T(r), { fetchOptions: c, resetFetchOptions: l } = te(), [u, d] = X(""), { mutate: f, isPending: p } = S(r, {
|
|
1388
1436
|
onError: () => {
|
|
1389
|
-
|
|
1437
|
+
l();
|
|
1390
1438
|
},
|
|
1391
|
-
onSuccess: () =>
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1439
|
+
onSuccess: (e, { email: t }) => {
|
|
1440
|
+
d(t);
|
|
1441
|
+
}
|
|
1442
|
+
}), m = o.find((e) => e.captchaComponent)?.captchaComponent, h = () => {
|
|
1443
|
+
s?.user.email && f({
|
|
1444
|
+
email: s.user.email,
|
|
1445
|
+
fetchOptions: c
|
|
1396
1446
|
});
|
|
1397
1447
|
};
|
|
1398
1448
|
return /* @__PURE__ */ $("div", { children: [/* @__PURE__ */ Q("h2", {
|
|
@@ -1410,14 +1460,24 @@ function wt({ className: e, variant: t, ...n }) {
|
|
|
1410
1460
|
}), /* @__PURE__ */ Q("p", {
|
|
1411
1461
|
className: "text-muted text-xs mt-0.5",
|
|
1412
1462
|
children: i.settings.setPasswordDescription
|
|
1413
|
-
})] }), /* @__PURE__ */ $("div", {
|
|
1463
|
+
})] }), u ? /* @__PURE__ */ $("div", {
|
|
1414
1464
|
className: "flex flex-col gap-3 items-start sm:items-end",
|
|
1415
|
-
children: [
|
|
1465
|
+
children: [/* @__PURE__ */ Q("p", {
|
|
1466
|
+
className: "text-sm",
|
|
1467
|
+
role: "status",
|
|
1468
|
+
children: i.auth.resetLinkSentTo.replace("{{email}}", u)
|
|
1469
|
+
}), /* @__PURE__ */ Q(a, {
|
|
1470
|
+
email: u,
|
|
1471
|
+
className: "w-auto"
|
|
1472
|
+
})]
|
|
1473
|
+
}) : /* @__PURE__ */ $("div", {
|
|
1474
|
+
className: "flex flex-col gap-3 items-start sm:items-end",
|
|
1475
|
+
children: [m && /* @__PURE__ */ Q("div", { children: m }), /* @__PURE__ */ $(k, {
|
|
1416
1476
|
size: "sm",
|
|
1417
|
-
isPending:
|
|
1418
|
-
isDisabled: !
|
|
1419
|
-
onPress:
|
|
1420
|
-
children: [
|
|
1477
|
+
isPending: p,
|
|
1478
|
+
isDisabled: !s?.user.email,
|
|
1479
|
+
onPress: h,
|
|
1480
|
+
children: [p && /* @__PURE__ */ Q(W, {
|
|
1421
1481
|
color: "current",
|
|
1422
1482
|
size: "sm"
|
|
1423
1483
|
}), i.auth.sendResetLink]
|
|
@@ -1427,14 +1487,14 @@ function wt({ className: e, variant: t, ...n }) {
|
|
|
1427
1487
|
})] });
|
|
1428
1488
|
}
|
|
1429
1489
|
function Tt({ className: e, variant: t, emailAndPassword: n, localization: r, session: i, ...a }) {
|
|
1430
|
-
let { authClient: o } =
|
|
1490
|
+
let { authClient: o } = g(), [s, c] = X(""), [l, u] = X(""), [d, f] = X(""), { mutate: p, isPending: m } = ee(o, {
|
|
1431
1491
|
onError: () => {
|
|
1432
1492
|
c(""), u(""), f("");
|
|
1433
1493
|
},
|
|
1434
1494
|
onSuccess: () => {
|
|
1435
1495
|
c(""), u(""), f(""), J.success(r.settings.changePasswordSuccess);
|
|
1436
1496
|
}
|
|
1437
|
-
}), [
|
|
1497
|
+
}), [h, _] = X(!1), [v, te] = X(!1), y = (e) => {
|
|
1438
1498
|
if (e.preventDefault(), n?.confirmPassword && l !== d) {
|
|
1439
1499
|
c(""), u(""), f(""), J.danger(r.auth.passwordsDoNotMatch);
|
|
1440
1500
|
return;
|
|
@@ -1453,7 +1513,7 @@ function Tt({ className: e, variant: t, emailAndPassword: n, localization: r, se
|
|
|
1453
1513
|
variant: t,
|
|
1454
1514
|
...a,
|
|
1455
1515
|
children: /* @__PURE__ */ Q(j.Content, { children: /* @__PURE__ */ Q(L, {
|
|
1456
|
-
onSubmit:
|
|
1516
|
+
onSubmit: y,
|
|
1457
1517
|
children: /* @__PURE__ */ $(I, {
|
|
1458
1518
|
className: "w-full gap-4",
|
|
1459
1519
|
children: [/* @__PURE__ */ $(I.Group, { children: [
|
|
@@ -1490,7 +1550,7 @@ function Tt({ className: e, variant: t, emailAndPassword: n, localization: r, se
|
|
|
1490
1550
|
variant: t === "transparent" ? "primary" : "secondary",
|
|
1491
1551
|
children: [/* @__PURE__ */ Q(z.Input, {
|
|
1492
1552
|
name: "newPassword",
|
|
1493
|
-
type:
|
|
1553
|
+
type: h ? "text" : "password",
|
|
1494
1554
|
autoComplete: "new-password",
|
|
1495
1555
|
placeholder: r.auth.newPasswordPlaceholder,
|
|
1496
1556
|
required: !0
|
|
@@ -1498,12 +1558,12 @@ function Tt({ className: e, variant: t, emailAndPassword: n, localization: r, se
|
|
|
1498
1558
|
className: "px-0",
|
|
1499
1559
|
children: /* @__PURE__ */ Q(k, {
|
|
1500
1560
|
isIconOnly: !0,
|
|
1501
|
-
"aria-label":
|
|
1561
|
+
"aria-label": h ? r.auth.hidePassword : r.auth.showPassword,
|
|
1502
1562
|
size: "sm",
|
|
1503
1563
|
variant: "ghost",
|
|
1504
|
-
onPress: () => _(!
|
|
1564
|
+
onPress: () => _(!h),
|
|
1505
1565
|
isDisabled: m,
|
|
1506
|
-
children: Q(
|
|
1566
|
+
children: Q(h ? O : D, {})
|
|
1507
1567
|
})
|
|
1508
1568
|
})]
|
|
1509
1569
|
}),
|
|
@@ -1525,7 +1585,7 @@ function Tt({ className: e, variant: t, emailAndPassword: n, localization: r, se
|
|
|
1525
1585
|
variant: t === "transparent" ? "primary" : "secondary",
|
|
1526
1586
|
children: [/* @__PURE__ */ Q(z.Input, {
|
|
1527
1587
|
name: "confirmPassword",
|
|
1528
|
-
type:
|
|
1588
|
+
type: v ? "text" : "password",
|
|
1529
1589
|
autoComplete: "new-password",
|
|
1530
1590
|
placeholder: r.auth.confirmPasswordPlaceholder,
|
|
1531
1591
|
required: !0
|
|
@@ -1533,12 +1593,12 @@ function Tt({ className: e, variant: t, emailAndPassword: n, localization: r, se
|
|
|
1533
1593
|
className: "px-0",
|
|
1534
1594
|
children: /* @__PURE__ */ Q(k, {
|
|
1535
1595
|
isIconOnly: !0,
|
|
1536
|
-
"aria-label":
|
|
1596
|
+
"aria-label": v ? r.auth.hidePassword : r.auth.showPassword,
|
|
1537
1597
|
size: "sm",
|
|
1538
1598
|
variant: "ghost",
|
|
1539
|
-
onPress: () =>
|
|
1599
|
+
onPress: () => te(!v),
|
|
1540
1600
|
isDisabled: m,
|
|
1541
|
-
children: Q(
|
|
1601
|
+
children: Q(v ? O : D, {})
|
|
1542
1602
|
})
|
|
1543
1603
|
})]
|
|
1544
1604
|
}),
|
|
@@ -1563,7 +1623,7 @@ function Tt({ className: e, variant: t, emailAndPassword: n, localization: r, se
|
|
|
1563
1623
|
//#endregion
|
|
1564
1624
|
//#region src/components/auth/settings/security/linked-account.tsx
|
|
1565
1625
|
function Et({ account: e, provider: t }) {
|
|
1566
|
-
let { authClient: n, baseURL: r, localization: i } =
|
|
1626
|
+
let { authClient: n, baseURL: r, localization: i } = g(), { data: a, isPending: o } = h(n, { query: { accountId: e?.accountId } }), { mutate: s, isPending: c } = y(n), { mutate: l, isPending: d } = oe(n, { onSuccess: () => J.success(i.settings.accountUnlinked) }), f = m[t], p = u(t), _ = a?.data?.login || a?.data?.username || a?.user?.email || a?.user?.name || e?.accountId;
|
|
1567
1627
|
return /* @__PURE__ */ $("div", {
|
|
1568
1628
|
className: "flex items-center gap-3",
|
|
1569
1629
|
children: [
|
|
@@ -1575,19 +1635,19 @@ function Et({ account: e, provider: t }) {
|
|
|
1575
1635
|
className: "flex flex-col min-w-0",
|
|
1576
1636
|
children: [/* @__PURE__ */ Q("span", {
|
|
1577
1637
|
className: "text-sm font-medium leading-tight",
|
|
1578
|
-
children:
|
|
1638
|
+
children: p
|
|
1579
1639
|
}), e && o ? /* @__PURE__ */ Q(U, { className: "h-3 w-24 my-0.5 rounded-lg" }) : /* @__PURE__ */ Q("span", {
|
|
1580
1640
|
className: "text-xs text-muted truncate",
|
|
1581
|
-
children: e ? _ : i.settings.linkProvider.replace("{{provider}}",
|
|
1641
|
+
children: e ? _ : i.settings.linkProvider.replace("{{provider}}", p)
|
|
1582
1642
|
})]
|
|
1583
1643
|
}),
|
|
1584
1644
|
e ? /* @__PURE__ */ $(k, {
|
|
1585
1645
|
className: "ml-auto shrink-0",
|
|
1586
1646
|
variant: "outline",
|
|
1587
1647
|
size: "sm",
|
|
1588
|
-
onPress: () =>
|
|
1648
|
+
onPress: () => l({ providerId: e.providerId }),
|
|
1589
1649
|
isPending: d,
|
|
1590
|
-
"aria-label": i.settings.unlinkProvider.replace("{{provider}}",
|
|
1650
|
+
"aria-label": i.settings.unlinkProvider.replace("{{provider}}", p),
|
|
1591
1651
|
children: [d ? /* @__PURE__ */ Q(W, {
|
|
1592
1652
|
color: "current",
|
|
1593
1653
|
size: "sm"
|
|
@@ -1601,7 +1661,7 @@ function Et({ account: e, provider: t }) {
|
|
|
1601
1661
|
callbackURL: `${r}${window.location.pathname}`
|
|
1602
1662
|
}),
|
|
1603
1663
|
isPending: c,
|
|
1604
|
-
"aria-label": i.settings.linkProvider.replace("{{provider}}",
|
|
1664
|
+
"aria-label": i.settings.linkProvider.replace("{{provider}}", p),
|
|
1605
1665
|
children: [c ? /* @__PURE__ */ Q(W, {
|
|
1606
1666
|
color: "current",
|
|
1607
1667
|
size: "sm"
|
|
@@ -1613,7 +1673,7 @@ function Et({ account: e, provider: t }) {
|
|
|
1613
1673
|
//#endregion
|
|
1614
1674
|
//#region src/components/auth/settings/security/linked-accounts.tsx
|
|
1615
1675
|
function Dt({ className: e, variant: t, ...n }) {
|
|
1616
|
-
let { authClient: r, localization: i, multipleAccountsPerProvider: a, socialProviders: o } =
|
|
1676
|
+
let { authClient: r, localization: i, multipleAccountsPerProvider: a, socialProviders: o } = g(), { data: s, isPending: c } = b(r), l = s?.filter((e) => e.providerId !== "credential"), u = new Set(l?.map((e) => e.providerId)), d = a === !1 ? o?.filter((e) => !u.has(e)) : o, f = [...l?.map((e) => ({
|
|
1617
1677
|
key: e.id,
|
|
1618
1678
|
account: e,
|
|
1619
1679
|
provider: e.providerId
|
|
@@ -1653,7 +1713,7 @@ function Ot() {
|
|
|
1653
1713
|
//#endregion
|
|
1654
1714
|
//#region src/components/auth/settings/security/security-settings.tsx
|
|
1655
1715
|
function kt({ className: e, variant: t, ...n }) {
|
|
1656
|
-
let { emailAndPassword: r, plugins: i, socialProviders: a } =
|
|
1716
|
+
let { emailAndPassword: r, plugins: i, socialProviders: a } = g();
|
|
1657
1717
|
return /* @__PURE__ */ $("div", {
|
|
1658
1718
|
className: q("flex w-full flex-col gap-4 md:gap-6", e),
|
|
1659
1719
|
...n,
|
|
@@ -1669,8 +1729,8 @@ function kt({ className: e, variant: t, ...n }) {
|
|
|
1669
1729
|
//#region src/components/auth/settings/settings.tsx
|
|
1670
1730
|
function At({ className: e, hideNav: t, path: n, variant: r, view: i, ...a }) {
|
|
1671
1731
|
if (!i && !n) throw Error("[Better Auth UI] Either `view` or `path` must be provided");
|
|
1672
|
-
let { authClient: o, basePaths: s, localization: c, viewPaths: l, plugins: u } =
|
|
1673
|
-
|
|
1732
|
+
let { authClient: o, basePaths: s, localization: c, viewPaths: l, plugins: u } = g();
|
|
1733
|
+
_(o);
|
|
1674
1734
|
let d = Ue(() => {
|
|
1675
1735
|
if (i) return i;
|
|
1676
1736
|
if (n) return [l.settings, ...u.map((e) => e.viewPaths?.settings)].flatMap((e) => Object.entries(e ?? {})).find(([, e]) => e === n)?.[0];
|
|
@@ -1764,8 +1824,8 @@ function jt(e, t) {
|
|
|
1764
1824
|
children: [i, /* @__PURE__ */ Q(B, { children: n })]
|
|
1765
1825
|
}, t);
|
|
1766
1826
|
}
|
|
1767
|
-
function Mt({ className: e, placement: t, size: r = "default", variant:
|
|
1768
|
-
let { authClient: l, basePaths: u, viewPaths: d, localization: f, plugins: p } =
|
|
1827
|
+
function Mt({ className: e, placement: t, size: r = "default", variant: i = "ghost", links: a, hideSettings: s, hideSubtitle: c }) {
|
|
1828
|
+
let { authClient: l, basePaths: u, viewPaths: d, localization: f, plugins: p } = g(), { data: m, isPending: h } = T(l), _ = p.flatMap((e) => e.userMenuItems?.map((t, n) => /* @__PURE__ */ Q(t, { hideSubtitle: c }, `${e.id}-${n.toString()}`)) ?? []), v = a?.flatMap((e, t) => {
|
|
1769
1829
|
if (!He(e)) {
|
|
1770
1830
|
let t = e.visibility ?? "always";
|
|
1771
1831
|
if (t === "authenticated" && !m || t === "unauthenticated" && m) return [];
|
|
@@ -1776,10 +1836,10 @@ function Mt({ className: e, placement: t, size: r = "default", variant: a = "gho
|
|
|
1776
1836
|
className: q("rounded-full"),
|
|
1777
1837
|
children: /* @__PURE__ */ Q(n, { className: e })
|
|
1778
1838
|
}) : /* @__PURE__ */ $(k, {
|
|
1779
|
-
variant:
|
|
1839
|
+
variant: i,
|
|
1780
1840
|
className: q("h-auto font-normal justify-start px-2 py-2 text-left", e),
|
|
1781
|
-
children: [m ||
|
|
1782
|
-
isPending:
|
|
1841
|
+
children: [m || h ? /* @__PURE__ */ Q(o, {
|
|
1842
|
+
isPending: h,
|
|
1783
1843
|
hideSubtitle: c
|
|
1784
1844
|
}) : /* @__PURE__ */ $(Z, { children: [/* @__PURE__ */ Q(n, {}), /* @__PURE__ */ Q("p", {
|
|
1785
1845
|
className: "text-sm font-medium",
|
|
@@ -1790,7 +1850,7 @@ function Mt({ className: e, placement: t, size: r = "default", variant: a = "gho
|
|
|
1790
1850
|
className: "min-w-40 md:min-w-56 max-w-[48svw]",
|
|
1791
1851
|
children: [m && /* @__PURE__ */ Q("div", {
|
|
1792
1852
|
className: "px-3 pt-3 pb-1",
|
|
1793
|
-
children: /* @__PURE__ */ Q(
|
|
1853
|
+
children: /* @__PURE__ */ Q(o, { hideSubtitle: c })
|
|
1794
1854
|
}), /* @__PURE__ */ Q(P.Menu, { children: m ? /* @__PURE__ */ $(Z, { children: [
|
|
1795
1855
|
v,
|
|
1796
1856
|
!s && /* @__PURE__ */ $(P.Item, {
|
|
@@ -1803,14 +1863,14 @@ function Mt({ className: e, placement: t, size: r = "default", variant: a = "gho
|
|
|
1803
1863
|
textValue: f.auth.signOut,
|
|
1804
1864
|
href: `${u.auth}/${d.auth.signOut}`,
|
|
1805
1865
|
variant: "danger",
|
|
1806
|
-
children: [/* @__PURE__ */ Q(
|
|
1866
|
+
children: [/* @__PURE__ */ Q(se, { className: "text-danger" }), /* @__PURE__ */ Q(B, { children: f.auth.signOut })]
|
|
1807
1867
|
})
|
|
1808
1868
|
] }) : /* @__PURE__ */ $(Z, { children: [
|
|
1809
1869
|
v,
|
|
1810
1870
|
/* @__PURE__ */ $(P.Item, {
|
|
1811
1871
|
textValue: f.auth.signIn,
|
|
1812
1872
|
href: `${u.auth}/${d.auth.signIn}`,
|
|
1813
|
-
children: [/* @__PURE__ */ Q(
|
|
1873
|
+
children: [/* @__PURE__ */ Q(ce, { className: "text-muted" }), /* @__PURE__ */ Q(B, { children: f.auth.signIn })]
|
|
1814
1874
|
}),
|
|
1815
1875
|
/* @__PURE__ */ $(P.Item, {
|
|
1816
1876
|
textValue: f.auth.signUp,
|
|
@@ -1822,4 +1882,4 @@ function Mt({ className: e, placement: t, size: r = "default", variant: a = "gho
|
|
|
1822
1882
|
})] });
|
|
1823
1883
|
}
|
|
1824
1884
|
//#endregion
|
|
1825
|
-
export { vt as AccountSettings, xt as ActiveSessions,
|
|
1885
|
+
export { vt as AccountSettings, xt as ActiveSessions, $e as AdditionalField, ft as Auth, mt as AuthProvider, ht as ChangeEmail, Ct as ChangePassword, rt as ForgotPassword, Dt as LinkedAccounts, a as OpenEmailButton, t as ProviderButton, i as ProviderButtons, tt as RESET_LINK_SENT_STORAGE_KEY, nt as ResetLinkSent, it as ResetPassword, kt as SecuritySettings, At as Settings, at as SignIn, ot as SignOut, st as SignUp, n as UserAvatar, Mt as UserButton, _t as UserProfile, o as UserView, lt as VerifyEmail };
|