@payloadcms/next 3.0.0-beta.46 → 3.0.0-beta.47

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.
@@ -7,6 +7,7 @@ import { EditDepthProvider } from '@payloadcms/ui/providers/EditDepth';
7
7
  import { FormQueryParamsProvider } from '@payloadcms/ui/providers/FormQueryParams';
8
8
  import { isEditing as getIsEditing } from '@payloadcms/ui/utilities/isEditing';
9
9
  import { notFound, redirect } from 'next/navigation.js';
10
+ import QueryString from 'qs';
10
11
  import React from 'react';
11
12
  import { NotFoundView } from '../NotFound/index.js';
12
13
  import { getDocumentData } from './getDocumentData.js';
@@ -49,7 +50,13 @@ export const Document = async ({ initPageResult, params, searchParams })=>{
49
50
  notFound();
50
51
  }
51
52
  action = `${serverURL}${apiRoute}/${collectionSlug}${isEditing ? `/${id}` : ''}`;
52
- apiURL = `${serverURL}${apiRoute}/${collectionSlug}/${id}?locale=${locale.code}${collectionConfig.versions?.drafts ? '&draft=true' : ''}`;
53
+ const apiQueryParams = QueryString.stringify({
54
+ draft: collectionConfig.versions?.drafts ? 'true' : undefined,
55
+ locale: locale?.code
56
+ }, {
57
+ addQueryPrefix: true
58
+ });
59
+ apiURL = `${serverURL}${apiRoute}/${collectionSlug}/${id}${apiQueryParams}`;
53
60
  const editConfig = collectionConfig?.admin?.components?.views?.Edit;
54
61
  ViewOverride = typeof editConfig === 'function' ? editConfig : null;
55
62
  if (!ViewOverride) {
@@ -72,7 +79,13 @@ export const Document = async ({ initPageResult, params, searchParams })=>{
72
79
  notFound();
73
80
  }
74
81
  action = `${serverURL}${apiRoute}/globals/${globalSlug}`;
75
- apiURL = `${serverURL}${apiRoute}/${globalSlug}?locale=${locale.code}${globalConfig.versions?.drafts ? '&draft=true' : ''}`;
82
+ const apiQueryParams = QueryString.stringify({
83
+ draft: globalConfig.versions?.drafts ? 'true' : undefined,
84
+ locale: locale?.code
85
+ }, {
86
+ addQueryPrefix: true
87
+ });
88
+ apiURL = `${serverURL}${apiRoute}/${globalSlug}${apiQueryParams}`;
76
89
  const editConfig = globalConfig?.admin?.components?.views?.Edit;
77
90
  ViewOverride = typeof editConfig === 'function' ? editConfig : null;
78
91
  if (!ViewOverride) {
@@ -102,7 +115,7 @@ export const Document = async ({ initPageResult, params, searchParams })=>{
102
115
  depth: 0,
103
116
  draft: true,
104
117
  fallbackLocale: null,
105
- locale: locale.code,
118
+ locale: locale?.code,
106
119
  req,
107
120
  user
108
121
  });
@@ -150,7 +163,7 @@ export const Document = async ({ initPageResult, params, searchParams })=>{
150
163
  initialParams: {
151
164
  depth: 0,
152
165
  'fallback-locale': 'null',
153
- locale: locale.code,
166
+ locale: locale?.code,
154
167
  uploadEdits: undefined
155
168
  },
156
169
  children: ErrorView ? /*#__PURE__*/ _jsx(ErrorView, {
@@ -171,7 +184,7 @@ export const Document = async ({ initPageResult, params, searchParams })=>{
171
184
  }
172
185
  })
173
186
  })
174
- }, `${collectionSlug || globalSlug}-${locale.code}`)
187
+ }, `${collectionSlug || globalSlug}${locale?.code ? `-${locale?.code}` : ''}`)
175
188
  ]
176
189
  });
177
190
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type { EditViewComponent } from 'payload/config'\nimport type { AdminViewComponent, ServerSideEditViewProps } from 'payload/types'\nimport type { AdminViewProps } from 'payload/types'\n\nimport { DocumentHeader } from '@payloadcms/ui/elements/DocumentHeader'\nimport { HydrateClientUser } from '@payloadcms/ui/elements/HydrateClientUser'\nimport { RenderCustomComponent } from '@payloadcms/ui/elements/RenderCustomComponent'\nimport { DocumentInfoProvider } from '@payloadcms/ui/providers/DocumentInfo'\nimport { EditDepthProvider } from '@payloadcms/ui/providers/EditDepth'\nimport { FormQueryParamsProvider } from '@payloadcms/ui/providers/FormQueryParams'\nimport { isEditing as getIsEditing } from '@payloadcms/ui/utilities/isEditing'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React from 'react'\n\nimport type { GenerateEditViewMetadata } from './getMetaBySegment.js'\n\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 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: EditViewComponent\n let CustomView: EditViewComponent\n let DefaultView: EditViewComponent\n let ErrorView: AdminViewComponent\n\n let apiURL: string\n let action: 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 if (collectionConfig) {\n if (!visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug)) {\n notFound()\n }\n\n action = `${serverURL}${apiRoute}/${collectionSlug}${isEditing ? `/${id}` : ''}`\n\n apiURL = `${serverURL}${apiRoute}/${collectionSlug}/${id}?locale=${locale.code}${\n collectionConfig.versions?.drafts ? '&draft=true' : ''\n }`\n\n const editConfig = collectionConfig?.admin?.components?.views?.Edit\n ViewOverride = typeof editConfig === 'function' ? editConfig : null\n\n if (!ViewOverride) {\n const collectionViews = getViewsFromConfig({\n collectionConfig,\n config,\n docPermissions,\n routeSegments: segments,\n })\n\n CustomView = collectionViews?.CustomView\n DefaultView = collectionViews?.DefaultView\n ErrorView = collectionViews?.ErrorView\n }\n\n if (!CustomView && !DefaultView && !ViewOverride && !ErrorView) {\n ErrorView = NotFoundView\n }\n }\n\n if (globalConfig) {\n if (!visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)) {\n notFound()\n }\n\n action = `${serverURL}${apiRoute}/globals/${globalSlug}`\n\n apiURL = `${serverURL}${apiRoute}/${globalSlug}?locale=${locale.code}${\n globalConfig.versions?.drafts ? '&draft=true' : ''\n }`\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 = globalViews?.CustomView\n DefaultView = globalViews?.DefaultView\n ErrorView = globalViews?.ErrorView\n\n if (!CustomView && !DefaultView && !ViewOverride && !ErrorView) {\n ErrorView = 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 = `${serverURL}${adminRoute}/collections/${collectionSlug}/${doc.id}`\n redirect(redirectURL)\n } else {\n notFound()\n }\n }\n\n const viewComponentProps: ServerSideEditViewProps = {\n initPageResult,\n params,\n routeSegments: segments,\n searchParams,\n }\n\n return (\n <DocumentInfoProvider\n action={action}\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 config={payload.config}\n globalConfig={globalConfig}\n i18n={i18n}\n permissions={permissions}\n />\n )}\n <HydrateClientUser permissions={permissions} user={user} />\n <EditDepthProvider depth={1} key={`${collectionSlug || globalSlug}-${locale.code}`}>\n <FormQueryParamsProvider\n initialParams={{\n depth: 0,\n 'fallback-locale': 'null',\n locale: locale.code,\n uploadEdits: undefined,\n }}\n >\n {ErrorView ? (\n <ErrorView initPageResult={initPageResult} searchParams={searchParams} />\n ) : (\n <RenderCustomComponent\n CustomComponent={ViewOverride || CustomView}\n DefaultComponent={DefaultView}\n componentProps={viewComponentProps}\n serverOnlyProps={{\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }}\n />\n )}\n </FormQueryParamsProvider>\n </EditDepthProvider>\n </DocumentInfoProvider>\n )\n}\n"],"names":["DocumentHeader","HydrateClientUser","RenderCustomComponent","DocumentInfoProvider","EditDepthProvider","FormQueryParamsProvider","isEditing","getIsEditing","notFound","redirect","React","NotFoundView","getDocumentData","getDocumentPermissions","getMetaBySegment","getViewsFromConfig","generateMetadata","args","Document","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","action","data","formState","docPermissions","hasPublishPermission","hasSavePermission","collections","find","visibleSlug","code","versions","drafts","editConfig","components","views","Edit","collectionViews","routeSegments","globals","globalViews","shouldAutosave","autosave","validateDraftData","validate","doc","create","collection","depth","draft","fallbackLocale","redirectURL","viewComponentProps","disableActions","initialData","initialState","initialParams","uploadEdits","CustomComponent","DefaultComponent","componentProps","serverOnlyProps"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type { EditViewComponent } from 'payload/config'\nimport type { AdminViewComponent, ServerSideEditViewProps } from 'payload/types'\nimport type { AdminViewProps } from 'payload/types'\n\nimport { DocumentHeader } from '@payloadcms/ui/elements/DocumentHeader'\nimport { HydrateClientUser } from '@payloadcms/ui/elements/HydrateClientUser'\nimport { RenderCustomComponent } from '@payloadcms/ui/elements/RenderCustomComponent'\nimport { DocumentInfoProvider } from '@payloadcms/ui/providers/DocumentInfo'\nimport { EditDepthProvider } from '@payloadcms/ui/providers/EditDepth'\nimport { FormQueryParamsProvider } from '@payloadcms/ui/providers/FormQueryParams'\nimport { isEditing as getIsEditing } from '@payloadcms/ui/utilities/isEditing'\nimport { notFound, redirect } from 'next/navigation.js'\nimport QueryString from 'qs'\nimport React from 'react'\n\nimport type { GenerateEditViewMetadata } from './getMetaBySegment.js'\n\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 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: EditViewComponent\n let CustomView: EditViewComponent\n let DefaultView: EditViewComponent\n let ErrorView: AdminViewComponent\n\n let apiURL: string\n let action: 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 if (collectionConfig) {\n if (!visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug)) {\n notFound()\n }\n\n action = `${serverURL}${apiRoute}/${collectionSlug}${isEditing ? `/${id}` : ''}`\n const apiQueryParams = QueryString.stringify(\n {\n draft: collectionConfig.versions?.drafts ? 'true' : undefined,\n locale: locale?.code,\n },\n { addQueryPrefix: true },\n )\n apiURL = `${serverURL}${apiRoute}/${collectionSlug}/${id}${apiQueryParams}`\n\n const editConfig = collectionConfig?.admin?.components?.views?.Edit\n ViewOverride = typeof editConfig === 'function' ? editConfig : null\n\n if (!ViewOverride) {\n const collectionViews = getViewsFromConfig({\n collectionConfig,\n config,\n docPermissions,\n routeSegments: segments,\n })\n\n CustomView = collectionViews?.CustomView\n DefaultView = collectionViews?.DefaultView\n ErrorView = collectionViews?.ErrorView\n }\n\n if (!CustomView && !DefaultView && !ViewOverride && !ErrorView) {\n ErrorView = NotFoundView\n }\n }\n\n if (globalConfig) {\n if (!visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)) {\n notFound()\n }\n\n action = `${serverURL}${apiRoute}/globals/${globalSlug}`\n\n const apiQueryParams = QueryString.stringify(\n {\n draft: globalConfig.versions?.drafts ? 'true' : undefined,\n locale: locale?.code,\n },\n { addQueryPrefix: true },\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 = globalViews?.CustomView\n DefaultView = globalViews?.DefaultView\n ErrorView = globalViews?.ErrorView\n\n if (!CustomView && !DefaultView && !ViewOverride && !ErrorView) {\n ErrorView = 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 = `${serverURL}${adminRoute}/collections/${collectionSlug}/${doc.id}`\n redirect(redirectURL)\n } else {\n notFound()\n }\n }\n\n const viewComponentProps: ServerSideEditViewProps = {\n initPageResult,\n params,\n routeSegments: segments,\n searchParams,\n }\n\n return (\n <DocumentInfoProvider\n action={action}\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 config={payload.config}\n globalConfig={globalConfig}\n i18n={i18n}\n permissions={permissions}\n />\n )}\n <HydrateClientUser permissions={permissions} user={user} />\n <EditDepthProvider\n depth={1}\n key={`${collectionSlug || globalSlug}${locale?.code ? `-${locale?.code}` : ''}`}\n >\n <FormQueryParamsProvider\n initialParams={{\n depth: 0,\n 'fallback-locale': 'null',\n locale: locale?.code,\n uploadEdits: undefined,\n }}\n >\n {ErrorView ? (\n <ErrorView initPageResult={initPageResult} searchParams={searchParams} />\n ) : (\n <RenderCustomComponent\n CustomComponent={ViewOverride || CustomView}\n DefaultComponent={DefaultView}\n componentProps={viewComponentProps}\n serverOnlyProps={{\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }}\n />\n )}\n </FormQueryParamsProvider>\n </EditDepthProvider>\n </DocumentInfoProvider>\n )\n}\n"],"names":["DocumentHeader","HydrateClientUser","RenderCustomComponent","DocumentInfoProvider","EditDepthProvider","FormQueryParamsProvider","isEditing","getIsEditing","notFound","redirect","QueryString","React","NotFoundView","getDocumentData","getDocumentPermissions","getMetaBySegment","getViewsFromConfig","generateMetadata","args","Document","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","action","data","formState","docPermissions","hasPublishPermission","hasSavePermission","collections","find","visibleSlug","apiQueryParams","stringify","draft","versions","drafts","code","addQueryPrefix","editConfig","components","views","Edit","collectionViews","routeSegments","globals","globalViews","shouldAutosave","autosave","validateDraftData","validate","doc","create","collection","depth","fallbackLocale","redirectURL","viewComponentProps","disableActions","initialData","initialState","initialParams","uploadEdits","CustomComponent","DefaultComponent","componentProps","serverOnlyProps"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import type { CollectionPermission, GlobalPermission } from 'payload/auth';
2
- import type { OptionObject } from 'payload/types';
3
- import type { Document } from 'payload/types';
2
+ import type { Document, OptionObject } from 'payload/types';
4
3
  export type CompareOption = {
5
4
  label: string;
6
5
  options?: CompareOption[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7C,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,GAAG,EAAE,QAAQ,CAAA;IACb,cAAc,EAAE,oBAAoB,GAAG,gBAAgB,CAAA;IACvD,oBAAoB,EAAE,QAAQ,CAAA;IAC9B,aAAa,EAAE,YAAY,EAAE,CAAA;IAC7B,aAAa,EAAE,QAAQ,CAAA;IACvB,YAAY,EAAE,QAAQ,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAG,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5D,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,GAAG,EAAE,QAAQ,CAAA;IACb,cAAc,EAAE,oBAAoB,GAAG,gBAAgB,CAAA;IACvD,oBAAoB,EAAE,QAAQ,CAAA;IAC9B,aAAa,EAAE,YAAY,EAAE,CAAA;IAC7B,aAAa,EAAE,QAAQ,CAAA;IACvB,YAAY,EAAE,QAAQ,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/Version/Default/types.ts"],"sourcesContent":["import type { CollectionPermission, GlobalPermission } from 'payload/auth'\nimport type { OptionObject } from 'payload/types'\nimport type { Document } from 'payload/types'\n\nexport type CompareOption = {\n label: string\n options?: CompareOption[]\n relationTo?: string\n value: string\n}\n\nexport type DefaultVersionsViewProps = {\n doc: Document\n docPermissions: CollectionPermission | GlobalPermission\n initialComparisonDoc: Document\n localeOptions: OptionObject[]\n mostRecentDoc: Document\n publishedDoc: Document\n versionID?: string\n}\n"],"names":[],"rangeMappings":"","mappings":"AAWA,WAQC"}
1
+ {"version":3,"sources":["../../../../src/views/Version/Default/types.ts"],"sourcesContent":["import type { CollectionPermission, GlobalPermission } from 'payload/auth'\nimport type { Document , OptionObject } from 'payload/types'\n\nexport type CompareOption = {\n label: string\n options?: CompareOption[]\n relationTo?: string\n value: string\n}\n\nexport type DefaultVersionsViewProps = {\n doc: Document\n docPermissions: CollectionPermission | GlobalPermission\n initialComparisonDoc: Document\n localeOptions: OptionObject[]\n mostRecentDoc: Document\n publishedDoc: Document\n versionID?: string\n}\n"],"names":[],"rangeMappings":"","mappings":"AAUA,WAQC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/next",
3
- "version": "3.0.0-beta.46",
3
+ "version": "3.0.0-beta.47",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -42,9 +42,9 @@
42
42
  "sass": "1.77.4",
43
43
  "sonner": "^1.5.0",
44
44
  "ws": "^8.16.0",
45
- "@payloadcms/graphql": "3.0.0-beta.46",
46
- "@payloadcms/ui": "3.0.0-beta.46",
47
- "@payloadcms/translations": "3.0.0-beta.46"
45
+ "@payloadcms/graphql": "3.0.0-beta.47",
46
+ "@payloadcms/translations": "3.0.0-beta.47",
47
+ "@payloadcms/ui": "3.0.0-beta.47"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@next/eslint-plugin-next": "^14.1.0",
@@ -63,13 +63,13 @@
63
63
  "terser-webpack-plugin": "^5.3.10",
64
64
  "webpack": "^5.78.0",
65
65
  "webpack-cli": "^5.1.4",
66
- "payload": "3.0.0-beta.46",
67
- "@payloadcms/eslint-config": "1.1.1"
66
+ "@payloadcms/eslint-config": "1.1.1",
67
+ "payload": "3.0.0-beta.47"
68
68
  },
69
69
  "peerDependencies": {
70
70
  "graphql": "^16.8.1",
71
71
  "next": "^15.0.0-rc.0",
72
- "payload": "3.0.0-beta.46"
72
+ "payload": "3.0.0-beta.47"
73
73
  },
74
74
  "engines": {
75
75
  "node": "^18.20.2 || >=20.9.0"