@payloadcms/next 3.0.0-beta.79 → 3.0.0-beta.81

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/Document/getViewsFromConfig.tsx"],"sourcesContent":["import type {\n AdminViewProps,\n CollectionPermission,\n GlobalPermission,\n PayloadComponent,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n ServerSideEditViewProps,\n} from 'payload'\nimport type React from 'react'\n\nimport { notFound } from 'next/navigation.js'\n\nimport { APIView as DefaultAPIView } from '../API/index.js'\nimport { EditView as DefaultEditView } from '../Edit/index.js'\nimport { LivePreviewView as DefaultLivePreviewView } from '../LivePreview/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { VersionView as DefaultVersionView } from '../Version/index.js'\nimport { VersionsView as DefaultVersionsView } from '../Versions/index.js'\nimport { getCustomViewByKey } from './getCustomViewByKey.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\n\nexport type ViewFromConfig<TProps extends object> = {\n Component?: React.FC<TProps>\n payloadComponent?: PayloadComponent<TProps>\n}\n\nexport const getViewsFromConfig = ({\n collectionConfig,\n config,\n docPermissions,\n globalConfig,\n routeSegments,\n}: {\n collectionConfig?: SanitizedCollectionConfig\n config: SanitizedConfig\n docPermissions: CollectionPermission | GlobalPermission\n globalConfig?: SanitizedGlobalConfig\n routeSegments: string[]\n}): {\n CustomView: ViewFromConfig<ServerSideEditViewProps>\n DefaultView: ViewFromConfig<ServerSideEditViewProps>\n /**\n * The error view to display if CustomView or DefaultView do not exist (could be either due to not found, or unauthorized). Can be null\n */\n ErrorView: ViewFromConfig<AdminViewProps>\n} | null => {\n // Conditionally import and lazy load the default view\n let DefaultView: ViewFromConfig<ServerSideEditViewProps> = null\n let CustomView: ViewFromConfig<ServerSideEditViewProps> = null\n let ErrorView: ViewFromConfig<AdminViewProps> = null\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n const views =\n (collectionConfig && collectionConfig?.admin?.components?.views) ||\n (globalConfig && globalConfig?.admin?.components?.views)\n\n const livePreviewEnabled =\n (collectionConfig && collectionConfig?.admin?.livePreview) ||\n config?.admin?.livePreview?.collections?.includes(collectionConfig?.slug) ||\n (globalConfig && globalConfig?.admin?.livePreview) ||\n config?.admin?.livePreview?.globals?.includes(globalConfig?.slug)\n\n if (collectionConfig) {\n const editConfig = collectionConfig?.admin?.components?.views?.edit\n const EditOverride = typeof editConfig === 'function' ? editConfig : null\n\n if (EditOverride) {\n CustomView = EditOverride\n }\n\n if (!EditOverride) {\n const [collectionEntity, collectionSlug, segment3, segment4, segment5, ...remainingSegments] =\n routeSegments\n\n if (!docPermissions?.read?.permission) {\n notFound()\n } else {\n // `../:id`, or `../create`\n switch (routeSegments.length) {\n case 3: {\n switch (segment3) {\n case 'create': {\n if ('create' in docPermissions && docPermissions?.create?.permission) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'default'),\n }\n DefaultView = {\n Component: DefaultEditView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n\n default: {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'default'),\n }\n DefaultView = {\n Component: DefaultEditView,\n }\n break\n }\n }\n break\n }\n\n // `../:id/api`, `../:id/preview`, `../:id/versions`, etc\n case 4: {\n switch (segment4) {\n case 'api': {\n if (collectionConfig?.admin?.hideAPIURL !== true) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'api'),\n }\n DefaultView = {\n Component: DefaultAPIView,\n }\n }\n break\n }\n\n case 'preview': {\n if (livePreviewEnabled) {\n DefaultView = {\n Component: DefaultLivePreviewView,\n }\n }\n break\n }\n\n case 'versions': {\n if (docPermissions?.readVersions?.permission) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'versions'),\n }\n DefaultView = {\n Component: DefaultVersionsView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n\n default: {\n const baseRoute = [\n adminRoute !== '/' && adminRoute,\n 'collections',\n collectionSlug,\n segment3,\n ]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n CustomView = {\n payloadComponent: getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n }),\n }\n break\n }\n }\n break\n }\n\n // `../:id/versions/:version`, etc\n default: {\n if (segment4 === 'versions') {\n if (docPermissions?.readVersions?.permission) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'version'),\n }\n DefaultView = {\n Component: DefaultVersionView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n } else {\n const baseRoute = [\n adminRoute !== '/' && adminRoute,\n collectionEntity,\n collectionSlug,\n segment3,\n ]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n CustomView = {\n payloadComponent: getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n }),\n }\n }\n break\n }\n }\n }\n }\n }\n\n if (globalConfig) {\n const editConfig = globalConfig?.admin?.components?.views?.edit\n const EditOverride = typeof editConfig === 'function' ? editConfig : null\n\n if (EditOverride) {\n CustomView = EditOverride\n }\n\n if (!EditOverride) {\n const [globalEntity, globalSlug, segment3, ...remainingSegments] = routeSegments\n\n if (!docPermissions?.read?.permission) {\n notFound()\n } else {\n switch (routeSegments.length) {\n case 2: {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'default'),\n }\n DefaultView = {\n Component: DefaultEditView,\n }\n break\n }\n\n case 3: {\n // `../:slug/api`, `../:slug/preview`, `../:slug/versions`, etc\n switch (segment3) {\n case 'api': {\n if (globalConfig?.admin?.hideAPIURL !== true) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'api'),\n }\n DefaultView = {\n Component: DefaultAPIView,\n }\n }\n break\n }\n\n case 'preview': {\n if (livePreviewEnabled) {\n DefaultView = {\n Component: DefaultLivePreviewView,\n }\n }\n break\n }\n\n case 'versions': {\n if (docPermissions?.readVersions?.permission) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'versions'),\n }\n DefaultView = {\n Component: DefaultVersionsView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n\n default: {\n if (docPermissions?.read?.permission) {\n const baseRoute = [adminRoute, globalEntity, globalSlug, segment3]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment3, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n CustomView = {\n payloadComponent: getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n }),\n }\n DefaultView = {\n Component: DefaultEditView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n }\n break\n }\n\n default: {\n // `../:slug/versions/:version`, etc\n if (segment3 === 'versions') {\n if (docPermissions?.readVersions?.permission) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'version'),\n }\n DefaultView = {\n Component: DefaultVersionView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n } else {\n const baseRoute = [adminRoute !== '/' && adminRoute, 'globals', globalSlug]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment3, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n CustomView = {\n payloadComponent: getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n }),\n }\n }\n break\n }\n }\n }\n }\n }\n\n return {\n CustomView,\n DefaultView,\n ErrorView,\n }\n}\n"],"names":["notFound","APIView","DefaultAPIView","EditView","DefaultEditView","LivePreviewView","DefaultLivePreviewView","UnauthorizedView","VersionView","DefaultVersionView","VersionsView","DefaultVersionsView","getCustomViewByKey","getCustomViewByRoute","getViewsFromConfig","collectionConfig","config","docPermissions","globalConfig","routeSegments","DefaultView","CustomView","ErrorView","routes","admin","adminRoute","views","components","livePreviewEnabled","livePreview","collections","includes","slug","globals","editConfig","edit","EditOverride","collectionEntity","collectionSlug","segment3","segment4","segment5","remainingSegments","read","permission","length","create","payloadComponent","Component","hideAPIURL","readVersions","baseRoute","filter","Boolean","join","currentRoute","globalEntity","globalSlug"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/views/Document/getViewsFromConfig.tsx"],"sourcesContent":["import type {\n AdminViewProps,\n CollectionPermission,\n GlobalPermission,\n PayloadComponent,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n ServerSideEditViewProps,\n} from 'payload'\nimport type React from 'react'\n\nimport { notFound } from 'next/navigation.js'\n\nimport { APIView as DefaultAPIView } from '../API/index.js'\nimport { EditView as DefaultEditView } from '../Edit/index.js'\nimport { LivePreviewView as DefaultLivePreviewView } from '../LivePreview/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { VersionView as DefaultVersionView } from '../Version/index.js'\nimport { VersionsView as DefaultVersionsView } from '../Versions/index.js'\nimport { getCustomViewByKey } from './getCustomViewByKey.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\n\nexport type ViewFromConfig<TProps extends object> = {\n Component?: React.FC<TProps>\n payloadComponent?: PayloadComponent<TProps>\n}\n\nexport const getViewsFromConfig = ({\n collectionConfig,\n config,\n docPermissions,\n globalConfig,\n routeSegments,\n}: {\n collectionConfig?: SanitizedCollectionConfig\n config: SanitizedConfig\n docPermissions: CollectionPermission | GlobalPermission\n globalConfig?: SanitizedGlobalConfig\n routeSegments: string[]\n}): {\n CustomView: ViewFromConfig<ServerSideEditViewProps>\n DefaultView: ViewFromConfig<ServerSideEditViewProps>\n /**\n * The error view to display if CustomView or DefaultView do not exist (could be either due to not found, or unauthorized). Can be null\n */\n ErrorView: ViewFromConfig<AdminViewProps>\n} | null => {\n // Conditionally import and lazy load the default view\n let DefaultView: ViewFromConfig<ServerSideEditViewProps> = null\n let CustomView: ViewFromConfig<ServerSideEditViewProps> = null\n let ErrorView: ViewFromConfig<AdminViewProps> = null\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n const views =\n (collectionConfig && collectionConfig?.admin?.components?.views) ||\n (globalConfig && globalConfig?.admin?.components?.views)\n\n const livePreviewEnabled =\n (collectionConfig && collectionConfig?.admin?.livePreview) ||\n config?.admin?.livePreview?.collections?.includes(collectionConfig?.slug) ||\n (globalConfig && globalConfig?.admin?.livePreview) ||\n config?.admin?.livePreview?.globals?.includes(globalConfig?.slug)\n\n if (collectionConfig) {\n const [collectionEntity, collectionSlug, segment3, segment4, segment5, ...remainingSegments] =\n routeSegments\n\n if (!docPermissions?.read?.permission) {\n notFound()\n } else {\n // `../:id`, or `../create`\n switch (routeSegments.length) {\n case 3: {\n switch (segment3) {\n case 'create': {\n if ('create' in docPermissions && docPermissions?.create?.permission) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'default'),\n }\n DefaultView = {\n Component: DefaultEditView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n\n default: {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'default'),\n }\n DefaultView = {\n Component: DefaultEditView,\n }\n break\n }\n }\n break\n }\n\n // `../:id/api`, `../:id/preview`, `../:id/versions`, etc\n case 4: {\n switch (segment4) {\n case 'api': {\n if (collectionConfig?.admin?.hideAPIURL !== true) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'api'),\n }\n DefaultView = {\n Component: DefaultAPIView,\n }\n }\n break\n }\n\n case 'preview': {\n if (livePreviewEnabled) {\n DefaultView = {\n Component: DefaultLivePreviewView,\n }\n }\n break\n }\n\n case 'versions': {\n if (docPermissions?.readVersions?.permission) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'versions'),\n }\n DefaultView = {\n Component: DefaultVersionsView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n\n default: {\n const baseRoute = [\n adminRoute !== '/' && adminRoute,\n 'collections',\n collectionSlug,\n segment3,\n ]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n CustomView = {\n payloadComponent: getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n }),\n }\n break\n }\n }\n break\n }\n\n // `../:id/versions/:version`, etc\n default: {\n if (segment4 === 'versions') {\n if (docPermissions?.readVersions?.permission) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'version'),\n }\n DefaultView = {\n Component: DefaultVersionView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n } else {\n const baseRoute = [\n adminRoute !== '/' && adminRoute,\n collectionEntity,\n collectionSlug,\n segment3,\n ]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n CustomView = {\n payloadComponent: getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n }),\n }\n }\n break\n }\n }\n }\n }\n\n if (globalConfig) {\n const [globalEntity, globalSlug, segment3, ...remainingSegments] = routeSegments\n\n if (!docPermissions?.read?.permission) {\n notFound()\n } else {\n switch (routeSegments.length) {\n case 2: {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'default'),\n }\n DefaultView = {\n Component: DefaultEditView,\n }\n break\n }\n\n case 3: {\n // `../:slug/api`, `../:slug/preview`, `../:slug/versions`, etc\n switch (segment3) {\n case 'api': {\n if (globalConfig?.admin?.hideAPIURL !== true) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'api'),\n }\n DefaultView = {\n Component: DefaultAPIView,\n }\n }\n break\n }\n\n case 'preview': {\n if (livePreviewEnabled) {\n DefaultView = {\n Component: DefaultLivePreviewView,\n }\n }\n break\n }\n\n case 'versions': {\n if (docPermissions?.readVersions?.permission) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'versions'),\n }\n DefaultView = {\n Component: DefaultVersionsView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n\n default: {\n if (docPermissions?.read?.permission) {\n const baseRoute = [adminRoute, globalEntity, globalSlug, segment3]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment3, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n CustomView = {\n payloadComponent: getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n }),\n }\n DefaultView = {\n Component: DefaultEditView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n }\n break\n }\n\n default: {\n // `../:slug/versions/:version`, etc\n if (segment3 === 'versions') {\n if (docPermissions?.readVersions?.permission) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'version'),\n }\n DefaultView = {\n Component: DefaultVersionView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n } else {\n const baseRoute = [adminRoute !== '/' && adminRoute, 'globals', globalSlug]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment3, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n CustomView = {\n payloadComponent: getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n }),\n }\n }\n break\n }\n }\n }\n }\n\n return {\n CustomView,\n DefaultView,\n ErrorView,\n }\n}\n"],"names":["notFound","APIView","DefaultAPIView","EditView","DefaultEditView","LivePreviewView","DefaultLivePreviewView","UnauthorizedView","VersionView","DefaultVersionView","VersionsView","DefaultVersionsView","getCustomViewByKey","getCustomViewByRoute","getViewsFromConfig","collectionConfig","config","docPermissions","globalConfig","routeSegments","DefaultView","CustomView","ErrorView","routes","admin","adminRoute","views","components","livePreviewEnabled","livePreview","collections","includes","slug","globals","collectionEntity","collectionSlug","segment3","segment4","segment5","remainingSegments","read","permission","length","create","payloadComponent","Component","hideAPIURL","readVersions","baseRoute","filter","Boolean","join","currentRoute","globalEntity","globalSlug"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAIf,MAAM,SAAS,CAAA;AAUhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AASrE,eAAO,MAAM,gBAAgB,EAAE,wBAAiE,CAAA;AAEhG,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAkR7C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAIf,MAAM,SAAS,CAAA;AAUhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AASrE,eAAO,MAAM,gBAAgB,EAAE,wBAAiE,CAAA;AAEhG,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA6R7C,CAAA"}
@@ -20,7 +20,7 @@ export const Document = async ({ importMap, initPageResult, params, searchParams
20
20
  collectionSlug,
21
21
  globalSlug
22
22
  });
23
- let ViewOverride;
23
+ let RootViewOverride;
24
24
  let CustomView;
25
25
  let DefaultView;
26
26
  let ErrorView;
@@ -66,8 +66,8 @@ export const Document = async ({ importMap, initPageResult, params, searchParams
66
66
  }
67
67
  const apiQueryParams = `?${params.toString()}`;
68
68
  apiURL = `${serverURL}${apiRoute}/${collectionSlug}/${id}${apiQueryParams}`;
69
- ViewOverride = collectionConfig?.admin?.components?.views?.edit?.default && 'Component' in collectionConfig.admin.components.views.edit.default ? createMappedComponent(collectionConfig?.admin?.components?.views?.edit?.default?.Component, undefined, undefined, 'collectionConfig?.admin?.components?.views?.edit?.default') : null;
70
- if (!ViewOverride) {
69
+ RootViewOverride = collectionConfig?.admin?.components?.views?.edit?.root && 'Component' in collectionConfig.admin.components.views.edit.root ? createMappedComponent(collectionConfig?.admin?.components?.views?.edit?.root?.Component, undefined, undefined, 'collectionConfig?.admin?.components?.views?.edit?.root') : null;
70
+ if (!RootViewOverride) {
71
71
  const collectionViews = getViewsFromConfig({
72
72
  collectionConfig,
73
73
  config,
@@ -78,7 +78,7 @@ export const Document = async ({ importMap, initPageResult, params, searchParams
78
78
  DefaultView = createMappedComponent(collectionViews?.DefaultView?.payloadComponent, undefined, collectionViews?.DefaultView?.Component, 'collectionViews?.DefaultView.payloadComponent');
79
79
  ErrorView = createMappedComponent(collectionViews?.ErrorView?.payloadComponent, undefined, collectionViews?.ErrorView?.Component, 'collectionViews?.ErrorView.payloadComponent');
80
80
  }
81
- if (!CustomView && !DefaultView && !ViewOverride && !ErrorView) {
81
+ if (!CustomView && !DefaultView && !RootViewOverride && !ErrorView) {
82
82
  ErrorView = createMappedComponent(undefined, undefined, NotFoundView, 'NotFoundView');
83
83
  }
84
84
  }
@@ -97,9 +97,8 @@ export const Document = async ({ importMap, initPageResult, params, searchParams
97
97
  }
98
98
  const apiQueryParams = `?${params.toString()}`;
99
99
  apiURL = `${serverURL}${apiRoute}/${globalSlug}${apiQueryParams}`;
100
- const editConfig = globalConfig?.admin?.components?.views?.edit;
101
- ViewOverride = typeof editConfig === 'function' ? editConfig : null;
102
- if (!ViewOverride) {
100
+ RootViewOverride = globalConfig?.admin?.components?.views?.edit?.root && 'Component' in globalConfig.admin.components.views.edit.root ? createMappedComponent(globalConfig?.admin?.components?.views?.edit?.root?.Component, undefined, undefined, 'globalConfig?.admin?.components?.views?.edit?.root') : null;
101
+ if (!RootViewOverride) {
103
102
  const globalViews = getViewsFromConfig({
104
103
  config,
105
104
  docPermissions,
@@ -109,7 +108,7 @@ export const Document = async ({ importMap, initPageResult, params, searchParams
109
108
  CustomView = createMappedComponent(globalViews?.CustomView?.payloadComponent, undefined, globalViews?.CustomView?.Component, 'globalViews?.CustomView.payloadComponent');
110
109
  DefaultView = createMappedComponent(globalViews?.DefaultView?.payloadComponent, undefined, globalViews?.DefaultView?.Component, 'globalViews?.DefaultView.payloadComponent');
111
110
  ErrorView = createMappedComponent(globalViews?.ErrorView?.payloadComponent, undefined, globalViews?.ErrorView?.Component, 'globalViews?.ErrorView.payloadComponent');
112
- if (!CustomView && !DefaultView && !ViewOverride && !ErrorView) {
111
+ if (!CustomView && !DefaultView && !RootViewOverride && !ErrorView) {
113
112
  ErrorView = createMappedComponent(undefined, undefined, NotFoundView, 'NotFoundView');
114
113
  }
115
114
  }
@@ -154,7 +153,7 @@ export const Document = async ({ importMap, initPageResult, params, searchParams
154
153
  initialState: formState,
155
154
  isEditing: isEditing,
156
155
  children: [
157
- !ViewOverride && /*#__PURE__*/ _jsx(DocumentHeader, {
156
+ !RootViewOverride && /*#__PURE__*/ _jsx(DocumentHeader, {
158
157
  collectionConfig: collectionConfig,
159
158
  globalConfig: globalConfig,
160
159
  i18n: i18n,
@@ -169,7 +168,7 @@ export const Document = async ({ importMap, initPageResult, params, searchParams
169
168
  children: ErrorView ? /*#__PURE__*/ _jsx(RenderComponent, {
170
169
  mappedComponent: ErrorView
171
170
  }) : /*#__PURE__*/ _jsx(RenderComponent, {
172
- mappedComponent: ViewOverride ? ViewOverride : CustomView ? CustomView : DefaultView
171
+ mappedComponent: RootViewOverride ? RootViewOverride : CustomView ? CustomView : DefaultView
173
172
  })
174
173
  }, `${collectionSlug || globalSlug}${locale?.code ? `-${locale?.code}` : ''}`)
175
174
  ]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type {\n AdminViewProps,\n EditViewComponent,\n MappedComponent,\n ServerSideEditViewProps,\n} from 'payload'\n\nimport { DocumentInfoProvider, EditDepthProvider, HydrateAuthProvider } from '@payloadcms/ui'\nimport {\n RenderComponent,\n formatAdminURL,\n getCreateMappedComponent,\n isEditing as getIsEditing,\n} from '@payloadcms/ui/shared'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React from 'react'\n\nimport type { GenerateEditViewMetadata } from './getMetaBySegment.js'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { NotFoundView } from '../NotFound/index.js'\nimport { getDocumentData } from './getDocumentData.js'\nimport { getDocumentPermissions } from './getDocumentPermissions.js'\nimport { getMetaBySegment } from './getMetaBySegment.js'\nimport { getViewsFromConfig } from './getViewsFromConfig.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async (args) => getMetaBySegment(args)\n\nexport const Document: React.FC<AdminViewProps> = async ({\n importMap,\n initPageResult,\n params,\n searchParams,\n}) => {\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: {\n config,\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n },\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const segments = Array.isArray(params?.segments) ? params.segments : []\n const collectionSlug = collectionConfig?.slug || undefined\n const globalSlug = globalConfig?.slug || undefined\n\n const isEditing = getIsEditing({ id, collectionSlug, globalSlug })\n\n let ViewOverride: MappedComponent<ServerSideEditViewProps>\n let CustomView: MappedComponent<ServerSideEditViewProps>\n let DefaultView: MappedComponent<ServerSideEditViewProps>\n let ErrorView: MappedComponent<AdminViewProps>\n\n let apiURL: string\n\n const { data, formState } = await getDocumentData({\n id,\n collectionConfig,\n globalConfig,\n locale,\n req,\n })\n\n const { docPermissions, hasPublishPermission, hasSavePermission } = await getDocumentPermissions({\n id,\n collectionConfig,\n data,\n globalConfig,\n req,\n })\n\n const createMappedComponent = getCreateMappedComponent({\n importMap,\n serverProps: {\n i18n,\n initPageResult,\n locale,\n params,\n payload,\n permissions,\n routeSegments: segments,\n searchParams,\n user,\n },\n })\n\n if (collectionConfig) {\n if (!visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug)) {\n notFound()\n }\n\n const params = new URLSearchParams()\n if (collectionConfig.versions?.drafts) {\n params.append('draft', 'true')\n }\n if (locale?.code) {\n params.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${params.toString()}`\n\n apiURL = `${serverURL}${apiRoute}/${collectionSlug}/${id}${apiQueryParams}`\n\n ViewOverride =\n collectionConfig?.admin?.components?.views?.edit?.default &&\n 'Component' in collectionConfig.admin.components.views.edit.default\n ? createMappedComponent(\n collectionConfig?.admin?.components?.views?.edit?.default\n ?.Component as EditViewComponent, // some type info gets lost from Config => SanitizedConfig due to our usage of Deep type operations from ts-essentials. Despite .Component being defined as EditViewComponent, this info is lost and we need cast it here.\n undefined,\n undefined,\n 'collectionConfig?.admin?.components?.views?.edit?.default',\n )\n : null\n\n if (!ViewOverride) {\n const collectionViews = getViewsFromConfig({\n collectionConfig,\n config,\n docPermissions,\n routeSegments: segments,\n })\n\n CustomView = createMappedComponent(\n collectionViews?.CustomView?.payloadComponent,\n undefined,\n collectionViews?.CustomView?.Component,\n 'collectionViews?.CustomView.payloadComponent',\n )\n\n DefaultView = createMappedComponent(\n collectionViews?.DefaultView?.payloadComponent,\n undefined,\n collectionViews?.DefaultView?.Component,\n 'collectionViews?.DefaultView.payloadComponent',\n )\n\n ErrorView = createMappedComponent(\n collectionViews?.ErrorView?.payloadComponent,\n undefined,\n collectionViews?.ErrorView?.Component,\n 'collectionViews?.ErrorView.payloadComponent',\n )\n }\n\n if (!CustomView && !DefaultView && !ViewOverride && !ErrorView) {\n ErrorView = createMappedComponent(undefined, undefined, NotFoundView, 'NotFoundView')\n }\n }\n\n if (globalConfig) {\n if (!visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)) {\n notFound()\n }\n\n const params = new URLSearchParams({\n locale: locale?.code,\n })\n if (globalConfig.versions?.drafts) {\n params.append('draft', 'true')\n }\n if (locale?.code) {\n params.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${params.toString()}`\n\n apiURL = `${serverURL}${apiRoute}/${globalSlug}${apiQueryParams}`\n\n const editConfig = globalConfig?.admin?.components?.views?.edit\n ViewOverride = typeof editConfig === 'function' ? editConfig : null\n\n if (!ViewOverride) {\n const globalViews = getViewsFromConfig({\n config,\n docPermissions,\n globalConfig,\n routeSegments: segments,\n })\n\n CustomView = createMappedComponent(\n globalViews?.CustomView?.payloadComponent,\n undefined,\n globalViews?.CustomView?.Component,\n 'globalViews?.CustomView.payloadComponent',\n )\n\n DefaultView = createMappedComponent(\n globalViews?.DefaultView?.payloadComponent,\n undefined,\n globalViews?.DefaultView?.Component,\n 'globalViews?.DefaultView.payloadComponent',\n )\n\n ErrorView = createMappedComponent(\n globalViews?.ErrorView?.payloadComponent,\n undefined,\n globalViews?.ErrorView?.Component,\n 'globalViews?.ErrorView.payloadComponent',\n )\n\n if (!CustomView && !DefaultView && !ViewOverride && !ErrorView) {\n ErrorView = createMappedComponent(undefined, undefined, NotFoundView, 'NotFoundView')\n }\n }\n }\n\n /**\n * Handle case where autoSave is enabled and the document is being created\n * => create document and redirect\n */\n const shouldAutosave =\n hasSavePermission &&\n ((collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave))\n const validateDraftData =\n collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.validate\n\n if (shouldAutosave && !validateDraftData && !id && collectionSlug) {\n const doc = await payload.create({\n collection: collectionSlug,\n data: {},\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale: locale?.code,\n req,\n user,\n })\n\n if (doc?.id) {\n const redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${doc.id}`,\n serverURL,\n })\n redirect(redirectURL)\n } else {\n notFound()\n }\n }\n\n return (\n <DocumentInfoProvider\n apiURL={apiURL}\n collectionSlug={collectionConfig?.slug}\n disableActions={false}\n docPermissions={docPermissions}\n globalSlug={globalConfig?.slug}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n initialData={data}\n initialState={formState}\n isEditing={isEditing}\n >\n {!ViewOverride && (\n <DocumentHeader\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n i18n={i18n}\n payload={payload}\n permissions={permissions}\n />\n )}\n <HydrateAuthProvider permissions={permissions} />\n {/**\n * After bumping the Next.js canary to 104, and React to 19.0.0-rc-06d0b89e-20240801\" we have to deepCopy the permissions object (https://github.com/payloadcms/payload/pull/7541).\n * If both HydrateClientUser and RenderCustomComponent receive the same permissions object (same object reference), we get a\n * \"TypeError: Cannot read properties of undefined (reading '$$typeof')\" error when loading up some version views - for example a versions\n * view in the draft-posts collection of the versions test suite. RenderCustomComponent is what renders the versions view.\n *\n * // TODO: Revisit this in the future and figure out why this is happening. Might be a React/Next.js bug. We don't know why it happens, and a future React/Next version might unbreak this (keep an eye on this and remove deepCopyObjectSimple if that's the case)\n */}\n <EditDepthProvider\n depth={1}\n key={`${collectionSlug || globalSlug}${locale?.code ? `-${locale?.code}` : ''}`}\n >\n {ErrorView ? (\n <RenderComponent mappedComponent={ErrorView} />\n ) : (\n <RenderComponent\n mappedComponent={ViewOverride ? ViewOverride : CustomView ? CustomView : DefaultView}\n />\n )}\n </EditDepthProvider>\n </DocumentInfoProvider>\n )\n}\n"],"names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","RenderComponent","formatAdminURL","getCreateMappedComponent","isEditing","getIsEditing","notFound","redirect","React","DocumentHeader","NotFoundView","getDocumentData","getDocumentPermissions","getMetaBySegment","getViewsFromConfig","generateMetadata","args","Document","importMap","initPageResult","params","searchParams","collectionConfig","docID","id","globalConfig","locale","permissions","req","i18n","payload","config","routes","admin","adminRoute","api","apiRoute","serverURL","user","visibleEntities","segments","Array","isArray","collectionSlug","slug","undefined","globalSlug","ViewOverride","CustomView","DefaultView","ErrorView","apiURL","data","formState","docPermissions","hasPublishPermission","hasSavePermission","createMappedComponent","serverProps","routeSegments","collections","find","visibleSlug","URLSearchParams","versions","drafts","append","code","apiQueryParams","toString","components","views","edit","default","Component","collectionViews","payloadComponent","globals","editConfig","globalViews","shouldAutosave","autosave","validateDraftData","validate","doc","create","collection","depth","draft","fallbackLocale","redirectURL","path","disableActions","initialData","initialState","mappedComponent"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type {\n AdminViewProps,\n EditViewComponent,\n MappedComponent,\n ServerSideEditViewProps,\n} from 'payload'\n\nimport { DocumentInfoProvider, EditDepthProvider, HydrateAuthProvider } from '@payloadcms/ui'\nimport {\n RenderComponent,\n formatAdminURL,\n getCreateMappedComponent,\n isEditing as getIsEditing,\n} from '@payloadcms/ui/shared'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React from 'react'\n\nimport type { GenerateEditViewMetadata } from './getMetaBySegment.js'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { NotFoundView } from '../NotFound/index.js'\nimport { getDocumentData } from './getDocumentData.js'\nimport { getDocumentPermissions } from './getDocumentPermissions.js'\nimport { getMetaBySegment } from './getMetaBySegment.js'\nimport { getViewsFromConfig } from './getViewsFromConfig.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async (args) => getMetaBySegment(args)\n\nexport const Document: React.FC<AdminViewProps> = async ({\n importMap,\n initPageResult,\n params,\n searchParams,\n}) => {\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: {\n config,\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n },\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const segments = Array.isArray(params?.segments) ? params.segments : []\n const collectionSlug = collectionConfig?.slug || undefined\n const globalSlug = globalConfig?.slug || undefined\n\n const isEditing = getIsEditing({ id, collectionSlug, globalSlug })\n\n let RootViewOverride: MappedComponent<ServerSideEditViewProps>\n let CustomView: MappedComponent<ServerSideEditViewProps>\n let DefaultView: MappedComponent<ServerSideEditViewProps>\n let ErrorView: MappedComponent<AdminViewProps>\n\n let apiURL: string\n\n const { data, formState } = await getDocumentData({\n id,\n collectionConfig,\n globalConfig,\n locale,\n req,\n })\n\n const { docPermissions, hasPublishPermission, hasSavePermission } = await getDocumentPermissions({\n id,\n collectionConfig,\n data,\n globalConfig,\n req,\n })\n\n const createMappedComponent = getCreateMappedComponent({\n importMap,\n serverProps: {\n i18n,\n initPageResult,\n locale,\n params,\n payload,\n permissions,\n routeSegments: segments,\n searchParams,\n user,\n },\n })\n\n if (collectionConfig) {\n if (!visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug)) {\n notFound()\n }\n\n const params = new URLSearchParams()\n if (collectionConfig.versions?.drafts) {\n params.append('draft', 'true')\n }\n if (locale?.code) {\n params.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${params.toString()}`\n\n apiURL = `${serverURL}${apiRoute}/${collectionSlug}/${id}${apiQueryParams}`\n\n RootViewOverride =\n collectionConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in collectionConfig.admin.components.views.edit.root\n ? createMappedComponent(\n collectionConfig?.admin?.components?.views?.edit?.root?.Component as EditViewComponent, // some type info gets lost from Config => SanitizedConfig due to our usage of Deep type operations from ts-essentials. Despite .Component being defined as EditViewComponent, this info is lost and we need cast it here.\n undefined,\n undefined,\n 'collectionConfig?.admin?.components?.views?.edit?.root',\n )\n : null\n\n if (!RootViewOverride) {\n const collectionViews = getViewsFromConfig({\n collectionConfig,\n config,\n docPermissions,\n routeSegments: segments,\n })\n\n CustomView = createMappedComponent(\n collectionViews?.CustomView?.payloadComponent,\n undefined,\n collectionViews?.CustomView?.Component,\n 'collectionViews?.CustomView.payloadComponent',\n )\n\n DefaultView = createMappedComponent(\n collectionViews?.DefaultView?.payloadComponent,\n undefined,\n collectionViews?.DefaultView?.Component,\n 'collectionViews?.DefaultView.payloadComponent',\n )\n\n ErrorView = createMappedComponent(\n collectionViews?.ErrorView?.payloadComponent,\n undefined,\n collectionViews?.ErrorView?.Component,\n 'collectionViews?.ErrorView.payloadComponent',\n )\n }\n\n if (!CustomView && !DefaultView && !RootViewOverride && !ErrorView) {\n ErrorView = createMappedComponent(undefined, undefined, NotFoundView, 'NotFoundView')\n }\n }\n\n if (globalConfig) {\n if (!visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)) {\n notFound()\n }\n\n const params = new URLSearchParams({\n locale: locale?.code,\n })\n\n if (globalConfig.versions?.drafts) {\n params.append('draft', 'true')\n }\n\n if (locale?.code) {\n params.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${params.toString()}`\n\n apiURL = `${serverURL}${apiRoute}/${globalSlug}${apiQueryParams}`\n\n RootViewOverride =\n globalConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in globalConfig.admin.components.views.edit.root\n ? createMappedComponent(\n globalConfig?.admin?.components?.views?.edit?.root?.Component as EditViewComponent, // some type info gets lost from Config => SanitizedConfig due to our usage of Deep type operations from ts-essentials. Despite .Component being defined as EditViewComponent, this info is lost and we need cast it here.\n undefined,\n undefined,\n 'globalConfig?.admin?.components?.views?.edit?.root',\n )\n : null\n\n if (!RootViewOverride) {\n const globalViews = getViewsFromConfig({\n config,\n docPermissions,\n globalConfig,\n routeSegments: segments,\n })\n\n CustomView = createMappedComponent(\n globalViews?.CustomView?.payloadComponent,\n undefined,\n globalViews?.CustomView?.Component,\n 'globalViews?.CustomView.payloadComponent',\n )\n\n DefaultView = createMappedComponent(\n globalViews?.DefaultView?.payloadComponent,\n undefined,\n globalViews?.DefaultView?.Component,\n 'globalViews?.DefaultView.payloadComponent',\n )\n\n ErrorView = createMappedComponent(\n globalViews?.ErrorView?.payloadComponent,\n undefined,\n globalViews?.ErrorView?.Component,\n 'globalViews?.ErrorView.payloadComponent',\n )\n\n if (!CustomView && !DefaultView && !RootViewOverride && !ErrorView) {\n ErrorView = createMappedComponent(undefined, undefined, NotFoundView, 'NotFoundView')\n }\n }\n }\n\n /**\n * Handle case where autoSave is enabled and the document is being created\n * => create document and redirect\n */\n const shouldAutosave =\n hasSavePermission &&\n ((collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave))\n const validateDraftData =\n collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.validate\n\n if (shouldAutosave && !validateDraftData && !id && collectionSlug) {\n const doc = await payload.create({\n collection: collectionSlug,\n data: {},\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale: locale?.code,\n req,\n user,\n })\n\n if (doc?.id) {\n const redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${doc.id}`,\n serverURL,\n })\n redirect(redirectURL)\n } else {\n notFound()\n }\n }\n\n return (\n <DocumentInfoProvider\n apiURL={apiURL}\n collectionSlug={collectionConfig?.slug}\n disableActions={false}\n docPermissions={docPermissions}\n globalSlug={globalConfig?.slug}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n initialData={data}\n initialState={formState}\n isEditing={isEditing}\n >\n {!RootViewOverride && (\n <DocumentHeader\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n i18n={i18n}\n payload={payload}\n permissions={permissions}\n />\n )}\n <HydrateAuthProvider permissions={permissions} />\n {/**\n * After bumping the Next.js canary to 104, and React to 19.0.0-rc-06d0b89e-20240801\" we have to deepCopy the permissions object (https://github.com/payloadcms/payload/pull/7541).\n * If both HydrateClientUser and RenderCustomComponent receive the same permissions object (same object reference), we get a\n * \"TypeError: Cannot read properties of undefined (reading '$$typeof')\" error when loading up some version views - for example a versions\n * view in the draft-posts collection of the versions test suite. RenderCustomComponent is what renders the versions view.\n *\n * // TODO: Revisit this in the future and figure out why this is happening. Might be a React/Next.js bug. We don't know why it happens, and a future React/Next version might unbreak this (keep an eye on this and remove deepCopyObjectSimple if that's the case)\n */}\n <EditDepthProvider\n depth={1}\n key={`${collectionSlug || globalSlug}${locale?.code ? `-${locale?.code}` : ''}`}\n >\n {ErrorView ? (\n <RenderComponent mappedComponent={ErrorView} />\n ) : (\n <RenderComponent\n mappedComponent={\n RootViewOverride ? RootViewOverride : CustomView ? CustomView : DefaultView\n }\n />\n )}\n </EditDepthProvider>\n </DocumentInfoProvider>\n )\n}\n"],"names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","RenderComponent","formatAdminURL","getCreateMappedComponent","isEditing","getIsEditing","notFound","redirect","React","DocumentHeader","NotFoundView","getDocumentData","getDocumentPermissions","getMetaBySegment","getViewsFromConfig","generateMetadata","args","Document","importMap","initPageResult","params","searchParams","collectionConfig","docID","id","globalConfig","locale","permissions","req","i18n","payload","config","routes","admin","adminRoute","api","apiRoute","serverURL","user","visibleEntities","segments","Array","isArray","collectionSlug","slug","undefined","globalSlug","RootViewOverride","CustomView","DefaultView","ErrorView","apiURL","data","formState","docPermissions","hasPublishPermission","hasSavePermission","createMappedComponent","serverProps","routeSegments","collections","find","visibleSlug","URLSearchParams","versions","drafts","append","code","apiQueryParams","toString","components","views","edit","root","Component","collectionViews","payloadComponent","globals","globalViews","shouldAutosave","autosave","validateDraftData","validate","doc","create","collection","depth","draft","fallbackLocale","redirectURL","path","disableActions","initialData","initialState","mappedComponent"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/next",
3
- "version": "3.0.0-beta.79",
3
+ "version": "3.0.0-beta.81",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -63,9 +63,9 @@
63
63
  "sonner": "^1.5.0",
64
64
  "uuid": "10.0.0",
65
65
  "ws": "^8.16.0",
66
- "@payloadcms/ui": "3.0.0-beta.79",
67
- "@payloadcms/translations": "3.0.0-beta.79",
68
- "@payloadcms/graphql": "3.0.0-beta.79"
66
+ "@payloadcms/graphql": "3.0.0-beta.81",
67
+ "@payloadcms/ui": "3.0.0-beta.81",
68
+ "@payloadcms/translations": "3.0.0-beta.81"
69
69
  },
70
70
  "devDependencies": {
71
71
  "@next/eslint-plugin-next": "^14.1.0",
@@ -78,12 +78,12 @@
78
78
  "esbuild-sass-plugin": "3.3.1",
79
79
  "swc-plugin-transform-remove-imports": "1.15.0",
80
80
  "@payloadcms/eslint-config": "3.0.0-beta.59",
81
- "payload": "3.0.0-beta.79"
81
+ "payload": "3.0.0-beta.81"
82
82
  },
83
83
  "peerDependencies": {
84
84
  "graphql": "^16.8.1",
85
85
  "next": "^15.0.0-canary.104",
86
- "payload": "3.0.0-beta.79"
86
+ "payload": "3.0.0-beta.81"
87
87
  },
88
88
  "engines": {
89
89
  "node": "^18.20.2 || >=20.9.0"