payload-auth 1.2.0 → 1.3.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 (61) hide show
  1. package/dist/better-auth/plugin/constants.d.ts +2 -0
  2. package/dist/better-auth/plugin/constants.d.ts.map +1 -1
  3. package/dist/better-auth/plugin/constants.js +30 -1
  4. package/dist/better-auth/plugin/index.d.ts +5 -5
  5. package/dist/better-auth/plugin/index.d.ts.map +1 -1
  6. package/dist/better-auth/plugin/index.js +14 -10
  7. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts.map +1 -1
  8. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.js +17 -1
  9. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.d.ts +10 -0
  10. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.d.ts.map +1 -0
  11. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.js +43 -0
  12. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts.map +1 -1
  13. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.js +6 -1
  14. package/dist/better-auth/plugin/lib/set-login-methods.d.ts +5 -0
  15. package/dist/better-auth/plugin/lib/set-login-methods.d.ts.map +1 -0
  16. package/dist/better-auth/plugin/lib/set-login-methods.js +16 -0
  17. package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts +2 -2
  18. package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts.map +1 -1
  19. package/dist/better-auth/plugin/payload/components/admin-buttons/index.js +2 -3
  20. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts +2 -2
  21. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts.map +1 -1
  22. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.js +2 -3
  23. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.scss +5 -3
  24. package/dist/better-auth/plugin/payload/components/logout-button.d.ts +1 -2
  25. package/dist/better-auth/plugin/payload/components/logout-button.d.ts.map +1 -1
  26. package/dist/better-auth/plugin/payload/components/logout-button.js +2 -3
  27. package/dist/better-auth/plugin/payload/components/social-provider-buttons/index.d.ts +14 -0
  28. package/dist/better-auth/plugin/payload/components/social-provider-buttons/index.d.ts.map +1 -0
  29. package/dist/better-auth/plugin/payload/components/social-provider-buttons/index.js +142 -0
  30. package/dist/better-auth/plugin/payload/components/{admin-social-provider-buttons → social-provider-buttons}/index.scss +1 -1
  31. package/dist/better-auth/plugin/payload/exports/client.d.ts +4 -4
  32. package/dist/better-auth/plugin/payload/exports/client.d.ts.map +1 -1
  33. package/dist/better-auth/plugin/payload/exports/client.js +5 -5
  34. package/dist/better-auth/plugin/payload/views/admin-login/client.d.ts +2 -3
  35. package/dist/better-auth/plugin/payload/views/admin-login/client.d.ts.map +1 -1
  36. package/dist/better-auth/plugin/payload/views/admin-login/client.js +37 -54
  37. package/dist/better-auth/plugin/payload/views/admin-login/index.d.ts.map +1 -1
  38. package/dist/better-auth/plugin/payload/views/admin-login/index.js +3 -4
  39. package/dist/better-auth/plugin/payload/views/admin-signup/client.d.ts +3 -4
  40. package/dist/better-auth/plugin/payload/views/admin-signup/client.d.ts.map +1 -1
  41. package/dist/better-auth/plugin/payload/views/admin-signup/client.js +51 -85
  42. package/dist/better-auth/plugin/payload/views/admin-signup/index.d.ts +0 -1
  43. package/dist/better-auth/plugin/payload/views/admin-signup/index.d.ts.map +1 -1
  44. package/dist/better-auth/plugin/payload/views/admin-signup/index.js +44 -87
  45. package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts.map +1 -1
  46. package/dist/better-auth/plugin/payload/views/forgot-password/client.js +5 -7
  47. package/dist/better-auth/plugin/types.d.ts +23 -14
  48. package/dist/better-auth/plugin/types.d.ts.map +1 -1
  49. package/dist/better-auth/plugin/types.js +1 -1
  50. package/dist/shared/form/ui/index.d.ts +2 -2
  51. package/dist/shared/form/ui/index.d.ts.map +1 -1
  52. package/dist/shared/form/ui/index.js +4 -7
  53. package/dist/shared/form/ui/index.scss +15 -0
  54. package/dist/shared/form/validation.d.ts +103 -0
  55. package/dist/shared/form/validation.d.ts.map +1 -0
  56. package/dist/shared/form/validation.js +108 -0
  57. package/package.json +1 -1
  58. package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.d.ts +0 -14
  59. package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.d.ts.map +0 -1
  60. package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.js +0 -109
  61. package/dist/better-auth/plugin/payload/views/admin-signup/index.scss +0 -29
@@ -1,11 +1,10 @@
1
1
  import React from 'react';
2
- import { SocialProviders } from '../../../types';
2
+ import type { LoginMethod } from '../../../types';
3
3
  import type { LoginWithUsernameOptions } from 'payload';
4
4
  type AdminSignupClientProps = {
5
- token: string;
6
- role: string;
5
+ adminInviteToken: string;
7
6
  userSlug: string;
8
- socialProviders: SocialProviders;
7
+ loginMethods: LoginMethod[];
9
8
  searchParams: {
10
9
  [key: string]: string | string[] | undefined;
11
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/payload/views/admin-signup/client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAShD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAKvD,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,eAAe,CAAA;IAChC,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;IAC9D,iBAAiB,EAAE,KAAK,GAAG,wBAAwB,CAAA;CACpD,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAmK9D,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/payload/views/admin-signup/client.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAmB,MAAM,OAAO,CAAA;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAIjD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AASvD,KAAK,sBAAsB,GAAG;IAC5B,gBAAgB,EAAE,MAAM,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;IAC9D,iBAAiB,EAAE,KAAK,GAAG,wBAAwB,CAAA;CACpD,CAAA;AAwHD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAwC9D,CAAA"}
@@ -1,68 +1,37 @@
1
1
  'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { useConfig, toast, useTranslation } from "@payloadcms/ui";
3
4
  import React, { useState } from "react";
4
- import { z } from "zod";
5
- import { useConfig, useTranslation } from "@payloadcms/ui";
6
- import AdminSocialProviderButtons from "../../components/admin-social-provider-buttons";
5
+ import { AdminSocialProviderButtons } from "../../components/social-provider-buttons";
7
6
  import { getSafeRedirect } from "../../utils/get-safe-redirect";
8
- import { toast } from "@payloadcms/ui";
9
7
  import { adminEndpoints } from "../../../constants";
10
8
  import { useAppForm } from "../../../../../shared/form";
11
- import { emailRegex, usernameRegex } from "../../../../../shared/utils/regex";
12
- import { FormHeader } from "../../../../../shared/form/ui/header";
13
9
  import { Form, FormInputWrap } from "../../../../../shared/form/ui";
10
+ import { FormHeader } from "../../../../../shared/form/ui/header";
11
+ import { createSignupSchema } from "../../../../../shared/form/validation";
14
12
  import { tryCatch } from "../../../../../shared/utils/try-catch";
15
13
  const baseClass = 'admin-signup';
16
- export const AdminSignupClient = ({ token, userSlug, role, searchParams, socialProviders, loginWithUsername })=>{
17
- const { config: { routes: { admin: adminRoute, api: apiRoute }, serverURL } } = useConfig();
14
+ const SignupForm = ({ searchParams, loginWithUsername, requireEmailVerification, setRequireEmailVerification, adminInviteToken })=>{
15
+ const { config: { admin: { user: userSlug }, routes: { admin: adminRoute, api: apiRoute }, serverURL } } = useConfig();
18
16
  const { t } = useTranslation();
19
17
  const redirectUrl = getSafeRedirect(searchParams?.redirect, adminRoute);
20
- const newUserCallbackURL = `${serverURL}${apiRoute}/${userSlug}${adminEndpoints.setAdminRole}?role=${role}&token=${token}&redirect=${redirectUrl}`;
21
- const [requireEmailVerification, setRequireEmailVerification] = useState(false);
22
- const validationMap = {
23
- email: {
24
- isValid: (val)=>emailRegex.test(val),
25
- errorMessage: t('authentication:emailNotValid') || 'Invalid email'
26
- },
27
- username: {
28
- isValid: (val)=>usernameRegex.test(val),
29
- errorMessage: t('authentication:usernameNotValid') || 'Username invalid'
30
- }
31
- };
32
- const signupSchema = z.object({
33
- email: z.string().refine((val)=>validationMap.email.isValid(val), (val)=>({
34
- message: val ? validationMap.email.errorMessage : t('validation:required')
35
- })),
36
- username: loginWithUsername ? z.string().refine((val)=>!val || validationMap.username.isValid(val), (val)=>({
37
- message: val ? validationMap.username.errorMessage : t('validation:required')
38
- })) : z.string().optional(),
39
- password: z.string().min(1, t('validation:required') || 'Password is required'),
40
- confirmPassword: z.string().min(1, t('validation:required') || 'Confirm password is required')
41
- }).refine((data)=>{
42
- // Only validate matching passwords if both fields have values
43
- if (data.password && data.confirmPassword) {
44
- return data.password === data.confirmPassword;
45
- }
46
- // If one or both fields are empty, validation will be handled by the min(1) validators
47
- return true;
48
- }, {
49
- message: t('fields:passwordsDoNotMatch') || 'Passwords do not match',
50
- path: [
51
- 'confirmPassword'
52
- ]
18
+ const requireUsername = Boolean(loginWithUsername && typeof loginWithUsername === 'object' && loginWithUsername.requireUsername);
19
+ const signupSchema = createSignupSchema({
20
+ t,
21
+ requireUsername
53
22
  });
54
23
  const form = useAppForm({
55
24
  defaultValues: {
56
25
  email: '',
26
+ password: '',
27
+ confirmPassword: '',
57
28
  ...loginWithUsername ? {
58
29
  username: ''
59
- } : {},
60
- password: '',
61
- confirmPassword: ''
30
+ } : {}
62
31
  },
63
32
  onSubmit: async ({ value })=>{
64
33
  const { email, username, password } = value;
65
- const { data, error } = await tryCatch(fetch(`${serverURL}${apiRoute}/${userSlug}${adminEndpoints.signup}?token=${token}&redirect=${redirectUrl}`, {
34
+ const { data, error } = await tryCatch(fetch(`${serverURL}${apiRoute}/${userSlug}${adminEndpoints.signup}?token=${adminInviteToken}&redirect=${redirectUrl}`, {
66
35
  method: 'POST',
67
36
  headers: {
68
37
  'Content-Type': 'application/json'
@@ -70,23 +39,21 @@ export const AdminSignupClient = ({ token, userSlug, role, searchParams, socialP
70
39
  body: JSON.stringify({
71
40
  email,
72
41
  username,
73
- password
42
+ password,
43
+ adminInviteToken
74
44
  })
75
- }));
45
+ }).then((res)=>res.json()));
76
46
  if (error) {
77
47
  toast.error(error.message);
48
+ return;
78
49
  }
79
- if (data) {
80
- data.json().then((json)=>{
81
- if (json.requireEmailVerification) {
82
- setRequireEmailVerification(true);
83
- toast.message(json.message);
84
- } else {
85
- toast.success(json.message);
86
- window.location.href = redirectUrl;
87
- }
88
- });
50
+ if (data.requireEmailVerification) {
51
+ setRequireEmailVerification(true);
52
+ toast.success(data.message);
53
+ return;
89
54
  }
55
+ toast.success(data.message);
56
+ window.location.href = redirectUrl;
90
57
  },
91
58
  validators: {
92
59
  onSubmit: signupSchema
@@ -95,7 +62,7 @@ export const AdminSignupClient = ({ token, userSlug, role, searchParams, socialP
95
62
  if (requireEmailVerification) {
96
63
  return /*#__PURE__*/ _jsx(FormHeader, {
97
64
  heading: "Please verify your email",
98
- description: t('authentication:emailSent'),
65
+ description: 'Check your email for a verification link.',
99
66
  style: {
100
67
  textAlign: 'center'
101
68
  }
@@ -108,14 +75,8 @@ export const AdminSignupClient = ({ token, userSlug, role, searchParams, socialP
108
75
  void form.handleSubmit();
109
76
  },
110
77
  children: [
111
- /*#__PURE__*/ _jsx(FormHeader, {
112
- heading: t('general:welcome'),
113
- style: {
114
- textAlign: 'center'
115
- }
116
- }),
117
78
  /*#__PURE__*/ _jsxs(FormInputWrap, {
118
- className: baseClass,
79
+ className: "login__form",
119
80
  children: [
120
81
  /*#__PURE__*/ _jsx(form.AppField, {
121
82
  name: "email",
@@ -134,7 +95,7 @@ export const AdminSignupClient = ({ token, userSlug, role, searchParams, socialP
134
95
  className: "text",
135
96
  autoComplete: "username",
136
97
  label: t('authentication:username'),
137
- required: loginWithUsername.requireUsername ?? false
98
+ required: requireUsername
138
99
  })
139
100
  }),
140
101
  /*#__PURE__*/ _jsx(form.AppField, {
@@ -162,29 +123,34 @@ export const AdminSignupClient = ({ token, userSlug, role, searchParams, socialP
162
123
  label: t('general:create'),
163
124
  loadingLabel: t('general:loading')
164
125
  })
126
+ })
127
+ ]
128
+ });
129
+ };
130
+ export const AdminSignupClient = ({ adminInviteToken, userSlug, searchParams, loginMethods, loginWithUsername })=>{
131
+ const { config: { routes: { admin: adminRoute, api: apiRoute }, serverURL } } = useConfig();
132
+ const [requireEmailVerification, setRequireEmailVerification] = useState(false);
133
+ const redirectUrl = getSafeRedirect(searchParams?.redirect, adminRoute);
134
+ const setAdminRoleCallbackURL = `${serverURL}${apiRoute}/${userSlug}${adminEndpoints.setAdminRole}?token=${adminInviteToken}&redirect=${redirectUrl}`;
135
+ return /*#__PURE__*/ _jsxs(_Fragment, {
136
+ children: [
137
+ loginMethods.includes('emailPassword') && /*#__PURE__*/ _jsx(SignupForm, {
138
+ adminInviteToken: adminInviteToken,
139
+ searchParams: searchParams,
140
+ loginWithUsername: loginWithUsername,
141
+ requireEmailVerification: requireEmailVerification,
142
+ setRequireEmailVerification: setRequireEmailVerification
165
143
  }),
166
- Object.keys(socialProviders || {}).length > 0 && /*#__PURE__*/ _jsx("div", {
167
- style: {
168
- textAlign: 'center',
169
- fontSize: '0.875rem',
170
- textTransform: 'uppercase',
171
- marginTop: '-.5rem',
172
- color: 'var(--theme-elevation-450)',
173
- marginBottom: '1.5rem'
174
- },
175
- children: /*#__PURE__*/ _jsx("span", {
176
- children: "Or sign up with"
177
- })
178
- }),
179
- /*#__PURE__*/ _jsx(AdminSocialProviderButtons, {
180
- allowSignup: true,
181
- socialProviders: socialProviders,
144
+ !requireEmailVerification && /*#__PURE__*/ _jsx(AdminSocialProviderButtons, {
145
+ isSignup: true,
146
+ loginMethods: loginMethods,
147
+ adminInviteToken: adminInviteToken,
182
148
  setLoading: ()=>{},
183
149
  redirectUrl: redirectUrl,
184
- newUserCallbackURL: newUserCallbackURL
150
+ newUserCallbackURL: setAdminRoleCallbackURL
185
151
  })
186
152
  ]
187
153
  });
188
154
  };
189
155
 
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC92aWV3cy9hZG1pbi1zaWdudXAvY2xpZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB6IH0gZnJvbSAnem9kJ1xuaW1wb3J0IHsgdXNlQ29uZmlnLCB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ0BwYXlsb2FkY21zL3VpJ1xuaW1wb3J0IEFkbWluU29jaWFsUHJvdmlkZXJCdXR0b25zIGZyb20gJy4uLy4uL2NvbXBvbmVudHMvYWRtaW4tc29jaWFsLXByb3ZpZGVyLWJ1dHRvbnMnXG5pbXBvcnQgeyBTb2NpYWxQcm92aWRlcnMgfSBmcm9tICcuLi8uLi8uLi90eXBlcydcbmltcG9ydCB7IGdldFNhZmVSZWRpcmVjdCB9IGZyb20gJy4uLy4uL3V0aWxzL2dldC1zYWZlLXJlZGlyZWN0J1xuaW1wb3J0IHsgdG9hc3QgfSBmcm9tICdAcGF5bG9hZGNtcy91aSdcbmltcG9ydCB7IGFkbWluRW5kcG9pbnRzIH0gZnJvbSAnQC9iZXR0ZXItYXV0aC9wbHVnaW4vY29uc3RhbnRzJ1xuaW1wb3J0IHsgdXNlQXBwRm9ybSB9IGZyb20gJ0Avc2hhcmVkL2Zvcm0nXG5pbXBvcnQgeyBlbWFpbFJlZ2V4LCB1c2VybmFtZVJlZ2V4IH0gZnJvbSAnQC9zaGFyZWQvdXRpbHMvcmVnZXgnXG5pbXBvcnQgeyBGb3JtSGVhZGVyIH0gZnJvbSAnQC9zaGFyZWQvZm9ybS91aS9oZWFkZXInXG5pbXBvcnQgeyBGb3JtLCBGb3JtSW5wdXRXcmFwIH0gZnJvbSAnQC9zaGFyZWQvZm9ybS91aSdcblxuaW1wb3J0IHR5cGUgeyBMb2dpbldpdGhVc2VybmFtZU9wdGlvbnMgfSBmcm9tICdwYXlsb2FkJ1xuaW1wb3J0IHsgdHJ5Q2F0Y2ggfSBmcm9tICdAL3NoYXJlZC91dGlscy90cnktY2F0Y2gnXG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdhZG1pbi1zaWdudXAnXG5cbnR5cGUgQWRtaW5TaWdudXBDbGllbnRQcm9wcyA9IHtcbiAgdG9rZW46IHN0cmluZ1xuICByb2xlOiBzdHJpbmdcbiAgdXNlclNsdWc6IHN0cmluZ1xuICBzb2NpYWxQcm92aWRlcnM6IFNvY2lhbFByb3ZpZGVyc1xuICBzZWFyY2hQYXJhbXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW10gfCB1bmRlZmluZWQgfVxuICBsb2dpbldpdGhVc2VybmFtZTogZmFsc2UgfCBMb2dpbldpdGhVc2VybmFtZU9wdGlvbnNcbn1cblxuZXhwb3J0IGNvbnN0IEFkbWluU2lnbnVwQ2xpZW50OiBSZWFjdC5GQzxBZG1pblNpZ251cENsaWVudFByb3BzPiA9ICh7XG4gIHRva2VuLFxuICB1c2VyU2x1ZyxcbiAgcm9sZSxcbiAgc2VhcmNoUGFyYW1zLFxuICBzb2NpYWxQcm92aWRlcnMsXG4gIGxvZ2luV2l0aFVzZXJuYW1lXG59KSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjb25maWc6IHtcbiAgICAgIHJvdXRlczogeyBhZG1pbjogYWRtaW5Sb3V0ZSwgYXBpOiBhcGlSb3V0ZSB9LFxuICAgICAgc2VydmVyVVJMXG4gICAgfVxuICB9ID0gdXNlQ29uZmlnKClcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpXG4gIGNvbnN0IHJlZGlyZWN0VXJsID0gZ2V0U2FmZVJlZGlyZWN0KHNlYXJjaFBhcmFtcz8ucmVkaXJlY3QgYXMgc3RyaW5nLCBhZG1pblJvdXRlKVxuICBjb25zdCBuZXdVc2VyQ2FsbGJhY2tVUkwgPSBgJHtzZXJ2ZXJVUkx9JHthcGlSb3V0ZX0vJHt1c2VyU2x1Z30ke2FkbWluRW5kcG9pbnRzLnNldEFkbWluUm9sZX0/cm9sZT0ke3JvbGV9JnRva2VuPSR7dG9rZW59JnJlZGlyZWN0PSR7cmVkaXJlY3RVcmx9YFxuICBjb25zdCBbcmVxdWlyZUVtYWlsVmVyaWZpY2F0aW9uLCBzZXRSZXF1aXJlRW1haWxWZXJpZmljYXRpb25dID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpXG5cbiAgY29uc3QgdmFsaWRhdGlvbk1hcCA9IHtcbiAgICBlbWFpbDoge1xuICAgICAgaXNWYWxpZDogKHZhbDogc3RyaW5nKSA9PiBlbWFpbFJlZ2V4LnRlc3QodmFsKSxcbiAgICAgIGVycm9yTWVzc2FnZTogdCgnYXV0aGVudGljYXRpb246ZW1haWxOb3RWYWxpZCcpIHx8ICdJbnZhbGlkIGVtYWlsJ1xuICAgIH0sXG4gICAgdXNlcm5hbWU6IHtcbiAgICAgIGlzVmFsaWQ6ICh2YWw6IHN0cmluZykgPT4gdXNlcm5hbWVSZWdleC50ZXN0KHZhbCksXG4gICAgICBlcnJvck1lc3NhZ2U6IHQoJ2F1dGhlbnRpY2F0aW9uOnVzZXJuYW1lTm90VmFsaWQnKSB8fCAnVXNlcm5hbWUgaW52YWxpZCdcbiAgICB9XG4gIH1cblxuICBjb25zdCBzaWdudXBTY2hlbWEgPSB6XG4gICAgLm9iamVjdCh7XG4gICAgICBlbWFpbDogei5zdHJpbmcoKS5yZWZpbmUoXG4gICAgICAgICh2YWwpID0+IHZhbGlkYXRpb25NYXAuZW1haWwuaXNWYWxpZCh2YWwpLFxuICAgICAgICAodmFsKSA9PiAoeyBtZXNzYWdlOiB2YWwgPyB2YWxpZGF0aW9uTWFwLmVtYWlsLmVycm9yTWVzc2FnZSA6IHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKSB9KVxuICAgICAgKSxcbiAgICAgIHVzZXJuYW1lOiBsb2dpbldpdGhVc2VybmFtZVxuICAgICAgICA/IHouc3RyaW5nKCkucmVmaW5lKFxuICAgICAgICAgICAgKHZhbCkgPT4gIXZhbCB8fCB2YWxpZGF0aW9uTWFwLnVzZXJuYW1lLmlzVmFsaWQodmFsKSxcbiAgICAgICAgICAgICh2YWwpID0+ICh7IG1lc3NhZ2U6IHZhbCA/IHZhbGlkYXRpb25NYXAudXNlcm5hbWUuZXJyb3JNZXNzYWdlIDogdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpIH0pXG4gICAgICAgICAgKVxuICAgICAgICA6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICAgIHBhc3N3b3JkOiB6LnN0cmluZygpLm1pbigxLCB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJykgfHwgJ1Bhc3N3b3JkIGlzIHJlcXVpcmVkJyksXG4gICAgICBjb25maXJtUGFzc3dvcmQ6IHouc3RyaW5nKCkubWluKDEsIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKSB8fCAnQ29uZmlybSBwYXNzd29yZCBpcyByZXF1aXJlZCcpXG4gICAgfSlcbiAgICAucmVmaW5lKFxuICAgICAgKGRhdGEpID0+IHtcbiAgICAgICAgLy8gT25seSB2YWxpZGF0ZSBtYXRjaGluZyBwYXNzd29yZHMgaWYgYm90aCBmaWVsZHMgaGF2ZSB2YWx1ZXNcbiAgICAgICAgaWYgKGRhdGEucGFzc3dvcmQgJiYgZGF0YS5jb25maXJtUGFzc3dvcmQpIHtcbiAgICAgICAgICByZXR1cm4gZGF0YS5wYXNzd29yZCA9PT0gZGF0YS5jb25maXJtUGFzc3dvcmRcbiAgICAgICAgfVxuICAgICAgICAvLyBJZiBvbmUgb3IgYm90aCBmaWVsZHMgYXJlIGVtcHR5LCB2YWxpZGF0aW9uIHdpbGwgYmUgaGFuZGxlZCBieSB0aGUgbWluKDEpIHZhbGlkYXRvcnNcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG1lc3NhZ2U6IHQoJ2ZpZWxkczpwYXNzd29yZHNEb05vdE1hdGNoJykgfHwgJ1Bhc3N3b3JkcyBkbyBub3QgbWF0Y2gnLFxuICAgICAgICBwYXRoOiBbJ2NvbmZpcm1QYXNzd29yZCddXG4gICAgICB9XG4gICAgKVxuXG4gIGNvbnN0IGZvcm0gPSB1c2VBcHBGb3JtKHtcbiAgICBkZWZhdWx0VmFsdWVzOiB7XG4gICAgICBlbWFpbDogJycsXG4gICAgICAuLi4obG9naW5XaXRoVXNlcm5hbWUgPyB7IHVzZXJuYW1lOiAnJyB9IDoge30pLFxuICAgICAgcGFzc3dvcmQ6ICcnLFxuICAgICAgY29uZmlybVBhc3N3b3JkOiAnJ1xuICAgIH0sXG4gICAgb25TdWJtaXQ6IGFzeW5jICh7IHZhbHVlIH0pID0+IHtcbiAgICAgIGNvbnN0IHsgZW1haWwsIHVzZXJuYW1lLCBwYXNzd29yZCB9ID0gdmFsdWVcbiAgICAgIGNvbnN0IHsgZGF0YSwgZXJyb3IgfSA9IGF3YWl0IHRyeUNhdGNoKFxuICAgICAgICBmZXRjaChgJHtzZXJ2ZXJVUkx9JHthcGlSb3V0ZX0vJHt1c2VyU2x1Z30ke2FkbWluRW5kcG9pbnRzLnNpZ251cH0/dG9rZW49JHt0b2tlbn0mcmVkaXJlY3Q9JHtyZWRpcmVjdFVybH1gLCB7XG4gICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBlbWFpbCwgdXNlcm5hbWUsIHBhc3N3b3JkIH0pXG4gICAgICAgIH0pXG4gICAgICApXG5cbiAgICAgIGlmIChlcnJvcikge1xuICAgICAgICB0b2FzdC5lcnJvcihlcnJvci5tZXNzYWdlKVxuICAgICAgfVxuXG4gICAgICBpZiAoZGF0YSkge1xuICAgICAgICBkYXRhLmpzb24oKS50aGVuKChqc29uOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAoanNvbi5yZXF1aXJlRW1haWxWZXJpZmljYXRpb24pIHtcbiAgICAgICAgICAgIHNldFJlcXVpcmVFbWFpbFZlcmlmaWNhdGlvbih0cnVlKVxuICAgICAgICAgICAgdG9hc3QubWVzc2FnZShqc29uLm1lc3NhZ2UpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRvYXN0LnN1Y2Nlc3MoanNvbi5tZXNzYWdlKVxuICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSByZWRpcmVjdFVybFxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9LFxuICAgIHZhbGlkYXRvcnM6IHtcbiAgICAgIG9uU3VibWl0OiBzaWdudXBTY2hlbWFcbiAgICB9XG4gIH0pXG5cbiAgaWYgKHJlcXVpcmVFbWFpbFZlcmlmaWNhdGlvbikge1xuICAgIHJldHVybiA8Rm9ybUhlYWRlciBoZWFkaW5nPVwiUGxlYXNlIHZlcmlmeSB5b3VyIGVtYWlsXCIgZGVzY3JpcHRpb249e3QoJ2F1dGhlbnRpY2F0aW9uOmVtYWlsU2VudCcpfSBzdHlsZT17eyB0ZXh0QWxpZ246ICdjZW50ZXInIH19IC8+XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxGb3JtXG4gICAgICBjbGFzc05hbWU9e2Jhc2VDbGFzc31cbiAgICAgIG9uU3VibWl0PXsoZSkgPT4ge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgdm9pZCBmb3JtLmhhbmRsZVN1Ym1pdCgpXG4gICAgICB9fT5cbiAgICAgIDxGb3JtSGVhZGVyIGhlYWRpbmc9e3QoJ2dlbmVyYWw6d2VsY29tZScpfSBzdHlsZT17eyB0ZXh0QWxpZ246ICdjZW50ZXInIH19IC8+XG4gICAgICA8Rm9ybUlucHV0V3JhcCBjbGFzc05hbWU9e2Jhc2VDbGFzc30+XG4gICAgICAgIDxmb3JtLkFwcEZpZWxkXG4gICAgICAgICAgbmFtZT1cImVtYWlsXCJcbiAgICAgICAgICBjaGlsZHJlbj17KGZpZWxkKSA9PiA8ZmllbGQuVGV4dEZpZWxkIHR5cGU9XCJlbWFpbFwiIGNsYXNzTmFtZT1cImVtYWlsXCIgYXV0b0NvbXBsZXRlPVwiZW1haWxcIiBsYWJlbD17dCgnZ2VuZXJhbDplbWFpbCcpfSByZXF1aXJlZCAvPn1cbiAgICAgICAgLz5cbiAgICAgICAge2xvZ2luV2l0aFVzZXJuYW1lICYmIChcbiAgICAgICAgICA8Zm9ybS5BcHBGaWVsZFxuICAgICAgICAgICAgbmFtZT1cInVzZXJuYW1lXCJcbiAgICAgICAgICAgIGNoaWxkcmVuPXsoZmllbGQpID0+IChcbiAgICAgICAgICAgICAgPGZpZWxkLlRleHRGaWVsZFxuICAgICAgICAgICAgICAgIHR5cGU9XCJuYW1lXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBhdXRvQ29tcGxldGU9XCJ1c2VybmFtZVwiXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2F1dGhlbnRpY2F0aW9uOnVzZXJuYW1lJyl9XG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ9e2xvZ2luV2l0aFVzZXJuYW1lLnJlcXVpcmVVc2VybmFtZSA/PyBmYWxzZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgICAgPGZvcm0uQXBwRmllbGRcbiAgICAgICAgICBuYW1lPVwicGFzc3dvcmRcIlxuICAgICAgICAgIGNoaWxkcmVuPXsoZmllbGQpID0+IDxmaWVsZC5UZXh0RmllbGQgdHlwZT1cInBhc3N3b3JkXCIgY2xhc3NOYW1lPVwicGFzc3dvcmRcIiBsYWJlbD17dCgnYXV0aGVudGljYXRpb246bmV3UGFzc3dvcmQnKX0gcmVxdWlyZWQgLz59XG4gICAgICAgIC8+XG4gICAgICAgIDxmb3JtLkFwcEZpZWxkXG4gICAgICAgICAgbmFtZT1cImNvbmZpcm1QYXNzd29yZFwiXG4gICAgICAgICAgY2hpbGRyZW49eyhmaWVsZCkgPT4gKFxuICAgICAgICAgICAgPGZpZWxkLlRleHRGaWVsZCB0eXBlPVwicGFzc3dvcmRcIiBjbGFzc05hbWU9XCJwYXNzd29yZFwiIGxhYmVsPXt0KCdhdXRoZW50aWNhdGlvbjpjb25maXJtUGFzc3dvcmQnKX0gcmVxdWlyZWQgLz5cbiAgICAgICAgICApfVxuICAgICAgICAvPlxuICAgICAgPC9Gb3JtSW5wdXRXcmFwPlxuICAgICAgPGZvcm0uQXBwRm9ybSBjaGlsZHJlbj17PGZvcm0uU3VibWl0IGxhYmVsPXt0KCdnZW5lcmFsOmNyZWF0ZScpfSBsb2FkaW5nTGFiZWw9e3QoJ2dlbmVyYWw6bG9hZGluZycpfSAvPn0gLz5cbiAgICAgIHtPYmplY3Qua2V5cyhzb2NpYWxQcm92aWRlcnMgfHwge30pLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgICAgICAgICBmb250U2l6ZTogJzAuODc1cmVtJyxcbiAgICAgICAgICAgIHRleHRUcmFuc2Zvcm06ICd1cHBlcmNhc2UnLFxuICAgICAgICAgICAgbWFyZ2luVG9wOiAnLS41cmVtJyxcbiAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tdGhlbWUtZWxldmF0aW9uLTQ1MCknLFxuICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAnMS41cmVtJ1xuICAgICAgICAgIH19PlxuICAgICAgICAgIDxzcGFuPk9yIHNpZ24gdXAgd2l0aDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgICAgPEFkbWluU29jaWFsUHJvdmlkZXJCdXR0b25zXG4gICAgICAgIGFsbG93U2lnbnVwPXt0cnVlfVxuICAgICAgICBzb2NpYWxQcm92aWRlcnM9e3NvY2lhbFByb3ZpZGVyc31cbiAgICAgICAgc2V0TG9hZGluZz17KCkgPT4ge319XG4gICAgICAgIHJlZGlyZWN0VXJsPXtyZWRpcmVjdFVybH1cbiAgICAgICAgbmV3VXNlckNhbGxiYWNrVVJMPXtuZXdVc2VyQ2FsbGJhY2tVUkx9XG4gICAgICAvPlxuICAgIDwvRm9ybT5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlU3RhdGUiLCJ6IiwidXNlQ29uZmlnIiwidXNlVHJhbnNsYXRpb24iLCJBZG1pblNvY2lhbFByb3ZpZGVyQnV0dG9ucyIsImdldFNhZmVSZWRpcmVjdCIsInRvYXN0IiwiYWRtaW5FbmRwb2ludHMiLCJ1c2VBcHBGb3JtIiwiZW1haWxSZWdleCIsInVzZXJuYW1lUmVnZXgiLCJGb3JtSGVhZGVyIiwiRm9ybSIsIkZvcm1JbnB1dFdyYXAiLCJ0cnlDYXRjaCIsImJhc2VDbGFzcyIsIkFkbWluU2lnbnVwQ2xpZW50IiwidG9rZW4iLCJ1c2VyU2x1ZyIsInJvbGUiLCJzZWFyY2hQYXJhbXMiLCJzb2NpYWxQcm92aWRlcnMiLCJsb2dpbldpdGhVc2VybmFtZSIsImNvbmZpZyIsInJvdXRlcyIsImFkbWluIiwiYWRtaW5Sb3V0ZSIsImFwaSIsImFwaVJvdXRlIiwic2VydmVyVVJMIiwidCIsInJlZGlyZWN0VXJsIiwicmVkaXJlY3QiLCJuZXdVc2VyQ2FsbGJhY2tVUkwiLCJzZXRBZG1pblJvbGUiLCJyZXF1aXJlRW1haWxWZXJpZmljYXRpb24iLCJzZXRSZXF1aXJlRW1haWxWZXJpZmljYXRpb24iLCJ2YWxpZGF0aW9uTWFwIiwiZW1haWwiLCJpc1ZhbGlkIiwidmFsIiwidGVzdCIsImVycm9yTWVzc2FnZSIsInVzZXJuYW1lIiwic2lnbnVwU2NoZW1hIiwib2JqZWN0Iiwic3RyaW5nIiwicmVmaW5lIiwibWVzc2FnZSIsIm9wdGlvbmFsIiwicGFzc3dvcmQiLCJtaW4iLCJjb25maXJtUGFzc3dvcmQiLCJkYXRhIiwicGF0aCIsImZvcm0iLCJkZWZhdWx0VmFsdWVzIiwib25TdWJtaXQiLCJ2YWx1ZSIsImVycm9yIiwiZmV0Y2giLCJzaWdudXAiLCJtZXRob2QiLCJoZWFkZXJzIiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJqc29uIiwidGhlbiIsInN1Y2Nlc3MiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiLCJ2YWxpZGF0b3JzIiwiaGVhZGluZyIsImRlc2NyaXB0aW9uIiwic3R5bGUiLCJ0ZXh0QWxpZ24iLCJjbGFzc05hbWUiLCJlIiwicHJldmVudERlZmF1bHQiLCJoYW5kbGVTdWJtaXQiLCJBcHBGaWVsZCIsIm5hbWUiLCJjaGlsZHJlbiIsImZpZWxkIiwiVGV4dEZpZWxkIiwidHlwZSIsImF1dG9Db21wbGV0ZSIsImxhYmVsIiwicmVxdWlyZWQiLCJyZXF1aXJlVXNlcm5hbWUiLCJBcHBGb3JtIiwiU3VibWl0IiwibG9hZGluZ0xhYmVsIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsImRpdiIsImZvbnRTaXplIiwidGV4dFRyYW5zZm9ybSIsIm1hcmdpblRvcCIsImNvbG9yIiwibWFyZ2luQm90dG9tIiwic3BhbiIsImFsbG93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
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC92aWV3cy9hZG1pbi1zaWdudXAvY2xpZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHsgdXNlQ29uZmlnLCB0b2FzdCwgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdAcGF5bG9hZGNtcy91aSdcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUgeyBMb2dpbk1ldGhvZCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHsgQWRtaW5Tb2NpYWxQcm92aWRlckJ1dHRvbnMgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3NvY2lhbC1wcm92aWRlci1idXR0b25zJ1xuaW1wb3J0IHsgZ2V0U2FmZVJlZGlyZWN0IH0gZnJvbSAnLi4vLi4vdXRpbHMvZ2V0LXNhZmUtcmVkaXJlY3QnXG5pbXBvcnQgeyBhZG1pbkVuZHBvaW50cyB9IGZyb20gJ0AvYmV0dGVyLWF1dGgvcGx1Z2luL2NvbnN0YW50cydcbmltcG9ydCB0eXBlIHsgTG9naW5XaXRoVXNlcm5hbWVPcHRpb25zIH0gZnJvbSAncGF5bG9hZCdcbmltcG9ydCB7IHVzZUFwcEZvcm0gfSBmcm9tICdAL3NoYXJlZC9mb3JtJ1xuaW1wb3J0IHsgRm9ybSwgRm9ybUlucHV0V3JhcCB9IGZyb20gJ0Avc2hhcmVkL2Zvcm0vdWknXG5pbXBvcnQgeyBGb3JtSGVhZGVyIH0gZnJvbSAnQC9zaGFyZWQvZm9ybS91aS9oZWFkZXInXG5pbXBvcnQgeyBjcmVhdGVTaWdudXBTY2hlbWEgfSBmcm9tICdAL3NoYXJlZC9mb3JtL3ZhbGlkYXRpb24nXG5pbXBvcnQgeyB1c2VybmFtZUNsaWVudCB9IGZyb20gJ2JldHRlci1hdXRoL2NsaWVudC9wbHVnaW5zJ1xuaW1wb3J0IHsgY3JlYXRlQXV0aENsaWVudCB9IGZyb20gJ2JldHRlci1hdXRoL3JlYWN0J1xuaW1wb3J0IHsgdHJ5Q2F0Y2ggfSBmcm9tICdAL3NoYXJlZC91dGlscy90cnktY2F0Y2gnXG5cbnR5cGUgQWRtaW5TaWdudXBDbGllbnRQcm9wcyA9IHtcbiAgYWRtaW5JbnZpdGVUb2tlbjogc3RyaW5nXG4gIHVzZXJTbHVnOiBzdHJpbmdcbiAgbG9naW5NZXRob2RzOiBMb2dpbk1ldGhvZFtdXG4gIHNlYXJjaFBhcmFtczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCB9XG4gIGxvZ2luV2l0aFVzZXJuYW1lOiBmYWxzZSB8IExvZ2luV2l0aFVzZXJuYW1lT3B0aW9uc1xufVxuXG5jb25zdCBiYXNlQ2xhc3MgPSAnYWRtaW4tc2lnbnVwJ1xuXG50eXBlIFNpZ251cEZvcm1Qcm9wcyA9IHtcbiAgYWRtaW5JbnZpdGVUb2tlbjogc3RyaW5nXG4gIHNlYXJjaFBhcmFtczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCB9XG4gIGxvZ2luV2l0aFVzZXJuYW1lOiBmYWxzZSB8IExvZ2luV2l0aFVzZXJuYW1lT3B0aW9uc1xuICByZXF1aXJlRW1haWxWZXJpZmljYXRpb246IGJvb2xlYW5cbiAgc2V0UmVxdWlyZUVtYWlsVmVyaWZpY2F0aW9uOiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxib29sZWFuPj5cbn1cblxuY29uc3QgU2lnbnVwRm9ybTogUmVhY3QuRkM8U2lnbnVwRm9ybVByb3BzPiA9ICh7XG4gIHNlYXJjaFBhcmFtcyxcbiAgbG9naW5XaXRoVXNlcm5hbWUsXG4gIHJlcXVpcmVFbWFpbFZlcmlmaWNhdGlvbixcbiAgc2V0UmVxdWlyZUVtYWlsVmVyaWZpY2F0aW9uLFxuICBhZG1pbkludml0ZVRva2VuXG59KSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjb25maWc6IHtcbiAgICAgIGFkbWluOiB7IHVzZXI6IHVzZXJTbHVnIH0sXG4gICAgICByb3V0ZXM6IHsgYWRtaW46IGFkbWluUm91dGUsIGFwaTogYXBpUm91dGUgfSxcbiAgICAgIHNlcnZlclVSTFxuICAgIH1cbiAgfSA9IHVzZUNvbmZpZygpXG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKVxuICBjb25zdCByZWRpcmVjdFVybCA9IGdldFNhZmVSZWRpcmVjdChzZWFyY2hQYXJhbXM/LnJlZGlyZWN0IGFzIHN0cmluZywgYWRtaW5Sb3V0ZSlcblxuICBjb25zdCByZXF1aXJlVXNlcm5hbWUgPSBCb29sZWFuKGxvZ2luV2l0aFVzZXJuYW1lICYmIHR5cGVvZiBsb2dpbldpdGhVc2VybmFtZSA9PT0gJ29iamVjdCcgJiYgbG9naW5XaXRoVXNlcm5hbWUucmVxdWlyZVVzZXJuYW1lKVxuXG4gIGNvbnN0IHNpZ251cFNjaGVtYSA9IGNyZWF0ZVNpZ251cFNjaGVtYSh7IHQsIHJlcXVpcmVVc2VybmFtZSB9KVxuXG4gIGNvbnN0IGZvcm0gPSB1c2VBcHBGb3JtKHtcbiAgICBkZWZhdWx0VmFsdWVzOiB7XG4gICAgICBlbWFpbDogJycsXG4gICAgICBwYXNzd29yZDogJycsXG4gICAgICBjb25maXJtUGFzc3dvcmQ6ICcnLFxuICAgICAgLi4uKGxvZ2luV2l0aFVzZXJuYW1lID8geyB1c2VybmFtZTogJycgfSA6IHt9KVxuICAgIH0sXG4gICAgb25TdWJtaXQ6IGFzeW5jICh7IHZhbHVlIH0pID0+IHtcbiAgICAgIGNvbnN0IHsgZW1haWwsIHVzZXJuYW1lLCBwYXNzd29yZCB9ID0gdmFsdWVcbiAgICAgIGNvbnN0IHsgZGF0YSwgZXJyb3IgfSA9IGF3YWl0IHRyeUNhdGNoKFxuICAgICAgICBmZXRjaChgJHtzZXJ2ZXJVUkx9JHthcGlSb3V0ZX0vJHt1c2VyU2x1Z30ke2FkbWluRW5kcG9pbnRzLnNpZ251cH0/dG9rZW49JHthZG1pbkludml0ZVRva2VufSZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWAsIHtcbiAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSxcbiAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7IGVtYWlsLCB1c2VybmFtZSwgcGFzc3dvcmQsIGFkbWluSW52aXRlVG9rZW4gfSlcbiAgICAgICAgfSkudGhlbigocmVzKSA9PiByZXMuanNvbigpKVxuICAgICAgKVxuXG4gICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgdG9hc3QuZXJyb3IoZXJyb3IubWVzc2FnZSlcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZGF0YS5yZXF1aXJlRW1haWxWZXJpZmljYXRpb24pIHtcbiAgICAgICAgc2V0UmVxdWlyZUVtYWlsVmVyaWZpY2F0aW9uKHRydWUpXG4gICAgICAgIHRvYXN0LnN1Y2Nlc3MoZGF0YS5tZXNzYWdlKVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0b2FzdC5zdWNjZXNzKGRhdGEubWVzc2FnZSlcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gcmVkaXJlY3RVcmxcbiAgICB9LFxuICAgIHZhbGlkYXRvcnM6IHtcbiAgICAgIG9uU3VibWl0OiBzaWdudXBTY2hlbWFcbiAgICB9XG4gIH0pXG5cbiAgaWYgKHJlcXVpcmVFbWFpbFZlcmlmaWNhdGlvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8Rm9ybUhlYWRlclxuICAgICAgICBoZWFkaW5nPVwiUGxlYXNlIHZlcmlmeSB5b3VyIGVtYWlsXCJcbiAgICAgICAgZGVzY3JpcHRpb249eydDaGVjayB5b3VyIGVtYWlsIGZvciBhIHZlcmlmaWNhdGlvbiBsaW5rLid9XG4gICAgICAgIHN0eWxlPXt7IHRleHRBbGlnbjogJ2NlbnRlcicgfX1cbiAgICAgIC8+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8Rm9ybVxuICAgICAgY2xhc3NOYW1lPXtiYXNlQ2xhc3N9XG4gICAgICBvblN1Ym1pdD17KGUpID0+IHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIHZvaWQgZm9ybS5oYW5kbGVTdWJtaXQoKVxuICAgICAgfX0+XG4gICAgICA8Rm9ybUlucHV0V3JhcCBjbGFzc05hbWU9XCJsb2dpbl9fZm9ybVwiPlxuICAgICAgICA8Zm9ybS5BcHBGaWVsZFxuICAgICAgICAgIG5hbWU9XCJlbWFpbFwiXG4gICAgICAgICAgY2hpbGRyZW49eyhmaWVsZCkgPT4gPGZpZWxkLlRleHRGaWVsZCB0eXBlPVwiZW1haWxcIiBjbGFzc05hbWU9XCJlbWFpbFwiIGF1dG9Db21wbGV0ZT1cImVtYWlsXCIgbGFiZWw9e3QoJ2dlbmVyYWw6ZW1haWwnKX0gcmVxdWlyZWQgLz59XG4gICAgICAgIC8+XG4gICAgICAgIHtsb2dpbldpdGhVc2VybmFtZSAmJiAoXG4gICAgICAgICAgPGZvcm0uQXBwRmllbGRcbiAgICAgICAgICAgIG5hbWU9XCJ1c2VybmFtZVwiXG4gICAgICAgICAgICBjaGlsZHJlbj17KGZpZWxkKSA9PiAoXG4gICAgICAgICAgICAgIDxmaWVsZC5UZXh0RmllbGRcbiAgICAgICAgICAgICAgICB0eXBlPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgYXV0b0NvbXBsZXRlPVwidXNlcm5hbWVcIlxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdhdXRoZW50aWNhdGlvbjp1c2VybmFtZScpfVxuICAgICAgICAgICAgICAgIHJlcXVpcmVkPXtyZXF1aXJlVXNlcm5hbWV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIDxmb3JtLkFwcEZpZWxkXG4gICAgICAgICAgbmFtZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICBjaGlsZHJlbj17KGZpZWxkKSA9PiA8ZmllbGQuVGV4dEZpZWxkIHR5cGU9XCJwYXNzd29yZFwiIGNsYXNzTmFtZT1cInBhc3N3b3JkXCIgbGFiZWw9e3QoJ2F1dGhlbnRpY2F0aW9uOm5ld1Bhc3N3b3JkJyl9IHJlcXVpcmVkIC8+fVxuICAgICAgICAvPlxuICAgICAgICA8Zm9ybS5BcHBGaWVsZFxuICAgICAgICAgIG5hbWU9XCJjb25maXJtUGFzc3dvcmRcIlxuICAgICAgICAgIGNoaWxkcmVuPXsoZmllbGQpID0+IChcbiAgICAgICAgICAgIDxmaWVsZC5UZXh0RmllbGQgdHlwZT1cInBhc3N3b3JkXCIgY2xhc3NOYW1lPVwicGFzc3dvcmRcIiBsYWJlbD17dCgnYXV0aGVudGljYXRpb246Y29uZmlybVBhc3N3b3JkJyl9IHJlcXVpcmVkIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgLz5cbiAgICAgIDwvRm9ybUlucHV0V3JhcD5cbiAgICAgIDxmb3JtLkFwcEZvcm0gY2hpbGRyZW49ezxmb3JtLlN1Ym1pdCBsYWJlbD17dCgnZ2VuZXJhbDpjcmVhdGUnKX0gbG9hZGluZ0xhYmVsPXt0KCdnZW5lcmFsOmxvYWRpbmcnKX0gLz59IC8+XG4gICAgPC9Gb3JtPlxuICApXG59XG5cbmV4cG9ydCBjb25zdCBBZG1pblNpZ251cENsaWVudDogUmVhY3QuRkM8QWRtaW5TaWdudXBDbGllbnRQcm9wcz4gPSAoe1xuICBhZG1pbkludml0ZVRva2VuLFxuICB1c2VyU2x1ZyxcbiAgc2VhcmNoUGFyYW1zLFxuICBsb2dpbk1ldGhvZHMsXG4gIGxvZ2luV2l0aFVzZXJuYW1lXG59KSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjb25maWc6IHtcbiAgICAgIHJvdXRlczogeyBhZG1pbjogYWRtaW5Sb3V0ZSwgYXBpOiBhcGlSb3V0ZSB9LFxuICAgICAgc2VydmVyVVJMXG4gICAgfVxuICB9ID0gdXNlQ29uZmlnKClcbiAgY29uc3QgW3JlcXVpcmVFbWFpbFZlcmlmaWNhdGlvbiwgc2V0UmVxdWlyZUVtYWlsVmVyaWZpY2F0aW9uXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKVxuICBjb25zdCByZWRpcmVjdFVybCA9IGdldFNhZmVSZWRpcmVjdChzZWFyY2hQYXJhbXM/LnJlZGlyZWN0IGFzIHN0cmluZywgYWRtaW5Sb3V0ZSlcbiAgY29uc3Qgc2V0QWRtaW5Sb2xlQ2FsbGJhY2tVUkwgPSBgJHtzZXJ2ZXJVUkx9JHthcGlSb3V0ZX0vJHt1c2VyU2x1Z30ke2FkbWluRW5kcG9pbnRzLnNldEFkbWluUm9sZX0/dG9rZW49JHthZG1pbkludml0ZVRva2VufSZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWBcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7bG9naW5NZXRob2RzLmluY2x1ZGVzKCdlbWFpbFBhc3N3b3JkJykgJiYgKFxuICAgICAgICA8U2lnbnVwRm9ybVxuICAgICAgICAgIGFkbWluSW52aXRlVG9rZW49e2FkbWluSW52aXRlVG9rZW59XG4gICAgICAgICAgc2VhcmNoUGFyYW1zPXtzZWFyY2hQYXJhbXN9XG4gICAgICAgICAgbG9naW5XaXRoVXNlcm5hbWU9e2xvZ2luV2l0aFVzZXJuYW1lfVxuICAgICAgICAgIHJlcXVpcmVFbWFpbFZlcmlmaWNhdGlvbj17cmVxdWlyZUVtYWlsVmVyaWZpY2F0aW9ufVxuICAgICAgICAgIHNldFJlcXVpcmVFbWFpbFZlcmlmaWNhdGlvbj17c2V0UmVxdWlyZUVtYWlsVmVyaWZpY2F0aW9ufVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICAgIHshcmVxdWlyZUVtYWlsVmVyaWZpY2F0aW9uICYmIChcbiAgICAgICAgPEFkbWluU29jaWFsUHJvdmlkZXJCdXR0b25zXG4gICAgICAgICAgaXNTaWdudXA9e3RydWV9XG4gICAgICAgICAgbG9naW5NZXRob2RzPXtsb2dpbk1ldGhvZHN9XG4gICAgICAgICAgYWRtaW5JbnZpdGVUb2tlbj17YWRtaW5JbnZpdGVUb2tlbn1cbiAgICAgICAgICBzZXRMb2FkaW5nPXsoKSA9PiB7fX1cbiAgICAgICAgICByZWRpcmVjdFVybD17cmVkaXJlY3RVcmx9XG4gICAgICAgICAgbmV3VXNlckNhbGxiYWNrVVJMPXtzZXRBZG1pblJvbGVDYWxsYmFja1VSTH1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC8+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJ1c2VDb25maWciLCJ0b2FzdCIsInVzZVRyYW5zbGF0aW9uIiwiUmVhY3QiLCJ1c2VTdGF0ZSIsIkFkbWluU29jaWFsUHJvdmlkZXJCdXR0b25zIiwiZ2V0U2FmZVJlZGlyZWN0IiwiYWRtaW5FbmRwb2ludHMiLCJ1c2VBcHBGb3JtIiwiRm9ybSIsIkZvcm1JbnB1dFdyYXAiLCJGb3JtSGVhZGVyIiwiY3JlYXRlU2lnbnVwU2NoZW1hIiwidHJ5Q2F0Y2giLCJiYXNlQ2xhc3MiLCJTaWdudXBGb3JtIiwic2VhcmNoUGFyYW1zIiwibG9naW5XaXRoVXNlcm5hbWUiLCJyZXF1aXJlRW1haWxWZXJpZmljYXRpb24iLCJzZXRSZXF1aXJlRW1haWxWZXJpZmljYXRpb24iLCJhZG1pbkludml0ZVRva2VuIiwiY29uZmlnIiwiYWRtaW4iLCJ1c2VyIiwidXNlclNsdWciLCJyb3V0ZXMiLCJhZG1pblJvdXRlIiwiYXBpIiwiYXBpUm91dGUiLCJzZXJ2ZXJVUkwiLCJ0IiwicmVkaXJlY3RVcmwiLCJyZWRpcmVjdCIsInJlcXVpcmVVc2VybmFtZSIsIkJvb2xlYW4iLCJzaWdudXBTY2hlbWEiLCJmb3JtIiwiZGVmYXVsdFZhbHVlcyIsImVtYWlsIiwicGFzc3dvcmQiLCJjb25maXJtUGFzc3dvcmQiLCJ1c2VybmFtZSIsIm9uU3VibWl0IiwidmFsdWUiLCJkYXRhIiwiZXJyb3IiLCJmZXRjaCIsInNpZ251cCIsIm1ldGhvZCIsImhlYWRlcnMiLCJib2R5IiwiSlNPTiIsInN0cmluZ2lmeSIsInRoZW4iLCJyZXMiLCJqc29uIiwibWVzc2FnZSIsInN1Y2Nlc3MiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiLCJ2YWxpZGF0b3JzIiwiaGVhZGluZyIsImRlc2NyaXB0aW9uIiwic3R5bGUiLCJ0ZXh0QWxpZ24iLCJjbGFzc05hbWUiLCJlIiwicHJldmVudERlZmF1bHQiLCJoYW5kbGVTdWJtaXQiLCJBcHBGaWVsZCIsIm5hbWUiLCJjaGlsZHJlbiIsImZpZWxkIiwiVGV4dEZpZWxkIiwidHlwZSIsImF1dG9Db21wbGV0ZSIsImxhYmVsIiwicmVxdWlyZWQiLCJBcHBGb3JtIiwiU3VibWl0IiwibG9hZGluZ0xhYmVsIiwiQWRtaW5TaWdudXBDbGllbnQiLCJsb2dpbk1ldGhvZHMiLCJzZXRBZG1pblJvbGVDYWxsYmFja1VSTCIsInNldEFkbWluUm9sZSIsImluY2x1ZGVzIiwiaXNTaWdudXAiLCJzZXRMb2FkaW5nIiwibmV3VXNlckNhbGxiYWNrVVJMIl0sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQSxTQUFTQSxTQUFTLEVBQUVDLEtBQUssRUFBRUMsY0FBYyxRQUFRLGlCQUFnQjtBQUNqRSxPQUFPQyxTQUFTQyxRQUFRLFFBQVEsUUFBTztBQUV2QyxTQUFTQywwQkFBMEIsUUFBUSwyQ0FBMEM7QUFDckYsU0FBU0MsZUFBZSxRQUFRLGdDQUErQjtBQUMvRCxTQUFTQyxjQUFjLFFBQVEscUJBQWdDO0FBRS9ELFNBQVNDLFVBQVUsUUFBUSw2QkFBZTtBQUMxQyxTQUFTQyxJQUFJLEVBQUVDLGFBQWEsUUFBUSxnQ0FBa0I7QUFDdEQsU0FBU0MsVUFBVSxRQUFRLHVDQUF5QjtBQUNwRCxTQUFTQyxrQkFBa0IsUUFBUSx3Q0FBMEI7QUFHN0QsU0FBU0MsUUFBUSxRQUFRLHdDQUEwQjtBQVVuRCxNQUFNQyxZQUFZO0FBVWxCLE1BQU1DLGFBQXdDLENBQUMsRUFDN0NDLFlBQVksRUFDWkMsaUJBQWlCLEVBQ2pCQyx3QkFBd0IsRUFDeEJDLDJCQUEyQixFQUMzQkMsZ0JBQWdCLEVBQ2pCO0lBQ0MsTUFBTSxFQUNKQyxRQUFRLEVBQ05DLE9BQU8sRUFBRUMsTUFBTUMsUUFBUSxFQUFFLEVBQ3pCQyxRQUFRLEVBQUVILE9BQU9JLFVBQVUsRUFBRUMsS0FBS0MsUUFBUSxFQUFFLEVBQzVDQyxTQUFTLEVBQ1YsRUFDRixHQUFHN0I7SUFDSixNQUFNLEVBQUU4QixDQUFDLEVBQUUsR0FBRzVCO0lBQ2QsTUFBTTZCLGNBQWN6QixnQkFBZ0JVLGNBQWNnQixVQUFvQk47SUFFdEUsTUFBTU8sa0JBQWtCQyxRQUFRakIscUJBQXFCLE9B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
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { AdminViewServerProps } from 'payload';
3
3
  import type { BetterAuthPluginOptions, SanitizedBetterAuthOptions } from '../../../types';
4
- import './index.scss';
5
4
  type AdminSignupProps = AdminViewServerProps & {
6
5
  defaultAdminRole: string;
7
6
  pluginOptions: BetterAuthPluginOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/payload/views/admin-signup/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AAEzF,OAAO,cAAc,CAAA;AAQrB,KAAK,gBAAgB,GAAG,oBAAoB,GAAG;IAC7C,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,EAAE,uBAAuB,CAAA;IACtC,iBAAiB,EAAE,0BAA0B,CAAA;CAC9C,CAAA;AAED,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA0G3C,CAAA;AAED,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/payload/views/admin-signup/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AASzF,KAAK,gBAAgB,GAAG,oBAAoB,GAAG;IAC7C,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,EAAE,uBAAuB,CAAA;IACtC,iBAAiB,EAAE,0BAA0B,CAAA;CAC9C,CAAA;AAED,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA2E3C,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -7,108 +7,65 @@ import { AdminSignupClient } from "./client";
7
7
  import { FormHeader } from "../../../../../shared/form/ui/header";
8
8
  import { baseCollectionSlugs } from "../../../constants";
9
9
  import { checkUsernamePlugin } from "../../../helpers/check-username-plugin";
10
- import "./index.scss";
11
- const baseClass = 'admin-signup';
10
+ // Avoid the need for custom styles
11
+ const baseClass = 'login';
12
12
  const searchParamsSchema = z.object({
13
13
  token: z.string()
14
14
  });
15
15
  const AdminSignup = async ({ initPageResult, params, searchParams, pluginOptions, betterAuthOptions })=>{
16
16
  const { locale, permissions, req, req: { i18n, user, payload: { collections, config: { admin: { user: userSlug } } } } } = initPageResult;
17
17
  const { success, data } = searchParamsSchema.safeParse(searchParams);
18
+ let hasInvalidToken = false;
18
19
  if (!success) {
19
- return /*#__PURE__*/ _jsxs(MinimalTemplate, {
20
- className: baseClass,
21
- children: [
22
- /*#__PURE__*/ _jsx("div", {
23
- className: `${baseClass}__brand`,
24
- children: /*#__PURE__*/ _jsx(Logo, {
25
- i18n: i18n,
26
- locale: locale,
27
- params: params,
28
- payload: req.payload,
29
- permissions: permissions,
30
- searchParams: searchParams,
31
- user: user ?? undefined
32
- })
33
- }),
34
- /*#__PURE__*/ _jsx(FormHeader, {
35
- style: {
36
- textAlign: 'center'
37
- },
38
- heading: "Invalid or expired token",
39
- description: "You need to get a new invite to sign up."
40
- })
41
- ]
42
- });
43
- }
44
- const invite = await req.payload.find({
45
- collection: pluginOptions.adminInvitations?.slug ?? baseCollectionSlugs.adminInvitations,
46
- where: {
47
- token: {
48
- equals: data.token
20
+ hasInvalidToken = true;
21
+ } else {
22
+ const { totalDocs: isValidInvite } = await req.payload.count({
23
+ collection: pluginOptions.adminInvitations?.slug ?? baseCollectionSlugs.adminInvitations,
24
+ where: {
25
+ token: {
26
+ equals: data.token
27
+ }
49
28
  }
50
- },
51
- limit: 1
52
- });
53
- if (invite.docs.length === 0) {
54
- return /*#__PURE__*/ _jsx("section", {
55
- className: `${baseClass} login template-minimal template-minimal--width-normal`,
56
- children: /*#__PURE__*/ _jsxs("div", {
57
- className: "template-minimal__wrap",
58
- children: [
59
- /*#__PURE__*/ _jsx("div", {
60
- className: `${baseClass}__brand`,
61
- children: /*#__PURE__*/ _jsx(Logo, {
62
- i18n: i18n,
63
- locale: locale,
64
- params: params,
65
- payload: req.payload,
66
- permissions: permissions,
67
- searchParams: searchParams,
68
- user: user ?? undefined
69
- })
70
- }),
71
- /*#__PURE__*/ _jsx(FormHeader, {
72
- heading: i18n.t('error:tokenInvalidOrExpired')
73
- })
74
- ]
75
- })
76
29
  });
30
+ if (!isValidInvite) {
31
+ hasInvalidToken = true;
32
+ }
77
33
  }
78
- const inviteRole = invite.docs[0].role;
79
- const socialProviders = pluginOptions.adminComponents?.socialProviders ?? {};
34
+ const loginMethods = pluginOptions.admin?.loginMethods ?? [];
80
35
  const hasUsernamePlugin = checkUsernamePlugin(betterAuthOptions);
81
36
  const loginWithUsername = collections?.[userSlug]?.config.auth.loginWithUsername;
82
37
  const canLoginWithUsername = (hasUsernamePlugin && loginWithUsername) ?? false;
83
- return /*#__PURE__*/ _jsx("section", {
84
- className: `${baseClass} login template-minimal template-minimal--width-normal`,
85
- children: /*#__PURE__*/ _jsxs("div", {
86
- className: "template-minimal__wrap",
87
- children: [
88
- /*#__PURE__*/ _jsx("div", {
89
- className: `${baseClass}__brand`,
90
- children: /*#__PURE__*/ _jsx(Logo, {
91
- i18n: i18n,
92
- locale: locale,
93
- params: params,
94
- payload: req.payload,
95
- permissions: permissions,
96
- searchParams: searchParams,
97
- user: user ?? undefined
98
- })
99
- }),
100
- /*#__PURE__*/ _jsx(AdminSignupClient, {
101
- token: data.token,
102
- role: inviteRole,
103
- userSlug: userSlug,
104
- socialProviders: socialProviders,
105
- searchParams: searchParams ?? {},
106
- loginWithUsername: canLoginWithUsername
38
+ return /*#__PURE__*/ _jsxs(MinimalTemplate, {
39
+ className: `${baseClass} admin-signup`,
40
+ children: [
41
+ /*#__PURE__*/ _jsx("div", {
42
+ className: `${baseClass}__brand admin-signup__brand`,
43
+ children: /*#__PURE__*/ _jsx(Logo, {
44
+ i18n: i18n,
45
+ locale: locale,
46
+ params: params,
47
+ payload: req.payload,
48
+ permissions: permissions,
49
+ searchParams: searchParams,
50
+ user: user ?? undefined
107
51
  })
108
- ]
109
- })
52
+ }),
53
+ hasInvalidToken ? /*#__PURE__*/ _jsx(FormHeader, {
54
+ style: {
55
+ textAlign: 'center'
56
+ },
57
+ heading: "Invalid or expired token",
58
+ description: "You need to get a new invite to sign up."
59
+ }) : data && /*#__PURE__*/ _jsx(AdminSignupClient, {
60
+ adminInviteToken: data.token,
61
+ userSlug: userSlug,
62
+ loginMethods: loginMethods,
63
+ searchParams: searchParams ?? {},
64
+ loginWithUsername: canLoginWithUsername
65
+ })
66
+ ]
110
67
  });
111
68
  };
112
69
  export default AdminSignup;
113
70
 
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC92aWV3cy9hZG1pbi1zaWdudXAvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgeiB9IGZyb20gJ3pvZCdcbmltcG9ydCB7IExvZ28gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cy9sb2dvJ1xuaW1wb3J0IHsgTWluaW1hbFRlbXBsYXRlIH0gZnJvbSAnQHBheWxvYWRjbXMvbmV4dC90ZW1wbGF0ZXMnXG5pbXBvcnQgeyBBZG1pblNpZ251cENsaWVudCB9IGZyb20gJy4vY2xpZW50J1xuaW1wb3J0IHsgRm9ybUhlYWRlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NoYXJlZC9mb3JtL3VpL2hlYWRlcidcbmltcG9ydCB7IGJhc2VDb2xsZWN0aW9uU2x1Z3MgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMnXG5pbXBvcnQgeyBjaGVja1VzZXJuYW1lUGx1Z2luIH0gZnJvbSAnLi4vLi4vLi4vaGVscGVycy9jaGVjay11c2VybmFtZS1wbHVnaW4nXG5cbmltcG9ydCB0eXBlIHsgQWRtaW5WaWV3U2VydmVyUHJvcHMgfSBmcm9tICdwYXlsb2FkJ1xuaW1wb3J0IHR5cGUgeyBCZXR0ZXJBdXRoUGx1Z2luT3B0aW9ucywgU2FuaXRpemVkQmV0dGVyQXV0aE9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi90eXBlcydcblxuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdhZG1pbi1zaWdudXAnXG5cbmNvbnN0IHNlYXJjaFBhcmFtc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgdG9rZW46IHouc3RyaW5nKClcbn0pXG5cbnR5cGUgQWRtaW5TaWdudXBQcm9wcyA9IEFkbWluVmlld1NlcnZlclByb3BzICYge1xuICBkZWZhdWx0QWRtaW5Sb2xlOiBzdHJpbmdcbiAgcGx1Z2luT3B0aW9uczogQmV0dGVyQXV0aFBsdWdpbk9wdGlvbnNcbiAgYmV0dGVyQXV0aE9wdGlvbnM6IFNhbml0aXplZEJldHRlckF1dGhPcHRpb25zXG59XG5cbmNvbnN0IEFkbWluU2lnbnVwOiBSZWFjdC5GQzxBZG1pblNpZ251cFByb3BzPiA9IGFzeW5jICh7XG4gIGluaXRQYWdlUmVzdWx0LFxuICBwYXJhbXMsXG4gIHNlYXJjaFBhcmFtcyxcbiAgcGx1Z2luT3B0aW9ucyxcbiAgYmV0dGVyQXV0aE9wdGlvbnNcbn06IEFkbWluU2lnbnVwUHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIGxvY2FsZSxcbiAgICBwZXJtaXNzaW9ucyxcbiAgICByZXEsXG4gICAgcmVxOiB7XG4gICAgICBpMThuLFxuICAgICAgdXNlcixcbiAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgY29sbGVjdGlvbnMsXG4gICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgIGFkbWluOiB7IHVzZXI6IHVzZXJTbHVnIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSA9IGluaXRQYWdlUmVzdWx0XG5cbiAgY29uc3QgeyBzdWNjZXNzLCBkYXRhIH0gPSBzZWFyY2hQYXJhbXNTY2hlbWEuc2FmZVBhcnNlKHNlYXJjaFBhcmFtcylcblxuICBpZiAoIXN1Y2Nlc3MpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE1pbmltYWxUZW1wbGF0ZSBjbGFzc05hbWU9e2Jhc2VDbGFzc30+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19icmFuZGB9PlxuICAgICAgICAgIDxMb2dvXG4gICAgICAgICAgICBpMThuPXtpMThufVxuICAgICAgICAgICAgbG9jYWxlPXtsb2NhbGV9XG4gICAgICAgICAgICBwYXJhbXM9e3BhcmFtc31cbiAgICAgICAgICAgIHBheWxvYWQ9e3JlcS5wYXlsb2FkfVxuICAgICAgICAgICAgcGVybWlzc2lvbnM9e3Blcm1pc3Npb25zfVxuICAgICAgICAgICAgc2VhcmNoUGFyYW1zPXtzZWFyY2hQYXJhbXN9XG4gICAgICAgICAgICB1c2VyPXt1c2VyID8/IHVuZGVmaW5lZH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPEZvcm1IZWFkZXJcbiAgICAgICAgICBzdHlsZT17eyB0ZXh0QWxpZ246ICdjZW50ZXInIH19XG4gICAgICAgICAgaGVhZGluZz1cIkludmFsaWQgb3IgZXhwaXJlZCB0b2tlblwiXG4gICAgICAgICAgZGVzY3JpcHRpb249XCJZb3UgbmVlZCB0byBnZXQgYSBuZXcgaW52aXRlIHRvIHNpZ24gdXAuXCJcbiAgICAgICAgLz5cbiAgICAgIDwvTWluaW1hbFRlbXBsYXRlPlxuICAgIClcbiAgfVxuXG4gIGNvbnN0IGludml0ZSA9IGF3YWl0IHJlcS5wYXlsb2FkLmZpbmQoe1xuICAgIGNvbGxlY3Rpb246IHBsdWdpbk9wdGlvbnMuYWRtaW5JbnZpdGF0aW9ucz8uc2x1ZyA/PyBiYXNlQ29sbGVjdGlvblNsdWdzLmFkbWluSW52aXRhdGlvbnMsXG4gICAgd2hlcmU6IHsgdG9rZW46IHsgZXF1YWxzOiBkYXRhLnRva2VuIH0gfSxcbiAgICBsaW1pdDogMVxuICB9KVxuXG4gIGlmIChpbnZpdGUuZG9jcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gKFxuICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9IGxvZ2luIHRlbXBsYXRlLW1pbmltYWwgdGVtcGxhdGUtbWluaW1hbC0td2lkdGgtbm9ybWFsYH0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGVtcGxhdGUtbWluaW1hbF9fd3JhcFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19icmFuZGB9PlxuICAgICAgICAgICAgPExvZ29cbiAgICAgICAgICAgICAgaTE4bj17aTE4bn1cbiAgICAgICAgICAgICAgbG9jYWxlPXtsb2NhbGV9XG4gICAgICAgICAgICAgIHBhcmFtcz17cGFyYW1zfVxuICAgICAgICAgICAgICBwYXlsb2FkPXtyZXEucGF5bG9hZH1cbiAgICAgICAgICAgICAgcGVybWlzc2lvbnM9e3Blcm1pc3Npb25zfVxuICAgICAgICAgICAgICBzZWFyY2hQYXJhbXM9e3NlYXJjaFBhcmFtc31cbiAgICAgICAgICAgICAgdXNlcj17dXNlciA/PyB1bmRlZmluZWR9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxGb3JtSGVhZGVyIGhlYWRpbmc9e2kxOG4udCgnZXJyb3I6dG9rZW5JbnZhbGlkT3JFeHBpcmVkJyl9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9zZWN0aW9uPlxuICAgIClcbiAgfVxuXG4gIGNvbnN0IGludml0ZVJvbGUgPSBpbnZpdGUuZG9jc1swXS5yb2xlIGFzIHN0cmluZ1xuICBjb25zdCBzb2NpYWxQcm92aWRlcnMgPSBwbHVnaW5PcHRpb25zLmFkbWluQ29tcG9uZW50cz8uc29jaWFsUHJvdmlkZXJzID8/IHt9XG4gIGNvbnN0IGhhc1VzZXJuYW1lUGx1Z2luID0gY2hlY2tVc2VybmFtZVBsdWdpbihiZXR0ZXJBdXRoT3B0aW9ucylcbiAgY29uc3QgbG9naW5XaXRoVXNlcm5hbWUgPSBjb2xsZWN0aW9ucz8uW3VzZXJTbHVnXT8uY29uZmlnLmF1dGgubG9naW5XaXRoVXNlcm5hbWVcbiAgY29uc3QgY2FuTG9naW5XaXRoVXNlcm5hbWUgPSAoaGFzVXNlcm5hbWVQbHVnaW4gJiYgbG9naW5XaXRoVXNlcm5hbWUpID8/IGZhbHNlXG5cbiAgcmV0dXJuIChcbiAgICA8c2VjdGlvbiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc30gbG9naW4gdGVtcGxhdGUtbWluaW1hbCB0ZW1wbGF0ZS1taW5pbWFsLS13aWR0aC1ub3JtYWxgfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGVtcGxhdGUtbWluaW1hbF9fd3JhcFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fYnJhbmRgfT5cbiAgICAgICAgICA8TG9nb1xuICAgICAgICAgICAgaTE4bj17aTE4bn1cbiAgICAgICAgICAgIGxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgICAgcGFyYW1zPXtwYXJhbXN9XG4gICAgICAgICAgICBwYXlsb2FkPXtyZXEucGF5bG9hZH1cbiAgICAgICAgICAgIHBlcm1pc3Npb25zPXtwZXJtaXNzaW9uc31cbiAgICAgICAgICAgIHNlYXJjaFBhcmFtcz17c2VhcmNoUGFyYW1zfVxuICAgICAgICAgICAgdXNlcj17dXNlciA/PyB1bmRlZmluZWR9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxBZG1pblNpZ251cENsaWVudFxuICAgICAgICAgIHRva2VuPXtkYXRhLnRva2VufVxuICAgICAgICAgIHJvbGU9e2ludml0ZVJvbGV9XG4gICAgICAgICAgdXNlclNsdWc9e3VzZXJTbHVnfVxuICAgICAgICAgIHNvY2lhbFByb3ZpZGVycz17c29jaWFsUHJvdmlkZXJzfVxuICAgICAgICAgIHNlYXJjaFBhcmFtcz17c2VhcmNoUGFyYW1zID8/IHt9fVxuICAgICAgICAgIGxvZ2luV2l0aFVzZXJuYW1lPXtjYW5Mb2dpbldpdGhVc2VybmFtZX1cbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvc2VjdGlvbj5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBBZG1pblNpZ251cFxuIl0sIm5hbWVzIjpbIlJlYWN0IiwieiIsIkxvZ28iLCJNaW5pbWFsVGVtcGxhdGUiLCJBZG1pblNpZ251cENsaWVudCIsIkZvcm1IZWFkZXIiLCJiYXNlQ29sbGVjdGlvblNsdWdzIiwiY2hlY2tVc2VybmFtZVBsdWdpbiIsImJhc2VDbGFzcyIsInNlYXJjaFBhcmFtc1NjaGVtYSIsIm9iamVjdCIsInRva2VuIiwic3RyaW5nIiwiQWRtaW5TaWdudXAiLCJpbml0UGFnZVJlc3VsdCIsInBhcmFtcyIsInNlYXJjaFBhcmFtcyIsInBsdWdpbk9wdGlvbnMiLCJiZXR0ZXJBdXRoT3B0aW9ucyIsImxvY2FsZSIsInBlcm1pc3Npb25zIiwicmVxIiwiaTE4biIsInVzZXIiLCJwYXlsb2FkIiwiY29sbGVjdGlvbnMiLCJjb25maWciLCJhZG1pbiIsInVzZXJTbHVnIiwic3VjY2VzcyIsImRhdGEiLCJzYWZlUGFyc2UiLCJjbGFzc05hbWUiLCJkaXYiLCJ1bmRlZmluZWQiLCJzdHlsZSIsInRleHRBbGlnbiIsImhlYWRpbmciLCJkZXNjcmlwdGlvbiIsImludml0ZSIsImZpbmQiLCJjb2xsZWN0aW9uIiwiYWRtaW5JbnZpdGF0aW9ucyIsInNsdWciLCJ3aGVyZSIsImVxdWFscyIsImxpbWl0IiwiZG9jcyIsImxlbmd0aCIsInNlY3Rpb24iLCJ0IiwiaW52aXRlUm9sZSIsInJvbGUiLCJzb2NpYWxQcm92aWRlcnMiLCJhZG1pbkNvbXBvbmVudHMiLCJoYXNVc2VybmFtZVBsdWdpbiIsImxvZ2luV2l0aFVzZXJuYW1lIiwiYXV0aCIsImNhbkxvZ2luV2l0aFVzZXJuYW1lIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsV0FBVyxRQUFPO0FBRXpCLFNBQVNDLENBQUMsUUFBUSxNQUFLO0FBQ3ZCLFNBQVNDLElBQUksUUFBUSx3Q0FBdUM7QUFDNUQsU0FBU0MsZUFBZSxRQUFRLDZCQUE0QjtBQUM1RCxTQUFTQyxpQkFBaUIsUUFBUSxXQUFVO0FBQzVDLFNBQVNDLFVBQVUsUUFBUSx1Q0FBc0M7QUFDakUsU0FBU0MsbUJBQW1CLFFBQVEscUJBQW9CO0FBQ3hELFNBQVNDLG1CQUFtQixRQUFRLHlDQUF3QztBQUs1RSxPQUFPLGVBQWM7QUFFckIsTUFBTUMsWUFBWTtBQUVsQixNQUFNQyxxQkFBcUJSLEVBQUVTLE1BQU0sQ0FBQztJQUNsQ0MsT0FBT1YsRUFBRVcsTUFBTTtBQUNqQjtBQVFBLE1BQU1DLGNBQTBDLE9BQU8sRUFDckRDLGNBQWMsRUFDZEMsTUFBTSxFQUNOQyxZQUFZLEVBQ1pDLGFBQWEsRUFDYkMsaUJBQWlCLEVBQ0E7SUFDakIsTUFBTSxFQUNKQyxNQUFNLEVBQ05DLFdBQVcsRUFDWEMsR0FBRyxFQUNIQSxLQUFLLEVBQ0hD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
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC92aWV3cy9hZG1pbi1zaWdudXAvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgeiB9IGZyb20gJ3pvZCdcbmltcG9ydCB7IExvZ28gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cy9sb2dvJ1xuaW1wb3J0IHsgTWluaW1hbFRlbXBsYXRlIH0gZnJvbSAnQHBheWxvYWRjbXMvbmV4dC90ZW1wbGF0ZXMnXG5pbXBvcnQgeyBBZG1pblNpZ251cENsaWVudCB9IGZyb20gJy4vY2xpZW50J1xuaW1wb3J0IHsgRm9ybUhlYWRlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NoYXJlZC9mb3JtL3VpL2hlYWRlcidcbmltcG9ydCB7IGJhc2VDb2xsZWN0aW9uU2x1Z3MgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMnXG5pbXBvcnQgeyBjaGVja1VzZXJuYW1lUGx1Z2luIH0gZnJvbSAnLi4vLi4vLi4vaGVscGVycy9jaGVjay11c2VybmFtZS1wbHVnaW4nXG5cbmltcG9ydCB0eXBlIHsgQWRtaW5WaWV3U2VydmVyUHJvcHMgfSBmcm9tICdwYXlsb2FkJ1xuaW1wb3J0IHR5cGUgeyBCZXR0ZXJBdXRoUGx1Z2luT3B0aW9ucywgU2FuaXRpemVkQmV0dGVyQXV0aE9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi90eXBlcydcblxuLy8gIEF2b2lkIHRoZSBuZWVkIGZvciBjdXN0b20gc3R5bGVzXG5jb25zdCBiYXNlQ2xhc3MgPSAnbG9naW4nXG5cbmNvbnN0IHNlYXJjaFBhcmFtc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgdG9rZW46IHouc3RyaW5nKClcbn0pXG5cbnR5cGUgQWRtaW5TaWdudXBQcm9wcyA9IEFkbWluVmlld1NlcnZlclByb3BzICYge1xuICBkZWZhdWx0QWRtaW5Sb2xlOiBzdHJpbmdcbiAgcGx1Z2luT3B0aW9uczogQmV0dGVyQXV0aFBsdWdpbk9wdGlvbnNcbiAgYmV0dGVyQXV0aE9wdGlvbnM6IFNhbml0aXplZEJldHRlckF1dGhPcHRpb25zXG59XG5cbmNvbnN0IEFkbWluU2lnbnVwOiBSZWFjdC5GQzxBZG1pblNpZ251cFByb3BzPiA9IGFzeW5jICh7XG4gIGluaXRQYWdlUmVzdWx0LFxuICBwYXJhbXMsXG4gIHNlYXJjaFBhcmFtcyxcbiAgcGx1Z2luT3B0aW9ucyxcbiAgYmV0dGVyQXV0aE9wdGlvbnNcbn06IEFkbWluU2lnbnVwUHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIGxvY2FsZSxcbiAgICBwZXJtaXNzaW9ucyxcbiAgICByZXEsXG4gICAgcmVxOiB7XG4gICAgICBpMThuLFxuICAgICAgdXNlcixcbiAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgY29sbGVjdGlvbnMsXG4gICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgIGFkbWluOiB7IHVzZXI6IHVzZXJTbHVnIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSA9IGluaXRQYWdlUmVzdWx0XG5cbiAgY29uc3QgeyBzdWNjZXNzLCBkYXRhIH0gPSBzZWFyY2hQYXJhbXNTY2hlbWEuc2FmZVBhcnNlKHNlYXJjaFBhcmFtcylcblxuICBsZXQgaGFzSW52YWxpZFRva2VuID0gZmFsc2VcbiAgaWYgKCFzdWNjZXNzKSB7XG4gICAgaGFzSW52YWxpZFRva2VuID0gdHJ1ZVxuICB9IGVsc2Uge1xuICAgIGNvbnN0IHsgdG90YWxEb2NzOiBpc1ZhbGlkSW52aXRlIH0gPSBhd2FpdCByZXEucGF5bG9hZC5jb3VudCh7XG4gICAgICBjb2xsZWN0aW9uOiBwbHVnaW5PcHRpb25zLmFkbWluSW52aXRhdGlvbnM/LnNsdWcgPz8gYmFzZUNvbGxlY3Rpb25TbHVncy5hZG1pbkludml0YXRpb25zLFxuICAgICAgd2hlcmU6IHsgdG9rZW46IHsgZXF1YWxzOiBkYXRhLnRva2VuIH0gfVxuICAgIH0pXG4gICAgaWYgKCFpc1ZhbGlkSW52aXRlKSB7XG4gICAgICBoYXNJbnZhbGlkVG9rZW4gPSB0cnVlXG4gICAgfVxuICB9XG5cbiAgY29uc3QgbG9naW5NZXRob2RzID0gcGx1Z2luT3B0aW9ucy5hZG1pbj8ubG9naW5NZXRob2RzID8/IFtdXG4gIGNvbnN0IGhhc1VzZXJuYW1lUGx1Z2luID0gY2hlY2tVc2VybmFtZVBsdWdpbihiZXR0ZXJBdXRoT3B0aW9ucylcbiAgY29uc3QgbG9naW5XaXRoVXNlcm5hbWUgPSBjb2xsZWN0aW9ucz8uW3VzZXJTbHVnXT8uY29uZmlnLmF1dGgubG9naW5XaXRoVXNlcm5hbWVcbiAgY29uc3QgY2FuTG9naW5XaXRoVXNlcm5hbWUgPSAoaGFzVXNlcm5hbWVQbHVnaW4gJiYgbG9naW5XaXRoVXNlcm5hbWUpID8/IGZhbHNlXG5cbiAgcmV0dXJuIChcbiAgICA8TWluaW1hbFRlbXBsYXRlIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfSBhZG1pbi1zaWdudXBgfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19icmFuZCBhZG1pbi1zaWdudXBfX2JyYW5kYH0+XG4gICAgICAgIDxMb2dvXG4gICAgICAgICAgaTE4bj17aTE4bn1cbiAgICAgICAgICBsb2NhbGU9e2xvY2FsZX1cbiAgICAgICAgICBwYXJhbXM9e3BhcmFtc31cbiAgICAgICAgICBwYXlsb2FkPXtyZXEucGF5bG9hZH1cbiAgICAgICAgICBwZXJtaXNzaW9ucz17cGVybWlzc2lvbnN9XG4gICAgICAgICAgc2VhcmNoUGFyYW1zPXtzZWFyY2hQYXJhbXN9XG4gICAgICAgICAgdXNlcj17dXNlciA/PyB1bmRlZmluZWR9XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIHtoYXNJbnZhbGlkVG9rZW4gPyAoXG4gICAgICAgIDxGb3JtSGVhZGVyXG4gICAgICAgICAgc3R5bGU9e3sgdGV4dEFsaWduOiAnY2VudGVyJyB9fVxuICAgICAgICAgIGhlYWRpbmc9XCJJbnZhbGlkIG9yIGV4cGlyZWQgdG9rZW5cIlxuICAgICAgICAgIGRlc2NyaXB0aW9uPVwiWW91IG5lZWQgdG8gZ2V0IGEgbmV3IGludml0ZSB0byBzaWduIHVwLlwiXG4gICAgICAgIC8+XG4gICAgICApIDogKFxuICAgICAgICBkYXRhICYmIChcbiAgICAgICAgICA8QWRtaW5TaWdudXBDbGllbnRcbiAgICAgICAgICAgIGFkbWluSW52aXRlVG9rZW49e2RhdGEudG9rZW59XG4gICAgICAgICAgICB1c2VyU2x1Zz17dXNlclNsdWd9XG4gICAgICAgICAgICBsb2dpbk1ldGhvZHM9e2xvZ2luTWV0aG9kc31cbiAgICAgICAgICAgIHNlYXJjaFBhcmFtcz17c2VhcmNoUGFyYW1zID8/IHt9fVxuICAgICAgICAgICAgbG9naW5XaXRoVXNlcm5hbWU9e2NhbkxvZ2luV2l0aFVzZXJuYW1lfVxuICAgICAgICAgIC8+XG4gICAgICAgIClcbiAgICAgICl9XG4gICAgPC9NaW5pbWFsVGVtcGxhdGU+XG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgQWRtaW5TaWdudXBcbiJdLCJuYW1lcyI6WyJSZWFjdCIsInoiLCJMb2dvIiwiTWluaW1hbFRlbXBsYXRlIiwiQWRtaW5TaWdudXBDbGllbnQiLCJGb3JtSGVhZGVyIiwiYmFzZUNvbGxlY3Rpb25TbHVncyIsImNoZWNrVXNlcm5hbWVQbHVnaW4iLCJiYXNlQ2xhc3MiLCJzZWFyY2hQYXJhbXNTY2hlbWEiLCJvYmplY3QiLCJ0b2tlbiIsInN0cmluZyIsIkFkbWluU2lnbnVwIiwiaW5pdFBhZ2VSZXN1bHQiLCJwYXJhbXMiLCJzZWFyY2hQYXJhbXMiLCJwbHVnaW5PcHRpb25zIiwiYmV0dGVyQXV0aE9wdGlvbnMiLCJsb2NhbGUiLCJwZXJtaXNzaW9ucyIsInJlcSIsImkxOG4iLCJ1c2VyIiwicGF5bG9hZCIsImNvbGxlY3Rpb25zIiwiY29uZmlnIiwiYWRtaW4iLCJ1c2VyU2x1ZyIsInN1Y2Nlc3MiLCJkYXRhIiwic2FmZVBhcnNlIiwiaGFzSW52YWxpZFRva2VuIiwidG90YWxEb2NzIiwiaXNWYWxpZEludml0ZSIsImNvdW50IiwiY29sbGVjdGlvbiIsImFkbWluSW52aXRhdGlvbnMiLCJzbHVnIiwid2hlcmUiLCJlcXVhbHMiLCJsb2dpbk1ldGhvZHMiLCJoYXNVc2VybmFtZVBsdWdpbiIsImxvZ2luV2l0aFVzZXJuYW1lIiwiYXV0aCIsImNhbkxvZ2luV2l0aFVzZXJuYW1lIiwiY2xhc3NOYW1lIiwiZGl2IiwidW5kZWZpbmVkIiwic3R5bGUiLCJ0ZXh0QWxpZ24iLCJoZWFkaW5nIiwiZGVzY3JpcHRpb24iLCJhZG1pbkludml0ZVRva2VuIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsV0FBVyxRQUFPO0FBRXpCLFNBQVNDLENBQUMsUUFBUSxNQUFLO0FBQ3ZCLFNBQVNDLElBQUksUUFBUSx3Q0FBdUM7QUFDNUQsU0FBU0MsZUFBZSxRQUFRLDZCQUE0QjtBQUM1RCxTQUFTQyxpQkFBaUIsUUFBUSxXQUFVO0FBQzVDLFNBQVNDLFVBQVUsUUFBUSx1Q0FBc0M7QUFDakUsU0FBU0MsbUJBQW1CLFFBQVEscUJBQW9CO0FBQ3hELFNBQVNDLG1CQUFtQixRQUFRLHlDQUF3QztBQUs1RSxvQ0FBb0M7QUFDcEMsTUFBTUMsWUFBWTtBQUVsQixNQUFNQyxxQkFBcUJSLEVBQUVTLE1BQU0sQ0FBQztJQUNsQ0MsT0FBT1YsRUFBRVcsTUFBTTtBQUNqQjtBQVFBLE1BQU1DLGNBQTBDLE9BQU8sRUFDckRDLGNBQWMsRUFDZEMsTUFBTSxFQUNOQyxZQUFZLEVBQ1pDLGFBQWEsRUFDYkMsaUJBQWlCLEVBQ0E7SUFDakIsTUFBTSxFQUNKQyxNQUFNLEVBQ05DLFdBQVcsRUFDWEMsR0FBRyxFQUNIQSxLQUFLLEVBQ0hDLElBQUksRUFDSkMsSUFBSSxFQUNKQyxTQUFTLEVBQ1BDLFdBQVcsRUFDWEMsUUFBUSxFQUNOQyxPQUFPLEVBQUVKLE1BQU1LLFFBQVEsRUFBRSxFQUMxQixFQUNGLEVBQ0YsRUFDRixHQUFHZDtJQUVKLE1BQU0sRUFBRWUsT0FBTyxFQUFFQyxJQUFJLEVBQUUsR0FBR3JCLG1CQUFtQnNCLFNBQVMsQ0FBQ2Y7SUFFdkQsSUFBSWdCLGtCQUFrQjtJQUN0QixJQUFJLENBQUNILFNBQVM7UUFDWkcsa0JBQWtCO0lBQ3BCLE9BQU87UUFDTCxNQUFNLEVBQUVDLFdBQVdDLGFBQWEsRUFBRSxHQUFHLE1BQU1iLElBQUlHLE9BQU8sQ0FBQ1csS0FBSyxDQUFDO1lBQzNEQyxZQUFZbkIsY0FBY29CLGdCQUFnQixFQUFFQyxRQUFRaEMsb0JBQW9CK0IsZ0JBQWdCO1lBQ3hGRSxPQUFPO2dCQUFFNUIsT0FBTztvQkFBRTZCLFFBQVFWLEtBQUtuQixLQUFLO2dCQUFDO1lBQUU7UUFDekM7UUFDQSxJQUFJLENBQUN1QixlQUFlO1lBQ2xCRixrQkFBa0I7UUFDcEI7SUFDRjtJQUVBLE1BQU1TLGVBQWV4QixjQUFjVSxLQUFLLEVBQUVjLGdCQUFnQixFQUFFO0lBQzVELE1BQU1DLG9CQUFvQm5DLG9CQUFvQlc7SUFDOUMsTUFBTXlCLG9CQUFvQmxCLGFBQWEsQ0FBQ0csU0FBUyxFQUFFRixPQUFPa0IsS0FBS0Q7SUFDL0QsTUFBTUUsdUJBQXVCLEFBQUNILENBQUFBLHFCQUFxQkMsaUJBQWdCLEtBQU07SUFFekUscUJBQ0UsTUFBQ3hDO1FBQWdCMkMsV0FBVyxHQUFHdEMsVUFBVSxhQUFhLENBQUM7OzBCQUNyRCxLQUFDdUM7Z0JBQUlELFdBQVcsR0FBR3RDLFVBQVUsMkJBQTJCLENBQUM7MEJBQ3ZELGNBQUEsS0FBQ047b0JBQ0NvQixNQUFNQTtvQkFDTkgsUUFBUUE7b0JBQ1JKLFFBQVFBO29CQUNSUyxTQUFTSCxJQUFJRyxPQUFPO29CQUNwQkosYUFBYUE7b0JBQ2JKLGNBQWNBO29CQUNkTyxNQUFNQSxRQUFReUI7OztZQUdqQmhCLGdDQUNDLEtBQUMzQjtnQkFDQzRDLE9BQU87b0JBQUVDLFdBQVc7Z0JBQVM7Z0JBQzdCQyxTQUFRO2dCQUNSQyxhQUFZO2lCQUdkdEIsc0JBQ0UsS0FBQzFCO2dCQUNDaUQsa0JBQWtCdkIsS0FBS25CLEtBQUs7Z0JBQzVCaUIsVUFBVUE7Z0JBQ1ZhLGNBQWNBO2dCQUNkekIsY0FBY0EsZ0JBQWdCLENBQUM7Z0JBQy9CMkIsbUJBQW1CRTs7OztBQU0vQjtBQUVBLGVBQWVoQyxZQUFXIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/payload/views/forgot-password/client.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,EAAE,EAAsC,MAAM,OAAO,CAAA;AAOnE,KAAK,uBAAuB,GAAG,EAAE,CAAA;AAEjC,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,uBAAuB,CAiE1D,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/payload/views/forgot-password/client.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAG/B,KAAK,uBAAuB,GAAG,EAAE,CAAA;AAEjC,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,uBAAuB,CAiE1D,CAAA"}
@@ -1,15 +1,13 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import React, { useMemo, useState } from "react";
4
3
  import { createAuthClient } from "better-auth/react";
5
- // import { Form } from '@/shared/form/ui'
6
- // import { EmailField } from '@/shared/form/components/email'
7
- import { toast, useConfig, useTranslation } from "@payloadcms/ui";
8
- import { FormHeader } from "../../../../../shared/form/ui/header";
4
+ import { useMemo, useState } from "react";
9
5
  import { adminRoutes } from "../../../constants";
10
- import { Form, FormInputWrap } from "../../../../../shared/form/ui";
11
6
  import { useAppForm } from "../../../../../shared/form";
7
+ import { Form, FormInputWrap } from "../../../../../shared/form/ui";
8
+ import { FormHeader } from "../../../../../shared/form/ui/header";
12
9
  import { emailRegex } from "../../../../../shared/utils/regex";
10
+ import { toast, useConfig, useTranslation } from "@payloadcms/ui";
13
11
  import { z } from "zod";
14
12
  export const ForgotPasswordForm = ()=>{
15
13
  const { t } = useTranslation();
@@ -88,4 +86,4 @@ export const ForgotPasswordForm = ()=>{
88
86
  });
89
87
  };
90
88
 
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC92aWV3cy9mb3Jnb3QtcGFzc3dvcmQvY2xpZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8sIHVzZVN0YXRlLCB1c2VUcmFuc2l0aW9uIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVBdXRoQ2xpZW50IH0gZnJvbSAnYmV0dGVyLWF1dGgvcmVhY3QnXG4vLyBpbXBvcnQgeyBGb3JtIH0gZnJvbSAnQC9zaGFyZWQvZm9ybS91aSdcbi8vIGltcG9ydCB7IEVtYWlsRmllbGQgfSBmcm9tICdAL3NoYXJlZC9mb3JtL2NvbXBvbmVudHMvZW1haWwnXG5pbXBvcnQgeyBGb3JtU3VibWl0LCBMaW5rLCB0b2FzdCwgdXNlQ29uZmlnLCB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ0BwYXlsb2FkY21zL3VpJ1xuaW1wb3J0IHsgRm9ybUhlYWRlciB9IGZyb20gJ0Avc2hhcmVkL2Zvcm0vdWkvaGVhZGVyJ1xuaW1wb3J0IHR5cGUgeyBGQywgRm9ybUV2ZW50LCBDaGFuZ2VFdmVudCwgRm9jdXNFdmVudCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgYWRtaW5Sb3V0ZXMgfSBmcm9tICdAL2JldHRlci1hdXRoL3BsdWdpbi9jb25zdGFudHMnXG5pbXBvcnQgeyBGb3JtLCBGb3JtSW5wdXRXcmFwIH0gZnJvbSAnQC9zaGFyZWQvZm9ybS91aSdcbmltcG9ydCB7IHVzZUFwcEZvcm0gfSBmcm9tICdAL3NoYXJlZC9mb3JtJ1xuaW1wb3J0IHsgZW1haWxSZWdleCB9IGZyb20gJ0Avc2hhcmVkL3V0aWxzL3JlZ2V4J1xuaW1wb3J0IHsgeiB9IGZyb20gJ3pvZCdcblxudHlwZSBGb3Jnb3RQYXNzd29yZEZvcm1Qcm9wcyA9IHt9XG5cbmV4cG9ydCBjb25zdCBGb3Jnb3RQYXNzd29yZEZvcm06IEZDPEZvcmdvdFBhc3N3b3JkRm9ybVByb3BzPiA9ICgpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpXG4gIGNvbnN0IHsgY29uZmlnIH0gPSB1c2VDb25maWcoKVxuICBjb25zdCBhZG1pblJvdXRlID0gY29uZmlnLnJvdXRlcy5hZG1pblxuICBjb25zdCBbaGFzU3VibWl0dGVkLCBzZXRIYXNTdWJtaXR0ZWRdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpXG4gIGNvbnN0IGF1dGhDbGllbnQgPSB1c2VNZW1vKCgpID0+IGNyZWF0ZUF1dGhDbGllbnQoKSwgW10pXG5cbiAgY29uc3QgZm9yZ290U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGVtYWlsOiB6LnN0cmluZygpLnJlZmluZShcbiAgICAgICh2YWwpID0+IGVtYWlsUmVnZXgudGVzdCh2YWwpLFxuICAgICAgKHZhbCkgPT4gKHsgbWVzc2FnZTogdmFsID8gdCgnYXV0aGVudGljYXRpb246ZW1haWxOb3RWYWxpZCcpIHx8ICdJbnZhbGlkIGVtYWlsJyA6IHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKSB9KVxuICAgIClcbiAgfSlcblxuICBjb25zdCBmb3JtID0gdXNlQXBwRm9ybSh7XG4gICAgZGVmYXVsdFZhbHVlczoge1xuICAgICAgZW1haWw6ICcnXG4gICAgfSxcbiAgICBvblN1Ym1pdDogYXN5bmMgKHsgdmFsdWUgfSkgPT4ge1xuICAgICAgY29uc3QgeyBlbWFpbCB9ID0gdmFsdWVcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZGF0YSwgZXJyb3IgfSA9IGF3YWl0IGF1dGhDbGllbnQuZm9yZ2V0UGFzc3dvcmQoe1xuICAgICAgICAgIGVtYWlsLFxuICAgICAgICAgIHJlZGlyZWN0VG86IGAke2FkbWluUm91dGV9JHthZG1pblJvdXRlcy5yZXNldFBhc3N3b3JkfWBcbiAgICAgICAgfSlcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgdG9hc3QuZXJyb3IoZXJyb3IubWVzc2FnZSB8fCB0KCdhdXRoZW50aWNhdGlvbjplbWFpbE5vdFZhbGlkJykgfHwgJ0Vycm9yJylcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICBpZiAoZGF0YT8uc3RhdHVzKSB7XG4gICAgICAgICAgc2V0SGFzU3VibWl0dGVkKHRydWUpXG4gICAgICAgICAgdG9hc3Quc3VjY2VzcygnU3VjY2Vzc2Z1bGx5IHNlbnQgcmVzZXQgZW1haWwuJylcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0b2FzdC5lcnJvcih0KCdnZW5lcmFsOmVycm9yJykgfHwgJ1NlcnZlciBFcnJvcicpXG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgdG9hc3QuZXJyb3IodCgnZ2VuZXJhbDplcnJvcicpIHx8ICdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkJylcbiAgICAgIH1cbiAgICB9LFxuICAgIHZhbGlkYXRvcnM6IHtcbiAgICAgIG9uU3VibWl0OiBmb3Jnb3RTY2hlbWFcbiAgICB9XG4gIH0pXG5cbiAgaWYgKGhhc1N1Ym1pdHRlZCkge1xuICAgIHJldHVybiA8Rm9ybUhlYWRlciBkZXNjcmlwdGlvbj17dCgnYXV0aGVudGljYXRpb246Y2hlY2tZb3VyRW1haWxGb3JQYXNzd29yZFJlc2V0Jyl9IGhlYWRpbmc9e3QoJ2F1dGhlbnRpY2F0aW9uOmVtYWlsU2VudCcpfSAvPlxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8Rm9ybVxuICAgICAgb25TdWJtaXQ9eyhlKSA9PiB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgICB2b2lkIGZvcm0uaGFuZGxlU3VibWl0KClcbiAgICAgIH19XG4gICAgPlxuICAgICAgPEZvcm1IZWFkZXIgaGVhZGluZz17dCgnYXV0aGVudGljYXRpb246Zm9yZ290UGFzc3dvcmQnKX0gZGVzY3JpcHRpb249e3QoJ2F1dGhlbnRpY2F0aW9uOmZvcmdvdFBhc3N3b3JkRW1haWxJbnN0cnVjdGlvbnMnKX0gLz5cbiAgICAgIDxGb3JtSW5wdXRXcmFwPlxuICAgICAgICA8Zm9ybS5BcHBGaWVsZFxuICAgICAgICAgIG5hbWU9XCJlbWFpbFwiXG4gICAgICAgICAgY2hpbGRyZW49eyhmaWVsZCkgPT4gPGZpZWxkLlRleHRGaWVsZCB0eXBlPVwidGV4dFwiIGNsYXNzTmFtZT1cImVtYWlsXCIgYXV0b0NvbXBsZXRlPVwiZW1haWxcIiBsYWJlbD17dCgnZ2VuZXJhbDplbWFpbCcpfSAvPn1cbiAgICAgICAgLz5cbiAgICAgIDwvRm9ybUlucHV0V3JhcD5cbiAgICAgIDxmb3JtLkFwcEZvcm0gY2hpbGRyZW49ezxmb3JtLlN1Ym1pdCBsYWJlbD17dCgnZ2VuZXJhbDpzdWJtaXQnKX0gbG9hZGluZ0xhYmVsPXt0KCdnZW5lcmFsOmxvYWRpbmcnKX0gLz59IC8+XG4gICAgPC9Gb3JtPlxuICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VNZW1vIiwidXNlU3RhdGUiLCJjcmVhdGVBdXRoQ2xpZW50IiwidG9hc3QiLCJ1c2VDb25maWciLCJ1c2VUcmFuc2xhdGlvbiIsIkZvcm1IZWFkZXIiLCJhZG1pblJvdXRlcyIsIkZvcm0iLCJGb3JtSW5wdXRXcmFwIiwidXNlQXBwRm9ybSIsImVtYWlsUmVnZXgiLCJ6IiwiRm9yZ290UGFzc3dvcmRGb3JtIiwidCIsImNvbmZpZyIsImFkbWluUm91dGUiLCJyb3V0ZXMiLCJhZG1pbiIsImhhc1N1Ym1pdHRlZCIsInNldEhhc1N1Ym1pdHRlZCIsImF1dGhDbGllbnQiLCJmb3Jnb3RTY2hlbWEiLCJvYmplY3QiLCJlbWFpbCIsInN0cmluZyIsInJlZmluZSIsInZhbCIsInRlc3QiLCJtZXNzYWdlIiwiZm9ybSIsImRlZmF1bHRWYWx1ZXMiLCJvblN1Ym1pdCIsInZhbHVlIiwiZGF0YSIsImVycm9yIiwiZm9yZ2V0UGFzc3dvcmQiLCJyZWRpcmVjdFRvIiwicmVzZXRQYXNzd29yZCIsInN0YXR1cyIsInN1Y2Nlc3MiLCJlIiwidmFsaWRhdG9ycyIsImRlc2NyaXB0aW9uIiwiaGVhZGluZyIsInByZXZlbnREZWZhdWx0IiwiaGFuZGxlU3VibWl0IiwiQXBwRmllbGQiLCJuYW1lIiwiY2hpbGRyZW4iLCJmaWVsZCIsIlRleHRGaWVsZCIsInR5cGUiLCJjbGFzc05hbWUiLCJhdXRvQ29tcGxldGUiLCJsYWJlbCIsIkFwcEZvcm0iLCJTdWJtaXQiLCJsb2FkaW5nTGFiZWwiXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBLE9BQU9BLFNBQVNDLE9BQU8sRUFBRUMsUUFBUSxRQUF1QixRQUFPO0FBQy9ELFNBQVNDLGdCQUFnQixRQUFRLG9CQUFtQjtBQUNwRCwwQ0FBMEM7QUFDMUMsOERBQThEO0FBQzlELFNBQTJCQyxLQUFLLEVBQUVDLFNBQVMsRUFBRUMsY0FBYyxRQUFRLGlCQUFnQjtBQUNuRixTQUFTQyxVQUFVLFFBQVEsdUNBQXlCO0FBRXBELFNBQVNDLFdBQVcsUUFBUSxxQkFBZ0M7QUFDNUQsU0FBU0MsSUFBSSxFQUFFQyxhQUFhLFFBQVEsZ0NBQWtCO0FBQ3RELFNBQVNDLFVBQVUsUUFBUSw2QkFBZTtBQUMxQyxTQUFTQyxVQUFVLFFBQVEsb0NBQXNCO0FBQ2pELFNBQVNDLENBQUMsUUFBUSxNQUFLO0FBSXZCLE9BQU8sTUFBTUMscUJBQWtEO0lBQzdELE1BQU0sRUFBRUMsQ0FBQyxFQUFFLEdBQUdUO0lBQ2QsTUFBTSxFQUFFVSxNQUFNLEVBQUUsR0FBR1g7SUFDbkIsTUFBTVksYUFBYUQsT0FBT0UsTUFBTSxDQUFDQyxLQUFLO0lBQ3RDLE1BQU0sQ0FBQ0MsY0FBY0MsZ0JBQWdCLEdBQUduQixTQUFrQjtJQUMxRCxNQUFNb0IsYUFBYXJCLFFBQVEsSUFBTUUsb0JBQW9CLEVBQUU7SUFFdkQsTUFBTW9CLGVBQWVWLEVBQUVXLE1BQU0sQ0FBQztRQUM1QkMsT0FBT1osRUFBRWEsTUFBTSxHQUFHQyxNQUFNLENBQ3RCLENBQUNDLE1BQVFoQixXQUFXaUIsSUFBSSxDQUFDRCxNQUN6QixDQUFDQSxNQUFTLENBQUE7Z0JBQUVFLFNBQVNGLE1BQU1iLEVBQUUsbUNBQW1DLGtCQUFrQkEsRUFBRTtZQUF1QixDQUFBO0lBRS9HO0lBRUEsTUFBTWdCLE9BQU9wQixXQUFXO1FBQ3RCcUIsZUFBZTtZQUNiUCxPQUFPO1FBQ1Q7UUFDQVEsVUFBVSxPQUFPLEVBQUVDLEtBQUssRUFBRTtZQUN4QixNQUFNLEVBQUVULEtBQUssRUFBRSxHQUFHUztZQUNsQixJQUFJO2dCQUNGLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxLQUFLLEVBQUUsR0FBRyxNQUFNZCxXQUFXZSxjQUFjLENBQUM7b0JBQ3REWjtvQkFDQWEsWUFBWSxHQUFHckIsYUFBYVQsWUFBWStCLGFBQWEsRUFBRTtnQkFDekQ7Z0JBQ0EsSUFBSUgsT0FBTztvQkFDVGhDLE1BQU1nQyxLQUFLLENBQUNBLE1BQU1OLE9BQU8sSUFBSWYsRUFBRSxtQ0FBbUM7b0JBQ2xFO2dCQUNGO2dCQUNBLElBQUlvQixNQUFNSyxRQUFRO29CQUNoQm5CLGdCQUFnQjtvQkFDaEJqQixNQUFNcUMsT0FBTyxDQUFDO2dCQUNoQixPQUFPO29CQUNMckMsTUFBTWdDLEtBQUssQ0FBQ3JCLEVBQUUsb0JBQW9CO2dCQUNwQztZQUNGLEVBQUUsT0FBTzJCLEdBQUc7Z0JBQ1Z0QyxNQUFNZ0MsS0FBSyxDQUFDckIsRUFBRSxvQkFBb0I7WUFDcEM7UUFDRjtRQUNBNEIsWUFBWTtZQUNWVixVQUFVVjtRQUNaO0lBQ0Y7SUFFQSxJQUFJSCxjQUFjO1FBQ2hCLHFCQUFPLEtBQUNiO1lBQVdxQyxhQUFhN0IsRUFBRTtZQUFrRDhCLFNBQVM5QixFQUFFOztJQUNqRztJQUVBLHFCQUNFLE1BQUNOO1FBQ0N3QixVQUFVLENBQUNTO1lBQ1RBLEVBQUVJLGNBQWM7WUFDaEIsS0FBS2YsS0FBS2dCLFlBQVk7UUFDeEI7OzBCQUVBLEtBQUN4QztnQkFBV3NDLFNBQVM5QixFQUFFO2dCQUFrQzZCLGFBQWE3QixFQUFFOzswQkFDeEUsS0FBQ0w7MEJBQ0MsY0FBQSxLQUFDcUIsS0FBS2lCLFFBQVE7b0JBQ1pDLE1BQUs7b0JBQ0xDLFVBQVUsQ0FBQ0Msc0JBQVUsS0FBQ0EsTUFBTUMsU0FBUzs0QkFBQ0MsTUFBSzs0QkFBT0MsV0FBVTs0QkFBUUMsY0FBYTs0QkFBUUMsT0FBT3pDLEVBQUU7Ozs7MEJBR3RHLEtBQUNnQixLQUFLMEIsT0FBTztnQkFBQ1Asd0JBQVUsS0FBQ25CLEtBQUsyQixNQUFNO29CQUFDRixPQUFPekMsRUFBRTtvQkFBbUI0QyxjQUFjNUMsRUFBRTs7Ozs7QUFHdkYsRUFBQyJ9
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC92aWV3cy9mb3Jnb3QtcGFzc3dvcmQvY2xpZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHsgY3JlYXRlQXV0aENsaWVudCB9IGZyb20gJ2JldHRlci1hdXRoL3JlYWN0J1xuaW1wb3J0IHsgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGFkbWluUm91dGVzIH0gZnJvbSAnQC9iZXR0ZXItYXV0aC9wbHVnaW4vY29uc3RhbnRzJ1xuaW1wb3J0IHsgdXNlQXBwRm9ybSB9IGZyb20gJ0Avc2hhcmVkL2Zvcm0nXG5pbXBvcnQgeyBGb3JtLCBGb3JtSW5wdXRXcmFwIH0gZnJvbSAnQC9zaGFyZWQvZm9ybS91aSdcbmltcG9ydCB7IEZvcm1IZWFkZXIgfSBmcm9tICdAL3NoYXJlZC9mb3JtL3VpL2hlYWRlcidcbmltcG9ydCB7IGVtYWlsUmVnZXggfSBmcm9tICdAL3NoYXJlZC91dGlscy9yZWdleCdcbmltcG9ydCB7IHRvYXN0LCB1c2VDb25maWcsIHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAnQHBheWxvYWRjbXMvdWknXG5pbXBvcnQgdHlwZSB7IEZDIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB6IH0gZnJvbSAnem9kJ1xuXG50eXBlIEZvcmdvdFBhc3N3b3JkRm9ybVByb3BzID0ge31cblxuZXhwb3J0IGNvbnN0IEZvcmdvdFBhc3N3b3JkRm9ybTogRkM8Rm9yZ290UGFzc3dvcmRGb3JtUHJvcHM+ID0gKCkgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKClcbiAgY29uc3QgeyBjb25maWcgfSA9IHVzZUNvbmZpZygpXG4gIGNvbnN0IGFkbWluUm91dGUgPSBjb25maWcucm91dGVzLmFkbWluXG4gIGNvbnN0IFtoYXNTdWJtaXR0ZWQsIHNldEhhc1N1Ym1pdHRlZF0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSlcbiAgY29uc3QgYXV0aENsaWVudCA9IHVzZU1lbW8oKCkgPT4gY3JlYXRlQXV0aENsaWVudCgpLCBbXSlcblxuICBjb25zdCBmb3Jnb3RTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgZW1haWw6IHouc3RyaW5nKCkucmVmaW5lKFxuICAgICAgKHZhbCkgPT4gZW1haWxSZWdleC50ZXN0KHZhbCksXG4gICAgICAodmFsKSA9PiAoeyBtZXNzYWdlOiB2YWwgPyB0KCdhdXRoZW50aWNhdGlvbjplbWFpbE5vdFZhbGlkJykgfHwgJ0ludmFsaWQgZW1haWwnIDogdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpIH0pXG4gICAgKVxuICB9KVxuXG4gIGNvbnN0IGZvcm0gPSB1c2VBcHBGb3JtKHtcbiAgICBkZWZhdWx0VmFsdWVzOiB7XG4gICAgICBlbWFpbDogJydcbiAgICB9LFxuICAgIG9uU3VibWl0OiBhc3luYyAoeyB2YWx1ZSB9KSA9PiB7XG4gICAgICBjb25zdCB7IGVtYWlsIH0gPSB2YWx1ZVxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBkYXRhLCBlcnJvciB9ID0gYXdhaXQgYXV0aENsaWVudC5mb3JnZXRQYXNzd29yZCh7XG4gICAgICAgICAgZW1haWwsXG4gICAgICAgICAgcmVkaXJlY3RUbzogYCR7YWRtaW5Sb3V0ZX0ke2FkbWluUm91dGVzLnJlc2V0UGFzc3dvcmR9YFxuICAgICAgICB9KVxuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICB0b2FzdC5lcnJvcihlcnJvci5tZXNzYWdlIHx8IHQoJ2F1dGhlbnRpY2F0aW9uOmVtYWlsTm90VmFsaWQnKSB8fCAnRXJyb3InKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICAgIGlmIChkYXRhPy5zdGF0dXMpIHtcbiAgICAgICAgICBzZXRIYXNTdWJtaXR0ZWQodHJ1ZSlcbiAgICAgICAgICB0b2FzdC5zdWNjZXNzKCdTdWNjZXNzZnVsbHkgc2VudCByZXNldCBlbWFpbC4nKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRvYXN0LmVycm9yKHQoJ2dlbmVyYWw6ZXJyb3InKSB8fCAnU2VydmVyIEVycm9yJylcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0b2FzdC5lcnJvcih0KCdnZW5lcmFsOmVycm9yJykgfHwgJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJyZWQnKVxuICAgICAgfVxuICAgIH0sXG4gICAgdmFsaWRhdG9yczoge1xuICAgICAgb25TdWJtaXQ6IGZvcmdvdFNjaGVtYVxuICAgIH1cbiAgfSlcblxuICBpZiAoaGFzU3VibWl0dGVkKSB7XG4gICAgcmV0dXJuIDxGb3JtSGVhZGVyIGRlc2NyaXB0aW9uPXt0KCdhdXRoZW50aWNhdGlvbjpjaGVja1lvdXJFbWFpbEZvclBhc3N3b3JkUmVzZXQnKX0gaGVhZGluZz17dCgnYXV0aGVudGljYXRpb246ZW1haWxTZW50Jyl9IC8+XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxGb3JtXG4gICAgICBvblN1Ym1pdD17KGUpID0+IHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIHZvaWQgZm9ybS5oYW5kbGVTdWJtaXQoKVxuICAgICAgfX1cbiAgICA+XG4gICAgICA8Rm9ybUhlYWRlciBoZWFkaW5nPXt0KCdhdXRoZW50aWNhdGlvbjpmb3Jnb3RQYXNzd29yZCcpfSBkZXNjcmlwdGlvbj17dCgnYXV0aGVudGljYXRpb246Zm9yZ290UGFzc3dvcmRFbWFpbEluc3RydWN0aW9ucycpfSAvPlxuICAgICAgPEZvcm1JbnB1dFdyYXA+XG4gICAgICAgIDxmb3JtLkFwcEZpZWxkXG4gICAgICAgICAgbmFtZT1cImVtYWlsXCJcbiAgICAgICAgICBjaGlsZHJlbj17KGZpZWxkKSA9PiA8ZmllbGQuVGV4dEZpZWxkIHR5cGU9XCJ0ZXh0XCIgY2xhc3NOYW1lPVwiZW1haWxcIiBhdXRvQ29tcGxldGU9XCJlbWFpbFwiIGxhYmVsPXt0KCdnZW5lcmFsOmVtYWlsJyl9IC8+fVxuICAgICAgICAvPlxuICAgICAgPC9Gb3JtSW5wdXRXcmFwPlxuICAgICAgPGZvcm0uQXBwRm9ybSBjaGlsZHJlbj17PGZvcm0uU3VibWl0IGxhYmVsPXt0KCdnZW5lcmFsOnN1Ym1pdCcpfSBsb2FkaW5nTGFiZWw9e3QoJ2dlbmVyYWw6bG9hZGluZycpfSAvPn0gLz5cbiAgICA8L0Zvcm0+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGVBdXRoQ2xpZW50IiwidXNlTWVtbyIsInVzZVN0YXRlIiwiYWRtaW5Sb3V0ZXMiLCJ1c2VBcHBGb3JtIiwiRm9ybSIsIkZvcm1JbnB1dFdyYXAiLCJGb3JtSGVhZGVyIiwiZW1haWxSZWdleCIsInRvYXN0IiwidXNlQ29uZmlnIiwidXNlVHJhbnNsYXRpb24iLCJ6IiwiRm9yZ290UGFzc3dvcmRGb3JtIiwidCIsImNvbmZpZyIsImFkbWluUm91dGUiLCJyb3V0ZXMiLCJhZG1pbiIsImhhc1N1Ym1pdHRlZCIsInNldEhhc1N1Ym1pdHRlZCIsImF1dGhDbGllbnQiLCJmb3Jnb3RTY2hlbWEiLCJvYmplY3QiLCJlbWFpbCIsInN0cmluZyIsInJlZmluZSIsInZhbCIsInRlc3QiLCJtZXNzYWdlIiwiZm9ybSIsImRlZmF1bHRWYWx1ZXMiLCJvblN1Ym1pdCIsInZhbHVlIiwiZGF0YSIsImVycm9yIiwiZm9yZ2V0UGFzc3dvcmQiLCJyZWRpcmVjdFRvIiwicmVzZXRQYXNzd29yZCIsInN0YXR1cyIsInN1Y2Nlc3MiLCJlIiwidmFsaWRhdG9ycyIsImRlc2NyaXB0aW9uIiwiaGVhZGluZyIsInByZXZlbnREZWZhdWx0IiwiaGFuZGxlU3VibWl0IiwiQXBwRmllbGQiLCJuYW1lIiwiY2hpbGRyZW4iLCJmaWVsZCIsIlRleHRGaWVsZCIsInR5cGUiLCJjbGFzc05hbWUiLCJhdXRvQ29tcGxldGUiLCJsYWJlbCIsIkFwcEZvcm0iLCJTdWJtaXQiLCJsb2FkaW5nTGFiZWwiXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBLFNBQVNBLGdCQUFnQixRQUFRLG9CQUFtQjtBQUNwRCxT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
@@ -1,7 +1,7 @@
1
1
  import type { UnionToIntersection, betterAuth } from 'better-auth';
2
2
  import type { BetterAuthOptions as BetterAuthOptionsType, BetterAuthPlugin as BetterAuthPluginType, InferAPI, InferPluginTypes } from 'better-auth/types';
3
3
  import type { BasePayload, CollectionConfig, Config, Endpoint, Payload, PayloadRequest } from 'payload';
4
- import { adminRoutes } from './constants';
4
+ import { adminRoutes, loginMethods, socialProviders } from './constants';
5
5
  /**
6
6
  * BetterAuth options with the following caveats:
7
7
  * - The `database` option is removed as it is configured internally
@@ -21,13 +21,8 @@ export interface BetterAuthOptions extends Omit<BetterAuthOptionsType, 'database
21
21
  }
22
22
  export interface SanitizedBetterAuthOptions extends Omit<BetterAuthOptionsType, 'database'> {
23
23
  }
24
- export type SocialProvider = keyof NonNullable<BetterAuthOptionsType['socialProviders']>;
25
- export type SocialProviders = {
26
- [key in SocialProvider]?: {
27
- enabled?: boolean;
28
- disableSignUp?: boolean;
29
- };
30
- };
24
+ export type SocialProvider = (typeof socialProviders)[number];
25
+ export type LoginMethod = (typeof loginMethods)[number];
31
26
  export interface BetterAuthPluginOptions {
32
27
  /**
33
28
  * Disable the plugin
@@ -54,15 +49,13 @@ export interface BetterAuthPluginOptions {
54
49
  *
55
50
  * These components will be used to render the login, create first admin, and other auth-related views
56
51
  */
57
- adminComponents?: {
52
+ admin?: {
58
53
  /**
59
- * Custom social providers
60
- *
61
- * This will add social providers to the login view
54
+ * Override which social buttons are shown in the Payload Login / Sign Up view.
62
55
  *
63
- * Make sure to include the provider in the betterAuthOptions.socialProviders array
56
+ * Provide an array of LoginMethod keys.
64
57
  */
65
- socialProviders?: SocialProviders;
58
+ loginMethods?: LoginMethod[];
66
59
  };
67
60
  /**
68
61
  * Debug options
@@ -89,6 +82,22 @@ export interface BetterAuthPluginOptions {
89
82
  * @default "Auth"
90
83
  */
91
84
  collectionAdminGroup?: string;
85
+ /**
86
+ * Require a valid admin invitation for any *public* sign‑up.
87
+ *
88
+ * – Applies to both email/password and social‑provider flows.
89
+ * – Existing users can still sign in; admins can still create users via
90
+ * the Payload UI or server‑side calls.
91
+ * – Ignores provider‑level `disableImplicitSignUp` and `disableSignUp`:
92
+ * with a valid invite the sign‑up proceeds, without one it's blocked.
93
+ * – Also sets `disableImplicitSignUp` for all providers, requiring `requestSignUp` to be true for all `authClient.signIn.social` calls when creating a new account with a provider.
94
+ *
95
+ * Enable when you want OAuth for internal/admin use only and no public
96
+ * registrations at all.
97
+ *
98
+ * @default false
99
+ */
100
+ requireAdminInviteForSignUp?: boolean;
92
101
  /**
93
102
  * Configure the Users collections:
94
103
  */