payload-auth 1.5.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/better-auth/plugin/lib/build-collections/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/index.js +3 -1
- package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/passkeys.js +16 -3
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.d.ts +0 -1
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.js +1 -2
- package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/index.js +32 -10
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.js +11 -3
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.d.ts +10 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.js +62 -0
- package/dist/better-auth/plugin/payload/components/passkeys/add-button.d.ts +7 -0
- package/dist/better-auth/plugin/payload/components/passkeys/add-button.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/passkeys/add-button.js +120 -0
- package/dist/better-auth/plugin/payload/components/passkeys/client.d.ts +4 -0
- package/dist/better-auth/plugin/payload/components/passkeys/client.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/passkeys/client.js +59 -0
- package/dist/better-auth/plugin/payload/components/passkeys/index.d.ts +5 -0
- package/dist/better-auth/plugin/payload/components/passkeys/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/passkeys/index.js +40 -0
- package/dist/better-auth/plugin/payload/components/passkeys/index.scss +91 -0
- package/dist/better-auth/plugin/payload/components/passkeys/list.d.ts +9 -0
- package/dist/better-auth/plugin/payload/components/passkeys/list.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/passkeys/list.js +57 -0
- package/dist/better-auth/plugin/payload/components/passkeys/types.d.ts +20 -0
- package/dist/better-auth/plugin/payload/components/passkeys/types.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/passkeys/types.js +3 -0
- package/dist/better-auth/plugin/payload/exports/rsc.d.ts +2 -1
- package/dist/better-auth/plugin/payload/exports/rsc.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/exports/rsc.js +3 -2
- package/dist/better-auth/plugin/payload/views/admin-login/client.d.ts +1 -0
- package/dist/better-auth/plugin/payload/views/admin-login/client.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/views/admin-login/client.js +11 -7
- package/dist/better-auth/plugin/payload/views/admin-login/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/views/admin-login/index.js +3 -1
- package/dist/better-auth/plugin/payload/views/admin-signup/client.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/views/admin-signup/client.js +29 -28
- package/dist/better-auth/plugin/types.d.ts +2 -0
- package/dist/better-auth/plugin/types.d.ts.map +1 -1
- package/dist/better-auth/plugin/types.js +1 -1
- package/dist/shared/form/validation.d.ts +1 -3
- package/dist/shared/form/validation.d.ts.map +1 -1
- package/dist/shared/form/validation.js +3 -3
- package/package.json +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.d.ts +0 -4
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.d.ts.map +0 -1
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.js +0 -157
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-button.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/payload/components/passkeys/add-button.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAWhD,UAAU,qBAAqB;IAC7B,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;CACnB;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAuE5D,CAAA"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import React, { useMemo, useState } from "react";
|
|
4
|
+
import { useAppForm } from "../../../../../shared/form";
|
|
5
|
+
import { Form, FormInputWrap } from "../../../../../shared/form/ui";
|
|
6
|
+
import { Button, Modal, toast, useModal } from "@payloadcms/ui";
|
|
7
|
+
import { passkeyClient } from "better-auth/client/plugins";
|
|
8
|
+
import { createAuthClient } from "better-auth/react";
|
|
9
|
+
import { XIcon } from "lucide-react";
|
|
10
|
+
import { z } from "zod";
|
|
11
|
+
const baseClass = 'passkeys-modal';
|
|
12
|
+
export const PassKeyAddButton = ({ onAdd })=>{
|
|
13
|
+
const { openModal, closeModal } = useModal();
|
|
14
|
+
const authClient = useMemo(()=>createAuthClient({
|
|
15
|
+
plugins: [
|
|
16
|
+
passkeyClient()
|
|
17
|
+
]
|
|
18
|
+
}), []);
|
|
19
|
+
const AddPasskeyForm = ()=>{
|
|
20
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
21
|
+
const nameSchema = z.object({
|
|
22
|
+
name: z.string().min(1, 'Name is required')
|
|
23
|
+
});
|
|
24
|
+
const form = useAppForm({
|
|
25
|
+
defaultValues: {
|
|
26
|
+
name: ''
|
|
27
|
+
},
|
|
28
|
+
onSubmit: async ({ value })=>{
|
|
29
|
+
setIsLoading(true);
|
|
30
|
+
const res = await authClient.passkey.addPasskey({
|
|
31
|
+
name: value.name
|
|
32
|
+
});
|
|
33
|
+
setIsLoading(false);
|
|
34
|
+
if (res?.error) {
|
|
35
|
+
toast.error(res.error.message);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
toast.success('Passkey added successfully');
|
|
39
|
+
closeModal('passkeys-modal');
|
|
40
|
+
if (typeof onAdd === 'function') onAdd();
|
|
41
|
+
},
|
|
42
|
+
validators: {
|
|
43
|
+
onSubmit: nameSchema
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
return /*#__PURE__*/ _jsxs(Form, {
|
|
47
|
+
onSubmit: (e)=>{
|
|
48
|
+
e.preventDefault();
|
|
49
|
+
void form.handleSubmit();
|
|
50
|
+
},
|
|
51
|
+
className: "passkeys-add-form",
|
|
52
|
+
children: [
|
|
53
|
+
/*#__PURE__*/ _jsx(FormInputWrap, {
|
|
54
|
+
className: "passkeys-add-form__inputWrap",
|
|
55
|
+
children: /*#__PURE__*/ _jsx(form.AppField, {
|
|
56
|
+
name: "name",
|
|
57
|
+
children: (field)=>/*#__PURE__*/ _jsx(field.TextField, {
|
|
58
|
+
type: "text",
|
|
59
|
+
className: "text name",
|
|
60
|
+
label: "Passkey Name",
|
|
61
|
+
required: true
|
|
62
|
+
})
|
|
63
|
+
})
|
|
64
|
+
}),
|
|
65
|
+
/*#__PURE__*/ _jsx(form.AppForm, {
|
|
66
|
+
children: /*#__PURE__*/ _jsx(form.Submit, {
|
|
67
|
+
label: "Create Passkey",
|
|
68
|
+
loadingLabel: "Creating"
|
|
69
|
+
})
|
|
70
|
+
})
|
|
71
|
+
]
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
return /*#__PURE__*/ _jsxs(_Fragment, {
|
|
75
|
+
children: [
|
|
76
|
+
/*#__PURE__*/ _jsx(Button, {
|
|
77
|
+
onClick: ()=>openModal('passkeys-modal'),
|
|
78
|
+
size: "medium",
|
|
79
|
+
buttonStyle: "pill",
|
|
80
|
+
children: "Add Passkey"
|
|
81
|
+
}),
|
|
82
|
+
/*#__PURE__*/ _jsx(Modal, {
|
|
83
|
+
slug: "passkeys-modal",
|
|
84
|
+
className: baseClass,
|
|
85
|
+
closeOnBlur: true,
|
|
86
|
+
children: /*#__PURE__*/ _jsxs("div", {
|
|
87
|
+
className: `${baseClass}__wrapper`,
|
|
88
|
+
children: [
|
|
89
|
+
/*#__PURE__*/ _jsx(Button, {
|
|
90
|
+
onClick: ()=>closeModal('passkeys-modal'),
|
|
91
|
+
buttonStyle: "icon-label",
|
|
92
|
+
size: "small",
|
|
93
|
+
className: `${baseClass}__close-button`,
|
|
94
|
+
children: /*#__PURE__*/ _jsx(XIcon, {
|
|
95
|
+
size: 24
|
|
96
|
+
})
|
|
97
|
+
}),
|
|
98
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
99
|
+
className: `${baseClass}__content`,
|
|
100
|
+
style: {
|
|
101
|
+
maxWidth: '30rem'
|
|
102
|
+
},
|
|
103
|
+
children: [
|
|
104
|
+
/*#__PURE__*/ _jsx("h2", {
|
|
105
|
+
children: "Create New Passkey"
|
|
106
|
+
}),
|
|
107
|
+
/*#__PURE__*/ _jsx("p", {
|
|
108
|
+
children: "Securely access your account without a password by creating a new passkey."
|
|
109
|
+
}),
|
|
110
|
+
/*#__PURE__*/ _jsx(AddPasskeyForm, {})
|
|
111
|
+
]
|
|
112
|
+
})
|
|
113
|
+
]
|
|
114
|
+
})
|
|
115
|
+
})
|
|
116
|
+
]
|
|
117
|
+
});
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC9jb21wb25lbnRzL3Bhc3NrZXlzL2FkZC1idXR0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgUmVhY3QsIHsgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZUFwcEZvcm0gfSBmcm9tICdAL3NoYXJlZC9mb3JtJ1xuaW1wb3J0IHsgRm9ybSwgRm9ybUlucHV0V3JhcCB9IGZyb20gJ0Avc2hhcmVkL2Zvcm0vdWknXG5pbXBvcnQgeyBCdXR0b24sIE1vZGFsLCB0b2FzdCwgdXNlTW9kYWwgfSBmcm9tICdAcGF5bG9hZGNtcy91aSdcbmltcG9ydCB7IHBhc3NrZXlDbGllbnQgfSBmcm9tICdiZXR0ZXItYXV0aC9jbGllbnQvcGx1Z2lucydcbmltcG9ydCB7IGNyZWF0ZUF1dGhDbGllbnQgfSBmcm9tICdiZXR0ZXItYXV0aC9yZWFjdCdcbmltcG9ydCB7IFhJY29uIH0gZnJvbSAnbHVjaWRlLXJlYWN0J1xuaW1wb3J0IHsgeiB9IGZyb20gJ3pvZCdcblxuY29uc3QgYmFzZUNsYXNzID0gJ3Bhc3NrZXlzLW1vZGFsJ1xuXG5pbnRlcmZhY2UgUGFzc0tleUFkZEJ1dHRvblByb3BzIHtcbiAgb25BZGQ/OiAoKSA9PiB2b2lkXG59XG5cbmV4cG9ydCBjb25zdCBQYXNzS2V5QWRkQnV0dG9uOiBSZWFjdC5GQzxQYXNzS2V5QWRkQnV0dG9uUHJvcHM+ID0gKHsgb25BZGQgfSkgPT4ge1xuICBjb25zdCB7IG9wZW5Nb2RhbCwgY2xvc2VNb2RhbCB9ID0gdXNlTW9kYWwoKVxuICBjb25zdCBhdXRoQ2xpZW50ID0gdXNlTWVtbygoKSA9PiBjcmVhdGVBdXRoQ2xpZW50KHsgcGx1Z2luczogW3Bhc3NrZXlDbGllbnQoKV0gfSksIFtdKVxuXG4gIGNvbnN0IEFkZFBhc3NrZXlGb3JtOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3QgbmFtZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICAgIG5hbWU6IHouc3RyaW5nKCkubWluKDEsICdOYW1lIGlzIHJlcXVpcmVkJylcbiAgICB9KVxuXG4gICAgY29uc3QgZm9ybSA9IHVzZUFwcEZvcm0oe1xuICAgICAgZGVmYXVsdFZhbHVlczogeyBuYW1lOiAnJyB9LFxuICAgICAgb25TdWJtaXQ6IGFzeW5jICh7IHZhbHVlIH0pID0+IHtcbiAgICAgICAgc2V0SXNMb2FkaW5nKHRydWUpXG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGF1dGhDbGllbnQucGFzc2tleS5hZGRQYXNza2V5KHsgbmFtZTogdmFsdWUubmFtZSB9KVxuICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpXG4gICAgICAgIGlmIChyZXM/LmVycm9yKSB7XG4gICAgICAgICAgdG9hc3QuZXJyb3IocmVzLmVycm9yLm1lc3NhZ2UpXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgdG9hc3Quc3VjY2VzcygnUGFzc2tleSBhZGRlZCBzdWNjZXNzZnVsbHknKVxuICAgICAgICBjbG9zZU1vZGFsKCdwYXNza2V5cy1tb2RhbCcpXG4gICAgICAgIGlmICh0eXBlb2Ygb25BZGQgPT09ICdmdW5jdGlvbicpIG9uQWRkKClcbiAgICAgIH0sXG4gICAgICB2YWxpZGF0b3JzOiB7IFxuICAgICAgICBvblN1Ym1pdDogbmFtZVNjaGVtYVxuICAgICAgfVxuICAgIH0pXG5cbiAgICByZXR1cm4gKFxuICAgICAgPEZvcm1cbiAgICAgICAgb25TdWJtaXQ9eyhlKSA9PiB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgdm9pZCBmb3JtLmhhbmRsZVN1Ym1pdCgpXG4gICAgICAgIH19XG4gICAgICAgIGNsYXNzTmFtZT1cInBhc3NrZXlzLWFkZC1mb3JtXCI+XG4gICAgICAgIDxGb3JtSW5wdXRXcmFwIGNsYXNzTmFtZT1cInBhc3NrZXlzLWFkZC1mb3JtX19pbnB1dFdyYXBcIj5cbiAgICAgICAgICA8Zm9ybS5BcHBGaWVsZCBuYW1lPVwibmFtZVwiPlxuICAgICAgICAgICAgeyhmaWVsZDogYW55KSA9PiA8ZmllbGQuVGV4dEZpZWxkIHR5cGU9XCJ0ZXh0XCIgY2xhc3NOYW1lPVwidGV4dCBuYW1lXCIgbGFiZWw9XCJQYXNza2V5IE5hbWVcIiByZXF1aXJlZCAvPn1cbiAgICAgICAgICA8L2Zvcm0uQXBwRmllbGQ+XG4gICAgICAgIDwvRm9ybUlucHV0V3JhcD5cbiAgICAgICAgPGZvcm0uQXBwRm9ybT5cbiAgICAgICAgICA8Zm9ybS5TdWJtaXQgbGFiZWw9XCJDcmVhdGUgUGFzc2tleVwiIGxvYWRpbmdMYWJlbD1cIkNyZWF0aW5nXCIgLz5cbiAgICAgICAgPC9mb3JtLkFwcEZvcm0+XG4gICAgICA8L0Zvcm0+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPEJ1dHRvbiBvbkNsaWNrPXsoKSA9PiBvcGVuTW9kYWwoJ3Bhc3NrZXlzLW1vZGFsJyl9IHNpemU9XCJtZWRpdW1cIiBidXR0b25TdHlsZT1cInBpbGxcIj5cbiAgICAgICAgQWRkIFBhc3NrZXlcbiAgICAgIDwvQnV0dG9uPlxuICAgICAgPE1vZGFsIHNsdWc9XCJwYXNza2V5cy1tb2RhbFwiIGNsYXNzTmFtZT17YmFzZUNsYXNzfSBjbG9zZU9uQmx1cj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3dyYXBwZXJgfT5cbiAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBjbG9zZU1vZGFsKCdwYXNza2V5cy1tb2RhbCcpfVxuICAgICAgICAgICAgYnV0dG9uU3R5bGU9XCJpY29uLWxhYmVsXCJcbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2Nsb3NlLWJ1dHRvbmB9PlxuICAgICAgICAgICAgPFhJY29uIHNpemU9ezI0fSAvPlxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19jb250ZW50YH0gc3R5bGU9e3sgbWF4V2lkdGg6ICczMHJlbScgfX0+XG4gICAgICAgICAgICA8aDI+Q3JlYXRlIE5ldyBQYXNza2V5PC9oMj5cbiAgICAgICAgICAgIDxwPlNlY3VyZWx5IGFjY2VzcyB5b3VyIGFjY291bnQgd2l0aG91dCBhIHBhc3N3b3JkIGJ5IGNyZWF0aW5nIGEgbmV3IHBhc3NrZXkuPC9wPlxuICAgICAgICAgICAgPEFkZFBhc3NrZXlGb3JtIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9Nb2RhbD5cbiAgICA8Lz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlTWVtbyIsInVzZVN0YXRlIiwidXNlQXBwRm9ybSIsIkZvcm0iLCJGb3JtSW5wdXRXcmFwIiwiQnV0dG9uIiwiTW9kYWwiLCJ0b2FzdCIsInVzZU1vZGFsIiwicGFzc2tleUNsaWVudCIsImNyZWF0ZUF1dGhDbGllbnQiLCJYSWNvbiIsInoiLCJiYXNlQ2xhc3MiLCJQYXNzS2V5QWRkQnV0dG9uIiwib25BZGQiLCJvcGVuTW9kYWwiLCJjbG9zZU1vZGFsIiwiYXV0aENsaWVudCIsInBsdWdpbnMiLCJBZGRQYXNza2V5Rm9ybSIsImlzTG9hZGluZyIsInNldElzTG9hZGluZyIsIm5hbWVTY2hlbWEiLCJvYmplY3QiLCJuYW1lIiwic3RyaW5nIiwibWluIiwiZm9ybSIsImRlZmF1bHRWYWx1ZXMiLCJvblN1Ym1pdCIsInZhbHVlIiwicmVzIiwicGFzc2tleSIsImFkZFBhc3NrZXkiLCJlcnJvciIsIm1lc3NhZ2UiLCJzdWNjZXNzIiwidmFsaWRhdG9ycyIsImUiLCJwcmV2ZW50RGVmYXVsdCIsImhhbmRsZVN1Ym1pdCIsImNsYXNzTmFtZSIsIkFwcEZpZWxkIiwiZmllbGQiLCJUZXh0RmllbGQiLCJ0eXBlIiwibGFiZWwiLCJyZXF1aXJlZCIsIkFwcEZvcm0iLCJTdWJtaXQiLCJsb2FkaW5nTGFiZWwiLCJvbkNsaWNrIiwic2l6ZSIsImJ1dHRvblN0eWxlIiwic2x1ZyIsImNsb3NlT25CbHVyIiwiZGl2Iiwic3R5bGUiLCJtYXhXaWR0aCIsImgyIiwicCJdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUEsT0FBT0EsU0FBU0MsT0FBTyxFQUFFQyxRQUFRLFFBQVEsUUFBTztBQUNoRCxTQUFTQyxVQUFVLFFBQVEsNkJBQWU7QUFDMUMsU0FBU0MsSUFBSSxFQUFFQyxhQUFhLFFBQVEsZ0NBQWtCO0FBQ3RELFNBQVNDLE1BQU0sRUFBRUMsS0FBSyxFQUFFQyxLQUFLLEVBQUVDLFFBQVEsUUFBUSxpQkFBZ0I7QUFDL0QsU0FBU0MsYUFBYSxRQUFRLDZCQUE0QjtBQUMxRCxTQUFTQyxnQkFBZ0IsUUFBUSxvQkFBbUI7QUFDcEQsU0FBU0MsS0FBSyxRQUFRLGVBQWM7QUFDcEMsU0FBU0MsQ0FBQyxRQUFRLE1BQUs7QUFFdkIsTUFBTUMsWUFBWTtBQU1sQixPQUFPLE1BQU1DLG1CQUFvRCxDQUFDLEVBQUVDLEtBQUssRUFBRTtJQUN6RSxNQUFNLEVBQUVDLFNBQVMsRUFBRUMsVUFBVSxFQUFFLEdBQUdUO0lBQ2xDLE1BQU1VLGFBQWFsQixRQUFRLElBQU1VLGlCQUFpQjtZQUFFUyxTQUFTO2dCQUFDVjthQUFnQjtRQUFDLElBQUksRUFBRTtJQUVyRixNQUFNVyxpQkFBMkI7UUFDL0IsTUFBTSxDQUFDQyxXQUFXQyxhQUFhLEdBQUdyQixTQUFTO1FBQzNDLE1BQU1zQixhQUFhWCxFQUFFWSxNQUFNLENBQUM7WUFDMUJDLE1BQU1iLEVBQUVjLE1BQU0sR0FBR0MsR0FBRyxDQUFDLEdBQUc7UUFDMUI7UUFFQSxNQUFNQyxPQUFPMUIsV0FBVztZQUN0QjJCLGVBQWU7Z0JBQUVKLE1BQU07WUFBRztZQUMxQkssVUFBVSxPQUFPLEVBQUVDLEtBQUssRUFBRTtnQkFDeEJULGFBQWE7Z0JBQ2IsTUFBTVUsTUFBTSxNQUFNZCxXQUFXZSxPQUFPLENBQUNDLFVBQVUsQ0FBQztvQkFBRVQsTUFBTU0sTUFBTU4sSUFBSTtnQkFBQztnQkFDbkVILGFBQWE7Z0JBQ2IsSUFBSVUsS0FBS0csT0FBTztvQkFDZDVCLE1BQU00QixLQUFLLENBQUNILElBQUlHLEtBQUssQ0FBQ0MsT0FBTztvQkFDN0I7Z0JBQ0Y7Z0JBQ0E3QixNQUFNOEIsT0FBTyxDQUFDO2dCQUNkcEIsV0FBVztnQkFDWCxJQUFJLE9BQU9GLFVBQVUsWUFBWUE7WUFDbkM7WUFDQXVCLFlBQVk7Z0JBQ1ZSLFVBQVVQO1lBQ1o7UUFDRjtRQUVBLHFCQUNFLE1BQUNwQjtZQUNDMkIsVUFBVSxDQUFDUztnQkFDVEEsRUFBRUMsY0FBYztnQkFDaEIsS0FBS1osS0FBS2EsWUFBWTtZQUN4QjtZQUNBQyxXQUFVOzs4QkFDVixLQUFDdEM7b0JBQWNzQyxXQUFVOzhCQUN2QixjQUFBLEtBQUNkLEtBQUtlLFFBQVE7d0JBQUNsQixNQUFLO2tDQUNqQixDQUFDbUIsc0JBQWUsS0FBQ0EsTUFBTUMsU0FBUztnQ0FBQ0MsTUFBSztnQ0FBT0osV0FBVTtnQ0FBWUssT0FBTTtnQ0FBZUMsUUFBUTs7Ozs4QkFHckcsS0FBQ3BCLEtBQUtxQixPQUFPOzhCQUNYLGNBQUEsS0FBQ3JCLEtBQUtzQixNQUFNO3dCQUFDSCxPQUFNO3dCQUFpQkksY0FBYTs7Ozs7SUFJekQ7SUFFQSxxQkFDRTs7MEJBQ0UsS0FBQzlDO2dCQUFPK0MsU0FBUyxJQUFNcEMsVUFBVTtnQkFBbUJxQyxNQUFLO2dCQUFTQyxhQUFZOzBCQUFPOzswQkFHckYsS0FBQ2hEO2dCQUFNaUQsTUFBSztnQkFBaUJiLFdBQVc3QjtnQkFBVzJDLFdBQVc7MEJBQzVELGNBQUEsTUFBQ0M7b0JBQUlmLFdBQVcsR0FBRzdCLFVBQVUsU0FBUyxDQUFDOztzQ0FDckMsS0FBQ1I7NEJBQ0MrQyxTQUFTLElBQU1uQyxXQUFXOzRCQUMxQnFDLGFBQVk7NEJBQ1pELE1BQUs7NEJBQ0xYLFdBQVcsR0FBRzdCLFVBQVUsY0FBYyxDQUFDO3NDQUN2QyxjQUFBLEtBQUNGO2dDQUFNMEMsTUFBTTs7O3NDQUVmLE1BQUNJOzRCQUFJZixXQUFXLEdBQUc3QixVQUFVLFNBQVMsQ0FBQzs0QkFBRTZDLE9BQU87Z0NBQUVDLFVBQVU7NEJBQVE7OzhDQUNsRSxLQUFDQzs4Q0FBRzs7OENBQ0osS0FBQ0M7OENBQUU7OzhDQUNILEtBQUN6Qzs7Ozs7Ozs7QUFNYixFQUFDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/payload/components/passkeys/client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EAAE,4BAA4B,EAAiB,MAAM,SAAS,CAAA;AAI1E,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CA2CjE,CAAA"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import React, { useState, useEffect, useCallback } from "react";
|
|
4
|
+
import { useConfig } from "@payloadcms/ui";
|
|
5
|
+
import { PasskeyList } from "./list";
|
|
6
|
+
import { PassKeyAddButton } from "./add-button";
|
|
7
|
+
export const PasskeysClient = ({ initialPasskeys, documentId, currentUserId, passkeySlug, passkeyUserIdFieldName })=>{
|
|
8
|
+
const { config: { routes: { api: apiRoute } } } = useConfig();
|
|
9
|
+
const [passkeys, setPasskeys] = useState(initialPasskeys);
|
|
10
|
+
const fetchPasskeys = useCallback(async ()=>{
|
|
11
|
+
const url = `${apiRoute}/${passkeySlug}?where[${passkeyUserIdFieldName}][equals]=${documentId}`;
|
|
12
|
+
const res = await fetch(url, {
|
|
13
|
+
credentials: 'include'
|
|
14
|
+
});
|
|
15
|
+
if (!res.ok) return;
|
|
16
|
+
const data = await res.json();
|
|
17
|
+
setPasskeys(data.docs);
|
|
18
|
+
}, [
|
|
19
|
+
apiRoute,
|
|
20
|
+
passkeySlug,
|
|
21
|
+
passkeyUserIdFieldName,
|
|
22
|
+
documentId
|
|
23
|
+
]);
|
|
24
|
+
useEffect(()=>{
|
|
25
|
+
void fetchPasskeys();
|
|
26
|
+
}, [
|
|
27
|
+
fetchPasskeys
|
|
28
|
+
]);
|
|
29
|
+
const handleDelete = useCallback(async (id)=>{
|
|
30
|
+
const res = await fetch(`${apiRoute}/${passkeySlug}/${id}`, {
|
|
31
|
+
method: 'DELETE',
|
|
32
|
+
credentials: 'include'
|
|
33
|
+
});
|
|
34
|
+
if (!res.ok) return;
|
|
35
|
+
void fetchPasskeys();
|
|
36
|
+
}, [
|
|
37
|
+
apiRoute,
|
|
38
|
+
passkeySlug,
|
|
39
|
+
fetchPasskeys
|
|
40
|
+
]);
|
|
41
|
+
const handleAdd = useCallback(()=>{
|
|
42
|
+
void fetchPasskeys();
|
|
43
|
+
}, [
|
|
44
|
+
fetchPasskeys
|
|
45
|
+
]);
|
|
46
|
+
return /*#__PURE__*/ _jsxs(_Fragment, {
|
|
47
|
+
children: [
|
|
48
|
+
/*#__PURE__*/ _jsx(PasskeyList, {
|
|
49
|
+
passkeys: passkeys,
|
|
50
|
+
onDelete: handleDelete
|
|
51
|
+
}),
|
|
52
|
+
currentUserId === documentId && /*#__PURE__*/ _jsx(PassKeyAddButton, {
|
|
53
|
+
onAdd: handleAdd
|
|
54
|
+
})
|
|
55
|
+
]
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC9jb21wb25lbnRzL3Bhc3NrZXlzL2NsaWVudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlQ29uZmlnIH0gZnJvbSAnQHBheWxvYWRjbXMvdWknXG5pbXBvcnQgdHlwZSB7IFBhc3NrZXlzQ2xpZW50Q29tcG9uZW50UHJvcHMsIFBhc3NrZXlXaXRoSWQgfSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHsgUGFzc2tleUxpc3QgfSBmcm9tICcuL2xpc3QnXG5pbXBvcnQgeyBQYXNzS2V5QWRkQnV0dG9uIH0gZnJvbSAnLi9hZGQtYnV0dG9uJ1xuXG5leHBvcnQgY29uc3QgUGFzc2tleXNDbGllbnQ6IFJlYWN0LkZDPFBhc3NrZXlzQ2xpZW50Q29tcG9uZW50UHJvcHM+ID0gKHtcbiAgaW5pdGlhbFBhc3NrZXlzLFxuICBkb2N1bWVudElkLFxuICBjdXJyZW50VXNlcklkLFxuICBwYXNza2V5U2x1ZyxcbiAgcGFzc2tleVVzZXJJZEZpZWxkTmFtZVxufSkgPT4ge1xuICBjb25zdCB7XG4gICAgY29uZmlnOiB7XG4gICAgICByb3V0ZXM6IHsgYXBpOiBhcGlSb3V0ZSB9XG4gICAgfVxuICB9ID0gdXNlQ29uZmlnKClcblxuICBjb25zdCBbcGFzc2tleXMsIHNldFBhc3NrZXlzXSA9IHVzZVN0YXRlPFBhc3NrZXlXaXRoSWRbXT4oaW5pdGlhbFBhc3NrZXlzKVxuXG4gIGNvbnN0IGZldGNoUGFzc2tleXMgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgdXJsID0gYCR7YXBpUm91dGV9LyR7cGFzc2tleVNsdWd9P3doZXJlWyR7cGFzc2tleVVzZXJJZEZpZWxkTmFtZX1dW2VxdWFsc109JHtkb2N1bWVudElkfWBcbiAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaCh1cmwsIHsgY3JlZGVudGlhbHM6ICdpbmNsdWRlJyB9KVxuICAgIGlmICghcmVzLm9rKSByZXR1cm5cbiAgICBjb25zdCBkYXRhID0gKGF3YWl0IHJlcy5qc29uKCkpIGFzIHsgZG9jczogUGFzc2tleVdpdGhJZFtdIH1cbiAgICBzZXRQYXNza2V5cyhkYXRhLmRvY3MpXG4gIH0sIFthcGlSb3V0ZSwgcGFzc2tleVNsdWcsIHBhc3NrZXlVc2VySWRGaWVsZE5hbWUsIGRvY3VtZW50SWRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgdm9pZCBmZXRjaFBhc3NrZXlzKClcbiAgfSwgW2ZldGNoUGFzc2tleXNdKVxuXG4gIGNvbnN0IGhhbmRsZURlbGV0ZSA9IHVzZUNhbGxiYWNrKGFzeW5jIChpZDogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goYCR7YXBpUm91dGV9LyR7cGFzc2tleVNsdWd9LyR7aWR9YCwgeyBtZXRob2Q6ICdERUxFVEUnLCBjcmVkZW50aWFsczogJ2luY2x1ZGUnIH0pXG4gICAgaWYgKCFyZXMub2spIHJldHVyblxuICAgIHZvaWQgZmV0Y2hQYXNza2V5cygpXG4gIH0sIFthcGlSb3V0ZSwgcGFzc2tleVNsdWcsIGZldGNoUGFzc2tleXNdKVxuXG4gIGNvbnN0IGhhbmRsZUFkZCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICB2b2lkIGZldGNoUGFzc2tleXMoKVxuICB9LCBbZmV0Y2hQYXNza2V5c10pXG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPFBhc3NrZXlMaXN0IHBhc3NrZXlzPXtwYXNza2V5c30gb25EZWxldGU9e2hhbmRsZURlbGV0ZX0gLz5cbiAgICAgIHtjdXJyZW50VXNlcklkID09PSBkb2N1bWVudElkICYmIDxQYXNzS2V5QWRkQnV0dG9uIG9uQWRkPXtoYW5kbGVBZGR9IC8+fVxuICAgIDwvPlxuICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZUNhbGxiYWNrIiwidXNlQ29uZmlnIiwiUGFzc2tleUxpc3QiLCJQYXNzS2V5QWRkQnV0dG9uIiwiUGFzc2tleXNDbGllbnQiLCJpbml0aWFsUGFzc2tleXMiLCJkb2N1bWVudElkIiwiY3VycmVudFVzZXJJZCIsInBhc3NrZXlTbHVnIiwicGFzc2tleVVzZXJJZEZpZWxkTmFtZSIsImNvbmZpZyIsInJvdXRlcyIsImFwaSIsImFwaVJvdXRlIiwicGFzc2tleXMiLCJzZXRQYXNza2V5cyIsImZldGNoUGFzc2tleXMiLCJ1cmwiLCJyZXMiLCJmZXRjaCIsImNyZWRlbnRpYWxzIiwib2siLCJkYXRhIiwianNvbiIsImRvY3MiLCJoYW5kbGVEZWxldGUiLCJpZCIsIm1ldGhvZCIsImhhbmRsZUFkZCIsIm9uRGVsZXRlIiwib25BZGQiXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBLE9BQU9BLFNBQVNDLFFBQVEsRUFBRUMsU0FBUyxFQUFFQyxXQUFXLFFBQVEsUUFBTztBQUMvRCxTQUFTQyxTQUFTLFFBQVEsaUJBQWdCO0FBRTFDLFNBQVNDLFdBQVcsUUFBUSxTQUFRO0FBQ3BDLFNBQVNDLGdCQUFnQixRQUFRLGVBQWM7QUFFL0MsT0FBTyxNQUFNQyxpQkFBeUQsQ0FBQyxFQUNyRUMsZUFBZSxFQUNmQyxVQUFVLEVBQ1ZDLGFBQWEsRUFDYkMsV0FBVyxFQUNYQyxzQkFBc0IsRUFDdkI7SUFDQyxNQUFNLEVBQ0pDLFFBQVEsRUFDTkMsUUFBUSxFQUFFQyxLQUFLQyxRQUFRLEVBQUUsRUFDMUIsRUFDRixHQUFHWjtJQUVKLE1BQU0sQ0FBQ2EsVUFBVUMsWUFBWSxHQUFHakIsU0FBMEJPO0lBRTFELE1BQU1XLGdCQUFnQmhCLFlBQVk7UUFDaEMsTUFBTWlCLE1BQU0sR0FBR0osU0FBUyxDQUFDLEVBQUVMLFlBQVksT0FBTyxFQUFFQyx1QkFBdUIsVUFBVSxFQUFFSCxZQUFZO1FBQy9GLE1BQU1ZLE1BQU0sTUFBTUMsTUFBTUYsS0FBSztZQUFFRyxhQUFhO1FBQVU7UUFDdEQsSUFBSSxDQUFDRixJQUFJRyxFQUFFLEVBQUU7UUFDYixNQUFNQyxPQUFRLE1BQU1KLElBQUlLLElBQUk7UUFDNUJSLFlBQVlPLEtBQUtFLElBQUk7SUFDdkIsR0FBRztRQUFDWDtRQUFVTDtRQUFhQztRQUF3Qkg7S0FBVztJQUU5RFAsVUFBVTtRQUNSLEtBQUtpQjtJQUNQLEdBQUc7UUFBQ0E7S0FBYztJQUVsQixNQUFNUyxlQUFlekIsWUFBWSxPQUFPMEI7UUFDdEMsTUFBTVIsTUFBTSxNQUFNQyxNQUFNLEdBQUdOLFNBQVMsQ0FBQyxFQUFFTCxZQUFZLENBQUMsRUFBRWtCLElBQUksRUFBRTtZQUFFQyxRQUFRO1lBQVVQLGFBQWE7UUFBVTtRQUN2RyxJQUFJLENBQUNGLElBQUlHLEVBQUUsRUFBRTtRQUNiLEtBQUtMO0lBQ1AsR0FBRztRQUFDSDtRQUFVTDtRQUFhUTtLQUFjO0lBRXpDLE1BQU1ZLFlBQVk1QixZQUFZO1FBQzVCLEtBQUtnQjtJQUNQLEdBQUc7UUFBQ0E7S0FBYztJQUVsQixxQkFDRTs7MEJBQ0UsS0FBQ2Q7Z0JBQVlZLFVBQVVBO2dCQUFVZSxVQUFVSjs7WUFDMUNsQixrQkFBa0JELDRCQUFjLEtBQUNIO2dCQUFpQjJCLE9BQU9GOzs7O0FBR2hFLEVBQUMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/payload/components/passkeys/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AACrB,OAAO,KAAK,EAAE,4BAA4B,EAAiB,MAAM,SAAS,CAAA;AAE1E,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CA6B3D,CAAA"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { PasskeysClient } from "./client";
|
|
4
|
+
import "./index.scss";
|
|
5
|
+
export const Passkeys = async (props)=>{
|
|
6
|
+
const { id, passkeySlug, payload, passkeyUserIdFieldName, req, user } = props;
|
|
7
|
+
if (!id || !passkeySlug || !passkeyUserIdFieldName) return null;
|
|
8
|
+
const { docs: userPasskeys } = await payload.find({
|
|
9
|
+
collection: passkeySlug,
|
|
10
|
+
where: {
|
|
11
|
+
[passkeyUserIdFieldName]: {
|
|
12
|
+
equals: id
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
limit: 100,
|
|
16
|
+
req,
|
|
17
|
+
depth: 0
|
|
18
|
+
});
|
|
19
|
+
return /*#__PURE__*/ _jsxs("div", {
|
|
20
|
+
className: "passkeys-field",
|
|
21
|
+
children: [
|
|
22
|
+
/*#__PURE__*/ _jsx("h3", {
|
|
23
|
+
className: "passkeys-field__title",
|
|
24
|
+
style: {
|
|
25
|
+
marginBottom: '0.7rem'
|
|
26
|
+
},
|
|
27
|
+
children: "Passkeys"
|
|
28
|
+
}),
|
|
29
|
+
/*#__PURE__*/ _jsx(PasskeysClient, {
|
|
30
|
+
initialPasskeys: userPasskeys,
|
|
31
|
+
documentId: id,
|
|
32
|
+
currentUserId: user?.id,
|
|
33
|
+
passkeySlug: passkeySlug,
|
|
34
|
+
passkeyUserIdFieldName: passkeyUserIdFieldName
|
|
35
|
+
})
|
|
36
|
+
]
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC9jb21wb25lbnRzL3Bhc3NrZXlzL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBQYXNza2V5c0NsaWVudCB9IGZyb20gJy4vY2xpZW50J1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5pbXBvcnQgdHlwZSB7IFBhc3NrZXlzU2VydmVyQ29tcG9uZW50UHJvcHMsIFBhc3NrZXlXaXRoSWQgfSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgY29uc3QgUGFzc2tleXM6IFJlYWN0LkZDPFBhc3NrZXlzU2VydmVyQ29tcG9uZW50UHJvcHM+ID0gYXN5bmMgKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgaWQsIHBhc3NrZXlTbHVnLCBwYXlsb2FkLCBwYXNza2V5VXNlcklkRmllbGROYW1lLCByZXEsIHVzZXIgfSA9IHByb3BzXG5cbiAgaWYgKCFpZCB8fCAhcGFzc2tleVNsdWcgfHwgIXBhc3NrZXlVc2VySWRGaWVsZE5hbWUpIHJldHVybiBudWxsXG5cbiAgY29uc3QgeyBkb2NzOiB1c2VyUGFzc2tleXMgfSA9IGF3YWl0IHBheWxvYWQuZmluZCh7XG4gICAgY29sbGVjdGlvbjogcGFzc2tleVNsdWcsXG4gICAgd2hlcmU6IHtcbiAgICAgIFtwYXNza2V5VXNlcklkRmllbGROYW1lXTogeyBlcXVhbHM6IGlkIH1cbiAgICB9LFxuICAgIGxpbWl0OiAxMDAsXG4gICAgcmVxLFxuICAgIGRlcHRoOiAwXG4gIH0pIGFzIHVua25vd24gYXMgeyBkb2NzOiBQYXNza2V5V2l0aElkW10gfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJwYXNza2V5cy1maWVsZFwiPlxuICAgICAgPGgzIGNsYXNzTmFtZT1cInBhc3NrZXlzLWZpZWxkX190aXRsZVwiIHN0eWxlPXt7IG1hcmdpbkJvdHRvbTogJzAuN3JlbScgfX0+XG4gICAgICAgIFBhc3NrZXlzXG4gICAgICA8L2gzPlxuICAgICAgPFBhc3NrZXlzQ2xpZW50XG4gICAgICAgIGluaXRpYWxQYXNza2V5cz17dXNlclBhc3NrZXlzfVxuICAgICAgICBkb2N1bWVudElkPXtpZH1cbiAgICAgICAgY3VycmVudFVzZXJJZD17dXNlcj8uaWR9XG4gICAgICAgIHBhc3NrZXlTbHVnPXtwYXNza2V5U2x1Z31cbiAgICAgICAgcGFzc2tleVVzZXJJZEZpZWxkTmFtZT17cGFzc2tleVVzZXJJZEZpZWxkTmFtZX1cbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsIlBhc3NrZXlzQ2xpZW50IiwiUGFzc2tleXMiLCJwcm9wcyIsImlkIiwicGFzc2tleVNsdWciLCJwYXlsb2FkIiwicGFzc2tleVVzZXJJZEZpZWxkTmFtZSIsInJlcSIsInVzZXIiLCJkb2NzIiwidXNlclBhc3NrZXlzIiwiZmluZCIsImNvbGxlY3Rpb24iLCJ3aGVyZSIsImVxdWFscyIsImxpbWl0IiwiZGVwdGgiLCJkaXYiLCJjbGFzc05hbWUiLCJoMyIsInN0eWxlIiwibWFyZ2luQm90dG9tIiwiaW5pdGlhbFBhc3NrZXlzIiwiZG9jdW1lbnRJZCIsImN1cnJlbnRVc2VySWQiXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxXQUFXLFFBQU87QUFDekIsU0FBU0MsY0FBYyxRQUFRLFdBQVU7QUFDekMsT0FBTyxlQUFjO0FBR3JCLE9BQU8sTUFBTUMsV0FBbUQsT0FBT0M7SUFDckUsTUFBTSxFQUFFQyxFQUFFLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxzQkFBc0IsRUFBRUMsR0FBRyxFQUFFQyxJQUFJLEVBQUUsR0FBR047SUFFeEUsSUFBSSxDQUFDQyxNQUFNLENBQUNDLGVBQWUsQ0FBQ0Usd0JBQXdCLE9BQU87SUFFM0QsTUFBTSxFQUFFRyxNQUFNQyxZQUFZLEVBQUUsR0FBRyxNQUFNTCxRQUFRTSxJQUFJLENBQUM7UUFDaERDLFlBQVlSO1FBQ1pTLE9BQU87WUFDTCxDQUFDUCx1QkFBdUIsRUFBRTtnQkFBRVEsUUFBUVg7WUFBRztRQUN6QztRQUNBWSxPQUFPO1FBQ1BSO1FBQ0FTLE9BQU87SUFDVDtJQUVBLHFCQUNFLE1BQUNDO1FBQUlDLFdBQVU7OzBCQUNiLEtBQUNDO2dCQUFHRCxXQUFVO2dCQUF3QkUsT0FBTztvQkFBRUMsY0FBYztnQkFBUzswQkFBRzs7MEJBR3pFLEtBQUNyQjtnQkFDQ3NCLGlCQUFpQlo7Z0JBQ2pCYSxZQUFZcEI7Z0JBQ1pxQixlQUFlaEIsTUFBTUw7Z0JBQ3JCQyxhQUFhQTtnQkFDYkUsd0JBQXdCQTs7OztBQUloQyxFQUFDIn0=
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
@layer payload-default {
|
|
2
|
+
.passkeys-modal {
|
|
3
|
+
position: fixed;
|
|
4
|
+
inset: 0;
|
|
5
|
+
z-index: 1000;
|
|
6
|
+
display: flex;
|
|
7
|
+
align-items: center;
|
|
8
|
+
justify-content: center;
|
|
9
|
+
height: 100%;
|
|
10
|
+
|
|
11
|
+
&:before {
|
|
12
|
+
content: '';
|
|
13
|
+
position: absolute;
|
|
14
|
+
inset: 0;
|
|
15
|
+
background: rgba(0, 0, 0, 0.8);
|
|
16
|
+
z-index: 0;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
&__wrapper {
|
|
20
|
+
z-index: 1;
|
|
21
|
+
position: relative;
|
|
22
|
+
display: flex;
|
|
23
|
+
flex-direction: column;
|
|
24
|
+
gap: 16px;
|
|
25
|
+
border-radius: 3px;
|
|
26
|
+
border: 1px solid var(--theme-border-color);
|
|
27
|
+
background-color: var(--theme-elevation-50);
|
|
28
|
+
min-width: 340px;
|
|
29
|
+
max-width: 90vw;
|
|
30
|
+
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&__close-button {
|
|
34
|
+
position: absolute;
|
|
35
|
+
top: 0;
|
|
36
|
+
right: 0;
|
|
37
|
+
margin-block: 0 !important;
|
|
38
|
+
padding: 10px !important;
|
|
39
|
+
svg {
|
|
40
|
+
width: 24px;
|
|
41
|
+
height: 24px;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
&__content {
|
|
46
|
+
display: flex;
|
|
47
|
+
flex-direction: column;
|
|
48
|
+
gap: 1.5rem;
|
|
49
|
+
padding: 1.5rem 1.5rem 1rem 1.5rem;
|
|
50
|
+
h2 {
|
|
51
|
+
font-size: 1.5rem;
|
|
52
|
+
font-weight: 600;
|
|
53
|
+
margin: 0;
|
|
54
|
+
}
|
|
55
|
+
p {
|
|
56
|
+
margin: 0;
|
|
57
|
+
color: var(--theme-elevation-500);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
&__input {
|
|
62
|
+
margin-bottom: 1rem;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
.passkeys-field {
|
|
66
|
+
&__list {
|
|
67
|
+
list-style: disc;
|
|
68
|
+
padding-left: 0;
|
|
69
|
+
row-gap: 1rem;
|
|
70
|
+
display: flex;
|
|
71
|
+
flex-direction: column;
|
|
72
|
+
}
|
|
73
|
+
&__list-item {
|
|
74
|
+
display: flex;
|
|
75
|
+
background-color: var(--theme-input-bg);
|
|
76
|
+
align-items: center;
|
|
77
|
+
padding: 0.8rem 1rem;
|
|
78
|
+
gap: 0.5rem;
|
|
79
|
+
border: 1px solid var(--theme-elevation-150);
|
|
80
|
+
border-radius: var(--style-radius-m);
|
|
81
|
+
color: var(--theme-elevation-800);
|
|
82
|
+
}
|
|
83
|
+
&__list-item-date {
|
|
84
|
+
color: var(--theme-elevation-500);
|
|
85
|
+
}
|
|
86
|
+
&__delete-button {
|
|
87
|
+
margin-block: 0;
|
|
88
|
+
margin-left: auto;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PasskeyWithId } from './types';
|
|
3
|
+
interface PasskeyListProps {
|
|
4
|
+
passkeys: PasskeyWithId[];
|
|
5
|
+
onDelete?: (id: string) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare const PasskeyList: React.FC<PasskeyListProps>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/payload/components/passkeys/list.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,UAAU,gBAAgB;IACxB,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAChC;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAiClD,CAAA"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { Fingerprint, Trash } from "lucide-react";
|
|
5
|
+
import { Button } from "@payloadcms/ui";
|
|
6
|
+
export const PasskeyList = ({ passkeys, onDelete })=>{
|
|
7
|
+
if (passkeys.length === 0) return /*#__PURE__*/ _jsx("p", {
|
|
8
|
+
style: {
|
|
9
|
+
marginBottom: '1rem'
|
|
10
|
+
},
|
|
11
|
+
children: "No passkeys found."
|
|
12
|
+
});
|
|
13
|
+
return /*#__PURE__*/ _jsx("ul", {
|
|
14
|
+
className: "passkeys-field__list",
|
|
15
|
+
children: passkeys.map((pk)=>{
|
|
16
|
+
const { id, createdAt } = pk;
|
|
17
|
+
if (!id || !createdAt) return null;
|
|
18
|
+
return /*#__PURE__*/ _jsxs("li", {
|
|
19
|
+
className: "passkeys-field__list-item",
|
|
20
|
+
children: [
|
|
21
|
+
/*#__PURE__*/ _jsx(Fingerprint, {
|
|
22
|
+
size: 16
|
|
23
|
+
}),
|
|
24
|
+
/*#__PURE__*/ _jsx("span", {
|
|
25
|
+
children: pk.name || 'My Passkey'
|
|
26
|
+
}),
|
|
27
|
+
/*#__PURE__*/ _jsx("span", {
|
|
28
|
+
className: "passkeys-field__list-item-date",
|
|
29
|
+
children: " - "
|
|
30
|
+
}),
|
|
31
|
+
/*#__PURE__*/ _jsx("span", {
|
|
32
|
+
className: "passkeys-field__list-item-date",
|
|
33
|
+
children: new Date(createdAt).toLocaleString('en-US', {
|
|
34
|
+
month: 'long',
|
|
35
|
+
day: 'numeric',
|
|
36
|
+
year: 'numeric',
|
|
37
|
+
hour: 'numeric',
|
|
38
|
+
minute: '2-digit',
|
|
39
|
+
hour12: true
|
|
40
|
+
})
|
|
41
|
+
}),
|
|
42
|
+
onDelete && /*#__PURE__*/ _jsx(Button, {
|
|
43
|
+
buttonStyle: "none",
|
|
44
|
+
size: "small",
|
|
45
|
+
className: "passkeys-field__delete-button",
|
|
46
|
+
onClick: ()=>onDelete(id),
|
|
47
|
+
children: /*#__PURE__*/ _jsx(Trash, {
|
|
48
|
+
size: 16
|
|
49
|
+
})
|
|
50
|
+
})
|
|
51
|
+
]
|
|
52
|
+
}, id);
|
|
53
|
+
})
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC9jb21wb25lbnRzL3Bhc3NrZXlzL2xpc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBGaW5nZXJwcmludCwgVHJhc2ggfSBmcm9tICdsdWNpZGUtcmVhY3QnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICdAcGF5bG9hZGNtcy91aSdcbmltcG9ydCB0eXBlIHsgUGFzc2tleVdpdGhJZCB9IGZyb20gJy4vdHlwZXMnXG5cbmludGVyZmFjZSBQYXNza2V5TGlzdFByb3BzIHtcbiAgcGFzc2tleXM6IFBhc3NrZXlXaXRoSWRbXVxuICBvbkRlbGV0ZT86IChpZDogc3RyaW5nKSA9PiB2b2lkXG59XG5cbmV4cG9ydCBjb25zdCBQYXNza2V5TGlzdDogUmVhY3QuRkM8UGFzc2tleUxpc3RQcm9wcz4gPSAoeyBwYXNza2V5cywgb25EZWxldGUgfSkgPT4ge1xuICBpZiAocGFzc2tleXMubGVuZ3RoID09PSAwKSByZXR1cm4gPHAgc3R5bGU9e3sgbWFyZ2luQm90dG9tOiAnMXJlbScgfX0+Tm8gcGFzc2tleXMgZm91bmQuPC9wPlxuXG4gIHJldHVybiAoXG4gICAgPHVsIGNsYXNzTmFtZT1cInBhc3NrZXlzLWZpZWxkX19saXN0XCI+XG4gICAgICB7cGFzc2tleXMubWFwKChwaykgPT4ge1xuICAgICAgICBjb25zdCB7IGlkLCBjcmVhdGVkQXQgfSA9IHBrXG4gICAgICAgIGlmICghaWQgfHwgIWNyZWF0ZWRBdCkgcmV0dXJuIG51bGxcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8bGkga2V5PXtpZH0gY2xhc3NOYW1lPVwicGFzc2tleXMtZmllbGRfX2xpc3QtaXRlbVwiPlxuICAgICAgICAgICAgPEZpbmdlcnByaW50IHNpemU9ezE2fSAvPlxuICAgICAgICAgICAgPHNwYW4+e3BrLm5hbWUgfHwgJ015IFBhc3NrZXknfTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInBhc3NrZXlzLWZpZWxkX19saXN0LWl0ZW0tZGF0ZVwiPiAtIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInBhc3NrZXlzLWZpZWxkX19saXN0LWl0ZW0tZGF0ZVwiPlxuICAgICAgICAgICAgICB7bmV3IERhdGUoY3JlYXRlZEF0KS50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XG4gICAgICAgICAgICAgICAgbW9udGg6ICdsb25nJyxcbiAgICAgICAgICAgICAgICBkYXk6ICdudW1lcmljJyxcbiAgICAgICAgICAgICAgICB5ZWFyOiAnbnVtZXJpYycsXG4gICAgICAgICAgICAgICAgaG91cjogJ251bWVyaWMnLFxuICAgICAgICAgICAgICAgIG1pbnV0ZTogJzItZGlnaXQnLFxuICAgICAgICAgICAgICAgIGhvdXIxMjogdHJ1ZVxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIHtvbkRlbGV0ZSAmJiAoXG4gICAgICAgICAgICAgIDxCdXR0b24gYnV0dG9uU3R5bGU9XCJub25lXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwicGFzc2tleXMtZmllbGRfX2RlbGV0ZS1idXR0b25cIiBvbkNsaWNrPXsoKSA9PiBvbkRlbGV0ZShpZCl9PlxuICAgICAgICAgICAgICAgIDxUcmFzaCBzaXplPXsxNn0gLz5cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIClcbiAgICAgIH0pfVxuICAgIDwvdWw+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsIkZpbmdlcnByaW50IiwiVHJhc2giLCJCdXR0b24iLCJQYXNza2V5TGlzdCIsInBhc3NrZXlzIiwib25EZWxldGUiLCJsZW5ndGgiLCJwIiwic3R5bGUiLCJtYXJnaW5Cb3R0b20iLCJ1bCIsImNsYXNzTmFtZSIsIm1hcCIsInBrIiwiaWQiLCJjcmVhdGVkQXQiLCJsaSIsInNpemUiLCJzcGFuIiwibmFtZSIsIkRhdGUiLCJ0b0xvY2FsZVN0cmluZyIsIm1vbnRoIiwiZGF5IiwieWVhciIsImhvdXIiLCJtaW51dGUiLCJob3VyMTIiLCJidXR0b25TdHlsZSIsIm9uQ2xpY2siXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBLE9BQU9BLFdBQVcsUUFBTztBQUN6QixTQUFTQyxXQUFXLEVBQUVDLEtBQUssUUFBUSxlQUFjO0FBQ2pELFNBQVNDLE1BQU0sUUFBUSxpQkFBZ0I7QUFRdkMsT0FBTyxNQUFNQyxjQUEwQyxDQUFDLEVBQUVDLFFBQVEsRUFBRUMsUUFBUSxFQUFFO0lBQzVFLElBQUlELFNBQVNFLE1BQU0sS0FBSyxHQUFHLHFCQUFPLEtBQUNDO1FBQUVDLE9BQU87WUFBRUMsY0FBYztRQUFPO2tCQUFHOztJQUV0RSxxQkFDRSxLQUFDQztRQUFHQyxXQUFVO2tCQUNYUCxTQUFTUSxHQUFHLENBQUMsQ0FBQ0M7WUFDYixNQUFNLEVBQUVDLEVBQUUsRUFBRUMsU0FBUyxFQUFFLEdBQUdGO1lBQzFCLElBQUksQ0FBQ0MsTUFBTSxDQUFDQyxXQUFXLE9BQU87WUFDOUIscUJBQ0UsTUFBQ0M7Z0JBQVlMLFdBQVU7O2tDQUNyQixLQUFDWDt3QkFBWWlCLE1BQU07O2tDQUNuQixLQUFDQztrQ0FBTUwsR0FBR00sSUFBSSxJQUFJOztrQ0FDbEIsS0FBQ0Q7d0JBQUtQLFdBQVU7a0NBQWlDOztrQ0FDakQsS0FBQ087d0JBQUtQLFdBQVU7a0NBQ2IsSUFBSVMsS0FBS0wsV0FBV00sY0FBYyxDQUFDLFNBQVM7NEJBQzNDQyxPQUFPOzRCQUNQQyxLQUFLOzRCQUNMQyxNQUFNOzRCQUNOQyxNQUFNOzRCQUNOQyxRQUFROzRCQUNSQyxRQUFRO3dCQUNWOztvQkFFRHRCLDBCQUNDLEtBQUNIO3dCQUFPMEIsYUFBWTt3QkFBT1gsTUFBSzt3QkFBUU4sV0FBVTt3QkFBZ0NrQixTQUFTLElBQU14QixTQUFTUztrQ0FDeEcsY0FBQSxLQUFDYjs0QkFBTWdCLE1BQU07Ozs7ZUFoQlZIO1FBcUJiOztBQUdOLEVBQUMifQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { UIFieldServerProps } from 'payload';
|
|
2
|
+
import type { BuildSchema } from '@/better-auth/types';
|
|
3
|
+
import type { Passkey } from '@/better-auth/generated-types';
|
|
4
|
+
export type PasskeyWithId = Passkey & {
|
|
5
|
+
id: string;
|
|
6
|
+
createdAt: Date;
|
|
7
|
+
};
|
|
8
|
+
export type PasskeysServerComponentProps = UIFieldServerProps & {
|
|
9
|
+
schema: BuildSchema;
|
|
10
|
+
passkeySlug: string;
|
|
11
|
+
passkeyUserIdFieldName: string;
|
|
12
|
+
};
|
|
13
|
+
export type PasskeysClientComponentProps = {
|
|
14
|
+
initialPasskeys: PasskeyWithId[];
|
|
15
|
+
documentId: string | number;
|
|
16
|
+
currentUserId: string | number;
|
|
17
|
+
passkeySlug: string;
|
|
18
|
+
passkeyUserIdFieldName: string;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/payload/components/passkeys/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AAE5D,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,IAAI,CAAA;CAAE,CAAA;AAErE,MAAM,MAAM,4BAA4B,GAAG,kBAAkB,GAAG;IAC9D,MAAM,EAAE,WAAW,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,sBAAsB,EAAE,MAAM,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,eAAe,EAAE,aAAa,EAAE,CAAA;IAChC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAA;IAC3B,aAAa,EAAE,MAAM,GAAG,MAAM,CAAA;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,sBAAsB,EAAE,MAAM,CAAA;CAC/B,CAAA"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { };
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC9jb21wb25lbnRzL3Bhc3NrZXlzL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVUlGaWVsZFNlcnZlclByb3BzIH0gZnJvbSAncGF5bG9hZCdcbmltcG9ydCB0eXBlIHsgQnVpbGRTY2hlbWEgfSBmcm9tICdAL2JldHRlci1hdXRoL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXNza2V5IH0gZnJvbSAnQC9iZXR0ZXItYXV0aC9nZW5lcmF0ZWQtdHlwZXMnXG5cbmV4cG9ydCB0eXBlIFBhc3NrZXlXaXRoSWQgPSBQYXNza2V5ICYgeyBpZDogc3RyaW5nOyBjcmVhdGVkQXQ6IERhdGUgfVxuXG5leHBvcnQgdHlwZSBQYXNza2V5c1NlcnZlckNvbXBvbmVudFByb3BzID0gVUlGaWVsZFNlcnZlclByb3BzICYge1xuICBzY2hlbWE6IEJ1aWxkU2NoZW1hXG4gIHBhc3NrZXlTbHVnOiBzdHJpbmdcbiAgcGFzc2tleVVzZXJJZEZpZWxkTmFtZTogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFBhc3NrZXlzQ2xpZW50Q29tcG9uZW50UHJvcHMgPSB7XG4gIGluaXRpYWxQYXNza2V5czogUGFzc2tleVdpdGhJZFtdXG4gIGRvY3VtZW50SWQ6IHN0cmluZyB8IG51bWJlclxuICBjdXJyZW50VXNlcklkOiBzdHJpbmcgfCBudW1iZXJcbiAgcGFzc2tleVNsdWc6IHN0cmluZ1xuICBwYXNza2V5VXNlcklkRmllbGROYW1lOiBzdHJpbmdcbn1cblxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlBLFdBTUMifQ==
|
|
@@ -4,5 +4,6 @@ import ForgotPassword from '../views/forgot-password';
|
|
|
4
4
|
import ResetPassword from '../views/reset-password';
|
|
5
5
|
import RSCRedirect from '../components/rsc-redirect';
|
|
6
6
|
import TwoFactorVerify from '../views/two-factor-verify';
|
|
7
|
-
|
|
7
|
+
import { Passkeys } from '../components/passkeys';
|
|
8
|
+
export { AdminSignup, AdminLogin, ForgotPassword, ResetPassword, RSCRedirect, TwoFactorVerify, Passkeys };
|
|
8
9
|
//# sourceMappingURL=rsc.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rsc.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/payload/exports/rsc.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,uBAAuB,CAAA;AAC/C,OAAO,UAAU,MAAM,sBAAsB,CAAA;AAC7C,OAAO,cAAc,MAAM,0BAA0B,CAAA;AACrD,OAAO,aAAa,MAAM,yBAAyB,CAAA;AACnD,OAAO,WAAW,MAAM,4BAA4B,CAAA;AACpD,OAAO,eAAe,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"rsc.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/payload/exports/rsc.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,uBAAuB,CAAA;AAC/C,OAAO,UAAU,MAAM,sBAAsB,CAAA;AAC7C,OAAO,cAAc,MAAM,0BAA0B,CAAA;AACrD,OAAO,aAAa,MAAM,yBAAyB,CAAA;AACnD,OAAO,WAAW,MAAM,4BAA4B,CAAA;AACpD,OAAO,eAAe,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAA"}
|
|
@@ -4,6 +4,7 @@ import ForgotPassword from "../views/forgot-password";
|
|
|
4
4
|
import ResetPassword from "../views/reset-password";
|
|
5
5
|
import RSCRedirect from "../components/rsc-redirect";
|
|
6
6
|
import TwoFactorVerify from "../views/two-factor-verify";
|
|
7
|
-
|
|
7
|
+
import { Passkeys } from "../components/passkeys";
|
|
8
|
+
export { AdminSignup, AdminLogin, ForgotPassword, ResetPassword, RSCRedirect, TwoFactorVerify, Passkeys };
|
|
8
9
|
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC9leHBvcnRzL3JzYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQWRtaW5TaWdudXAgZnJvbSAnLi4vdmlld3MvYWRtaW4tc2lnbnVwJ1xuaW1wb3J0IEFkbWluTG9naW4gZnJvbSAnLi4vdmlld3MvYWRtaW4tbG9naW4nXG5pbXBvcnQgRm9yZ290UGFzc3dvcmQgZnJvbSAnLi4vdmlld3MvZm9yZ290LXBhc3N3b3JkJ1xuaW1wb3J0IFJlc2V0UGFzc3dvcmQgZnJvbSAnLi4vdmlld3MvcmVzZXQtcGFzc3dvcmQnXG5pbXBvcnQgUlNDUmVkaXJlY3QgZnJvbSAnLi4vY29tcG9uZW50cy9yc2MtcmVkaXJlY3QnXG5pbXBvcnQgVHdvRmFjdG9yVmVyaWZ5IGZyb20gJy4uL3ZpZXdzL3R3by1mYWN0b3ItdmVyaWZ5J1xuaW1wb3J0IHsgUGFzc2tleXMgfSBmcm9tICcuLi9jb21wb25lbnRzL3Bhc3NrZXlzJ1xuXG5leHBvcnQgeyBBZG1pblNpZ251cCwgQWRtaW5Mb2dpbiwgRm9yZ290UGFzc3dvcmQsIFJlc2V0UGFzc3dvcmQsIFJTQ1JlZGlyZWN0LCBUd29GYWN0b3JWZXJpZnksIFBhc3NrZXlzIH1cbiJdLCJuYW1lcyI6WyJBZG1pblNpZ251cCIsIkFkbWluTG9naW4iLCJGb3Jnb3RQYXNzd29yZCIsIlJlc2V0UGFzc3dvcmQiLCJSU0NSZWRpcmVjdCIsIlR3b0ZhY3RvclZlcmlmeSIsIlBhc3NrZXlzIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxpQkFBaUIsd0JBQXVCO0FBQy9DLE9BQU9DLGdCQUFnQix1QkFBc0I7QUFDN0MsT0FBT0Msb0JBQW9CLDJCQUEwQjtBQUNyRCxPQUFPQyxtQkFBbUIsMEJBQXlCO0FBQ25ELE9BQU9DLGlCQUFpQiw2QkFBNEI7QUFDcEQsT0FBT0MscUJBQXFCLDZCQUE0QjtBQUN4RCxTQUFTQyxRQUFRLFFBQVEseUJBQXdCO0FBRWpELFNBQVNOLFdBQVcsRUFBRUMsVUFBVSxFQUFFQyxjQUFjLEVBQUVDLGFBQWEsRUFBRUMsV0FBVyxFQUFFQyxlQUFlLEVBQUVDLFFBQVEsR0FBRSJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/payload/views/admin-login/client.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAYvD,KAAK,qBAAqB,GAAG;IAC3B,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,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;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/payload/views/admin-login/client.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAYvD,KAAK,qBAAqB,GAAG;IAC3B,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,gBAAgB,EAAE,OAAO,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,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;AA4HD,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA+B5D,CAAA"}
|