@payloadcms/next 3.0.3-canary.5a65a90 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/withPayload.cjs +2 -1
- package/dist/cjs/withPayload.cjs.map +1 -1
- package/dist/layouts/Root/NestProviders.d.ts +3 -2
- package/dist/layouts/Root/NestProviders.d.ts.map +1 -1
- package/dist/layouts/Root/NestProviders.js +5 -2
- package/dist/layouts/Root/NestProviders.js.map +1 -1
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +7 -0
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/views/Document/getDocPreferences.d.ts.map +1 -1
- package/dist/views/Document/getDocPreferences.js +2 -1
- package/dist/views/Document/getDocPreferences.js.map +1 -1
- package/dist/views/Document/getDocumentData.d.ts +1 -1
- package/dist/views/Document/getDocumentData.d.ts.map +1 -1
- package/dist/views/Document/getDocumentData.js +3 -1
- package/dist/views/Document/getDocumentData.js.map +1 -1
- package/dist/views/Document/getIsLocked.d.ts.map +1 -1
- package/dist/views/Document/getIsLocked.js +2 -1
- package/dist/views/Document/getIsLocked.js.map +1 -1
- package/dist/views/Document/getVersions.d.ts +1 -1
- package/dist/views/Document/getVersions.d.ts.map +1 -1
- package/dist/views/Document/getVersions.js +3 -1
- package/dist/views/Document/getVersions.js.map +1 -1
- package/dist/views/Root/getViewFromConfig.d.ts +12 -5
- package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
- package/dist/views/Root/getViewFromConfig.js +20 -23
- package/dist/views/Root/getViewFromConfig.js.map +1 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +2 -3
- package/dist/views/Root/index.js.map +1 -1
- package/dist/withPayload.js +2 -1
- package/dist/withPayload.js.map +1 -1
- package/package.json +7 -7
package/dist/cjs/withPayload.cjs
CHANGED
|
@@ -27,10 +27,11 @@ const withPayload = (nextConfig = {})=>{
|
|
|
27
27
|
env.NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH = 'true';
|
|
28
28
|
}
|
|
29
29
|
if (process.env.PAYLOAD_PATCH_TURBOPACK_WARNINGS !== 'false') {
|
|
30
|
+
const turbopackWarningText = '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';
|
|
30
31
|
const consoleWarn = console.warn;
|
|
31
32
|
console.warn = (...args)=>{
|
|
32
33
|
// Force to disable serverExternalPackages warnings: https://github.com/vercel/next.js/issues/68805
|
|
33
|
-
if (typeof args[1] === 'string' && args[1].includes(
|
|
34
|
+
if (typeof args[1] === 'string' && args[1].includes(turbopackWarningText) || typeof args[0] === 'string' && args[0].includes(turbopackWarningText)) {
|
|
34
35
|
return;
|
|
35
36
|
}
|
|
36
37
|
consoleWarn(...args);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/withPayload.js"],"names":[],"mappings":"AAAA;;;;GAIG;;;;;;;;;;;IAoJH,OAA0B;eAA1B;;IAnJa,WAAW;eAAX;;;AAAN,MAAM,cAAc,CAAC,aAAa,CAAC,CAAC;IACzC,MAAM,MAAM,YAAY,OAAO,CAAC;IAEhC,IAAI,WAAW,YAAY,EAAE,YAAY,SAAS;QAChD,QAAQ,IAAI,CACV;QAEF,IAAI,uCAAuC,GAAG;IAChD;IAEA,IAAI,QAAQ,GAAG,CAAC,gCAAgC,KAAK,SAAS;QAC5D,MAAM,cAAc,QAAQ,IAAI;
|
|
1
|
+
{"version":3,"sources":["../../src/withPayload.js"],"names":[],"mappings":"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","file":"withPayload.cjs","sourcesContent":["/**\n * @param {import('next').NextConfig} nextConfig\n *\n * @returns {import('next').NextConfig}\n * */\nexport const withPayload = (nextConfig = {}) => {\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 experimental: {\n ...(nextConfig?.experimental || {}),\n turbo: {\n ...(nextConfig?.experimental?.turbo || {}),\n resolveAlias: {\n ...(nextConfig?.experimental?.turbo?.resolveAlias || {}),\n 'payload-mock-package': 'payload-mock-package',\n },\n },\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 ],\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 ],\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 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,11 +1,12 @@
|
|
|
1
|
-
import type { Config, ImportMap } from 'payload';
|
|
1
|
+
import type { Config, ImportMap, ServerProps } from 'payload';
|
|
2
2
|
import '@payloadcms/ui/scss/app.scss';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
type Args = {
|
|
5
5
|
readonly children: React.ReactNode;
|
|
6
6
|
readonly importMap: ImportMap;
|
|
7
7
|
readonly providers: Config['admin']['components']['providers'];
|
|
8
|
+
readonly serverProps: ServerProps;
|
|
8
9
|
};
|
|
9
|
-
export declare function NestProviders({ children, importMap, providers }: Args): React.ReactNode;
|
|
10
|
+
export declare function NestProviders({ children, importMap, providers, serverProps, }: Args): React.ReactNode;
|
|
10
11
|
export {};
|
|
11
12
|
//# sourceMappingURL=NestProviders.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NestProviders.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/NestProviders.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"NestProviders.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/NestProviders.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAG7D,OAAO,8BAA8B,CAAA;AACrC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,KAAK,IAAI,GAAG;IACV,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,CAAA;IAC9D,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;CAClC,CAAA;AAED,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAS,EACT,SAAS,EACT,WAAW,GACZ,EAAE,IAAI,GAAG,KAAK,CAAC,SAAS,CAoBxB"}
|
|
@@ -4,18 +4,21 @@ import React from 'react';
|
|
|
4
4
|
export function NestProviders({
|
|
5
5
|
children,
|
|
6
6
|
importMap,
|
|
7
|
-
providers
|
|
7
|
+
providers,
|
|
8
|
+
serverProps
|
|
8
9
|
}) {
|
|
9
10
|
return RenderServerComponent({
|
|
10
11
|
clientProps: {
|
|
11
12
|
children: providers.length > 1 ? /*#__PURE__*/_jsx(NestProviders, {
|
|
12
13
|
importMap: importMap,
|
|
13
14
|
providers: providers.slice(1),
|
|
15
|
+
serverProps: serverProps,
|
|
14
16
|
children: children
|
|
15
17
|
}) : children
|
|
16
18
|
},
|
|
17
19
|
Component: providers[0],
|
|
18
|
-
importMap
|
|
20
|
+
importMap,
|
|
21
|
+
serverProps
|
|
19
22
|
});
|
|
20
23
|
}
|
|
21
24
|
//# sourceMappingURL=NestProviders.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NestProviders.js","names":["RenderServerComponent","React","NestProviders","children","importMap","providers","clientProps","length","_jsx","slice","Component"],"sources":["../../../src/layouts/Root/NestProviders.tsx"],"sourcesContent":["import type { Config, ImportMap } from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport '@payloadcms/ui/scss/app.scss'\nimport React from 'react'\n\ntype Args = {\n readonly children: React.ReactNode\n readonly importMap: ImportMap\n readonly providers: Config['admin']['components']['providers']\n}\n\nexport function NestProviders({
|
|
1
|
+
{"version":3,"file":"NestProviders.js","names":["RenderServerComponent","React","NestProviders","children","importMap","providers","serverProps","clientProps","length","_jsx","slice","Component"],"sources":["../../../src/layouts/Root/NestProviders.tsx"],"sourcesContent":["import type { Config, ImportMap, ServerProps } from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport '@payloadcms/ui/scss/app.scss'\nimport React from 'react'\n\ntype Args = {\n readonly children: React.ReactNode\n readonly importMap: ImportMap\n readonly providers: Config['admin']['components']['providers']\n readonly serverProps: ServerProps\n}\n\nexport function NestProviders({\n children,\n importMap,\n providers,\n serverProps,\n}: Args): React.ReactNode {\n return RenderServerComponent({\n clientProps: {\n children:\n providers.length > 1 ? (\n <NestProviders\n importMap={importMap}\n providers={providers.slice(1)}\n serverProps={serverProps}\n >\n {children}\n </NestProviders>\n ) : (\n children\n ),\n },\n Component: providers[0],\n importMap,\n serverProps,\n })\n}\n"],"mappings":";AAEA,SAASA,qBAAqB,QAAQ;AAEtC,OAAOC,KAAA,MAAW;AASlB,OAAO,SAASC,cAAc;EAC5BC,QAAQ;EACRC,SAAS;EACTC,SAAS;EACTC;AAAW,CACN;EACL,OAAON,qBAAA,CAAsB;IAC3BO,WAAA,EAAa;MACXJ,QAAA,EACEE,SAAA,CAAUG,MAAM,GAAG,iBACjBC,IAAA,CAACP,aAAA;QACCE,SAAA,EAAWA,SAAA;QACXC,SAAA,EAAWA,SAAA,CAAUK,KAAK,CAAC;QAC3BJ,WAAA,EAAaA,WAAA;kBAEZH;WAGHA;IAEN;IACAQ,SAAA,EAAWN,SAAS,CAAC,EAAE;IACvBD,SAAA;IACAE;EACF;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAM/E,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,8BAA8B,CAAA;AAErC,eAAO,MAAM,QAAQ;;;CAGpB,CAAA;AAED,eAAO,MAAM,UAAU,oEAKpB;IACD,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAA;CAC9C,+
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAM/E,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,8BAA8B,CAAA;AAErC,eAAO,MAAM,QAAQ;;;CAGpB,CAAA;AAED,eAAO,MAAM,UAAU,oEAKpB;IACD,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAA;CAC9C,+BAsGA,CAAA"}
|
|
@@ -42,6 +42,7 @@ export const RootLayout = async ({
|
|
|
42
42
|
const {
|
|
43
43
|
i18n,
|
|
44
44
|
permissions,
|
|
45
|
+
req,
|
|
45
46
|
user
|
|
46
47
|
} = await initReq(config);
|
|
47
48
|
const dir = rtlLanguages.includes(languageCode) ? 'RTL' : 'LTR';
|
|
@@ -98,6 +99,12 @@ export const RootLayout = async ({
|
|
|
98
99
|
children: Array.isArray(config.admin?.components?.providers) && config.admin?.components?.providers.length > 0 ? /*#__PURE__*/_jsx(NestProviders, {
|
|
99
100
|
importMap: payload.importMap,
|
|
100
101
|
providers: config.admin?.components?.providers,
|
|
102
|
+
serverProps: {
|
|
103
|
+
i18n,
|
|
104
|
+
payload,
|
|
105
|
+
permissions,
|
|
106
|
+
user
|
|
107
|
+
},
|
|
101
108
|
children: children
|
|
102
109
|
}) : children
|
|
103
110
|
}), /*#__PURE__*/_jsx("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["rtlLanguages","RootProvider","headers","getHeaders","cookies","nextCookies","getPayload","parseCookies","React","getNavPrefs","getClientConfig","getRequestLanguage","getRequestTheme","initReq","checkDependencies","NestProviders","metadata","description","title","RootLayout","children","config","configPromise","importMap","serverFunction","languageCode","theme","payload","i18n","permissions","user","dir","includes","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","value","switchLanguageServerAction","lang","set","name","cookiePrefix","path","navPrefs","clientConfig","_jsxs","_jsx","dateFNSKey","fallbackLang","fallbackLanguage","isNavOpen","open","Array","isArray","admin","components","providers","length","id"],"sources":["../../../src/layouts/Root/index.tsx"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\nimport type { ImportMap, SanitizedConfig, ServerFunctionClient } from 'payload'\n\nimport { rtlLanguages } from '@payloadcms/translations'\nimport { RootProvider } from '@payloadcms/ui'\nimport { headers as getHeaders, cookies as nextCookies } from 'next/headers.js'\nimport { getPayload, parseCookies } from 'payload'\nimport React from 'react'\n\nimport { getNavPrefs } from '../../elements/Nav/getNavPrefs.js'\nimport { getClientConfig } from '../../utilities/getClientConfig.js'\nimport { getRequestLanguage } from '../../utilities/getRequestLanguage.js'\nimport { getRequestTheme } from '../../utilities/getRequestTheme.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { checkDependencies } from './checkDependencies.js'\nimport { NestProviders } from './NestProviders.js'\n\nimport '@payloadcms/ui/scss/app.scss'\n\nexport const metadata = {\n description: 'Generated by Next.js',\n title: 'Next.js',\n}\n\nexport const RootLayout = async ({\n children,\n config: configPromise,\n importMap,\n serverFunction,\n}: {\n readonly children: React.ReactNode\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly serverFunction: ServerFunctionClient\n}) => {\n await checkDependencies()\n\n const config = await configPromise\n\n const headers = await getHeaders()\n const cookies = parseCookies(headers)\n\n const languageCode = getRequestLanguage({\n config,\n cookies,\n headers,\n })\n\n const theme = getRequestTheme({\n config,\n cookies,\n headers,\n })\n\n const payload = await getPayload({ config, importMap })\n\n const { i18n, permissions, user } = await initReq(config)\n\n const dir = (rtlLanguages as unknown as AcceptedLanguages[]).includes(languageCode)\n ? 'RTL'\n : 'LTR'\n\n const languageOptions = Object.entries(config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n )\n\n async function switchLanguageServerAction(lang: string): Promise<void> {\n 'use server'\n const cookies = await nextCookies()\n cookies.set({\n name: `${config.cookiePrefix || 'payload'}-lng`,\n path: '/',\n value: lang,\n })\n }\n\n const navPrefs = await getNavPrefs({ payload, user })\n\n const clientConfig = await getClientConfig({\n config,\n i18n,\n importMap,\n })\n\n return (\n <html data-theme={theme} dir={dir} lang={languageCode}>\n <head>\n <style>{`@layer payload-default, payload;`}</style>\n </head>\n <body>\n <RootProvider\n config={clientConfig}\n dateFNSKey={i18n.dateFNSKey}\n fallbackLang={config.i18n.fallbackLanguage}\n isNavOpen={navPrefs?.open ?? true}\n languageCode={languageCode}\n languageOptions={languageOptions}\n permissions={permissions}\n serverFunction={serverFunction}\n switchLanguageServerAction={switchLanguageServerAction}\n theme={theme}\n translations={i18n.translations}\n user={user}\n >\n {Array.isArray(config.admin?.components?.providers) &&\n config.admin?.components?.providers.length > 0 ? (\n <NestProviders\n importMap={payload.importMap}\n providers={config.admin?.components?.providers}\n >\n {children}\n </NestProviders>\n ) : (\n children\n )}\n </RootProvider>\n <div id=\"portal\" />\n </body>\n </html>\n )\n}\n"],"mappings":";AAGA,SAASA,YAAY,QAAQ;AAC7B,SAASC,YAAY,QAAQ;AAC7B,SAASC,OAAA,IAAWC,UAAU,EAAEC,OAAA,IAAWC,WAAW,QAAQ;AAC9D,SAASC,UAAU,EAAEC,YAAY,QAAQ;AACzC,OAAOC,KAAA,MAAW;AAElB,SAASC,WAAW,QAAQ;AAC5B,SAASC,eAAe,QAAQ;AAChC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,eAAe,QAAQ;AAChC,SAASC,OAAO,QAAQ;AACxB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,aAAa,QAAQ;AAI9B,OAAO,MAAMC,QAAA,GAAW;EACtBC,WAAA,EAAa;EACbC,KAAA,EAAO;AACT;AAEA,OAAO,MAAMC,UAAA,GAAa,MAAAA,CAAO;EAC/BC,QAAQ;EACRC,MAAA,EAAQC,aAAa;EACrBC,SAAS;EACTC;AAAc,CAMf;EACC,MAAMV,iBAAA;EAEN,MAAMO,MAAA,GAAS,MAAMC,aAAA;EAErB,MAAMpB,OAAA,GAAU,MAAMC,UAAA;EACtB,MAAMC,OAAA,GAAUG,YAAA,CAAaL,OAAA;EAE7B,MAAMuB,YAAA,GAAed,kBAAA,CAAmB;IACtCU,MAAA;IACAjB,OAAA;IACAF;EACF;EAEA,MAAMwB,KAAA,GAAQd,eAAA,CAAgB;IAC5BS,MAAA;IACAjB,OAAA;IACAF;EACF;EAEA,MAAMyB,OAAA,GAAU,MAAMrB,UAAA,CAAW;IAAEe,MAAA;IAAQE;EAAU;EAErD,MAAM;IAAEK,IAAI;IAAEC,WAAW;IAAEC;EAAI,CAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"index.js","names":["rtlLanguages","RootProvider","headers","getHeaders","cookies","nextCookies","getPayload","parseCookies","React","getNavPrefs","getClientConfig","getRequestLanguage","getRequestTheme","initReq","checkDependencies","NestProviders","metadata","description","title","RootLayout","children","config","configPromise","importMap","serverFunction","languageCode","theme","payload","i18n","permissions","req","user","dir","includes","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","value","switchLanguageServerAction","lang","set","name","cookiePrefix","path","navPrefs","clientConfig","_jsxs","_jsx","dateFNSKey","fallbackLang","fallbackLanguage","isNavOpen","open","Array","isArray","admin","components","providers","length","serverProps","id"],"sources":["../../../src/layouts/Root/index.tsx"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\nimport type { ImportMap, SanitizedConfig, ServerFunctionClient } from 'payload'\n\nimport { rtlLanguages } from '@payloadcms/translations'\nimport { RootProvider } from '@payloadcms/ui'\nimport { headers as getHeaders, cookies as nextCookies } from 'next/headers.js'\nimport { getPayload, parseCookies } from 'payload'\nimport React from 'react'\n\nimport { getNavPrefs } from '../../elements/Nav/getNavPrefs.js'\nimport { getClientConfig } from '../../utilities/getClientConfig.js'\nimport { getRequestLanguage } from '../../utilities/getRequestLanguage.js'\nimport { getRequestTheme } from '../../utilities/getRequestTheme.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { checkDependencies } from './checkDependencies.js'\nimport { NestProviders } from './NestProviders.js'\n\nimport '@payloadcms/ui/scss/app.scss'\n\nexport const metadata = {\n description: 'Generated by Next.js',\n title: 'Next.js',\n}\n\nexport const RootLayout = async ({\n children,\n config: configPromise,\n importMap,\n serverFunction,\n}: {\n readonly children: React.ReactNode\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly serverFunction: ServerFunctionClient\n}) => {\n await checkDependencies()\n\n const config = await configPromise\n\n const headers = await getHeaders()\n const cookies = parseCookies(headers)\n\n const languageCode = getRequestLanguage({\n config,\n cookies,\n headers,\n })\n\n const theme = getRequestTheme({\n config,\n cookies,\n headers,\n })\n\n const payload = await getPayload({ config, importMap })\n\n const { i18n, permissions, req, user } = await initReq(config)\n\n const dir = (rtlLanguages as unknown as AcceptedLanguages[]).includes(languageCode)\n ? 'RTL'\n : 'LTR'\n\n const languageOptions = Object.entries(config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n )\n\n async function switchLanguageServerAction(lang: string): Promise<void> {\n 'use server'\n const cookies = await nextCookies()\n cookies.set({\n name: `${config.cookiePrefix || 'payload'}-lng`,\n path: '/',\n value: lang,\n })\n }\n\n const navPrefs = await getNavPrefs({ payload, user })\n\n const clientConfig = await getClientConfig({\n config,\n i18n,\n importMap,\n })\n\n return (\n <html data-theme={theme} dir={dir} lang={languageCode}>\n <head>\n <style>{`@layer payload-default, payload;`}</style>\n </head>\n <body>\n <RootProvider\n config={clientConfig}\n dateFNSKey={i18n.dateFNSKey}\n fallbackLang={config.i18n.fallbackLanguage}\n isNavOpen={navPrefs?.open ?? true}\n languageCode={languageCode}\n languageOptions={languageOptions}\n permissions={permissions}\n serverFunction={serverFunction}\n switchLanguageServerAction={switchLanguageServerAction}\n theme={theme}\n translations={i18n.translations}\n user={user}\n >\n {Array.isArray(config.admin?.components?.providers) &&\n config.admin?.components?.providers.length > 0 ? (\n <NestProviders\n importMap={payload.importMap}\n providers={config.admin?.components?.providers}\n serverProps={{\n i18n,\n payload,\n permissions,\n user,\n }}\n >\n {children}\n </NestProviders>\n ) : (\n children\n )}\n </RootProvider>\n <div id=\"portal\" />\n </body>\n </html>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDocPreferences.d.ts","sourceRoot":"","sources":["../../../src/views/Document/getDocPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"getDocPreferences.d.ts","sourceRoot":"","sources":["../../../src/views/Document/getDocPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAItE,KAAK,IAAI,GAAG;IACV,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,SAAS,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,iBAAiB,uDAM3B,IAAI,KAAG,OAAO,CAAC,mBAAmB,CA2CpC,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { sanitizeID } from '@payloadcms/ui/shared';
|
|
1
2
|
export const getDocPreferences = async ({
|
|
2
3
|
id,
|
|
3
4
|
collectionSlug,
|
|
@@ -28,7 +29,7 @@ export const getDocPreferences = async ({
|
|
|
28
29
|
}
|
|
29
30
|
}, {
|
|
30
31
|
'user.value': {
|
|
31
|
-
equals: user.id
|
|
32
|
+
equals: sanitizeID(user.id)
|
|
32
33
|
}
|
|
33
34
|
}]
|
|
34
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDocPreferences.js","names":["getDocPreferences","id","collectionSlug","globalSlug","payload","user","preferencesKey","preferencesResult","find","collection","depth","limit","where","and","key","equals","docs","value","fields"],"sources":["../../../src/views/Document/getDocPreferences.ts"],"sourcesContent":["import type { DocumentPreferences, Payload, TypedUser } from 'payload'\n\ntype Args = {\n collectionSlug?: string\n globalSlug?: string\n id?: number | string\n payload: Payload\n user: TypedUser\n}\n\nexport const getDocPreferences = async ({\n id,\n collectionSlug,\n globalSlug,\n payload,\n user,\n}: Args): Promise<DocumentPreferences> => {\n let preferencesKey\n\n if (collectionSlug && id) {\n preferencesKey = `collection-${collectionSlug}-${id}`\n }\n\n if (globalSlug) {\n preferencesKey = `global-${globalSlug}`\n }\n\n if (preferencesKey) {\n const preferencesResult = (await payload.find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n ],\n },\n })) as unknown as { docs: { value: DocumentPreferences }[] }\n\n if (preferencesResult?.docs?.[0]?.value) {\n return preferencesResult.docs[0].value\n }\n }\n\n return { fields: {} }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"getDocPreferences.js","names":["sanitizeID","getDocPreferences","id","collectionSlug","globalSlug","payload","user","preferencesKey","preferencesResult","find","collection","depth","limit","where","and","key","equals","docs","value","fields"],"sources":["../../../src/views/Document/getDocPreferences.ts"],"sourcesContent":["import type { DocumentPreferences, Payload, TypedUser } from 'payload'\n\nimport { sanitizeID } from '@payloadcms/ui/shared'\n\ntype Args = {\n collectionSlug?: string\n globalSlug?: string\n id?: number | string\n payload: Payload\n user: TypedUser\n}\n\nexport const getDocPreferences = async ({\n id,\n collectionSlug,\n globalSlug,\n payload,\n user,\n}: Args): Promise<DocumentPreferences> => {\n let preferencesKey\n\n if (collectionSlug && id) {\n preferencesKey = `collection-${collectionSlug}-${id}`\n }\n\n if (globalSlug) {\n preferencesKey = `global-${globalSlug}`\n }\n\n if (preferencesKey) {\n const preferencesResult = (await payload.find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: sanitizeID(user.id),\n },\n },\n ],\n },\n })) as unknown as { docs: { value: DocumentPreferences }[] }\n\n if (preferencesResult?.docs?.[0]?.value) {\n return preferencesResult.docs[0].value\n }\n }\n\n return { fields: {} }\n}\n"],"mappings":"AAEA,SAASA,UAAU,QAAQ;AAU3B,OAAO,MAAMC,iBAAA,GAAoB,MAAAA,CAAO;EACtCC,EAAE;EACFC,cAAc;EACdC,UAAU;EACVC,OAAO;EACPC;AAAI,CACC;EACL,IAAIC,cAAA;EAEJ,IAAIJ,cAAA,IAAkBD,EAAA,EAAI;IACxBK,cAAA,GAAiB,cAAcJ,cAAA,IAAkBD,EAAA,EAAI;EACvD;EAEA,IAAIE,UAAA,EAAY;IACdG,cAAA,GAAiB,UAAUH,UAAA,EAAY;EACzC;EAEA,IAAIG,cAAA,EAAgB;IAClB,MAAMC,iBAAA,GAAqB,MAAMH,OAAA,CAAQI,IAAI,CAAC;MAC5CC,UAAA,EAAY;MACZC,KAAA,EAAO;MACPC,KAAA,EAAO;MACPC,KAAA,EAAO;QACLC,GAAA,EAAK,CACH;UACEC,GAAA,EAAK;YACHC,MAAA,EAAQT;UACV;QACF,GACA;UACE,mBAAmB;YACjBS,MAAA,EAAQV,IAAA,CAAKI;UACf;QACF,GACA;UACE,cAAc;YACZM,MAAA,EAAQhB,UAAA,CAAWM,IAAA,CAAKJ,EAAE;UAC5B;QACF;MAEJ;IACF;IAEA,IAAIM,iBAAA,EAAmBS,IAAA,GAAO,EAAE,EAAEC,KAAA,EAAO;MACvC,OAAOV,iBAAA,CAAkBS,IAAI,CAAC,EAAE,CAACC,KAAK;IACxC;EACF;EAEA,OAAO;IAAEC,MAAA,EAAQ,CAAC;EAAE;AACtB","ignoreList":[]}
|
|
@@ -7,6 +7,6 @@ type Args = {
|
|
|
7
7
|
payload: Payload;
|
|
8
8
|
user?: TypedUser;
|
|
9
9
|
};
|
|
10
|
-
export declare const getDocumentData: ({ id, collectionSlug, globalSlug, locale, payload, user, }: Args) => Promise<null | Record<string, unknown> | TypeWithID>;
|
|
10
|
+
export declare const getDocumentData: ({ id: idArg, collectionSlug, globalSlug, locale, payload, user, }: Args) => Promise<null | Record<string, unknown> | TypeWithID>;
|
|
11
11
|
export {};
|
|
12
12
|
//# sourceMappingURL=getDocumentData.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDocumentData.d.ts","sourceRoot":"","sources":["../../../src/views/Document/getDocumentData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"getDocumentData.d.ts","sourceRoot":"","sources":["../../../src/views/Document/getDocumentData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAIrE,KAAK,IAAI,GAAG;IACV,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,eAAe,sEAOzB,IAAI,KAAG,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAkC5D,CAAA"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
+
import { sanitizeID } from '@payloadcms/ui/shared';
|
|
1
2
|
export const getDocumentData = async ({
|
|
2
|
-
id,
|
|
3
|
+
id: idArg,
|
|
3
4
|
collectionSlug,
|
|
4
5
|
globalSlug,
|
|
5
6
|
locale,
|
|
6
7
|
payload,
|
|
7
8
|
user
|
|
8
9
|
}) => {
|
|
10
|
+
const id = sanitizeID(idArg);
|
|
9
11
|
let resolvedData = null;
|
|
10
12
|
try {
|
|
11
13
|
if (collectionSlug && id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDocumentData.js","names":["getDocumentData","id","collectionSlug","globalSlug","locale","payload","user","resolvedData","findByID","collection","depth","draft","fallbackLocale","code","overrideAccess","findGlobal","slug","_err","logger","error"],"sources":["../../../src/views/Document/getDocumentData.ts"],"sourcesContent":["import type { Locale, Payload, TypedUser, TypeWithID } from 'payload'\n\ntype Args = {\n collectionSlug?: string\n globalSlug?: string\n id?: number | string\n locale?: Locale\n payload: Payload\n user?: TypedUser\n}\n\nexport const getDocumentData = async ({\n id,\n collectionSlug,\n globalSlug,\n locale,\n payload,\n user,\n}: Args): Promise<null | Record<string, unknown> | TypeWithID> => {\n let resolvedData: Record<string, unknown> | TypeWithID = null\n\n try {\n if (collectionSlug && id) {\n resolvedData = await payload.findByID({\n id,\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n locale: locale?.code,\n overrideAccess: false,\n user,\n })\n }\n\n if (globalSlug) {\n resolvedData = await payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n locale: locale?.code,\n overrideAccess: false,\n user,\n })\n }\n } catch (_err) {\n payload.logger.error(_err)\n }\n\n return resolvedData\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"getDocumentData.js","names":["sanitizeID","getDocumentData","id","idArg","collectionSlug","globalSlug","locale","payload","user","resolvedData","findByID","collection","depth","draft","fallbackLocale","code","overrideAccess","findGlobal","slug","_err","logger","error"],"sources":["../../../src/views/Document/getDocumentData.ts"],"sourcesContent":["import type { Locale, Payload, TypedUser, TypeWithID } from 'payload'\n\nimport { sanitizeID } from '@payloadcms/ui/shared'\n\ntype Args = {\n collectionSlug?: string\n globalSlug?: string\n id?: number | string\n locale?: Locale\n payload: Payload\n user?: TypedUser\n}\n\nexport const getDocumentData = async ({\n id: idArg,\n collectionSlug,\n globalSlug,\n locale,\n payload,\n user,\n}: Args): Promise<null | Record<string, unknown> | TypeWithID> => {\n const id = sanitizeID(idArg)\n let resolvedData: Record<string, unknown> | TypeWithID = null\n\n try {\n if (collectionSlug && id) {\n resolvedData = await payload.findByID({\n id,\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n locale: locale?.code,\n overrideAccess: false,\n user,\n })\n }\n\n if (globalSlug) {\n resolvedData = await payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n locale: locale?.code,\n overrideAccess: false,\n user,\n })\n }\n } catch (_err) {\n payload.logger.error(_err)\n }\n\n return resolvedData\n}\n"],"mappings":"AAEA,SAASA,UAAU,QAAQ;AAW3B,OAAO,MAAMC,eAAA,GAAkB,MAAAA,CAAO;EACpCC,EAAA,EAAIC,KAAK;EACTC,cAAc;EACdC,UAAU;EACVC,MAAM;EACNC,OAAO;EACPC;AAAI,CACC;EACL,MAAMN,EAAA,GAAKF,UAAA,CAAWG,KAAA;EACtB,IAAIM,YAAA,GAAqD;EAEzD,IAAI;IACF,IAAIL,cAAA,IAAkBF,EAAA,EAAI;MACxBO,YAAA,GAAe,MAAMF,OAAA,CAAQG,QAAQ,CAAC;QACpCR,EAAA;QACAS,UAAA,EAAYP,cAAA;QACZQ,KAAA,EAAO;QACPC,KAAA,EAAO;QACPC,cAAA,EAAgB;QAChBR,MAAA,EAAQA,MAAA,EAAQS,IAAA;QAChBC,cAAA,EAAgB;QAChBR;MACF;IACF;IAEA,IAAIH,UAAA,EAAY;MACdI,YAAA,GAAe,MAAMF,OAAA,CAAQU,UAAU,CAAC;QACtCC,IAAA,EAAMb,UAAA;QACNO,KAAA,EAAO;QACPC,KAAA,EAAO;QACPC,cAAA,EAAgB;QAChBR,MAAA,EAAQA,MAAA,EAAQS,IAAA;QAChBC,cAAA,EAAgB;QAChBR;MACF;IACF;EACF,EAAE,OAAOW,IAAA,EAAM;IACbZ,OAAA,CAAQa,MAAM,CAACC,KAAK,CAACF,IAAA;EACvB;EAEA,OAAOV,YAAA;AACT","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getIsLocked.d.ts","sourceRoot":"","sources":["../../../src/views/Document/getIsLocked.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,yBAAyB,EACzB,qBAAqB,EACrB,SAAS,EAEV,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"getIsLocked.d.ts","sourceRoot":"","sources":["../../../src/views/Document/getIsLocked.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,yBAAyB,EACzB,qBAAqB,EACrB,SAAS,EAEV,MAAM,SAAS,CAAA;AAIhB,KAAK,IAAI,GAAG;IACV,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,SAAS,EAAE,OAAO,CAAA;IAClB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,KAAK,MAAM,GAAG,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAC,CAAA;AAEF,eAAO,MAAM,WAAW,4DAMrB,IAAI,KAAG,MAyDT,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { sanitizeID } from '@payloadcms/ui/shared';
|
|
1
2
|
export const getIsLocked = async ({
|
|
2
3
|
id,
|
|
3
4
|
collectionConfig,
|
|
@@ -20,7 +21,7 @@ export const getIsLocked = async ({
|
|
|
20
21
|
} else {
|
|
21
22
|
where.and = [{
|
|
22
23
|
'document.value': {
|
|
23
|
-
equals: id
|
|
24
|
+
equals: sanitizeID(id)
|
|
24
25
|
}
|
|
25
26
|
}, {
|
|
26
27
|
'document.relationTo': {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getIsLocked.js","names":["getIsLocked","id","collectionConfig","globalConfig","isEditing","req","entityConfig","entityHasLockingEnabled","lockDocuments","undefined","isLocked","where","globalSlug","equals","slug","and","docs","payload","find","collection","depth","overrideAccess","length","newEditor","user","value","lastUpdateTime","Date","updatedAt","getTime","currentEditor"],"sources":["../../../src/views/Document/getIsLocked.ts"],"sourcesContent":["import type {\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n TypedUser,\n Where,\n} from 'payload'\n\ntype Args = {\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n isEditing: boolean\n req: PayloadRequest\n}\n\ntype Result = Promise<{\n currentEditor?: TypedUser\n isLocked: boolean\n lastUpdateTime?: number\n}>\n\nexport const getIsLocked = async ({\n id,\n collectionConfig,\n globalConfig,\n isEditing,\n req,\n}: Args): Result => {\n const entityConfig = collectionConfig || globalConfig\n\n const entityHasLockingEnabled =\n entityConfig?.lockDocuments !== undefined ? entityConfig?.lockDocuments : true\n\n if (!entityHasLockingEnabled || !isEditing) {\n return {\n isLocked: false,\n }\n }\n\n const where: Where = {}\n\n if (globalConfig) {\n where.globalSlug = {\n equals: globalConfig.slug,\n }\n } else {\n where.and = [\n {\n 'document.value': {\n equals: id,\n },\n },\n {\n 'document.relationTo': {\n equals: collectionConfig.slug,\n },\n },\n ]\n }\n\n const { docs } = await req.payload.find({\n collection: 'payload-locked-documents',\n depth: 1,\n overrideAccess: false,\n req,\n where,\n })\n\n if (docs.length > 0) {\n const newEditor = docs[0].user?.value\n const lastUpdateTime = new Date(docs[0].updatedAt).getTime()\n\n if (newEditor?.id !== req.user.id) {\n return {\n currentEditor: newEditor,\n isLocked: true,\n lastUpdateTime,\n }\n }\n }\n\n return {\n isLocked: false,\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"getIsLocked.js","names":["sanitizeID","getIsLocked","id","collectionConfig","globalConfig","isEditing","req","entityConfig","entityHasLockingEnabled","lockDocuments","undefined","isLocked","where","globalSlug","equals","slug","and","docs","payload","find","collection","depth","overrideAccess","length","newEditor","user","value","lastUpdateTime","Date","updatedAt","getTime","currentEditor"],"sources":["../../../src/views/Document/getIsLocked.ts"],"sourcesContent":["import type {\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n TypedUser,\n Where,\n} from 'payload'\n\nimport { sanitizeID } from '@payloadcms/ui/shared'\n\ntype Args = {\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n isEditing: boolean\n req: PayloadRequest\n}\n\ntype Result = Promise<{\n currentEditor?: TypedUser\n isLocked: boolean\n lastUpdateTime?: number\n}>\n\nexport const getIsLocked = async ({\n id,\n collectionConfig,\n globalConfig,\n isEditing,\n req,\n}: Args): Result => {\n const entityConfig = collectionConfig || globalConfig\n\n const entityHasLockingEnabled =\n entityConfig?.lockDocuments !== undefined ? entityConfig?.lockDocuments : true\n\n if (!entityHasLockingEnabled || !isEditing) {\n return {\n isLocked: false,\n }\n }\n\n const where: Where = {}\n\n if (globalConfig) {\n where.globalSlug = {\n equals: globalConfig.slug,\n }\n } else {\n where.and = [\n {\n 'document.value': {\n equals: sanitizeID(id),\n },\n },\n {\n 'document.relationTo': {\n equals: collectionConfig.slug,\n },\n },\n ]\n }\n\n const { docs } = await req.payload.find({\n collection: 'payload-locked-documents',\n depth: 1,\n overrideAccess: false,\n req,\n where,\n })\n\n if (docs.length > 0) {\n const newEditor = docs[0].user?.value\n const lastUpdateTime = new Date(docs[0].updatedAt).getTime()\n\n if (newEditor?.id !== req.user.id) {\n return {\n currentEditor: newEditor,\n isLocked: true,\n lastUpdateTime,\n }\n }\n }\n\n return {\n isLocked: false,\n }\n}\n"],"mappings":"AAQA,SAASA,UAAU,QAAQ;AAgB3B,OAAO,MAAMC,WAAA,GAAc,MAAAA,CAAO;EAChCC,EAAE;EACFC,gBAAgB;EAChBC,YAAY;EACZC,SAAS;EACTC;AAAG,CACE;EACL,MAAMC,YAAA,GAAeJ,gBAAA,IAAoBC,YAAA;EAEzC,MAAMI,uBAAA,GACJD,YAAA,EAAcE,aAAA,KAAkBC,SAAA,GAAYH,YAAA,EAAcE,aAAA,GAAgB;EAE5E,IAAI,CAACD,uBAAA,IAA2B,CAACH,SAAA,EAAW;IAC1C,OAAO;MACLM,QAAA,EAAU;IACZ;EACF;EAEA,MAAMC,KAAA,GAAe,CAAC;EAEtB,IAAIR,YAAA,EAAc;IAChBQ,KAAA,CAAMC,UAAU,GAAG;MACjBC,MAAA,EAAQV,YAAA,CAAaW;IACvB;EACF,OAAO;IACLH,KAAA,CAAMI,GAAG,GAAG,CACV;MACE,kBAAkB;QAChBF,MAAA,EAAQd,UAAA,CAAWE,EAAA;MACrB;IACF,GACA;MACE,uBAAuB;QACrBY,MAAA,EAAQX,gBAAA,CAAiBY;MAC3B;IACF,EACD;EACH;EAEA,MAAM;IAAEE;EAAI,CAAE,GAAG,MAAMX,GAAA,CAAIY,OAAO,CAACC,IAAI,CAAC;IACtCC,UAAA,EAAY;IACZC,KAAA,EAAO;IACPC,cAAA,EAAgB;IAChBhB,GAAA;IACAM;EACF;EAEA,IAAIK,IAAA,CAAKM,MAAM,GAAG,GAAG;IACnB,MAAMC,SAAA,GAAYP,IAAI,CAAC,EAAE,CAACQ,IAAI,EAAEC,KAAA;IAChC,MAAMC,cAAA,GAAiB,IAAIC,IAAA,CAAKX,IAAI,CAAC,EAAE,CAACY,SAAS,EAAEC,OAAO;IAE1D,IAAIN,SAAA,EAAWtB,EAAA,KAAOI,GAAA,CAAImB,IAAI,CAACvB,EAAE,EAAE;MACjC,OAAO;QACL6B,aAAA,EAAeP,SAAA;QACfb,QAAA,EAAU;QACVgB;MACF;IACF;EACF;EAEA,OAAO;IACLhB,QAAA,EAAU;EACZ;AACF","ignoreList":[]}
|
|
@@ -14,6 +14,6 @@ type Result = Promise<{
|
|
|
14
14
|
unpublishedVersionCount: number;
|
|
15
15
|
versionCount: number;
|
|
16
16
|
}>;
|
|
17
|
-
export declare const getVersions: ({ id, collectionConfig, docPermissions, globalConfig, locale, payload, user, }: Args) => Result;
|
|
17
|
+
export declare const getVersions: ({ id: idArg, collectionConfig, docPermissions, globalConfig, locale, payload, user, }: Args) => Result;
|
|
18
18
|
export {};
|
|
19
19
|
//# sourceMappingURL=getVersions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getVersions.d.ts","sourceRoot":"","sources":["../../../src/views/Document/getVersions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,yBAAyB,EACzB,4BAA4B,EAC5B,qBAAqB,EACrB,SAAS,EACV,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"getVersions.d.ts","sourceRoot":"","sources":["../../../src/views/Document/getVersions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,yBAAyB,EACzB,4BAA4B,EAC5B,qBAAqB,EACrB,SAAS,EACV,MAAM,SAAS,CAAA;AAIhB,KAAK,IAAI,GAAG;IACV,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,cAAc,EAAE,4BAA4B,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,SAAS,CAAA;CAChB,CAAA;AAED,KAAK,MAAM,GAAG,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAA;IACxB,4BAA4B,EAAE,OAAO,CAAA;IACrC,uBAAuB,EAAE,MAAM,CAAA;IAC/B,YAAY,EAAE,MAAM,CAAA;CACrB,CAAC,CAAA;AAIF,eAAO,MAAM,WAAW,0FAQrB,IAAI,KAAG,MA6MT,CAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { sanitizeID } from '@payloadcms/ui/shared';
|
|
1
2
|
// TODO: in the future, we can parallelize some of these queries
|
|
2
3
|
// this will speed up the API by ~30-100ms or so
|
|
3
4
|
export const getVersions = async ({
|
|
4
|
-
id,
|
|
5
|
+
id: idArg,
|
|
5
6
|
collectionConfig,
|
|
6
7
|
docPermissions,
|
|
7
8
|
globalConfig,
|
|
@@ -9,6 +10,7 @@ export const getVersions = async ({
|
|
|
9
10
|
payload,
|
|
10
11
|
user
|
|
11
12
|
}) => {
|
|
13
|
+
const id = sanitizeID(idArg);
|
|
12
14
|
let publishedQuery;
|
|
13
15
|
let hasPublishedDoc = false;
|
|
14
16
|
let mostRecentVersionIsAutosaved = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getVersions.js","names":["getVersions","id","collectionConfig","docPermissions","globalConfig","locale","payload","user","publishedQuery","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","entityConfig","versionsConfig","versions","shouldFetchVersions","Boolean","readVersions","drafts","find","collection","slug","depth","undefined","where","and","or","_status","equals","exists","docs","autosave","mostRecentVersion","findVersions","limit","parent","updatedAt","totalDocs","countVersions","greater_than","findGlobal","findGlobalVersions","select","countGlobalVersions","global"],"sources":["../../../src/views/Document/getVersions.ts"],"sourcesContent":["import type {\n Payload,\n SanitizedCollectionConfig,\n SanitizedDocumentPermissions,\n SanitizedGlobalConfig,\n TypedUser,\n} from 'payload'\n\ntype Args = {\n collectionConfig?: SanitizedCollectionConfig\n docPermissions: SanitizedDocumentPermissions\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n locale?: string\n payload: Payload\n user: TypedUser\n}\n\ntype Result = Promise<{\n hasPublishedDoc: boolean\n mostRecentVersionIsAutosaved: boolean\n unpublishedVersionCount: number\n versionCount: number\n}>\n\n// TODO: in the future, we can parallelize some of these queries\n// this will speed up the API by ~30-100ms or so\nexport const getVersions = async ({\n id,\n collectionConfig,\n docPermissions,\n globalConfig,\n locale,\n payload,\n user,\n}: Args): Result => {\n let publishedQuery\n let hasPublishedDoc = false\n let mostRecentVersionIsAutosaved = false\n let unpublishedVersionCount = 0\n let versionCount = 0\n\n const entityConfig = collectionConfig || globalConfig\n const versionsConfig = entityConfig?.versions\n\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions)\n\n if (!shouldFetchVersions) {\n const hasPublishedDoc = Boolean((collectionConfig && id) || globalConfig)\n\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n }\n\n if (collectionConfig) {\n if (!id) {\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n }\n\n if (versionsConfig?.drafts) {\n publishedQuery = await payload.find({\n collection: collectionConfig.slug,\n depth: 0,\n locale: locale || undefined,\n user,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n {\n id: {\n equals: id,\n },\n },\n ],\n },\n })\n\n if (publishedQuery.docs?.[0]) {\n hasPublishedDoc = true\n }\n\n if (versionsConfig.drafts?.autosave) {\n const mostRecentVersion = await payload.findVersions({\n collection: collectionConfig.slug,\n depth: 0,\n limit: 1,\n user,\n where: {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n ],\n },\n })\n\n if (\n mostRecentVersion.docs[0] &&\n 'autosave' in mostRecentVersion.docs[0] &&\n mostRecentVersion.docs[0].autosave\n ) {\n mostRecentVersionIsAutosaved = true\n }\n }\n\n if (publishedQuery.docs?.[0]?.updatedAt) {\n ;({ totalDocs: unpublishedVersionCount } = await payload.countVersions({\n collection: collectionConfig.slug,\n user,\n where: {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n {\n 'version._status': {\n equals: 'draft',\n },\n },\n {\n updatedAt: {\n greater_than: publishedQuery.docs[0].updatedAt,\n },\n },\n ],\n },\n }))\n }\n }\n\n ;({ totalDocs: versionCount } = await payload.countVersions({\n collection: collectionConfig.slug,\n user,\n where: {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n ],\n },\n }))\n }\n\n if (globalConfig) {\n if (versionsConfig?.drafts) {\n publishedQuery = await payload.findGlobal({\n slug: globalConfig.slug,\n depth: 0,\n locale,\n user,\n })\n\n if (publishedQuery?._status === 'published') {\n hasPublishedDoc = true\n }\n\n if (versionsConfig.drafts?.autosave) {\n const mostRecentVersion = await payload.findGlobalVersions({\n slug: globalConfig.slug,\n limit: 1,\n select: {\n autosave: true,\n },\n user,\n })\n\n if (\n mostRecentVersion.docs[0] &&\n 'autosave' in mostRecentVersion.docs[0] &&\n mostRecentVersion.docs[0].autosave\n ) {\n mostRecentVersionIsAutosaved = true\n }\n }\n\n if (publishedQuery?.updatedAt) {\n ;({ totalDocs: unpublishedVersionCount } = await payload.countGlobalVersions({\n depth: 0,\n global: globalConfig.slug,\n user,\n where: {\n and: [\n {\n 'version._status': {\n equals: 'draft',\n },\n },\n {\n updatedAt: {\n greater_than: publishedQuery.updatedAt,\n },\n },\n ],\n },\n }))\n }\n }\n\n ;({ totalDocs: versionCount } = await payload.countGlobalVersions({\n depth: 0,\n global: globalConfig.slug,\n user,\n }))\n }\n\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"getVersions.js","names":["sanitizeID","getVersions","id","idArg","collectionConfig","docPermissions","globalConfig","locale","payload","user","publishedQuery","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","entityConfig","versionsConfig","versions","shouldFetchVersions","Boolean","readVersions","drafts","find","collection","slug","depth","undefined","where","and","or","_status","equals","exists","docs","autosave","mostRecentVersion","findVersions","limit","parent","updatedAt","totalDocs","countVersions","greater_than","findGlobal","findGlobalVersions","select","countGlobalVersions","global"],"sources":["../../../src/views/Document/getVersions.ts"],"sourcesContent":["import type {\n Payload,\n SanitizedCollectionConfig,\n SanitizedDocumentPermissions,\n SanitizedGlobalConfig,\n TypedUser,\n} from 'payload'\n\nimport { sanitizeID } from '@payloadcms/ui/shared'\n\ntype Args = {\n collectionConfig?: SanitizedCollectionConfig\n docPermissions: SanitizedDocumentPermissions\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n locale?: string\n payload: Payload\n user: TypedUser\n}\n\ntype Result = Promise<{\n hasPublishedDoc: boolean\n mostRecentVersionIsAutosaved: boolean\n unpublishedVersionCount: number\n versionCount: number\n}>\n\n// TODO: in the future, we can parallelize some of these queries\n// this will speed up the API by ~30-100ms or so\nexport const getVersions = async ({\n id: idArg,\n collectionConfig,\n docPermissions,\n globalConfig,\n locale,\n payload,\n user,\n}: Args): Result => {\n const id = sanitizeID(idArg)\n let publishedQuery\n let hasPublishedDoc = false\n let mostRecentVersionIsAutosaved = false\n let unpublishedVersionCount = 0\n let versionCount = 0\n\n const entityConfig = collectionConfig || globalConfig\n const versionsConfig = entityConfig?.versions\n\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions)\n\n if (!shouldFetchVersions) {\n const hasPublishedDoc = Boolean((collectionConfig && id) || globalConfig)\n\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n }\n\n if (collectionConfig) {\n if (!id) {\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n }\n\n if (versionsConfig?.drafts) {\n publishedQuery = await payload.find({\n collection: collectionConfig.slug,\n depth: 0,\n locale: locale || undefined,\n user,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n {\n id: {\n equals: id,\n },\n },\n ],\n },\n })\n\n if (publishedQuery.docs?.[0]) {\n hasPublishedDoc = true\n }\n\n if (versionsConfig.drafts?.autosave) {\n const mostRecentVersion = await payload.findVersions({\n collection: collectionConfig.slug,\n depth: 0,\n limit: 1,\n user,\n where: {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n ],\n },\n })\n\n if (\n mostRecentVersion.docs[0] &&\n 'autosave' in mostRecentVersion.docs[0] &&\n mostRecentVersion.docs[0].autosave\n ) {\n mostRecentVersionIsAutosaved = true\n }\n }\n\n if (publishedQuery.docs?.[0]?.updatedAt) {\n ;({ totalDocs: unpublishedVersionCount } = await payload.countVersions({\n collection: collectionConfig.slug,\n user,\n where: {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n {\n 'version._status': {\n equals: 'draft',\n },\n },\n {\n updatedAt: {\n greater_than: publishedQuery.docs[0].updatedAt,\n },\n },\n ],\n },\n }))\n }\n }\n\n ;({ totalDocs: versionCount } = await payload.countVersions({\n collection: collectionConfig.slug,\n user,\n where: {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n ],\n },\n }))\n }\n\n if (globalConfig) {\n if (versionsConfig?.drafts) {\n publishedQuery = await payload.findGlobal({\n slug: globalConfig.slug,\n depth: 0,\n locale,\n user,\n })\n\n if (publishedQuery?._status === 'published') {\n hasPublishedDoc = true\n }\n\n if (versionsConfig.drafts?.autosave) {\n const mostRecentVersion = await payload.findGlobalVersions({\n slug: globalConfig.slug,\n limit: 1,\n select: {\n autosave: true,\n },\n user,\n })\n\n if (\n mostRecentVersion.docs[0] &&\n 'autosave' in mostRecentVersion.docs[0] &&\n mostRecentVersion.docs[0].autosave\n ) {\n mostRecentVersionIsAutosaved = true\n }\n }\n\n if (publishedQuery?.updatedAt) {\n ;({ totalDocs: unpublishedVersionCount } = await payload.countGlobalVersions({\n depth: 0,\n global: globalConfig.slug,\n user,\n where: {\n and: [\n {\n 'version._status': {\n equals: 'draft',\n },\n },\n {\n updatedAt: {\n greater_than: publishedQuery.updatedAt,\n },\n },\n ],\n },\n }))\n }\n }\n\n ;({ totalDocs: versionCount } = await payload.countGlobalVersions({\n depth: 0,\n global: globalConfig.slug,\n user,\n }))\n }\n\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,7 +5,12 @@ export type ViewFromConfig = {
|
|
|
5
5
|
Component?: React.FC<AdminViewProps>;
|
|
6
6
|
payloadComponent?: AdminViewComponent;
|
|
7
7
|
};
|
|
8
|
-
|
|
8
|
+
type ServerPropsFromView = {
|
|
9
|
+
collectionConfig?: SanitizedConfig['collections'][number];
|
|
10
|
+
globalConfig?: SanitizedConfig['globals'][number];
|
|
11
|
+
viewActions: CustomComponent[];
|
|
12
|
+
};
|
|
13
|
+
type GetViewFromConfigArgs = {
|
|
9
14
|
adminRoute: string;
|
|
10
15
|
config: SanitizedConfig;
|
|
11
16
|
currentRoute: string;
|
|
@@ -14,12 +19,14 @@ export declare const getViewFromConfig: ({ adminRoute, config, currentRoute, imp
|
|
|
14
19
|
[key: string]: string | string[];
|
|
15
20
|
};
|
|
16
21
|
segments: string[];
|
|
17
|
-
}
|
|
22
|
+
};
|
|
23
|
+
type GetViewFromConfigResult = {
|
|
18
24
|
DefaultView: ViewFromConfig;
|
|
19
25
|
initPageOptions: Parameters<typeof initPage>[0];
|
|
20
|
-
serverProps:
|
|
26
|
+
serverProps: ServerPropsFromView;
|
|
21
27
|
templateClassName: string;
|
|
22
|
-
templateType:
|
|
23
|
-
viewActions?: CustomComponent[];
|
|
28
|
+
templateType: 'default' | 'minimal';
|
|
24
29
|
};
|
|
30
|
+
export declare const getViewFromConfig: ({ adminRoute, config, currentRoute, importMap, searchParams, segments, }: GetViewFromConfigArgs) => GetViewFromConfigResult;
|
|
31
|
+
export {};
|
|
25
32
|
//# sourceMappingURL=getViewFromConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getViewFromConfig.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getViewFromConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,eAAe,EAEf,SAAS,EACT,eAAe,EAChB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AA4BjE,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACpC,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;CACtC,CAAA;AA0BD,
|
|
1
|
+
{"version":3,"file":"getViewFromConfig.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getViewFromConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,eAAe,EAEf,SAAS,EACT,eAAe,EAChB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AA4BjE,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACpC,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;CACtC,CAAA;AA0BD,KAAK,mBAAmB,GAAG;IACzB,gBAAgB,CAAC,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;IACzD,YAAY,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;IACjD,WAAW,EAAE,eAAe,EAAE,CAAA;CAC/B,CAAA;AAED,KAAK,qBAAqB,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;IACD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,WAAW,EAAE,cAAc,CAAA;IAC3B,eAAe,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,WAAW,EAAE,mBAAmB,CAAA;IAChC,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,SAAS,GAAG,SAAS,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,iBAAiB,6EAO3B,qBAAqB,KAAG,uBAgS1B,CAAA"}
|
|
@@ -54,28 +54,25 @@ export const getViewFromConfig = ({
|
|
|
54
54
|
route: currentRoute,
|
|
55
55
|
searchParams
|
|
56
56
|
};
|
|
57
|
-
let viewActions = config?.admin?.components?.actions || [];
|
|
58
57
|
const [segmentOne, segmentTwo, segmentThree, segmentFour, segmentFive] = segments;
|
|
59
58
|
const isGlobal = segmentOne === 'globals';
|
|
60
59
|
const isCollection = segmentOne === 'collections';
|
|
61
60
|
let matchedCollection = undefined;
|
|
62
61
|
let matchedGlobal = undefined;
|
|
63
|
-
|
|
62
|
+
const serverProps = {
|
|
63
|
+
viewActions: config?.admin?.components?.actions || []
|
|
64
|
+
};
|
|
64
65
|
if (isCollection) {
|
|
65
66
|
matchedCollection = config.collections.find(({
|
|
66
67
|
slug
|
|
67
68
|
}) => slug === segmentTwo);
|
|
68
|
-
serverProps =
|
|
69
|
-
collectionConfig: matchedCollection
|
|
70
|
-
};
|
|
69
|
+
serverProps.collectionConfig = matchedCollection;
|
|
71
70
|
}
|
|
72
71
|
if (isGlobal) {
|
|
73
72
|
matchedGlobal = config.globals.find(({
|
|
74
73
|
slug
|
|
75
74
|
}) => slug === segmentTwo);
|
|
76
|
-
serverProps =
|
|
77
|
-
globalConfig: matchedGlobal
|
|
78
|
-
};
|
|
75
|
+
serverProps.globalConfig = matchedGlobal;
|
|
79
76
|
}
|
|
80
77
|
switch (segments.length) {
|
|
81
78
|
case 0:
|
|
@@ -145,7 +142,7 @@ export const getViewFromConfig = ({
|
|
|
145
142
|
};
|
|
146
143
|
templateClassName = `${segmentTwo}-list`;
|
|
147
144
|
templateType = 'default';
|
|
148
|
-
viewActions = viewActions.concat(matchedCollection.admin.components?.views?.list?.actions);
|
|
145
|
+
serverProps.viewActions = serverProps.viewActions.concat(matchedCollection.admin.components?.views?.list?.actions);
|
|
149
146
|
} else if (isGlobal && matchedGlobal) {
|
|
150
147
|
// --> /globals/:globalSlug
|
|
151
148
|
ViewToRender = {
|
|
@@ -154,7 +151,7 @@ export const getViewFromConfig = ({
|
|
|
154
151
|
templateClassName = 'global-edit';
|
|
155
152
|
templateType = 'default';
|
|
156
153
|
// add default view actions
|
|
157
|
-
viewActions = viewActions.concat(getViewActions({
|
|
154
|
+
serverProps.viewActions = serverProps.viewActions.concat(getViewActions({
|
|
158
155
|
editConfig: matchedGlobal.admin?.components?.views?.edit,
|
|
159
156
|
viewKey: 'default'
|
|
160
157
|
}));
|
|
@@ -184,7 +181,7 @@ export const getViewFromConfig = ({
|
|
|
184
181
|
// Adds view actions to the current collection view
|
|
185
182
|
if (matchedCollection.admin?.components?.views?.edit) {
|
|
186
183
|
if ('root' in matchedCollection.admin.components.views.edit) {
|
|
187
|
-
viewActions = viewActions.concat(getViewActions({
|
|
184
|
+
serverProps.viewActions = serverProps.viewActions.concat(getViewActions({
|
|
188
185
|
editConfig: matchedCollection.admin?.components?.views?.edit,
|
|
189
186
|
viewKey: 'root'
|
|
190
187
|
}));
|
|
@@ -192,7 +189,7 @@ export const getViewFromConfig = ({
|
|
|
192
189
|
if (segmentFive) {
|
|
193
190
|
if (segmentFour === 'versions') {
|
|
194
191
|
// add version view actions
|
|
195
|
-
viewActions = viewActions.concat(getViewActions({
|
|
192
|
+
serverProps.viewActions = serverProps.viewActions.concat(getViewActions({
|
|
196
193
|
editConfig: matchedCollection.admin?.components?.views?.edit,
|
|
197
194
|
viewKey: 'version'
|
|
198
195
|
}));
|
|
@@ -200,26 +197,26 @@ export const getViewFromConfig = ({
|
|
|
200
197
|
} else if (segmentFour) {
|
|
201
198
|
if (segmentFour === 'versions') {
|
|
202
199
|
// add versions view actions
|
|
203
|
-
viewActions = viewActions.concat(getViewActions({
|
|
200
|
+
serverProps.viewActions = serverProps.viewActions.concat(getViewActions({
|
|
204
201
|
editConfig: matchedCollection.admin?.components?.views.edit,
|
|
205
202
|
viewKey: 'versions'
|
|
206
203
|
}));
|
|
207
204
|
} else if (segmentFour === 'preview') {
|
|
208
205
|
// add livePreview view actions
|
|
209
|
-
viewActions = viewActions.concat(getViewActions({
|
|
206
|
+
serverProps.viewActions = serverProps.viewActions.concat(getViewActions({
|
|
210
207
|
editConfig: matchedCollection.admin?.components?.views.edit,
|
|
211
208
|
viewKey: 'livePreview'
|
|
212
209
|
}));
|
|
213
210
|
} else if (segmentFour === 'api') {
|
|
214
211
|
// add api view actions
|
|
215
|
-
viewActions = viewActions.concat(getViewActions({
|
|
212
|
+
serverProps.viewActions = serverProps.viewActions.concat(getViewActions({
|
|
216
213
|
editConfig: matchedCollection.admin?.components?.views.edit,
|
|
217
214
|
viewKey: 'api'
|
|
218
215
|
}));
|
|
219
216
|
}
|
|
220
217
|
} else if (segmentThree) {
|
|
221
218
|
// add default view actions
|
|
222
|
-
viewActions = viewActions.concat(getViewActions({
|
|
219
|
+
serverProps.viewActions = serverProps.viewActions.concat(getViewActions({
|
|
223
220
|
editConfig: matchedCollection.admin?.components?.views.edit,
|
|
224
221
|
viewKey: 'default'
|
|
225
222
|
}));
|
|
@@ -240,7 +237,7 @@ export const getViewFromConfig = ({
|
|
|
240
237
|
// Adds view actions to the current global view
|
|
241
238
|
if (matchedGlobal.admin?.components?.views?.edit) {
|
|
242
239
|
if ('root' in matchedGlobal.admin.components.views.edit) {
|
|
243
|
-
viewActions = viewActions.concat(getViewActions({
|
|
240
|
+
serverProps.viewActions = serverProps.viewActions.concat(getViewActions({
|
|
244
241
|
editConfig: matchedGlobal.admin.components?.views?.edit,
|
|
245
242
|
viewKey: 'root'
|
|
246
243
|
}));
|
|
@@ -248,7 +245,7 @@ export const getViewFromConfig = ({
|
|
|
248
245
|
if (segmentFour) {
|
|
249
246
|
if (segmentThree === 'versions') {
|
|
250
247
|
// add version view actions
|
|
251
|
-
viewActions = viewActions.concat(getViewActions({
|
|
248
|
+
serverProps.viewActions = serverProps.viewActions.concat(getViewActions({
|
|
252
249
|
editConfig: matchedGlobal.admin?.components?.views?.edit,
|
|
253
250
|
viewKey: 'version'
|
|
254
251
|
}));
|
|
@@ -256,19 +253,19 @@ export const getViewFromConfig = ({
|
|
|
256
253
|
} else if (segmentThree) {
|
|
257
254
|
if (segmentThree === 'versions') {
|
|
258
255
|
// add versions view actions
|
|
259
|
-
viewActions = viewActions.concat(getViewActions({
|
|
256
|
+
serverProps.viewActions = serverProps.viewActions.concat(getViewActions({
|
|
260
257
|
editConfig: matchedGlobal.admin?.components?.views?.edit,
|
|
261
258
|
viewKey: 'versions'
|
|
262
259
|
}));
|
|
263
260
|
} else if (segmentThree === 'preview') {
|
|
264
261
|
// add livePreview view actions
|
|
265
|
-
viewActions = viewActions.concat(getViewActions({
|
|
262
|
+
serverProps.viewActions = serverProps.viewActions.concat(getViewActions({
|
|
266
263
|
editConfig: matchedGlobal.admin?.components?.views?.edit,
|
|
267
264
|
viewKey: 'livePreview'
|
|
268
265
|
}));
|
|
269
266
|
} else if (segmentThree === 'api') {
|
|
270
267
|
// add api view actions
|
|
271
|
-
viewActions = viewActions.concat(getViewActions({
|
|
268
|
+
serverProps.viewActions = serverProps.viewActions.concat(getViewActions({
|
|
272
269
|
editConfig: matchedGlobal.admin?.components?.views?.edit,
|
|
273
270
|
viewKey: 'api'
|
|
274
271
|
}));
|
|
@@ -285,13 +282,13 @@ export const getViewFromConfig = ({
|
|
|
285
282
|
currentRoute
|
|
286
283
|
})?.view;
|
|
287
284
|
}
|
|
285
|
+
serverProps.viewActions.reverse();
|
|
288
286
|
return {
|
|
289
287
|
DefaultView: ViewToRender,
|
|
290
288
|
initPageOptions,
|
|
291
289
|
serverProps,
|
|
292
290
|
templateClassName,
|
|
293
|
-
templateType
|
|
294
|
-
viewActions: viewActions.reverse()
|
|
291
|
+
templateType
|
|
295
292
|
};
|
|
296
293
|
};
|
|
297
294
|
//# sourceMappingURL=getViewFromConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getViewFromConfig.js","names":["formatAdminURL","Account","CreateFirstUserView","Dashboard","Document","DocumentView","forgotPasswordBaseClass","ForgotPasswordView","ListView","loginBaseClass","LoginView","LogoutInactivity","LogoutView","ResetPassword","resetPasswordBaseClass","UnauthorizedView","Verify","verifyBaseClass","getCustomViewByRoute","isPathMatchingRoute","baseClasses","account","forgot","login","reset","verify","oneSegmentViews","createFirstUser","inactivity","logout","unauthorized","getViewActions","editConfig","viewKey","actions","undefined","getViewFromConfig","adminRoute","config","currentRoute","importMap","searchParams","segments","ViewToRender","templateClassName","templateType","initPageOptions","route","viewActions","admin","components","segmentOne","segmentTwo","segmentThree","segmentFour","segmentFive","isGlobal","isCollection","matchedCollection","matchedGlobal","serverProps","collections","find","slug","collectionConfig","globals","globalConfig","length","Component","routes","matchedRoute","Object","entries","exact","path","concat","views","list","edit","view","DefaultView","reverse"],"sources":["../../../src/views/Root/getViewFromConfig.ts"],"sourcesContent":["import type {\n AdminViewComponent,\n AdminViewProps,\n CustomComponent,\n EditConfig,\n ImportMap,\n SanitizedConfig,\n} from 'payload'\nimport type React from 'react'\n\nimport { formatAdminURL } from '@payloadcms/ui/shared'\n\nimport type { initPage } from '../../utilities/initPage/index.js'\n\nimport { Account } from '../Account/index.js'\nimport { CreateFirstUserView } from '../CreateFirstUser/index.js'\nimport { Dashboard } from '../Dashboard/index.js'\nimport { Document as DocumentView } from '../Document/index.js'\nimport { forgotPasswordBaseClass, ForgotPasswordView } from '../ForgotPassword/index.js'\nimport { ListView } from '../List/index.js'\nimport { loginBaseClass, LoginView } from '../Login/index.js'\nimport { LogoutInactivity, LogoutView } from '../Logout/index.js'\nimport { ResetPassword, resetPasswordBaseClass } from '../ResetPassword/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { Verify, verifyBaseClass } from '../Verify/index.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { isPathMatchingRoute } from './isPathMatchingRoute.js'\n\nconst baseClasses = {\n account: 'account',\n forgot: forgotPasswordBaseClass,\n login: loginBaseClass,\n reset: resetPasswordBaseClass,\n verify: verifyBaseClass,\n}\n\ntype OneSegmentViews = {\n [K in Exclude<keyof SanitizedConfig['admin']['routes'], 'reset'>]: React.FC<AdminViewProps>\n}\n\nexport type ViewFromConfig = {\n Component?: React.FC<AdminViewProps>\n payloadComponent?: AdminViewComponent\n}\n\nconst oneSegmentViews: OneSegmentViews = {\n account: Account,\n createFirstUser: CreateFirstUserView,\n forgot: ForgotPasswordView,\n inactivity: LogoutInactivity,\n login: LoginView,\n logout: LogoutView,\n unauthorized: UnauthorizedView,\n}\n\nfunction getViewActions({\n editConfig,\n viewKey,\n}: {\n editConfig: EditConfig\n viewKey: keyof EditConfig\n}): CustomComponent[] | undefined {\n if (editConfig && viewKey in editConfig && 'actions' in editConfig[viewKey]) {\n return editConfig[viewKey].actions\n }\n\n return undefined\n}\n\nexport const getViewFromConfig = ({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n}: {\n adminRoute: string\n config: SanitizedConfig\n currentRoute: string\n importMap: ImportMap\n searchParams: {\n [key: string]: string | string[]\n }\n segments: string[]\n}): {\n DefaultView: ViewFromConfig\n initPageOptions: Parameters<typeof initPage>[0]\n serverProps: Record<string, unknown>\n templateClassName: string\n templateType: 'default' | 'minimal'\n viewActions?: CustomComponent[]\n} => {\n let ViewToRender: ViewFromConfig = null\n let templateClassName: string\n let templateType: 'default' | 'minimal' | undefined\n\n const initPageOptions: Parameters<typeof initPage>[0] = {\n config,\n importMap,\n route: currentRoute,\n searchParams,\n }\n\n let viewActions: CustomComponent[] = config?.admin?.components?.actions || []\n\n const [segmentOne, segmentTwo, segmentThree, segmentFour, segmentFive] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n let matchedCollection: SanitizedConfig['collections'][number] = undefined\n let matchedGlobal: SanitizedConfig['globals'][number] = undefined\n\n let serverProps = {}\n\n if (isCollection) {\n matchedCollection = config.collections.find(({ slug }) => slug === segmentTwo)\n serverProps = {\n collectionConfig: matchedCollection,\n }\n }\n\n if (isGlobal) {\n matchedGlobal = config.globals.find(({ slug }) => slug === segmentTwo)\n serverProps = {\n globalConfig: matchedGlobal,\n }\n }\n\n switch (segments.length) {\n case 0: {\n if (currentRoute === adminRoute) {\n ViewToRender = {\n Component: Dashboard,\n }\n templateClassName = 'dashboard'\n templateType = 'default'\n }\n break\n }\n case 1: {\n // users can override the default routes via `admin.routes` config\n // i.e.{ admin: { routes: { logout: '/sign-out', inactivity: '/idle' }}}\n let viewKey: keyof typeof oneSegmentViews\n\n if (config.admin.routes) {\n const matchedRoute = Object.entries(config.admin.routes).find(([, route]) => {\n return isPathMatchingRoute({\n currentRoute,\n exact: true,\n path: formatAdminURL({ adminRoute, path: route }),\n })\n })\n\n if (matchedRoute) {\n viewKey = matchedRoute[0] as keyof typeof oneSegmentViews\n }\n }\n\n if (oneSegmentViews[viewKey]) {\n // --> /account\n // --> /create-first-user\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n\n ViewToRender = {\n Component: oneSegmentViews[viewKey],\n }\n\n templateClassName = baseClasses[viewKey]\n templateType = 'minimal'\n\n if (viewKey === 'account') {\n templateType = 'default'\n }\n }\n break\n }\n case 2: {\n if (`/${segmentOne}` === config.admin.routes.reset) {\n // --> /reset/:token\n ViewToRender = {\n Component: ResetPassword,\n }\n templateClassName = baseClasses[segmentTwo]\n templateType = 'minimal'\n }\n\n if (isCollection && matchedCollection) {\n // --> /collections/:collectionSlug\n\n ViewToRender = {\n Component: ListView,\n }\n\n templateClassName = `${segmentTwo}-list`\n templateType = 'default'\n viewActions = viewActions.concat(matchedCollection.admin.components?.views?.list?.actions)\n } else if (isGlobal && matchedGlobal) {\n // --> /globals/:globalSlug\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = 'global-edit'\n templateType = 'default'\n\n // add default view actions\n viewActions = viewActions.concat(\n getViewActions({\n editConfig: matchedGlobal.admin?.components?.views?.edit,\n viewKey: 'default',\n }),\n )\n }\n break\n }\n default:\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n ViewToRender = {\n Component: Verify,\n }\n\n templateClassName = 'verify'\n templateType = 'minimal'\n } else if (isCollection && matchedCollection) {\n // Custom Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/api\n // --> /collections/:collectionSlug/:id/preview\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:versionId\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n\n // Adds view actions to the current collection view\n if (matchedCollection.admin?.components?.views?.edit) {\n if ('root' in matchedCollection.admin.components.views.edit) {\n viewActions = viewActions.concat(\n getViewActions({\n editConfig: matchedCollection.admin?.components?.views?.edit,\n viewKey: 'root',\n }),\n )\n } else {\n if (segmentFive) {\n if (segmentFour === 'versions') {\n // add version view actions\n viewActions = viewActions.concat(\n getViewActions({\n editConfig: matchedCollection.admin?.components?.views?.edit,\n viewKey: 'version',\n }),\n )\n }\n } else if (segmentFour) {\n if (segmentFour === 'versions') {\n // add versions view actions\n viewActions = viewActions.concat(\n getViewActions({\n editConfig: matchedCollection.admin?.components?.views.edit,\n viewKey: 'versions',\n }),\n )\n } else if (segmentFour === 'preview') {\n // add livePreview view actions\n viewActions = viewActions.concat(\n getViewActions({\n editConfig: matchedCollection.admin?.components?.views.edit,\n viewKey: 'livePreview',\n }),\n )\n } else if (segmentFour === 'api') {\n // add api view actions\n viewActions = viewActions.concat(\n getViewActions({\n editConfig: matchedCollection.admin?.components?.views.edit,\n viewKey: 'api',\n }),\n )\n }\n } else if (segmentThree) {\n // add default view actions\n viewActions = viewActions.concat(\n getViewActions({\n editConfig: matchedCollection.admin?.components?.views.edit,\n viewKey: 'default',\n }),\n )\n }\n }\n }\n } else if (isGlobal && matchedGlobal) {\n // Custom Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/preview\n // --> /globals/:globalSlug/versions/:versionId\n // --> /globals/:globalSlug/api\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `global-edit`\n templateType = 'default'\n\n // Adds view actions to the current global view\n if (matchedGlobal.admin?.components?.views?.edit) {\n if ('root' in matchedGlobal.admin.components.views.edit) {\n viewActions = viewActions.concat(\n getViewActions({\n editConfig: matchedGlobal.admin.components?.views?.edit,\n viewKey: 'root',\n }),\n )\n } else {\n if (segmentFour) {\n if (segmentThree === 'versions') {\n // add version view actions\n viewActions = viewActions.concat(\n getViewActions({\n editConfig: matchedGlobal.admin?.components?.views?.edit,\n viewKey: 'version',\n }),\n )\n }\n } else if (segmentThree) {\n if (segmentThree === 'versions') {\n // add versions view actions\n viewActions = viewActions.concat(\n getViewActions({\n editConfig: matchedGlobal.admin?.components?.views?.edit,\n viewKey: 'versions',\n }),\n )\n } else if (segmentThree === 'preview') {\n // add livePreview view actions\n viewActions = viewActions.concat(\n getViewActions({\n editConfig: matchedGlobal.admin?.components?.views?.edit,\n viewKey: 'livePreview',\n }),\n )\n } else if (segmentThree === 'api') {\n // add api view actions\n viewActions = viewActions.concat(\n getViewActions({\n editConfig: matchedGlobal.admin?.components?.views?.edit,\n viewKey: 'api',\n }),\n )\n }\n }\n }\n }\n }\n break\n }\n\n if (!ViewToRender) {\n ViewToRender = getCustomViewByRoute({ config, currentRoute })?.view\n }\n\n return {\n DefaultView: ViewToRender,\n initPageOptions,\n serverProps,\n templateClassName,\n templateType,\n viewActions: viewActions.reverse(),\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"getViewFromConfig.js","names":["formatAdminURL","Account","CreateFirstUserView","Dashboard","Document","DocumentView","forgotPasswordBaseClass","ForgotPasswordView","ListView","loginBaseClass","LoginView","LogoutInactivity","LogoutView","ResetPassword","resetPasswordBaseClass","UnauthorizedView","Verify","verifyBaseClass","getCustomViewByRoute","isPathMatchingRoute","baseClasses","account","forgot","login","reset","verify","oneSegmentViews","createFirstUser","inactivity","logout","unauthorized","getViewActions","editConfig","viewKey","actions","undefined","getViewFromConfig","adminRoute","config","currentRoute","importMap","searchParams","segments","ViewToRender","templateClassName","templateType","initPageOptions","route","segmentOne","segmentTwo","segmentThree","segmentFour","segmentFive","isGlobal","isCollection","matchedCollection","matchedGlobal","serverProps","viewActions","admin","components","collections","find","slug","collectionConfig","globals","globalConfig","length","Component","routes","matchedRoute","Object","entries","exact","path","concat","views","list","edit","view","reverse","DefaultView"],"sources":["../../../src/views/Root/getViewFromConfig.ts"],"sourcesContent":["import type {\n AdminViewComponent,\n AdminViewProps,\n CustomComponent,\n EditConfig,\n ImportMap,\n SanitizedConfig,\n} from 'payload'\nimport type React from 'react'\n\nimport { formatAdminURL } from '@payloadcms/ui/shared'\n\nimport type { initPage } from '../../utilities/initPage/index.js'\n\nimport { Account } from '../Account/index.js'\nimport { CreateFirstUserView } from '../CreateFirstUser/index.js'\nimport { Dashboard } from '../Dashboard/index.js'\nimport { Document as DocumentView } from '../Document/index.js'\nimport { forgotPasswordBaseClass, ForgotPasswordView } from '../ForgotPassword/index.js'\nimport { ListView } from '../List/index.js'\nimport { loginBaseClass, LoginView } from '../Login/index.js'\nimport { LogoutInactivity, LogoutView } from '../Logout/index.js'\nimport { ResetPassword, resetPasswordBaseClass } from '../ResetPassword/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { Verify, verifyBaseClass } from '../Verify/index.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { isPathMatchingRoute } from './isPathMatchingRoute.js'\n\nconst baseClasses = {\n account: 'account',\n forgot: forgotPasswordBaseClass,\n login: loginBaseClass,\n reset: resetPasswordBaseClass,\n verify: verifyBaseClass,\n}\n\ntype OneSegmentViews = {\n [K in Exclude<keyof SanitizedConfig['admin']['routes'], 'reset'>]: React.FC<AdminViewProps>\n}\n\nexport type ViewFromConfig = {\n Component?: React.FC<AdminViewProps>\n payloadComponent?: AdminViewComponent\n}\n\nconst oneSegmentViews: OneSegmentViews = {\n account: Account,\n createFirstUser: CreateFirstUserView,\n forgot: ForgotPasswordView,\n inactivity: LogoutInactivity,\n login: LoginView,\n logout: LogoutView,\n unauthorized: UnauthorizedView,\n}\n\nfunction getViewActions({\n editConfig,\n viewKey,\n}: {\n editConfig: EditConfig\n viewKey: keyof EditConfig\n}): CustomComponent[] | undefined {\n if (editConfig && viewKey in editConfig && 'actions' in editConfig[viewKey]) {\n return editConfig[viewKey].actions\n }\n\n return undefined\n}\n\ntype ServerPropsFromView = {\n collectionConfig?: SanitizedConfig['collections'][number]\n globalConfig?: SanitizedConfig['globals'][number]\n viewActions: CustomComponent[]\n}\n\ntype GetViewFromConfigArgs = {\n adminRoute: string\n config: SanitizedConfig\n currentRoute: string\n importMap: ImportMap\n searchParams: {\n [key: string]: string | string[]\n }\n segments: string[]\n}\n\ntype GetViewFromConfigResult = {\n DefaultView: ViewFromConfig\n initPageOptions: Parameters<typeof initPage>[0]\n serverProps: ServerPropsFromView\n templateClassName: string\n templateType: 'default' | 'minimal'\n}\n\nexport const getViewFromConfig = ({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n}: GetViewFromConfigArgs): GetViewFromConfigResult => {\n let ViewToRender: ViewFromConfig = null\n let templateClassName: string\n let templateType: 'default' | 'minimal' | undefined\n\n const initPageOptions: Parameters<typeof initPage>[0] = {\n config,\n importMap,\n route: currentRoute,\n searchParams,\n }\n\n const [segmentOne, segmentTwo, segmentThree, segmentFour, segmentFive] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n let matchedCollection: SanitizedConfig['collections'][number] = undefined\n let matchedGlobal: SanitizedConfig['globals'][number] = undefined\n\n const serverProps: ServerPropsFromView = {\n viewActions: config?.admin?.components?.actions || [],\n }\n\n if (isCollection) {\n matchedCollection = config.collections.find(({ slug }) => slug === segmentTwo)\n serverProps.collectionConfig = matchedCollection\n }\n\n if (isGlobal) {\n matchedGlobal = config.globals.find(({ slug }) => slug === segmentTwo)\n serverProps.globalConfig = matchedGlobal\n }\n\n switch (segments.length) {\n case 0: {\n if (currentRoute === adminRoute) {\n ViewToRender = {\n Component: Dashboard,\n }\n templateClassName = 'dashboard'\n templateType = 'default'\n }\n break\n }\n case 1: {\n // users can override the default routes via `admin.routes` config\n // i.e.{ admin: { routes: { logout: '/sign-out', inactivity: '/idle' }}}\n let viewKey: keyof typeof oneSegmentViews\n\n if (config.admin.routes) {\n const matchedRoute = Object.entries(config.admin.routes).find(([, route]) => {\n return isPathMatchingRoute({\n currentRoute,\n exact: true,\n path: formatAdminURL({ adminRoute, path: route }),\n })\n })\n\n if (matchedRoute) {\n viewKey = matchedRoute[0] as keyof typeof oneSegmentViews\n }\n }\n\n if (oneSegmentViews[viewKey]) {\n // --> /account\n // --> /create-first-user\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n\n ViewToRender = {\n Component: oneSegmentViews[viewKey],\n }\n\n templateClassName = baseClasses[viewKey]\n templateType = 'minimal'\n\n if (viewKey === 'account') {\n templateType = 'default'\n }\n }\n break\n }\n case 2: {\n if (`/${segmentOne}` === config.admin.routes.reset) {\n // --> /reset/:token\n ViewToRender = {\n Component: ResetPassword,\n }\n templateClassName = baseClasses[segmentTwo]\n templateType = 'minimal'\n }\n\n if (isCollection && matchedCollection) {\n // --> /collections/:collectionSlug\n\n ViewToRender = {\n Component: ListView,\n }\n\n templateClassName = `${segmentTwo}-list`\n templateType = 'default'\n serverProps.viewActions = serverProps.viewActions.concat(\n matchedCollection.admin.components?.views?.list?.actions,\n )\n } else if (isGlobal && matchedGlobal) {\n // --> /globals/:globalSlug\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = 'global-edit'\n templateType = 'default'\n\n // add default view actions\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedGlobal.admin?.components?.views?.edit,\n viewKey: 'default',\n }),\n )\n }\n break\n }\n default:\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n ViewToRender = {\n Component: Verify,\n }\n\n templateClassName = 'verify'\n templateType = 'minimal'\n } else if (isCollection && matchedCollection) {\n // Custom Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/api\n // --> /collections/:collectionSlug/:id/preview\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:versionId\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n\n // Adds view actions to the current collection view\n if (matchedCollection.admin?.components?.views?.edit) {\n if ('root' in matchedCollection.admin.components.views.edit) {\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedCollection.admin?.components?.views?.edit,\n viewKey: 'root',\n }),\n )\n } else {\n if (segmentFive) {\n if (segmentFour === 'versions') {\n // add version view actions\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedCollection.admin?.components?.views?.edit,\n viewKey: 'version',\n }),\n )\n }\n } else if (segmentFour) {\n if (segmentFour === 'versions') {\n // add versions view actions\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedCollection.admin?.components?.views.edit,\n viewKey: 'versions',\n }),\n )\n } else if (segmentFour === 'preview') {\n // add livePreview view actions\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedCollection.admin?.components?.views.edit,\n viewKey: 'livePreview',\n }),\n )\n } else if (segmentFour === 'api') {\n // add api view actions\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedCollection.admin?.components?.views.edit,\n viewKey: 'api',\n }),\n )\n }\n } else if (segmentThree) {\n // add default view actions\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedCollection.admin?.components?.views.edit,\n viewKey: 'default',\n }),\n )\n }\n }\n }\n } else if (isGlobal && matchedGlobal) {\n // Custom Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/preview\n // --> /globals/:globalSlug/versions/:versionId\n // --> /globals/:globalSlug/api\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `global-edit`\n templateType = 'default'\n\n // Adds view actions to the current global view\n if (matchedGlobal.admin?.components?.views?.edit) {\n if ('root' in matchedGlobal.admin.components.views.edit) {\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedGlobal.admin.components?.views?.edit,\n viewKey: 'root',\n }),\n )\n } else {\n if (segmentFour) {\n if (segmentThree === 'versions') {\n // add version view actions\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedGlobal.admin?.components?.views?.edit,\n viewKey: 'version',\n }),\n )\n }\n } else if (segmentThree) {\n if (segmentThree === 'versions') {\n // add versions view actions\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedGlobal.admin?.components?.views?.edit,\n viewKey: 'versions',\n }),\n )\n } else if (segmentThree === 'preview') {\n // add livePreview view actions\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedGlobal.admin?.components?.views?.edit,\n viewKey: 'livePreview',\n }),\n )\n } else if (segmentThree === 'api') {\n // add api view actions\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedGlobal.admin?.components?.views?.edit,\n viewKey: 'api',\n }),\n )\n }\n }\n }\n }\n }\n break\n }\n\n if (!ViewToRender) {\n ViewToRender = getCustomViewByRoute({ config, currentRoute })?.view\n }\n\n serverProps.viewActions.reverse()\n\n return {\n DefaultView: ViewToRender,\n initPageOptions,\n serverProps,\n templateClassName,\n templateType,\n }\n}\n"],"mappings":"AAUA,SAASA,cAAc,QAAQ;AAI/B,SAASC,OAAO,QAAQ;AACxB,SAASC,mBAAmB,QAAQ;AACpC,SAASC,SAAS,QAAQ;AAC1B,SAASC,QAAA,IAAYC,YAAY,QAAQ;AACzC,SAASC,uBAAuB,EAAEC,kBAAkB,QAAQ;AAC5D,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,EAAEC,SAAS,QAAQ;AAC1C,SAASC,gBAAgB,EAAEC,UAAU,QAAQ;AAC7C,SAASC,aAAa,EAAEC,sBAAsB,QAAQ;AACtD,SAASC,gBAAgB,QAAQ;AACjC,SAASC,MAAM,EAAEC,eAAe,QAAQ;AACxC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,mBAAmB,QAAQ;AAEpC,MAAMC,WAAA,GAAc;EAClBC,OAAA,EAAS;EACTC,MAAA,EAAQhB,uBAAA;EACRiB,KAAA,EAAOd,cAAA;EACPe,KAAA,EAAOV,sBAAA;EACPW,MAAA,EAAQR;AACV;AAWA,MAAMS,eAAA,GAAmC;EACvCL,OAAA,EAASpB,OAAA;EACT0B,eAAA,EAAiBzB,mBAAA;EACjBoB,MAAA,EAAQf,kBAAA;EACRqB,UAAA,EAAYjB,gBAAA;EACZY,KAAA,EAAOb,SAAA;EACPmB,MAAA,EAAQjB,UAAA;EACRkB,YAAA,EAAcf;AAChB;AAEA,SAASgB,eAAe;EACtBC,UAAU;EACVC;AAAO,CAIR;EACC,IAAID,UAAA,IAAcC,OAAA,IAAWD,UAAA,IAAc,aAAaA,UAAU,CAACC,OAAA,CAAQ,EAAE;IAC3E,OAAOD,UAAU,CAACC,OAAA,CAAQ,CAACC,OAAO;EACpC;EAEA,OAAOC,SAAA;AACT;AA2BA,OAAO,MAAMC,iBAAA,GAAoBA,CAAC;EAChCC,UAAU;EACVC,MAAM;EACNC,YAAY;EACZC,SAAS;EACTC,YAAY;EACZC;AAAQ,CACc;EACtB,IAAIC,YAAA,GAA+B;EACnC,IAAIC,iBAAA;EACJ,IAAIC,YAAA;EAEJ,MAAMC,eAAA,GAAkD;IACtDR,MAAA;IACAE,SAAA;IACAO,KAAA,EAAOR,YAAA;IACPE;EACF;EAEA,MAAM,CAACO,UAAA,EAAYC,UAAA,EAAYC,YAAA,EAAcC,WAAA,EAAaC,WAAA,CAAY,GAAGV,QAAA;EAEzE,MAAMW,QAAA,GAAWL,UAAA,KAAe;EAChC,MAAMM,YAAA,GAAeN,UAAA,KAAe;EACpC,IAAIO,iBAAA,GAA4DpB,SAAA;EAChE,IAAIqB,aAAA,GAAoDrB,SAAA;EAExD,MAAMsB,WAAA,GAAmC;IACvCC,WAAA,EAAapB,MAAA,EAAQqB,KAAA,EAAOC,UAAA,EAAY1B,OAAA,IAAW;EACrD;EAEA,IAAIoB,YAAA,EAAc;IAChBC,iBAAA,GAAoBjB,MAAA,CAAOuB,WAAW,CAACC,IAAI,CAAC,CAAC;MAAEC;IAAI,CAAE,KAAKA,IAAA,KAASd,UAAA;IACnEQ,WAAA,CAAYO,gBAAgB,GAAGT,iBAAA;EACjC;EAEA,IAAIF,QAAA,EAAU;IACZG,aAAA,GAAgBlB,MAAA,CAAO2B,OAAO,CAACH,IAAI,CAAC,CAAC;MAAEC;IAAI,CAAE,KAAKA,IAAA,KAASd,UAAA;IAC3DQ,WAAA,CAAYS,YAAY,GAAGV,aAAA;EAC7B;EAEA,QAAQd,QAAA,CAASyB,MAAM;IACrB,KAAK;MAAG;QACN,IAAI5B,YAAA,KAAiBF,UAAA,EAAY;UAC/BM,YAAA,GAAe;YACbyB,SAAA,EAAWjE;UACb;UACAyC,iBAAA,GAAoB;UACpBC,YAAA,GAAe;QACjB;QACA;MACF;IACA,KAAK;MAAG;QACN;QACA;QACA,IAAIZ,OAAA;QAEJ,IAAIK,MAAA,CAAOqB,KAAK,CAACU,MAAM,EAAE;UACvB,MAAMC,YAAA,GAAeC,MAAA,CAAOC,OAAO,CAAClC,MAAA,CAAOqB,KAAK,CAACU,MAAM,EAAEP,IAAI,CAAC,CAAC,GAAGf,KAAA,CAAM;YACtE,OAAO5B,mBAAA,CAAoB;cACzBoB,YAAA;cACAkC,KAAA,EAAO;cACPC,IAAA,EAAM1E,cAAA,CAAe;gBAAEqC,UAAA;gBAAYqC,IAAA,EAAM3B;cAAM;YACjD;UACF;UAEA,IAAIuB,YAAA,EAAc;YAChBrC,OAAA,GAAUqC,YAAY,CAAC,EAAE;UAC3B;QACF;QAEA,IAAI5C,eAAe,CAACO,OAAA,CAAQ,EAAE;UAC5B;UACA;UACA;UACA;UACA;UACA;UACA;UAEAU,YAAA,GAAe;YACbyB,SAAA,EAAW1C,eAAe,CAACO,OAAA;UAC7B;UAEAW,iBAAA,GAAoBxB,WAAW,CAACa,OAAA,CAAQ;UACxCY,YAAA,GAAe;UAEf,IAAIZ,OAAA,KAAY,WAAW;YACzBY,YAAA,GAAe;UACjB;QACF;QACA;MACF;IACA,KAAK;MAAG;QACN,IAAI,IAAIG,UAAA,EAAY,KAAKV,MAAA,CAAOqB,KAAK,CAACU,MAAM,CAAC7C,KAAK,EAAE;UAClD;UACAmB,YAAA,GAAe;YACbyB,SAAA,EAAWvD;UACb;UACA+B,iBAAA,GAAoBxB,WAAW,CAAC6B,UAAA,CAAW;UAC3CJ,YAAA,GAAe;QACjB;QAEA,IAAIS,YAAA,IAAgBC,iBAAA,EAAmB;UACrC;UAEAZ,YAAA,GAAe;YACbyB,SAAA,EAAW5D;UACb;UAEAoC,iBAAA,GAAoB,GAAGK,UAAA,OAAiB;UACxCJ,YAAA,GAAe;UACfY,WAAA,CAAYC,WAAW,GAAGD,WAAA,CAAYC,WAAW,CAACiB,MAAM,CACtDpB,iBAAA,CAAkBI,KAAK,CAACC,UAAU,EAAEgB,KAAA,EAAOC,IAAA,EAAM3C,OAAA;QAErD,OAAO,IAAImB,QAAA,IAAYG,aAAA,EAAe;UACpC;UAEAb,YAAA,GAAe;YACbyB,SAAA,EAAW/D;UACb;UAEAuC,iBAAA,GAAoB;UACpBC,YAAA,GAAe;UAEf;UACAY,WAAA,CAAYC,WAAW,GAAGD,WAAA,CAAYC,WAAW,CAACiB,MAAM,CACtD5C,cAAA,CAAe;YACbC,UAAA,EAAYwB,aAAA,CAAcG,KAAK,EAAEC,UAAA,EAAYgB,KAAA,EAAOE,IAAA;YACpD7C,OAAA,EAAS;UACX;QAEJ;QACA;MACF;IACA;MACE,IAAIgB,UAAA,KAAe,UAAU;QAC3B;QACAN,YAAA,GAAe;UACbyB,SAAA,EAAWpD;QACb;QAEA4B,iBAAA,GAAoB;QACpBC,YAAA,GAAe;MACjB,OAAO,IAAIS,YAAA,IAAgBC,iBAAA,EAAmB;QAC5C;QACA;QACA;QACA;QACA;QACA;QAEAZ,YAAA,GAAe;UACbyB,SAAA,EAAW/D;QACb;QAEAuC,iBAAA,GAAoB,yBAAyB;QAC7CC,YAAA,GAAe;QAEf;QACA,IAAIU,iBAAA,CAAkBI,KAAK,EAAEC,UAAA,EAAYgB,KAAA,EAAOE,IAAA,EAAM;UACpD,IAAI,UAAUvB,iBAAA,CAAkBI,KAAK,CAACC,UAAU,CAACgB,KAAK,CAACE,IAAI,EAAE;YAC3DrB,WAAA,CAAYC,WAAW,GAAGD,WAAA,CAAYC,WAAW,CAACiB,MAAM,CACtD5C,cAAA,CAAe;cACbC,UAAA,EAAYuB,iBAAA,CAAkBI,KAAK,EAAEC,UAAA,EAAYgB,KAAA,EAAOE,IAAA;cACxD7C,OAAA,EAAS;YACX;UAEJ,OAAO;YACL,IAAImB,WAAA,EAAa;cACf,IAAID,WAAA,KAAgB,YAAY;gBAC9B;gBACAM,WAAA,CAAYC,WAAW,GAAGD,WAAA,CAAYC,WAAW,CAACiB,MAAM,CACtD5C,cAAA,CAAe;kBACbC,UAAA,EAAYuB,iBAAA,CAAkBI,KAAK,EAAEC,UAAA,EAAYgB,KAAA,EAAOE,IAAA;kBACxD7C,OAAA,EAAS;gBACX;cAEJ;YACF,OAAO,IAAIkB,WAAA,EAAa;cACtB,IAAIA,WAAA,KAAgB,YAAY;gBAC9B;gBACAM,WAAA,CAAYC,WAAW,GAAGD,WAAA,CAAYC,WAAW,CAACiB,MAAM,CACtD5C,cAAA,CAAe;kBACbC,UAAA,EAAYuB,iBAAA,CAAkBI,KAAK,EAAEC,UAAA,EAAYgB,KAAA,CAAME,IAAA;kBACvD7C,OAAA,EAAS;gBACX;cAEJ,OAAO,IAAIkB,WAAA,KAAgB,WAAW;gBACpC;gBACAM,WAAA,CAAYC,WAAW,GAAGD,WAAA,CAAYC,WAAW,CAACiB,MAAM,CACtD5C,cAAA,CAAe;kBACbC,UAAA,EAAYuB,iBAAA,CAAkBI,KAAK,EAAEC,UAAA,EAAYgB,KAAA,CAAME,IAAA;kBACvD7C,OAAA,EAAS;gBACX;cAEJ,OAAO,IAAIkB,WAAA,KAAgB,OAAO;gBAChC;gBACAM,WAAA,CAAYC,WAAW,GAAGD,WAAA,CAAYC,WAAW,CAACiB,MAAM,CACtD5C,cAAA,CAAe;kBACbC,UAAA,EAAYuB,iBAAA,CAAkBI,KAAK,EAAEC,UAAA,EAAYgB,KAAA,CAAME,IAAA;kBACvD7C,OAAA,EAAS;gBACX;cAEJ;YACF,OAAO,IAAIiB,YAAA,EAAc;cACvB;cACAO,WAAA,CAAYC,WAAW,GAAGD,WAAA,CAAYC,WAAW,CAACiB,MAAM,CACtD5C,cAAA,CAAe;gBACbC,UAAA,EAAYuB,iBAAA,CAAkBI,KAAK,EAAEC,UAAA,EAAYgB,KAAA,CAAME,IAAA;gBACvD7C,OAAA,EAAS;cACX;YAEJ;UACF;QACF;MACF,OAAO,IAAIoB,QAAA,IAAYG,aAAA,EAAe;QACpC;QACA;QACA;QACA;QACA;QAEAb,YAAA,GAAe;UACbyB,SAAA,EAAW/D;QACb;QAEAuC,iBAAA,GAAoB,aAAa;QACjCC,YAAA,GAAe;QAEf;QACA,IAAIW,aAAA,CAAcG,KAAK,EAAEC,UAAA,EAAYgB,KAAA,EAAOE,IAAA,EAAM;UAChD,IAAI,UAAUtB,aAAA,CAAcG,KAAK,CAACC,UAAU,CAACgB,KAAK,CAACE,IAAI,EAAE;YACvDrB,WAAA,CAAYC,WAAW,GAAGD,WAAA,CAAYC,WAAW,CAACiB,MAAM,CACtD5C,cAAA,CAAe;cACbC,UAAA,EAAYwB,aAAA,CAAcG,KAAK,CAACC,UAAU,EAAEgB,KAAA,EAAOE,IAAA;cACnD7C,OAAA,EAAS;YACX;UAEJ,OAAO;YACL,IAAIkB,WAAA,EAAa;cACf,IAAID,YAAA,KAAiB,YAAY;gBAC/B;gBACAO,WAAA,CAAYC,WAAW,GAAGD,WAAA,CAAYC,WAAW,CAACiB,MAAM,CACtD5C,cAAA,CAAe;kBACbC,UAAA,EAAYwB,aAAA,CAAcG,KAAK,EAAEC,UAAA,EAAYgB,KAAA,EAAOE,IAAA;kBACpD7C,OAAA,EAAS;gBACX;cAEJ;YACF,OAAO,IAAIiB,YAAA,EAAc;cACvB,IAAIA,YAAA,KAAiB,YAAY;gBAC/B;gBACAO,WAAA,CAAYC,WAAW,GAAGD,WAAA,CAAYC,WAAW,CAACiB,MAAM,CACtD5C,cAAA,CAAe;kBACbC,UAAA,EAAYwB,aAAA,CAAcG,KAAK,EAAEC,UAAA,EAAYgB,KAAA,EAAOE,IAAA;kBACpD7C,OAAA,EAAS;gBACX;cAEJ,OAAO,IAAIiB,YAAA,KAAiB,WAAW;gBACrC;gBACAO,WAAA,CAAYC,WAAW,GAAGD,WAAA,CAAYC,WAAW,CAACiB,MAAM,CACtD5C,cAAA,CAAe;kBACbC,UAAA,EAAYwB,aAAA,CAAcG,KAAK,EAAEC,UAAA,EAAYgB,KAAA,EAAOE,IAAA;kBACpD7C,OAAA,EAAS;gBACX;cAEJ,OAAO,IAAIiB,YAAA,KAAiB,OAAO;gBACjC;gBACAO,WAAA,CAAYC,WAAW,GAAGD,WAAA,CAAYC,WAAW,CAACiB,MAAM,CACtD5C,cAAA,CAAe;kBACbC,UAAA,EAAYwB,aAAA,CAAcG,KAAK,EAAEC,UAAA,EAAYgB,KAAA,EAAOE,IAAA;kBACpD7C,OAAA,EAAS;gBACX;cAEJ;YACF;UACF;QACF;MACF;MACA;EACJ;EAEA,IAAI,CAACU,YAAA,EAAc;IACjBA,YAAA,GAAezB,oBAAA,CAAqB;MAAEoB,MAAA;MAAQC;IAAa,IAAIwC,IAAA;EACjE;EAEAtB,WAAA,CAAYC,WAAW,CAACsB,OAAO;EAE/B,OAAO;IACLC,WAAA,EAAatC,YAAA;IACbG,eAAA;IACAW,WAAA;IACAb,iBAAA;IACAC;EACF;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAKzD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAQvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB,eAAO,MAAM,QAAQ,oGAKlB;IACD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAC,CAAA;IACF,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;QAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;CACH,+
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAKzD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAQvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB,eAAO,MAAM,QAAQ,oGAKlB;IACD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAC,CAAA;IACF,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;QAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;CACH,+BAkIA,CAAA"}
|
package/dist/views/Root/index.js
CHANGED
|
@@ -39,8 +39,7 @@ export const RootPage = async ({
|
|
|
39
39
|
initPageOptions,
|
|
40
40
|
serverProps,
|
|
41
41
|
templateClassName,
|
|
42
|
-
templateType
|
|
43
|
-
viewActions
|
|
42
|
+
templateType
|
|
44
43
|
} = getViewFromConfig({
|
|
45
44
|
adminRoute,
|
|
46
45
|
config,
|
|
@@ -124,7 +123,7 @@ export const RootPage = async ({
|
|
|
124
123
|
permissions: initPageResult?.permissions,
|
|
125
124
|
searchParams: searchParams,
|
|
126
125
|
user: initPageResult?.req.user,
|
|
127
|
-
viewActions: viewActions,
|
|
126
|
+
viewActions: serverProps.viewActions,
|
|
128
127
|
visibleEntities: {
|
|
129
128
|
// The reason we are not passing in initPageResult.visibleEntities directly is due to a "Cannot assign to read only property of object '#<Object>" error introduced in React 19
|
|
130
129
|
// which this caused as soon as initPageResult.visibleEntities is passed in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["RenderServerComponent","formatAdminURL","notFound","redirect","React","Fragment","DefaultTemplate","MinimalTemplate","getClientConfig","initPage","getViewFromConfig","generatePageMetadata","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","DefaultView","initPageOptions","serverProps","templateClassName","templateType","
|
|
1
|
+
{"version":3,"file":"index.js","names":["RenderServerComponent","formatAdminURL","notFound","redirect","React","Fragment","DefaultTemplate","MinimalTemplate","getClientConfig","initPage","getViewFromConfig","generatePageMetadata","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","DefaultView","initPageOptions","serverProps","templateClassName","templateType","initPageResult","dbHasUser","req","payload","db","findOne","collection","then","doc","Component","payloadComponent","redirectTo","createFirstUserRoute","collectionConfig","collections","find","slug","disableLocalStrategy","auth","clientConfig","i18n","RenderedView","clientProps","Fallback","_jsxs","_jsx","className","locale","permissions","viewActions","visibleEntities","globals"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { ImportMap, SanitizedConfig } from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React, { Fragment } from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { getClientConfig } from '../../utilities/getClientConfig.js'\nimport { initPage } from '../../utilities/initPage/index.js'\nimport { getViewFromConfig } from './getViewFromConfig.js'\n\nexport { generatePageMetadata } from './meta.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n const currentRoute = formatAdminURL({\n adminRoute,\n path: `${Array.isArray(params.segments) ? `/${params.segments.join('/')}` : ''}`,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const searchParams = await searchParamsPromise\n\n const { DefaultView, initPageOptions, serverProps, templateClassName, templateType } =\n getViewFromConfig({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n })\n\n const initPageResult = await initPage(initPageOptions)\n\n const dbHasUser =\n initPageResult.req.user ||\n (await initPageResult?.req.payload.db\n .findOne({\n collection: userSlug,\n req: initPageResult?.req,\n })\n ?.then((doc) => !!doc))\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (initPageResult?.req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n if (typeof initPageResult?.redirectTo === 'string') {\n redirect(initPageResult.redirectTo)\n }\n\n if (initPageResult) {\n const createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const collectionConfig = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = collectionConfig?.auth?.disableLocalStrategy\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n }\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n redirect(adminRoute)\n }\n\n const clientConfig = await getClientConfig({\n config,\n i18n: initPageResult?.req.i18n,\n importMap,\n })\n\n const RenderedView = RenderServerComponent({\n clientProps: { clientConfig },\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n ...serverProps,\n clientConfig,\n i18n: initPageResult?.req.i18n,\n importMap,\n initPageResult,\n params,\n payload: initPageResult?.req.payload,\n searchParams,\n },\n })\n\n return (\n <Fragment>\n {!templateType && <Fragment>{RenderedView}</Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n i18n={initPageResult?.req.i18n}\n locale={initPageResult?.locale}\n params={params}\n payload={initPageResult?.req.payload}\n permissions={initPageResult?.permissions}\n searchParams={searchParams}\n user={initPageResult?.req.user}\n viewActions={serverProps.viewActions}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: initPageResult?.visibleEntities?.collections,\n globals: initPageResult?.visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
package/dist/withPayload.js
CHANGED
|
@@ -9,10 +9,11 @@
|
|
|
9
9
|
env.NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH = 'true';
|
|
10
10
|
}
|
|
11
11
|
if (process.env.PAYLOAD_PATCH_TURBOPACK_WARNINGS !== 'false') {
|
|
12
|
+
const turbopackWarningText = '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';
|
|
12
13
|
const consoleWarn = console.warn;
|
|
13
14
|
console.warn = (...args) => {
|
|
14
15
|
// Force to disable serverExternalPackages warnings: https://github.com/vercel/next.js/issues/68805
|
|
15
|
-
if (typeof args[1] === 'string' && args[1].includes(
|
|
16
|
+
if (typeof args[1] === 'string' && args[1].includes(turbopackWarningText) || typeof args[0] === 'string' && args[0].includes(turbopackWarningText)) {
|
|
16
17
|
return;
|
|
17
18
|
}
|
|
18
19
|
consoleWarn(...args);
|
package/dist/withPayload.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withPayload.js","names":["withPayload","nextConfig","env","experimental","staleTimes","dynamic","console","warn","NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH","process","PAYLOAD_PATCH_TURBOPACK_WARNINGS","consoleWarn","args","includes","poweredByHeader","key","value","toReturn","outputFileTracingExcludes","outputFileTracingIncludes","turbo","resolveAlias","headers","headersFromConfig","source","serverExternalPackages","webpack","webpackConfig","webpackOptions","incomingWebpackConfig","externals","ignoreWarnings","module","file","resolve","alias","fallback","aws4","kerberos","snappy","basePath","NEXT_BASE_PATH"],"sources":["../src/withPayload.js"],"sourcesContent":["/**\n * @param {import('next').NextConfig} nextConfig\n *\n * @returns {import('next').NextConfig}\n * */\nexport const withPayload = (nextConfig = {}) => {\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 consoleWarn = console.warn\n
|
|
1
|
+
{"version":3,"file":"withPayload.js","names":["withPayload","nextConfig","env","experimental","staleTimes","dynamic","console","warn","NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH","process","PAYLOAD_PATCH_TURBOPACK_WARNINGS","turbopackWarningText","consoleWarn","args","includes","poweredByHeader","key","value","toReturn","outputFileTracingExcludes","outputFileTracingIncludes","turbo","resolveAlias","headers","headersFromConfig","source","serverExternalPackages","webpack","webpackConfig","webpackOptions","incomingWebpackConfig","externals","ignoreWarnings","module","file","resolve","alias","fallback","aws4","kerberos","snappy","basePath","NEXT_BASE_PATH"],"sources":["../src/withPayload.js"],"sourcesContent":["/**\n * @param {import('next').NextConfig} nextConfig\n *\n * @returns {import('next').NextConfig}\n * */\nexport const withPayload = (nextConfig = {}) => {\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 experimental: {\n ...(nextConfig?.experimental || {}),\n turbo: {\n ...(nextConfig?.experimental?.turbo || {}),\n resolveAlias: {\n ...(nextConfig?.experimental?.turbo?.resolveAlias || {}),\n 'payload-mock-package': 'payload-mock-package',\n },\n },\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 ],\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 ],\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 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"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/next",
|
|
3
|
-
"version": "3.0
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -79,9 +79,9 @@
|
|
|
79
79
|
"sass": "1.77.4",
|
|
80
80
|
"sonner": "^1.5.0",
|
|
81
81
|
"uuid": "10.0.0",
|
|
82
|
-
"@payloadcms/
|
|
83
|
-
"@payloadcms/
|
|
84
|
-
"@payloadcms/ui": "3.0
|
|
82
|
+
"@payloadcms/translations": "3.1.0",
|
|
83
|
+
"@payloadcms/graphql": "3.1.0",
|
|
84
|
+
"@payloadcms/ui": "3.1.0"
|
|
85
85
|
},
|
|
86
86
|
"devDependencies": {
|
|
87
87
|
"@babel/cli": "^7.24.5",
|
|
@@ -99,13 +99,13 @@
|
|
|
99
99
|
"esbuild-sass-plugin": "3.3.1",
|
|
100
100
|
"eslint-plugin-react-compiler": "19.0.0-beta-a7bf2bd-20241110",
|
|
101
101
|
"swc-plugin-transform-remove-imports": "1.15.0",
|
|
102
|
-
"
|
|
103
|
-
"
|
|
102
|
+
"payload": "3.1.0",
|
|
103
|
+
"@payloadcms/eslint-config": "3.0.0"
|
|
104
104
|
},
|
|
105
105
|
"peerDependencies": {
|
|
106
106
|
"graphql": "^16.8.1",
|
|
107
107
|
"next": "^15.0.0",
|
|
108
|
-
"payload": "3.0
|
|
108
|
+
"payload": "3.1.0"
|
|
109
109
|
},
|
|
110
110
|
"engines": {
|
|
111
111
|
"node": "^18.20.2 || >=20.9.0"
|