@payloadcms/tanstack-start 4.0.0-internal.d1cc1d3 → 4.0.0-internal.dee5eab
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/auth/login.d.ts +16 -3
- package/dist/auth/login.d.ts.map +1 -1
- package/dist/auth/login.js +46 -6
- package/dist/auth/login.js.map +1 -1
- package/dist/auth/logout.d.ts +5 -2
- package/dist/auth/logout.d.ts.map +1 -1
- package/dist/auth/logout.js +47 -6
- package/dist/auth/logout.js.map +1 -1
- package/dist/auth/refresh.d.ts +4 -2
- package/dist/auth/refresh.d.ts.map +1 -1
- package/dist/auth/refresh.js +49 -6
- package/dist/auth/refresh.js.map +1 -1
- package/dist/elements/DocumentHeaderClient/index.d.ts +16 -0
- package/dist/elements/DocumentHeaderClient/index.d.ts.map +1 -0
- package/dist/elements/DocumentHeaderClient/index.js +116 -0
- package/dist/elements/DocumentHeaderClient/index.js.map +1 -0
- package/dist/elements/RenderComponent/index.d.ts +10 -0
- package/dist/elements/RenderComponent/index.d.ts.map +1 -0
- package/dist/elements/RenderComponent/index.js +12 -0
- package/dist/elements/RenderComponent/index.js.map +1 -0
- package/dist/elements/RouterAdapter/index.d.ts.map +1 -1
- package/dist/elements/RouterAdapter/index.js +9 -8
- package/dist/elements/RouterAdapter/index.js.map +1 -1
- package/dist/exports/client.d.ts +1 -0
- package/dist/exports/client.d.ts.map +1 -1
- package/dist/exports/client.js +1 -0
- package/dist/exports/client.js.map +1 -1
- package/dist/exports/layouts.d.ts +3 -1
- package/dist/exports/layouts.d.ts.map +1 -1
- package/dist/exports/layouts.js +1 -0
- package/dist/exports/layouts.js.map +1 -1
- package/dist/exports/rsc.browser.d.ts +1 -4
- package/dist/exports/rsc.browser.d.ts.map +1 -1
- package/dist/exports/rsc.browser.js +1 -4
- package/dist/exports/rsc.browser.js.map +1 -1
- package/dist/exports/rsc.d.ts +1 -0
- package/dist/exports/rsc.d.ts.map +1 -1
- package/dist/exports/rsc.js +1 -0
- package/dist/exports/rsc.js.map +1 -1
- package/dist/exports/server.d.ts +1 -0
- package/dist/exports/server.d.ts.map +1 -1
- package/dist/exports/server.js +1 -0
- package/dist/exports/server.js.map +1 -1
- package/dist/layouts/Root/getLayoutData.d.ts +2 -24
- package/dist/layouts/Root/getLayoutData.d.ts.map +1 -1
- package/dist/layouts/Root/getLayoutData.js +0 -6
- package/dist/layouts/Root/getLayoutData.js.map +1 -1
- package/dist/layouts/Root/index.d.ts +32 -0
- package/dist/layouts/Root/index.d.ts.map +1 -0
- package/dist/layouts/Root/index.js +53 -0
- package/dist/layouts/Root/index.js.map +1 -0
- package/dist/routes/adminRoutes.d.ts +4 -6
- package/dist/routes/adminRoutes.d.ts.map +1 -1
- package/dist/routes/adminRoutes.js +41 -35
- package/dist/routes/adminRoutes.js.map +1 -1
- package/dist/routes/layoutRoute.d.ts.map +1 -1
- package/dist/routes/layoutRoute.js +0 -1
- package/dist/routes/layoutRoute.js.map +1 -1
- package/dist/rsc/renderPayloadRSC.d.ts +6 -0
- package/dist/rsc/renderPayloadRSC.d.ts.map +1 -0
- package/dist/rsc/renderPayloadRSC.js +6 -0
- package/dist/rsc/renderPayloadRSC.js.map +1 -0
- package/dist/utilities/getExistingAuthToken.d.ts +7 -0
- package/dist/utilities/getExistingAuthToken.d.ts.map +1 -0
- package/dist/utilities/getExistingAuthToken.js +18 -0
- package/dist/utilities/getExistingAuthToken.js.map +1 -0
- package/dist/utilities/getPreferences.d.ts +10 -0
- package/dist/utilities/getPreferences.d.ts.map +1 -0
- package/dist/utilities/getPreferences.js +33 -0
- package/dist/utilities/getPreferences.js.map +1 -0
- package/dist/utilities/getRequestLocale.d.ts.map +1 -1
- package/dist/utilities/getRequestLocale.js +2 -1
- package/dist/utilities/getRequestLocale.js.map +1 -1
- package/dist/utilities/handleServerFunctions.d.ts +19 -1
- package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
- package/dist/utilities/handleServerFunctions.js +56 -8
- package/dist/utilities/handleServerFunctions.js.map +1 -1
- package/dist/utilities/importMap.server.d.ts +8 -0
- package/dist/utilities/importMap.server.d.ts.map +1 -0
- package/dist/utilities/importMap.server.js +11 -0
- package/dist/utilities/importMap.server.js.map +1 -0
- package/dist/utilities/loadAdminPage.d.ts.map +1 -1
- package/dist/utilities/loadAdminPage.js +11 -3
- package/dist/utilities/loadAdminPage.js.map +1 -1
- package/dist/utilities/serverFunctionHandlers.d.ts +18 -0
- package/dist/utilities/serverFunctionHandlers.d.ts.map +1 -0
- package/dist/utilities/serverFunctionHandlers.js +17 -0
- package/dist/utilities/serverFunctionHandlers.js.map +1 -0
- package/dist/utilities/setPayloadAuthCookie.d.ts +9 -0
- package/dist/utilities/setPayloadAuthCookie.d.ts.map +1 -0
- package/dist/utilities/setPayloadAuthCookie.js +31 -0
- package/dist/utilities/setPayloadAuthCookie.js.map +1 -0
- package/dist/withPayload/importProtection.d.ts.map +1 -1
- package/dist/withPayload/importProtection.js +2 -2
- package/dist/withPayload/importProtection.js.map +1 -1
- package/dist/withPayload/workarounds/stripDistStyleImports.js +1 -1
- package/dist/withPayload/workarounds/stripDistStyleImports.js.map +1 -1
- package/package.json +5 -5
package/dist/auth/login.d.ts
CHANGED
|
@@ -1,4 +1,17 @@
|
|
|
1
|
-
import type { AuthCollectionSlug, LoginResult } from 'payload';
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import type { AuthCollectionSlug, LoginResult, MaybePromise, SanitizedConfig } from 'payload';
|
|
2
|
+
type LoginWithEmail = {
|
|
3
|
+
email: string;
|
|
4
|
+
username?: never;
|
|
5
|
+
};
|
|
6
|
+
type LoginWithUsername = {
|
|
7
|
+
email?: never;
|
|
8
|
+
username: string;
|
|
9
|
+
};
|
|
10
|
+
type LoginArgs = {
|
|
11
|
+
collection: AuthCollectionSlug;
|
|
12
|
+
config: MaybePromise<SanitizedConfig>;
|
|
13
|
+
password: string;
|
|
14
|
+
} & (LoginWithEmail | LoginWithUsername);
|
|
15
|
+
export declare function login<TSlug extends AuthCollectionSlug>({ collection, config, email, password, username, }: LoginArgs): Promise<LoginResult<TSlug>>;
|
|
16
|
+
export {};
|
|
4
17
|
//# sourceMappingURL=login.d.ts.map
|
package/dist/auth/login.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/auth/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/auth/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAM7F,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,KAAK,CAAA;CACjB,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,KAAK,SAAS,GAAG;IACf,UAAU,EAAE,kBAAkB,CAAA;IAC9B,MAAM,EAAE,YAAY,CAAC,eAAe,CAAC,CAAA;IACrC,QAAQ,EAAE,MAAM,CAAA;CACjB,GAAG,CAAC,cAAc,GAAG,iBAAiB,CAAC,CAAA;AAExC,wBAAsB,KAAK,CAAC,KAAK,SAAS,kBAAkB,EAAE,EAC5D,UAAU,EACV,MAAM,EACN,KAAK,EACL,QAAQ,EACR,QAAQ,GACT,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CA6CzC"}
|
package/dist/auth/login.js
CHANGED
|
@@ -1,10 +1,50 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export async function login(
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
serverAdapter: tanstackServerAdapter
|
|
1
|
+
import { getPayload } from 'payload';
|
|
2
|
+
import { setPayloadAuthCookie } from '../utilities/setPayloadAuthCookie.js';
|
|
3
|
+
export async function login({ collection, config, email, password, username }) {
|
|
4
|
+
const payload = await getPayload({
|
|
5
|
+
config
|
|
7
6
|
});
|
|
7
|
+
const authConfig = payload.collections[collection]?.config.auth;
|
|
8
|
+
if (!authConfig) {
|
|
9
|
+
throw new Error(`No auth config found for collection: ${collection}`);
|
|
10
|
+
}
|
|
11
|
+
const loginWithUsername = authConfig?.loginWithUsername ?? false;
|
|
12
|
+
if (loginWithUsername) {
|
|
13
|
+
if (loginWithUsername.allowEmailLogin) {
|
|
14
|
+
if (!email && !username) {
|
|
15
|
+
throw new Error('Email or username is required.');
|
|
16
|
+
}
|
|
17
|
+
} else {
|
|
18
|
+
if (!username) {
|
|
19
|
+
throw new Error('Username is required.');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
} else {
|
|
23
|
+
if (!email) {
|
|
24
|
+
throw new Error('Email is required.');
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const result = await payload.login({
|
|
28
|
+
collection,
|
|
29
|
+
data: loginWithUsername ? username ? {
|
|
30
|
+
password,
|
|
31
|
+
username
|
|
32
|
+
} : {
|
|
33
|
+
email,
|
|
34
|
+
password
|
|
35
|
+
} : {
|
|
36
|
+
email,
|
|
37
|
+
password
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
if (result.token) {
|
|
41
|
+
setPayloadAuthCookie({
|
|
42
|
+
authConfig,
|
|
43
|
+
cookiePrefix: payload.config.cookiePrefix,
|
|
44
|
+
token: result.token
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
return result;
|
|
8
48
|
}
|
|
9
49
|
|
|
10
50
|
//# sourceMappingURL=login.js.map
|
package/dist/auth/login.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/auth/login.ts"],"sourcesContent":["import type { AuthCollectionSlug, LoginResult } from 'payload'\n\nimport {
|
|
1
|
+
{"version":3,"sources":["../../src/auth/login.ts"],"sourcesContent":["import type { AuthCollectionSlug, LoginResult, MaybePromise, SanitizedConfig } from 'payload'\n\nimport { getPayload } from 'payload'\n\nimport { setPayloadAuthCookie } from '../utilities/setPayloadAuthCookie.js'\n\ntype LoginWithEmail = {\n email: string\n username?: never\n}\n\ntype LoginWithUsername = {\n email?: never\n username: string\n}\n\ntype LoginArgs = {\n collection: AuthCollectionSlug\n config: MaybePromise<SanitizedConfig>\n password: string\n} & (LoginWithEmail | LoginWithUsername)\n\nexport async function login<TSlug extends AuthCollectionSlug>({\n collection,\n config,\n email,\n password,\n username,\n}: LoginArgs): Promise<LoginResult<TSlug>> {\n const payload = await getPayload({ config })\n\n const authConfig = payload.collections[collection]?.config.auth\n\n if (!authConfig) {\n throw new Error(`No auth config found for collection: ${collection}`)\n }\n\n const loginWithUsername = authConfig?.loginWithUsername ?? false\n\n if (loginWithUsername) {\n if (loginWithUsername.allowEmailLogin) {\n if (!email && !username) {\n throw new Error('Email or username is required.')\n }\n } else {\n if (!username) {\n throw new Error('Username is required.')\n }\n }\n } else {\n if (!email) {\n throw new Error('Email is required.')\n }\n }\n\n const result = await payload.login({\n collection,\n data: (loginWithUsername\n ? username\n ? { password, username }\n : { email, password }\n : { email, password }) as { email: string; password: string },\n })\n\n if (result.token) {\n setPayloadAuthCookie({\n authConfig,\n cookiePrefix: payload.config.cookiePrefix,\n token: result.token,\n })\n }\n\n return result as LoginResult<TSlug>\n}\n"],"names":["getPayload","setPayloadAuthCookie","login","collection","config","email","password","username","payload","authConfig","collections","auth","Error","loginWithUsername","allowEmailLogin","result","data","token","cookiePrefix"],"mappings":"AAEA,SAASA,UAAU,QAAQ,UAAS;AAEpC,SAASC,oBAAoB,QAAQ,uCAAsC;AAkB3E,OAAO,eAAeC,MAAwC,EAC5DC,UAAU,EACVC,MAAM,EACNC,KAAK,EACLC,QAAQ,EACRC,QAAQ,EACE;IACV,MAAMC,UAAU,MAAMR,WAAW;QAAEI;IAAO;IAE1C,MAAMK,aAAaD,QAAQE,WAAW,CAACP,WAAW,EAAEC,OAAOO;IAE3D,IAAI,CAACF,YAAY;QACf,MAAM,IAAIG,MAAM,CAAC,qCAAqC,EAAET,YAAY;IACtE;IAEA,MAAMU,oBAAoBJ,YAAYI,qBAAqB;IAE3D,IAAIA,mBAAmB;QACrB,IAAIA,kBAAkBC,eAAe,EAAE;YACrC,IAAI,CAACT,SAAS,CAACE,UAAU;gBACvB,MAAM,IAAIK,MAAM;YAClB;QACF,OAAO;YACL,IAAI,CAACL,UAAU;gBACb,MAAM,IAAIK,MAAM;YAClB;QACF;IACF,OAAO;QACL,IAAI,CAACP,OAAO;YACV,MAAM,IAAIO,MAAM;QAClB;IACF;IAEA,MAAMG,SAAS,MAAMP,QAAQN,KAAK,CAAC;QACjCC;QACAa,MAAOH,oBACHN,WACE;YAAED;YAAUC;QAAS,IACrB;YAAEF;YAAOC;QAAS,IACpB;YAAED;YAAOC;QAAS;IACxB;IAEA,IAAIS,OAAOE,KAAK,EAAE;QAChBhB,qBAAqB;YACnBQ;YACAS,cAAcV,QAAQJ,MAAM,CAACc,YAAY;YACzCD,OAAOF,OAAOE,KAAK;QACrB;IACF;IAEA,OAAOF;AACT"}
|
package/dist/auth/logout.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function logout(
|
|
1
|
+
import type { MaybePromise, SanitizedConfig } from 'payload';
|
|
2
|
+
export declare function logout({ allSessions, config, }: {
|
|
3
|
+
allSessions?: boolean;
|
|
4
|
+
config: MaybePromise<SanitizedConfig>;
|
|
5
|
+
}): Promise<{
|
|
3
6
|
message: string;
|
|
4
7
|
success: boolean;
|
|
5
8
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/auth/logout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/auth/logout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAO5D,wBAAsB,MAAM,CAAC,EAC3B,WAAmB,EACnB,MAAM,GACP,EAAE;IACD,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,MAAM,EAAE,YAAY,CAAC,eAAe,CAAC,CAAA;CACtC;;;GAqCA"}
|
package/dist/auth/logout.js
CHANGED
|
@@ -1,10 +1,51 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { getRequest, setResponseHeader } from '@tanstack/react-start/server';
|
|
2
|
+
import { createLocalReq, getPayload, logoutOperation } from 'payload';
|
|
3
|
+
import { getExistingAuthToken } from '../utilities/getExistingAuthToken.js';
|
|
4
|
+
export async function logout({ allSessions = false, config }) {
|
|
5
|
+
const payload = await getPayload({
|
|
6
|
+
config
|
|
7
7
|
});
|
|
8
|
+
const request = getRequest();
|
|
9
|
+
const headers = new Headers(request.headers);
|
|
10
|
+
const authResult = await payload.auth({
|
|
11
|
+
headers
|
|
12
|
+
});
|
|
13
|
+
if (!authResult.user) {
|
|
14
|
+
return {
|
|
15
|
+
message: 'User already logged out',
|
|
16
|
+
success: true
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
const { user } = authResult;
|
|
20
|
+
const req = await createLocalReq({
|
|
21
|
+
user
|
|
22
|
+
}, payload);
|
|
23
|
+
const collection = payload.collections[user.collection];
|
|
24
|
+
if (!collection) {
|
|
25
|
+
return {
|
|
26
|
+
message: 'Collection not found',
|
|
27
|
+
success: false
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
const logoutResult = await logoutOperation({
|
|
31
|
+
allSessions,
|
|
32
|
+
collection,
|
|
33
|
+
req
|
|
34
|
+
});
|
|
35
|
+
if (!logoutResult) {
|
|
36
|
+
return {
|
|
37
|
+
message: 'Logout failed',
|
|
38
|
+
success: false
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
const existingCookie = getExistingAuthToken(payload.config.cookiePrefix);
|
|
42
|
+
if (existingCookie) {
|
|
43
|
+
setResponseHeader('Set-Cookie', `${encodeURIComponent(existingCookie.name)}=; Path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly`);
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
message: 'User logged out successfully',
|
|
47
|
+
success: true
|
|
48
|
+
};
|
|
8
49
|
}
|
|
9
50
|
|
|
10
51
|
//# sourceMappingURL=logout.js.map
|
package/dist/auth/logout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/auth/logout.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"sources":["../../src/auth/logout.ts"],"sourcesContent":["import type { MaybePromise, SanitizedConfig } from 'payload'\n\nimport { getRequest, setResponseHeader } from '@tanstack/react-start/server'\nimport { createLocalReq, getPayload, logoutOperation } from 'payload'\n\nimport { getExistingAuthToken } from '../utilities/getExistingAuthToken.js'\n\nexport async function logout({\n allSessions = false,\n config,\n}: {\n allSessions?: boolean\n config: MaybePromise<SanitizedConfig>\n}) {\n const payload = await getPayload({ config })\n const request = getRequest()\n const headers = new Headers(request.headers)\n const authResult = await payload.auth({ headers })\n\n if (!authResult.user) {\n return { message: 'User already logged out', success: true }\n }\n\n const { user } = authResult\n const req = await createLocalReq({ user }, payload)\n const collection = payload.collections[user.collection]\n\n if (!collection) {\n return { message: 'Collection not found', success: false }\n }\n\n const logoutResult = await logoutOperation({\n allSessions,\n collection,\n req,\n })\n\n if (!logoutResult) {\n return { message: 'Logout failed', success: false }\n }\n\n const existingCookie = getExistingAuthToken(payload.config.cookiePrefix)\n if (existingCookie) {\n setResponseHeader(\n 'Set-Cookie',\n `${encodeURIComponent(existingCookie.name)}=; Path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly`,\n )\n }\n\n return { message: 'User logged out successfully', success: true }\n}\n"],"names":["getRequest","setResponseHeader","createLocalReq","getPayload","logoutOperation","getExistingAuthToken","logout","allSessions","config","payload","request","headers","Headers","authResult","auth","user","message","success","req","collection","collections","logoutResult","existingCookie","cookiePrefix","encodeURIComponent","name"],"mappings":"AAEA,SAASA,UAAU,EAAEC,iBAAiB,QAAQ,+BAA8B;AAC5E,SAASC,cAAc,EAAEC,UAAU,EAAEC,eAAe,QAAQ,UAAS;AAErE,SAASC,oBAAoB,QAAQ,uCAAsC;AAE3E,OAAO,eAAeC,OAAO,EAC3BC,cAAc,KAAK,EACnBC,MAAM,EAIP;IACC,MAAMC,UAAU,MAAMN,WAAW;QAAEK;IAAO;IAC1C,MAAME,UAAUV;IAChB,MAAMW,UAAU,IAAIC,QAAQF,QAAQC,OAAO;IAC3C,MAAME,aAAa,MAAMJ,QAAQK,IAAI,CAAC;QAAEH;IAAQ;IAEhD,IAAI,CAACE,WAAWE,IAAI,EAAE;QACpB,OAAO;YAAEC,SAAS;YAA2BC,SAAS;QAAK;IAC7D;IAEA,MAAM,EAAEF,IAAI,EAAE,GAAGF;IACjB,MAAMK,MAAM,MAAMhB,eAAe;QAAEa;IAAK,GAAGN;IAC3C,MAAMU,aAAaV,QAAQW,WAAW,CAACL,KAAKI,UAAU,CAAC;IAEvD,IAAI,CAACA,YAAY;QACf,OAAO;YAAEH,SAAS;YAAwBC,SAAS;QAAM;IAC3D;IAEA,MAAMI,eAAe,MAAMjB,gBAAgB;QACzCG;QACAY;QACAD;IACF;IAEA,IAAI,CAACG,cAAc;QACjB,OAAO;YAAEL,SAAS;YAAiBC,SAAS;QAAM;IACpD;IAEA,MAAMK,iBAAiBjB,qBAAqBI,QAAQD,MAAM,CAACe,YAAY;IACvE,IAAID,gBAAgB;QAClBrB,kBACE,cACA,GAAGuB,mBAAmBF,eAAeG,IAAI,EAAE,0DAA0D,CAAC;IAE1G;IAEA,OAAO;QAAET,SAAS;QAAgCC,SAAS;IAAK;AAClE"}
|
package/dist/auth/refresh.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function refresh(
|
|
1
|
+
import type { MaybePromise, SanitizedConfig } from 'payload';
|
|
2
|
+
export declare function refresh({ config }: {
|
|
3
|
+
config: MaybePromise<SanitizedConfig>;
|
|
4
|
+
}): Promise<{
|
|
3
5
|
message: string;
|
|
4
6
|
success: boolean;
|
|
5
7
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../src/auth/refresh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../src/auth/refresh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAQ5E,wBAAsB,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,YAAY,CAAC,eAAe,CAAC,CAAA;CAAE;;;GAwClF"}
|
package/dist/auth/refresh.js
CHANGED
|
@@ -1,10 +1,53 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { getRequest } from '@tanstack/react-start/server';
|
|
2
|
+
import { createLocalReq, getPayload, refreshOperation } from 'payload';
|
|
3
|
+
import { getExistingAuthToken } from '../utilities/getExistingAuthToken.js';
|
|
4
|
+
import { setPayloadAuthCookie } from '../utilities/setPayloadAuthCookie.js';
|
|
5
|
+
export async function refresh({ config }) {
|
|
6
|
+
const payload = await getPayload({
|
|
7
|
+
config
|
|
7
8
|
});
|
|
9
|
+
const request = getRequest();
|
|
10
|
+
const headers = new Headers(request.headers);
|
|
11
|
+
const result = await payload.auth({
|
|
12
|
+
headers
|
|
13
|
+
});
|
|
14
|
+
if (!result.user) {
|
|
15
|
+
throw new Error('Cannot refresh token: user not authenticated');
|
|
16
|
+
}
|
|
17
|
+
const existingCookie = getExistingAuthToken(payload.config.cookiePrefix);
|
|
18
|
+
if (!existingCookie) {
|
|
19
|
+
return {
|
|
20
|
+
message: 'No valid token found to refresh',
|
|
21
|
+
success: false
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
const collection = result.user.collection;
|
|
25
|
+
const collectionConfig = payload.collections[collection];
|
|
26
|
+
if (!collectionConfig?.config.auth) {
|
|
27
|
+
throw new Error(`No auth config found for collection: ${collection}`);
|
|
28
|
+
}
|
|
29
|
+
const req = await createLocalReq({
|
|
30
|
+
user: result.user
|
|
31
|
+
}, payload);
|
|
32
|
+
const refreshResult = await refreshOperation({
|
|
33
|
+
collection: collectionConfig,
|
|
34
|
+
req
|
|
35
|
+
});
|
|
36
|
+
if (!refreshResult) {
|
|
37
|
+
return {
|
|
38
|
+
message: 'Token refresh failed',
|
|
39
|
+
success: false
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
setPayloadAuthCookie({
|
|
43
|
+
authConfig: collectionConfig.config.auth,
|
|
44
|
+
cookiePrefix: payload.config.cookiePrefix,
|
|
45
|
+
token: refreshResult.refreshedToken
|
|
46
|
+
});
|
|
47
|
+
return {
|
|
48
|
+
message: 'Token refreshed successfully',
|
|
49
|
+
success: true
|
|
50
|
+
};
|
|
8
51
|
}
|
|
9
52
|
|
|
10
53
|
//# sourceMappingURL=refresh.js.map
|
package/dist/auth/refresh.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/auth/refresh.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"sources":["../../src/auth/refresh.ts"],"sourcesContent":["import type { CollectionSlug, MaybePromise, SanitizedConfig } from 'payload'\n\nimport { getRequest } from '@tanstack/react-start/server'\nimport { createLocalReq, getPayload, refreshOperation } from 'payload'\n\nimport { getExistingAuthToken } from '../utilities/getExistingAuthToken.js'\nimport { setPayloadAuthCookie } from '../utilities/setPayloadAuthCookie.js'\n\nexport async function refresh({ config }: { config: MaybePromise<SanitizedConfig> }) {\n const payload = await getPayload({ config })\n const request = getRequest()\n const headers = new Headers(request.headers)\n const result = await payload.auth({ headers })\n\n if (!result.user) {\n throw new Error('Cannot refresh token: user not authenticated')\n }\n\n const existingCookie = getExistingAuthToken(payload.config.cookiePrefix)\n if (!existingCookie) {\n return { message: 'No valid token found to refresh', success: false }\n }\n\n const collection: CollectionSlug | undefined = result.user.collection\n const collectionConfig = payload.collections[collection]\n\n if (!collectionConfig?.config.auth) {\n throw new Error(`No auth config found for collection: ${collection}`)\n }\n\n const req = await createLocalReq({ user: result.user }, payload)\n\n const refreshResult = await refreshOperation({\n collection: collectionConfig,\n req,\n })\n\n if (!refreshResult) {\n return { message: 'Token refresh failed', success: false }\n }\n\n setPayloadAuthCookie({\n authConfig: collectionConfig.config.auth,\n cookiePrefix: payload.config.cookiePrefix,\n token: refreshResult.refreshedToken,\n })\n\n return { message: 'Token refreshed successfully', success: true }\n}\n"],"names":["getRequest","createLocalReq","getPayload","refreshOperation","getExistingAuthToken","setPayloadAuthCookie","refresh","config","payload","request","headers","Headers","result","auth","user","Error","existingCookie","cookiePrefix","message","success","collection","collectionConfig","collections","req","refreshResult","authConfig","token","refreshedToken"],"mappings":"AAEA,SAASA,UAAU,QAAQ,+BAA8B;AACzD,SAASC,cAAc,EAAEC,UAAU,EAAEC,gBAAgB,QAAQ,UAAS;AAEtE,SAASC,oBAAoB,QAAQ,uCAAsC;AAC3E,SAASC,oBAAoB,QAAQ,uCAAsC;AAE3E,OAAO,eAAeC,QAAQ,EAAEC,MAAM,EAA6C;IACjF,MAAMC,UAAU,MAAMN,WAAW;QAAEK;IAAO;IAC1C,MAAME,UAAUT;IAChB,MAAMU,UAAU,IAAIC,QAAQF,QAAQC,OAAO;IAC3C,MAAME,SAAS,MAAMJ,QAAQK,IAAI,CAAC;QAAEH;IAAQ;IAE5C,IAAI,CAACE,OAAOE,IAAI,EAAE;QAChB,MAAM,IAAIC,MAAM;IAClB;IAEA,MAAMC,iBAAiBZ,qBAAqBI,QAAQD,MAAM,CAACU,YAAY;IACvE,IAAI,CAACD,gBAAgB;QACnB,OAAO;YAAEE,SAAS;YAAmCC,SAAS;QAAM;IACtE;IAEA,MAAMC,aAAyCR,OAAOE,IAAI,CAACM,UAAU;IACrE,MAAMC,mBAAmBb,QAAQc,WAAW,CAACF,WAAW;IAExD,IAAI,CAACC,kBAAkBd,OAAOM,MAAM;QAClC,MAAM,IAAIE,MAAM,CAAC,qCAAqC,EAAEK,YAAY;IACtE;IAEA,MAAMG,MAAM,MAAMtB,eAAe;QAAEa,MAAMF,OAAOE,IAAI;IAAC,GAAGN;IAExD,MAAMgB,gBAAgB,MAAMrB,iBAAiB;QAC3CiB,YAAYC;QACZE;IACF;IAEA,IAAI,CAACC,eAAe;QAClB,OAAO;YAAEN,SAAS;YAAwBC,SAAS;QAAM;IAC3D;IAEAd,qBAAqB;QACnBoB,YAAYJ,iBAAiBd,MAAM,CAACM,IAAI;QACxCI,cAAcT,QAAQD,MAAM,CAACU,YAAY;QACzCS,OAAOF,cAAcG,cAAc;IACrC;IAEA,OAAO;QAAET,SAAS;QAAgCC,SAAS;IAAK;AAClE"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ImportMap } from 'payload';
|
|
2
|
+
import '@payloadcms/ui/elements/DocumentHeader/index.scss';
|
|
3
|
+
import '@payloadcms/ui/elements/DocumentHeader/Tabs/index.scss';
|
|
4
|
+
import '@payloadcms/ui/elements/DocumentHeader/Tabs/Tab/index.scss';
|
|
5
|
+
import React from 'react';
|
|
6
|
+
/**
|
|
7
|
+
* Client-only DocumentHeader for non-RSC adapters.
|
|
8
|
+
* Uses hooks to obtain config, permissions, and i18n instead of requiring `req`.
|
|
9
|
+
*/
|
|
10
|
+
export declare function DocumentHeaderClient({ collectionSlug, globalSlug, hideTabs, importMap, }: {
|
|
11
|
+
collectionSlug?: string;
|
|
12
|
+
globalSlug?: string;
|
|
13
|
+
hideTabs?: boolean;
|
|
14
|
+
importMap: ImportMap;
|
|
15
|
+
}): React.JSX.Element;
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentHeaderClient/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAqB,SAAS,EAAE,MAAM,SAAS,CAAA;AAG3D,OAAO,mDAAmD,CAAA;AAC1D,OAAO,wDAAwD,CAAA;AAC/D,OAAO,4DAA4D,CAAA;AAKnE,OAAO,KAAmB,MAAM,OAAO,CAAA;AAKvC;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,cAAc,EACd,UAAU,EACV,QAAQ,EACR,SAAS,GACV,EAAE;IACD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;CACrB,qBAsGA"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Gutter, RenderTitle, useAuth, useConfig, useTranslation } from '@payloadcms/ui';
|
|
4
|
+
import '@payloadcms/ui/elements/DocumentHeader/index.scss';
|
|
5
|
+
import '@payloadcms/ui/elements/DocumentHeader/Tabs/index.scss';
|
|
6
|
+
import '@payloadcms/ui/elements/DocumentHeader/Tabs/Tab/index.scss';
|
|
7
|
+
import { ShouldRenderTabs } from '@payloadcms/ui/elements/DocumentHeader/Tabs/ShouldRenderTabs';
|
|
8
|
+
import { DocumentTabLink } from '@payloadcms/ui/elements/DocumentHeader/Tabs/Tab/TabLink';
|
|
9
|
+
import { getTabs } from '@payloadcms/ui/elements/DocumentHeader/Tabs/tabs';
|
|
10
|
+
import { RenderClientComponent } from '@payloadcms/ui/elements/RenderServerComponent/clientOnly';
|
|
11
|
+
import React, { Fragment } from 'react';
|
|
12
|
+
const baseClass = 'doc-header';
|
|
13
|
+
const tabBaseClass = 'doc-tab';
|
|
14
|
+
/**
|
|
15
|
+
* Client-only DocumentHeader for non-RSC adapters.
|
|
16
|
+
* Uses hooks to obtain config, permissions, and i18n instead of requiring `req`.
|
|
17
|
+
*/ export function DocumentHeaderClient({ collectionSlug, globalSlug, hideTabs, importMap }) {
|
|
18
|
+
const { config, getEntityConfig } = useConfig();
|
|
19
|
+
const { permissions } = useAuth();
|
|
20
|
+
const { t } = useTranslation();
|
|
21
|
+
const collectionConfig = collectionSlug ? getEntityConfig({
|
|
22
|
+
collectionSlug
|
|
23
|
+
}) : null;
|
|
24
|
+
const globalConfig = globalSlug ? getEntityConfig({
|
|
25
|
+
globalSlug
|
|
26
|
+
}) : null;
|
|
27
|
+
const tabs = getTabs({
|
|
28
|
+
collectionConfig: collectionConfig,
|
|
29
|
+
globalConfig: globalConfig
|
|
30
|
+
});
|
|
31
|
+
return /*#__PURE__*/ _jsx(Gutter, {
|
|
32
|
+
className: baseClass,
|
|
33
|
+
children: /*#__PURE__*/ _jsxs("div", {
|
|
34
|
+
className: `${baseClass}__header`,
|
|
35
|
+
children: [
|
|
36
|
+
/*#__PURE__*/ _jsx(RenderTitle, {
|
|
37
|
+
className: `${baseClass}__title`
|
|
38
|
+
}),
|
|
39
|
+
!hideTabs && /*#__PURE__*/ _jsx(ShouldRenderTabs, {
|
|
40
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
41
|
+
className: "doc-tabs",
|
|
42
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
43
|
+
className: "doc-tabs__tabs-container",
|
|
44
|
+
children: /*#__PURE__*/ _jsx("ul", {
|
|
45
|
+
className: "doc-tabs__tabs",
|
|
46
|
+
children: tabs?.map(({ tab: tabConfig, viewPath }, index)=>{
|
|
47
|
+
if (tabConfig?.condition) {
|
|
48
|
+
const meetsCondition = tabConfig.condition({
|
|
49
|
+
collectionConfig: collectionConfig,
|
|
50
|
+
config: config,
|
|
51
|
+
globalConfig: globalConfig,
|
|
52
|
+
permissions: permissions ?? {},
|
|
53
|
+
req: undefined
|
|
54
|
+
});
|
|
55
|
+
if (!meetsCondition) {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (tabConfig?.Component) {
|
|
60
|
+
return /*#__PURE__*/ _jsx(RenderClientComponent, {
|
|
61
|
+
clientProps: {
|
|
62
|
+
path: viewPath
|
|
63
|
+
},
|
|
64
|
+
Component: tabConfig.Component,
|
|
65
|
+
importMap: importMap
|
|
66
|
+
}, `tab-${index}`);
|
|
67
|
+
}
|
|
68
|
+
const label = typeof tabConfig.label === 'function' ? tabConfig.label({
|
|
69
|
+
t: t
|
|
70
|
+
}) : tabConfig.label ?? '';
|
|
71
|
+
let href;
|
|
72
|
+
if (typeof tabConfig.href === 'function') {
|
|
73
|
+
href = tabConfig.href({
|
|
74
|
+
apiURL: undefined,
|
|
75
|
+
collection: collectionConfig,
|
|
76
|
+
global: globalConfig,
|
|
77
|
+
routes: config.routes
|
|
78
|
+
});
|
|
79
|
+
} else {
|
|
80
|
+
href = tabConfig.href ?? '';
|
|
81
|
+
}
|
|
82
|
+
const { Pill, Pill_Component } = tabConfig;
|
|
83
|
+
return /*#__PURE__*/ _jsx(DocumentTabLink, {
|
|
84
|
+
adminRoute: config.routes.admin,
|
|
85
|
+
ariaLabel: label,
|
|
86
|
+
baseClass: tabBaseClass,
|
|
87
|
+
href: href,
|
|
88
|
+
newTab: tabConfig.newTab,
|
|
89
|
+
children: /*#__PURE__*/ _jsxs("span", {
|
|
90
|
+
className: `${tabBaseClass}__label`,
|
|
91
|
+
children: [
|
|
92
|
+
label,
|
|
93
|
+
Pill || Pill_Component ? /*#__PURE__*/ _jsxs(Fragment, {
|
|
94
|
+
children: [
|
|
95
|
+
" ",
|
|
96
|
+
RenderClientComponent({
|
|
97
|
+
Component: Pill,
|
|
98
|
+
Fallback: Pill_Component,
|
|
99
|
+
importMap
|
|
100
|
+
})
|
|
101
|
+
]
|
|
102
|
+
}) : null
|
|
103
|
+
]
|
|
104
|
+
})
|
|
105
|
+
}, `tab-${index}`);
|
|
106
|
+
})
|
|
107
|
+
})
|
|
108
|
+
})
|
|
109
|
+
})
|
|
110
|
+
})
|
|
111
|
+
]
|
|
112
|
+
})
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/DocumentHeaderClient/index.tsx"],"sourcesContent":["'use client'\n\nimport type { DocumentTabConfig, ImportMap } from 'payload'\n\nimport { Gutter, RenderTitle, useAuth, useConfig, useTranslation } from '@payloadcms/ui'\nimport '@payloadcms/ui/elements/DocumentHeader/index.scss'\nimport '@payloadcms/ui/elements/DocumentHeader/Tabs/index.scss'\nimport '@payloadcms/ui/elements/DocumentHeader/Tabs/Tab/index.scss'\nimport { ShouldRenderTabs } from '@payloadcms/ui/elements/DocumentHeader/Tabs/ShouldRenderTabs'\nimport { DocumentTabLink } from '@payloadcms/ui/elements/DocumentHeader/Tabs/Tab/TabLink'\nimport { getTabs } from '@payloadcms/ui/elements/DocumentHeader/Tabs/tabs'\nimport { RenderClientComponent } from '@payloadcms/ui/elements/RenderServerComponent/clientOnly'\nimport React, { Fragment } from 'react'\n\nconst baseClass = 'doc-header'\nconst tabBaseClass = 'doc-tab'\n\n/**\n * Client-only DocumentHeader for non-RSC adapters.\n * Uses hooks to obtain config, permissions, and i18n instead of requiring `req`.\n */\nexport function DocumentHeaderClient({\n collectionSlug,\n globalSlug,\n hideTabs,\n importMap,\n}: {\n collectionSlug?: string\n globalSlug?: string\n hideTabs?: boolean\n importMap: ImportMap\n}) {\n const { config, getEntityConfig } = useConfig()\n const { permissions } = useAuth()\n const { t } = useTranslation()\n\n const collectionConfig = collectionSlug ? getEntityConfig({ collectionSlug }) : null\n const globalConfig = globalSlug ? getEntityConfig({ globalSlug }) : null\n\n const tabs = getTabs({\n collectionConfig: collectionConfig as any,\n globalConfig: globalConfig as any,\n })\n\n return (\n <Gutter className={baseClass}>\n <div className={`${baseClass}__header`}>\n <RenderTitle className={`${baseClass}__title`} />\n {!hideTabs && (\n <ShouldRenderTabs>\n <div className=\"doc-tabs\">\n <div className=\"doc-tabs__tabs-container\">\n <ul className=\"doc-tabs__tabs\">\n {tabs?.map(({ tab: tabConfig, viewPath }, index) => {\n if (tabConfig?.condition) {\n const meetsCondition = tabConfig.condition({\n collectionConfig: collectionConfig as any,\n config: config as any,\n globalConfig: globalConfig as any,\n permissions: permissions ?? ({} as any),\n req: undefined as any,\n })\n if (!meetsCondition) {\n return null\n }\n }\n\n if (tabConfig?.Component) {\n return (\n <RenderClientComponent\n clientProps={{ path: viewPath }}\n Component={tabConfig.Component}\n importMap={importMap}\n key={`tab-${index}`}\n />\n )\n }\n\n const label =\n typeof tabConfig.label === 'function'\n ? tabConfig.label({ t: t as any })\n : ((tabConfig.label as string) ?? '')\n\n let href: string\n if (typeof tabConfig.href === 'function') {\n href = tabConfig.href({\n apiURL: undefined as any,\n collection: collectionConfig as any,\n global: globalConfig as any,\n routes: config.routes as any,\n })\n } else {\n href = (tabConfig.href as string) ?? ''\n }\n\n const { Pill, Pill_Component } = tabConfig as {\n Pill?: DocumentTabConfig['Pill']\n Pill_Component?: React.FC\n }\n\n return (\n <DocumentTabLink\n adminRoute={config.routes.admin}\n ariaLabel={label}\n baseClass={tabBaseClass}\n href={href}\n key={`tab-${index}`}\n newTab={tabConfig.newTab}\n >\n <span className={`${tabBaseClass}__label`}>\n {label}\n {Pill || Pill_Component ? (\n <Fragment>\n \n {RenderClientComponent({\n Component: Pill,\n Fallback: Pill_Component,\n importMap,\n })}\n </Fragment>\n ) : null}\n </span>\n </DocumentTabLink>\n )\n })}\n </ul>\n </div>\n </div>\n </ShouldRenderTabs>\n )}\n </div>\n </Gutter>\n )\n}\n"],"names":["Gutter","RenderTitle","useAuth","useConfig","useTranslation","ShouldRenderTabs","DocumentTabLink","getTabs","RenderClientComponent","React","Fragment","baseClass","tabBaseClass","DocumentHeaderClient","collectionSlug","globalSlug","hideTabs","importMap","config","getEntityConfig","permissions","t","collectionConfig","globalConfig","tabs","className","div","ul","map","tab","tabConfig","viewPath","index","condition","meetsCondition","req","undefined","Component","clientProps","path","label","href","apiURL","collection","global","routes","Pill","Pill_Component","adminRoute","admin","ariaLabel","newTab","span","Fallback"],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ComponentRenderer } from 'payload';
|
|
2
|
+
/**
|
|
3
|
+
* TanStack Start component renderer.
|
|
4
|
+
*
|
|
5
|
+
* Uses the RSC-aware renderer that passes `serverProps` to server components
|
|
6
|
+
* (detected via `$$typeof` / `isReactServerComponentOrFunction`) and
|
|
7
|
+
* `clientProps` only to client components.
|
|
8
|
+
*/
|
|
9
|
+
export declare const TanStackComponentRenderer: ComponentRenderer;
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RenderComponent/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAIhD;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,iBAEvC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { RenderRSCComponent } from '../../rsc/renderPayloadRSC.js';
|
|
2
|
+
/**
|
|
3
|
+
* TanStack Start component renderer.
|
|
4
|
+
*
|
|
5
|
+
* Uses the RSC-aware renderer that passes `serverProps` to server components
|
|
6
|
+
* (detected via `$$typeof` / `isReactServerComponentOrFunction`) and
|
|
7
|
+
* `clientProps` only to client components.
|
|
8
|
+
*/ export const TanStackComponentRenderer = (args)=>{
|
|
9
|
+
return RenderRSCComponent(args);
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/RenderComponent/index.tsx"],"sourcesContent":["import type { ComponentRenderer } from 'payload'\n\nimport { RenderRSCComponent } from '../../rsc/renderPayloadRSC.js'\n\n/**\n * TanStack Start component renderer.\n *\n * Uses the RSC-aware renderer that passes `serverProps` to server components\n * (detected via `$$typeof` / `isReactServerComponentOrFunction`) and\n * `clientProps` only to client components.\n */\nexport const TanStackComponentRenderer: ComponentRenderer = (args) => {\n return RenderRSCComponent(args)\n}\n"],"names":["RenderRSCComponent","TanStackComponentRenderer","args"],"mappings":"AAEA,SAASA,kBAAkB,QAAQ,gCAA+B;AAElE;;;;;;CAMC,GACD,OAAO,MAAMC,4BAA+C,CAACC;IAC3D,OAAOF,mBAAmBE;AAC5B,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RouterAdapter/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAoB,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAuDvE,eAAO,MAAM,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RouterAdapter/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAoB,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAuDvE,eAAO,MAAM,qBAAqB,EAAE,sBA4GnC,CAAA"}
|
|
@@ -78,12 +78,15 @@ export const TanStackRouterAdapter = ({ children })=>{
|
|
|
78
78
|
const back = useCallback(()=>router.history.back(), [
|
|
79
79
|
router
|
|
80
80
|
]);
|
|
81
|
-
|
|
82
|
-
|
|
81
|
+
// Return the `navigate` promise (resolves once the navigation and its blocking
|
|
82
|
+
// loader settle) so `startRouteTransition` keeps the route-transition progress
|
|
83
|
+
// bar visible for the full navigation — TanStack's router drives its own
|
|
84
|
+
// internal React transition, so without awaiting this the shared optimistic
|
|
85
|
+
// `isTransitioning` flag would flip back before the new view loads.
|
|
86
|
+
const push = useCallback((path, options)=>router.navigate({
|
|
83
87
|
...toNavOptions(path),
|
|
84
88
|
resetScroll: options?.scroll
|
|
85
|
-
})
|
|
86
|
-
}, [
|
|
89
|
+
}), [
|
|
87
90
|
router,
|
|
88
91
|
toNavOptions
|
|
89
92
|
]);
|
|
@@ -92,13 +95,11 @@ export const TanStackRouterAdapter = ({ children })=>{
|
|
|
92
95
|
}, [
|
|
93
96
|
router
|
|
94
97
|
]);
|
|
95
|
-
const replace = useCallback((path, options)=>{
|
|
96
|
-
void router.navigate({
|
|
98
|
+
const replace = useCallback((path, options)=>router.navigate({
|
|
97
99
|
...toNavOptions(path),
|
|
98
100
|
replace: true,
|
|
99
101
|
resetScroll: options?.scroll
|
|
100
|
-
})
|
|
101
|
-
}, [
|
|
102
|
+
}), [
|
|
102
103
|
router,
|
|
103
104
|
toNavOptions
|
|
104
105
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/RouterAdapter/index.tsx"],"sourcesContent":["'use client'\n\nimport type { RouterAdapterContextValue } from '@payloadcms/ui'\nimport type { LinkAdapterProps, RouterAdapterComponent } from 'payload'\n\nimport { RouterAdapterContext } from '@payloadcms/ui'\nimport { Link as TanStackLink, useLocation, useParams, useRouter } from '@tanstack/react-router'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useMemo } from 'react'\n\nconst normalizeNavigationTarget = ({\n path,\n pathname,\n search,\n}: {\n path: string\n pathname: string\n search: string\n}) => {\n if (path.startsWith('http')) {\n const url = new URL(path)\n return `${url.pathname}${url.search}${url.hash}`\n }\n\n if (path.startsWith('?')) {\n return `${pathname}${path}`\n }\n\n if (path.startsWith('#')) {\n return `${pathname}${search}${path}`\n }\n\n return path\n}\n\nconst TanStackLinkAdapter: React.FC<LinkAdapterProps> = ({\n children,\n href,\n prefetch,\n ref,\n replace,\n scroll,\n ...rest\n}) => {\n return (\n <TanStackLink\n preload={prefetch === false ? false : 'intent'}\n ref={ref}\n replace={replace}\n resetScroll={scroll}\n to={href}\n {...rest}\n >\n {children}\n </TanStackLink>\n )\n}\n\nexport const TanStackRouterAdapter: RouterAdapterComponent = ({ children }) => {\n const router = useRouter()\n const location = useLocation()\n const params = useParams({ strict: false })\n\n const adaptedParams = useMemo(() => {\n const adapted: Record<string, string | string[]> = { ...params }\n\n if ('_splat' in params && typeof params._splat === 'string') {\n adapted.segments = params._splat.split('/').filter(Boolean)\n }\n\n return adapted\n }, [params])\n\n // Split a target into `to` (pathname) + a parsed `search` object, so the\n // router serializes the query via its `stringifySearch` (qs, bracket-encoded)\n // rather than embedding the raw string in `to`. Navigating with a string `to`\n // leaves the search *unencoded* in `window.location.search`\n // (e.g. `where[or][0]…`), which then never matches Payload's `qs.stringify`\n // output (`where%5Bor%5D…`) — breaking the list-view `syncPropsToURL` guard,\n // which compares the two and would otherwise clobber optimistic query state\n // (e.g. an in-progress filter condition) on every navigation.\n const toNavOptions = useCallback((path: string) => {\n const relativePath = normalizeNavigationTarget({\n path,\n pathname: window.location.pathname,\n search: window.location.search,\n })\n\n const queryIndex = relativePath.indexOf('?')\n\n if (queryIndex === -1) {\n return { to: relativePath }\n }\n\n const searchObject = qs.parse(relativePath.slice(queryIndex + 1), {\n depth: 10,\n ignoreQueryPrefix: true,\n })\n\n // Function form replaces the search entirely (no merge with current search).\n return { search: () => searchObject, to: relativePath.slice(0, queryIndex) }\n }, [])\n\n const back = useCallback(() => router.history.back(), [router])\n\n const push = useCallback(\n (path: string, options?: { scroll?: boolean })
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/RouterAdapter/index.tsx"],"sourcesContent":["'use client'\n\nimport type { RouterAdapterContextValue } from '@payloadcms/ui'\nimport type { LinkAdapterProps, RouterAdapterComponent } from 'payload'\n\nimport { RouterAdapterContext } from '@payloadcms/ui'\nimport { Link as TanStackLink, useLocation, useParams, useRouter } from '@tanstack/react-router'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useMemo } from 'react'\n\nconst normalizeNavigationTarget = ({\n path,\n pathname,\n search,\n}: {\n path: string\n pathname: string\n search: string\n}) => {\n if (path.startsWith('http')) {\n const url = new URL(path)\n return `${url.pathname}${url.search}${url.hash}`\n }\n\n if (path.startsWith('?')) {\n return `${pathname}${path}`\n }\n\n if (path.startsWith('#')) {\n return `${pathname}${search}${path}`\n }\n\n return path\n}\n\nconst TanStackLinkAdapter: React.FC<LinkAdapterProps> = ({\n children,\n href,\n prefetch,\n ref,\n replace,\n scroll,\n ...rest\n}) => {\n return (\n <TanStackLink\n preload={prefetch === false ? false : 'intent'}\n ref={ref}\n replace={replace}\n resetScroll={scroll}\n to={href}\n {...rest}\n >\n {children}\n </TanStackLink>\n )\n}\n\nexport const TanStackRouterAdapter: RouterAdapterComponent = ({ children }) => {\n const router = useRouter()\n const location = useLocation()\n const params = useParams({ strict: false })\n\n const adaptedParams = useMemo(() => {\n const adapted: Record<string, string | string[]> = { ...params }\n\n if ('_splat' in params && typeof params._splat === 'string') {\n adapted.segments = params._splat.split('/').filter(Boolean)\n }\n\n return adapted\n }, [params])\n\n // Split a target into `to` (pathname) + a parsed `search` object, so the\n // router serializes the query via its `stringifySearch` (qs, bracket-encoded)\n // rather than embedding the raw string in `to`. Navigating with a string `to`\n // leaves the search *unencoded* in `window.location.search`\n // (e.g. `where[or][0]…`), which then never matches Payload's `qs.stringify`\n // output (`where%5Bor%5D…`) — breaking the list-view `syncPropsToURL` guard,\n // which compares the two and would otherwise clobber optimistic query state\n // (e.g. an in-progress filter condition) on every navigation.\n const toNavOptions = useCallback((path: string) => {\n const relativePath = normalizeNavigationTarget({\n path,\n pathname: window.location.pathname,\n search: window.location.search,\n })\n\n const queryIndex = relativePath.indexOf('?')\n\n if (queryIndex === -1) {\n return { to: relativePath }\n }\n\n const searchObject = qs.parse(relativePath.slice(queryIndex + 1), {\n depth: 10,\n ignoreQueryPrefix: true,\n })\n\n // Function form replaces the search entirely (no merge with current search).\n return { search: () => searchObject, to: relativePath.slice(0, queryIndex) }\n }, [])\n\n const back = useCallback(() => router.history.back(), [router])\n\n // Return the `navigate` promise (resolves once the navigation and its blocking\n // loader settle) so `startRouteTransition` keeps the route-transition progress\n // bar visible for the full navigation — TanStack's router drives its own\n // internal React transition, so without awaiting this the shared optimistic\n // `isTransitioning` flag would flip back before the new view loads.\n const push = useCallback(\n (path: string, options?: { scroll?: boolean }) =>\n router.navigate({ ...toNavOptions(path), resetScroll: options?.scroll }),\n [router, toNavOptions],\n )\n\n const refresh = useCallback(() => {\n void router.invalidate()\n }, [router])\n\n const replace = useCallback(\n (path: string, options?: { scroll?: boolean }) =>\n router.navigate({ ...toNavOptions(path), replace: true, resetScroll: options?.scroll }),\n [router, toNavOptions],\n )\n\n // Mirror Next.js' router behavior to allow syncing client state to the URL without triggering a second server load.\n // TanStack's browser history monkeypatches `window.history.replaceState` and notifies `router.load` on every call.\n // Use `_ignoreSubscribers` to suppresses that notification — the same flag TanStack uses internally when flushing history.\n const replaceState = useCallback(\n (url: string) => {\n const { history } = router\n history._ignoreSubscribers = true\n\n try {\n window.history.replaceState(null, '', url)\n } finally {\n history._ignoreSubscribers = false\n }\n },\n [router],\n )\n\n const adaptedRouter = useMemo(\n () => ({ back, push, refresh, replace, replaceState }),\n [back, push, refresh, replace, replaceState],\n )\n\n // `location.searchStr` is the serialized query string; `location.search` is\n // the parsed object (a nested structure once the router uses `qs` for search\n // serialization), which `URLSearchParams` cannot consume. Build from the\n // string so Payload's `parseSearchParams` re-parses the bracket notation.\n const searchParams = useMemo(() => new URLSearchParams(location.searchStr), [location.searchStr])\n\n const value: RouterAdapterContextValue = useMemo(\n () => ({\n Link: TanStackLinkAdapter,\n params: adaptedParams,\n pathname: location.pathname,\n router: adaptedRouter,\n searchParams,\n }),\n [adaptedParams, location.pathname, adaptedRouter, searchParams],\n )\n\n return <RouterAdapterContext value={value}>{children}</RouterAdapterContext>\n}\n"],"names":["RouterAdapterContext","Link","TanStackLink","useLocation","useParams","useRouter","qs","React","useCallback","useMemo","normalizeNavigationTarget","path","pathname","search","startsWith","url","URL","hash","TanStackLinkAdapter","children","href","prefetch","ref","replace","scroll","rest","preload","resetScroll","to","TanStackRouterAdapter","router","location","params","strict","adaptedParams","adapted","_splat","segments","split","filter","Boolean","toNavOptions","relativePath","window","queryIndex","indexOf","searchObject","parse","slice","depth","ignoreQueryPrefix","back","history","push","options","navigate","refresh","invalidate","replaceState","_ignoreSubscribers","adaptedRouter","searchParams","URLSearchParams","searchStr","value"],"mappings":"AAAA;;AAKA,SAASA,oBAAoB,QAAQ,iBAAgB;AACrD,SAASC,QAAQC,YAAY,EAAEC,WAAW,EAAEC,SAAS,EAAEC,SAAS,QAAQ,yBAAwB;AAChG,YAAYC,QAAQ,SAAQ;AAC5B,OAAOC,SAASC,WAAW,EAAEC,OAAO,QAAQ,QAAO;AAEnD,MAAMC,4BAA4B,CAAC,EACjCC,IAAI,EACJC,QAAQ,EACRC,MAAM,EAKP;IACC,IAAIF,KAAKG,UAAU,CAAC,SAAS;QAC3B,MAAMC,MAAM,IAAIC,IAAIL;QACpB,OAAO,GAAGI,IAAIH,QAAQ,GAAGG,IAAIF,MAAM,GAAGE,IAAIE,IAAI,EAAE;IAClD;IAEA,IAAIN,KAAKG,UAAU,CAAC,MAAM;QACxB,OAAO,GAAGF,WAAWD,MAAM;IAC7B;IAEA,IAAIA,KAAKG,UAAU,CAAC,MAAM;QACxB,OAAO,GAAGF,WAAWC,SAASF,MAAM;IACtC;IAEA,OAAOA;AACT;AAEA,MAAMO,sBAAkD,CAAC,EACvDC,QAAQ,EACRC,IAAI,EACJC,QAAQ,EACRC,GAAG,EACHC,OAAO,EACPC,MAAM,EACN,GAAGC,MACJ;IACC,qBACE,KAACvB;QACCwB,SAASL,aAAa,QAAQ,QAAQ;QACtCC,KAAKA;QACLC,SAASA;QACTI,aAAaH;QACbI,IAAIR;QACH,GAAGK,IAAI;kBAEPN;;AAGP;AAEA,OAAO,MAAMU,wBAAgD,CAAC,EAAEV,QAAQ,EAAE;IACxE,MAAMW,SAASzB;IACf,MAAM0B,WAAW5B;IACjB,MAAM6B,SAAS5B,UAAU;QAAE6B,QAAQ;IAAM;IAEzC,MAAMC,gBAAgBzB,QAAQ;QAC5B,MAAM0B,UAA6C;YAAE,GAAGH,MAAM;QAAC;QAE/D,IAAI,YAAYA,UAAU,OAAOA,OAAOI,MAAM,KAAK,UAAU;YAC3DD,QAAQE,QAAQ,GAAGL,OAAOI,MAAM,CAACE,KAAK,CAAC,KAAKC,MAAM,CAACC;QACrD;QAEA,OAAOL;IACT,GAAG;QAACH;KAAO;IAEX,yEAAyE;IACzE,8EAA8E;IAC9E,8EAA8E;IAC9E,4DAA4D;IAC5D,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,8DAA8D;IAC9D,MAAMS,eAAejC,YAAY,CAACG;QAChC,MAAM+B,eAAehC,0BAA0B;YAC7CC;YACAC,UAAU+B,OAAOZ,QAAQ,CAACnB,QAAQ;YAClCC,QAAQ8B,OAAOZ,QAAQ,CAAClB,MAAM;QAChC;QAEA,MAAM+B,aAAaF,aAAaG,OAAO,CAAC;QAExC,IAAID,eAAe,CAAC,GAAG;YACrB,OAAO;gBAAEhB,IAAIc;YAAa;QAC5B;QAEA,MAAMI,eAAexC,GAAGyC,KAAK,CAACL,aAAaM,KAAK,CAACJ,aAAa,IAAI;YAChEK,OAAO;YACPC,mBAAmB;QACrB;QAEA,6EAA6E;QAC7E,OAAO;YAAErC,QAAQ,IAAMiC;YAAclB,IAAIc,aAAaM,KAAK,CAAC,GAAGJ;QAAY;IAC7E,GAAG,EAAE;IAEL,MAAMO,OAAO3C,YAAY,IAAMsB,OAAOsB,OAAO,CAACD,IAAI,IAAI;QAACrB;KAAO;IAE9D,+EAA+E;IAC/E,+EAA+E;IAC/E,yEAAyE;IACzE,4EAA4E;IAC5E,oEAAoE;IACpE,MAAMuB,OAAO7C,YACX,CAACG,MAAc2C,UACbxB,OAAOyB,QAAQ,CAAC;YAAE,GAAGd,aAAa9B,KAAK;YAAEgB,aAAa2B,SAAS9B;QAAO,IACxE;QAACM;QAAQW;KAAa;IAGxB,MAAMe,UAAUhD,YAAY;QAC1B,KAAKsB,OAAO2B,UAAU;IACxB,GAAG;QAAC3B;KAAO;IAEX,MAAMP,UAAUf,YACd,CAACG,MAAc2C,UACbxB,OAAOyB,QAAQ,CAAC;YAAE,GAAGd,aAAa9B,KAAK;YAAEY,SAAS;YAAMI,aAAa2B,SAAS9B;QAAO,IACvF;QAACM;QAAQW;KAAa;IAGxB,oHAAoH;IACpH,mHAAmH;IACnH,2HAA2H;IAC3H,MAAMiB,eAAelD,YACnB,CAACO;QACC,MAAM,EAAEqC,OAAO,EAAE,GAAGtB;QACpBsB,QAAQO,kBAAkB,GAAG;QAE7B,IAAI;YACFhB,OAAOS,OAAO,CAACM,YAAY,CAAC,MAAM,IAAI3C;QACxC,SAAU;YACRqC,QAAQO,kBAAkB,GAAG;QAC/B;IACF,GACA;QAAC7B;KAAO;IAGV,MAAM8B,gBAAgBnD,QACpB,IAAO,CAAA;YAAE0C;YAAME;YAAMG;YAASjC;YAASmC;QAAa,CAAA,GACpD;QAACP;QAAME;QAAMG;QAASjC;QAASmC;KAAa;IAG9C,4EAA4E;IAC5E,6EAA6E;IAC7E,yEAAyE;IACzE,0EAA0E;IAC1E,MAAMG,eAAepD,QAAQ,IAAM,IAAIqD,gBAAgB/B,SAASgC,SAAS,GAAG;QAAChC,SAASgC,SAAS;KAAC;IAEhG,MAAMC,QAAmCvD,QACvC,IAAO,CAAA;YACLR,MAAMiB;YACNc,QAAQE;YACRtB,UAAUmB,SAASnB,QAAQ;YAC3BkB,QAAQ8B;YACRC;QACF,CAAA,GACA;QAAC3B;QAAeH,SAASnB,QAAQ;QAAEgD;QAAeC;KAAa;IAGjE,qBAAO,KAAC7D;QAAqBgE,OAAOA;kBAAQ7C;;AAC9C,EAAC"}
|
package/dist/exports/client.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { TanStackComponentRenderer } from '../elements/RenderComponent/index.js';
|
|
1
2
|
export { TanStackRouterAdapter } from '../elements/RouterAdapter/index.js';
|
|
2
3
|
export { PayloadAdminShell, type PayloadAdminShellProps, withPayloadRoot, type WithPayloadRootOptions, } from '../layouts/Root/withPayloadRoot.js';
|
|
3
4
|
export { type AdminLoad, payloadAdminIndexRoute, payloadAdminSplatRoute, } from '../routes/adminRoutes.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/exports/client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,eAAe,EACf,KAAK,sBAAsB,GAC5B,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,KAAK,SAAS,EACd,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,KAAK,UAAU,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,sCAAsC,CAAA"}
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/exports/client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAA;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,eAAe,EACf,KAAK,sBAAsB,GAC5B,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,KAAK,SAAS,EACd,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,KAAK,UAAU,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,sCAAsC,CAAA"}
|
package/dist/exports/client.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
export { TanStackComponentRenderer } from '../elements/RenderComponent/index.js';
|
|
2
3
|
export { TanStackRouterAdapter } from '../elements/RouterAdapter/index.js';
|
|
3
4
|
export { PayloadAdminShell, withPayloadRoot } from '../layouts/Root/withPayloadRoot.js';
|
|
4
5
|
export { payloadAdminIndexRoute, payloadAdminSplatRoute } from '../routes/adminRoutes.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/exports/client.ts"],"sourcesContent":["'use client'\n\nexport { TanStackRouterAdapter } from '../elements/RouterAdapter/index.js'\nexport {\n PayloadAdminShell,\n type PayloadAdminShellProps,\n withPayloadRoot,\n type WithPayloadRootOptions,\n} from '../layouts/Root/withPayloadRoot.js'\nexport {\n type AdminLoad,\n payloadAdminIndexRoute,\n payloadAdminSplatRoute,\n} from '../routes/adminRoutes.js'\nexport { type LayoutLoad, payloadLayoutRoute } from '../routes/layoutRoute.js'\nexport { viteDevReloadStrategy } from '../utilities/devReloadStrategy.js'\nexport {\n createServerFunctionClient,\n stripUnserializable,\n} from '../utilities/serverFunctionClient.js'\n"],"names":["TanStackRouterAdapter","PayloadAdminShell","withPayloadRoot","payloadAdminIndexRoute","payloadAdminSplatRoute","payloadLayoutRoute","viteDevReloadStrategy","createServerFunctionClient","stripUnserializable"],"mappings":"AAAA;AAEA,SAASA,qBAAqB,QAAQ,qCAAoC;AAC1E,SACEC,iBAAiB,EAEjBC,eAAe,QAEV,qCAAoC;AAC3C,SAEEC,sBAAsB,EACtBC,sBAAsB,QACjB,2BAA0B;AACjC,SAA0BC,kBAAkB,QAAQ,2BAA0B;AAC9E,SAASC,qBAAqB,QAAQ,oCAAmC;AACzE,SACEC,0BAA0B,EAC1BC,mBAAmB,QACd,uCAAsC"}
|
|
1
|
+
{"version":3,"sources":["../../src/exports/client.ts"],"sourcesContent":["'use client'\n\nexport { TanStackComponentRenderer } from '../elements/RenderComponent/index.js'\nexport { TanStackRouterAdapter } from '../elements/RouterAdapter/index.js'\nexport {\n PayloadAdminShell,\n type PayloadAdminShellProps,\n withPayloadRoot,\n type WithPayloadRootOptions,\n} from '../layouts/Root/withPayloadRoot.js'\nexport {\n type AdminLoad,\n payloadAdminIndexRoute,\n payloadAdminSplatRoute,\n} from '../routes/adminRoutes.js'\nexport { type LayoutLoad, payloadLayoutRoute } from '../routes/layoutRoute.js'\nexport { viteDevReloadStrategy } from '../utilities/devReloadStrategy.js'\nexport {\n createServerFunctionClient,\n stripUnserializable,\n} from '../utilities/serverFunctionClient.js'\n"],"names":["TanStackComponentRenderer","TanStackRouterAdapter","PayloadAdminShell","withPayloadRoot","payloadAdminIndexRoute","payloadAdminSplatRoute","payloadLayoutRoute","viteDevReloadStrategy","createServerFunctionClient","stripUnserializable"],"mappings":"AAAA;AAEA,SAASA,yBAAyB,QAAQ,uCAAsC;AAChF,SAASC,qBAAqB,QAAQ,qCAAoC;AAC1E,SACEC,iBAAiB,EAEjBC,eAAe,QAEV,qCAAoC;AAC3C,SAEEC,sBAAsB,EACtBC,sBAAsB,QACjB,2BAA0B;AACjC,SAA0BC,kBAAkB,QAAQ,2BAA0B;AAC9E,SAASC,qBAAqB,QAAQ,oCAAmC;AACzE,SACEC,0BAA0B,EAC1BC,mBAAmB,QACd,uCAAsC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export { getLayoutData } from '../layouts/Root/getLayoutData.js';
|
|
2
|
-
export type { GetLayoutDataArgs
|
|
2
|
+
export type { GetLayoutDataArgs } from '../layouts/Root/getLayoutData.js';
|
|
3
|
+
export { RootLayout } from '../layouts/Root/index.js';
|
|
4
|
+
export type { RootLayoutData, RootLayoutProps } from '../layouts/Root/index.js';
|
|
3
5
|
export { loadLayoutData } from '../utilities/loadLayoutData.js';
|
|
4
6
|
//# sourceMappingURL=layouts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layouts.d.ts","sourceRoot":"","sources":["../../src/exports/layouts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAChE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"layouts.d.ts","sourceRoot":"","sources":["../../src/exports/layouts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAChE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA"}
|