@payloadcms/next 3.5.0 → 3.5.1-canary.4044ffb

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,"file":"preview.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/preview.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAA;AAK/D,eAAO,MAAM,OAAO,EAAE,4BAiDrB,CAAA"}
1
+ {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/preview.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAA;AAK/D,eAAO,MAAM,OAAO,EAAE,4BA4CrB,CAAA"}
@@ -12,7 +12,7 @@ export const preview = async ({
12
12
  searchParams
13
13
  } = req;
14
14
  const depth = searchParams.get('depth');
15
- const result = await findByIDOperation({
15
+ const doc = await findByIDOperation({
16
16
  id,
17
17
  collection,
18
18
  depth: isNumber(depth) ? Number(depth) : undefined,
@@ -24,15 +24,11 @@ export const preview = async ({
24
24
  const token = extractJWT(req);
25
25
  if (typeof generatePreviewURL === 'function') {
26
26
  try {
27
- previewURL = await generatePreviewURL(result, {
27
+ previewURL = await generatePreviewURL(doc, {
28
28
  locale: req.locale,
29
29
  req,
30
30
  token
31
31
  });
32
- // Support relative URLs by prepending the origin, if necessary
33
- if (previewURL && previewURL.startsWith('/')) {
34
- previewURL = `${req.protocol}//${req.host}${previewURL}`;
35
- }
36
32
  } catch (err) {
37
33
  return routeError({
38
34
  collection,
@@ -1 +1 @@
1
- {"version":3,"file":"preview.js","names":["httpStatus","extractJWT","findByIDOperation","isNumber","headersWithCors","routeError","preview","id","collection","req","searchParams","depth","get","result","Number","undefined","draft","previewURL","generatePreviewURL","payload","config","collections","find","slug","admin","token","locale","startsWith","protocol","host","err","Response","json","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/collections/preview.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { extractJWT, findByIDOperation } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { CollectionRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { routeError } from '../routeError.js'\n\nexport const preview: CollectionRouteHandlerWithID = async ({ id, collection, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n\n const result = await findByIDOperation({\n id,\n collection,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft: searchParams.get('draft') === 'true',\n req,\n })\n\n let previewURL: string\n\n const generatePreviewURL = req.payload.config.collections.find(\n (config) => config.slug === collection.config.slug,\n )?.admin?.preview\n\n const token = extractJWT(req)\n\n if (typeof generatePreviewURL === 'function') {\n try {\n previewURL = await generatePreviewURL(result, {\n locale: req.locale,\n req,\n token,\n })\n\n // Support relative URLs by prepending the origin, if necessary\n if (previewURL && previewURL.startsWith('/')) {\n previewURL = `${req.protocol}//${req.host}${previewURL}`\n }\n } catch (err) {\n return routeError({\n collection,\n config: req.payload.config,\n err,\n req,\n })\n }\n }\n\n return Response.json(previewURL, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,UAAU,EAAEC,iBAAiB,QAAQ;AAC9C,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAChC,SAASC,UAAU,QAAQ;AAE3B,OAAO,MAAMC,OAAA,GAAwC,MAAAA,CAAO;EAAEC,EAAE;EAAEC,UAAU;EAAEC;AAAG,CAAE;EACjF,MAAM;IAAEC;EAAY,CAAE,GAAGD,GAAA;EACzB,MAAME,KAAA,GAAQD,YAAA,CAAaE,GAAG,CAAC;EAE/B,MAAMC,MAAA,GAAS,MAAMX,iBAAA,CAAkB;IACrCK,EAAA;IACAC,UAAA;IACAG,KAAA,EAAOR,QAAA,CAASQ,KAAA,IAASG,MAAA,CAAOH,KAAA,IAASI,SAAA;IACzCC,KAAA,EAAON,YAAA,CAAaE,GAAG,CAAC,aAAa;IACrCH;EACF;EAEA,IAAIQ,UAAA;EAEJ,MAAMC,kBAAA,GAAqBT,GAAA,CAAIU,OAAO,CAACC,MAAM,CAACC,WAAW,CAACC,IAAI,CAC3DF,MAAA,IAAWA,MAAA,CAAOG,IAAI,KAAKf,UAAA,CAAWY,MAAM,CAACG,IAAI,GACjDC,KAAA,EAAOlB,OAAA;EAEV,MAAMmB,KAAA,GAAQxB,UAAA,CAAWQ,GAAA;EAEzB,IAAI,OAAOS,kBAAA,KAAuB,YAAY;IAC5C,IAAI;MACFD,UAAA,GAAa,MAAMC,kBAAA,CAAmBL,MAAA,EAAQ;QAC5Ca,MAAA,EAAQjB,GAAA,CAAIiB,MAAM;QAClBjB,GAAA;QACAgB;MACF;MAEA;MACA,IAAIR,UAAA,IAAcA,UAAA,CAAWU,UAAU,CAAC,MAAM;QAC5CV,UAAA,GAAa,GAAGR,GAAA,CAAImB,QAAQ,KAAKnB,GAAA,CAAIoB,IAAI,GAAGZ,UAAA,EAAY;MAC1D;IACF,EAAE,OAAOa,GAAA,EAAK;MACZ,OAAOzB,UAAA,CAAW;QAChBG,UAAA;QACAY,MAAA,EAAQX,GAAA,CAAIU,OAAO,CAACC,MAAM;QAC1BU,GAAA;QACArB;MACF;IACF;EACF;EAEA,OAAOsB,QAAA,CAASC,IAAI,CAACf,UAAA,EAAY;IAC/BgB,OAAA,EAAS7B,eAAA,CAAgB;MACvB6B,OAAA,EAAS,IAAIC,OAAA;MACbzB;IACF;IACA0B,MAAA,EAAQnC,UAAA,CAAWoC;EACrB;AACF","ignoreList":[]}
1
+ {"version":3,"file":"preview.js","names":["httpStatus","extractJWT","findByIDOperation","isNumber","headersWithCors","routeError","preview","id","collection","req","searchParams","depth","get","doc","Number","undefined","draft","previewURL","generatePreviewURL","payload","config","collections","find","slug","admin","token","locale","err","Response","json","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/collections/preview.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { extractJWT, findByIDOperation } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { CollectionRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { routeError } from '../routeError.js'\n\nexport const preview: CollectionRouteHandlerWithID = async ({ id, collection, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n\n const doc = await findByIDOperation({\n id,\n collection,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft: searchParams.get('draft') === 'true',\n req,\n })\n\n let previewURL: string\n\n const generatePreviewURL = req.payload.config.collections.find(\n (config) => config.slug === collection.config.slug,\n )?.admin?.preview\n\n const token = extractJWT(req)\n\n if (typeof generatePreviewURL === 'function') {\n try {\n previewURL = await generatePreviewURL(doc, {\n locale: req.locale,\n req,\n token,\n })\n } catch (err) {\n return routeError({\n collection,\n config: req.payload.config,\n err,\n req,\n })\n }\n }\n\n return Response.json(previewURL, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,UAAU,EAAEC,iBAAiB,QAAQ;AAC9C,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAChC,SAASC,UAAU,QAAQ;AAE3B,OAAO,MAAMC,OAAA,GAAwC,MAAAA,CAAO;EAAEC,EAAE;EAAEC,UAAU;EAAEC;AAAG,CAAE;EACjF,MAAM;IAAEC;EAAY,CAAE,GAAGD,GAAA;EACzB,MAAME,KAAA,GAAQD,YAAA,CAAaE,GAAG,CAAC;EAE/B,MAAMC,GAAA,GAAM,MAAMX,iBAAA,CAAkB;IAClCK,EAAA;IACAC,UAAA;IACAG,KAAA,EAAOR,QAAA,CAASQ,KAAA,IAASG,MAAA,CAAOH,KAAA,IAASI,SAAA;IACzCC,KAAA,EAAON,YAAA,CAAaE,GAAG,CAAC,aAAa;IACrCH;EACF;EAEA,IAAIQ,UAAA;EAEJ,MAAMC,kBAAA,GAAqBT,GAAA,CAAIU,OAAO,CAACC,MAAM,CAACC,WAAW,CAACC,IAAI,CAC3DF,MAAA,IAAWA,MAAA,CAAOG,IAAI,KAAKf,UAAA,CAAWY,MAAM,CAACG,IAAI,GACjDC,KAAA,EAAOlB,OAAA;EAEV,MAAMmB,KAAA,GAAQxB,UAAA,CAAWQ,GAAA;EAEzB,IAAI,OAAOS,kBAAA,KAAuB,YAAY;IAC5C,IAAI;MACFD,UAAA,GAAa,MAAMC,kBAAA,CAAmBL,GAAA,EAAK;QACzCa,MAAA,EAAQjB,GAAA,CAAIiB,MAAM;QAClBjB,GAAA;QACAgB;MACF;IACF,EAAE,OAAOE,GAAA,EAAK;MACZ,OAAOtB,UAAA,CAAW;QAChBG,UAAA;QACAY,MAAA,EAAQX,GAAA,CAAIU,OAAO,CAACC,MAAM;QAC1BO,GAAA;QACAlB;MACF;IACF;EACF;EAEA,OAAOmB,QAAA,CAASC,IAAI,CAACZ,UAAA,EAAY;IAC/Ba,OAAA,EAAS1B,eAAA,CAAgB;MACvB0B,OAAA,EAAS,IAAIC,OAAA;MACbtB;IACF;IACAuB,MAAA,EAAQhC,UAAA,CAAWiC;EACrB;AACF","ignoreList":[]}
@@ -11,7 +11,7 @@ export const preview = async ({
11
11
  searchParams
12
12
  } = req;
13
13
  const depth = searchParams.get('depth');
14
- const result = await findOneOperation({
14
+ const doc = await findOneOperation({
15
15
  slug: globalConfig.slug,
16
16
  depth: isNumber(depth) ? Number(depth) : undefined,
17
17
  draft: searchParams.get('draft') === 'true',
@@ -23,7 +23,7 @@ export const preview = async ({
23
23
  const token = extractJWT(req);
24
24
  if (typeof generatePreviewURL === 'function') {
25
25
  try {
26
- previewURL = await generatePreviewURL(result, {
26
+ previewURL = await generatePreviewURL(doc, {
27
27
  locale: req.locale,
28
28
  req,
29
29
  token
@@ -1 +1 @@
1
- {"version":3,"file":"preview.js","names":["httpStatus","extractJWT","findOneOperation","isNumber","headersWithCors","routeError","preview","globalConfig","req","searchParams","depth","get","result","slug","Number","undefined","draft","previewURL","generatePreviewURL","payload","config","globals","find","admin","token","locale","err","Response","json","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/globals/preview.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { extractJWT, findOneOperation } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { routeError } from '../routeError.js'\n\nexport const preview: GlobalRouteHandler = async ({ globalConfig, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n\n const result = await findOneOperation({\n slug: globalConfig.slug,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft: searchParams.get('draft') === 'true',\n globalConfig,\n req,\n })\n\n let previewURL: string\n\n const generatePreviewURL = req.payload.config.globals.find(\n (config) => config.slug === globalConfig.slug,\n )?.admin?.preview\n\n const token = extractJWT(req)\n\n if (typeof generatePreviewURL === 'function') {\n try {\n previewURL = await generatePreviewURL(result, {\n locale: req.locale,\n req,\n token,\n })\n } catch (err) {\n return routeError({\n config: req.payload.config,\n err,\n req,\n })\n }\n }\n\n return Response.json(previewURL, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,UAAU,EAAEC,gBAAgB,QAAQ;AAC7C,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAChC,SAASC,UAAU,QAAQ;AAE3B,OAAO,MAAMC,OAAA,GAA8B,MAAAA,CAAO;EAAEC,YAAY;EAAEC;AAAG,CAAE;EACrE,MAAM;IAAEC;EAAY,CAAE,GAAGD,GAAA;EACzB,MAAME,KAAA,GAAQD,YAAA,CAAaE,GAAG,CAAC;EAE/B,MAAMC,MAAA,GAAS,MAAMV,gBAAA,CAAiB;IACpCW,IAAA,EAAMN,YAAA,CAAaM,IAAI;IACvBH,KAAA,EAAOP,QAAA,CAASO,KAAA,IAASI,MAAA,CAAOJ,KAAA,IAASK,SAAA;IACzCC,KAAA,EAAOP,YAAA,CAAaE,GAAG,CAAC,aAAa;IACrCJ,YAAA;IACAC;EACF;EAEA,IAAIS,UAAA;EAEJ,MAAMC,kBAAA,GAAqBV,GAAA,CAAIW,OAAO,CAACC,MAAM,CAACC,OAAO,CAACC,IAAI,CACvDF,MAAA,IAAWA,MAAA,CAAOP,IAAI,KAAKN,YAAA,CAAaM,IAAI,GAC5CU,KAAA,EAAOjB,OAAA;EAEV,MAAMkB,KAAA,GAAQvB,UAAA,CAAWO,GAAA;EAEzB,IAAI,OAAOU,kBAAA,KAAuB,YAAY;IAC5C,IAAI;MACFD,UAAA,GAAa,MAAMC,kBAAA,CAAmBN,MAAA,EAAQ;QAC5Ca,MAAA,EAAQjB,GAAA,CAAIiB,MAAM;QAClBjB,GAAA;QACAgB;MACF;IACF,EAAE,OAAOE,GAAA,EAAK;MACZ,OAAOrB,UAAA,CAAW;QAChBe,MAAA,EAAQZ,GAAA,CAAIW,OAAO,CAACC,MAAM;QAC1BM,GAAA;QACAlB;MACF;IACF;EACF;EAEA,OAAOmB,QAAA,CAASC,IAAI,CAACX,UAAA,EAAY;IAC/BY,OAAA,EAASzB,eAAA,CAAgB;MACvByB,OAAA,EAAS,IAAIC,OAAA;MACbtB;IACF;IACAuB,MAAA,EAAQ/B,UAAA,CAAWgC;EACrB;AACF","ignoreList":[]}
1
+ {"version":3,"file":"preview.js","names":["httpStatus","extractJWT","findOneOperation","isNumber","headersWithCors","routeError","preview","globalConfig","req","searchParams","depth","get","doc","slug","Number","undefined","draft","previewURL","generatePreviewURL","payload","config","globals","find","admin","token","locale","err","Response","json","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/globals/preview.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { extractJWT, findOneOperation } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { routeError } from '../routeError.js'\n\nexport const preview: GlobalRouteHandler = async ({ globalConfig, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n\n const doc = await findOneOperation({\n slug: globalConfig.slug,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft: searchParams.get('draft') === 'true',\n globalConfig,\n req,\n })\n\n let previewURL: string\n\n const generatePreviewURL = req.payload.config.globals.find(\n (config) => config.slug === globalConfig.slug,\n )?.admin?.preview\n\n const token = extractJWT(req)\n\n if (typeof generatePreviewURL === 'function') {\n try {\n previewURL = await generatePreviewURL(doc, {\n locale: req.locale,\n req,\n token,\n })\n } catch (err) {\n return routeError({\n config: req.payload.config,\n err,\n req,\n })\n }\n }\n\n return Response.json(previewURL, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,UAAU,EAAEC,gBAAgB,QAAQ;AAC7C,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAChC,SAASC,UAAU,QAAQ;AAE3B,OAAO,MAAMC,OAAA,GAA8B,MAAAA,CAAO;EAAEC,YAAY;EAAEC;AAAG,CAAE;EACrE,MAAM;IAAEC;EAAY,CAAE,GAAGD,GAAA;EACzB,MAAME,KAAA,GAAQD,YAAA,CAAaE,GAAG,CAAC;EAE/B,MAAMC,GAAA,GAAM,MAAMV,gBAAA,CAAiB;IACjCW,IAAA,EAAMN,YAAA,CAAaM,IAAI;IACvBH,KAAA,EAAOP,QAAA,CAASO,KAAA,IAASI,MAAA,CAAOJ,KAAA,IAASK,SAAA;IACzCC,KAAA,EAAOP,YAAA,CAAaE,GAAG,CAAC,aAAa;IACrCJ,YAAA;IACAC;EACF;EAEA,IAAIS,UAAA;EAEJ,MAAMC,kBAAA,GAAqBV,GAAA,CAAIW,OAAO,CAACC,MAAM,CAACC,OAAO,CAACC,IAAI,CACvDF,MAAA,IAAWA,MAAA,CAAOP,IAAI,KAAKN,YAAA,CAAaM,IAAI,GAC5CU,KAAA,EAAOjB,OAAA;EAEV,MAAMkB,KAAA,GAAQvB,UAAA,CAAWO,GAAA;EAEzB,IAAI,OAAOU,kBAAA,KAAuB,YAAY;IAC5C,IAAI;MACFD,UAAA,GAAa,MAAMC,kBAAA,CAAmBN,GAAA,EAAK;QACzCa,MAAA,EAAQjB,GAAA,CAAIiB,MAAM;QAClBjB,GAAA;QACAgB;MACF;IACF,EAAE,OAAOE,GAAA,EAAK;MACZ,OAAOrB,UAAA,CAAW;QAChBe,MAAA,EAAQZ,GAAA,CAAIW,OAAO,CAACC,MAAM;QAC1BM,GAAA;QACAlB;MACF;IACF;EACF;EAEA,OAAOmB,QAAA,CAASC,IAAI,CAACX,UAAA,EAAY;IAC/BY,OAAA,EAASzB,eAAA,CAAgB;MACvByB,OAAA,EAAS,IAAIC,OAAA;MACbtB;IACF;IACAuB,MAAA,EAAQ/B,UAAA,CAAWgC;EACrB;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAA6C,MAAM,SAAS,CAAA;AAQ9F,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAcrE,eAAO,MAAM,gBAAgB,EAAE,wBAAiE,CAAA;AAKhG,eAAO,MAAM,cAAc,yKAWxB;IACD,wBAAwB,CAAC,EAAE,OAAO,CAAA;CACnC,GAAG,cAAc,KAAG,OAAO,CAAC;IAC3B,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CA4UA,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAc7C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAA6C,MAAM,SAAS,CAAA;AAO9F,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAcrE,eAAO,MAAM,gBAAgB,EAAE,wBAAiE,CAAA;AAKhG,eAAO,MAAM,cAAc,yKAWxB;IACD,wBAAwB,CAAC,EAAE,OAAO,CAAA;CACnC,GAAG,cAAc,KAAG,OAAO,CAAC;IAC3B,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CA4UA,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAc7C,CAAA"}
@@ -3,7 +3,6 @@ import { DocumentInfoProvider, EditDepthProvider, HydrateAuthProvider } from '@p
3
3
  import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
4
4
  import { formatAdminURL, isEditing as getIsEditing } from '@payloadcms/ui/shared';
5
5
  import { buildFormState } from '@payloadcms/ui/utilities/buildFormState';
6
- import { isRedirectError } from 'next/dist/client/components/redirect.js';
7
6
  import { notFound, redirect } from 'next/navigation.js';
8
7
  import React from 'react';
9
8
  import { DocumentHeader } from '../../elements/DocumentHeader/index.js';
@@ -322,7 +321,7 @@ export const Document = async args => {
322
321
  } = await renderDocument(args);
323
322
  return RenderedDocument;
324
323
  } catch (error) {
325
- if (isRedirectError(error)) {
324
+ if (error?.message === 'NEXT_REDIRECT') {
326
325
  throw error;
327
326
  }
328
327
  args.initPageResult.req.payload.logger.error(error);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","RenderServerComponent","formatAdminURL","isEditing","getIsEditing","buildFormState","isRedirectError","notFound","redirect","React","DocumentHeader","NotFoundView","getDocPreferences","getDocumentData","getDocumentPermissions","getIsLocked","getMetaBySegment","getVersions","getViewsFromConfig","renderDocumentSlots","generateMetadata","args","renderDocument","disableActions","drawerSlug","importMap","initialData","initPageResult","overrideEntityVisibility","params","redirectAfterDelete","redirectAfterDuplicate","searchParams","collectionConfig","docID","idFromArgs","globalConfig","locale","permissions","req","i18n","payload","config","routes","admin","adminRoute","api","apiRoute","serverURL","user","visibleEntities","segments","Array","isArray","collectionSlug","slug","undefined","globalSlug","id","RootViewOverride","CustomView","DefaultView","ErrorView","apiURL","doc","Error","docPreferences","docPermissions","hasPublishPermission","hasSavePermission","currentEditor","isLocked","lastUpdateTime","Promise","all","data","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","state","formState","code","fallbackLocale","operation","renderAllFields","schemaPath","serverProps","routeSegments","collections","find","visibleSlug","URLSearchParams","versions","drafts","append","apiQueryParams","toString","components","views","edit","root","Component","collectionViews","globals","globalViews","shouldAutosave","autosave","validateDraftData","validate","create","collection","depth","draft","redirectURL","path","documentSlots","clientProps","Document","_jsxs","initialState","_jsx","ComponentConfig","RenderedDocument","error","logger","message"],"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type { AdminViewProps, Data, PayloadComponent, ServerSideEditViewProps } from 'payload'\n\nimport { DocumentInfoProvider, EditDepthProvider, HydrateAuthProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { formatAdminURL, isEditing as getIsEditing } from '@payloadcms/ui/shared'\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport { isRedirectError } from 'next/dist/client/components/redirect.js'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React from 'react'\n\nimport type { GenerateEditViewMetadata } from './getMetaBySegment.js'\nimport type { ViewFromConfig } from './getViewsFromConfig.js'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { NotFoundView } from '../NotFound/index.js'\nimport { getDocPreferences } from './getDocPreferences.js'\nimport { getDocumentData } from './getDocumentData.js'\nimport { getDocumentPermissions } from './getDocumentPermissions.js'\nimport { getIsLocked } from './getIsLocked.js'\nimport { getMetaBySegment } from './getMetaBySegment.js'\nimport { getVersions } from './getVersions.js'\nimport { getViewsFromConfig } from './getViewsFromConfig.js'\nimport { renderDocumentSlots } from './renderDocumentSlots.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async (args) => getMetaBySegment(args)\n\n// This function will be responsible for rendering an Edit Document view\n// it will be called on the server for Edit page views as well as\n// called on-demand from document drawers\nexport const renderDocument = async ({\n disableActions,\n drawerSlug,\n importMap,\n initialData,\n initPageResult,\n overrideEntityVisibility,\n params,\n redirectAfterDelete,\n redirectAfterDuplicate,\n searchParams,\n}: {\n overrideEntityVisibility?: boolean\n} & AdminViewProps): Promise<{\n data: Data\n Document: React.ReactNode\n}> => {\n const {\n collectionConfig,\n docID: idFromArgs,\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 let isEditing = getIsEditing({ id: idFromArgs, collectionSlug, globalSlug })\n\n let RootViewOverride: PayloadComponent\n let CustomView: ViewFromConfig<ServerSideEditViewProps>\n let DefaultView: ViewFromConfig<ServerSideEditViewProps>\n let ErrorView: ViewFromConfig<AdminViewProps>\n\n let apiURL: string\n\n // Fetch the doc required for the view\n let doc =\n initialData ||\n (await getDocumentData({\n id: idFromArgs,\n collectionSlug,\n globalSlug,\n locale,\n payload,\n user,\n }))\n\n if (isEditing && !doc) {\n throw new Error('not-found')\n }\n\n const [\n docPreferences,\n { docPermissions, hasPublishPermission, hasSavePermission },\n { currentEditor, isLocked, lastUpdateTime },\n ] = await Promise.all([\n // Get document preferences\n getDocPreferences({\n id: idFromArgs,\n collectionSlug,\n globalSlug,\n payload,\n user,\n }),\n\n // Get permissions\n getDocumentPermissions({\n id: idFromArgs,\n collectionConfig,\n data: doc,\n globalConfig,\n req,\n }),\n\n // Fetch document lock state\n getIsLocked({\n id: idFromArgs,\n collectionConfig,\n globalConfig,\n isEditing,\n req,\n }),\n ])\n\n const [\n { hasPublishedDoc, mostRecentVersionIsAutosaved, unpublishedVersionCount, versionCount },\n { state: formState },\n ] = await Promise.all([\n getVersions({\n id: idFromArgs,\n collectionConfig,\n doc,\n docPermissions,\n globalConfig,\n locale: locale?.code,\n payload,\n user,\n }),\n buildFormState({\n id: idFromArgs,\n collectionSlug,\n data: doc,\n docPermissions,\n docPreferences,\n fallbackLocale: false,\n globalSlug,\n locale: locale?.code,\n operation: (collectionSlug && idFromArgs) || globalSlug ? 'update' : 'create',\n renderAllFields: true,\n req,\n schemaPath: collectionSlug || globalSlug,\n }),\n ])\n\n const serverProps: ServerSideEditViewProps = {\n doc,\n i18n,\n initPageResult,\n locale,\n params,\n payload,\n permissions,\n routeSegments: segments,\n searchParams,\n user,\n }\n\n if (collectionConfig) {\n if (\n !visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug) &&\n !overrideEntityVisibility\n ) {\n throw new Error('not-found')\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}/${idFromArgs}${apiQueryParams}`\n\n RootViewOverride =\n collectionConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in collectionConfig.admin.components.views.edit.root\n ? collectionConfig?.admin?.components?.views?.edit?.root?.Component\n : null\n\n if (!RootViewOverride) {\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 && !RootViewOverride && !ErrorView) {\n ErrorView = {\n Component: NotFoundView,\n }\n }\n }\n\n if (globalConfig) {\n if (!visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)) {\n throw new Error('not-found')\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 ? globalConfig?.admin?.components?.views?.edit?.root?.Component\n : null\n\n if (!RootViewOverride) {\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 && !RootViewOverride && !ErrorView) {\n ErrorView = {\n Component: NotFoundView,\n }\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\n const validateDraftData =\n collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.validate\n\n let id = idFromArgs\n\n if (shouldAutosave && !validateDraftData && !idFromArgs && collectionSlug) {\n doc = await payload.create({\n collection: collectionSlug,\n data: initialData || {},\n depth: 0,\n draft: true,\n fallbackLocale: false,\n locale: locale?.code,\n req,\n user,\n })\n\n if (doc?.id) {\n id = doc.id\n isEditing = getIsEditing({ id: doc.id, collectionSlug, globalSlug })\n\n if (!drawerSlug) {\n const redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${doc.id}`,\n serverURL,\n })\n\n redirect(redirectURL)\n }\n } else {\n throw new Error('not-found')\n }\n }\n\n const documentSlots = renderDocumentSlots({\n collectionConfig,\n globalConfig,\n hasSavePermission,\n permissions: docPermissions,\n req,\n })\n\n const clientProps = { formState, ...documentSlots }\n\n return {\n data: doc,\n Document: (\n <DocumentInfoProvider\n apiURL={apiURL}\n collectionSlug={collectionConfig?.slug}\n currentEditor={currentEditor}\n disableActions={disableActions ?? false}\n docPermissions={docPermissions}\n globalSlug={globalConfig?.slug}\n hasPublishedDoc={hasPublishedDoc}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n initialData={doc}\n initialState={formState}\n isEditing={isEditing}\n isLocked={isLocked}\n key={locale?.code}\n lastUpdateTime={lastUpdateTime}\n mostRecentVersionIsAutosaved={mostRecentVersionIsAutosaved}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n unpublishedVersionCount={unpublishedVersionCount}\n versionCount={versionCount}\n >\n {!RootViewOverride && !drawerSlug && (\n <DocumentHeader\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n i18n={i18n}\n payload={payload}\n permissions={permissions}\n />\n )}\n <HydrateAuthProvider permissions={permissions} />\n <EditDepthProvider>\n {ErrorView\n ? RenderServerComponent({\n clientProps,\n Component: ErrorView.ComponentConfig || ErrorView.Component,\n importMap,\n serverProps,\n })\n : RenderServerComponent({\n clientProps,\n Component: RootViewOverride\n ? RootViewOverride\n : CustomView?.ComponentConfig || CustomView?.Component\n ? CustomView?.ComponentConfig || CustomView?.Component\n : DefaultView?.ComponentConfig || DefaultView?.Component,\n importMap,\n serverProps,\n })}\n </EditDepthProvider>\n </DocumentInfoProvider>\n ),\n }\n}\n\nexport const Document: React.FC<AdminViewProps> = async (args) => {\n try {\n const { Document: RenderedDocument } = await renderDocument(args)\n return RenderedDocument\n } catch (error) {\n if (isRedirectError(error)) {\n throw error\n }\n args.initPageResult.req.payload.logger.error(error)\n\n if (error.message === 'not-found') {\n notFound()\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","RenderServerComponent","formatAdminURL","isEditing","getIsEditing","buildFormState","notFound","redirect","React","DocumentHeader","NotFoundView","getDocPreferences","getDocumentData","getDocumentPermissions","getIsLocked","getMetaBySegment","getVersions","getViewsFromConfig","renderDocumentSlots","generateMetadata","args","renderDocument","disableActions","drawerSlug","importMap","initialData","initPageResult","overrideEntityVisibility","params","redirectAfterDelete","redirectAfterDuplicate","searchParams","collectionConfig","docID","idFromArgs","globalConfig","locale","permissions","req","i18n","payload","config","routes","admin","adminRoute","api","apiRoute","serverURL","user","visibleEntities","segments","Array","isArray","collectionSlug","slug","undefined","globalSlug","id","RootViewOverride","CustomView","DefaultView","ErrorView","apiURL","doc","Error","docPreferences","docPermissions","hasPublishPermission","hasSavePermission","currentEditor","isLocked","lastUpdateTime","Promise","all","data","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","state","formState","code","fallbackLocale","operation","renderAllFields","schemaPath","serverProps","routeSegments","collections","find","visibleSlug","URLSearchParams","versions","drafts","append","apiQueryParams","toString","components","views","edit","root","Component","collectionViews","globals","globalViews","shouldAutosave","autosave","validateDraftData","validate","create","collection","depth","draft","redirectURL","path","documentSlots","clientProps","Document","_jsxs","initialState","_jsx","ComponentConfig","RenderedDocument","error","message","logger"],"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type { AdminViewProps, Data, PayloadComponent, ServerSideEditViewProps } from 'payload'\n\nimport { DocumentInfoProvider, EditDepthProvider, HydrateAuthProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { formatAdminURL, isEditing as getIsEditing } from '@payloadcms/ui/shared'\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React from 'react'\n\nimport type { GenerateEditViewMetadata } from './getMetaBySegment.js'\nimport type { ViewFromConfig } from './getViewsFromConfig.js'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { NotFoundView } from '../NotFound/index.js'\nimport { getDocPreferences } from './getDocPreferences.js'\nimport { getDocumentData } from './getDocumentData.js'\nimport { getDocumentPermissions } from './getDocumentPermissions.js'\nimport { getIsLocked } from './getIsLocked.js'\nimport { getMetaBySegment } from './getMetaBySegment.js'\nimport { getVersions } from './getVersions.js'\nimport { getViewsFromConfig } from './getViewsFromConfig.js'\nimport { renderDocumentSlots } from './renderDocumentSlots.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async (args) => getMetaBySegment(args)\n\n// This function will be responsible for rendering an Edit Document view\n// it will be called on the server for Edit page views as well as\n// called on-demand from document drawers\nexport const renderDocument = async ({\n disableActions,\n drawerSlug,\n importMap,\n initialData,\n initPageResult,\n overrideEntityVisibility,\n params,\n redirectAfterDelete,\n redirectAfterDuplicate,\n searchParams,\n}: {\n overrideEntityVisibility?: boolean\n} & AdminViewProps): Promise<{\n data: Data\n Document: React.ReactNode\n}> => {\n const {\n collectionConfig,\n docID: idFromArgs,\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 let isEditing = getIsEditing({ id: idFromArgs, collectionSlug, globalSlug })\n\n let RootViewOverride: PayloadComponent\n let CustomView: ViewFromConfig<ServerSideEditViewProps>\n let DefaultView: ViewFromConfig<ServerSideEditViewProps>\n let ErrorView: ViewFromConfig<AdminViewProps>\n\n let apiURL: string\n\n // Fetch the doc required for the view\n let doc =\n initialData ||\n (await getDocumentData({\n id: idFromArgs,\n collectionSlug,\n globalSlug,\n locale,\n payload,\n user,\n }))\n\n if (isEditing && !doc) {\n throw new Error('not-found')\n }\n\n const [\n docPreferences,\n { docPermissions, hasPublishPermission, hasSavePermission },\n { currentEditor, isLocked, lastUpdateTime },\n ] = await Promise.all([\n // Get document preferences\n getDocPreferences({\n id: idFromArgs,\n collectionSlug,\n globalSlug,\n payload,\n user,\n }),\n\n // Get permissions\n getDocumentPermissions({\n id: idFromArgs,\n collectionConfig,\n data: doc,\n globalConfig,\n req,\n }),\n\n // Fetch document lock state\n getIsLocked({\n id: idFromArgs,\n collectionConfig,\n globalConfig,\n isEditing,\n req,\n }),\n ])\n\n const [\n { hasPublishedDoc, mostRecentVersionIsAutosaved, unpublishedVersionCount, versionCount },\n { state: formState },\n ] = await Promise.all([\n getVersions({\n id: idFromArgs,\n collectionConfig,\n doc,\n docPermissions,\n globalConfig,\n locale: locale?.code,\n payload,\n user,\n }),\n buildFormState({\n id: idFromArgs,\n collectionSlug,\n data: doc,\n docPermissions,\n docPreferences,\n fallbackLocale: false,\n globalSlug,\n locale: locale?.code,\n operation: (collectionSlug && idFromArgs) || globalSlug ? 'update' : 'create',\n renderAllFields: true,\n req,\n schemaPath: collectionSlug || globalSlug,\n }),\n ])\n\n const serverProps: ServerSideEditViewProps = {\n doc,\n i18n,\n initPageResult,\n locale,\n params,\n payload,\n permissions,\n routeSegments: segments,\n searchParams,\n user,\n }\n\n if (collectionConfig) {\n if (\n !visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug) &&\n !overrideEntityVisibility\n ) {\n throw new Error('not-found')\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}/${idFromArgs}${apiQueryParams}`\n\n RootViewOverride =\n collectionConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in collectionConfig.admin.components.views.edit.root\n ? collectionConfig?.admin?.components?.views?.edit?.root?.Component\n : null\n\n if (!RootViewOverride) {\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 && !RootViewOverride && !ErrorView) {\n ErrorView = {\n Component: NotFoundView,\n }\n }\n }\n\n if (globalConfig) {\n if (!visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)) {\n throw new Error('not-found')\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 ? globalConfig?.admin?.components?.views?.edit?.root?.Component\n : null\n\n if (!RootViewOverride) {\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 && !RootViewOverride && !ErrorView) {\n ErrorView = {\n Component: NotFoundView,\n }\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\n const validateDraftData =\n collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.validate\n\n let id = idFromArgs\n\n if (shouldAutosave && !validateDraftData && !idFromArgs && collectionSlug) {\n doc = await payload.create({\n collection: collectionSlug,\n data: initialData || {},\n depth: 0,\n draft: true,\n fallbackLocale: false,\n locale: locale?.code,\n req,\n user,\n })\n\n if (doc?.id) {\n id = doc.id\n isEditing = getIsEditing({ id: doc.id, collectionSlug, globalSlug })\n\n if (!drawerSlug) {\n const redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${doc.id}`,\n serverURL,\n })\n\n redirect(redirectURL)\n }\n } else {\n throw new Error('not-found')\n }\n }\n\n const documentSlots = renderDocumentSlots({\n collectionConfig,\n globalConfig,\n hasSavePermission,\n permissions: docPermissions,\n req,\n })\n\n const clientProps = { formState, ...documentSlots }\n\n return {\n data: doc,\n Document: (\n <DocumentInfoProvider\n apiURL={apiURL}\n collectionSlug={collectionConfig?.slug}\n currentEditor={currentEditor}\n disableActions={disableActions ?? false}\n docPermissions={docPermissions}\n globalSlug={globalConfig?.slug}\n hasPublishedDoc={hasPublishedDoc}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n initialData={doc}\n initialState={formState}\n isEditing={isEditing}\n isLocked={isLocked}\n key={locale?.code}\n lastUpdateTime={lastUpdateTime}\n mostRecentVersionIsAutosaved={mostRecentVersionIsAutosaved}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n unpublishedVersionCount={unpublishedVersionCount}\n versionCount={versionCount}\n >\n {!RootViewOverride && !drawerSlug && (\n <DocumentHeader\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n i18n={i18n}\n payload={payload}\n permissions={permissions}\n />\n )}\n <HydrateAuthProvider permissions={permissions} />\n <EditDepthProvider>\n {ErrorView\n ? RenderServerComponent({\n clientProps,\n Component: ErrorView.ComponentConfig || ErrorView.Component,\n importMap,\n serverProps,\n })\n : RenderServerComponent({\n clientProps,\n Component: RootViewOverride\n ? RootViewOverride\n : CustomView?.ComponentConfig || CustomView?.Component\n ? CustomView?.ComponentConfig || CustomView?.Component\n : DefaultView?.ComponentConfig || DefaultView?.Component,\n importMap,\n serverProps,\n })}\n </EditDepthProvider>\n </DocumentInfoProvider>\n ),\n }\n}\n\nexport const Document: React.FC<AdminViewProps> = async (args) => {\n try {\n const { Document: RenderedDocument } = await renderDocument(args)\n return RenderedDocument\n } catch (error) {\n if (error?.message === 'NEXT_REDIRECT') {\n throw error\n }\n args.initPageResult.req.payload.logger.error(error)\n\n if (error.message === 'not-found') {\n notFound()\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -127,13 +127,13 @@ export const renderListView = async args => {
127
127
  columnState,
128
128
  Table
129
129
  } = renderTable({
130
- collectionConfig: clientCollectionConfig,
130
+ clientCollectionConfig,
131
+ collectionConfig,
131
132
  columnPreferences: listPreferences?.columns,
132
133
  customCellProps,
133
134
  docs: data.docs,
134
135
  drawerSlug,
135
136
  enableRowSelections,
136
- fields,
137
137
  i18n: req.i18n,
138
138
  payload,
139
139
  useAsTitle
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DefaultListView","HydrateAuthProvider","ListQueryProvider","RenderServerComponent","renderFilters","renderTable","formatAdminURL","mergeListSearchAndWhere","notFound","isNumber","React","Fragment","renderListViewSlots","generateListMetadata","renderListView","args","clientConfig","customCellProps","disableBulkDelete","disableBulkEdit","drawerSlug","enableRowSelections","initPageResult","overrideEntityVisibility","params","query","queryFromArgs","searchParams","collectionConfig","slug","collectionSlug","admin","useAsTitle","defaultSort","fields","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","collections","read","Error","listPreferences","preferenceKey","find","collection","depth","limit","where","and","key","equals","id","then","res","docs","value","_err","routes","adminRoute","includes","page","Number","whereQuery","search","undefined","pagination","defaultLimit","sort","baseListFilter","filter","Boolean","data","draft","fallbackLocale","includeLockStatus","overrideAccess","clientCollectionConfig","c","columnState","Table","columnPreferences","columns","renderedFilters","importMap","staticDescription","description","t","sharedClientProps","hasCreatePermission","create","newDocumentURL","path","sharedServerProps","listViewSlots","clientProps","serverProps","isInDrawer","List","_jsxs","_jsx","modifySearchParams","Component","components","views","list","Fallback","listSearchableFields","ListView","RenderedList","error","message","console"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type {\n ListComponentClientProps,\n ListComponentServerProps,\n ListPreferences,\n ListViewClientProps,\n} from '@payloadcms/ui'\nimport type { AdminViewProps, ListQuery, Where } from 'payload'\n\nimport { DefaultListView, HydrateAuthProvider, ListQueryProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { renderFilters, renderTable } from '@payloadcms/ui/rsc'\nimport { formatAdminURL, mergeListSearchAndWhere } from '@payloadcms/ui/shared'\nimport { notFound } from 'next/navigation.js'\nimport { isNumber } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { renderListViewSlots } from './renderListViewSlots.js'\n\nexport { generateListMetadata } from './meta.js'\n\ntype ListViewArgs = {\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n enableRowSelections: boolean\n overrideEntityVisibility?: boolean\n query: ListQuery\n} & AdminViewProps\n\nexport const renderListView = async (\n args: ListViewArgs,\n): Promise<{\n List: React.ReactNode\n}> => {\n const {\n clientConfig,\n customCellProps,\n disableBulkDelete,\n disableBulkEdit,\n drawerSlug,\n enableRowSelections,\n initPageResult,\n overrideEntityVisibility,\n params,\n query: queryFromArgs,\n searchParams,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: {\n slug: collectionSlug,\n admin: { useAsTitle },\n defaultSort,\n fields,\n },\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n locale,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n if (!permissions?.collections?.[collectionSlug]?.read) {\n throw new Error('not-found')\n }\n\n const query = queryFromArgs || queryFromReq\n\n let listPreferences: ListPreferences\n const preferenceKey = `${collectionSlug}-list`\n\n try {\n listPreferences = (await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n req,\n user,\n where: {\n and: [\n {\n key: {\n equals: preferenceKey,\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 })\n ?.then((res) => res?.docs?.[0]?.value)) as ListPreferences\n } catch (_err) {} // eslint-disable-line no-empty\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n if (collectionConfig) {\n if (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility) {\n throw new Error('not-found')\n }\n\n const page = isNumber(query?.page) ? Number(query.page) : 0\n\n let whereQuery = mergeListSearchAndWhere({\n collectionConfig,\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: (query?.where as Where) || undefined,\n })\n\n const limit = isNumber(query?.limit)\n ? Number(query.limit)\n : listPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n\n const sort =\n query?.sort && typeof query.sort === 'string'\n ? query.sort\n : listPreferences?.sort ||\n (typeof collectionConfig.defaultSort === 'string'\n ? collectionConfig.defaultSort\n : undefined)\n\n if (typeof collectionConfig.admin?.baseListFilter === 'function') {\n const baseListFilter = await collectionConfig.admin.baseListFilter({\n limit,\n page,\n req,\n sort,\n })\n\n if (baseListFilter) {\n whereQuery = {\n and: [whereQuery, baseListFilter].filter(Boolean),\n }\n }\n }\n\n const data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit,\n locale,\n overrideAccess: false,\n page,\n req,\n sort,\n user,\n where: whereQuery || {},\n })\n\n const clientCollectionConfig = clientConfig.collections.find((c) => c.slug === collectionSlug)\n\n const { columnState, Table } = renderTable({\n collectionConfig: clientCollectionConfig,\n columnPreferences: listPreferences?.columns,\n customCellProps,\n docs: data.docs,\n drawerSlug,\n enableRowSelections,\n fields,\n i18n: req.i18n,\n payload,\n useAsTitle,\n })\n\n const renderedFilters = renderFilters(fields, req.payload.importMap)\n\n const staticDescription =\n typeof collectionConfig.admin.description === 'function'\n ? collectionConfig.admin.description({ t: i18n.t })\n : collectionConfig.admin.description\n\n const sharedClientProps: ListComponentClientProps = {\n collectionSlug,\n hasCreatePermission: permissions?.collections?.[collectionSlug]?.create,\n newDocumentURL: formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/create`,\n }),\n }\n\n const sharedServerProps: ListComponentServerProps = {\n collectionConfig,\n i18n,\n limit,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }\n\n const listViewSlots = renderListViewSlots({\n clientProps: sharedClientProps,\n collectionConfig,\n description: staticDescription,\n payload,\n serverProps: sharedServerProps,\n })\n\n const clientProps: ListViewClientProps = {\n ...listViewSlots,\n ...sharedClientProps,\n columnState,\n disableBulkDelete,\n disableBulkEdit,\n enableRowSelections,\n listPreferences,\n renderedFilters,\n Table,\n }\n\n const isInDrawer = Boolean(drawerSlug)\n\n return {\n List: (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n <ListQueryProvider\n collectionSlug={collectionSlug}\n data={data}\n defaultLimit={limit}\n defaultSort={sort}\n modifySearchParams={!isInDrawer}\n preferenceKey={preferenceKey}\n >\n {RenderServerComponent({\n clientProps,\n Component: collectionConfig?.admin?.components?.views?.list?.Component,\n Fallback: DefaultListView,\n importMap: payload.importMap,\n serverProps: {\n ...sharedServerProps,\n data,\n listPreferences,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n },\n })}\n </ListQueryProvider>\n </Fragment>\n ),\n }\n }\n\n throw new Error('not-found')\n}\n\nexport const ListView: React.FC<ListViewArgs> = async (args) => {\n try {\n const { List: RenderedList } = await renderListView({ ...args, enableRowSelections: true })\n return RenderedList\n } catch (error) {\n if (error.message === 'not-found') {\n notFound()\n } else {\n console.error(error) // eslint-disable-line no-console\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["DefaultListView","HydrateAuthProvider","ListQueryProvider","RenderServerComponent","renderFilters","renderTable","formatAdminURL","mergeListSearchAndWhere","notFound","isNumber","React","Fragment","renderListViewSlots","generateListMetadata","renderListView","args","clientConfig","customCellProps","disableBulkDelete","disableBulkEdit","drawerSlug","enableRowSelections","initPageResult","overrideEntityVisibility","params","query","queryFromArgs","searchParams","collectionConfig","slug","collectionSlug","admin","useAsTitle","defaultSort","fields","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","collections","read","Error","listPreferences","preferenceKey","find","collection","depth","limit","where","and","key","equals","id","then","res","docs","value","_err","routes","adminRoute","includes","page","Number","whereQuery","search","undefined","pagination","defaultLimit","sort","baseListFilter","filter","Boolean","data","draft","fallbackLocale","includeLockStatus","overrideAccess","clientCollectionConfig","c","columnState","Table","columnPreferences","columns","renderedFilters","importMap","staticDescription","description","t","sharedClientProps","hasCreatePermission","create","newDocumentURL","path","sharedServerProps","listViewSlots","clientProps","serverProps","isInDrawer","List","_jsxs","_jsx","modifySearchParams","Component","components","views","list","Fallback","listSearchableFields","ListView","RenderedList","error","message","console"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type {\n ListComponentClientProps,\n ListComponentServerProps,\n ListPreferences,\n ListViewClientProps,\n} from '@payloadcms/ui'\nimport type { AdminViewProps, ListQuery, Where } from 'payload'\n\nimport { DefaultListView, HydrateAuthProvider, ListQueryProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { renderFilters, renderTable } from '@payloadcms/ui/rsc'\nimport { formatAdminURL, mergeListSearchAndWhere } from '@payloadcms/ui/shared'\nimport { notFound } from 'next/navigation.js'\nimport { isNumber } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { renderListViewSlots } from './renderListViewSlots.js'\n\nexport { generateListMetadata } from './meta.js'\n\ntype ListViewArgs = {\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n enableRowSelections: boolean\n overrideEntityVisibility?: boolean\n query: ListQuery\n} & AdminViewProps\n\nexport const renderListView = async (\n args: ListViewArgs,\n): Promise<{\n List: React.ReactNode\n}> => {\n const {\n clientConfig,\n customCellProps,\n disableBulkDelete,\n disableBulkEdit,\n drawerSlug,\n enableRowSelections,\n initPageResult,\n overrideEntityVisibility,\n params,\n query: queryFromArgs,\n searchParams,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: {\n slug: collectionSlug,\n admin: { useAsTitle },\n defaultSort,\n fields,\n },\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n locale,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n if (!permissions?.collections?.[collectionSlug]?.read) {\n throw new Error('not-found')\n }\n\n const query = queryFromArgs || queryFromReq\n\n let listPreferences: ListPreferences\n const preferenceKey = `${collectionSlug}-list`\n\n try {\n listPreferences = (await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n req,\n user,\n where: {\n and: [\n {\n key: {\n equals: preferenceKey,\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 })\n ?.then((res) => res?.docs?.[0]?.value)) as ListPreferences\n } catch (_err) {} // eslint-disable-line no-empty\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n if (collectionConfig) {\n if (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility) {\n throw new Error('not-found')\n }\n\n const page = isNumber(query?.page) ? Number(query.page) : 0\n\n let whereQuery = mergeListSearchAndWhere({\n collectionConfig,\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: (query?.where as Where) || undefined,\n })\n\n const limit = isNumber(query?.limit)\n ? Number(query.limit)\n : listPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n\n const sort =\n query?.sort && typeof query.sort === 'string'\n ? query.sort\n : listPreferences?.sort ||\n (typeof collectionConfig.defaultSort === 'string'\n ? collectionConfig.defaultSort\n : undefined)\n\n if (typeof collectionConfig.admin?.baseListFilter === 'function') {\n const baseListFilter = await collectionConfig.admin.baseListFilter({\n limit,\n page,\n req,\n sort,\n })\n\n if (baseListFilter) {\n whereQuery = {\n and: [whereQuery, baseListFilter].filter(Boolean),\n }\n }\n }\n\n const data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit,\n locale,\n overrideAccess: false,\n page,\n req,\n sort,\n user,\n where: whereQuery || {},\n })\n\n const clientCollectionConfig = clientConfig.collections.find((c) => c.slug === collectionSlug)\n\n const { columnState, Table } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columnPreferences: listPreferences?.columns,\n customCellProps,\n docs: data.docs,\n drawerSlug,\n enableRowSelections,\n i18n: req.i18n,\n payload,\n useAsTitle,\n })\n\n const renderedFilters = renderFilters(fields, req.payload.importMap)\n\n const staticDescription =\n typeof collectionConfig.admin.description === 'function'\n ? collectionConfig.admin.description({ t: i18n.t })\n : collectionConfig.admin.description\n\n const sharedClientProps: ListComponentClientProps = {\n collectionSlug,\n hasCreatePermission: permissions?.collections?.[collectionSlug]?.create,\n newDocumentURL: formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/create`,\n }),\n }\n\n const sharedServerProps: ListComponentServerProps = {\n collectionConfig,\n i18n,\n limit,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }\n\n const listViewSlots = renderListViewSlots({\n clientProps: sharedClientProps,\n collectionConfig,\n description: staticDescription,\n payload,\n serverProps: sharedServerProps,\n })\n\n const clientProps: ListViewClientProps = {\n ...listViewSlots,\n ...sharedClientProps,\n columnState,\n disableBulkDelete,\n disableBulkEdit,\n enableRowSelections,\n listPreferences,\n renderedFilters,\n Table,\n }\n\n const isInDrawer = Boolean(drawerSlug)\n\n return {\n List: (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n <ListQueryProvider\n collectionSlug={collectionSlug}\n data={data}\n defaultLimit={limit}\n defaultSort={sort}\n modifySearchParams={!isInDrawer}\n preferenceKey={preferenceKey}\n >\n {RenderServerComponent({\n clientProps,\n Component: collectionConfig?.admin?.components?.views?.list?.Component,\n Fallback: DefaultListView,\n importMap: payload.importMap,\n serverProps: {\n ...sharedServerProps,\n data,\n listPreferences,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n },\n })}\n </ListQueryProvider>\n </Fragment>\n ),\n }\n }\n\n throw new Error('not-found')\n}\n\nexport const ListView: React.FC<ListViewArgs> = async (args) => {\n try {\n const { List: RenderedList } = await renderListView({ ...args, enableRowSelections: true })\n return RenderedList\n } catch (error) {\n if (error.message === 'not-found') {\n notFound()\n } else {\n console.error(error) // eslint-disable-line no-console\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -31,17 +31,18 @@ export const LivePreviewView = async props => {
31
31
  label: 'Responsive',
32
32
  width: '100%'
33
33
  }];
34
- let url = typeof livePreviewConfig?.url === 'function' ? await livePreviewConfig.url({
34
+ const url = typeof livePreviewConfig?.url === 'function' ? await livePreviewConfig.url({
35
35
  collectionConfig,
36
36
  data: doc,
37
37
  globalConfig,
38
38
  locale,
39
+ req,
40
+ /**
41
+ * @deprecated
42
+ * Use `req.payload` instead. This will be removed in the next major version.
43
+ */
39
44
  payload: initPageResult.req.payload
40
45
  }) : livePreviewConfig?.url;
41
- // Support relative URLs by prepending the origin, if necessary
42
- if (url && url.startsWith('/')) {
43
- url = `${initPageResult.req.protocol}//${initPageResult.req.host}${url}`;
44
- }
45
46
  return /*#__PURE__*/_jsx(LivePreviewClient, {
46
47
  breakpoints: breakpoints,
47
48
  initialData: doc,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","LivePreviewClient","LivePreviewView","props","doc","initPageResult","collectionConfig","globalConfig","locale","req","livePreviewConfig","payload","config","admin","livePreview","breakpoints","name","height","label","width","url","data","startsWith","protocol","host","_jsx","initialData"],"sources":["../../../src/views/LivePreview/index.tsx"],"sourcesContent":["import type { EditViewComponent, LivePreviewConfig, PayloadServerReactComponent } from 'payload'\n\nimport React from 'react'\n\nimport './index.scss'\nimport { LivePreviewClient } from './index.client.js'\n\nexport const LivePreviewView: PayloadServerReactComponent<EditViewComponent> = async (props) => {\n const { doc, initPageResult } = props\n\n const { collectionConfig, globalConfig, locale, req } = initPageResult\n\n let livePreviewConfig: LivePreviewConfig = req.payload.config?.admin?.livePreview\n\n if (collectionConfig) {\n livePreviewConfig = {\n ...(livePreviewConfig || {}),\n ...(collectionConfig.admin.livePreview || {}),\n }\n }\n\n if (globalConfig) {\n livePreviewConfig = {\n ...(livePreviewConfig || {}),\n ...(globalConfig.admin.livePreview || {}),\n }\n }\n\n const breakpoints: LivePreviewConfig['breakpoints'] = [\n ...(livePreviewConfig?.breakpoints || []),\n {\n name: 'responsive',\n height: '100%',\n label: 'Responsive',\n width: '100%',\n },\n ]\n\n let url =\n typeof livePreviewConfig?.url === 'function'\n ? await livePreviewConfig.url({\n collectionConfig,\n data: doc,\n globalConfig,\n locale,\n payload: initPageResult.req.payload,\n })\n : livePreviewConfig?.url\n\n // Support relative URLs by prepending the origin, if necessary\n if (url && url.startsWith('/')) {\n url = `${initPageResult.req.protocol}//${initPageResult.req.host}${url}`\n }\n\n return <LivePreviewClient breakpoints={breakpoints} initialData={doc} url={url} />\n}\n"],"mappings":";AAEA,OAAOA,KAAA,MAAW;AAGlB,SAASC,iBAAiB,QAAQ;AAElC,OAAO,MAAMC,eAAA,GAAkE,MAAOC,KAAA;EACpF,MAAM;IAAEC,GAAG;IAAEC;EAAc,CAAE,GAAGF,KAAA;EAEhC,MAAM;IAAEG,gBAAgB;IAAEC,YAAY;IAAEC,MAAM;IAAEC;EAAG,CAAE,GAAGJ,cAAA;EAExD,IAAIK,iBAAA,GAAuCD,GAAA,CAAIE,OAAO,CAACC,MAAM,EAAEC,KAAA,EAAOC,WAAA;EAEtE,IAAIR,gBAAA,EAAkB;IACpBI,iBAAA,GAAoB;MAClB,IAAIA,iBAAA,IAAqB,CAAC,CAAC;MAC3B,IAAIJ,gBAAA,CAAiBO,KAAK,CAACC,WAAW,IAAI,CAAC,CAAC;IAC9C;EACF;EAEA,IAAIP,YAAA,EAAc;IAChBG,iBAAA,GAAoB;MAClB,IAAIA,iBAAA,IAAqB,CAAC,CAAC;MAC3B,IAAIH,YAAA,CAAaM,KAAK,CAACC,WAAW,IAAI,CAAC,CAAC;IAC1C;EACF;EAEA,MAAMC,WAAA,GAAgD,C,IAChDL,iBAAA,EAAmBK,WAAA,IAAe,EAAE,GACxC;IACEC,IAAA,EAAM;IACNC,MAAA,EAAQ;IACRC,KAAA,EAAO;IACPC,KAAA,EAAO;EACT,EACD;EAED,IAAIC,GAAA,GACF,OAAOV,iBAAA,EAAmBU,GAAA,KAAQ,aAC9B,MAAMV,iBAAA,CAAkBU,GAAG,CAAC;IAC1Bd,gBAAA;IACAe,IAAA,EAAMjB,GAAA;IACNG,YAAA;IACAC,MAAA;IACAG,OAAA,EAASN,cAAA,CAAeI,GAAG,CAACE;EAC9B,KACAD,iBAAA,EAAmBU,GAAA;EAEzB;EACA,IAAIA,GAAA,IAAOA,GAAA,CAAIE,UAAU,CAAC,MAAM;IAC9BF,GAAA,GAAM,GAAGf,cAAA,CAAeI,GAAG,CAACc,QAAQ,KAAKlB,cAAA,CAAeI,GAAG,CAACe,IAAI,GAAGJ,GAAA,EAAK;EAC1E;EAEA,oBAAOK,IAAA,CAACxB,iBAAA;IAAkBc,WAAA,EAAaA,WAAA;IAAaW,WAAA,EAAatB,GAAA;IAAKgB,GAAA,EAAKA;;AAC7E","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","LivePreviewClient","LivePreviewView","props","doc","initPageResult","collectionConfig","globalConfig","locale","req","livePreviewConfig","payload","config","admin","livePreview","breakpoints","name","height","label","width","url","data","_jsx","initialData"],"sources":["../../../src/views/LivePreview/index.tsx"],"sourcesContent":["import type { EditViewComponent, LivePreviewConfig, PayloadServerReactComponent } from 'payload'\n\nimport React from 'react'\n\nimport './index.scss'\nimport { LivePreviewClient } from './index.client.js'\n\nexport const LivePreviewView: PayloadServerReactComponent<EditViewComponent> = async (props) => {\n const { doc, initPageResult } = props\n\n const { collectionConfig, globalConfig, locale, req } = initPageResult\n\n let livePreviewConfig: LivePreviewConfig = req.payload.config?.admin?.livePreview\n\n if (collectionConfig) {\n livePreviewConfig = {\n ...(livePreviewConfig || {}),\n ...(collectionConfig.admin.livePreview || {}),\n }\n }\n\n if (globalConfig) {\n livePreviewConfig = {\n ...(livePreviewConfig || {}),\n ...(globalConfig.admin.livePreview || {}),\n }\n }\n\n const breakpoints: LivePreviewConfig['breakpoints'] = [\n ...(livePreviewConfig?.breakpoints || []),\n {\n name: 'responsive',\n height: '100%',\n label: 'Responsive',\n width: '100%',\n },\n ]\n\n const url =\n typeof livePreviewConfig?.url === 'function'\n ? await livePreviewConfig.url({\n collectionConfig,\n data: doc,\n globalConfig,\n locale,\n req,\n /**\n * @deprecated\n * Use `req.payload` instead. This will be removed in the next major version.\n */\n payload: initPageResult.req.payload,\n })\n : livePreviewConfig?.url\n\n return <LivePreviewClient breakpoints={breakpoints} initialData={doc} url={url} />\n}\n"],"mappings":";AAEA,OAAOA,KAAA,MAAW;AAGlB,SAASC,iBAAiB,QAAQ;AAElC,OAAO,MAAMC,eAAA,GAAkE,MAAOC,KAAA;EACpF,MAAM;IAAEC,GAAG;IAAEC;EAAc,CAAE,GAAGF,KAAA;EAEhC,MAAM;IAAEG,gBAAgB;IAAEC,YAAY;IAAEC,MAAM;IAAEC;EAAG,CAAE,GAAGJ,cAAA;EAExD,IAAIK,iBAAA,GAAuCD,GAAA,CAAIE,OAAO,CAACC,MAAM,EAAEC,KAAA,EAAOC,WAAA;EAEtE,IAAIR,gBAAA,EAAkB;IACpBI,iBAAA,GAAoB;MAClB,IAAIA,iBAAA,IAAqB,CAAC,CAAC;MAC3B,IAAIJ,gBAAA,CAAiBO,KAAK,CAACC,WAAW,IAAI,CAAC,CAAC;IAC9C;EACF;EAEA,IAAIP,YAAA,EAAc;IAChBG,iBAAA,GAAoB;MAClB,IAAIA,iBAAA,IAAqB,CAAC,CAAC;MAC3B,IAAIH,YAAA,CAAaM,KAAK,CAACC,WAAW,IAAI,CAAC,CAAC;IAC1C;EACF;EAEA,MAAMC,WAAA,GAAgD,C,IAChDL,iBAAA,EAAmBK,WAAA,IAAe,EAAE,GACxC;IACEC,IAAA,EAAM;IACNC,MAAA,EAAQ;IACRC,KAAA,EAAO;IACPC,KAAA,EAAO;EACT,EACD;EAED,MAAMC,GAAA,GACJ,OAAOV,iBAAA,EAAmBU,GAAA,KAAQ,aAC9B,MAAMV,iBAAA,CAAkBU,GAAG,CAAC;IAC1Bd,gBAAA;IACAe,IAAA,EAAMjB,GAAA;IACNG,YAAA;IACAC,MAAA;IACAC,GAAA;IACA;;;;IAIAE,OAAA,EAASN,cAAA,CAAeI,GAAG,CAACE;EAC9B,KACAD,iBAAA,EAAmBU,GAAA;EAEzB,oBAAOE,IAAA,CAACrB,iBAAA;IAAkBc,WAAA,EAAaA,WAAA;IAAaQ,WAAA,EAAanB,GAAA;IAAKgB,GAAA,EAAKA;;AAC7E","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/next",
3
- "version": "3.5.0",
3
+ "version": "3.5.1-canary.4044ffb",
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.7.0",
81
81
  "uuid": "10.0.0",
82
- "@payloadcms/graphql": "3.5.0",
83
- "@payloadcms/translations": "3.5.0",
84
- "@payloadcms/ui": "3.5.0"
82
+ "@payloadcms/translations": "3.5.1-canary.4044ffb",
83
+ "@payloadcms/graphql": "3.5.1-canary.4044ffb",
84
+ "@payloadcms/ui": "3.5.1-canary.4044ffb"
85
85
  },
86
86
  "devDependencies": {
87
87
  "@babel/cli": "7.25.9",
@@ -99,13 +99,13 @@
99
99
  "esbuild-sass-plugin": "3.3.1",
100
100
  "eslint-plugin-react-compiler": "19.0.0-beta-df7b47d-20241124",
101
101
  "swc-plugin-transform-remove-imports": "2.0.0",
102
- "payload": "3.5.0",
103
- "@payloadcms/eslint-config": "3.0.0"
102
+ "@payloadcms/eslint-config": "3.0.0",
103
+ "payload": "3.5.1-canary.4044ffb"
104
104
  },
105
105
  "peerDependencies": {
106
106
  "graphql": "^16.8.1",
107
107
  "next": "^15.0.0",
108
- "payload": "3.5.0"
108
+ "payload": "3.5.1-canary.4044ffb"
109
109
  },
110
110
  "engines": {
111
111
  "node": "^18.20.2 || >=20.9.0"