@payloadcms/next 3.39.0-canary.7 → 3.39.0-internal.1c212c9
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.map +1 -1
- package/dist/auth/login.js.map +1 -1
- package/dist/auth/logout.d.ts +4 -2
- package/dist/auth/logout.d.ts.map +1 -1
- package/dist/auth/logout.js +26 -7
- package/dist/auth/logout.js.map +1 -1
- package/dist/auth/refresh.d.ts +1 -3
- package/dist/auth/refresh.d.ts.map +1 -1
- package/dist/auth/refresh.js +24 -12
- package/dist/auth/refresh.js.map +1 -1
- package/dist/cjs/withPayload.cjs +2 -2
- package/dist/cjs/withPayload.cjs.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts +1 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +36 -23
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +1 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +69 -10
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts +0 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +2 -2
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/elements/Nav/index.client.d.ts.map +1 -1
- package/dist/elements/Nav/index.client.js +28 -60
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/prod/styles.css +1 -1
- package/dist/views/Document/index.d.ts +0 -6
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +3 -6
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/List/index.d.ts +0 -6
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +0 -6
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/LivePreview/Device/index.d.ts.map +1 -1
- package/dist/views/LivePreview/Device/index.js +0 -2
- package/dist/views/LivePreview/Device/index.js.map +1 -1
- package/dist/views/Root/getCustomViewByRoute.d.ts +1 -1
- package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
- package/dist/views/Root/{getRouteData.d.ts → getViewFromConfig.d.ts} +5 -7
- package/dist/views/Root/getViewFromConfig.d.ts.map +1 -0
- package/dist/views/Root/{getRouteData.js → getViewFromConfig.js} +24 -66
- package/dist/views/Root/getViewFromConfig.js.map +1 -0
- package/dist/views/Root/index.d.ts +1 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +5 -20
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Root/metadata.d.ts.map +1 -1
- package/dist/views/Root/metadata.js +24 -61
- package/dist/views/Root/metadata.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +11 -23
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +0 -2
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/withPayload.d.ts +3 -1
- package/dist/withPayload.d.ts.map +1 -1
- package/dist/withPayload.js +2 -2
- package/dist/withPayload.js.map +1 -1
- package/package.json +7 -6
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.scss +0 -9
- package/dist/views/BrowseByFolder/buildView.d.ts +0 -13
- package/dist/views/BrowseByFolder/buildView.d.ts.map +0 -1
- package/dist/views/BrowseByFolder/buildView.js +0 -114
- package/dist/views/BrowseByFolder/buildView.js.map +0 -1
- package/dist/views/BrowseByFolder/index.d.ts +0 -4
- package/dist/views/BrowseByFolder/index.d.ts.map +0 -1
- package/dist/views/BrowseByFolder/index.js +0 -18
- package/dist/views/BrowseByFolder/index.js.map +0 -1
- package/dist/views/BrowseByFolder/metadata.d.ts +0 -4
- package/dist/views/BrowseByFolder/metadata.d.ts.map +0 -1
- package/dist/views/BrowseByFolder/metadata.js +0 -18
- package/dist/views/BrowseByFolder/metadata.js.map +0 -1
- package/dist/views/CollectionFolders/buildView.d.ts +0 -15
- package/dist/views/CollectionFolders/buildView.d.ts.map +0 -1
- package/dist/views/CollectionFolders/buildView.js +0 -163
- package/dist/views/CollectionFolders/buildView.js.map +0 -1
- package/dist/views/CollectionFolders/index.d.ts +0 -4
- package/dist/views/CollectionFolders/index.d.ts.map +0 -1
- package/dist/views/CollectionFolders/index.js +0 -18
- package/dist/views/CollectionFolders/index.js.map +0 -1
- package/dist/views/CollectionFolders/metadata.d.ts +0 -7
- package/dist/views/CollectionFolders/metadata.d.ts.map +0 -1
- package/dist/views/CollectionFolders/metadata.js +0 -25
- package/dist/views/CollectionFolders/metadata.js.map +0 -1
- package/dist/views/CollectionFolders/renderFolderViewSlots.d.ts +0 -11
- package/dist/views/CollectionFolders/renderFolderViewSlots.d.ts.map +0 -1
- package/dist/views/CollectionFolders/renderFolderViewSlots.js +0 -64
- package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +0 -1
- package/dist/views/Root/getRouteData.d.ts.map +0 -1
- package/dist/views/Root/getRouteData.js.map +0 -1
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":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/auth/login.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAM7C,KAAK,cAAc,GAAG;IACpB,UAAU,EAAE,cAAc,CAAA;IAC1B,MAAM,EAAE,GAAG,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAA;CACjB,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,UAAU,EAAE,cAAc,CAAA;IAC1B,MAAM,EAAE,GAAG,CAAA;IACX,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AACD,KAAK,SAAS,GAAG,cAAc,GAAG,iBAAiB,CAAA;AAEnD,wBAAsB,KAAK,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC;IACjG,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,GAAG,CAAA;CACV,CAAC,CAyDD"}
|
package/dist/auth/login.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","names":["getPayload","setPayloadAuthCookie","login","collection","config","email","password","username","payload","authConfig","collections","auth","Error","loginWithUsername","allowEmailLogin","loginData","result","data","token","cookiePrefix","removeTokenFromResponses","e","console","error"],"sources":["../../src/auth/login.ts"],"sourcesContent":["'use server'\n\nimport type { CollectionSlug } from 'payload'\n\nimport {
|
|
1
|
+
{"version":3,"file":"login.js","names":["getPayload","setPayloadAuthCookie","login","collection","config","email","password","username","payload","authConfig","collections","auth","Error","loginWithUsername","allowEmailLogin","loginData","result","data","token","cookiePrefix","removeTokenFromResponses","e","console","error"],"sources":["../../src/auth/login.ts"],"sourcesContent":["'use server'\n\nimport type { CollectionSlug } from 'payload'\n\nimport { getPayload } from 'payload'\n\nimport { setPayloadAuthCookie } from '../utilities/setPayloadAuthCookie.js'\n\ntype LoginWithEmail = {\n collection: CollectionSlug\n config: any\n email: string\n password: string\n username?: never\n}\n\ntype LoginWithUsername = {\n collection: CollectionSlug\n config: any\n email?: never\n password: string\n username: string\n}\ntype LoginArgs = LoginWithEmail | LoginWithUsername\n\nexport async function login({ collection, config, email, password, username }: LoginArgs): Promise<{\n token?: string\n user: any\n}> {\n const payload = await getPayload({ config })\n\n const authConfig = payload.collections[collection]?.config.auth\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 let loginData\n\n if (loginWithUsername) {\n loginData = username ? { password, username } : { email, password }\n } else {\n loginData = { email, password }\n }\n\n try {\n const result = await payload.login({\n collection,\n data: loginData,\n })\n\n if (result.token) {\n await setPayloadAuthCookie({\n authConfig,\n cookiePrefix: payload.config.cookiePrefix,\n token: result.token,\n })\n }\n\n if ('removeTokenFromResponses' in config && config.removeTokenFromResponses) {\n delete result.token\n }\n\n return result\n } catch (e) {\n console.error('Login error:', e)\n throw new Error(`${e}`)\n }\n}\n"],"mappings":"AAAA;;AAIA,SAASA,UAAU,QAAQ;AAE3B,SAASC,oBAAoB,QAAQ;AAmBrC,OAAO,eAAeC,MAAM;EAAEC,UAAU;EAAEC,MAAM;EAAEC,KAAK;EAAEC,QAAQ;EAAEC;AAAQ,CAAa;EAItF,MAAMC,OAAA,GAAU,MAAMR,UAAA,CAAW;IAAEI;EAAO;EAE1C,MAAMK,UAAA,GAAaD,OAAA,CAAQE,WAAW,CAACP,UAAA,CAAW,EAAEC,MAAA,CAAOO,IAAA;EAC3D,IAAI,CAACF,UAAA,EAAY;IACf,MAAM,IAAIG,KAAA,CAAM,wCAAwCT,UAAA,EAAY;EACtE;EAEA,MAAMU,iBAAA,GAAoBJ,UAAA,EAAYI,iBAAA,IAAqB;EAE3D,IAAIA,iBAAA,EAAmB;IACrB,IAAIA,iBAAA,CAAkBC,eAAe,EAAE;MACrC,IAAI,CAACT,KAAA,IAAS,CAACE,QAAA,EAAU;QACvB,MAAM,IAAIK,KAAA,CAAM;MAClB;IACF,OAAO;MACL,IAAI,CAACL,QAAA,EAAU;QACb,MAAM,IAAIK,KAAA,CAAM;MAClB;IACF;EACF,OAAO;IACL,IAAI,CAACP,KAAA,EAAO;MACV,MAAM,IAAIO,KAAA,CAAM;IAClB;EACF;EAEA,IAAIG,SAAA;EAEJ,IAAIF,iBAAA,EAAmB;IACrBE,SAAA,GAAYR,QAAA,GAAW;MAAED,QAAA;MAAUC;IAAS,IAAI;MAAEF,KAAA;MAAOC;IAAS;EACpE,OAAO;IACLS,SAAA,GAAY;MAAEV,KAAA;MAAOC;IAAS;EAChC;EAEA,IAAI;IACF,MAAMU,MAAA,GAAS,MAAMR,OAAA,CAAQN,KAAK,CAAC;MACjCC,UAAA;MACAc,IAAA,EAAMF;IACR;IAEA,IAAIC,MAAA,CAAOE,KAAK,EAAE;MAChB,MAAMjB,oBAAA,CAAqB;QACzBQ,UAAA;QACAU,YAAA,EAAcX,OAAA,CAAQJ,MAAM,CAACe,YAAY;QACzCD,KAAA,EAAOF,MAAA,CAAOE;MAChB;IACF;IAEA,IAAI,8BAA8Bd,MAAA,IAAUA,MAAA,CAAOgB,wBAAwB,EAAE;MAC3E,OAAOJ,MAAA,CAAOE,KAAK;IACrB;IAEA,OAAOF,MAAA;EACT,EAAE,OAAOK,CAAA,EAAG;IACVC,OAAA,CAAQC,KAAK,CAAC,gBAAgBF,CAAA;IAC9B,MAAM,IAAIT,KAAA,CAAM,GAAGS,CAAA,EAAG;EACxB;AACF","ignoreList":[]}
|
package/dist/auth/logout.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import type { SanitizedConfig } from 'payload';
|
|
2
|
+
export declare function logout({ allSessions, config, }: {
|
|
3
|
+
allSessions?: boolean;
|
|
4
|
+
config: Promise<SanitizedConfig> | SanitizedConfig;
|
|
3
5
|
}): Promise<{
|
|
4
6
|
message: string;
|
|
5
7
|
success: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/auth/logout.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/auth/logout.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAO/C,wBAAsB,MAAM,CAAC,EAC3B,WAAmB,EACnB,MAAM,GACP,EAAE;IACD,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;CACnD;;;GAmCA"}
|
package/dist/auth/logout.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
'use server';
|
|
2
2
|
|
|
3
3
|
import { cookies as getCookies, headers as nextHeaders } from 'next/headers.js';
|
|
4
|
-
import { getPayload } from 'payload';
|
|
4
|
+
import { createLocalReq, getPayload, logoutOperation } from 'payload';
|
|
5
5
|
import { getExistingAuthToken } from '../utilities/getExistingAuthToken.js';
|
|
6
6
|
export async function logout({
|
|
7
|
+
allSessions = false,
|
|
7
8
|
config
|
|
8
9
|
}) {
|
|
9
10
|
try {
|
|
@@ -11,24 +12,42 @@ export async function logout({
|
|
|
11
12
|
config
|
|
12
13
|
});
|
|
13
14
|
const headers = await nextHeaders();
|
|
14
|
-
const
|
|
15
|
+
const authResult = await payload.auth({
|
|
15
16
|
headers
|
|
16
17
|
});
|
|
17
|
-
if (!
|
|
18
|
+
if (!authResult.user) {
|
|
18
19
|
return {
|
|
19
20
|
message: 'User already logged out',
|
|
20
21
|
success: true
|
|
21
22
|
};
|
|
22
23
|
}
|
|
24
|
+
const {
|
|
25
|
+
user
|
|
26
|
+
} = authResult;
|
|
27
|
+
const req = await createLocalReq({
|
|
28
|
+
user
|
|
29
|
+
}, payload);
|
|
30
|
+
const collection = payload.collections[user.collection];
|
|
31
|
+
const logoutResult = await logoutOperation({
|
|
32
|
+
allSessions,
|
|
33
|
+
collection,
|
|
34
|
+
req
|
|
35
|
+
});
|
|
36
|
+
if (!logoutResult) {
|
|
37
|
+
return {
|
|
38
|
+
message: 'Logout failed',
|
|
39
|
+
success: false
|
|
40
|
+
};
|
|
41
|
+
}
|
|
23
42
|
const existingCookie = await getExistingAuthToken(payload.config.cookiePrefix);
|
|
24
43
|
if (existingCookie) {
|
|
25
44
|
const cookies = await getCookies();
|
|
26
45
|
cookies.delete(existingCookie.name);
|
|
27
|
-
return {
|
|
28
|
-
message: 'User logged out successfully',
|
|
29
|
-
success: true
|
|
30
|
-
};
|
|
31
46
|
}
|
|
47
|
+
return {
|
|
48
|
+
message: 'User logged out successfully',
|
|
49
|
+
success: true
|
|
50
|
+
};
|
|
32
51
|
} catch (e) {
|
|
33
52
|
console.error('Logout error:', e);
|
|
34
53
|
throw new Error(`${e}`);
|
package/dist/auth/logout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logout.js","names":["cookies","getCookies","headers","nextHeaders","getPayload","getExistingAuthToken","logout","config","payload","
|
|
1
|
+
{"version":3,"file":"logout.js","names":["cookies","getCookies","headers","nextHeaders","createLocalReq","getPayload","logoutOperation","getExistingAuthToken","logout","allSessions","config","payload","authResult","auth","user","message","success","req","collection","collections","logoutResult","existingCookie","cookiePrefix","delete","name","e","console","error","Error"],"sources":["../../src/auth/logout.ts"],"sourcesContent":["'use server'\n\nimport type { SanitizedConfig } from 'payload';\n\nimport { cookies as getCookies, headers as nextHeaders } from 'next/headers.js'\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: Promise<SanitizedConfig> | SanitizedConfig\n}) {\n try {\n const payload = await getPayload({ config })\n const headers = await nextHeaders()\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 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 = await getExistingAuthToken(payload.config.cookiePrefix)\n if (existingCookie) {\n const cookies = await getCookies()\n cookies.delete(existingCookie.name)\n }\n\n return { message: 'User logged out successfully', success: true }\n } catch (e) {\n console.error('Logout error:', e)\n throw new Error(`${e}`)\n }\n}\n"],"mappings":"AAAA;;AAIA,SAASA,OAAA,IAAWC,UAAU,EAAEC,OAAA,IAAWC,WAAW,QAAQ;AAC9D,SAASC,cAAc,EAAEC,UAAU,EAAEC,eAAe,QAAQ;AAE5D,SAASC,oBAAoB,QAAQ;AAErC,OAAO,eAAeC,OAAO;EAC3BC,WAAA,GAAc,KAAK;EACnBC;AAAM,CAIP;EACC,IAAI;IACF,MAAMC,OAAA,GAAU,MAAMN,UAAA,CAAW;MAAEK;IAAO;IAC1C,MAAMR,OAAA,GAAU,MAAMC,WAAA;IACtB,MAAMS,UAAA,GAAa,MAAMD,OAAA,CAAQE,IAAI,CAAC;MAAEX;IAAQ;IAEhD,IAAI,CAACU,UAAA,CAAWE,IAAI,EAAE;MACpB,OAAO;QAAEC,OAAA,EAAS;QAA2BC,OAAA,EAAS;MAAK;IAC7D;IAEA,MAAM;MAAEF;IAAI,CAAE,GAAGF,UAAA;IACjB,MAAMK,GAAA,GAAM,MAAMb,cAAA,CAAe;MAAEU;IAAK,GAAGH,OAAA;IAC3C,MAAMO,UAAA,GAAaP,OAAA,CAAQQ,WAAW,CAACL,IAAA,CAAKI,UAAU,CAAC;IAEvD,MAAME,YAAA,GAAe,MAAMd,eAAA,CAAgB;MACzCG,WAAA;MACAS,UAAA;MACAD;IACF;IAEA,IAAI,CAACG,YAAA,EAAc;MACjB,OAAO;QAAEL,OAAA,EAAS;QAAiBC,OAAA,EAAS;MAAM;IACpD;IAEA,MAAMK,cAAA,GAAiB,MAAMd,oBAAA,CAAqBI,OAAA,CAAQD,MAAM,CAACY,YAAY;IAC7E,IAAID,cAAA,EAAgB;MAClB,MAAMrB,OAAA,GAAU,MAAMC,UAAA;MACtBD,OAAA,CAAQuB,MAAM,CAACF,cAAA,CAAeG,IAAI;IACpC;IAEA,OAAO;MAAET,OAAA,EAAS;MAAgCC,OAAA,EAAS;IAAK;EAClE,EAAE,OAAOS,CAAA,EAAG;IACVC,OAAA,CAAQC,KAAK,CAAC,iBAAiBF,CAAA;IAC/B,MAAM,IAAIG,KAAA,CAAM,GAAGH,CAAA,EAAG;EACxB;AACF","ignoreList":[]}
|
package/dist/auth/refresh.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../src/auth/refresh.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../src/auth/refresh.ts"],"names":[],"mappings":"AAUA,wBAAsB,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE;;;GA4CxD"}
|
package/dist/auth/refresh.js
CHANGED
|
@@ -1,38 +1,50 @@
|
|
|
1
1
|
'use server';
|
|
2
2
|
|
|
3
3
|
import { headers as nextHeaders } from 'next/headers.js';
|
|
4
|
-
import { getPayload } from 'payload';
|
|
4
|
+
import { createLocalReq, getPayload, refreshOperation } from 'payload';
|
|
5
5
|
import { getExistingAuthToken } from '../utilities/getExistingAuthToken.js';
|
|
6
6
|
import { setPayloadAuthCookie } from '../utilities/setPayloadAuthCookie.js';
|
|
7
7
|
export async function refresh({
|
|
8
|
-
collection,
|
|
9
8
|
config
|
|
10
9
|
}) {
|
|
11
10
|
try {
|
|
12
11
|
const payload = await getPayload({
|
|
13
12
|
config
|
|
14
13
|
});
|
|
15
|
-
const
|
|
16
|
-
|
|
14
|
+
const headers = await nextHeaders();
|
|
15
|
+
const result = await payload.auth({
|
|
16
|
+
headers
|
|
17
|
+
});
|
|
18
|
+
if (!result.user) {
|
|
19
|
+
throw new Error('Cannot refresh token: user not authenticated');
|
|
20
|
+
}
|
|
21
|
+
const collection = result.user.collection;
|
|
22
|
+
const collectionConfig = payload.collections[collection];
|
|
23
|
+
if (!collectionConfig?.config.auth) {
|
|
17
24
|
throw new Error(`No auth config found for collection: ${collection}`);
|
|
18
25
|
}
|
|
19
|
-
const {
|
|
20
|
-
user
|
|
21
|
-
}
|
|
22
|
-
|
|
26
|
+
const req = await createLocalReq({
|
|
27
|
+
user: result.user
|
|
28
|
+
}, payload);
|
|
29
|
+
const refreshResult = await refreshOperation({
|
|
30
|
+
collection: collectionConfig,
|
|
31
|
+
req
|
|
23
32
|
});
|
|
24
|
-
if (!
|
|
25
|
-
|
|
33
|
+
if (!refreshResult) {
|
|
34
|
+
return {
|
|
35
|
+
message: 'Token refresh failed',
|
|
36
|
+
success: false
|
|
37
|
+
};
|
|
26
38
|
}
|
|
27
39
|
const existingCookie = await getExistingAuthToken(payload.config.cookiePrefix);
|
|
28
40
|
if (!existingCookie) {
|
|
29
41
|
return {
|
|
30
|
-
message: 'No valid token found',
|
|
42
|
+
message: 'No valid token found to refresh',
|
|
31
43
|
success: false
|
|
32
44
|
};
|
|
33
45
|
}
|
|
34
46
|
await setPayloadAuthCookie({
|
|
35
|
-
authConfig,
|
|
47
|
+
authConfig: collectionConfig.config.auth,
|
|
36
48
|
cookiePrefix: payload.config.cookiePrefix,
|
|
37
49
|
token: existingCookie.value
|
|
38
50
|
});
|
package/dist/auth/refresh.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh.js","names":["headers","nextHeaders","getPayload","getExistingAuthToken","setPayloadAuthCookie","refresh","
|
|
1
|
+
{"version":3,"file":"refresh.js","names":["headers","nextHeaders","createLocalReq","getPayload","refreshOperation","getExistingAuthToken","setPayloadAuthCookie","refresh","config","payload","result","auth","user","Error","collection","collectionConfig","collections","req","refreshResult","message","success","existingCookie","cookiePrefix","authConfig","token","value","e","console","error"],"sources":["../../src/auth/refresh.ts"],"sourcesContent":["'use server'\n\nimport type { CollectionSlug } from 'payload'\n\nimport { headers as nextHeaders } from 'next/headers.js'\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: any }) {\n try {\n const payload = await getPayload({ config })\n const headers = await nextHeaders()\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 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 const existingCookie = await getExistingAuthToken(payload.config.cookiePrefix)\n if (!existingCookie) {\n return { message: 'No valid token found to refresh', success: false }\n }\n\n await setPayloadAuthCookie({\n authConfig: collectionConfig.config.auth,\n cookiePrefix: payload.config.cookiePrefix,\n token: existingCookie.value,\n })\n\n return { message: 'Token refreshed successfully', success: true }\n } catch (e) {\n console.error('Refresh error:', e)\n throw new Error(`${e}`)\n }\n}\n"],"mappings":"AAAA;;AAIA,SAASA,OAAA,IAAWC,WAAW,QAAQ;AACvC,SAASC,cAAc,EAAEC,UAAU,EAAEC,gBAAgB,QAAQ;AAE7D,SAASC,oBAAoB,QAAQ;AACrC,SAASC,oBAAoB,QAAQ;AAErC,OAAO,eAAeC,QAAQ;EAAEC;AAAM,CAAmB;EACvD,IAAI;IACF,MAAMC,OAAA,GAAU,MAAMN,UAAA,CAAW;MAAEK;IAAO;IAC1C,MAAMR,OAAA,GAAU,MAAMC,WAAA;IACtB,MAAMS,MAAA,GAAS,MAAMD,OAAA,CAAQE,IAAI,CAAC;MAAEX;IAAQ;IAE5C,IAAI,CAACU,MAAA,CAAOE,IAAI,EAAE;MAChB,MAAM,IAAIC,KAAA,CAAM;IAClB;IAEA,MAAMC,UAAA,GAAyCJ,MAAA,CAAOE,IAAI,CAACE,UAAU;IACrE,MAAMC,gBAAA,GAAmBN,OAAA,CAAQO,WAAW,CAACF,UAAA,CAAW;IAExD,IAAI,CAACC,gBAAA,EAAkBP,MAAA,CAAOG,IAAA,EAAM;MAClC,MAAM,IAAIE,KAAA,CAAM,wCAAwCC,UAAA,EAAY;IACtE;IAEA,MAAMG,GAAA,GAAM,MAAMf,cAAA,CAAe;MAAEU,IAAA,EAAMF,MAAA,CAAOE;IAAK,GAAGH,OAAA;IAExD,MAAMS,aAAA,GAAgB,MAAMd,gBAAA,CAAiB;MAC3CU,UAAA,EAAYC,gBAAA;MACZE;IACF;IAEA,IAAI,CAACC,aAAA,EAAe;MAClB,OAAO;QAAEC,OAAA,EAAS;QAAwBC,OAAA,EAAS;MAAM;IAC3D;IAEA,MAAMC,cAAA,GAAiB,MAAMhB,oBAAA,CAAqBI,OAAA,CAAQD,MAAM,CAACc,YAAY;IAC7E,IAAI,CAACD,cAAA,EAAgB;MACnB,OAAO;QAAEF,OAAA,EAAS;QAAmCC,OAAA,EAAS;MAAM;IACtE;IAEA,MAAMd,oBAAA,CAAqB;MACzBiB,UAAA,EAAYR,gBAAA,CAAiBP,MAAM,CAACG,IAAI;MACxCW,YAAA,EAAcb,OAAA,CAAQD,MAAM,CAACc,YAAY;MACzCE,KAAA,EAAOH,cAAA,CAAeI;IACxB;IAEA,OAAO;MAAEN,OAAA,EAAS;MAAgCC,OAAA,EAAS;IAAK;EAClE,EAAE,OAAOM,CAAA,EAAG;IACVC,OAAA,CAAQC,KAAK,CAAC,kBAAkBF,CAAA;IAChC,MAAM,IAAIb,KAAA,CAAM,GAAGa,CAAA,EAAG;EACxB;AACF","ignoreList":[]}
|
package/dist/cjs/withPayload.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @param {import('next').NextConfig} nextConfig
|
|
3
|
-
* @param {Object} [
|
|
4
|
-
* @param {boolean} [
|
|
3
|
+
* @param {Object} [options] - Optional configuration options
|
|
4
|
+
* @param {boolean} [options.devBundleServerPackages] - Whether to bundle server packages in development mode. @default true
|
|
5
5
|
*
|
|
6
6
|
* @returns {import('next').NextConfig}
|
|
7
7
|
* */ "use strict";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/withPayload.js"],"names":[],"mappings":"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","file":"withPayload.cjs","sourcesContent":["/**\n * @param {import('next').NextConfig} nextConfig\n * @param {Object} [
|
|
1
|
+
{"version":3,"sources":["../../src/withPayload.js"],"names":[],"mappings":"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","file":"withPayload.cjs","sourcesContent":["/**\n * @param {import('next').NextConfig} nextConfig\n * @param {Object} [options] - Optional configuration options\n * @param {boolean} [options.devBundleServerPackages] - Whether to bundle server packages in development mode. @default true\n *\n * @returns {import('next').NextConfig}\n * */\nexport const withPayload = (nextConfig = {}, options = {}) => {\n const env = nextConfig?.env || {}\n\n if (nextConfig.experimental?.staleTimes?.dynamic) {\n console.warn(\n 'Payload detected a non-zero value for the `staleTimes.dynamic` option in your Next.js config. This will slow down page transitions and may cause stale data to load within the Admin panel. To clear this warning, remove the `staleTimes.dynamic` option from your Next.js config or set it to 0. In the future, Next.js may support scoping this option to specific routes.',\n )\n env.NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH = 'true'\n }\n\n if (process.env.PAYLOAD_PATCH_TURBOPACK_WARNINGS !== 'false') {\n const turbopackWarningText =\n 'Packages that should be external need to be installed in the project directory, so they can be resolved from the output files.\\nTry to install it into the project directory by running'\n\n const consoleWarn = console.warn\n console.warn = (...args) => {\n // Force to disable serverExternalPackages warnings: https://github.com/vercel/next.js/issues/68805\n if (\n (typeof args[1] === 'string' && args[1].includes(turbopackWarningText)) ||\n (typeof args[0] === 'string' && args[0].includes(turbopackWarningText))\n ) {\n return\n }\n\n consoleWarn(...args)\n }\n }\n\n const poweredByHeader = {\n key: 'X-Powered-By',\n value: 'Next.js, Payload',\n }\n\n /**\n * @type {import('next').NextConfig}\n */\n const toReturn = {\n ...nextConfig,\n env,\n outputFileTracingExcludes: {\n ...(nextConfig?.outputFileTracingExcludes || {}),\n '**/*': [\n ...(nextConfig?.outputFileTracingExcludes?.['**/*'] || []),\n 'drizzle-kit',\n 'drizzle-kit/api',\n ],\n },\n outputFileTracingIncludes: {\n ...(nextConfig?.outputFileTracingIncludes || {}),\n '**/*': [...(nextConfig?.outputFileTracingIncludes?.['**/*'] || []), '@libsql/client'],\n },\n // We disable the poweredByHeader here because we add it manually in the headers function below\n ...(nextConfig?.poweredByHeader !== false ? { poweredByHeader: false } : {}),\n headers: async () => {\n const headersFromConfig = 'headers' in nextConfig ? await nextConfig.headers() : []\n\n return [\n ...(headersFromConfig || []),\n {\n source: '/:path*',\n headers: [\n {\n key: 'Accept-CH',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n {\n key: 'Vary',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n {\n key: 'Critical-CH',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n ...(nextConfig?.poweredByHeader !== false ? [poweredByHeader] : []),\n ],\n },\n ]\n },\n serverExternalPackages: [\n ...(nextConfig?.serverExternalPackages || []),\n 'drizzle-kit',\n 'drizzle-kit/api',\n 'pino',\n 'libsql',\n 'pino-pretty',\n 'graphql',\n // Do not bundle server-only packages during dev to improve compile speed\n ...(process.env.NODE_ENV === 'development' && options.devBundleServerPackages === false\n ? [\n 'payload',\n '@payloadcms/db-mongodb',\n '@payloadcms/db-postgres',\n '@payloadcms/db-sqlite',\n '@payloadcms/db-vercel-postgres',\n '@payloadcms/drizzle',\n '@payloadcms/email-nodemailer',\n '@payloadcms/email-resend',\n '@payloadcms/graphql',\n '@payloadcms/payload-cloud',\n '@payloadcms/plugin-redirects',\n // TODO: Add the following packages, excluding their /client subpath exports, once Next.js supports it\n //'@payloadcms/plugin-cloud-storage',\n //'@payloadcms/plugin-sentry',\n //'@payloadcms/plugin-stripe',\n // @payloadcms/richtext-lexical\n //'@payloadcms/storage-azure',\n //'@payloadcms/storage-gcs',\n //'@payloadcms/storage-s3',\n //'@payloadcms/storage-uploadthing',\n //'@payloadcms/storage-vercel-blob',\n ]\n : []),\n ],\n webpack: (webpackConfig, webpackOptions) => {\n const incomingWebpackConfig =\n typeof nextConfig.webpack === 'function'\n ? nextConfig.webpack(webpackConfig, webpackOptions)\n : webpackConfig\n\n return {\n ...incomingWebpackConfig,\n externals: [\n ...(incomingWebpackConfig?.externals || []),\n 'drizzle-kit',\n 'drizzle-kit/api',\n 'sharp',\n 'libsql',\n 'require-in-the-middle',\n ],\n ignoreWarnings: [\n ...(incomingWebpackConfig?.ignoreWarnings || []),\n { module: /node_modules\\/mongodb\\/lib\\/utils\\.js/ },\n { file: /node_modules\\/mongodb\\/lib\\/utils\\.js/ },\n { module: /node_modules\\/mongodb\\/lib\\/bson\\.js/ },\n { file: /node_modules\\/mongodb\\/lib\\/bson\\.js/ },\n ],\n plugins: [\n ...(incomingWebpackConfig?.plugins || []),\n // Fix cloudflare:sockets error: https://github.com/vercel/next.js/discussions/50177\n new webpackOptions.webpack.IgnorePlugin({\n resourceRegExp: /^pg-native$|^cloudflare:sockets$/,\n }),\n ],\n resolve: {\n ...(incomingWebpackConfig?.resolve || {}),\n alias: {\n ...(incomingWebpackConfig?.resolve?.alias || {}),\n },\n fallback: {\n ...(incomingWebpackConfig?.resolve?.fallback || {}),\n '@aws-sdk/credential-providers': false,\n '@mongodb-js/zstd': false,\n aws4: false,\n kerberos: false,\n 'mongodb-client-encryption': false,\n snappy: false,\n 'supports-color': false,\n 'yocto-queue': false,\n },\n },\n }\n },\n }\n\n if (nextConfig.basePath) {\n toReturn.env.NEXT_BASE_PATH = nextConfig.basePath\n }\n\n return toReturn\n}\n\nexport default withPayload\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabLink.d.ts","sourceRoot":"","sources":["../../../../../src/elements/DocumentHeader/Tabs/Tab/TabLink.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAK9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;IACrC,UAAU,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAA;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,
|
|
1
|
+
{"version":3,"file":"TabLink.d.ts","sourceRoot":"","sources":["../../../../../src/elements/DocumentHeader/Tabs/Tab/TabLink.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAK9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;IACrC,UAAU,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAA;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAsDA,CAAA"}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
import { c as _c } from "react/compiler-runtime";
|
|
4
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
-
import {
|
|
5
|
+
import { Link } from '@payloadcms/ui';
|
|
6
6
|
import { useParams, usePathname, useSearchParams } from 'next/navigation.js';
|
|
7
7
|
import { formatAdminURL } from 'payload/shared';
|
|
8
8
|
import React from 'react';
|
|
9
9
|
export const DocumentTabLink = t0 => {
|
|
10
|
-
const $ = _c(
|
|
10
|
+
const $ = _c(21);
|
|
11
11
|
const {
|
|
12
12
|
adminRoute,
|
|
13
13
|
ariaLabel,
|
|
@@ -65,32 +65,45 @@ export const DocumentTabLink = t0 => {
|
|
|
65
65
|
t5 = $[10];
|
|
66
66
|
}
|
|
67
67
|
const t6 = t5.join(" ");
|
|
68
|
-
const t7 =
|
|
69
|
-
const t8 = !isActive || href !== pathname ? hrefWithLocale :
|
|
68
|
+
const t7 = `${baseClass}__link`;
|
|
69
|
+
const t8 = !isActive || href !== pathname ? hrefWithLocale : "";
|
|
70
70
|
let t9;
|
|
71
|
-
if ($[11] !==
|
|
72
|
-
t9 =
|
|
71
|
+
if ($[11] !== newTab) {
|
|
72
|
+
t9 = newTab && {
|
|
73
|
+
rel: "noopener noreferrer",
|
|
74
|
+
target: "_blank"
|
|
75
|
+
};
|
|
76
|
+
$[11] = newTab;
|
|
77
|
+
$[12] = t9;
|
|
78
|
+
} else {
|
|
79
|
+
t9 = $[12];
|
|
80
|
+
}
|
|
81
|
+
const t10 = isActive ? -1 : 0;
|
|
82
|
+
let t11;
|
|
83
|
+
if ($[13] !== ariaLabel || $[14] !== children || $[15] !== t10 || $[16] !== t6 || $[17] !== t7 || $[18] !== t8 || $[19] !== t9) {
|
|
84
|
+
t11 = _jsx("li", {
|
|
73
85
|
"aria-label": ariaLabel,
|
|
74
|
-
buttonStyle: "tab",
|
|
75
86
|
className: t6,
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
87
|
+
children: _jsx(Link, {
|
|
88
|
+
className: t7,
|
|
89
|
+
href: t8,
|
|
90
|
+
prefetch: false,
|
|
91
|
+
...t9,
|
|
92
|
+
tabIndex: t10,
|
|
93
|
+
children
|
|
94
|
+
})
|
|
82
95
|
});
|
|
83
|
-
$[
|
|
84
|
-
$[
|
|
85
|
-
$[
|
|
86
|
-
$[
|
|
87
|
-
$[
|
|
88
|
-
$[
|
|
89
|
-
$[
|
|
90
|
-
$[
|
|
96
|
+
$[13] = ariaLabel;
|
|
97
|
+
$[14] = children;
|
|
98
|
+
$[15] = t10;
|
|
99
|
+
$[16] = t6;
|
|
100
|
+
$[17] = t7;
|
|
101
|
+
$[18] = t8;
|
|
102
|
+
$[19] = t9;
|
|
103
|
+
$[20] = t11;
|
|
91
104
|
} else {
|
|
92
|
-
|
|
105
|
+
t11 = $[20];
|
|
93
106
|
}
|
|
94
|
-
return
|
|
107
|
+
return t11;
|
|
95
108
|
};
|
|
96
109
|
//# sourceMappingURL=TabLink.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabLink.js","names":["c","_c","
|
|
1
|
+
{"version":3,"file":"TabLink.js","names":["c","_c","Link","useParams","usePathname","useSearchParams","formatAdminURL","React","DocumentTabLink","t0","$","adminRoute","ariaLabel","baseClass","children","href","hrefFromProps","isActive","isActiveFromProps","newTab","pathname","params","searchParams","locale","get","entityType","entitySlug","segmentThree","segments","isCollection","t1","t2","path","docPath","hrefWithLocale","t3","startsWith","t4","t5","filter","Boolean","t6","join","t7","t8","t9","rel","target","t10","t11","_jsx","className","prefetch","tabIndex"],"sources":["../../../../../src/elements/DocumentHeader/Tabs/Tab/TabLink.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedConfig } from 'payload'\n\nimport { Link } from '@payloadcms/ui'\nimport { useParams, usePathname, useSearchParams } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\nexport const DocumentTabLink: React.FC<{\n adminRoute: SanitizedConfig['routes']['admin']\n ariaLabel?: string\n baseClass: string\n children?: React.ReactNode\n href: string\n isActive?: boolean\n isCollection?: boolean\n newTab?: boolean\n}> = ({\n adminRoute,\n ariaLabel,\n baseClass,\n children,\n href: hrefFromProps,\n isActive: isActiveFromProps,\n newTab,\n}) => {\n const pathname = usePathname()\n const params = useParams()\n\n const searchParams = useSearchParams()\n\n const locale = searchParams.get('locale')\n\n const [entityType, entitySlug, segmentThree, segmentFour, ...rest] = params.segments || []\n const isCollection = entityType === 'collections'\n\n let docPath = formatAdminURL({\n adminRoute,\n path: `/${isCollection ? 'collections' : 'globals'}/${entitySlug}`,\n })\n\n if (isCollection && segmentThree) {\n // doc ID\n docPath += `/${segmentThree}`\n }\n\n const href = `${docPath}${hrefFromProps}`\n // separated the two so it doesn't break checks against pathname\n const hrefWithLocale = `${href}${locale ? `?locale=${locale}` : ''}`\n\n const isActive =\n (href === docPath && pathname === docPath) ||\n (href !== docPath && pathname.startsWith(href)) ||\n isActiveFromProps\n\n return (\n <li\n aria-label={ariaLabel}\n className={[baseClass, isActive && `${baseClass}--active`].filter(Boolean).join(' ')}\n >\n <Link\n className={`${baseClass}__link`}\n href={!isActive || href !== pathname ? hrefWithLocale : ''}\n prefetch={false}\n {...(newTab && { rel: 'noopener noreferrer', target: '_blank' })}\n tabIndex={isActive ? -1 : 0}\n >\n {children}\n </Link>\n </li>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/DocumentHeader/Tabs/Tab/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAe,MAAM,SAAS,CAAA;AACrF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,YAAY,CAAA;AAElC,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAChC;IAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,EAAE,CAAA;CAAE,GAAG,iBAAiB,GAAG,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/DocumentHeader/Tabs/Tab/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAe,MAAM,SAAS,CAAA;AACrF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,YAAY,CAAA;AAElC,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAChC;IAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,EAAE,CAAA;CAAE,GAAG,iBAAiB,GAAG,sBAAsB,CAoFpF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["RenderServerComponent","Fragment","DocumentTabLink","baseClass","DocumentTab","props","apiURL","collectionConfig","condition","globalConfig","href","tabHref","i18n","isActive","tabIsActive","label","newTab","payload","permissions","Pill","Pill_Component","config","routes","collection","global","meetsCondition","Boolean","labelToRender","t","_jsx","adminRoute","admin","ariaLabel","_jsxs","className","Component","Fallback","importMap","serverProps"],"sources":["../../../../../src/elements/DocumentHeader/Tabs/Tab/index.tsx"],"sourcesContent":["import type { DocumentTabConfig, DocumentTabServerProps, ServerProps } from 'payload'\nimport type React from 'react'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { Fragment } from 'react'\n\nimport { DocumentTabLink } from './TabLink.js'\nimport './index.scss'\n\nexport const baseClass = 'doc-tab'\n\nexport const DocumentTab: React.FC<\n { readonly Pill_Component?: React.FC } & DocumentTabConfig & DocumentTabServerProps\n> = (props) => {\n const {\n apiURL,\n collectionConfig,\n condition,\n globalConfig,\n href: tabHref,\n i18n,\n isActive: tabIsActive,\n label,\n newTab,\n payload,\n permissions,\n Pill,\n Pill_Component,\n } = props\n\n const { config } = payload\n const { routes } = config\n\n let href = typeof tabHref === 'string' ? tabHref : ''\n let isActive = typeof tabIsActive === 'boolean' ? tabIsActive : false\n\n if (typeof tabHref === 'function') {\n href = tabHref({\n apiURL,\n collection: collectionConfig,\n global: globalConfig,\n routes,\n })\n }\n\n if (typeof tabIsActive === 'function') {\n isActive = tabIsActive({\n href,\n })\n }\n\n const meetsCondition =\n !condition ||\n (condition && Boolean(condition({ collectionConfig, config, globalConfig, permissions })))\n\n if (meetsCondition) {\n const labelToRender =\n typeof label === 'function'\n ? label({\n t: i18n.t,\n })\n : label\n\n return (\n <DocumentTabLink\n adminRoute={routes.admin}\n ariaLabel={labelToRender}\n baseClass={baseClass}\n href={href}\n isActive={isActive}\n newTab={newTab}\n >\n <span className={`${baseClass}__label`}>\n {labelToRender}\n {Pill || Pill_Component ? (\n <Fragment>\n \n {RenderServerComponent({\n Component: Pill,\n Fallback: Pill_Component,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n payload,\n permissions,\n } satisfies ServerProps,\n })}\n </Fragment>\n ) : null}\n </span>\n </DocumentTabLink>\n )\n }\n\n return null\n}\n"],"mappings":";AAGA,SAASA,qBAAqB,QAAQ;AACtC,SAASC,QAAQ,QAAQ;AAEzB,SAASC,eAAe,QAAQ;AAGhC,OAAO,MAAMC,SAAA,GAAY;AAEzB,OAAO,MAAMC,WAAA,GAERC,KAAA;EACH,MAAM;IACJC,MAAM;IACNC,gBAAgB;IAChBC,SAAS;IACTC,YAAY;IACZC,IAAA,EAAMC,OAAO;IACbC,IAAI;IACJC,QAAA,EAAUC,WAAW;IACrBC,KAAK;IACLC,MAAM;IACNC,OAAO;IACPC,WAAW;IACXC,IAAI;IACJC;EAAc,CACf,GAAGf,KAAA;EAEJ,MAAM;IAAEgB;EAAM,CAAE,GAAGJ,OAAA;EACnB,MAAM;IAAEK;EAAM,CAAE,GAAGD,MAAA;EAEnB,IAAIX,IAAA,GAAO,OAAOC,OAAA,KAAY,WAAWA,OAAA,GAAU;EACnD,IAAIE,QAAA,GAAW,OAAOC,WAAA,KAAgB,YAAYA,WAAA,GAAc;EAEhE,IAAI,OAAOH,OAAA,KAAY,YAAY;IACjCD,IAAA,GAAOC,OAAA,CAAQ;MACbL,MAAA;MACAiB,UAAA,EAAYhB,gBAAA;MACZiB,MAAA,EAAQf,YAAA;MACRa;IACF;EACF;EAEA,IAAI,OAAOR,WAAA,KAAgB,YAAY;IACrCD,QAAA,GAAWC,WAAA,CAAY;MACrBJ;IACF;EACF;EAEA,MAAMe,cAAA,GACJ,CAACjB,SAAA,IACAA,SAAA,IAAakB,OAAA,CAAQlB,SAAA,CAAU;IAAED,gBAAA;IAAkBc,MAAA;IAAQZ,YAAA;IAAcS;EAAY;EAExF,IAAIO,cAAA,EAAgB;IAClB,MAAME,aAAA,GACJ,OAAOZ,KAAA,KAAU,aACbA,KAAA,CAAM;MACJa,CAAA,EAAGhB,IAAA,CAAKgB;IACV,KACAb,KAAA;IAEN,oBACEc,IAAA,CAAC3B,eAAA;MACC4B,UAAA,EAAYR,MAAA,CAAOS,KAAK;MACxBC,SAAA,EAAWL,aAAA;MACXxB,SAAA,EAAWA,SAAA;MACXO,IAAA,EAAMA,IAAA;MACNG,QAAA,EAAUA,QAAA;
|
|
1
|
+
{"version":3,"file":"index.js","names":["RenderServerComponent","Fragment","DocumentTabLink","baseClass","DocumentTab","props","apiURL","collectionConfig","condition","globalConfig","href","tabHref","i18n","isActive","tabIsActive","label","newTab","payload","permissions","Pill","Pill_Component","config","routes","collection","global","meetsCondition","Boolean","labelToRender","t","_jsx","adminRoute","admin","ariaLabel","isCollection","_jsxs","className","Component","Fallback","importMap","serverProps"],"sources":["../../../../../src/elements/DocumentHeader/Tabs/Tab/index.tsx"],"sourcesContent":["import type { DocumentTabConfig, DocumentTabServerProps, ServerProps } from 'payload'\nimport type React from 'react'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { Fragment } from 'react'\n\nimport { DocumentTabLink } from './TabLink.js'\nimport './index.scss'\n\nexport const baseClass = 'doc-tab'\n\nexport const DocumentTab: React.FC<\n { readonly Pill_Component?: React.FC } & DocumentTabConfig & DocumentTabServerProps\n> = (props) => {\n const {\n apiURL,\n collectionConfig,\n condition,\n globalConfig,\n href: tabHref,\n i18n,\n isActive: tabIsActive,\n label,\n newTab,\n payload,\n permissions,\n Pill,\n Pill_Component,\n } = props\n\n const { config } = payload\n const { routes } = config\n\n let href = typeof tabHref === 'string' ? tabHref : ''\n let isActive = typeof tabIsActive === 'boolean' ? tabIsActive : false\n\n if (typeof tabHref === 'function') {\n href = tabHref({\n apiURL,\n collection: collectionConfig,\n global: globalConfig,\n routes,\n })\n }\n\n if (typeof tabIsActive === 'function') {\n isActive = tabIsActive({\n href,\n })\n }\n\n const meetsCondition =\n !condition ||\n (condition && Boolean(condition({ collectionConfig, config, globalConfig, permissions })))\n\n if (meetsCondition) {\n const labelToRender =\n typeof label === 'function'\n ? label({\n t: i18n.t,\n })\n : label\n\n return (\n <DocumentTabLink\n adminRoute={routes.admin}\n ariaLabel={labelToRender}\n baseClass={baseClass}\n href={href}\n isActive={isActive}\n isCollection={!!collectionConfig && !globalConfig}\n newTab={newTab}\n >\n <span className={`${baseClass}__label`}>\n {labelToRender}\n {Pill || Pill_Component ? (\n <Fragment>\n \n {RenderServerComponent({\n Component: Pill,\n Fallback: Pill_Component,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n payload,\n permissions,\n } satisfies ServerProps,\n })}\n </Fragment>\n ) : null}\n </span>\n </DocumentTabLink>\n )\n }\n\n return null\n}\n"],"mappings":";AAGA,SAASA,qBAAqB,QAAQ;AACtC,SAASC,QAAQ,QAAQ;AAEzB,SAASC,eAAe,QAAQ;AAGhC,OAAO,MAAMC,SAAA,GAAY;AAEzB,OAAO,MAAMC,WAAA,GAERC,KAAA;EACH,MAAM;IACJC,MAAM;IACNC,gBAAgB;IAChBC,SAAS;IACTC,YAAY;IACZC,IAAA,EAAMC,OAAO;IACbC,IAAI;IACJC,QAAA,EAAUC,WAAW;IACrBC,KAAK;IACLC,MAAM;IACNC,OAAO;IACPC,WAAW;IACXC,IAAI;IACJC;EAAc,CACf,GAAGf,KAAA;EAEJ,MAAM;IAAEgB;EAAM,CAAE,GAAGJ,OAAA;EACnB,MAAM;IAAEK;EAAM,CAAE,GAAGD,MAAA;EAEnB,IAAIX,IAAA,GAAO,OAAOC,OAAA,KAAY,WAAWA,OAAA,GAAU;EACnD,IAAIE,QAAA,GAAW,OAAOC,WAAA,KAAgB,YAAYA,WAAA,GAAc;EAEhE,IAAI,OAAOH,OAAA,KAAY,YAAY;IACjCD,IAAA,GAAOC,OAAA,CAAQ;MACbL,MAAA;MACAiB,UAAA,EAAYhB,gBAAA;MACZiB,MAAA,EAAQf,YAAA;MACRa;IACF;EACF;EAEA,IAAI,OAAOR,WAAA,KAAgB,YAAY;IACrCD,QAAA,GAAWC,WAAA,CAAY;MACrBJ;IACF;EACF;EAEA,MAAMe,cAAA,GACJ,CAACjB,SAAA,IACAA,SAAA,IAAakB,OAAA,CAAQlB,SAAA,CAAU;IAAED,gBAAA;IAAkBc,MAAA;IAAQZ,YAAA;IAAcS;EAAY;EAExF,IAAIO,cAAA,EAAgB;IAClB,MAAME,aAAA,GACJ,OAAOZ,KAAA,KAAU,aACbA,KAAA,CAAM;MACJa,CAAA,EAAGhB,IAAA,CAAKgB;IACV,KACAb,KAAA;IAEN,oBACEc,IAAA,CAAC3B,eAAA;MACC4B,UAAA,EAAYR,MAAA,CAAOS,KAAK;MACxBC,SAAA,EAAWL,aAAA;MACXxB,SAAA,EAAWA,SAAA;MACXO,IAAA,EAAMA,IAAA;MACNG,QAAA,EAAUA,QAAA;MACVoB,YAAA,EAAc,CAAC,CAAC1B,gBAAA,IAAoB,CAACE,YAAA;MACrCO,MAAA,EAAQA,MAAA;gBAER,aAAAkB,KAAA,CAAC;QAAKC,SAAA,EAAW,GAAGhC,SAAA,SAAkB;mBACnCwB,aAAA,EACAR,IAAA,IAAQC,cAAA,gBACPc,KAAA,CAACjC,QAAA;qBAAS,KAEPD,qBAAA,CAAsB;YACrBoC,SAAA,EAAWjB,IAAA;YACXkB,QAAA,EAAUjB,cAAA;YACVkB,SAAA,EAAWrB,OAAA,CAAQqB,SAAS;YAC5BC,WAAA,EAAa;cACX3B,IAAA;cACAK,OAAA;cACAC;YACF;UACF;aAEA;;;EAIZ;EAEA,OAAO;AACT","ignoreList":[]}
|
|
@@ -1,26 +1,76 @@
|
|
|
1
|
+
@import '../../../../scss/styles.scss';
|
|
2
|
+
|
|
1
3
|
@layer payload-default {
|
|
2
4
|
.doc-tab {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
@extend %h5;
|
|
6
|
+
position: relative;
|
|
7
|
+
|
|
8
|
+
&__link {
|
|
9
|
+
text-decoration: none;
|
|
10
|
+
display: flex;
|
|
11
|
+
justify-content: center;
|
|
12
|
+
align-items: center;
|
|
13
|
+
white-space: nowrap;
|
|
14
|
+
|
|
15
|
+
// Use a pseudo element for the accessability so that it doesn't take up DOM space
|
|
16
|
+
// Also because the parent element has `overflow: hidden` which would clip an outline
|
|
17
|
+
&:focus-visible::after {
|
|
18
|
+
content: '';
|
|
19
|
+
border: var(--accessibility-outline);
|
|
20
|
+
position: absolute;
|
|
21
|
+
top: 0;
|
|
22
|
+
right: 0;
|
|
23
|
+
bottom: 0;
|
|
24
|
+
left: 0;
|
|
25
|
+
pointer-events: none;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
&:focus:not(:focus-visible) {
|
|
30
|
+
opacity: 1;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&::before {
|
|
34
|
+
content: '';
|
|
35
|
+
display: block;
|
|
36
|
+
position: absolute;
|
|
37
|
+
width: 100%;
|
|
38
|
+
height: 100%;
|
|
39
|
+
border-radius: var(--style-radius-s);
|
|
40
|
+
background-color: var(--theme-elevation-50);
|
|
41
|
+
opacity: 0;
|
|
42
|
+
}
|
|
7
43
|
|
|
8
44
|
&:hover {
|
|
9
|
-
|
|
45
|
+
&::before {
|
|
46
|
+
opacity: 1;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.doc-tab__count {
|
|
10
50
|
background-color: var(--theme-elevation-150);
|
|
11
51
|
}
|
|
12
52
|
}
|
|
13
53
|
|
|
14
54
|
&--active {
|
|
15
|
-
|
|
16
|
-
|
|
55
|
+
font-weight: 600;
|
|
56
|
+
&::before {
|
|
57
|
+
opacity: 1;
|
|
58
|
+
background-color: var(--theme-elevation-100);
|
|
17
59
|
}
|
|
18
60
|
|
|
19
|
-
|
|
20
|
-
|
|
61
|
+
.doc-tab {
|
|
62
|
+
&__count {
|
|
21
63
|
background-color: var(--theme-elevation-250);
|
|
22
64
|
}
|
|
23
65
|
}
|
|
66
|
+
|
|
67
|
+
&:hover {
|
|
68
|
+
.doc-tab {
|
|
69
|
+
&__count {
|
|
70
|
+
background-color: var(--theme-elevation-250);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
24
74
|
}
|
|
25
75
|
|
|
26
76
|
&__label {
|
|
@@ -30,7 +80,16 @@
|
|
|
30
80
|
gap: 4px;
|
|
31
81
|
width: 100%;
|
|
32
82
|
height: 100%;
|
|
33
|
-
line-height:
|
|
83
|
+
line-height: base(1.2);
|
|
84
|
+
padding: base(0.2) base(0.6);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
&__count {
|
|
88
|
+
line-height: base(0.8);
|
|
89
|
+
min-width: base(0.8);
|
|
90
|
+
text-align: center;
|
|
91
|
+
background-color: var(--theme-elevation-100);
|
|
92
|
+
border-radius: var(--style-radius-s);
|
|
34
93
|
}
|
|
35
94
|
}
|
|
36
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAQhC,CAAA"}
|
|
@@ -4,7 +4,7 @@ import { c as _c } from "react/compiler-runtime";
|
|
|
4
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
5
|
import { useDocumentInfo } from '@payloadcms/ui';
|
|
6
6
|
import React from 'react';
|
|
7
|
-
|
|
7
|
+
import { baseClass } from '../../Tab/index.js';
|
|
8
8
|
export const VersionsPill = () => {
|
|
9
9
|
const $ = _c(2);
|
|
10
10
|
const {
|
|
@@ -16,7 +16,7 @@ export const VersionsPill = () => {
|
|
|
16
16
|
let t0;
|
|
17
17
|
if ($[0] !== versionCount) {
|
|
18
18
|
t0 = _jsx("span", {
|
|
19
|
-
className: baseClass
|
|
19
|
+
className: `${baseClass}__count`,
|
|
20
20
|
children: versionCount
|
|
21
21
|
});
|
|
22
22
|
$[0] = versionCount;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","useDocumentInfo","React","baseClass","VersionsPill","$","versionCount","t0","_jsx","className","children"],"sources":["../../../../../../src/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.tsx"],"sourcesContent":["'use client'\nimport { useDocumentInfo } from '@payloadcms/ui'\nimport React from 'react'\n\nimport
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","useDocumentInfo","React","baseClass","VersionsPill","$","versionCount","t0","_jsx","className","children"],"sources":["../../../../../../src/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.tsx"],"sourcesContent":["'use client'\nimport { useDocumentInfo } from '@payloadcms/ui'\nimport React from 'react'\n\nimport { baseClass } from '../../Tab/index.js'\n\nexport const VersionsPill: React.FC = () => {\n const { versionCount } = useDocumentInfo()\n\n if (!versionCount) {\n return null\n }\n\n return <span className={`${baseClass}__count`}>{versionCount}</span>\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,SAASC,eAAe,QAAQ;AAChC,OAAOC,KAAA,MAAW;AAElB,SAASC,SAAS,QAAQ;AAE1B,OAAO,MAAMC,YAAA,GAAyBA,CAAA;EAAA,MAAAC,CAAA,GAAAL,EAAA;EACpC;IAAAM;EAAA,IAAyBL,eAAA;EAAA,KAEpBK,YAAA;IAAA;EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAF,CAAA,QAAAC,YAAA;IAIEC,EAAA,GAAAC,IAAA,CAAC;MAAAC,SAAA,EAAgB,GAAAN,SAAA,SAAqB;MAAAO,QAAA,EAAGJ;IAAA,C;;;;;;SAAzCC,E;CACT","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAO7C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,MAAM,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAA;IACxC,cAAc,EAAE,cAAc,CAAA;CAC/B,
|
|
1
|
+
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAO7C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,MAAM,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAA;IACxC,cAAc,EAAE,cAAc,CAAA;CAC/B,CA4DA,CAAA"}
|