payload-auth 1.7.0 → 1.8.0-canary.1

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 (71) hide show
  1. package/dist/better-auth/adapter/index.d.ts +1 -1
  2. package/dist/better-auth/adapter/index.d.ts.map +1 -1
  3. package/dist/better-auth/adapter/index.js +57 -7
  4. package/dist/better-auth/adapter/transform/index.d.ts.map +1 -1
  5. package/dist/better-auth/adapter/transform/index.js +47 -7
  6. package/dist/better-auth/generated-types.d.ts +13 -11
  7. package/dist/better-auth/generated-types.d.ts.map +1 -1
  8. package/dist/better-auth/generated-types.js +1 -1
  9. package/dist/better-auth/plugin/index.d.ts.map +1 -1
  10. package/dist/better-auth/plugin/index.js +3 -2
  11. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts.map +1 -1
  12. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.js +3 -2
  13. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.js +5 -5
  14. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts.map +1 -1
  15. package/dist/better-auth/plugin/lib/build-collections/users/index.js +31 -1
  16. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts +3 -1
  17. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts.map +1 -1
  18. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.js +17 -8
  19. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/apply-save-to-jwt-returned.d.ts +14 -0
  20. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/apply-save-to-jwt-returned.d.ts.map +1 -0
  21. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/apply-save-to-jwt-returned.js +38 -0
  22. package/dist/better-auth/plugin/payload/components/login-form/alternative-methods.d.ts +4 -0
  23. package/dist/better-auth/plugin/payload/components/login-form/alternative-methods.d.ts.map +1 -0
  24. package/dist/better-auth/plugin/payload/components/login-form/alternative-methods.js +197 -0
  25. package/dist/better-auth/plugin/payload/components/login-form/context.d.ts +49 -0
  26. package/dist/better-auth/plugin/payload/components/login-form/context.d.ts.map +1 -0
  27. package/dist/better-auth/plugin/payload/components/login-form/context.js +94 -0
  28. package/dist/better-auth/plugin/payload/components/login-form/credentials-form.d.ts +4 -0
  29. package/dist/better-auth/plugin/payload/components/login-form/credentials-form.d.ts.map +1 -0
  30. package/dist/better-auth/plugin/payload/components/login-form/credentials-form.js +167 -0
  31. package/dist/better-auth/plugin/payload/components/login-form/index.d.ts +4 -0
  32. package/dist/better-auth/plugin/payload/components/login-form/index.d.ts.map +1 -0
  33. package/dist/better-auth/plugin/payload/components/login-form/index.js +6 -0
  34. package/dist/better-auth/plugin/payload/components/{social-provider-buttons → login-form}/index.scss +17 -12
  35. package/dist/better-auth/plugin/payload/components/passkeys/add-button.js +2 -2
  36. package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts +1 -0
  37. package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts.map +1 -1
  38. package/dist/better-auth/plugin/payload/components/rsc-redirect.js +7 -2
  39. package/dist/better-auth/plugin/payload/exports/client.d.ts +3 -2
  40. package/dist/better-auth/plugin/payload/exports/client.d.ts.map +1 -1
  41. package/dist/better-auth/plugin/payload/exports/client.js +4 -3
  42. package/dist/better-auth/plugin/payload/views/admin-login/client.d.ts +11 -7
  43. package/dist/better-auth/plugin/payload/views/admin-login/client.d.ts.map +1 -1
  44. package/dist/better-auth/plugin/payload/views/admin-login/client.js +17 -193
  45. package/dist/better-auth/plugin/payload/views/admin-login/index.d.ts.map +1 -1
  46. package/dist/better-auth/plugin/payload/views/admin-login/index.js +25 -8
  47. package/dist/better-auth/plugin/payload/views/admin-signup/client.d.ts +6 -0
  48. package/dist/better-auth/plugin/payload/views/admin-signup/client.d.ts.map +1 -1
  49. package/dist/better-auth/plugin/payload/views/admin-signup/client.js +12 -10
  50. package/dist/better-auth/plugin/payload/views/admin-signup/index.d.ts.map +1 -1
  51. package/dist/better-auth/plugin/payload/views/admin-signup/index.js +22 -3
  52. package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts.map +1 -1
  53. package/dist/better-auth/plugin/payload/views/forgot-password/client.js +17 -5
  54. package/dist/better-auth/plugin/payload/views/reset-password/index.js +2 -2
  55. package/dist/better-auth/plugin/types.d.ts +4 -1
  56. package/dist/better-auth/plugin/types.d.ts.map +1 -1
  57. package/dist/better-auth/plugin/types.js +1 -1
  58. package/dist/better-auth/scripts/generate-types.js +2 -2
  59. package/dist/shared/form/fields/text-field.d.ts +2 -1
  60. package/dist/shared/form/fields/text-field.d.ts.map +1 -1
  61. package/dist/shared/form/fields/text-field.js +6 -3
  62. package/dist/shared/form/validation.d.ts +9 -69
  63. package/dist/shared/form/validation.d.ts.map +1 -1
  64. package/dist/shared/form/validation.js +11 -24
  65. package/package.json +40 -13
  66. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts +0 -16
  67. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts.map +0 -1
  68. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.js +0 -41
  69. package/dist/better-auth/plugin/payload/components/social-provider-buttons/index.d.ts +0 -16
  70. package/dist/better-auth/plugin/payload/components/social-provider-buttons/index.d.ts.map +0 -1
  71. package/dist/better-auth/plugin/payload/components/social-provider-buttons/index.js +0 -144
@@ -0,0 +1,197 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { socialProviders } from "../../../constants";
4
+ import { Icons } from "../../../../../shared/components/icons";
5
+ import { isValidEmail } from "../../../../../shared/form/validation";
6
+ import { Button, toast } from "@payloadcms/ui";
7
+ import { Key, Mail } from "lucide-react";
8
+ import { useRouter } from "next/navigation";
9
+ import React, { useEffect, useRef, useState } from "react";
10
+ import { useLoginForm } from "./context";
11
+ import "./index.scss";
12
+ const baseClass = 'login-form-methods';
13
+ const MagicLinkButton = ()=>{
14
+ const { email, authClient, redirectUrl, showIconOnly } = useLoginForm();
15
+ const [loading, setLoading] = useState(false);
16
+ const [sent, setSent] = useState(false);
17
+ const sentEmailRef = useRef('');
18
+ useEffect(()=>{
19
+ if (sent && email !== sentEmailRef.current) {
20
+ setSent(false);
21
+ }
22
+ }, [
23
+ email,
24
+ sent
25
+ ]);
26
+ const handleClick = async ()=>{
27
+ if (!email) {
28
+ toast.error('Please enter your email address');
29
+ return;
30
+ }
31
+ if (!isValidEmail(email)) {
32
+ toast.error('Please enter a valid email address');
33
+ return;
34
+ }
35
+ setLoading(true);
36
+ try {
37
+ const { error } = await authClient.signIn.magicLink({
38
+ email,
39
+ callbackURL: redirectUrl
40
+ });
41
+ if (error) {
42
+ toast.error(error.message || 'Failed to send magic link');
43
+ } else {
44
+ sentEmailRef.current = email;
45
+ setSent(true);
46
+ toast.success('Magic link sent! Check your email.');
47
+ }
48
+ } catch (error) {
49
+ toast.error(error?.message || 'Failed to send magic link');
50
+ } finally{
51
+ setLoading(false);
52
+ }
53
+ };
54
+ const label = sent ? 'Resend Magic Link' : 'Magic Link';
55
+ return /*#__PURE__*/ _jsx(Button, {
56
+ type: "button",
57
+ size: "large",
58
+ className: `${baseClass}__button provider--magic-link`,
59
+ onClick: handleClick,
60
+ disabled: loading,
61
+ iconPosition: "left",
62
+ icon: /*#__PURE__*/ _jsx(Mail, {
63
+ className: `${baseClass}__icon`
64
+ }),
65
+ tooltip: showIconOnly ? 'Sign in with Magic Link' : undefined,
66
+ children: !showIconOnly && /*#__PURE__*/ _jsx("span", {
67
+ children: loading ? 'Sending...' : label
68
+ })
69
+ });
70
+ };
71
+ const PasskeyButton = ({ setLoading })=>{
72
+ const router = useRouter();
73
+ const { authClient, redirectUrl, showIconOnly } = useLoginForm();
74
+ const handleClick = async ()=>{
75
+ setLoading(true);
76
+ try {
77
+ await authClient.signIn.passkey({
78
+ fetchOptions: {
79
+ onSuccess () {
80
+ if (redirectUrl) router.push(redirectUrl);
81
+ },
82
+ onError (context) {
83
+ toast.error(context.error.message || 'Failed to sign in with passkey');
84
+ }
85
+ }
86
+ });
87
+ } catch (error) {
88
+ toast.error(error?.message || 'Failed to sign in with passkey');
89
+ } finally{
90
+ setLoading(false);
91
+ }
92
+ };
93
+ return /*#__PURE__*/ _jsx(Button, {
94
+ type: "button",
95
+ size: "large",
96
+ className: `${baseClass}__button provider--passkey`,
97
+ onClick: handleClick,
98
+ iconPosition: "left",
99
+ icon: /*#__PURE__*/ _jsx(Key, {
100
+ className: `${baseClass}__icon`
101
+ }),
102
+ tooltip: showIconOnly ? 'Sign in with Passkey' : undefined,
103
+ children: !showIconOnly && /*#__PURE__*/ _jsx("span", {
104
+ children: "Passkey"
105
+ })
106
+ });
107
+ };
108
+ const SocialButton = ({ provider, setLoading })=>{
109
+ const { authClient, redirectUrl, isSignup, showIconOnly, adminInviteToken, newUserCallbackURL } = useLoginForm();
110
+ const Icon = Icons[provider] ?? null;
111
+ const providerName = provider.charAt(0).toUpperCase() + provider.slice(1);
112
+ const handleClick = async ()=>{
113
+ setLoading(true);
114
+ try {
115
+ const { error } = await authClient.signIn.social({
116
+ provider,
117
+ fetchOptions: {
118
+ query: {
119
+ ...isSignup && {
120
+ adminInviteToken
121
+ }
122
+ }
123
+ },
124
+ errorCallbackURL: window.location.href,
125
+ callbackURL: redirectUrl,
126
+ newUserCallbackURL,
127
+ ...isSignup && {
128
+ requestSignUp: true
129
+ }
130
+ });
131
+ if (error) {
132
+ toast.error(error.message);
133
+ }
134
+ } catch {
135
+ toast.error(`Failed to sign in with ${providerName}`);
136
+ } finally{
137
+ setLoading(false);
138
+ }
139
+ };
140
+ return /*#__PURE__*/ _jsx(Button, {
141
+ type: "button",
142
+ size: "large",
143
+ className: `${baseClass}__button provider--${provider}`,
144
+ onClick: handleClick,
145
+ iconPosition: "left",
146
+ icon: Icon ? /*#__PURE__*/ _jsx(Icon, {
147
+ className: `${baseClass}__icon`
148
+ }) : undefined,
149
+ tooltip: showIconOnly ? `Sign in with ${providerName}` : undefined,
150
+ children: !showIconOnly && /*#__PURE__*/ _jsx("span", {
151
+ children: providerName
152
+ })
153
+ });
154
+ };
155
+ export const AlternativeMethods = ()=>{
156
+ const { alternativeMethods, hasMethod, isSignup, showIconOnly } = useLoginForm();
157
+ const [loading, setLoading] = useState(false);
158
+ if (alternativeMethods.length === 0) return null;
159
+ return /*#__PURE__*/ _jsxs(_Fragment, {
160
+ children: [
161
+ hasMethod('emailPassword') && /*#__PURE__*/ _jsx("div", {
162
+ className: `${baseClass}__divider`,
163
+ children: /*#__PURE__*/ _jsxs("span", {
164
+ children: [
165
+ "Or ",
166
+ isSignup ? 'sign up' : 'login',
167
+ " with"
168
+ ]
169
+ })
170
+ }),
171
+ /*#__PURE__*/ _jsx("div", {
172
+ className: `${baseClass} ${baseClass}--count-${showIconOnly ? 'many' : alternativeMethods.length}`,
173
+ children: alternativeMethods.map((method)=>{
174
+ if (method === 'passkey') {
175
+ if (isSignup) return null;
176
+ return /*#__PURE__*/ _jsx(PasskeyButton, {
177
+ setLoading: setLoading
178
+ }, method);
179
+ }
180
+ if (method === 'magicLink') {
181
+ if (isSignup) return null;
182
+ return /*#__PURE__*/ _jsx(MagicLinkButton, {}, method);
183
+ }
184
+ if (socialProviders.includes(method)) {
185
+ return /*#__PURE__*/ _jsx(SocialButton, {
186
+ provider: method,
187
+ setLoading: setLoading
188
+ }, method);
189
+ }
190
+ return null;
191
+ })
192
+ })
193
+ ]
194
+ });
195
+ };
196
+
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC9jb21wb25lbnRzL2xvZ2luLWZvcm0vYWx0ZXJuYXRpdmUtbWV0aG9kcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB7IHNvY2lhbFByb3ZpZGVycyB9IGZyb20gJ0AvYmV0dGVyLWF1dGgvcGx1Z2luL2NvbnN0YW50cydcbmltcG9ydCB0eXBlIHsgU29jaWFsUHJvdmlkZXIgfSBmcm9tICdAL2JldHRlci1hdXRoL3BsdWdpbi90eXBlcydcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnQC9zaGFyZWQvY29tcG9uZW50cy9pY29ucydcbmltcG9ydCB7IGlzVmFsaWRFbWFpbCB9IGZyb20gJ0Avc2hhcmVkL2Zvcm0vdmFsaWRhdGlvbidcbmltcG9ydCB7IEJ1dHRvbiwgdG9hc3QgfSBmcm9tICdAcGF5bG9hZGNtcy91aSdcbmltcG9ydCB7IEtleSwgTWFpbCB9IGZyb20gJ2x1Y2lkZS1yZWFjdCdcbmltcG9ydCB7IHVzZVJvdXRlciB9IGZyb20gJ25leHQvbmF2aWdhdGlvbidcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZUxvZ2luRm9ybSB9IGZyb20gJy4vY29udGV4dCdcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAnbG9naW4tZm9ybS1tZXRob2RzJ1xuXG5jb25zdCBNYWdpY0xpbmtCdXR0b246IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCB7IGVtYWlsLCBhdXRoQ2xpZW50LCByZWRpcmVjdFVybCwgc2hvd0ljb25Pbmx5IH0gPSB1c2VMb2dpbkZvcm0oKVxuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3NlbnQsIHNldFNlbnRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHNlbnRFbWFpbFJlZiA9IHVzZVJlZignJylcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzZW50ICYmIGVtYWlsICE9PSBzZW50RW1haWxSZWYuY3VycmVudCkge1xuICAgICAgc2V0U2VudChmYWxzZSlcbiAgICB9XG4gIH0sIFtlbWFpbCwgc2VudF0pXG5cbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFlbWFpbCkge1xuICAgICAgdG9hc3QuZXJyb3IoJ1BsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFkZHJlc3MnKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGlmICghaXNWYWxpZEVtYWlsKGVtYWlsKSkge1xuICAgICAgdG9hc3QuZXJyb3IoJ1BsZWFzZSBlbnRlciBhIHZhbGlkIGVtYWlsIGFkZHJlc3MnKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgc2V0TG9hZGluZyh0cnVlKVxuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGVycm9yIH0gPSBhd2FpdCBhdXRoQ2xpZW50LnNpZ25Jbi5tYWdpY0xpbmsoeyBlbWFpbCwgY2FsbGJhY2tVUkw6IHJlZGlyZWN0VXJsIH0pXG4gICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgdG9hc3QuZXJyb3IoZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIHNlbmQgbWFnaWMgbGluaycpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZW50RW1haWxSZWYuY3VycmVudCA9IGVtYWlsXG4gICAgICAgIHNldFNlbnQodHJ1ZSlcbiAgICAgICAgdG9hc3Quc3VjY2VzcygnTWFnaWMgbGluayBzZW50ISBDaGVjayB5b3VyIGVtYWlsLicpXG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgdG9hc3QuZXJyb3IoZXJyb3I/Lm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBzZW5kIG1hZ2ljIGxpbmsnKVxuICAgIH0gZmluYWxseSB7XG4gICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGxhYmVsID0gc2VudCA/ICdSZXNlbmQgTWFnaWMgTGluaycgOiAnTWFnaWMgTGluaydcblxuICByZXR1cm4gKFxuICAgIDxCdXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgc2l6ZT1cImxhcmdlXCJcbiAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fYnV0dG9uIHByb3ZpZGVyLS1tYWdpYy1saW5rYH1cbiAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsaWNrfVxuICAgICAgZGlzYWJsZWQ9e2xvYWRpbmd9XG4gICAgICBpY29uUG9zaXRpb249XCJsZWZ0XCJcbiAgICAgIGljb249ezxNYWlsIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faWNvbmB9IC8+fVxuICAgICAgdG9vbHRpcD17c2hvd0ljb25Pbmx5ID8gJ1NpZ24gaW4gd2l0aCBNYWdpYyBMaW5rJyA6IHVuZGVmaW5lZH0+XG4gICAgICB7IXNob3dJY29uT25seSAmJiA8c3Bhbj57bG9hZGluZyA/ICdTZW5kaW5nLi4uJyA6IGxhYmVsfTwvc3Bhbj59XG4gICAgPC9CdXR0b24+XG4gIClcbn1cblxudHlwZSBQYXNza2V5QnV0dG9uUHJvcHMgPSB7XG4gIHNldExvYWRpbmc6IChsb2FkaW5nOiBib29sZWFuKSA9PiB2b2lkXG59XG5cbmNvbnN0IFBhc3NrZXlCdXR0b246IFJlYWN0LkZDPFBhc3NrZXlCdXR0b25Qcm9wcz4gPSAoeyBzZXRMb2FkaW5nIH0pID0+IHtcbiAgY29uc3Qgcm91dGVyID0gdXNlUm91dGVyKClcbiAgY29uc3QgeyBhdXRoQ2xpZW50LCByZWRpcmVjdFVybCwgc2hvd0ljb25Pbmx5IH0gPSB1c2VMb2dpbkZvcm0oKVxuXG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gYXN5bmMgKCkgPT4ge1xuICAgIHNldExvYWRpbmcodHJ1ZSlcbiAgICB0cnkge1xuICAgICAgYXdhaXQgYXV0aENsaWVudC5zaWduSW4ucGFzc2tleSh7XG4gICAgICAgIGZldGNoT3B0aW9uczoge1xuICAgICAgICAgIG9uU3VjY2VzcygpIHtcbiAgICAgICAgICAgIGlmIChyZWRpcmVjdFVybCkgcm91dGVyLnB1c2gocmVkaXJlY3RVcmwpXG4gICAgICAgICAgfSxcbiAgICAgICAgICBvbkVycm9yKGNvbnRleHQ6IGFueSkge1xuICAgICAgICAgICAgdG9hc3QuZXJyb3IoY29udGV4dC5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gc2lnbiBpbiB3aXRoIHBhc3NrZXknKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICB0b2FzdC5lcnJvcihlcnJvcj8ubWVzc2FnZSB8fCAnRmFpbGVkIHRvIHNpZ24gaW4gd2l0aCBwYXNza2V5JylcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICB9XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxCdXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgc2l6ZT1cImxhcmdlXCJcbiAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fYnV0dG9uIHByb3ZpZGVyLS1wYXNza2V5YH1cbiAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsaWNrfVxuICAgICAgaWNvblBvc2l0aW9uPVwibGVmdFwiXG4gICAgICBpY29uPXs8S2V5IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faWNvbmB9IC8+fVxuICAgICAgdG9vbHRpcD17c2hvd0ljb25Pbmx5ID8gJ1NpZ24gaW4gd2l0aCBQYXNza2V5JyA6IHVuZGVmaW5lZH0+XG4gICAgICB7IXNob3dJY29uT25seSAmJiA8c3Bhbj5QYXNza2V5PC9zcGFuPn1cbiAgICA8L0J1dHRvbj5cbiAgKVxufVxuXG50eXBlIFNvY2lhbEJ1dHRvblByb3BzID0ge1xuICBwcm92aWRlcjogU29jaWFsUHJvdmlkZXJcbiAgc2V0TG9hZGluZzogKGxvYWRpbmc6IGJvb2xlYW4pID0+IHZvaWRcbn1cblxuY29uc3QgU29jaWFsQnV0dG9uOiBSZWFjdC5GQzxTb2NpYWxCdXR0b25Qcm9wcz4gPSAoeyBwcm92aWRlciwgc2V0TG9hZGluZyB9KSA9PiB7XG4gIGNvbnN0IHsgYXV0aENsaWVudCwgcmVkaXJlY3RVcmwsIGlzU2lnbnVwLCBzaG93SWNvbk9ubHksIGFkbWluSW52aXRlVG9rZW4sIG5ld1VzZXJDYWxsYmFja1VSTCB9ID0gdXNlTG9naW5Gb3JtKClcbiAgY29uc3QgSWNvbiA9IEljb25zW3Byb3ZpZGVyIGFzIGtleW9mIHR5cGVvZiBJY29uc10gPz8gbnVsbFxuICBjb25zdCBwcm92aWRlck5hbWUgPSBwcm92aWRlci5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHByb3ZpZGVyLnNsaWNlKDEpXG5cbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSBhc3luYyAoKSA9PiB7XG4gICAgc2V0TG9hZGluZyh0cnVlKVxuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGVycm9yIH0gPSBhd2FpdCBhdXRoQ2xpZW50LnNpZ25Jbi5zb2NpYWwoe1xuICAgICAgICBwcm92aWRlcixcbiAgICAgICAgZmV0Y2hPcHRpb25zOiB7XG4gICAgICAgICAgcXVlcnk6IHtcbiAgICAgICAgICAgIC4uLihpc1NpZ251cCAmJiB7IGFkbWluSW52aXRlVG9rZW4gfSlcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yQ2FsbGJhY2tVUkw6IHdpbmRvdy5sb2NhdGlvbi5ocmVmLFxuICAgICAgICBjYWxsYmFja1VSTDogcmVkaXJlY3RVcmwsXG4gICAgICAgIG5ld1VzZXJDYWxsYmFja1VSTCxcbiAgICAgICAgLi4uKGlzU2lnbnVwICYmIHsgcmVxdWVzdFNpZ25VcDogdHJ1ZSB9KVxuICAgICAgfSlcbiAgICAgIGlmIChlcnJvcikge1xuICAgICAgICB0b2FzdC5lcnJvcihlcnJvci5tZXNzYWdlKVxuICAgICAgfVxuICAgIH0gY2F0Y2gge1xuICAgICAgdG9hc3QuZXJyb3IoYEZhaWxlZCB0byBzaWduIGluIHdpdGggJHtwcm92aWRlck5hbWV9YClcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICB9XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxCdXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgc2l6ZT1cImxhcmdlXCJcbiAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fYnV0dG9uIHByb3ZpZGVyLS0ke3Byb3ZpZGVyfWB9XG4gICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja31cbiAgICAgIGljb25Qb3NpdGlvbj1cImxlZnRcIlxuICAgICAgaWNvbj17SWNvbiA/IDxJY29uIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faWNvbmB9IC8+IDogdW5kZWZpbmVkfVxuICAgICAgdG9vbHRpcD17c2hvd0ljb25Pbmx5ID8gYFNpZ24gaW4gd2l0aCAke3Byb3ZpZGVyTmFtZX1gIDogdW5kZWZpbmVkfT5cbiAgICAgIHshc2hvd0ljb25Pbmx5ICYmIDxzcGFuPntwcm92aWRlck5hbWV9PC9zcGFuPn1cbiAgICA8L0J1dHRvbj5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgQWx0ZXJuYXRpdmVNZXRob2RzOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgeyBhbHRlcm5hdGl2ZU1ldGhvZHMsIGhhc01ldGhvZCwgaXNTaWdudXAsIHNob3dJY29uT25seSB9ID0gdXNlTG9naW5Gb3JtKClcbiAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIFxuICBpZiAoYWx0ZXJuYXRpdmVNZXRob2RzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIG51bGxcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7aGFzTWV0aG9kKCdlbWFpbFBhc3N3b3JkJykgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZGl2aWRlcmB9PlxuICAgICAgICAgIDxzcGFuPk9yIHtpc1NpZ251cCA/ICdzaWduIHVwJyA6ICdsb2dpbid9IHdpdGg8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9ICR7YmFzZUNsYXNzfS0tY291bnQtJHtzaG93SWNvbk9ubHkgPyAnbWFueScgOiBhbHRlcm5hdGl2ZU1ldGhvZHMubGVuZ3RofWB9PlxuICAgICAgICB7YWx0ZXJuYXRpdmVNZXRob2RzLm1hcCgobWV0aG9kKSA9PiB7XG4gICAgICAgICAgaWYgKG1ldGhvZCA9PT0gJ3Bhc3NrZXknKSB7XG4gICAgICAgICAgICBpZiAoaXNTaWdudXApIHJldHVybiBudWxsXG4gICAgICAgICAgICByZXR1cm4gPFBhc3NrZXlCdXR0b24ga2V5PXttZXRob2R9IHNldExvYWRpbmc9e3NldExvYWRpbmd9IC8+XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKG1ldGhvZCA9PT0gJ21hZ2ljTGluaycpIHtcbiAgICAgICAgICAgIGlmIChpc1NpZ251cCkgcmV0dXJuIG51bGxcbiAgICAgICAgICAgIHJldHVybiA8TWFnaWNMaW5rQnV0dG9uIGtleT17bWV0aG9kfSAvPlxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChzb2NpYWxQcm92aWRlcnMuaW5jbHVkZXMobWV0aG9kIGFzIFNvY2lhbFByb3ZpZGVyKSkge1xuICAgICAgICAgICAgcmV0dXJuIDxTb2NpYWxCdXR0b24ga2V5PXttZXRob2R9IHByb3ZpZGVyPXttZXRob2QgYXMgU29jaWFsUHJvdmlkZXJ9IHNldExvYWRpbmc9e3NldExvYWRpbmd9IC8+XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgfSl9XG4gICAgICA8L2Rpdj5cbiAgICA8Lz5cbiAgKVxufVxuXG4iXSwibmFtZXMiOlsic29jaWFsUHJvdmlkZXJzIiwiSWNvbnMiLCJpc1ZhbGlkRW1haWwiLCJCdXR0b24iLCJ0b2FzdCIsIktleSIsIk1haWwiLCJ1c2VSb3V0ZXIiLCJSZWFjdCIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZVN0YXRlIiwidXNlTG9naW5Gb3JtIiwiYmFzZUNsYXNzIiwiTWFnaWNMaW5rQnV0dG9uIiwiZW1haWwiLCJhdXRoQ2xpZW50IiwicmVkaXJlY3RVcmwiLCJzaG93SWNvbk9ubHkiLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsInNlbnQiLCJzZXRTZW50Iiwic2VudEVtYWlsUmVmIiwiY3VycmVudCIsImhhbmRsZUNsaWNrIiwiZXJyb3IiLCJzaWduSW4iLCJtYWdpY0xpbmsiLCJjYWxsYmFja1VSTCIsIm1lc3NhZ2UiLCJzdWNjZXNzIiwibGFiZWwiLCJ0eXBlIiwic2l6ZSIsImNsYXNzTmFtZSIsIm9uQ2xpY2siLCJkaXNhYmxlZCIsImljb25Qb3NpdGlvbiIsImljb24iLCJ0b29sdGlwIiwidW5kZWZpbmVkIiwic3BhbiIsIlBhc3NrZXlCdXR0b24iLCJyb3V0ZXIiLCJwYXNza2V5IiwiZmV0Y2hPcHRpb25zIiwib25TdWNjZXNzIiwicHVzaCIsIm9uRXJyb3IiLCJjb250ZXh0IiwiU29jaWFsQnV0dG9uIiwicHJvdmlkZXIiLCJpc1NpZ251cCIsImFkbWluSW52aXRlVG9rZW4iLCJuZXdVc2VyQ2FsbGJhY2tVUkwiLCJJY29uIiwicHJvdmlkZXJOYW1lIiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJzbGljZSIsInNvY2lhbCIsInF1ZXJ5IiwiZXJyb3JDYWxsYmFja1VSTCIsIndpbmRvdyIsImxvY2F0aW9uIiwiaHJlZiIsInJlcXVlc3RTaWduVXAiLCJBbHRlcm5hdGl2ZU1ldGhvZHMiLCJhbHRlcm5hdGl2ZU1ldGhvZHMiLCJoYXNNZXRob2QiLCJsZW5ndGgiLCJkaXYiLCJtYXAiLCJtZXRob2QiLCJpbmNsdWRlcyJdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUEsU0FBU0EsZUFBZSxRQUFRLHFCQUFnQztBQUVoRSxTQUFTQyxLQUFLLFFBQVEseUNBQTJCO0FBQ2pELFNBQVNDLFlBQVksUUFBUSx3Q0FBMEI7QUFDdkQsU0FBU0MsTUFBTSxFQUFFQyxLQUFLLFFBQVEs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
@@ -0,0 +1,49 @@
1
+ import type { LoginMethod } from '@/better-auth/plugin/types';
2
+ import React from 'react';
3
+ type LoginFormContextValue = {
4
+ loginMethods: LoginMethod[];
5
+ email: string;
6
+ setEmail: (email: string) => void;
7
+ redirectUrl: string;
8
+ isSignup: boolean;
9
+ authClient: any;
10
+ loginType: 'email' | 'username' | 'emailOrUsername';
11
+ hasMethod: (method: LoginMethod) => boolean;
12
+ alternativeMethods: LoginMethod[];
13
+ showIconOnly: boolean;
14
+ adminInviteToken?: string;
15
+ newUserCallbackURL?: string;
16
+ prefill: {
17
+ email?: string;
18
+ password?: string;
19
+ username?: string;
20
+ };
21
+ };
22
+ type Prefill = {
23
+ email?: string;
24
+ password?: string;
25
+ username?: string;
26
+ };
27
+ type Plugins = {
28
+ username?: boolean;
29
+ passkey?: boolean;
30
+ magicLink?: boolean;
31
+ };
32
+ type LoginIdentifier = 'email' | 'username';
33
+ export type LoginFormProviderProps = {
34
+ children: React.ReactNode;
35
+ loginMethods: LoginMethod[];
36
+ redirectUrl: string;
37
+ baseURL?: string;
38
+ basePath?: string;
39
+ isSignup?: boolean;
40
+ loginIdentifiers: LoginIdentifier[];
41
+ plugins?: Plugins;
42
+ prefill?: Prefill;
43
+ adminInviteToken?: string;
44
+ newUserCallbackURL?: string;
45
+ };
46
+ export declare const LoginFormProvider: React.FC<LoginFormProviderProps>;
47
+ export declare const useLoginForm: () => LoginFormContextValue;
48
+ export {};
49
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/payload/components/login-form/context.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAuD,MAAM,OAAO,CAAA;AAO3E,KAAK,qBAAqB,GAAG;IAC3B,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,EAAE,GAAG,CAAA;IACf,SAAS,EAAE,OAAO,GAAG,UAAU,GAAG,iBAAiB,CAAA;IACnD,SAAS,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAA;IAC3C,kBAAkB,EAAE,WAAW,EAAE,CAAA;IACjC,YAAY,EAAE,OAAO,CAAA;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,OAAO,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;CACF,CAAA;AAID,KAAK,OAAO,GAAG;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,KAAK,OAAO,GAAG;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,KAAK,eAAe,GAAG,OAAO,GAAG,UAAU,CAAA;AAE3C,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gBAAgB,EAAE,eAAe,EAAE,CAAA;IACnC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAgF9D,CAAA;AAED,eAAO,MAAM,YAAY,6BAMxB,CAAA"}
@@ -0,0 +1,94 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import React, { createContext, useContext, useMemo, useState } from "react";
4
+ import { createAuthClient } from "better-auth/react";
5
+ import { usernameClient, twoFactorClient, magicLinkClient } from "better-auth/client/plugins";
6
+ import { passkeyClient } from "@better-auth/passkey/client";
7
+ import { useRouter } from "next/navigation";
8
+ import { adminRoutes } from "../../../constants";
9
+ const LoginFormContext = /*#__PURE__*/ createContext(null);
10
+ export const LoginFormProvider = ({ children, loginMethods, redirectUrl, baseURL, basePath, isSignup = false, loginIdentifiers, plugins, prefill, adminInviteToken, newUserCallbackURL })=>{
11
+ const { username: hasUsernamePlugin = false, passkey: hasPasskeyPlugin = false, magicLink: hasMagicLinkPlugin = false } = plugins ?? {};
12
+ const resolvedPrefill = prefill ?? {};
13
+ const router = useRouter();
14
+ const [email, setEmail] = useState(resolvedPrefill.email ?? '');
15
+ const authClient = useMemo(()=>createAuthClient({
16
+ baseURL,
17
+ basePath,
18
+ plugins: [
19
+ usernameClient(),
20
+ twoFactorClient({
21
+ onTwoFactorRedirect () {
22
+ router.push(`${redirectUrl.split('?')[0]}${adminRoutes.twoFactorVerify}?redirect=${redirectUrl}`);
23
+ }
24
+ }),
25
+ ...hasPasskeyPlugin ? [
26
+ passkeyClient()
27
+ ] : [],
28
+ ...hasMagicLinkPlugin || loginMethods.includes('magicLink') ? [
29
+ magicLinkClient()
30
+ ] : []
31
+ ]
32
+ }), [
33
+ baseURL,
34
+ basePath,
35
+ hasMagicLinkPlugin,
36
+ hasPasskeyPlugin,
37
+ loginMethods,
38
+ redirectUrl,
39
+ router
40
+ ]);
41
+ const canLoginWithEmail = loginIdentifiers.includes('email');
42
+ const canLoginWithUsername = loginIdentifiers.includes('username');
43
+ const loginType = useMemo(()=>{
44
+ if (canLoginWithEmail && canLoginWithUsername && hasUsernamePlugin) return 'emailOrUsername';
45
+ if (canLoginWithUsername && hasUsernamePlugin) return 'username';
46
+ return 'email';
47
+ }, [
48
+ canLoginWithEmail,
49
+ canLoginWithUsername,
50
+ hasUsernamePlugin
51
+ ]);
52
+ const hasMethod = (method)=>loginMethods.includes(method);
53
+ const alternativeMethods = useMemo(()=>loginMethods.filter((m)=>{
54
+ if (m === 'emailPassword') return false;
55
+ if (isSignup && (m === 'passkey' || m === 'magicLink')) return false;
56
+ return true;
57
+ }), [
58
+ loginMethods,
59
+ isSignup
60
+ ]);
61
+ const showIconOnly = alternativeMethods.length >= 3;
62
+ const value = {
63
+ loginMethods,
64
+ email,
65
+ setEmail,
66
+ redirectUrl,
67
+ isSignup,
68
+ authClient,
69
+ loginType,
70
+ hasMethod,
71
+ alternativeMethods,
72
+ showIconOnly,
73
+ adminInviteToken,
74
+ newUserCallbackURL,
75
+ prefill: {
76
+ email: resolvedPrefill.email,
77
+ password: resolvedPrefill.password,
78
+ username: resolvedPrefill.username
79
+ }
80
+ };
81
+ return /*#__PURE__*/ _jsx(LoginFormContext.Provider, {
82
+ value: value,
83
+ children: children
84
+ });
85
+ };
86
+ export const useLoginForm = ()=>{
87
+ const context = useContext(LoginFormContext);
88
+ if (!context) {
89
+ throw new Error('useLoginForm must be used within a LoginFormProvider');
90
+ }
91
+ return context;
92
+ };
93
+
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC9jb21wb25lbnRzL2xvZ2luLWZvcm0vY29udGV4dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB0eXBlIHsgTG9naW5NZXRob2QgfSBmcm9tICdAL2JldHRlci1hdXRoL3BsdWdpbi90eXBlcydcbmltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0LCB1c2VDb250ZXh0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY3JlYXRlQXV0aENsaWVudCB9IGZyb20gJ2JldHRlci1hdXRoL3JlYWN0J1xuaW1wb3J0IHsgdXNlcm5hbWVDbGllbnQsIHR3b0ZhY3RvckNsaWVudCwgbWFnaWNMaW5rQ2xpZW50IH0gZnJvbSAnYmV0dGVyLWF1dGgvY2xpZW50L3BsdWdpbnMnXG5pbXBvcnQgeyBwYXNza2V5Q2xpZW50IH0gZnJvbSAnQGJldHRlci1hdXRoL3Bhc3NrZXkvY2xpZW50J1xuaW1wb3J0IHsgdXNlUm91dGVyIH0gZnJvbSAnbmV4dC9uYXZpZ2F0aW9uJ1xuaW1wb3J0IHsgYWRtaW5Sb3V0ZXMgfSBmcm9tICdAL2JldHRlci1hdXRoL3BsdWdpbi9jb25zdGFudHMnXG5cbnR5cGUgTG9naW5Gb3JtQ29udGV4dFZhbHVlID0ge1xuICBsb2dpbk1ldGhvZHM6IExvZ2luTWV0aG9kW11cbiAgZW1haWw6IHN0cmluZ1xuICBzZXRFbWFpbDogKGVtYWlsOiBzdHJpbmcpID0+IHZvaWRcbiAgcmVkaXJlY3RVcmw6IHN0cmluZ1xuICBpc1NpZ251cDogYm9vbGVhblxuICBhdXRoQ2xpZW50OiBhbnlcbiAgbG9naW5UeXBlOiAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbWFpbE9yVXNlcm5hbWUnXG4gIGhhc01ldGhvZDogKG1ldGhvZDogTG9naW5NZXRob2QpID0+IGJvb2xlYW5cbiAgYWx0ZXJuYXRpdmVNZXRob2RzOiBMb2dpbk1ldGhvZFtdXG4gIHNob3dJY29uT25seTogYm9vbGVhblxuICBhZG1pbkludml0ZVRva2VuPzogc3RyaW5nXG4gIG5ld1VzZXJDYWxsYmFja1VSTD86IHN0cmluZ1xuICBwcmVmaWxsOiB7XG4gICAgZW1haWw/OiBzdHJpbmdcbiAgICBwYXNzd29yZD86IHN0cmluZ1xuICAgIHVzZXJuYW1lPzogc3RyaW5nXG4gIH1cbn1cblxuY29uc3QgTG9naW5Gb3JtQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8TG9naW5Gb3JtQ29udGV4dFZhbHVlIHwgbnVsbD4obnVsbClcblxudHlwZSBQcmVmaWxsID0ge1xuICBlbWFpbD86IHN0cmluZ1xuICBwYXNzd29yZD86IHN0cmluZ1xuICB1c2VybmFtZT86IHN0cmluZ1xufVxuXG50eXBlIFBsdWdpbnMgPSB7XG4gIHVzZXJuYW1lPzogYm9vbGVhblxuICBwYXNza2V5PzogYm9vbGVhblxuICBtYWdpY0xpbms/OiBib29sZWFuXG59XG5cbnR5cGUgTG9naW5JZGVudGlmaWVyID0gJ2VtYWlsJyB8ICd1c2VybmFtZSdcblxuZXhwb3J0IHR5cGUgTG9naW5Gb3JtUHJvdmlkZXJQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVxuICBsb2dpbk1ldGhvZHM6IExvZ2luTWV0aG9kW11cbiAgcmVkaXJlY3RVcmw6IHN0cmluZ1xuICBiYXNlVVJMPzogc3RyaW5nXG4gIGJhc2VQYXRoPzogc3RyaW5nXG4gIGlzU2lnbnVwPzogYm9vbGVhblxuICBsb2dpbklkZW50aWZpZXJzOiBMb2dpbklkZW50aWZpZXJbXVxuICBwbHVnaW5zPzogUGx1Z2luc1xuICBwcmVmaWxsPzogUHJlZmlsbFxuICBhZG1pbkludml0ZVRva2VuPzogc3RyaW5nXG4gIG5ld1VzZXJDYWxsYmFja1VSTD86IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgTG9naW5Gb3JtUHJvdmlkZXI6IFJlYWN0LkZDPExvZ2luRm9ybVByb3ZpZGVyUHJvcHM+ID0gKHtcbiAgY2hpbGRyZW4sXG4gIGxvZ2luTWV0aG9kcyxcbiAgcmVkaXJlY3RVcmwsXG4gIGJhc2VVUkwsXG4gIGJhc2VQYXRoLFxuICBpc1NpZ251cCA9IGZhbHNlLFxuICBsb2dpbklkZW50aWZpZXJzLFxuICBwbHVnaW5zLFxuICBwcmVmaWxsLFxuICBhZG1pbkludml0ZVRva2VuLFxuICBuZXdVc2VyQ2FsbGJhY2tVUkxcbn0pID0+IHtcbiAgY29uc3QgeyB1c2VybmFtZTogaGFzVXNlcm5hbWVQbHVnaW4gPSBmYWxzZSwgcGFzc2tleTogaGFzUGFzc2tleVBsdWdpbiA9IGZhbHNlLCBtYWdpY0xpbms6IGhhc01hZ2ljTGlua1BsdWdpbiA9IGZhbHNlIH0gPSBwbHVnaW5zID8/IHt9XG4gIGNvbnN0IHJlc29sdmVkUHJlZmlsbDogUHJlZmlsbCA9IHByZWZpbGwgPz8ge31cblxuICBjb25zdCByb3V0ZXIgPSB1c2VSb3V0ZXIoKVxuICBjb25zdCBbZW1haWwsIHNldEVtYWlsXSA9IHVzZVN0YXRlKHJlc29sdmVkUHJlZmlsbC5lbWFpbCA/PyAnJylcblxuICBjb25zdCBhdXRoQ2xpZW50ID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgY3JlYXRlQXV0aENsaWVudCh7XG4gICAgICAgIGJhc2VVUkwsXG4gICAgICAgIGJhc2VQYXRoLFxuICAgICAgICBwbHVnaW5zOiBbXG4gICAgICAgICAgdXNlcm5hbWVDbGllbnQoKSxcbiAgICAgICAgICB0d29GYWN0b3JDbGllbnQoe1xuICAgICAgICAgICAgb25Ud29GYWN0b3JSZWRpcmVjdCgpIHtcbiAgICAgICAgICAgICAgcm91dGVyLnB1c2goYCR7cmVkaXJlY3RVcmwuc3BsaXQoJz8nKVswXX0ke2FkbWluUm91dGVzLnR3b0ZhY3RvclZlcmlmeX0/cmVkaXJlY3Q9JHtyZWRpcmVjdFVybH1gKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pLFxuICAgICAgICAgIC4uLihoYXNQYXNza2V5UGx1Z2luID8gW3Bhc3NrZXlDbGllbnQoKV0gOiBbXSksXG4gICAgICAgICAgLi4uKGhhc01hZ2ljTGlua1BsdWdpbiB8fCBsb2dpbk1ldGhvZHMuaW5jbHVkZXMoJ21hZ2ljTGluaycpID8gW21hZ2ljTGlua0NsaWVudCgpXSA6IFtdKVxuICAgICAgICBdXG4gICAgICB9KSxcbiAgICBbYmFzZVVSTCwgYmFzZVBhdGgsIGhhc01hZ2ljTGlua1BsdWdpbiwgaGFzUGFzc2tleVBsdWdpbiwgbG9naW5NZXRob2RzLCByZWRpcmVjdFVybCwgcm91dGVyXVxuICApXG5cbiAgY29uc3QgY2FuTG9naW5XaXRoRW1haWwgPSBsb2dpbklkZW50aWZpZXJzLmluY2x1ZGVzKCdlbWFpbCcpXG4gIGNvbnN0IGNhbkxvZ2luV2l0aFVzZXJuYW1lID0gbG9naW5JZGVudGlmaWVycy5pbmNsdWRlcygndXNlcm5hbWUnKVxuXG4gIGNvbnN0IGxvZ2luVHlwZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChjYW5Mb2dpbldpdGhFbWFpbCAmJiBjYW5Mb2dpbldpdGhVc2VybmFtZSAmJiBoYXNVc2VybmFtZVBsdWdpbikgcmV0dXJuICdlbWFpbE9yVXNlcm5hbWUnXG4gICAgaWYgKGNhbkxvZ2luV2l0aFVzZXJuYW1lICYmIGhhc1VzZXJuYW1lUGx1Z2luKSByZXR1cm4gJ3VzZXJuYW1lJ1xuICAgIHJldHVybiAnZW1haWwnXG4gIH0sIFtjYW5Mb2dpbldpdGhFbWFpbCwgY2FuTG9naW5XaXRoVXNlcm5hbWUsIGhhc1VzZXJuYW1lUGx1Z2luXSlcblxuICBjb25zdCBoYXNNZXRob2QgPSAobWV0aG9kOiBMb2dpbk1ldGhvZCkgPT4gbG9naW5NZXRob2RzLmluY2x1ZGVzKG1ldGhvZClcbiAgY29uc3QgYWx0ZXJuYXRpdmVNZXRob2RzID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgbG9naW5NZXRob2RzLmZpbHRlcigobSkgPT4ge1xuICAgICAgICBpZiAobSA9PT0gJ2VtYWlsUGFzc3dvcmQnKSByZXR1cm4gZmFsc2VcbiAgICAgICAgaWYgKGlzU2lnbnVwICYmIChtID09PSAncGFzc2tleScgfHwgbSA9PT0gJ21hZ2ljTGluaycpKSByZXR1cm4gZmFsc2VcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH0pLFxuICAgIFtsb2dpbk1ldGhvZHMsIGlzU2lnbnVwXVxuICApXG4gIGNvbnN0IHNob3dJY29uT25seSA9IGFsdGVybmF0aXZlTWV0aG9kcy5sZW5ndGggPj0gM1xuXG4gIGNvbnN0IHZhbHVlOiBMb2dpbkZvcm1Db250ZXh0VmFsdWUgPSB7XG4gICAgbG9naW5NZXRob2RzLFxuICAgIGVtYWlsLFxuICAgIHNldEVtYWlsLFxuICAgIHJlZGlyZWN0VXJsLFxuICAgIGlzU2lnbnVwLFxuICAgIGF1dGhDbGllbnQsXG4gICAgbG9naW5UeXBlLFxuICAgIGhhc01ldGhvZCxcbiAgICBhbHRlcm5hdGl2ZU1ldGhvZHMsXG4gICAgc2hvd0ljb25Pbmx5LFxuICAgIGFkbWluSW52aXRlVG9rZW4sXG4gICAgbmV3VXNlckNhbGxiYWNrVVJMLFxuICAgIHByZWZpbGw6IHtcbiAgICAgIGVtYWlsOiByZXNvbHZlZFByZWZpbGwuZW1haWwsXG4gICAgICBwYXNzd29yZDogcmVzb2x2ZWRQcmVmaWxsLnBhc3N3b3JkLFxuICAgICAgdXNlcm5hbWU6IHJlc29sdmVkUHJlZmlsbC51c2VybmFtZVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiA8TG9naW5Gb3JtQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17dmFsdWV9PntjaGlsZHJlbn08L0xvZ2luRm9ybUNvbnRleHQuUHJvdmlkZXI+XG59XG5cbmV4cG9ydCBjb25zdCB1c2VMb2dpbkZvcm0gPSAoKSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KExvZ2luRm9ybUNvbnRleHQpXG4gIGlmICghY29udGV4dCkge1xuICAgIHRocm93IG5ldyBFcnJvcigndXNlTG9naW5Gb3JtIG11c3QgYmUgdXNlZCB3aXRoaW4gYSBMb2dpbkZvcm1Qcm92aWRlcicpXG4gIH1cbiAgcmV0dXJuIGNvbnRleHRcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsImNyZWF0ZUNvbnRleHQiLCJ1c2VDb250ZXh0IiwidXNlTWVtbyIsInVzZVN0YXRlIiwiY3JlYXRlQXV0aENsaWVudCIsInVzZXJuYW1lQ2xpZW50IiwidHdvRmFjdG9yQ2xpZW50IiwibWFnaWNMaW5rQ2xpZW50IiwicGFzc2tleUNsaWVudCIsInVzZVJvdXRlciIsImFkbWluUm91dGVzIiwiTG9naW5Gb3JtQ29udGV4dCIsIkxvZ2luRm9ybVByb3ZpZGVyIiwiY2hpbGRyZW4iLCJsb2dpbk1ldGhvZHMiLCJyZWRpcmVjdFVybCIsImJhc2VVUkwiLCJiYXNlUGF0aCIsImlzU2lnbnVwIiwibG9naW5JZGVudGlmaWVycyIsInBsdWdpbnMiLCJwcmVmaWxsIiwiYWRtaW5JbnZpdGVUb2tlbiIsIm5ld1VzZXJDYWxsYmFja1VSTCIsInVzZXJuYW1lIiwiaGFzVXNlcm5hbWVQbHVnaW4iLCJwYXNza2V5IiwiaGFzUGFzc2tleVBsdWdpbiIsIm1hZ2ljTGluayIsImhhc01hZ2ljTGlua1BsdWdpbiIsInJlc29sdmVkUHJlZmlsbCIsInJvdXRlciIsImVtYWlsIiwic2V0RW1haWwiLCJhdXRoQ2xpZW50Iiwib25Ud29GYWN0b3JSZWRpcmVjdCIsInB1c2giLCJzcGxpdCIsInR3b0ZhY3RvclZlcmlmeSIsImluY2x1ZGVzIiwiY2FuTG9naW5XaXRoRW1haWwiLCJjYW5Mb2dpbldpdGhVc2VybmFtZSIsImxvZ2luVHlwZSIsImhhc01ldGhvZCIsIm1ldGhvZCIsImFsdGVybmF0aXZlTWV0aG9kcyIsImZpbHRlciIsIm0iLCJzaG93SWNvbk9ubHkiLCJsZW5ndGgiLCJ2YWx1ZSIsInBhc3N3b3JkIiwiUHJvdmlkZXIiLCJ1c2VMb2dpbkZvcm0iLCJjb250ZXh0IiwiRXJyb3IiXSwibWFwcGluZ3MiOiJBQUFBOztBQUdBLE9BQU9BLFNBQVNDLGFBQWEsRUFBRUMsVUFBVSxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsUUFBUSxRQUFPO0FBQzNFLFNBQVNDLGdCQUFnQixRQUFRLG9CQUFtQjtBQUNwRCxTQUFT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
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import './index.scss';
3
+ export declare const CredentialsForm: React.FC;
4
+ //# sourceMappingURL=credentials-form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials-form.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/payload/components/login-form/credentials-form.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAyHnC,CAAA"}
@@ -0,0 +1,167 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { adminRoutes } from "../../../constants";
4
+ import { useAppForm } from "../../../../../shared/form";
5
+ import { Form, FormError, FormInputWrap } from "../../../../../shared/form/ui";
6
+ import { FormHeader } from "../../../../../shared/form/ui/header";
7
+ import { createLoginSchema, isValidEmail } from "../../../../../shared/form/validation";
8
+ import { valueOrDefaultString } from "../../../../../shared/utils/value-or-default";
9
+ import { useConfig, Link, toast, useTranslation } from "@payloadcms/ui";
10
+ import { formatAdminURL } from "payload/shared";
11
+ import React, { useState } from "react";
12
+ import { useLoginForm } from "./context";
13
+ import "./index.scss";
14
+ const baseClass = 'login__form';
15
+ export const CredentialsForm = ()=>{
16
+ const { config } = useConfig();
17
+ const { t } = useTranslation();
18
+ const { authClient, loginType, hasMethod, setEmail, redirectUrl, prefill } = useLoginForm();
19
+ const adminRoute = valueOrDefaultString(config?.routes?.admin, '/admin');
20
+ const hasEmailPassword = hasMethod('emailPassword');
21
+ const hasMagicLink = hasMethod('magicLink');
22
+ const showEmailField = hasEmailPassword || hasMagicLink;
23
+ const showPasswordField = hasEmailPassword;
24
+ const [requireEmailVerification, setRequireEmailVerification] = useState(false);
25
+ const [searchParamError] = useState(()=>{
26
+ if (typeof window !== 'undefined') {
27
+ const params = new URLSearchParams(window.location.search);
28
+ return params.get('error');
29
+ }
30
+ return null;
31
+ });
32
+ const forgotPasswordUrl = formatAdminURL({
33
+ adminRoute,
34
+ path: adminRoutes?.forgotPassword
35
+ });
36
+ const loginSchema = createLoginSchema({
37
+ t,
38
+ loginType,
39
+ canLoginWithUsername: loginType !== 'email'
40
+ });
41
+ const form = useAppForm({
42
+ defaultValues: {
43
+ login: prefill.email ?? prefill.username ?? '',
44
+ password: prefill.password ?? ''
45
+ },
46
+ onSubmit: async ({ value })=>{
47
+ if (!showPasswordField) return;
48
+ const { login, password } = value;
49
+ const isEmail = isValidEmail(login);
50
+ console.log(value);
51
+ try {
52
+ const { data, error } = await (loginType === 'email' || loginType === 'emailOrUsername' && isEmail ? authClient.signIn.email({
53
+ email: login,
54
+ password,
55
+ callbackURL: redirectUrl
56
+ }) : authClient.signIn.username({
57
+ username: login,
58
+ password
59
+ }));
60
+ if (error) {
61
+ if (error.code === 'EMAIL_NOT_VERIFIED') {
62
+ setRequireEmailVerification(true);
63
+ }
64
+ if (error.message) {
65
+ toast.error(error.message.charAt(0).toUpperCase() + error.message.slice(1));
66
+ }
67
+ }
68
+ if (data?.token) {
69
+ toast.success(t('general:success'));
70
+ window.location.href = redirectUrl;
71
+ }
72
+ } catch {
73
+ toast.error(t('error:unknown') || 'An unexpected error occurred');
74
+ }
75
+ },
76
+ validators: showPasswordField ? {
77
+ onSubmit: loginSchema
78
+ } : undefined
79
+ });
80
+ if (!showEmailField) return null;
81
+ if (requireEmailVerification) {
82
+ return /*#__PURE__*/ _jsx(FormHeader, {
83
+ heading: "Please verify your email",
84
+ description: t('authentication:emailSent'),
85
+ style: {
86
+ textAlign: 'center'
87
+ }
88
+ });
89
+ }
90
+ const getLoginTypeLabel = ()=>{
91
+ const labels = {
92
+ email: t('general:email') || 'Email',
93
+ username: t('authentication:username') || 'Username',
94
+ emailOrUsername: t('authentication:emailOrUsername') || 'Email or Username'
95
+ };
96
+ return labels[loginType];
97
+ };
98
+ return /*#__PURE__*/ _jsxs("div", {
99
+ className: `${baseClass}__wrapper`,
100
+ children: [
101
+ searchParamError === 'signup_disabled' && /*#__PURE__*/ _jsx(FormError, {
102
+ errors: [
103
+ 'Sign up is disabled.'
104
+ ]
105
+ }),
106
+ /*#__PURE__*/ _jsxs(Form, {
107
+ className: baseClass,
108
+ onSubmit: (e)=>{
109
+ e.preventDefault();
110
+ if (showPasswordField) {
111
+ void form.handleSubmit();
112
+ }
113
+ },
114
+ children: [
115
+ /*#__PURE__*/ _jsxs(FormInputWrap, {
116
+ className: baseClass,
117
+ children: [
118
+ /*#__PURE__*/ _jsx(form.AppField, {
119
+ name: "login",
120
+ children: (field)=>/*#__PURE__*/ _jsx(field.TextField, {
121
+ type: "text",
122
+ className: "email",
123
+ autoComplete: "email",
124
+ label: getLoginTypeLabel(),
125
+ onValueChange: setEmail
126
+ })
127
+ }),
128
+ showPasswordField && /*#__PURE__*/ _jsx(form.AppField, {
129
+ name: "password",
130
+ children: (field)=>/*#__PURE__*/ _jsx(field.TextField, {
131
+ type: "password",
132
+ className: "password",
133
+ autoComplete: "password",
134
+ label: t('general:password')
135
+ })
136
+ })
137
+ ]
138
+ }),
139
+ showPasswordField && /*#__PURE__*/ _jsxs(_Fragment, {
140
+ children: [
141
+ /*#__PURE__*/ _jsx(Link, {
142
+ href: forgotPasswordUrl,
143
+ prefetch: false,
144
+ children: t('authentication:forgotPasswordQuestion')
145
+ }),
146
+ /*#__PURE__*/ _jsx("button", {
147
+ type: "submit",
148
+ style: {
149
+ display: 'none'
150
+ },
151
+ tabIndex: -1
152
+ }),
153
+ /*#__PURE__*/ _jsx(form.AppForm, {
154
+ children: /*#__PURE__*/ _jsx(form.Submit, {
155
+ label: t('authentication:login'),
156
+ loadingLabel: t('general:loading')
157
+ })
158
+ })
159
+ ]
160
+ })
161
+ ]
162
+ })
163
+ ]
164
+ });
165
+ };
166
+
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC9jb21wb25lbnRzL2xvZ2luLWZvcm0vY3JlZGVudGlhbHMtZm9ybS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB7IGFkbWluUm91dGVzIH0gZnJvbSAnQC9iZXR0ZXItYXV0aC9wbHVnaW4vY29uc3RhbnRzJ1xuaW1wb3J0IHsgdXNlQXBwRm9ybSB9IGZyb20gJ0Avc2hhcmVkL2Zvcm0nXG5pbXBvcnQgeyBGb3JtLCBGb3JtRXJyb3IsIEZvcm1JbnB1dFdyYXAgfSBmcm9tICdAL3NoYXJlZC9mb3JtL3VpJ1xuaW1wb3J0IHsgRm9ybUhlYWRlciB9IGZyb20gJ0Avc2hhcmVkL2Zvcm0vdWkvaGVhZGVyJ1xuaW1wb3J0IHsgY3JlYXRlTG9naW5TY2hlbWEsIGlzVmFsaWRFbWFpbCB9IGZyb20gJ0Avc2hhcmVkL2Zvcm0vdmFsaWRhdGlvbidcbmltcG9ydCB7IHZhbHVlT3JEZWZhdWx0U3RyaW5nIH0gZnJvbSAnQC9zaGFyZWQvdXRpbHMvdmFsdWUtb3ItZGVmYXVsdCdcbmltcG9ydCB7IHVzZUNvbmZpZywgTGluaywgdG9hc3QsIHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAnQHBheWxvYWRjbXMvdWknXG5pbXBvcnQgeyBmb3JtYXRBZG1pblVSTCB9IGZyb20gJ3BheWxvYWQvc2hhcmVkJ1xuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VMb2dpbkZvcm0gfSBmcm9tICcuL2NvbnRleHQnXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcblxuY29uc3QgYmFzZUNsYXNzID0gJ2xvZ2luX19mb3JtJ1xuXG5leHBvcnQgY29uc3QgQ3JlZGVudGlhbHNGb3JtOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgeyBjb25maWcgfSA9IHVzZUNvbmZpZygpXG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKVxuICBjb25zdCB7IGF1dGhDbGllbnQsIGxvZ2luVHlwZSwgaGFzTWV0aG9kLCBzZXRFbWFpbCwgcmVkaXJlY3RVcmwsIHByZWZpbGwgfSA9IHVzZUxvZ2luRm9ybSgpXG4gIGNvbnN0IGFkbWluUm91dGUgPSB2YWx1ZU9yRGVmYXVsdFN0cmluZyhjb25maWc/LnJvdXRlcz8uYWRtaW4sICcvYWRtaW4nKVxuXG4gIGNvbnN0IGhhc0VtYWlsUGFzc3dvcmQgPSBoYXNNZXRob2QoJ2VtYWlsUGFzc3dvcmQnKVxuICBjb25zdCBoYXNNYWdpY0xpbmsgPSBoYXNNZXRob2QoJ21hZ2ljTGluaycpXG4gIGNvbnN0IHNob3dFbWFpbEZpZWxkID0gaGFzRW1haWxQYXNzd29yZCB8fCBoYXNNYWdpY0xpbmtcbiAgY29uc3Qgc2hvd1Bhc3N3b3JkRmllbGQgPSBoYXNFbWFpbFBhc3N3b3JkXG5cbiAgY29uc3QgW3JlcXVpcmVFbWFpbFZlcmlmaWNhdGlvbiwgc2V0UmVxdWlyZUVtYWlsVmVyaWZpY2F0aW9uXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbc2VhcmNoUGFyYW1FcnJvcl0gPSB1c2VTdGF0ZSgoKSA9PiB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpXG4gICAgICByZXR1cm4gcGFyYW1zLmdldCgnZXJyb3InKVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9KVxuXG4gIGNvbnN0IGZvcmdvdFBhc3N3b3JkVXJsID0gZm9ybWF0QWRtaW5VUkwoe1xuICAgIGFkbWluUm91dGUsXG4gICAgcGF0aDogYWRtaW5Sb3V0ZXM/LmZvcmdvdFBhc3N3b3JkIGFzIGAvJHtzdHJpbmd9YFxuICB9KVxuXG4gIGNvbnN0IGxvZ2luU2NoZW1hID0gY3JlYXRlTG9naW5TY2hlbWEoeyB0LCBsb2dpblR5cGUsIGNhbkxvZ2luV2l0aFVzZXJuYW1lOiBsb2dpblR5cGUgIT09ICdlbWFpbCcgfSlcblxuICBjb25zdCBmb3JtID0gdXNlQXBwRm9ybSh7XG4gICAgZGVmYXVsdFZhbHVlczoge1xuICAgICAgbG9naW46IHByZWZpbGwuZW1haWwgPz8gcHJlZmlsbC51c2VybmFtZSA/PyAnJyxcbiAgICAgIHBhc3N3b3JkOiBwcmVmaWxsLnBhc3N3b3JkID8/ICcnXG4gICAgfSxcbiAgICBvblN1Ym1pdDogYXN5bmMgKHsgdmFsdWUgfSkgPT4ge1xuICAgICAgaWYgKCFzaG93UGFzc3dvcmRGaWVsZCkgcmV0dXJuXG5cbiAgICAgIGNvbnN0IHsgbG9naW4sIHBhc3N3b3JkIH0gPSB2YWx1ZVxuICAgICAgY29uc3QgaXNFbWFpbCA9IGlzVmFsaWRFbWFpbChsb2dpbilcbiAgICAgIGNvbnNvbGUubG9nKHZhbHVlKVxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBkYXRhLCBlcnJvciB9ID0gYXdhaXQgKGxvZ2luVHlwZSA9PT0gJ2VtYWlsJyB8fCAobG9naW5UeXBlID09PSAnZW1haWxPclVzZXJuYW1lJyAmJiBpc0VtYWlsKVxuICAgICAgICAgID8gYXV0aENsaWVudC5zaWduSW4uZW1haWwoeyBlbWFpbDogbG9naW4sIHBhc3N3b3JkLCBjYWxsYmFja1VSTDogcmVkaXJlY3RVcmwgfSlcbiAgICAgICAgICA6IGF1dGhDbGllbnQuc2lnbkluLnVzZXJuYW1lKHsgdXNlcm5hbWU6IGxvZ2luLCBwYXNzd29yZCB9KSlcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgaWYgKGVycm9yLmNvZGUgPT09ICdFTUFJTF9OT1RfVkVSSUZJRUQnKSB7XG4gICAgICAgICAgICBzZXRSZXF1aXJlRW1haWxWZXJpZmljYXRpb24odHJ1ZSlcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGVycm9yLm1lc3NhZ2UpIHtcbiAgICAgICAgICAgIHRvYXN0LmVycm9yKGVycm9yLm1lc3NhZ2UuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBlcnJvci5tZXNzYWdlLnNsaWNlKDEpKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZGF0YT8udG9rZW4pIHtcbiAgICAgICAgICB0b2FzdC5zdWNjZXNzKHQoJ2dlbmVyYWw6c3VjY2VzcycpKVxuICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gcmVkaXJlY3RVcmxcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHRvYXN0LmVycm9yKHQoJ2Vycm9yOnVua25vd24nKSB8fCAnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cnJlZCcpXG4gICAgICB9XG4gICAgfSxcbiAgICB2YWxpZGF0b3JzOiBzaG93UGFzc3dvcmRGaWVsZCA/IHsgb25TdWJtaXQ6IGxvZ2luU2NoZW1hIH0gOiB1bmRlZmluZWRcbiAgfSlcblxuICBpZiAoIXNob3dFbWFpbEZpZWxkKSByZXR1cm4gbnVsbFxuXG4gIGlmIChyZXF1aXJlRW1haWxWZXJpZmljYXRpb24pIHtcbiAgICByZXR1cm4gPEZvcm1IZWFkZXIgaGVhZGluZz1cIlBsZWFzZSB2ZXJpZnkgeW91ciBlbWFpbFwiIGRlc2NyaXB0aW9uPXt0KCdhdXRoZW50aWNhdGlvbjplbWFpbFNlbnQnKX0gc3R5bGU9e3sgdGV4dEFsaWduOiAnY2VudGVyJyB9fSAvPlxuICB9XG5cbiAgY29uc3QgZ2V0TG9naW5UeXBlTGFiZWwgPSAoKSA9PiB7XG4gICAgY29uc3QgbGFiZWxzID0ge1xuICAgICAgZW1haWw6IHQoJ2dlbmVyYWw6ZW1haWwnKSB8fCAnRW1haWwnLFxuICAgICAgdXNlcm5hbWU6IHQoJ2F1dGhlbnRpY2F0aW9uOnVzZXJuYW1lJykgfHwgJ1VzZXJuYW1lJyxcbiAgICAgIGVtYWlsT3JVc2VybmFtZTogdCgnYXV0aGVudGljYXRpb246ZW1haWxPclVzZXJuYW1lJykgfHwgJ0VtYWlsIG9yIFVzZXJuYW1lJ1xuICAgIH1cbiAgICByZXR1cm4gbGFiZWxzW2xvZ2luVHlwZV1cbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3dyYXBwZXJgfT5cbiAgICAgIHtzZWFyY2hQYXJhbUVycm9yID09PSAnc2lnbnVwX2Rpc2FibGVkJyAmJiA8Rm9ybUVycm9yIGVycm9ycz17WydTaWduIHVwIGlzIGRpc2FibGVkLiddfSAvPn1cbiAgICAgIDxGb3JtXG4gICAgICAgIGNsYXNzTmFtZT17YmFzZUNsYXNzfVxuICAgICAgICBvblN1Ym1pdD17KGUpID0+IHtcbiAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICBpZiAoc2hvd1Bhc3N3b3JkRmllbGQpIHtcbiAgICAgICAgICAgIHZvaWQgZm9ybS5oYW5kbGVTdWJtaXQoKVxuICAgICAgICAgIH1cbiAgICAgICAgfX0+XG4gICAgICAgIDxGb3JtSW5wdXRXcmFwIGNsYXNzTmFtZT17YmFzZUNsYXNzfT5cbiAgICAgICAgICA8Zm9ybS5BcHBGaWVsZFxuICAgICAgICAgICAgbmFtZT1cImxvZ2luXCJcbiAgICAgICAgICAgIGNoaWxkcmVuPXsoZmllbGQpID0+IChcbiAgICAgICAgICAgICAgPGZpZWxkLlRleHRGaWVsZFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJlbWFpbFwiXG4gICAgICAgICAgICAgICAgYXV0b0NvbXBsZXRlPVwiZW1haWxcIlxuICAgICAgICAgICAgICAgIGxhYmVsPXtnZXRMb2dpblR5cGVMYWJlbCgpfVxuICAgICAgICAgICAgICAgIG9uVmFsdWVDaGFuZ2U9e3NldEVtYWlsfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtzaG93UGFzc3dvcmRGaWVsZCAmJiAoXG4gICAgICAgICAgICA8Zm9ybS5BcHBGaWVsZFxuICAgICAgICAgICAgICBuYW1lPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgICBjaGlsZHJlbj17KGZpZWxkKSA9PiAoXG4gICAgICAgICAgICAgICAgPGZpZWxkLlRleHRGaWVsZCB0eXBlPVwicGFzc3dvcmRcIiBjbGFzc05hbWU9XCJwYXNzd29yZFwiIGF1dG9Db21wbGV0ZT1cInBhc3N3b3JkXCIgbGFiZWw9e3QoJ2dlbmVyYWw6cGFzc3dvcmQnKX0gLz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Gb3JtSW5wdXRXcmFwPlxuICAgICAgICB7c2hvd1Bhc3N3b3JkRmllbGQgJiYgKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8TGluayBocmVmPXtmb3Jnb3RQYXNzd29yZFVybH0gcHJlZmV0Y2g9e2ZhbHNlfT5cbiAgICAgICAgICAgICAge3QoJ2F1dGhlbnRpY2F0aW9uOmZvcmdvdFBhc3N3b3JkUXVlc3Rpb24nKX1cbiAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIHN0eWxlPXt7IGRpc3BsYXk6ICdub25lJyB9fSB0YWJJbmRleD17LTF9IC8+XG4gICAgICAgICAgICA8Zm9ybS5BcHBGb3JtIGNoaWxkcmVuPXs8Zm9ybS5TdWJtaXQgbGFiZWw9e3QoJ2F1dGhlbnRpY2F0aW9uOmxvZ2luJyl9IGxvYWRpbmdMYWJlbD17dCgnZ2VuZXJhbDpsb2FkaW5nJyl9IC8+fSAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApfVxuICAgICAgPC9Gb3JtPlxuICAgIDwvZGl2PlxuICApXG59XG5cbiJdLCJuYW1lcyI6WyJhZG1pblJvdXRlcyIsInVzZUFwcEZvcm0iLCJGb3JtIiwiRm9ybUVycm9yIiwiRm9ybUlucHV0V3JhcCIsIkZvcm1IZWFkZXIiLCJjcmVhdGVMb2dpblNjaGVtYSIsImlzVmFsaWRFbWFpbCIsInZhbHVlT3JEZWZhdWx0U3RyaW5nIiwidXNlQ29uZmlnIiwiTGluayIsInRvYXN0IiwidXNlVHJhbnNsYXRpb24iLCJmb3JtYXRBZG1pblVSTCIsIlJlYWN0IiwidXNlU3RhdGUiLCJ1c2VMb2dpbkZvcm0iLCJiYXNlQ2xhc3MiLCJDcmVkZW50aWFsc0Zvcm0iLCJjb25maWciLCJ0IiwiYXV0aENsaWVudCIsImxvZ2luVHlwZSIsImhhc01ldGhvZCIsInNldEVtYWlsIiwicmVkaXJlY3RVcmwiLCJwcmVmaWxsIiwiYWRtaW5Sb3V0ZSIsInJvdXRlcyIsImFkbWluIiwiaGFzRW1haWxQYXNzd29yZCIsImhhc01hZ2ljTGluayIsInNob3dFbWFpbEZpZWxkIiwic2hvd1Bhc3N3b3JkRmllbGQiLCJyZXF1aXJlRW1haWxWZXJpZmljYXRpb24iLCJzZXRSZXF1aXJlRW1haWxWZXJpZmljYXRpb24iLCJzZWFyY2hQYXJhbUVycm9yIiwid2luZG93IiwicGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwibG9jYXRpb24iLCJzZWFyY2giLCJnZXQiLCJmb3Jnb3RQYXNzd29yZFVybCIsInBhdGgiLCJmb3Jnb3RQYXNzd29yZCIsImxvZ2luU2NoZW1hIiwiY2FuTG9naW5XaXRoVXNlcm5hbWUiLCJmb3JtIiwiZGVmYXVsdFZhbHVlcyIsImxvZ2luIiwiZW1haWwiLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwib25TdWJtaXQiLCJ2YWx1ZSIsImlzRW1haWwiLCJjb25zb2xlIiwibG9nIiwiZGF0YSIsImVycm9yIiwic2lnbkluIiwiY2FsbGJhY2tVUkwiLCJjb2RlIiwibWVzc2FnZSIsImNoYXJBdCIsInRvVXBwZXJDYXNlIiwic2xpY2UiLCJ0b2tlbiIsInN1Y2Nlc3MiLCJocmVmIiwidmFsaWRhdG9ycyIsInVuZGVmaW5lZCIsImhlYWRpbmciLCJkZXNjcmlwdGlvbiIsInN0eWxlIiwidGV4dEFsaWduIiwiZ2V0TG9naW5UeXBlTGFiZWwiLCJsYWJlbHMiLCJlbWFpbE9yVXNlcm5hbWUiLCJkaXYiLCJjbGFzc05hbWUiLCJlcnJvcnMiLCJlIiwicHJldmVudERlZmF1bHQiLCJoYW5kbGVTdWJtaXQiLCJBcHBGaWVsZCIsIm5hbWUiLCJjaGlsZHJlbiIsImZpZWxkIiwiVGV4dEZpZWxkIiwidHlwZSIsImF1dG9Db21wbGV0ZSIsImxhYmVsIiwib25WYWx1ZUNoYW5nZSIsInByZWZldGNoIiwiYnV0dG9uIiwiZGlzcGxheSIsInRhYkluZGV4IiwiQXBwRm9ybSIsIlN1Ym1pdCIsImxvYWRpbmdMYWJlbCJdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUEsU0FBU0EsV0FBVyxRQUFRLHFCQUFnQztBQUM1RCxTQUFTQyxVQUFVLFFBQVEsNkJBQWU7QUFDMUMsU0FBU0MsSUFBSSxFQUFFQyxTQUFTLEVBQUVDLGFBQWEsUUFBUSxnQ0FBa0I7QUFDakUsU0FBU0MsVUFBVSxRQUFRLHVDQUF5QjtBQUNwRCxTQUFTQyxpQkFBaUIsRUFBRUMsWUFBWSxRQUFRLHdDQUEwQjtBQUMxRSxTQUFTQyxvQkFBb0IsUUFBUSwrQ0FBaUM7QUFDdEUsU0FBU0MsU0FBUyxFQUFFQyxJQUFJLEVBQUVDLEtBQUssRUFBRUMsY0FBYyxRQUFRLGlCQUFnQjtBQUN2RSxTQUFTQyxjQUFjLFFBQVEsaUJBQWdCO0FBQy9DLE9BQU9DLFNBQVNDLFFBQVEsUUFBUSxRQUFPO0FBQ3ZDLFNBQVNDLFlBQVksUUFBUSxZQUFXO0FBQ3hDLE9BQU8sZUFBYztBQUVyQixNQUFNQyxZQUFZO0FBRWxCLE9BQU8sTUFBTUMsa0JBQTRCO0lBQ3ZDLE1BQU0sRUFBRUMsTUFBTSxFQUFFLEdBQUdWO0lBQ25CLE1BQU0sRUFBRVcsQ0FBQyxFQUFFLEdBQUdSO0lBQ2QsTUFBTSxFQUFFUyxVQUFVLEVBQUVDLFNBQVMsRUFBRUMsU0FBUyxFQUFFQyxRQUFRLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFLEdBQUdWO0lBQzdFLE1BQU1XLGFBQWFuQixxQkFBcUJXLFFBQVFTLFFBQVFDLE9BQU87SUFFL0QsTUFBTUMsbUJBQW1CUCxVQUFVO0lBQ25DLE1BQU1RLGVBQWVSLFVBQVU7SUFDL0IsTUFBTVMsaUJBQWlCRixvQkFBb0JDO0lBQzNDLE1BQU1FLG9CQUFvQkg7SUFFMUIsTUFBTSxDQUFDSSwwQkFBMEJDLDRCQUE0QixHQUFHcEIsU0FBUztJQUN6RSxNQUFNLENBQUNxQixpQkFBaUIsR0FBR3JCLFNB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
@@ -0,0 +1,4 @@
1
+ export { LoginFormProvider, useLoginForm, type LoginFormProviderProps } from './context';
2
+ export { CredentialsForm } from './credentials-form';
3
+ export { AlternativeMethods } from './alternative-methods';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/payload/components/login-form/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAA;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA"}
@@ -0,0 +1,6 @@
1
+ 'use client';
2
+ export { LoginFormProvider, useLoginForm } from "./context";
3
+ export { CredentialsForm } from "./credentials-form";
4
+ export { AlternativeMethods } from "./alternative-methods";
5
+
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC9jb21wb25lbnRzL2xvZ2luLWZvcm0vaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5leHBvcnQgeyBMb2dpbkZvcm1Qcm92aWRlciwgdXNlTG9naW5Gb3JtLCB0eXBlIExvZ2luRm9ybVByb3ZpZGVyUHJvcHMgfSBmcm9tICcuL2NvbnRleHQnXG5leHBvcnQgeyBDcmVkZW50aWFsc0Zvcm0gfSBmcm9tICcuL2NyZWRlbnRpYWxzLWZvcm0nXG5leHBvcnQgeyBBbHRlcm5hdGl2ZU1ldGhvZHMgfSBmcm9tICcuL2FsdGVybmF0aXZlLW1ldGhvZHMnXG5cbiJdLCJuYW1lcyI6WyJMb2dpbkZvcm1Qcm92aWRlciIsInVzZUxvZ2luRm9ybSIsIkNyZWRlbnRpYWxzRm9ybSIsIkFsdGVybmF0aXZlTWV0aG9kcyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFFQSxTQUFTQSxpQkFBaUIsRUFBRUMsWUFBWSxRQUFxQyxZQUFXO0FBQ3hGLFNBQVNDLGVBQWUsUUFBUSxxQkFBb0I7QUFDcEQsU0FBU0Msa0JBQWtCLFFBQVEsd0JBQXVCIn0=