@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.
Files changed (33) hide show
  1. package/dist/cjs/withPayload.cjs +2 -1
  2. package/dist/cjs/withPayload.cjs.map +1 -1
  3. package/dist/layouts/Root/NestProviders.d.ts +3 -2
  4. package/dist/layouts/Root/NestProviders.d.ts.map +1 -1
  5. package/dist/layouts/Root/NestProviders.js +5 -2
  6. package/dist/layouts/Root/NestProviders.js.map +1 -1
  7. package/dist/layouts/Root/index.d.ts.map +1 -1
  8. package/dist/layouts/Root/index.js +7 -0
  9. package/dist/layouts/Root/index.js.map +1 -1
  10. package/dist/views/Document/getDocPreferences.d.ts.map +1 -1
  11. package/dist/views/Document/getDocPreferences.js +2 -1
  12. package/dist/views/Document/getDocPreferences.js.map +1 -1
  13. package/dist/views/Document/getDocumentData.d.ts +1 -1
  14. package/dist/views/Document/getDocumentData.d.ts.map +1 -1
  15. package/dist/views/Document/getDocumentData.js +3 -1
  16. package/dist/views/Document/getDocumentData.js.map +1 -1
  17. package/dist/views/Document/getIsLocked.d.ts.map +1 -1
  18. package/dist/views/Document/getIsLocked.js +2 -1
  19. package/dist/views/Document/getIsLocked.js.map +1 -1
  20. package/dist/views/Document/getVersions.d.ts +1 -1
  21. package/dist/views/Document/getVersions.d.ts.map +1 -1
  22. package/dist/views/Document/getVersions.js +3 -1
  23. package/dist/views/Document/getVersions.js.map +1 -1
  24. package/dist/views/Root/getViewFromConfig.d.ts +12 -5
  25. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  26. package/dist/views/Root/getViewFromConfig.js +20 -23
  27. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  28. package/dist/views/Root/index.d.ts.map +1 -1
  29. package/dist/views/Root/index.js +2 -3
  30. package/dist/views/Root/index.js.map +1 -1
  31. package/dist/withPayload.js +2 -1
  32. package/dist/withPayload.js.map +1 -1
  33. package/package.json +7 -7
@@ -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('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')) {
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":"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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 consoleWarn = console.warn\n\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' &&\n args[1].includes(\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 ) {\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
+ {"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;AAGhD,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;CAC/D,CAAA;AAED,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,GAAG,KAAK,CAAC,SAAS,CAevF"}
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({ children, importMap, providers }: Args): React.ReactNode {\n return RenderServerComponent({\n clientProps: {\n children:\n providers.length > 1 ? (\n <NestProviders importMap={importMap} providers={providers.slice(1)}>\n {children}\n </NestProviders>\n ) : (\n children\n ),\n },\n Component: providers[0],\n importMap,\n })\n}\n"],"mappings":";AAEA,SAASA,qBAAqB,QAAQ;AAEtC,OAAOC,KAAA,MAAW;AAQlB,OAAO,SAASC,cAAc;EAAEC,QAAQ;EAAEC,SAAS;EAAEC;AAAS,CAAQ;EACpE,OAAOL,qBAAA,CAAsB;IAC3BM,WAAA,EAAa;MACXH,QAAA,EACEE,SAAA,CAAUE,MAAM,GAAG,iBACjBC,IAAA,CAACN,aAAA;QAAcE,SAAA,EAAWA,SAAA;QAAWC,SAAA,EAAWA,SAAA,CAAUI,KAAK,CAAC;kBAC7DN;WAGHA;IAEN;IACAO,SAAA,EAAWL,SAAS,CAAC,EAAE;IACvBD;EACF;AACF","ignoreList":[]}
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,+BAgGA,CAAA"}
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":"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","ignoreList":[]}
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;AAEtE,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
+ {"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":"AAUA,OAAO,MAAMA,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,EAAQV,IAAA,CAAKJ;UACf;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":[]}
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;AAErE,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,+DAOzB,IAAI,KAAG,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAiC5D,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":"AAWA,OAAO,MAAMA,eAAA,GAAkB,MAAAA,CAAO;EACpCC,EAAE;EACFC,cAAc;EACdC,UAAU;EACVC,MAAM;EACNC,OAAO;EACPC;AAAI,CACC;EACL,IAAIC,YAAA,GAAqD;EAEzD,IAAI;IACF,IAAIL,cAAA,IAAkBD,EAAA,EAAI;MACxBM,YAAA,GAAe,MAAMF,OAAA,CAAQG,QAAQ,CAAC;QACpCP,EAAA;QACAQ,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
+ {"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;AAEhB,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
+ {"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":"AAsBA,OAAO,MAAMA,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,EAAQZ;MACV;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":[]}
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;AAEhB,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,mFAQrB,IAAI,KAAG,MA4MT,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":"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","ignoreList":[]}
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
- export declare const getViewFromConfig: ({ adminRoute, config, currentRoute, importMap, searchParams, segments, }: {
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: Record<string, unknown>;
26
+ serverProps: ServerPropsFromView;
21
27
  templateClassName: string;
22
- templateType: "default" | "minimal";
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,eAAO,MAAM,iBAAiB,6EAO3B;IACD,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,KAAG;IACF,WAAW,EAAE,cAAc,CAAA;IAC3B,eAAe,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,SAAS,GAAG,SAAS,CAAA;IACnC,WAAW,CAAC,EAAE,eAAe,EAAE,CAAA;CAkShC,CAAA"}
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
- let serverProps = {};
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,+BAwIA,CAAA"}
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"}
@@ -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","viewActions","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","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 {\n DefaultView,\n initPageOptions,\n serverProps,\n templateClassName,\n templateType,\n viewActions,\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={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":[]}
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":[]}
@@ -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('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')) {
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);
@@ -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\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' &&\n args[1].includes(\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 ) {\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":[]}
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-canary.5a65a90",
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/graphql": "3.0.3-canary.5a65a90",
83
- "@payloadcms/translations": "3.0.3-canary.5a65a90",
84
- "@payloadcms/ui": "3.0.3-canary.5a65a90"
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
- "@payloadcms/eslint-config": "3.0.0",
103
- "payload": "3.0.3-canary.5a65a90"
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.3-canary.5a65a90"
108
+ "payload": "3.1.0"
109
109
  },
110
110
  "engines": {
111
111
  "node": "^18.20.2 || >=20.9.0"