@delmaredigital/payload-better-auth 0.3.8 → 0.3.10

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 (206) hide show
  1. package/dist/adapter/collections.d.ts +0 -1
  2. package/dist/adapter/collections.js +0 -2
  3. package/dist/adapter/index.d.ts +0 -1
  4. package/dist/adapter/index.js +0 -2
  5. package/dist/components/BeforeLogin.d.ts +0 -1
  6. package/dist/components/BeforeLogin.js +0 -2
  7. package/dist/components/LoginView.d.ts +0 -1
  8. package/dist/components/LoginView.js +0 -2
  9. package/dist/components/LoginViewWrapper.d.ts +0 -1
  10. package/dist/components/LoginViewWrapper.js +0 -2
  11. package/dist/components/LogoutButton.d.ts +0 -1
  12. package/dist/components/LogoutButton.js +0 -2
  13. package/dist/components/PasskeyRegisterButton.d.ts +0 -1
  14. package/dist/components/PasskeyRegisterButton.js +0 -2
  15. package/dist/components/PasskeySignInButton.d.ts +0 -1
  16. package/dist/components/PasskeySignInButton.js +0 -2
  17. package/dist/components/auth/ForgotPasswordView.d.ts +0 -1
  18. package/dist/components/auth/ForgotPasswordView.js +0 -2
  19. package/dist/components/auth/ResetPasswordView.d.ts +0 -1
  20. package/dist/components/auth/ResetPasswordView.js +0 -2
  21. package/dist/components/auth/index.d.ts +0 -1
  22. package/dist/components/auth/index.js +0 -2
  23. package/dist/components/management/ApiKeysManagementClient.d.ts +0 -1
  24. package/dist/components/management/ApiKeysManagementClient.js +0 -2
  25. package/dist/components/management/PasskeysManagementClient.d.ts +0 -1
  26. package/dist/components/management/PasskeysManagementClient.js +0 -2
  27. package/dist/components/management/SecurityNavLinks.d.ts +0 -1
  28. package/dist/components/management/SecurityNavLinks.js +0 -2
  29. package/dist/components/management/TwoFactorManagementClient.d.ts +0 -1
  30. package/dist/components/management/TwoFactorManagementClient.js +0 -2
  31. package/dist/components/management/index.d.ts +0 -1
  32. package/dist/components/management/index.js +0 -2
  33. package/dist/components/management/views/ApiKeysView.d.ts +0 -1
  34. package/dist/components/management/views/ApiKeysView.js +0 -2
  35. package/dist/components/management/views/PasskeysView.d.ts +0 -1
  36. package/dist/components/management/views/PasskeysView.js +0 -2
  37. package/dist/components/management/views/TwoFactorView.d.ts +0 -1
  38. package/dist/components/management/views/TwoFactorView.js +0 -2
  39. package/dist/components/management/views/index.d.ts +0 -1
  40. package/dist/components/management/views/index.js +0 -2
  41. package/dist/components/twoFactor/TwoFactorSetupView.d.ts +0 -1
  42. package/dist/components/twoFactor/TwoFactorSetupView.js +0 -2
  43. package/dist/components/twoFactor/TwoFactorVerifyView.d.ts +0 -1
  44. package/dist/components/twoFactor/TwoFactorVerifyView.js +0 -2
  45. package/dist/components/twoFactor/index.d.ts +0 -1
  46. package/dist/components/twoFactor/index.js +0 -2
  47. package/dist/exports/client.d.ts +0 -1
  48. package/dist/exports/client.js +0 -2
  49. package/dist/exports/components.d.ts +0 -1
  50. package/dist/exports/components.js +0 -2
  51. package/dist/exports/management.d.ts +0 -1
  52. package/dist/exports/management.js +0 -2
  53. package/dist/exports/rsc.d.ts +0 -1
  54. package/dist/exports/rsc.js +0 -2
  55. package/dist/generated-types.d.ts +0 -1
  56. package/dist/generated-types.js +0 -2
  57. package/dist/index.d.ts +0 -1
  58. package/dist/index.js +0 -2
  59. package/dist/plugin/index.d.ts +0 -1
  60. package/dist/plugin/index.js +0 -2
  61. package/dist/scripts/generate-types.d.ts +0 -1
  62. package/dist/scripts/generate-types.js +0 -2
  63. package/dist/types/apiKey.d.ts +0 -1
  64. package/dist/types/apiKey.js +0 -2
  65. package/dist/types/betterAuth.d.ts +0 -1
  66. package/dist/types/betterAuth.js +0 -2
  67. package/dist/utils/access.d.ts +0 -1
  68. package/dist/utils/access.js +0 -2
  69. package/dist/utils/apiKeyAccess.d.ts +0 -1
  70. package/dist/utils/apiKeyAccess.js +0 -2
  71. package/dist/utils/betterAuthDefaults.d.ts +0 -1
  72. package/dist/utils/betterAuthDefaults.js +0 -2
  73. package/dist/utils/detectAuthConfig.d.ts +0 -1
  74. package/dist/utils/detectAuthConfig.js +0 -2
  75. package/dist/utils/detectEnabledPlugins.d.ts +0 -1
  76. package/dist/utils/detectEnabledPlugins.js +0 -2
  77. package/dist/utils/firstUserAdmin.d.ts +0 -1
  78. package/dist/utils/firstUserAdmin.js +0 -2
  79. package/dist/utils/generateScopes.d.ts +0 -1
  80. package/dist/utils/generateScopes.js +0 -2
  81. package/dist/utils/session.d.ts +0 -1
  82. package/dist/utils/session.js +0 -2
  83. package/package.json +34 -91
  84. package/dist/adapter/collections.d.ts.map +0 -1
  85. package/dist/adapter/collections.js.map +0 -1
  86. package/dist/adapter/index.d.ts.map +0 -1
  87. package/dist/adapter/index.js.map +0 -1
  88. package/dist/components/BeforeLogin.d.ts.map +0 -1
  89. package/dist/components/BeforeLogin.js.map +0 -1
  90. package/dist/components/LoginView.d.ts.map +0 -1
  91. package/dist/components/LoginView.js.map +0 -1
  92. package/dist/components/LoginViewWrapper.d.ts.map +0 -1
  93. package/dist/components/LoginViewWrapper.js.map +0 -1
  94. package/dist/components/LogoutButton.d.ts.map +0 -1
  95. package/dist/components/LogoutButton.js.map +0 -1
  96. package/dist/components/PasskeyRegisterButton.d.ts.map +0 -1
  97. package/dist/components/PasskeyRegisterButton.js.map +0 -1
  98. package/dist/components/PasskeySignInButton.d.ts.map +0 -1
  99. package/dist/components/PasskeySignInButton.js.map +0 -1
  100. package/dist/components/auth/ForgotPasswordView.d.ts.map +0 -1
  101. package/dist/components/auth/ForgotPasswordView.js.map +0 -1
  102. package/dist/components/auth/ResetPasswordView.d.ts.map +0 -1
  103. package/dist/components/auth/ResetPasswordView.js.map +0 -1
  104. package/dist/components/auth/index.d.ts.map +0 -1
  105. package/dist/components/auth/index.js.map +0 -1
  106. package/dist/components/management/ApiKeysManagementClient.d.ts.map +0 -1
  107. package/dist/components/management/ApiKeysManagementClient.js.map +0 -1
  108. package/dist/components/management/PasskeysManagementClient.d.ts.map +0 -1
  109. package/dist/components/management/PasskeysManagementClient.js.map +0 -1
  110. package/dist/components/management/SecurityNavLinks.d.ts.map +0 -1
  111. package/dist/components/management/SecurityNavLinks.js.map +0 -1
  112. package/dist/components/management/TwoFactorManagementClient.d.ts.map +0 -1
  113. package/dist/components/management/TwoFactorManagementClient.js.map +0 -1
  114. package/dist/components/management/index.d.ts.map +0 -1
  115. package/dist/components/management/index.js.map +0 -1
  116. package/dist/components/management/views/ApiKeysView.d.ts.map +0 -1
  117. package/dist/components/management/views/ApiKeysView.js.map +0 -1
  118. package/dist/components/management/views/PasskeysView.d.ts.map +0 -1
  119. package/dist/components/management/views/PasskeysView.js.map +0 -1
  120. package/dist/components/management/views/TwoFactorView.d.ts.map +0 -1
  121. package/dist/components/management/views/TwoFactorView.js.map +0 -1
  122. package/dist/components/management/views/index.d.ts.map +0 -1
  123. package/dist/components/management/views/index.js.map +0 -1
  124. package/dist/components/twoFactor/TwoFactorSetupView.d.ts.map +0 -1
  125. package/dist/components/twoFactor/TwoFactorSetupView.js.map +0 -1
  126. package/dist/components/twoFactor/TwoFactorVerifyView.d.ts.map +0 -1
  127. package/dist/components/twoFactor/TwoFactorVerifyView.js.map +0 -1
  128. package/dist/components/twoFactor/index.d.ts.map +0 -1
  129. package/dist/components/twoFactor/index.js.map +0 -1
  130. package/dist/exports/client.d.ts.map +0 -1
  131. package/dist/exports/client.js.map +0 -1
  132. package/dist/exports/components.d.ts.map +0 -1
  133. package/dist/exports/components.js.map +0 -1
  134. package/dist/exports/management.d.ts.map +0 -1
  135. package/dist/exports/management.js.map +0 -1
  136. package/dist/exports/rsc.d.ts.map +0 -1
  137. package/dist/exports/rsc.js.map +0 -1
  138. package/dist/generated-types.d.ts.map +0 -1
  139. package/dist/generated-types.js.map +0 -1
  140. package/dist/index.d.ts.map +0 -1
  141. package/dist/index.js.map +0 -1
  142. package/dist/plugin/index.d.ts.map +0 -1
  143. package/dist/plugin/index.js.map +0 -1
  144. package/dist/scripts/generate-types.d.ts.map +0 -1
  145. package/dist/scripts/generate-types.js.map +0 -1
  146. package/dist/types/apiKey.d.ts.map +0 -1
  147. package/dist/types/apiKey.js.map +0 -1
  148. package/dist/types/betterAuth.d.ts.map +0 -1
  149. package/dist/types/betterAuth.js.map +0 -1
  150. package/dist/utils/access.d.ts.map +0 -1
  151. package/dist/utils/access.js.map +0 -1
  152. package/dist/utils/apiKeyAccess.d.ts.map +0 -1
  153. package/dist/utils/apiKeyAccess.js.map +0 -1
  154. package/dist/utils/betterAuthDefaults.d.ts.map +0 -1
  155. package/dist/utils/betterAuthDefaults.js.map +0 -1
  156. package/dist/utils/detectAuthConfig.d.ts.map +0 -1
  157. package/dist/utils/detectAuthConfig.js.map +0 -1
  158. package/dist/utils/detectEnabledPlugins.d.ts.map +0 -1
  159. package/dist/utils/detectEnabledPlugins.js.map +0 -1
  160. package/dist/utils/firstUserAdmin.d.ts.map +0 -1
  161. package/dist/utils/firstUserAdmin.js.map +0 -1
  162. package/dist/utils/generateScopes.d.ts.map +0 -1
  163. package/dist/utils/generateScopes.js.map +0 -1
  164. package/dist/utils/session.d.ts.map +0 -1
  165. package/dist/utils/session.js.map +0 -1
  166. package/src/adapter/collections.ts +0 -621
  167. package/src/adapter/index.ts +0 -712
  168. package/src/components/BeforeLogin.tsx +0 -39
  169. package/src/components/LoginView.tsx +0 -1516
  170. package/src/components/LoginViewWrapper.tsx +0 -35
  171. package/src/components/LogoutButton.tsx +0 -58
  172. package/src/components/PasskeyRegisterButton.tsx +0 -105
  173. package/src/components/PasskeySignInButton.tsx +0 -96
  174. package/src/components/auth/ForgotPasswordView.tsx +0 -274
  175. package/src/components/auth/ResetPasswordView.tsx +0 -331
  176. package/src/components/auth/index.ts +0 -8
  177. package/src/components/management/ApiKeysManagementClient.tsx +0 -988
  178. package/src/components/management/PasskeysManagementClient.tsx +0 -409
  179. package/src/components/management/SecurityNavLinks.tsx +0 -117
  180. package/src/components/management/TwoFactorManagementClient.tsx +0 -560
  181. package/src/components/management/index.ts +0 -20
  182. package/src/components/management/views/ApiKeysView.tsx +0 -57
  183. package/src/components/management/views/PasskeysView.tsx +0 -42
  184. package/src/components/management/views/TwoFactorView.tsx +0 -42
  185. package/src/components/management/views/index.ts +0 -10
  186. package/src/components/twoFactor/TwoFactorSetupView.tsx +0 -515
  187. package/src/components/twoFactor/TwoFactorVerifyView.tsx +0 -238
  188. package/src/components/twoFactor/index.ts +0 -8
  189. package/src/exports/client.ts +0 -77
  190. package/src/exports/components.ts +0 -30
  191. package/src/exports/management.ts +0 -25
  192. package/src/exports/rsc.ts +0 -11
  193. package/src/generated-types.ts +0 -269
  194. package/src/index.ts +0 -135
  195. package/src/plugin/index.ts +0 -834
  196. package/src/scripts/generate-types.ts +0 -269
  197. package/src/types/apiKey.ts +0 -63
  198. package/src/types/betterAuth.ts +0 -253
  199. package/src/utils/access.ts +0 -410
  200. package/src/utils/apiKeyAccess.ts +0 -443
  201. package/src/utils/betterAuthDefaults.ts +0 -102
  202. package/src/utils/detectAuthConfig.ts +0 -47
  203. package/src/utils/detectEnabledPlugins.ts +0 -69
  204. package/src/utils/firstUserAdmin.ts +0 -164
  205. package/src/utils/generateScopes.ts +0 -150
  206. package/src/utils/session.ts +0 -91
@@ -1,331 +0,0 @@
1
- 'use client'
2
-
3
- import { useState, useEffect, type FormEvent } from 'react'
4
- import { useRouter, useSearchParams } from 'next/navigation.js'
5
-
6
- export type ResetPasswordViewProps = {
7
- /** Custom logo element */
8
- logo?: React.ReactNode
9
- /** Page title. Default: 'Reset Password' */
10
- title?: string
11
- /** Path to redirect after successful reset. Default: '/admin/login' */
12
- afterResetPath?: string
13
- /** Minimum password length. Default: 8 */
14
- minPasswordLength?: number
15
- }
16
-
17
- /**
18
- * Reset password page component for setting a new password.
19
- * Expects a token in the URL query parameter.
20
- * Uses Better Auth's resetPassword endpoint.
21
- */
22
- export function ResetPasswordView({
23
- logo,
24
- title = 'Reset Password',
25
- afterResetPath = '/admin/login',
26
- minPasswordLength = 8,
27
- }: ResetPasswordViewProps) {
28
- const router = useRouter()
29
- const searchParams = useSearchParams()
30
- const [password, setPassword] = useState('')
31
- const [confirmPassword, setConfirmPassword] = useState('')
32
- const [error, setError] = useState<string | null>(null)
33
- const [success, setSuccess] = useState(false)
34
- const [loading, setLoading] = useState(false)
35
- const [token, setToken] = useState<string | null>(null)
36
-
37
- useEffect(() => {
38
- const tokenParam = searchParams.get('token')
39
- if (!tokenParam) {
40
- setError('Invalid or missing reset token. Please request a new password reset link.')
41
- } else {
42
- setToken(tokenParam)
43
- }
44
- }, [searchParams])
45
-
46
- async function handleSubmit(e: FormEvent) {
47
- e.preventDefault()
48
- setError(null)
49
-
50
- if (password.length < minPasswordLength) {
51
- setError(`Password must be at least ${minPasswordLength} characters.`)
52
- return
53
- }
54
-
55
- if (password !== confirmPassword) {
56
- setError('Passwords do not match.')
57
- return
58
- }
59
-
60
- if (!token) {
61
- setError('Invalid reset token.')
62
- return
63
- }
64
-
65
- setLoading(true)
66
-
67
- try {
68
- const response = await fetch('/api/auth/reset-password', {
69
- method: 'POST',
70
- headers: { 'Content-Type': 'application/json' },
71
- credentials: 'include',
72
- body: JSON.stringify({
73
- token,
74
- newPassword: password,
75
- }),
76
- })
77
-
78
- if (response.ok) {
79
- setSuccess(true)
80
- } else {
81
- const data = await response.json().catch(() => ({}))
82
- setError(data.message || data.error?.message || 'Failed to reset password. The link may have expired.')
83
- }
84
- } catch {
85
- setError('An error occurred. Please try again.')
86
- } finally {
87
- setLoading(false)
88
- }
89
- }
90
-
91
- if (success) {
92
- return (
93
- <div
94
- style={{
95
- minHeight: '100vh',
96
- display: 'flex',
97
- alignItems: 'center',
98
- justifyContent: 'center',
99
- background: 'var(--theme-bg)',
100
- padding: 'var(--base)',
101
- }}
102
- >
103
- <div
104
- style={{
105
- background: 'var(--theme-elevation-50)',
106
- padding: 'calc(var(--base) * 2)',
107
- borderRadius: 'var(--style-radius-m)',
108
- boxShadow: '0 2px 20px rgba(0, 0, 0, 0.1)',
109
- width: '100%',
110
- maxWidth: '400px',
111
- textAlign: 'center',
112
- }}
113
- >
114
- {logo && (
115
- <div style={{ marginBottom: 'calc(var(--base) * 1.5)' }}>
116
- {logo}
117
- </div>
118
- )}
119
-
120
- <h1
121
- style={{
122
- color: 'var(--theme-success-500)',
123
- fontSize: 'var(--font-size-h3)',
124
- fontWeight: 600,
125
- margin: '0 0 var(--base) 0',
126
- }}
127
- >
128
- Password Reset!
129
- </h1>
130
-
131
- <p
132
- style={{
133
- color: 'var(--theme-text)',
134
- opacity: 0.8,
135
- marginBottom: 'calc(var(--base) * 1.5)',
136
- fontSize: 'var(--font-size-small)',
137
- }}
138
- >
139
- Your password has been successfully reset. You can now log in with your new password.
140
- </p>
141
-
142
- <button
143
- onClick={() => router.push(afterResetPath)}
144
- style={{
145
- padding: 'calc(var(--base) * 0.75) calc(var(--base) * 1.5)',
146
- background: 'var(--theme-elevation-800)',
147
- border: 'none',
148
- borderRadius: 'var(--style-radius-s)',
149
- color: 'var(--theme-elevation-50)',
150
- fontSize: 'var(--font-size-base)',
151
- fontWeight: 500,
152
- cursor: 'pointer',
153
- }}
154
- >
155
- Go to Login
156
- </button>
157
- </div>
158
- </div>
159
- )
160
- }
161
-
162
- return (
163
- <div
164
- style={{
165
- minHeight: '100vh',
166
- display: 'flex',
167
- alignItems: 'center',
168
- justifyContent: 'center',
169
- background: 'var(--theme-bg)',
170
- padding: 'var(--base)',
171
- }}
172
- >
173
- <div
174
- style={{
175
- background: 'var(--theme-elevation-50)',
176
- padding: 'calc(var(--base) * 2)',
177
- borderRadius: 'var(--style-radius-m)',
178
- boxShadow: '0 2px 20px rgba(0, 0, 0, 0.1)',
179
- width: '100%',
180
- maxWidth: '400px',
181
- }}
182
- >
183
- {logo && (
184
- <div
185
- style={{
186
- textAlign: 'center',
187
- marginBottom: 'calc(var(--base) * 1.5)',
188
- }}
189
- >
190
- {logo}
191
- </div>
192
- )}
193
-
194
- <h1
195
- style={{
196
- color: 'var(--theme-text)',
197
- fontSize: 'var(--font-size-h3)',
198
- fontWeight: 600,
199
- marginBottom: 'calc(var(--base) * 0.5)',
200
- textAlign: 'center',
201
- margin: '0 0 calc(var(--base) * 0.5) 0',
202
- }}
203
- >
204
- {title}
205
- </h1>
206
-
207
- <p
208
- style={{
209
- color: 'var(--theme-text)',
210
- opacity: 0.7,
211
- fontSize: 'var(--font-size-small)',
212
- textAlign: 'center',
213
- marginBottom: 'calc(var(--base) * 1.5)',
214
- }}
215
- >
216
- Enter your new password below.
217
- </p>
218
-
219
- <form onSubmit={handleSubmit}>
220
- <div style={{ marginBottom: 'var(--base)' }}>
221
- <label
222
- htmlFor="password"
223
- style={{
224
- display: 'block',
225
- color: 'var(--theme-text)',
226
- marginBottom: 'calc(var(--base) * 0.5)',
227
- fontSize: 'var(--font-size-small)',
228
- fontWeight: 500,
229
- }}
230
- >
231
- New Password
232
- </label>
233
- <input
234
- id="password"
235
- type="password"
236
- value={password}
237
- onChange={(e) => setPassword(e.target.value)}
238
- required
239
- minLength={minPasswordLength}
240
- autoComplete="new-password"
241
- style={{
242
- width: '100%',
243
- padding: 'calc(var(--base) * 0.75)',
244
- background: 'var(--theme-input-bg)',
245
- border: '1px solid var(--theme-elevation-150)',
246
- borderRadius: 'var(--style-radius-s)',
247
- color: 'var(--theme-text)',
248
- fontSize: 'var(--font-size-base)',
249
- outline: 'none',
250
- boxSizing: 'border-box',
251
- }}
252
- />
253
- </div>
254
-
255
- <div style={{ marginBottom: 'calc(var(--base) * 1.5)' }}>
256
- <label
257
- htmlFor="confirmPassword"
258
- style={{
259
- display: 'block',
260
- color: 'var(--theme-text)',
261
- marginBottom: 'calc(var(--base) * 0.5)',
262
- fontSize: 'var(--font-size-small)',
263
- fontWeight: 500,
264
- }}
265
- >
266
- Confirm Password
267
- </label>
268
- <input
269
- id="confirmPassword"
270
- type="password"
271
- value={confirmPassword}
272
- onChange={(e) => setConfirmPassword(e.target.value)}
273
- required
274
- minLength={minPasswordLength}
275
- autoComplete="new-password"
276
- style={{
277
- width: '100%',
278
- padding: 'calc(var(--base) * 0.75)',
279
- background: 'var(--theme-input-bg)',
280
- border: '1px solid var(--theme-elevation-150)',
281
- borderRadius: 'var(--style-radius-s)',
282
- color: 'var(--theme-text)',
283
- fontSize: 'var(--font-size-base)',
284
- outline: 'none',
285
- boxSizing: 'border-box',
286
- }}
287
- />
288
- </div>
289
-
290
- {error && (
291
- <div
292
- style={{
293
- color: 'var(--theme-error-500)',
294
- marginBottom: 'var(--base)',
295
- fontSize: 'var(--font-size-small)',
296
- padding: 'calc(var(--base) * 0.5)',
297
- background: 'var(--theme-error-50)',
298
- borderRadius: 'var(--style-radius-s)',
299
- border: '1px solid var(--theme-error-200)',
300
- }}
301
- >
302
- {error}
303
- </div>
304
- )}
305
-
306
- <button
307
- type="submit"
308
- disabled={loading || !token}
309
- style={{
310
- width: '100%',
311
- padding: 'calc(var(--base) * 0.75)',
312
- background: 'var(--theme-elevation-800)',
313
- border: 'none',
314
- borderRadius: 'var(--style-radius-s)',
315
- color: 'var(--theme-elevation-50)',
316
- fontSize: 'var(--font-size-base)',
317
- fontWeight: 500,
318
- cursor: loading || !token ? 'not-allowed' : 'pointer',
319
- opacity: loading || !token ? 0.7 : 1,
320
- transition: 'opacity 150ms ease',
321
- }}
322
- >
323
- {loading ? 'Resetting...' : 'Reset Password'}
324
- </button>
325
- </form>
326
- </div>
327
- </div>
328
- )
329
- }
330
-
331
- export default ResetPasswordView
@@ -1,8 +0,0 @@
1
- /**
2
- * Password reset UI components
3
- *
4
- * @packageDocumentation
5
- */
6
-
7
- export { ForgotPasswordView, type ForgotPasswordViewProps } from './ForgotPasswordView.js'
8
- export { ResetPasswordView, type ResetPasswordViewProps } from './ResetPasswordView.js'