@payloadcms/next 3.39.0-canary.7 → 3.39.0-internal.1c212c9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/auth/login.d.ts.map +1 -1
  2. package/dist/auth/login.js.map +1 -1
  3. package/dist/auth/logout.d.ts +4 -2
  4. package/dist/auth/logout.d.ts.map +1 -1
  5. package/dist/auth/logout.js +26 -7
  6. package/dist/auth/logout.js.map +1 -1
  7. package/dist/auth/refresh.d.ts +1 -3
  8. package/dist/auth/refresh.d.ts.map +1 -1
  9. package/dist/auth/refresh.js +24 -12
  10. package/dist/auth/refresh.js.map +1 -1
  11. package/dist/cjs/withPayload.cjs +2 -2
  12. package/dist/cjs/withPayload.cjs.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts +1 -0
  14. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +36 -23
  16. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  17. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  18. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +1 -0
  19. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  20. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +69 -10
  21. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts +0 -1
  22. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
  23. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +2 -2
  24. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  25. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  26. package/dist/elements/Nav/index.client.js +28 -60
  27. package/dist/elements/Nav/index.client.js.map +1 -1
  28. package/dist/prod/styles.css +1 -1
  29. package/dist/views/Document/index.d.ts +0 -6
  30. package/dist/views/Document/index.d.ts.map +1 -1
  31. package/dist/views/Document/index.js +3 -6
  32. package/dist/views/Document/index.js.map +1 -1
  33. package/dist/views/List/index.d.ts +0 -6
  34. package/dist/views/List/index.d.ts.map +1 -1
  35. package/dist/views/List/index.js +0 -6
  36. package/dist/views/List/index.js.map +1 -1
  37. package/dist/views/LivePreview/Device/index.d.ts.map +1 -1
  38. package/dist/views/LivePreview/Device/index.js +0 -2
  39. package/dist/views/LivePreview/Device/index.js.map +1 -1
  40. package/dist/views/Root/getCustomViewByRoute.d.ts +1 -1
  41. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
  42. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  43. package/dist/views/Root/{getRouteData.d.ts → getViewFromConfig.d.ts} +5 -7
  44. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -0
  45. package/dist/views/Root/{getRouteData.js → getViewFromConfig.js} +24 -66
  46. package/dist/views/Root/getViewFromConfig.js.map +1 -0
  47. package/dist/views/Root/index.d.ts +1 -1
  48. package/dist/views/Root/index.d.ts.map +1 -1
  49. package/dist/views/Root/index.js +5 -20
  50. package/dist/views/Root/index.js.map +1 -1
  51. package/dist/views/Root/metadata.d.ts.map +1 -1
  52. package/dist/views/Root/metadata.js +24 -61
  53. package/dist/views/Root/metadata.js.map +1 -1
  54. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
  55. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +11 -23
  56. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  57. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  58. package/dist/views/Versions/cells/AutosaveCell/index.js +0 -2
  59. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  60. package/dist/withPayload.d.ts +3 -1
  61. package/dist/withPayload.d.ts.map +1 -1
  62. package/dist/withPayload.js +2 -2
  63. package/dist/withPayload.js.map +1 -1
  64. package/package.json +7 -6
  65. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.scss +0 -9
  66. package/dist/views/BrowseByFolder/buildView.d.ts +0 -13
  67. package/dist/views/BrowseByFolder/buildView.d.ts.map +0 -1
  68. package/dist/views/BrowseByFolder/buildView.js +0 -114
  69. package/dist/views/BrowseByFolder/buildView.js.map +0 -1
  70. package/dist/views/BrowseByFolder/index.d.ts +0 -4
  71. package/dist/views/BrowseByFolder/index.d.ts.map +0 -1
  72. package/dist/views/BrowseByFolder/index.js +0 -18
  73. package/dist/views/BrowseByFolder/index.js.map +0 -1
  74. package/dist/views/BrowseByFolder/metadata.d.ts +0 -4
  75. package/dist/views/BrowseByFolder/metadata.d.ts.map +0 -1
  76. package/dist/views/BrowseByFolder/metadata.js +0 -18
  77. package/dist/views/BrowseByFolder/metadata.js.map +0 -1
  78. package/dist/views/CollectionFolders/buildView.d.ts +0 -15
  79. package/dist/views/CollectionFolders/buildView.d.ts.map +0 -1
  80. package/dist/views/CollectionFolders/buildView.js +0 -163
  81. package/dist/views/CollectionFolders/buildView.js.map +0 -1
  82. package/dist/views/CollectionFolders/index.d.ts +0 -4
  83. package/dist/views/CollectionFolders/index.d.ts.map +0 -1
  84. package/dist/views/CollectionFolders/index.js +0 -18
  85. package/dist/views/CollectionFolders/index.js.map +0 -1
  86. package/dist/views/CollectionFolders/metadata.d.ts +0 -7
  87. package/dist/views/CollectionFolders/metadata.d.ts.map +0 -1
  88. package/dist/views/CollectionFolders/metadata.js +0 -25
  89. package/dist/views/CollectionFolders/metadata.js.map +0 -1
  90. package/dist/views/CollectionFolders/renderFolderViewSlots.d.ts +0 -11
  91. package/dist/views/CollectionFolders/renderFolderViewSlots.d.ts.map +0 -1
  92. package/dist/views/CollectionFolders/renderFolderViewSlots.js +0 -64
  93. package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +0 -1
  94. package/dist/views/Root/getRouteData.d.ts.map +0 -1
  95. package/dist/views/Root/getRouteData.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import type { I18nClient } from '@payloadcms/translations';
2
2
  import type { Metadata } from 'next';
3
- import { type ImportMap, type SanitizedConfig } from 'payload';
3
+ import type { ImportMap, SanitizedConfig } from 'payload';
4
4
  import React from 'react';
5
5
  export type GenerateViewMetadata = (args: {
6
6
  config: SanitizedConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAKpC,OAAO,EAGL,KAAK,SAAS,EAEd,KAAK,eAAe,EACrB,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB,eAAO,MAAM,QAAQ,oGAKlB;IACD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAC,CAAA;IACF,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;QAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;CACH,+BAoKA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAGV,SAAS,EACT,eAAe,EAChB,MAAM,SAAS,CAAA;AAMhB,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB,eAAO,MAAM,QAAQ,oGAKlB;IACD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAC,CAAA;IACF,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;QAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;CACH,+BAiJA,CAAA"}
@@ -2,13 +2,12 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
3
3
  import { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig';
4
4
  import { notFound, redirect } from 'next/navigation.js';
5
- import { parseDocumentID } from 'payload';
6
5
  import { formatAdminURL } from 'payload/shared';
7
- import React from 'react';
6
+ import React, { Fragment } from 'react';
8
7
  import { DefaultTemplate } from '../../templates/Default/index.js';
9
8
  import { MinimalTemplate } from '../../templates/Minimal/index.js';
10
9
  import { initPage } from '../../utilities/initPage/index.js';
11
- import { getRouteData } from './getRouteData.js';
10
+ import { getViewFromConfig } from './getViewFromConfig.js';
12
11
  export const RootPage = async ({
13
12
  config: configPromise,
14
13
  importMap,
@@ -37,14 +36,12 @@ export const RootPage = async ({
37
36
  const {
38
37
  DefaultView,
39
38
  documentSubViewType,
40
- folderCollectionSlugs,
41
- folderID: folderIDParam,
42
39
  initPageOptions,
43
40
  serverProps,
44
41
  templateClassName,
45
42
  templateType,
46
43
  viewType
47
- } = getRouteData({
44
+ } = getViewFromConfig({
48
45
  adminRoute,
49
46
  config,
50
47
  currentRoute,
@@ -57,10 +54,6 @@ export const RootPage = async ({
57
54
  collection: userSlug,
58
55
  req: initPageResult?.req
59
56
  })?.then(doc => !!doc));
60
- /**
61
- * This function is responsible for handling the case where the view is not found.
62
- * The current route did not match any default views or custom route views.
63
- */
64
57
  if (!DefaultView?.Component && !DefaultView?.payloadComponent) {
65
58
  if (initPageResult?.req?.user) {
66
59
  notFound();
@@ -99,17 +92,10 @@ export const RootPage = async ({
99
92
  i18n: initPageResult?.req.i18n,
100
93
  importMap
101
94
  });
102
- const payload = initPageResult?.req.payload;
103
- const folderID = parseDocumentID({
104
- id: folderIDParam,
105
- collectionSlug: payload.config.folders.slug,
106
- payload
107
- });
108
95
  const RenderedView = RenderServerComponent({
109
96
  clientProps: {
110
97
  clientConfig,
111
98
  documentSubViewType,
112
- folderCollectionSlugs,
113
99
  viewType
114
100
  },
115
101
  Component: DefaultView.payloadComponent,
@@ -119,7 +105,6 @@ export const RootPage = async ({
119
105
  ...serverProps,
120
106
  clientConfig,
121
107
  docID: initPageResult?.docID,
122
- folderID,
123
108
  i18n: initPageResult?.req.i18n,
124
109
  importMap,
125
110
  initPageResult,
@@ -128,8 +113,8 @@ export const RootPage = async ({
128
113
  searchParams
129
114
  }
130
115
  });
131
- return /*#__PURE__*/_jsxs(React.Fragment, {
132
- children: [!templateType && /*#__PURE__*/_jsx(React.Fragment, {
116
+ return /*#__PURE__*/_jsxs(Fragment, {
117
+ children: [!templateType && /*#__PURE__*/_jsx(Fragment, {
133
118
  children: RenderedView
134
119
  }), templateType === 'minimal' && /*#__PURE__*/_jsx(MinimalTemplate, {
135
120
  className: templateClassName,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["RenderServerComponent","getClientConfig","notFound","redirect","parseDocumentID","formatAdminURL","React","DefaultTemplate","MinimalTemplate","initPage","getRouteData","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","DefaultView","documentSubViewType","folderCollectionSlugs","folderID","folderIDParam","initPageOptions","serverProps","templateClassName","templateType","viewType","initPageResult","dbHasUser","req","payload","db","findOne","collection","then","doc","Component","payloadComponent","redirectTo","createFirstUserRoute","collectionConfig","collections","find","slug","disableLocalStrategy","auth","clientConfig","i18n","id","collectionSlug","folders","RenderedView","clientProps","Fallback","docID","_jsxs","Fragment","_jsx","className","globalSlug","globalConfig","locale","permissions","viewActions","visibleEntities","globals"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { notFound, redirect } from 'next/navigation.js'\nimport {\n type AdminViewClientProps,\n type AdminViewServerPropsOnly,\n type ImportMap,\n parseDocumentID,\n type SanitizedConfig,\n} from 'payload'\nimport { formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { initPage } from '../../utilities/initPage/index.js'\nimport { getRouteData } from './getRouteData.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: Array.isArray(params.segments) ? `/${params.segments.join('/')}` : null,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const searchParams = await searchParamsPromise\n\n const {\n DefaultView,\n documentSubViewType,\n folderCollectionSlugs,\n folderID: folderIDParam,\n initPageOptions,\n serverProps,\n templateClassName,\n templateType,\n viewType,\n } = getRouteData({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n })\n\n const initPageResult = await initPage(initPageOptions)\n\n const dbHasUser =\n initPageResult.req.user ||\n (await initPageResult?.req.payload.db\n .findOne({\n collection: userSlug,\n req: initPageResult?.req,\n })\n ?.then((doc) => !!doc))\n\n /**\n * This function is responsible for handling the case where the view is not found.\n * The current route did not match any default views or custom route views.\n */\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (initPageResult?.req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n if (typeof initPageResult?.redirectTo === 'string') {\n redirect(initPageResult.redirectTo)\n }\n\n if (initPageResult) {\n const createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const collectionConfig = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = collectionConfig?.auth?.disableLocalStrategy\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n }\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: initPageResult?.req.i18n,\n importMap,\n })\n\n const payload = initPageResult?.req.payload\n const folderID = parseDocumentID({\n id: folderIDParam,\n collectionSlug: payload.config.folders.slug,\n payload,\n })\n\n const RenderedView = RenderServerComponent({\n clientProps: {\n clientConfig,\n documentSubViewType,\n folderCollectionSlugs,\n viewType,\n } satisfies AdminViewClientProps,\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n ...serverProps,\n clientConfig,\n docID: initPageResult?.docID,\n folderID,\n i18n: initPageResult?.req.i18n,\n importMap,\n initPageResult,\n params,\n payload: initPageResult?.req.payload,\n searchParams,\n } satisfies AdminViewServerPropsOnly,\n })\n\n return (\n <React.Fragment>\n {!templateType && <React.Fragment>{RenderedView}</React.Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n collectionSlug={initPageResult?.collectionConfig?.slug}\n docID={initPageResult?.docID}\n documentSubViewType={documentSubViewType}\n globalSlug={initPageResult?.globalConfig?.slug}\n i18n={initPageResult?.req.i18n}\n locale={initPageResult?.locale}\n params={params}\n payload={initPageResult?.req.payload}\n permissions={initPageResult?.permissions}\n req={initPageResult?.req}\n searchParams={searchParams}\n user={initPageResult?.req.user}\n viewActions={serverProps.viewActions}\n viewType={viewType}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: initPageResult?.visibleEntities?.collections,\n globals: initPageResult?.visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["RenderServerComponent","getClientConfig","notFound","redirect","formatAdminURL","React","Fragment","DefaultTemplate","MinimalTemplate","initPage","getViewFromConfig","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","DefaultView","documentSubViewType","initPageOptions","serverProps","templateClassName","templateType","viewType","initPageResult","dbHasUser","req","payload","db","findOne","collection","then","doc","Component","payloadComponent","redirectTo","createFirstUserRoute","collectionConfig","collections","find","slug","disableLocalStrategy","auth","clientConfig","i18n","RenderedView","clientProps","Fallback","docID","_jsxs","_jsx","className","collectionSlug","globalSlug","globalConfig","locale","permissions","viewActions","visibleEntities","globals"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type {\n AdminViewClientProps,\n AdminViewServerPropsOnly,\n ImportMap,\n SanitizedConfig,\n} from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { notFound, redirect } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { initPage } from '../../utilities/initPage/index.js'\nimport { getViewFromConfig } from './getViewFromConfig.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: Array.isArray(params.segments) ? `/${params.segments.join('/')}` : null,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const searchParams = await searchParamsPromise\n\n const {\n DefaultView,\n documentSubViewType,\n initPageOptions,\n serverProps,\n templateClassName,\n templateType,\n viewType,\n } = getViewFromConfig({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n })\n\n const initPageResult = await initPage(initPageOptions)\n\n const dbHasUser =\n initPageResult.req.user ||\n (await initPageResult?.req.payload.db\n .findOne({\n collection: userSlug,\n req: initPageResult?.req,\n })\n ?.then((doc) => !!doc))\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (initPageResult?.req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n if (typeof initPageResult?.redirectTo === 'string') {\n redirect(initPageResult.redirectTo)\n }\n\n if (initPageResult) {\n const createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const collectionConfig = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = collectionConfig?.auth?.disableLocalStrategy\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n }\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: initPageResult?.req.i18n,\n importMap,\n })\n\n const RenderedView = RenderServerComponent({\n clientProps: { clientConfig, documentSubViewType, viewType } satisfies AdminViewClientProps,\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n ...serverProps,\n clientConfig,\n docID: initPageResult?.docID,\n i18n: initPageResult?.req.i18n,\n importMap,\n initPageResult,\n params,\n payload: initPageResult?.req.payload,\n searchParams,\n } satisfies AdminViewServerPropsOnly,\n })\n\n return (\n <Fragment>\n {!templateType && <Fragment>{RenderedView}</Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n collectionSlug={initPageResult?.collectionConfig?.slug}\n docID={initPageResult?.docID}\n documentSubViewType={documentSubViewType}\n globalSlug={initPageResult?.globalConfig?.slug}\n i18n={initPageResult?.req.i18n}\n locale={initPageResult?.locale}\n params={params}\n payload={initPageResult?.req.payload}\n permissions={initPageResult?.permissions}\n req={initPageResult?.req}\n searchParams={searchParams}\n user={initPageResult?.req.user}\n viewActions={serverProps.viewActions}\n viewType={viewType}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: initPageResult?.visibleEntities?.collections,\n globals: initPageResult?.visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/views/Root/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AA6B9C,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAChC,MAAM,EAAE,OAAO,CAAC;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;IACF,YAAY,EAAE,OAAO,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;CACH,CAAA;AAED,eAAO,MAAM,oBAAoB,sDAG9B,IAAI,sBAkJN,CAAA"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/views/Root/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AA0B9C,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAChC,MAAM,EAAE,OAAO,CAAC;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;IACF,YAAY,EAAE,OAAO,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;CACH,CAAA;AAED,eAAO,MAAM,oBAAoB,sDAG9B,IAAI,sBAsHN,CAAA"}
@@ -1,7 +1,5 @@
1
1
  import { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js';
2
2
  import { generateAccountViewMetadata } from '../Account/metadata.js';
3
- import { generateBrowseByFolderMetadata } from '../BrowseByFolder/metadata.js';
4
- import { generateCollectionFolderMetadata } from '../CollectionFolders/metadata.js';
5
3
  import { generateCreateFirstUserViewMetadata } from '../CreateFirstUser/metadata.js';
6
4
  import { generateDashboardViewMetadata } from '../Dashboard/metadata.js';
7
5
  import { generateDocumentViewMetadata } from '../Document/metadata.js';
@@ -16,7 +14,6 @@ import { generateCustomViewMetadata } from './generateCustomViewMetadata.js';
16
14
  import { getCustomViewByRoute } from './getCustomViewByRoute.js';
17
15
  const oneSegmentMeta = {
18
16
  'create-first-user': generateCreateFirstUserViewMetadata,
19
- folders: generateBrowseByFolderMetadata,
20
17
  forgot: generateForgotPasswordViewMetadata,
21
18
  login: generateLoginViewMetadata,
22
19
  logout: generateUnauthorizedViewMetadata,
@@ -29,18 +26,9 @@ export const generatePageMetadata = async ({
29
26
  }) => {
30
27
  const config = await configPromise;
31
28
  const params = await paramsPromise;
32
- const folderCollectionSlugs = config.collections.reduce((acc, {
33
- slug,
34
- admin
35
- }) => {
36
- if (admin?.folders) {
37
- return [...acc, slug];
38
- }
39
- return acc;
40
- }, []);
41
29
  const segments = Array.isArray(params.segments) ? params.segments : [];
42
30
  const currentRoute = `/${segments.join('/')}`;
43
- const [segmentOne, segmentTwo, segmentThree] = segments;
31
+ const [segmentOne, segmentTwo] = segments;
44
32
  const isGlobal = segmentOne === 'globals';
45
33
  const isCollection = segmentOne === 'collections';
46
34
  const i18n = await getNextRequestI18n({
@@ -61,20 +49,7 @@ export const generatePageMetadata = async ({
61
49
  }
62
50
  case 1:
63
51
  {
64
- if (folderCollectionSlugs.length && `/${segmentOne}` === config.admin.routes.browseByFolder) {
65
- // --> /:folderCollectionSlug
66
- meta = await oneSegmentMeta.folders({
67
- config,
68
- i18n
69
- });
70
- } else if (segmentOne === 'account') {
71
- // --> /account
72
- meta = await generateAccountViewMetadata({
73
- config,
74
- i18n
75
- });
76
- break;
77
- } else if (oneSegmentMeta[segmentOne]) {
52
+ if (oneSegmentMeta[segmentOne] && segmentOne !== 'account') {
78
53
  // --> /create-first-user
79
54
  // --> /forgot
80
55
  // --> /login
@@ -86,6 +61,13 @@ export const generatePageMetadata = async ({
86
61
  i18n
87
62
  });
88
63
  break;
64
+ } else if (segmentOne === 'account') {
65
+ // --> /account
66
+ meta = await generateAccountViewMetadata({
67
+ config,
68
+ i18n
69
+ });
70
+ break;
89
71
  }
90
72
  break;
91
73
  }
@@ -97,13 +79,8 @@ export const generatePageMetadata = async ({
97
79
  config,
98
80
  i18n
99
81
  });
100
- } else if (folderCollectionSlugs.length && `/${segmentOne}` === config.admin.routes.browseByFolder) {
101
- // --> /browse-by-folder/:folderID
102
- meta = await generateBrowseByFolderMetadata({
103
- config,
104
- i18n
105
- });
106
- } else if (isCollection) {
82
+ }
83
+ if (isCollection) {
107
84
  // --> /collections/:collectionSlug
108
85
  meta = await generateListViewMetadata({
109
86
  collectionConfig,
@@ -130,34 +107,20 @@ export const generatePageMetadata = async ({
130
107
  i18n
131
108
  });
132
109
  } else if (isCollection) {
133
- if (segmentThree === config.folders.slug) {
134
- if (folderCollectionSlugs.includes(collectionConfig.slug)) {
135
- // Collection Folder Views
136
- // --> /collections/:collectionSlug/:folderCollectionSlug
137
- // --> /collections/:collectionSlug/:folderCollectionSlug/:id
138
- meta = await generateCollectionFolderMetadata({
139
- collectionConfig,
140
- config,
141
- i18n,
142
- params
143
- });
144
- }
145
- } else {
146
- // Collection Document Views
147
- // --> /collections/:collectionSlug/:id
148
- // --> /collections/:collectionSlug/:id/preview
149
- // --> /collections/:collectionSlug/:id/versions
150
- // --> /collections/:collectionSlug/:id/versions/:version
151
- // --> /collections/:collectionSlug/:id/api
152
- meta = await generateDocumentViewMetadata({
153
- collectionConfig,
154
- config,
155
- i18n,
156
- params
157
- });
158
- }
110
+ // Custom Views
111
+ // --> /collections/:collectionSlug/:id
112
+ // --> /collections/:collectionSlug/:id/preview
113
+ // --> /collections/:collectionSlug/:id/versions
114
+ // --> /collections/:collectionSlug/:id/versions/:version
115
+ // --> /collections/:collectionSlug/:id/api
116
+ meta = await generateDocumentViewMetadata({
117
+ collectionConfig,
118
+ config,
119
+ i18n,
120
+ params
121
+ });
159
122
  } else if (isGlobal) {
160
- // Global Document Views
123
+ // Custom Views
161
124
  // --> /globals/:globalSlug/versions
162
125
  // --> /globals/:globalSlug/versions/:version
163
126
  // --> /globals/:globalSlug/preview
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","names":["getNextRequestI18n","generateAccountViewMetadata","generateBrowseByFolderMetadata","generateCollectionFolderMetadata","generateCreateFirstUserViewMetadata","generateDashboardViewMetadata","generateDocumentViewMetadata","generateForgotPasswordViewMetadata","generateListViewMetadata","generateLoginViewMetadata","generateNotFoundViewMetadata","generateResetPasswordViewMetadata","generateUnauthorizedViewMetadata","generateVerifyViewMetadata","generateCustomViewMetadata","getCustomViewByRoute","oneSegmentMeta","folders","forgot","login","logout","unauthorized","generatePageMetadata","config","configPromise","params","paramsPromise","folderCollectionSlugs","collections","reduce","acc","slug","admin","segments","Array","isArray","currentRoute","join","segmentOne","segmentTwo","segmentThree","isGlobal","isCollection","i18n","meta","collectionConfig","length","find","collection","globalConfig","globals","global","routes","browseByFolder","reset","includes","viewConfig","viewKey"],"sources":["../../../src/views/Root/metadata.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { SanitizedConfig } from 'payload'\n\nimport { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js'\nimport { generateAccountViewMetadata } from '../Account/metadata.js'\nimport { generateBrowseByFolderMetadata } from '../BrowseByFolder/metadata.js'\nimport { generateCollectionFolderMetadata } from '../CollectionFolders/metadata.js'\nimport { generateCreateFirstUserViewMetadata } from '../CreateFirstUser/metadata.js'\nimport { generateDashboardViewMetadata } from '../Dashboard/metadata.js'\nimport { generateDocumentViewMetadata } from '../Document/metadata.js'\nimport { generateForgotPasswordViewMetadata } from '../ForgotPassword/metadata.js'\nimport { generateListViewMetadata } from '../List/metadata.js'\nimport { generateLoginViewMetadata } from '../Login/metadata.js'\nimport { generateNotFoundViewMetadata } from '../NotFound/metadata.js'\nimport { generateResetPasswordViewMetadata } from '../ResetPassword/metadata.js'\nimport { generateUnauthorizedViewMetadata } from '../Unauthorized/metadata.js'\nimport { generateVerifyViewMetadata } from '../Verify/metadata.js'\nimport { generateCustomViewMetadata } from './generateCustomViewMetadata.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\n\nconst oneSegmentMeta = {\n 'create-first-user': generateCreateFirstUserViewMetadata,\n folders: generateBrowseByFolderMetadata,\n forgot: generateForgotPasswordViewMetadata,\n login: generateLoginViewMetadata,\n logout: generateUnauthorizedViewMetadata,\n 'logout-inactivity': generateUnauthorizedViewMetadata,\n unauthorized: generateUnauthorizedViewMetadata,\n}\n\ntype Args = {\n config: Promise<SanitizedConfig>\n params: Promise<{\n [key: string]: string | string[]\n }>\n searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}\n\nexport const generatePageMetadata = async ({\n config: configPromise,\n params: paramsPromise,\n}: Args) => {\n const config = await configPromise\n const params = await paramsPromise\n\n const folderCollectionSlugs = config.collections.reduce((acc, { slug, admin }) => {\n if (admin?.folders) {\n return [...acc, slug]\n }\n return acc\n }, [])\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const currentRoute = `/${segments.join('/')}`\n const [segmentOne, segmentTwo, segmentThree] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n\n const i18n = await getNextRequestI18n({\n config,\n })\n\n let meta: Metadata\n\n // TODO: handle custom routes\n\n const collectionConfig =\n isCollection &&\n segments.length > 1 &&\n config?.collections?.find((collection) => collection.slug === segmentTwo)\n\n const globalConfig =\n isGlobal && segments.length > 1 && config?.globals?.find((global) => global.slug === segmentTwo)\n\n switch (segments.length) {\n case 0: {\n meta = await generateDashboardViewMetadata({ config, i18n })\n break\n }\n case 1: {\n if (folderCollectionSlugs.length && `/${segmentOne}` === config.admin.routes.browseByFolder) {\n // --> /:folderCollectionSlug\n meta = await oneSegmentMeta.folders({ config, i18n })\n } else if (segmentOne === 'account') {\n // --> /account\n meta = await generateAccountViewMetadata({ config, i18n })\n break\n } else if (oneSegmentMeta[segmentOne]) {\n // --> /create-first-user\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n meta = await oneSegmentMeta[segmentOne]({ config, i18n })\n break\n }\n break\n }\n case 2: {\n if (`/${segmentOne}` === config.admin.routes.reset) {\n // --> /reset/:token\n meta = await generateResetPasswordViewMetadata({ config, i18n })\n } else if (\n folderCollectionSlugs.length &&\n `/${segmentOne}` === config.admin.routes.browseByFolder\n ) {\n // --> /browse-by-folder/:folderID\n meta = await generateBrowseByFolderMetadata({ config, i18n })\n } else if (isCollection) {\n // --> /collections/:collectionSlug\n meta = await generateListViewMetadata({ collectionConfig, config, i18n })\n } else if (isGlobal) {\n // --> /globals/:globalSlug\n meta = await generateDocumentViewMetadata({\n config,\n globalConfig,\n i18n,\n params,\n })\n }\n break\n }\n default: {\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n meta = await generateVerifyViewMetadata({ config, i18n })\n } else if (isCollection) {\n if (segmentThree === config.folders.slug) {\n if (folderCollectionSlugs.includes(collectionConfig.slug)) {\n // Collection Folder Views\n // --> /collections/:collectionSlug/:folderCollectionSlug\n // --> /collections/:collectionSlug/:folderCollectionSlug/:id\n meta = await generateCollectionFolderMetadata({\n collectionConfig,\n config,\n i18n,\n params,\n })\n }\n } else {\n // Collection Document Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/preview\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:version\n // --> /collections/:collectionSlug/:id/api\n meta = await generateDocumentViewMetadata({ collectionConfig, config, i18n, params })\n }\n } else if (isGlobal) {\n // Global Document Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/versions/:version\n // --> /globals/:globalSlug/preview\n // --> /globals/:globalSlug/api\n meta = await generateDocumentViewMetadata({\n config,\n globalConfig,\n i18n,\n params,\n })\n }\n break\n }\n }\n\n if (!meta) {\n const { viewConfig, viewKey } = getCustomViewByRoute({\n config,\n currentRoute,\n })\n\n if (viewKey) {\n // Custom Views\n // --> /:path\n meta = await generateCustomViewMetadata({\n config,\n i18n,\n viewConfig,\n })\n } else {\n meta = await generateNotFoundViewMetadata({ config, i18n })\n }\n }\n\n return meta\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"metadata.js","names":["getNextRequestI18n","generateAccountViewMetadata","generateCreateFirstUserViewMetadata","generateDashboardViewMetadata","generateDocumentViewMetadata","generateForgotPasswordViewMetadata","generateListViewMetadata","generateLoginViewMetadata","generateNotFoundViewMetadata","generateResetPasswordViewMetadata","generateUnauthorizedViewMetadata","generateVerifyViewMetadata","generateCustomViewMetadata","getCustomViewByRoute","oneSegmentMeta","forgot","login","logout","unauthorized","generatePageMetadata","config","configPromise","params","paramsPromise","segments","Array","isArray","currentRoute","join","segmentOne","segmentTwo","isGlobal","isCollection","i18n","meta","collectionConfig","length","collections","find","collection","slug","globalConfig","globals","global","admin","routes","reset","viewConfig","viewKey"],"sources":["../../../src/views/Root/metadata.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { SanitizedConfig } from 'payload'\n\nimport { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js'\nimport { generateAccountViewMetadata } from '../Account/metadata.js'\nimport { generateCreateFirstUserViewMetadata } from '../CreateFirstUser/metadata.js'\nimport { generateDashboardViewMetadata } from '../Dashboard/metadata.js'\nimport { generateDocumentViewMetadata } from '../Document/metadata.js'\nimport { generateForgotPasswordViewMetadata } from '../ForgotPassword/metadata.js'\nimport { generateListViewMetadata } from '../List/metadata.js'\nimport { generateLoginViewMetadata } from '../Login/metadata.js'\nimport { generateNotFoundViewMetadata } from '../NotFound/metadata.js'\nimport { generateResetPasswordViewMetadata } from '../ResetPassword/metadata.js'\nimport { generateUnauthorizedViewMetadata } from '../Unauthorized/metadata.js'\nimport { generateVerifyViewMetadata } from '../Verify/metadata.js'\nimport { generateCustomViewMetadata } from './generateCustomViewMetadata.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\n\nconst oneSegmentMeta = {\n 'create-first-user': generateCreateFirstUserViewMetadata,\n forgot: generateForgotPasswordViewMetadata,\n login: generateLoginViewMetadata,\n logout: generateUnauthorizedViewMetadata,\n 'logout-inactivity': generateUnauthorizedViewMetadata,\n unauthorized: generateUnauthorizedViewMetadata,\n}\n\ntype Args = {\n config: Promise<SanitizedConfig>\n params: Promise<{\n [key: string]: string | string[]\n }>\n searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}\n\nexport const generatePageMetadata = async ({\n config: configPromise,\n params: paramsPromise,\n}: Args) => {\n const config = await configPromise\n\n const params = await paramsPromise\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const currentRoute = `/${segments.join('/')}`\n const [segmentOne, segmentTwo] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n\n const i18n = await getNextRequestI18n({\n config,\n })\n\n let meta: Metadata\n\n // TODO: handle custom routes\n\n const collectionConfig =\n isCollection &&\n segments.length > 1 &&\n config?.collections?.find((collection) => collection.slug === segmentTwo)\n\n const globalConfig =\n isGlobal && segments.length > 1 && config?.globals?.find((global) => global.slug === segmentTwo)\n\n switch (segments.length) {\n case 0: {\n meta = await generateDashboardViewMetadata({ config, i18n })\n break\n }\n case 1: {\n if (oneSegmentMeta[segmentOne] && segmentOne !== 'account') {\n // --> /create-first-user\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n meta = await oneSegmentMeta[segmentOne]({ config, i18n })\n break\n } else if (segmentOne === 'account') {\n // --> /account\n meta = await generateAccountViewMetadata({ config, i18n })\n break\n }\n break\n }\n case 2: {\n if (`/${segmentOne}` === config.admin.routes.reset) {\n // --> /reset/:token\n meta = await generateResetPasswordViewMetadata({ config, i18n })\n }\n if (isCollection) {\n // --> /collections/:collectionSlug\n meta = await generateListViewMetadata({ collectionConfig, config, i18n })\n } else if (isGlobal) {\n // --> /globals/:globalSlug\n meta = await generateDocumentViewMetadata({\n config,\n globalConfig,\n i18n,\n params,\n })\n }\n break\n }\n default: {\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n meta = await generateVerifyViewMetadata({ config, i18n })\n } else if (isCollection) {\n // Custom Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/preview\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:version\n // --> /collections/:collectionSlug/:id/api\n meta = await generateDocumentViewMetadata({ collectionConfig, config, i18n, params })\n } else if (isGlobal) {\n // Custom Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/versions/:version\n // --> /globals/:globalSlug/preview\n // --> /globals/:globalSlug/api\n meta = await generateDocumentViewMetadata({\n config,\n globalConfig,\n i18n,\n params,\n })\n }\n break\n }\n }\n\n if (!meta) {\n const { viewConfig, viewKey } = getCustomViewByRoute({\n config,\n currentRoute,\n })\n\n if (viewKey) {\n // Custom Views\n // --> /:path\n meta = await generateCustomViewMetadata({\n config,\n i18n,\n viewConfig,\n })\n } else {\n meta = await generateNotFoundViewMetadata({ config, i18n })\n }\n }\n\n return meta\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"countChangedFields.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/countChangedFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAO7F,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,OAAO,CAAA;IACnB,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,UAAU,EACV,MAAM,EACN,MAAM,EACN,OAAO,EACP,iBAAiB,EACjB,OAAO,GACR,EAAE,IAAI,UAoLN;AAED,KAAK,4BAA4B,GAAG;IAClC,cAAc,EAAE,OAAO,EAAE,CAAA;IACzB,MAAM,EAAE,YAAY,CAAA;IACpB,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAAA;IAC3C,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,WAAW,EAAE,OAAO,EAAE,CAAA;CACvB,CAAA;AAED,wBAAgB,wBAAwB,CAAC,EACvC,cAAmB,EACnB,MAAM,EACN,KAAK,EACL,OAAO,EACP,iBAAiB,EACjB,WAAgB,GACjB,EAAE,4BAA4B,UA6B9B"}
1
+ {"version":3,"file":"countChangedFields.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/countChangedFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAO7F,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,OAAO,CAAA;IACnB,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,UAAU,EACV,MAAM,EACN,MAAM,EACN,OAAO,EACP,iBAAiB,EACjB,OAAO,GACR,EAAE,IAAI,UAwKN;AAED,KAAK,4BAA4B,GAAG;IAClC,cAAc,EAAE,OAAO,EAAE,CAAA;IACzB,MAAM,EAAE,YAAY,CAAA;IACpB,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAAA;IAC3C,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,WAAW,EAAE,OAAO,EAAE,CAAA;CACvB,CAAA;AAED,wBAAgB,wBAAwB,CAAC,EACvC,cAAmB,EACnB,MAAM,EACN,KAAK,EACL,OAAO,EACP,iBAAiB,EACjB,WAAgB,GACjB,EAAE,4BAA4B,UA6B9B"}
@@ -1,4 +1,4 @@
1
- import { fieldShouldBeLocalized, groupHasName } from 'payload/shared';
1
+ import { fieldShouldBeLocalized } from 'payload/shared';
2
2
  import { fieldHasChanges } from './fieldHasChanges.js';
3
3
  import { getFieldsForRowComparison } from './getFieldsForRowComparison.js';
4
4
  /**
@@ -105,40 +105,28 @@ export function countChangedFields({
105
105
  // Fields that have nested fields and nest their fields' data.
106
106
  case 'group':
107
107
  {
108
- if (groupHasName(field)) {
109
- if (locales && fieldShouldBeLocalized({
110
- field,
111
- parentIsLocalized
112
- })) {
113
- locales.forEach(locale => {
114
- count += countChangedFields({
115
- comparison: comparison?.[field.name]?.[locale],
116
- config,
117
- fields: field.fields,
118
- locales,
119
- parentIsLocalized: parentIsLocalized || field.localized,
120
- version: version?.[field.name]?.[locale]
121
- });
122
- });
123
- } else {
108
+ if (locales && fieldShouldBeLocalized({
109
+ field,
110
+ parentIsLocalized
111
+ })) {
112
+ locales.forEach(locale => {
124
113
  count += countChangedFields({
125
- comparison: comparison?.[field.name],
114
+ comparison: comparison?.[field.name]?.[locale],
126
115
  config,
127
116
  fields: field.fields,
128
117
  locales,
129
118
  parentIsLocalized: parentIsLocalized || field.localized,
130
- version: version?.[field.name]
119
+ version: version?.[field.name]?.[locale]
131
120
  });
132
- }
121
+ });
133
122
  } else {
134
- // Unnamed group field: data is NOT nested under `field.name`
135
123
  count += countChangedFields({
136
- comparison,
124
+ comparison: comparison?.[field.name],
137
125
  config,
138
126
  fields: field.fields,
139
127
  locales,
140
128
  parentIsLocalized: parentIsLocalized || field.localized,
141
- version
129
+ version: version?.[field.name]
142
130
  });
143
131
  }
144
132
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"countChangedFields.js","names":["fieldShouldBeLocalized","groupHasName","fieldHasChanges","getFieldsForRowComparison","countChangedFields","comparison","config","fields","locales","parentIsLocalized","version","count","forEach","field","name","fieldType","type","locale","comparisonRows","versionRows","countChangedFieldsInRows","localized","tabs","tab","_exhaustiveCheck","Error","String","i","comparisonRow","versionRow","rowFields","baseVersionField","path","schemaPath","row"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/countChangedFields.ts"],"sourcesContent":["import type { ArrayFieldClient, BlocksFieldClient, ClientConfig, ClientField } from 'payload'\n\nimport { fieldShouldBeLocalized, groupHasName } from 'payload/shared'\n\nimport { fieldHasChanges } from './fieldHasChanges.js'\nimport { getFieldsForRowComparison } from './getFieldsForRowComparison.js'\n\ntype Args = {\n comparison: unknown\n config: ClientConfig\n fields: ClientField[]\n locales: string[] | undefined\n parentIsLocalized: boolean\n version: unknown\n}\n\n/**\n * Recursively counts the number of changed fields between comparison and\n * version data for a given set of fields.\n */\nexport function countChangedFields({\n comparison,\n config,\n fields,\n locales,\n parentIsLocalized,\n version,\n}: Args) {\n let count = 0\n\n fields.forEach((field) => {\n // Don't count the id field since it is not displayed in the UI\n if ('name' in field && field.name === 'id') {\n return\n }\n const fieldType = field.type\n switch (fieldType) {\n // Iterable fields are arrays and blocks fields. We iterate over each row and\n // count the number of changed fields in each.\n case 'array':\n case 'blocks': {\n if (locales && fieldShouldBeLocalized({ field, parentIsLocalized })) {\n locales.forEach((locale) => {\n const comparisonRows = comparison?.[field.name]?.[locale] ?? []\n const versionRows = version?.[field.name]?.[locale] ?? []\n count += countChangedFieldsInRows({\n comparisonRows,\n config,\n field,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n versionRows,\n })\n })\n } else {\n const comparisonRows = comparison?.[field.name] ?? []\n const versionRows = version?.[field.name] ?? []\n count += countChangedFieldsInRows({\n comparisonRows,\n config,\n field,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n versionRows,\n })\n }\n break\n }\n\n // Regular fields without nested fields.\n case 'checkbox':\n case 'code':\n case 'date':\n case 'email':\n case 'join':\n case 'json':\n case 'number':\n case 'point':\n case 'radio':\n case 'relationship':\n case 'richText':\n case 'select':\n case 'text':\n case 'textarea':\n case 'upload': {\n // Fields that have a name and contain data. We can just check if the data has changed.\n if (locales && fieldShouldBeLocalized({ field, parentIsLocalized })) {\n locales.forEach((locale) => {\n if (\n fieldHasChanges(version?.[field.name]?.[locale], comparison?.[field.name]?.[locale])\n ) {\n count++\n }\n })\n } else if (fieldHasChanges(version?.[field.name], comparison?.[field.name])) {\n count++\n }\n break\n }\n // Fields that have nested fields, but don't nest their fields' data.\n case 'collapsible':\n case 'row': {\n count += countChangedFields({\n comparison,\n config,\n fields: field.fields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n version,\n })\n\n break\n }\n\n // Fields that have nested fields and nest their fields' data.\n case 'group': {\n if (groupHasName(field)) {\n if (locales && fieldShouldBeLocalized({ field, parentIsLocalized })) {\n locales.forEach((locale) => {\n count += countChangedFields({\n comparison: comparison?.[field.name]?.[locale],\n config,\n fields: field.fields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n version: version?.[field.name]?.[locale],\n })\n })\n } else {\n count += countChangedFields({\n comparison: comparison?.[field.name],\n config,\n fields: field.fields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n version: version?.[field.name],\n })\n }\n } else {\n // Unnamed group field: data is NOT nested under `field.name`\n count += countChangedFields({\n comparison,\n config,\n fields: field.fields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n version,\n })\n }\n break\n }\n\n // Each tab in a tabs field has nested fields. The fields data may be\n // nested or not depending on the existence of a name property.\n case 'tabs': {\n field.tabs.forEach((tab) => {\n if ('name' in tab && locales && tab.localized) {\n // Named localized tab\n locales.forEach((locale) => {\n count += countChangedFields({\n comparison: comparison?.[tab.name]?.[locale],\n config,\n fields: tab.fields,\n locales,\n parentIsLocalized: parentIsLocalized || tab.localized,\n version: version?.[tab.name]?.[locale],\n })\n })\n } else if ('name' in tab) {\n // Named tab\n count += countChangedFields({\n comparison: comparison?.[tab.name],\n config,\n fields: tab.fields,\n locales,\n parentIsLocalized: parentIsLocalized || tab.localized,\n version: version?.[tab.name],\n })\n } else {\n // Unnamed tab\n count += countChangedFields({\n comparison,\n config,\n fields: tab.fields,\n locales,\n parentIsLocalized: parentIsLocalized || tab.localized,\n version,\n })\n }\n })\n break\n }\n\n // UI fields don't have data and are not displayed in the version view\n // so we can ignore them.\n case 'ui': {\n break\n }\n\n default: {\n const _exhaustiveCheck: never = fieldType\n throw new Error(`Unexpected field.type in countChangedFields : ${String(fieldType)}`)\n }\n }\n })\n\n return count\n}\n\ntype countChangedFieldsInRowsArgs = {\n comparisonRows: unknown[]\n config: ClientConfig\n field: ArrayFieldClient | BlocksFieldClient\n locales: string[] | undefined\n parentIsLocalized: boolean\n versionRows: unknown[]\n}\n\nexport function countChangedFieldsInRows({\n comparisonRows = [],\n config,\n field,\n locales,\n parentIsLocalized,\n versionRows = [],\n}: countChangedFieldsInRowsArgs) {\n let count = 0\n let i = 0\n\n while (comparisonRows[i] || versionRows[i]) {\n const comparisonRow = comparisonRows?.[i] || {}\n const versionRow = versionRows?.[i] || {}\n\n const { fields: rowFields } = getFieldsForRowComparison({\n baseVersionField: { type: 'text', fields: [], path: '', schemaPath: '' }, // Doesn't matter, as we don't need the versionFields output here\n comparisonRow,\n config,\n field,\n row: i,\n versionRow,\n })\n\n count += countChangedFields({\n comparison: comparisonRow,\n config,\n fields: rowFields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n version: versionRow,\n })\n\n i++\n }\n return count\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"countChangedFields.js","names":["fieldShouldBeLocalized","fieldHasChanges","getFieldsForRowComparison","countChangedFields","comparison","config","fields","locales","parentIsLocalized","version","count","forEach","field","name","fieldType","type","locale","comparisonRows","versionRows","countChangedFieldsInRows","localized","tabs","tab","_exhaustiveCheck","Error","String","i","comparisonRow","versionRow","rowFields","baseVersionField","path","schemaPath","row"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/countChangedFields.ts"],"sourcesContent":["import type { ArrayFieldClient, BlocksFieldClient, ClientConfig, ClientField } from 'payload'\n\nimport { fieldShouldBeLocalized } from 'payload/shared'\n\nimport { fieldHasChanges } from './fieldHasChanges.js'\nimport { getFieldsForRowComparison } from './getFieldsForRowComparison.js'\n\ntype Args = {\n comparison: unknown\n config: ClientConfig\n fields: ClientField[]\n locales: string[] | undefined\n parentIsLocalized: boolean\n version: unknown\n}\n\n/**\n * Recursively counts the number of changed fields between comparison and\n * version data for a given set of fields.\n */\nexport function countChangedFields({\n comparison,\n config,\n fields,\n locales,\n parentIsLocalized,\n version,\n}: Args) {\n let count = 0\n\n fields.forEach((field) => {\n // Don't count the id field since it is not displayed in the UI\n if ('name' in field && field.name === 'id') {\n return\n }\n const fieldType = field.type\n switch (fieldType) {\n // Iterable fields are arrays and blocks fields. We iterate over each row and\n // count the number of changed fields in each.\n case 'array':\n case 'blocks': {\n if (locales && fieldShouldBeLocalized({ field, parentIsLocalized })) {\n locales.forEach((locale) => {\n const comparisonRows = comparison?.[field.name]?.[locale] ?? []\n const versionRows = version?.[field.name]?.[locale] ?? []\n count += countChangedFieldsInRows({\n comparisonRows,\n config,\n field,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n versionRows,\n })\n })\n } else {\n const comparisonRows = comparison?.[field.name] ?? []\n const versionRows = version?.[field.name] ?? []\n count += countChangedFieldsInRows({\n comparisonRows,\n config,\n field,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n versionRows,\n })\n }\n break\n }\n\n // Regular fields without nested fields.\n case 'checkbox':\n case 'code':\n case 'date':\n case 'email':\n case 'join':\n case 'json':\n case 'number':\n case 'point':\n case 'radio':\n case 'relationship':\n case 'richText':\n case 'select':\n case 'text':\n case 'textarea':\n case 'upload': {\n // Fields that have a name and contain data. We can just check if the data has changed.\n if (locales && fieldShouldBeLocalized({ field, parentIsLocalized })) {\n locales.forEach((locale) => {\n if (\n fieldHasChanges(version?.[field.name]?.[locale], comparison?.[field.name]?.[locale])\n ) {\n count++\n }\n })\n } else if (fieldHasChanges(version?.[field.name], comparison?.[field.name])) {\n count++\n }\n break\n }\n // Fields that have nested fields, but don't nest their fields' data.\n case 'collapsible':\n case 'row': {\n count += countChangedFields({\n comparison,\n config,\n fields: field.fields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n version,\n })\n\n break\n }\n\n // Fields that have nested fields and nest their fields' data.\n case 'group': {\n if (locales && fieldShouldBeLocalized({ field, parentIsLocalized })) {\n locales.forEach((locale) => {\n count += countChangedFields({\n comparison: comparison?.[field.name]?.[locale],\n config,\n fields: field.fields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n version: version?.[field.name]?.[locale],\n })\n })\n } else {\n count += countChangedFields({\n comparison: comparison?.[field.name],\n config,\n fields: field.fields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n version: version?.[field.name],\n })\n }\n break\n }\n\n // Each tab in a tabs field has nested fields. The fields data may be\n // nested or not depending on the existence of a name property.\n case 'tabs': {\n field.tabs.forEach((tab) => {\n if ('name' in tab && locales && tab.localized) {\n // Named localized tab\n locales.forEach((locale) => {\n count += countChangedFields({\n comparison: comparison?.[tab.name]?.[locale],\n config,\n fields: tab.fields,\n locales,\n parentIsLocalized: parentIsLocalized || tab.localized,\n version: version?.[tab.name]?.[locale],\n })\n })\n } else if ('name' in tab) {\n // Named tab\n count += countChangedFields({\n comparison: comparison?.[tab.name],\n config,\n fields: tab.fields,\n locales,\n parentIsLocalized: parentIsLocalized || tab.localized,\n version: version?.[tab.name],\n })\n } else {\n // Unnamed tab\n count += countChangedFields({\n comparison,\n config,\n fields: tab.fields,\n locales,\n parentIsLocalized: parentIsLocalized || tab.localized,\n version,\n })\n }\n })\n break\n }\n\n // UI fields don't have data and are not displayed in the version view\n // so we can ignore them.\n case 'ui': {\n break\n }\n\n default: {\n const _exhaustiveCheck: never = fieldType\n throw new Error(`Unexpected field.type in countChangedFields : ${String(fieldType)}`)\n }\n }\n })\n\n return count\n}\n\ntype countChangedFieldsInRowsArgs = {\n comparisonRows: unknown[]\n config: ClientConfig\n field: ArrayFieldClient | BlocksFieldClient\n locales: string[] | undefined\n parentIsLocalized: boolean\n versionRows: unknown[]\n}\n\nexport function countChangedFieldsInRows({\n comparisonRows = [],\n config,\n field,\n locales,\n parentIsLocalized,\n versionRows = [],\n}: countChangedFieldsInRowsArgs) {\n let count = 0\n let i = 0\n\n while (comparisonRows[i] || versionRows[i]) {\n const comparisonRow = comparisonRows?.[i] || {}\n const versionRow = versionRows?.[i] || {}\n\n const { fields: rowFields } = getFieldsForRowComparison({\n baseVersionField: { type: 'text', fields: [], path: '', schemaPath: '' }, // Doesn't matter, as we don't need the versionFields output here\n comparisonRow,\n config,\n field,\n row: i,\n versionRow,\n })\n\n count += countChangedFields({\n comparison: comparisonRow,\n config,\n fields: rowFields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n version: versionRow,\n })\n\n i++\n }\n return count\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Versions/cells/AutosaveCell/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,KAAK,iBAAiB,GAAG;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,OAAO,EAAE;YACP,OAAO,CAAC,EAAE,MAAM,CAAA;SACjB,CAAA;KACF,CAAA;CACF,CAAA;AAED,eAAO,MAAM,UAAU,6GAatB,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAkDpD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Versions/cells/AutosaveCell/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,KAAK,iBAAiB,GAAG;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,OAAO,EAAE;YACP,OAAO,CAAC,EAAE,MAAM,CAAA;SACjB,CAAA;KACF,CAAA;CACF,CAAA;AAED,eAAO,MAAM,UAAU,6GAWtB,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAkDpD,CAAA"}
@@ -8,10 +8,8 @@ export const renderPill = (data, latestVersion, currentLabel, previousLabel, pil
8
8
  return /*#__PURE__*/_jsxs(React.Fragment, {
9
9
  children: [data?.id === latestVersion ? /*#__PURE__*/_jsx(Pill, {
10
10
  pillStyle: pillStyle,
11
- size: "small",
12
11
  children: currentLabel
13
12
  }) : /*#__PURE__*/_jsx(Pill, {
14
- size: "small",
15
13
  children: previousLabel
16
14
  }), "  "]
17
15
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","Pill","useConfig","useTranslation","React","Fragment","renderPill","data","latestVersion","currentLabel","previousLabel","pillStyle","_jsxs","id","_jsx","size","AutosaveCell","t0","$","latestDraftVersion","latestPublishedVersion","rowData","t1","t2","undefined","autosave","publishedLocale","version","i18n","t","config","t3","localization","status","_status","t4","language","publishedLocalePill","versionInfo","draft","published","locales","localeCode","Array","isArray","t5","loc","code","locale","find","formattedLabel","label","children"],"sources":["../../../../../src/views/Versions/cells/AutosaveCell/index.tsx"],"sourcesContent":["'use client'\nimport { Pill, useConfig, useTranslation } from '@payloadcms/ui'\nimport React, { Fragment } from 'react'\n\ntype AutosaveCellProps = {\n latestDraftVersion?: string\n latestPublishedVersion?: string\n rowData?: {\n autosave?: boolean\n publishedLocale?: string\n version: {\n _status?: string\n }\n }\n}\n\nexport const renderPill = (data, latestVersion, currentLabel, previousLabel, pillStyle) => {\n return (\n <React.Fragment>\n {data?.id === latestVersion ? (\n <Pill pillStyle={pillStyle} size=\"small\">\n {currentLabel}\n </Pill>\n ) : (\n <Pill size=\"small\">{previousLabel}</Pill>\n )}\n &nbsp;&nbsp;\n </React.Fragment>\n )\n}\n\nexport const AutosaveCell: React.FC<AutosaveCellProps> = ({\n latestDraftVersion,\n latestPublishedVersion,\n rowData = { autosave: undefined, publishedLocale: undefined, version: undefined },\n}) => {\n const { i18n, t } = useTranslation()\n\n const {\n config: { localization },\n } = useConfig()\n\n const publishedLocale = rowData?.publishedLocale || undefined\n const status = rowData?.version._status\n let publishedLocalePill = null\n\n const versionInfo = {\n draft: {\n currentLabel: t('version:currentDraft'),\n latestVersion: latestDraftVersion,\n pillStyle: undefined,\n previousLabel: t('version:draft'),\n },\n published: {\n currentLabel: t('version:currentPublishedVersion'),\n latestVersion: latestPublishedVersion,\n pillStyle: 'success',\n previousLabel: t('version:previouslyPublished'),\n },\n }\n\n const { currentLabel, latestVersion, pillStyle, previousLabel } = versionInfo[status] || {}\n\n if (localization && localization?.locales && publishedLocale) {\n const localeCode = Array.isArray(publishedLocale) ? publishedLocale[0] : publishedLocale\n\n const locale = localization.locales.find((loc) => loc.code === localeCode)\n const formattedLabel = locale?.label?.[i18n?.language] || locale?.label\n\n if (formattedLabel) {\n publishedLocalePill = <Pill>{formattedLabel}</Pill>\n }\n }\n\n return (\n <Fragment>\n {rowData?.autosave && <Pill>{t('version:autosave')}</Pill>}\n {status && renderPill(rowData, latestVersion, currentLabel, previousLabel, pillStyle)}\n {publishedLocalePill}\n </Fragment>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,SAASC,IAAI,EAAEC,SAAS,EAAEC,cAAc,QAAQ;AAChD,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAchC,OAAO,MAAMC,UAAA,GAAaA,CAACC,IAAA,EAAMC,aAAA,EAAeC,YAAA,EAAcC,aAAA,EAAeC,SAAA;EAC3E,oBACEC,KAAA,CAACR,KAAA,CAAMC,QAAQ;eACZE,IAAA,EAAMM,EAAA,KAAOL,aAAA,gBACZM,IAAA,CAACb,IAAA;MAAKU,SAAA,EAAWA,SAAA;MAAWI,IAAA,EAAK;gBAC9BN;sBAGHK,IAAA,CAACb,IAAA;MAAKc,IAAA,EAAK;gBAASL;QACpB;;AAIR;AAEA,OAAO,MAAMM,YAAA,GAA4CC,EAAA;EAAA,MAAAC,CAAA,GAAAlB,EAAA;EAAC;IAAAmB,kBAAA;IAAAC,sBAAA;IAAAC,OAAA,EAAAC;EAAA,IAAAL,EAIzD;EAAA,IAAAM,EAAA;EAAA,IAAAL,CAAA,QAAAI,EAAA;IADCC,EAAA,GAAAD,EAAiF,KAAAE,SAAA;MAAAC,QAAA,EAAAD,SAAA;MAAAE,eAAA,EAAAF,SAAA;MAAAG,OAAA,EAAAH;IAAA,IAAjFF,EAAiF;IAAAJ,CAAA,MAAAI,EAAA;IAAAJ,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EAAjF,MAAAG,OAAA,GAAAE,EAAiF;EAEjF;IAAAK,IAAA;IAAAC;EAAA,IAAoB1B,cAAA;EAEpB;IAAA2B,MAAA,EAAAC;EAAA,IAEI7B,SAAA;EADM;IAAA8B;EAAA,IAAAD,EAAgB;EAG1B,MAAAL,eAAA,GAAwBL,OAAA,EAAAK,eAAA,IAAAF,SAA4B;EACpD,MAAAS,MAAA,GAAeZ,OAAA,EAAAM,OAAA,CAAAO,OAAA;EAAiB,IAAAC,EAAA;EAAA,IAAAjB,CAAA,QAAAU,IAAA,EAAAQ,QAAA,IAAAlB,CAAA,QAAAC,kBAAA,IAAAD,CAAA,QAAAE,sBAAA,IAAAF,CAAA,QAAAc,YAAA,IAAAd,CAAA,QAAAQ,eAAA,IAAAR,CAAA,QAAAG,OAAA,IAAAH,CAAA,QAAAe,MAAA,IAAAf,CAAA,QAAAW,CAAA;IAChC,IAAAQ,mBAAA;IAEA,MAAAC,WAAA;MAAAC,KAAA;QAAA9B,YAAA,EAEkBoB,CAAA,CAAE;QAAArB,aAAA,EACDW,kBAAA;QAAAR,SAAA,EAAAa,SAAA;QAAAd,aAAA,EAEAmB,CAAA,CAAE;MAAA;MAAAW,SAAA;QAAA/B,YAAA,EAGHoB,CAAA,CAAE;QAAArB,aAAA,EACDY,sBAAA;QAAAT,SAAA,EACJ;QAAAD,aAAA,EACImB,CAAA,CAAE;MAAA;IAAA;IAIrB;MAAApB,YAAA;MAAAD,aAAA;MAAAG,SAAA;MAAAD;IAAA,IAAkE4B,WAAW,CAACL,MAAA,OAAY;IAAA,IAEtFD,YAAA,IAAgBA,YAAA,EAAAS,OAAc,IAAWf,eAAA;MAC3C,MAAAgB,UAAA,GAAmBC,KAAA,CAAAC,OAAA,CAAclB,eAAA,IAAmBA,eAAe,MAAMA,eAAA;MAAA,IAAAmB,EAAA;MAAA,IAAA3B,CAAA,SAAAwB,UAAA;QAEhCG,EAAA,GAAAC,GAAA,IAASA,GAAA,CAAAC,IAAA,KAAaL,UAAA;QAAAxB,CAAA,OAAAwB,UAAA;QAAAxB,CAAA,OAAA2B,EAAA;MAAA;QAAAA,EAAA,GAAA3B,CAAA;MAAA;MAA/D,MAAA8B,MAAA,GAAehB,YAAA,CAAAS,OAAA,CAAAQ,IAAA,CAA0BJ,EAAsB;MAC/D,MAAAK,cAAA,GAAuBF,MAAA,EAAAG,KAAA,GAAgBvB,IAAA,EAAAQ,QAAA,KAAmBY,MAAA,EAAAG,KAAQ;MAAA,IAE9DD,cAAA;QACFb,mBAAA,CAAAA,CAAA,CAAsBA,UAAA,CAAAA;UAAAA,SAAA,CAAOa;QAAA,C;MAA7B;IAAA;IAAA,IAAAL,EAAA;IAAA,IAAA3B,CAAA,SAAAG,OAAA,EAAAI,QAAA,IAAAP,CAAA,SAAAW,CAAA;MAMCgB,EAAA,GAAAxB,OAAA,EAAAI,QAAA,IAAqBX,IAAA,CAAAb,IAAA;QAAAmD,QAAA,EAAOvB,CAAA,CAAE;MAAA,C;;;;;;;IADjCM,EAAA,GAAAvB,KAAA,CAAAP,QAAA;MAAA+C,QAAA,GACGP,E,EACAZ,MAAA,IAAU3B,UAAA,CAAWe,OAAA,EAASb,aAAA,EAAeC,YAAA,EAAcC,aAAA,EAAeC,SAAA,GAC1E0B,mBAAA;IAAA,C;;;;;;;;;;;;;SAHHF,E;CAMJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","Pill","useConfig","useTranslation","React","Fragment","renderPill","data","latestVersion","currentLabel","previousLabel","pillStyle","_jsxs","id","_jsx","AutosaveCell","t0","$","latestDraftVersion","latestPublishedVersion","rowData","t1","t2","undefined","autosave","publishedLocale","version","i18n","t","config","t3","localization","status","_status","t4","language","publishedLocalePill","versionInfo","draft","published","locales","localeCode","Array","isArray","t5","loc","code","locale","find","formattedLabel","label","children"],"sources":["../../../../../src/views/Versions/cells/AutosaveCell/index.tsx"],"sourcesContent":["'use client'\nimport { Pill, useConfig, useTranslation } from '@payloadcms/ui'\nimport React, { Fragment } from 'react'\n\ntype AutosaveCellProps = {\n latestDraftVersion?: string\n latestPublishedVersion?: string\n rowData?: {\n autosave?: boolean\n publishedLocale?: string\n version: {\n _status?: string\n }\n }\n}\n\nexport const renderPill = (data, latestVersion, currentLabel, previousLabel, pillStyle) => {\n return (\n <React.Fragment>\n {data?.id === latestVersion ? (\n <Pill pillStyle={pillStyle}>{currentLabel}</Pill>\n ) : (\n <Pill>{previousLabel}</Pill>\n )}\n &nbsp;&nbsp;\n </React.Fragment>\n )\n}\n\nexport const AutosaveCell: React.FC<AutosaveCellProps> = ({\n latestDraftVersion,\n latestPublishedVersion,\n rowData = { autosave: undefined, publishedLocale: undefined, version: undefined },\n}) => {\n const { i18n, t } = useTranslation()\n\n const {\n config: { localization },\n } = useConfig()\n\n const publishedLocale = rowData?.publishedLocale || undefined\n const status = rowData?.version._status\n let publishedLocalePill = null\n\n const versionInfo = {\n draft: {\n currentLabel: t('version:currentDraft'),\n latestVersion: latestDraftVersion,\n pillStyle: undefined,\n previousLabel: t('version:draft'),\n },\n published: {\n currentLabel: t('version:currentPublishedVersion'),\n latestVersion: latestPublishedVersion,\n pillStyle: 'success',\n previousLabel: t('version:previouslyPublished'),\n },\n }\n\n const { currentLabel, latestVersion, pillStyle, previousLabel } = versionInfo[status] || {}\n\n if (localization && localization?.locales && publishedLocale) {\n const localeCode = Array.isArray(publishedLocale) ? publishedLocale[0] : publishedLocale\n\n const locale = localization.locales.find((loc) => loc.code === localeCode)\n const formattedLabel = locale?.label?.[i18n?.language] || locale?.label\n\n if (formattedLabel) {\n publishedLocalePill = <Pill>{formattedLabel}</Pill>\n }\n }\n\n return (\n <Fragment>\n {rowData?.autosave && <Pill>{t('version:autosave')}</Pill>}\n {status && renderPill(rowData, latestVersion, currentLabel, previousLabel, pillStyle)}\n {publishedLocalePill}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,5 @@
1
- export function withPayload(nextConfig?: import("next").NextConfig, options?: {}): import("next").NextConfig;
1
+ export function withPayload(nextConfig?: import("next").NextConfig, options?: {
2
+ devBundleServerPackages?: boolean;
3
+ }): import("next").NextConfig;
2
4
  export default withPayload;
3
5
  //# sourceMappingURL=withPayload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"withPayload.d.ts","sourceRoot":"","sources":["../src/withPayload.js"],"names":[],"mappings":"AAOO,yCANI,OAAO,MAAM,EAAE,UAAU,iBAIvB,OAAO,MAAM,EAAE,UAAU,CA2KrC"}
1
+ {"version":3,"file":"withPayload.d.ts","sourceRoot":"","sources":["../src/withPayload.js"],"names":[],"mappings":"AAOO,yCANI,OAAO,MAAM,EAAE,UAAU,YAEjC;IAA0B,uBAAuB,GAAzC,OAAO;CAA6F,GAElG,OAAO,MAAM,EAAE,UAAU,CA2KrC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @param {import('next').NextConfig} nextConfig
3
- * @param {Object} [sortOnOptions] - Optional configuration options
4
- * @param {boolean} [sortOnOptions.devBundleServerPackages] - Whether to bundle server packages in development mode. @default true
3
+ * @param {Object} [options] - Optional configuration options
4
+ * @param {boolean} [options.devBundleServerPackages] - Whether to bundle server packages in development mode. @default true
5
5
  *
6
6
  * @returns {import('next').NextConfig}
7
7
  * */export const withPayload = (nextConfig = {}, options = {}) => {
@@ -1 +1 @@
1
- {"version":3,"file":"withPayload.js","names":["withPayload","nextConfig","options","env","experimental","staleTimes","dynamic","console","warn","NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH","process","PAYLOAD_PATCH_TURBOPACK_WARNINGS","turbopackWarningText","consoleWarn","args","includes","poweredByHeader","key","value","toReturn","outputFileTracingExcludes","outputFileTracingIncludes","headers","headersFromConfig","source","serverExternalPackages","NODE_ENV","devBundleServerPackages","webpack","webpackConfig","webpackOptions","incomingWebpackConfig","externals","ignoreWarnings","module","file","plugins","IgnorePlugin","resourceRegExp","resolve","alias","fallback","aws4","kerberos","snappy","basePath","NEXT_BASE_PATH"],"sources":["../src/withPayload.js"],"sourcesContent":["/**\n * @param {import('next').NextConfig} nextConfig\n * @param {Object} [sortOnOptions] - Optional configuration options\n * @param {boolean} [sortOnOptions.devBundleServerPackages] - Whether to bundle server packages in development mode. @default true\n *\n * @returns {import('next').NextConfig}\n * */\nexport const withPayload = (nextConfig = {}, options = {}) => {\n const env = nextConfig?.env || {}\n\n if (nextConfig.experimental?.staleTimes?.dynamic) {\n console.warn(\n 'Payload detected a non-zero value for the `staleTimes.dynamic` option in your Next.js config. This will slow down page transitions and may cause stale data to load within the Admin panel. To clear this warning, remove the `staleTimes.dynamic` option from your Next.js config or set it to 0. In the future, Next.js may support scoping this option to specific routes.',\n )\n env.NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH = 'true'\n }\n\n if (process.env.PAYLOAD_PATCH_TURBOPACK_WARNINGS !== 'false') {\n const turbopackWarningText =\n 'Packages that should be external need to be installed in the project directory, so they can be resolved from the output files.\\nTry to install it into the project directory by running'\n\n const consoleWarn = console.warn\n console.warn = (...args) => {\n // Force to disable serverExternalPackages warnings: https://github.com/vercel/next.js/issues/68805\n if (\n (typeof args[1] === 'string' && args[1].includes(turbopackWarningText)) ||\n (typeof args[0] === 'string' && args[0].includes(turbopackWarningText))\n ) {\n return\n }\n\n consoleWarn(...args)\n }\n }\n\n const poweredByHeader = {\n key: 'X-Powered-By',\n value: 'Next.js, Payload',\n }\n\n /**\n * @type {import('next').NextConfig}\n */\n const toReturn = {\n ...nextConfig,\n env,\n outputFileTracingExcludes: {\n ...(nextConfig?.outputFileTracingExcludes || {}),\n '**/*': [\n ...(nextConfig?.outputFileTracingExcludes?.['**/*'] || []),\n 'drizzle-kit',\n 'drizzle-kit/api',\n ],\n },\n outputFileTracingIncludes: {\n ...(nextConfig?.outputFileTracingIncludes || {}),\n '**/*': [...(nextConfig?.outputFileTracingIncludes?.['**/*'] || []), '@libsql/client'],\n },\n // We disable the poweredByHeader here because we add it manually in the headers function below\n ...(nextConfig?.poweredByHeader !== false ? { poweredByHeader: false } : {}),\n headers: async () => {\n const headersFromConfig = 'headers' in nextConfig ? await nextConfig.headers() : []\n\n return [\n ...(headersFromConfig || []),\n {\n source: '/:path*',\n headers: [\n {\n key: 'Accept-CH',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n {\n key: 'Vary',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n {\n key: 'Critical-CH',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n ...(nextConfig?.poweredByHeader !== false ? [poweredByHeader] : []),\n ],\n },\n ]\n },\n serverExternalPackages: [\n ...(nextConfig?.serverExternalPackages || []),\n 'drizzle-kit',\n 'drizzle-kit/api',\n 'pino',\n 'libsql',\n 'pino-pretty',\n 'graphql',\n // Do not bundle server-only packages during dev to improve compile speed\n ...(process.env.NODE_ENV === 'development' && options.devBundleServerPackages === false\n ? [\n 'payload',\n '@payloadcms/db-mongodb',\n '@payloadcms/db-postgres',\n '@payloadcms/db-sqlite',\n '@payloadcms/db-vercel-postgres',\n '@payloadcms/drizzle',\n '@payloadcms/email-nodemailer',\n '@payloadcms/email-resend',\n '@payloadcms/graphql',\n '@payloadcms/payload-cloud',\n '@payloadcms/plugin-redirects',\n // TODO: Add the following packages, excluding their /client subpath exports, once Next.js supports it\n //'@payloadcms/plugin-cloud-storage',\n //'@payloadcms/plugin-sentry',\n //'@payloadcms/plugin-stripe',\n // @payloadcms/richtext-lexical\n //'@payloadcms/storage-azure',\n //'@payloadcms/storage-gcs',\n //'@payloadcms/storage-s3',\n //'@payloadcms/storage-uploadthing',\n //'@payloadcms/storage-vercel-blob',\n ]\n : []),\n ],\n webpack: (webpackConfig, webpackOptions) => {\n const incomingWebpackConfig =\n typeof nextConfig.webpack === 'function'\n ? nextConfig.webpack(webpackConfig, webpackOptions)\n : webpackConfig\n\n return {\n ...incomingWebpackConfig,\n externals: [\n ...(incomingWebpackConfig?.externals || []),\n 'drizzle-kit',\n 'drizzle-kit/api',\n 'sharp',\n 'libsql',\n 'require-in-the-middle',\n ],\n ignoreWarnings: [\n ...(incomingWebpackConfig?.ignoreWarnings || []),\n { module: /node_modules\\/mongodb\\/lib\\/utils\\.js/ },\n { file: /node_modules\\/mongodb\\/lib\\/utils\\.js/ },\n { module: /node_modules\\/mongodb\\/lib\\/bson\\.js/ },\n { file: /node_modules\\/mongodb\\/lib\\/bson\\.js/ },\n ],\n plugins: [\n ...(incomingWebpackConfig?.plugins || []),\n // Fix cloudflare:sockets error: https://github.com/vercel/next.js/discussions/50177\n new webpackOptions.webpack.IgnorePlugin({\n resourceRegExp: /^pg-native$|^cloudflare:sockets$/,\n }),\n ],\n resolve: {\n ...(incomingWebpackConfig?.resolve || {}),\n alias: {\n ...(incomingWebpackConfig?.resolve?.alias || {}),\n },\n fallback: {\n ...(incomingWebpackConfig?.resolve?.fallback || {}),\n '@aws-sdk/credential-providers': false,\n '@mongodb-js/zstd': false,\n aws4: false,\n kerberos: false,\n 'mongodb-client-encryption': false,\n snappy: false,\n 'supports-color': false,\n 'yocto-queue': false,\n },\n },\n }\n },\n }\n\n if (nextConfig.basePath) {\n toReturn.env.NEXT_BASE_PATH = nextConfig.basePath\n }\n\n return toReturn\n}\n\nexport default withPayload\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"withPayload.js","names":["withPayload","nextConfig","options","env","experimental","staleTimes","dynamic","console","warn","NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH","process","PAYLOAD_PATCH_TURBOPACK_WARNINGS","turbopackWarningText","consoleWarn","args","includes","poweredByHeader","key","value","toReturn","outputFileTracingExcludes","outputFileTracingIncludes","headers","headersFromConfig","source","serverExternalPackages","NODE_ENV","devBundleServerPackages","webpack","webpackConfig","webpackOptions","incomingWebpackConfig","externals","ignoreWarnings","module","file","plugins","IgnorePlugin","resourceRegExp","resolve","alias","fallback","aws4","kerberos","snappy","basePath","NEXT_BASE_PATH"],"sources":["../src/withPayload.js"],"sourcesContent":["/**\n * @param {import('next').NextConfig} nextConfig\n * @param {Object} [options] - Optional configuration options\n * @param {boolean} [options.devBundleServerPackages] - Whether to bundle server packages in development mode. @default true\n *\n * @returns {import('next').NextConfig}\n * */\nexport const withPayload = (nextConfig = {}, options = {}) => {\n const env = nextConfig?.env || {}\n\n if (nextConfig.experimental?.staleTimes?.dynamic) {\n console.warn(\n 'Payload detected a non-zero value for the `staleTimes.dynamic` option in your Next.js config. This will slow down page transitions and may cause stale data to load within the Admin panel. To clear this warning, remove the `staleTimes.dynamic` option from your Next.js config or set it to 0. In the future, Next.js may support scoping this option to specific routes.',\n )\n env.NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH = 'true'\n }\n\n if (process.env.PAYLOAD_PATCH_TURBOPACK_WARNINGS !== 'false') {\n const turbopackWarningText =\n 'Packages that should be external need to be installed in the project directory, so they can be resolved from the output files.\\nTry to install it into the project directory by running'\n\n const consoleWarn = console.warn\n console.warn = (...args) => {\n // Force to disable serverExternalPackages warnings: https://github.com/vercel/next.js/issues/68805\n if (\n (typeof args[1] === 'string' && args[1].includes(turbopackWarningText)) ||\n (typeof args[0] === 'string' && args[0].includes(turbopackWarningText))\n ) {\n return\n }\n\n consoleWarn(...args)\n }\n }\n\n const poweredByHeader = {\n key: 'X-Powered-By',\n value: 'Next.js, Payload',\n }\n\n /**\n * @type {import('next').NextConfig}\n */\n const toReturn = {\n ...nextConfig,\n env,\n outputFileTracingExcludes: {\n ...(nextConfig?.outputFileTracingExcludes || {}),\n '**/*': [\n ...(nextConfig?.outputFileTracingExcludes?.['**/*'] || []),\n 'drizzle-kit',\n 'drizzle-kit/api',\n ],\n },\n outputFileTracingIncludes: {\n ...(nextConfig?.outputFileTracingIncludes || {}),\n '**/*': [...(nextConfig?.outputFileTracingIncludes?.['**/*'] || []), '@libsql/client'],\n },\n // We disable the poweredByHeader here because we add it manually in the headers function below\n ...(nextConfig?.poweredByHeader !== false ? { poweredByHeader: false } : {}),\n headers: async () => {\n const headersFromConfig = 'headers' in nextConfig ? await nextConfig.headers() : []\n\n return [\n ...(headersFromConfig || []),\n {\n source: '/:path*',\n headers: [\n {\n key: 'Accept-CH',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n {\n key: 'Vary',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n {\n key: 'Critical-CH',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n ...(nextConfig?.poweredByHeader !== false ? [poweredByHeader] : []),\n ],\n },\n ]\n },\n serverExternalPackages: [\n ...(nextConfig?.serverExternalPackages || []),\n 'drizzle-kit',\n 'drizzle-kit/api',\n 'pino',\n 'libsql',\n 'pino-pretty',\n 'graphql',\n // Do not bundle server-only packages during dev to improve compile speed\n ...(process.env.NODE_ENV === 'development' && options.devBundleServerPackages === false\n ? [\n 'payload',\n '@payloadcms/db-mongodb',\n '@payloadcms/db-postgres',\n '@payloadcms/db-sqlite',\n '@payloadcms/db-vercel-postgres',\n '@payloadcms/drizzle',\n '@payloadcms/email-nodemailer',\n '@payloadcms/email-resend',\n '@payloadcms/graphql',\n '@payloadcms/payload-cloud',\n '@payloadcms/plugin-redirects',\n // TODO: Add the following packages, excluding their /client subpath exports, once Next.js supports it\n //'@payloadcms/plugin-cloud-storage',\n //'@payloadcms/plugin-sentry',\n //'@payloadcms/plugin-stripe',\n // @payloadcms/richtext-lexical\n //'@payloadcms/storage-azure',\n //'@payloadcms/storage-gcs',\n //'@payloadcms/storage-s3',\n //'@payloadcms/storage-uploadthing',\n //'@payloadcms/storage-vercel-blob',\n ]\n : []),\n ],\n webpack: (webpackConfig, webpackOptions) => {\n const incomingWebpackConfig =\n typeof nextConfig.webpack === 'function'\n ? nextConfig.webpack(webpackConfig, webpackOptions)\n : webpackConfig\n\n return {\n ...incomingWebpackConfig,\n externals: [\n ...(incomingWebpackConfig?.externals || []),\n 'drizzle-kit',\n 'drizzle-kit/api',\n 'sharp',\n 'libsql',\n 'require-in-the-middle',\n ],\n ignoreWarnings: [\n ...(incomingWebpackConfig?.ignoreWarnings || []),\n { module: /node_modules\\/mongodb\\/lib\\/utils\\.js/ },\n { file: /node_modules\\/mongodb\\/lib\\/utils\\.js/ },\n { module: /node_modules\\/mongodb\\/lib\\/bson\\.js/ },\n { file: /node_modules\\/mongodb\\/lib\\/bson\\.js/ },\n ],\n plugins: [\n ...(incomingWebpackConfig?.plugins || []),\n // Fix cloudflare:sockets error: https://github.com/vercel/next.js/discussions/50177\n new webpackOptions.webpack.IgnorePlugin({\n resourceRegExp: /^pg-native$|^cloudflare:sockets$/,\n }),\n ],\n resolve: {\n ...(incomingWebpackConfig?.resolve || {}),\n alias: {\n ...(incomingWebpackConfig?.resolve?.alias || {}),\n },\n fallback: {\n ...(incomingWebpackConfig?.resolve?.fallback || {}),\n '@aws-sdk/credential-providers': false,\n '@mongodb-js/zstd': false,\n aws4: false,\n kerberos: false,\n 'mongodb-client-encryption': false,\n snappy: false,\n 'supports-color': false,\n 'yocto-queue': false,\n },\n },\n }\n },\n }\n\n if (nextConfig.basePath) {\n toReturn.env.NEXT_BASE_PATH = nextConfig.basePath\n }\n\n return toReturn\n}\n\nexport default withPayload\n"],"mappings":"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","ignoreList":[]}