@payloadcms/next 3.48.0-canary.5 → 3.48.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/prod/styles.css +1 -1
- package/dist/views/BrowseByFolder/buildView.d.ts.map +1 -1
- package/dist/views/BrowseByFolder/buildView.js +48 -10
- package/dist/views/BrowseByFolder/buildView.js.map +1 -1
- package/dist/views/CollectionFolders/buildView.d.ts.map +1 -1
- package/dist/views/CollectionFolders/buildView.js +5 -2
- package/dist/views/CollectionFolders/buildView.js.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildView.d.ts","sourceRoot":"","sources":["../../../src/views/BrowseByFolder/buildView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,+BAA+B,EAI/B,SAAS,EACV,MAAM,SAAS,CAAA;AAShB,MAAM,MAAM,mBAAmB,GAAG;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,EAAE,SAAS,CAAA;CACjB,GAAG,oBAAoB,CAAA;AAExB,eAAO,MAAM,uBAAuB,SAC5B,mBAAmB,KACxB,OAAO,CAAC,+BAA+B,
|
|
1
|
+
{"version":3,"file":"buildView.d.ts","sourceRoot":"","sources":["../../../src/views/BrowseByFolder/buildView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,+BAA+B,EAI/B,SAAS,EACV,MAAM,SAAS,CAAA;AAShB,MAAM,MAAM,mBAAmB,GAAG;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,EAAE,SAAS,CAAA;CACjB,GAAG,oBAAoB,CAAA;AAExB,eAAO,MAAM,uBAAuB,SAC5B,mBAAmB,KACxB,OAAO,CAAC,+BAA+B,CAyMzC,CAAA"}
|
|
@@ -35,9 +35,29 @@ export const buildBrowseByFolderView = async args => {
|
|
|
35
35
|
if (config.folders === false || config.folders.browseByFolder === false) {
|
|
36
36
|
throw new Error('not-found');
|
|
37
37
|
}
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
const foldersSlug = config.folders.slug;
|
|
39
|
+
/**
|
|
40
|
+
* All visiible folder enabled collection slugs that the user has read permissions for.
|
|
41
|
+
*/
|
|
42
|
+
const allowReadCollectionSlugs = browseByFolderSlugsFromArgs.filter(collectionSlug => permissions?.collections?.[collectionSlug]?.read && visibleEntities.collections.includes(collectionSlug));
|
|
43
|
+
const query = queryFromArgs || (queryFromReq ? {
|
|
44
|
+
...queryFromReq,
|
|
45
|
+
relationTo: typeof queryFromReq?.relationTo === 'string' ? JSON.parse(queryFromReq.relationTo) : undefined
|
|
46
|
+
} : {});
|
|
47
|
+
/**
|
|
48
|
+
* If a folderID is provided and the relationTo query param exists,
|
|
49
|
+
* we filter the collection slugs to only those that are allowed to be read.
|
|
50
|
+
*
|
|
51
|
+
* If no folderID is provided, only folders should be active and displayed (the root view).
|
|
52
|
+
*/
|
|
53
|
+
let collectionsToDisplay = [];
|
|
54
|
+
if (folderID && Array.isArray(query?.relationTo)) {
|
|
55
|
+
collectionsToDisplay = query.relationTo.filter(slug => allowReadCollectionSlugs.includes(slug) || slug === foldersSlug);
|
|
56
|
+
} else if (folderID) {
|
|
57
|
+
collectionsToDisplay = [...allowReadCollectionSlugs, foldersSlug];
|
|
58
|
+
} else {
|
|
59
|
+
collectionsToDisplay = [foldersSlug];
|
|
60
|
+
}
|
|
41
61
|
const {
|
|
42
62
|
routes: {
|
|
43
63
|
admin: adminRoute
|
|
@@ -55,17 +75,19 @@ export const buildBrowseByFolderView = async args => {
|
|
|
55
75
|
sort: query?.sort
|
|
56
76
|
}
|
|
57
77
|
});
|
|
58
|
-
const sortPreference = browseByFolderPreferences?.sort || '
|
|
78
|
+
const sortPreference = browseByFolderPreferences?.sort || 'name';
|
|
59
79
|
const viewPreference = browseByFolderPreferences?.viewPreference || 'grid';
|
|
60
80
|
const {
|
|
61
81
|
breadcrumbs,
|
|
62
82
|
documents,
|
|
83
|
+
folderAssignedCollections,
|
|
63
84
|
FolderResultsComponent,
|
|
64
85
|
subfolders
|
|
65
86
|
} = await getFolderResultsComponentAndData({
|
|
66
|
-
|
|
67
|
-
|
|
87
|
+
browseByFolder: true,
|
|
88
|
+
collectionsToDisplay,
|
|
68
89
|
displayAs: viewPreference,
|
|
90
|
+
folderAssignedCollections: collectionsToDisplay.filter(slug => slug !== foldersSlug) || [],
|
|
69
91
|
folderID,
|
|
70
92
|
req: initPageResult.req,
|
|
71
93
|
sort: sortPreference
|
|
@@ -96,8 +118,23 @@ export const buildBrowseByFolderView = async args => {
|
|
|
96
118
|
// payload,
|
|
97
119
|
// serverProps,
|
|
98
120
|
// })
|
|
99
|
-
//
|
|
100
|
-
const
|
|
121
|
+
// Filter down allCollectionFolderSlugs by the ones the current folder is assingned to
|
|
122
|
+
const allAvailableCollectionSlugs = folderID && Array.isArray(folderAssignedCollections) && folderAssignedCollections.length ? allowReadCollectionSlugs.filter(slug => folderAssignedCollections.includes(slug)) : allowReadCollectionSlugs;
|
|
123
|
+
// Filter down activeCollectionFolderSlugs by the ones the current folder is assingned to
|
|
124
|
+
const availableActiveCollectionFolderSlugs = collectionsToDisplay.filter(slug => {
|
|
125
|
+
if (slug === foldersSlug) {
|
|
126
|
+
return permissions?.collections?.[foldersSlug]?.read;
|
|
127
|
+
} else {
|
|
128
|
+
return !folderAssignedCollections || folderAssignedCollections.includes(slug);
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
// Documents cannot be created without a parent folder in this view
|
|
132
|
+
const allowCreateCollectionSlugs = (resolvedFolderID ? [foldersSlug, ...allAvailableCollectionSlugs] : [foldersSlug]).filter(collectionSlug => {
|
|
133
|
+
if (collectionSlug === foldersSlug) {
|
|
134
|
+
return permissions?.collections?.[foldersSlug]?.create;
|
|
135
|
+
}
|
|
136
|
+
return permissions?.collections?.[collectionSlug]?.create && visibleEntities.collections.includes(collectionSlug);
|
|
137
|
+
});
|
|
101
138
|
return {
|
|
102
139
|
View: /*#__PURE__*/_jsxs(_Fragment, {
|
|
103
140
|
children: [/*#__PURE__*/_jsx(HydrateAuthProvider, {
|
|
@@ -105,8 +142,8 @@ export const buildBrowseByFolderView = async args => {
|
|
|
105
142
|
}), RenderServerComponent({
|
|
106
143
|
clientProps: {
|
|
107
144
|
// ...folderViewSlots,
|
|
108
|
-
activeCollectionFolderSlugs,
|
|
109
|
-
allCollectionFolderSlugs:
|
|
145
|
+
activeCollectionFolderSlugs: availableActiveCollectionFolderSlugs,
|
|
146
|
+
allCollectionFolderSlugs: allAvailableCollectionSlugs,
|
|
110
147
|
allowCreateCollectionSlugs,
|
|
111
148
|
baseFolderPath: `/browse-by-folder`,
|
|
112
149
|
breadcrumbs,
|
|
@@ -114,6 +151,7 @@ export const buildBrowseByFolderView = async args => {
|
|
|
114
151
|
disableBulkEdit,
|
|
115
152
|
documents,
|
|
116
153
|
enableRowSelections,
|
|
154
|
+
folderAssignedCollections,
|
|
117
155
|
folderFieldName: config.folders.fieldName,
|
|
118
156
|
folderID: resolvedFolderID || null,
|
|
119
157
|
FolderResultsComponent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildView.js","names":["DefaultBrowseByFolderView","HydrateAuthProvider","RenderServerComponent","getFolderResultsComponentAndData","upsertPreferences","formatAdminURL","redirect","React","buildBrowseByFolderView","args","browseByFolderSlugs","browseByFolderSlugsFromArgs","disableBulkDelete","disableBulkEdit","enableRowSelections","folderID","initPageResult","isInDrawer","params","query","queryFromArgs","searchParams","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","folders","browseByFolder","Error","filter","collectionSlug","collections","read","includes","activeCollectionFolderSlugs","Array","isArray","relationTo","length","slug","routes","admin","adminRoute","browseByFolderPreferences","key","value","sort","sortPreference","viewPreference","breadcrumbs","documents","FolderResultsComponent","subfolders","activeCollectionSlugs","displayAs","resolvedFolderID","id","path","serverURL","serverProps","allowCreateCollectionSlugs","View","_jsxs","_Fragment","_jsx","clientProps","allCollectionFolderSlugs","baseFolderPath","folderFieldName","fieldName","Fallback","importMap"],"sources":["../../../src/views/BrowseByFolder/buildView.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n BuildCollectionFolderViewResult,\n FolderListViewClientProps,\n FolderListViewServerPropsOnly,\n FolderSortKeys,\n ListQuery,\n} from 'payload'\n\nimport { DefaultBrowseByFolderView, HydrateAuthProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getFolderResultsComponentAndData, upsertPreferences } from '@payloadcms/ui/rsc'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { redirect } from 'next/navigation.js'\nimport React from 'react'\n\nexport type BuildFolderViewArgs = {\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n enableRowSelections: boolean\n folderID?: number | string\n isInDrawer?: boolean\n overrideEntityVisibility?: boolean\n query: ListQuery\n} & AdminViewServerProps\n\nexport const buildBrowseByFolderView = async (\n args: BuildFolderViewArgs,\n): Promise<BuildCollectionFolderViewResult> => {\n const {\n browseByFolderSlugs: browseByFolderSlugsFromArgs = [],\n disableBulkDelete,\n disableBulkEdit,\n enableRowSelections,\n folderID,\n initPageResult,\n isInDrawer,\n params,\n query: queryFromArgs,\n searchParams,\n } = args\n\n const {\n locale: fullLocale,\n permissions,\n req: {\n i18n,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n if (config.folders === false || config.folders.browseByFolder === false) {\n throw new Error('not-found')\n }\n\n const browseByFolderSlugs = browseByFolderSlugsFromArgs.filter(\n (collectionSlug) =>\n permissions?.collections?.[collectionSlug]?.read &&\n visibleEntities.collections.includes(collectionSlug),\n )\n\n const query = queryFromArgs || queryFromReq\n const activeCollectionFolderSlugs: string[] =\n Array.isArray(query?.relationTo) && query.relationTo.length\n ? query.relationTo.filter(\n (slug) =>\n browseByFolderSlugs.includes(slug) || (config.folders && slug === config.folders.slug),\n )\n : [...browseByFolderSlugs, config.folders.slug]\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n /**\n * @todo: find a pattern to avoid setting preferences on hard navigation, i.e. direct links, page refresh, etc.\n * This will ensure that prefs are only updated when explicitly set by the user\n * This could potentially be done by injecting a `sessionID` into the params and comparing it against a session cookie\n */\n const browseByFolderPreferences = await upsertPreferences<{\n sort?: FolderSortKeys\n viewPreference?: 'grid' | 'list'\n }>({\n key: 'browse-by-folder',\n req: initPageResult.req,\n value: {\n sort: query?.sort as FolderSortKeys,\n },\n })\n\n const sortPreference: FolderSortKeys = browseByFolderPreferences?.sort || '_folderOrDocumentTitle'\n const viewPreference = browseByFolderPreferences?.viewPreference || 'grid'\n\n const { breadcrumbs, documents, FolderResultsComponent, subfolders } =\n await getFolderResultsComponentAndData({\n activeCollectionSlugs: activeCollectionFolderSlugs,\n browseByFolder: false,\n displayAs: viewPreference,\n folderID,\n req: initPageResult.req,\n sort: sortPreference,\n })\n\n const resolvedFolderID = breadcrumbs[breadcrumbs.length - 1]?.id\n\n if (\n !isInDrawer &&\n ((resolvedFolderID && folderID && folderID !== resolvedFolderID) ||\n (folderID && !resolvedFolderID))\n ) {\n redirect(\n formatAdminURL({\n adminRoute,\n path: config.admin.routes.browseByFolder,\n serverURL: config.serverURL,\n }),\n )\n }\n\n const serverProps: Omit<FolderListViewServerPropsOnly, 'collectionConfig' | 'listPreferences'> = {\n documents,\n i18n,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n subfolders,\n user,\n }\n\n // const folderViewSlots = renderFolderViewSlots({\n // clientProps: {\n // },\n // description: staticDescription,\n // payload,\n // serverProps,\n // })\n\n // documents cannot be created without a parent folder in this view\n const allowCreateCollectionSlugs = resolvedFolderID\n ? [config.folders.slug, ...browseByFolderSlugs]\n : [config.folders.slug]\n\n return {\n View: (\n <>\n <HydrateAuthProvider permissions={permissions} />\n {RenderServerComponent({\n clientProps: {\n // ...folderViewSlots,\n activeCollectionFolderSlugs,\n allCollectionFolderSlugs: browseByFolderSlugs,\n allowCreateCollectionSlugs,\n baseFolderPath: `/browse-by-folder`,\n breadcrumbs,\n disableBulkDelete,\n disableBulkEdit,\n documents,\n enableRowSelections,\n folderFieldName: config.folders.fieldName,\n folderID: resolvedFolderID || null,\n FolderResultsComponent,\n sort: sortPreference,\n subfolders,\n viewPreference,\n } satisfies FolderListViewClientProps,\n // Component:config.folders?.components?.views?.BrowseByFolders?.Component,\n Fallback: DefaultBrowseByFolderView,\n importMap: payload.importMap,\n serverProps,\n })}\n </>\n ),\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"buildView.js","names":["DefaultBrowseByFolderView","HydrateAuthProvider","RenderServerComponent","getFolderResultsComponentAndData","upsertPreferences","formatAdminURL","redirect","React","buildBrowseByFolderView","args","browseByFolderSlugs","browseByFolderSlugsFromArgs","disableBulkDelete","disableBulkEdit","enableRowSelections","folderID","initPageResult","isInDrawer","params","query","queryFromArgs","searchParams","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","folders","browseByFolder","Error","foldersSlug","slug","allowReadCollectionSlugs","filter","collectionSlug","collections","read","includes","relationTo","JSON","parse","undefined","collectionsToDisplay","Array","isArray","routes","admin","adminRoute","browseByFolderPreferences","key","value","sort","sortPreference","viewPreference","breadcrumbs","documents","folderAssignedCollections","FolderResultsComponent","subfolders","displayAs","resolvedFolderID","length","id","path","serverURL","serverProps","allAvailableCollectionSlugs","availableActiveCollectionFolderSlugs","allowCreateCollectionSlugs","create","View","_jsxs","_Fragment","_jsx","clientProps","activeCollectionFolderSlugs","allCollectionFolderSlugs","baseFolderPath","folderFieldName","fieldName","Fallback","importMap"],"sources":["../../../src/views/BrowseByFolder/buildView.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n BuildCollectionFolderViewResult,\n FolderListViewClientProps,\n FolderListViewServerPropsOnly,\n FolderSortKeys,\n ListQuery,\n} from 'payload'\n\nimport { DefaultBrowseByFolderView, HydrateAuthProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getFolderResultsComponentAndData, upsertPreferences } from '@payloadcms/ui/rsc'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { redirect } from 'next/navigation.js'\nimport React from 'react'\n\nexport type BuildFolderViewArgs = {\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n enableRowSelections: boolean\n folderID?: number | string\n isInDrawer?: boolean\n overrideEntityVisibility?: boolean\n query: ListQuery\n} & AdminViewServerProps\n\nexport const buildBrowseByFolderView = async (\n args: BuildFolderViewArgs,\n): Promise<BuildCollectionFolderViewResult> => {\n const {\n browseByFolderSlugs: browseByFolderSlugsFromArgs = [],\n disableBulkDelete,\n disableBulkEdit,\n enableRowSelections,\n folderID,\n initPageResult,\n isInDrawer,\n params,\n query: queryFromArgs,\n searchParams,\n } = args\n\n const {\n locale: fullLocale,\n permissions,\n req: {\n i18n,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n if (config.folders === false || config.folders.browseByFolder === false) {\n throw new Error('not-found')\n }\n\n const foldersSlug = config.folders.slug\n\n /**\n * All visiible folder enabled collection slugs that the user has read permissions for.\n */\n const allowReadCollectionSlugs = browseByFolderSlugsFromArgs.filter(\n (collectionSlug) =>\n permissions?.collections?.[collectionSlug]?.read &&\n visibleEntities.collections.includes(collectionSlug),\n )\n\n const query =\n queryFromArgs ||\n ((queryFromReq\n ? {\n ...queryFromReq,\n relationTo:\n typeof queryFromReq?.relationTo === 'string'\n ? JSON.parse(queryFromReq.relationTo)\n : undefined,\n }\n : {}) as ListQuery)\n\n /**\n * If a folderID is provided and the relationTo query param exists,\n * we filter the collection slugs to only those that are allowed to be read.\n *\n * If no folderID is provided, only folders should be active and displayed (the root view).\n */\n let collectionsToDisplay: string[] = []\n if (folderID && Array.isArray(query?.relationTo)) {\n collectionsToDisplay = query.relationTo.filter(\n (slug) => allowReadCollectionSlugs.includes(slug) || slug === foldersSlug,\n )\n } else if (folderID) {\n collectionsToDisplay = [...allowReadCollectionSlugs, foldersSlug]\n } else {\n collectionsToDisplay = [foldersSlug]\n }\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n /**\n * @todo: find a pattern to avoid setting preferences on hard navigation, i.e. direct links, page refresh, etc.\n * This will ensure that prefs are only updated when explicitly set by the user\n * This could potentially be done by injecting a `sessionID` into the params and comparing it against a session cookie\n */\n const browseByFolderPreferences = await upsertPreferences<{\n sort?: FolderSortKeys\n viewPreference?: 'grid' | 'list'\n }>({\n key: 'browse-by-folder',\n req: initPageResult.req,\n value: {\n sort: query?.sort as FolderSortKeys,\n },\n })\n\n const sortPreference: FolderSortKeys = browseByFolderPreferences?.sort || 'name'\n const viewPreference = browseByFolderPreferences?.viewPreference || 'grid'\n\n const { breadcrumbs, documents, folderAssignedCollections, FolderResultsComponent, subfolders } =\n await getFolderResultsComponentAndData({\n browseByFolder: true,\n collectionsToDisplay,\n displayAs: viewPreference,\n folderAssignedCollections: collectionsToDisplay.filter((slug) => slug !== foldersSlug) || [],\n folderID,\n req: initPageResult.req,\n sort: sortPreference,\n })\n\n const resolvedFolderID = breadcrumbs[breadcrumbs.length - 1]?.id\n\n if (\n !isInDrawer &&\n ((resolvedFolderID && folderID && folderID !== resolvedFolderID) ||\n (folderID && !resolvedFolderID))\n ) {\n redirect(\n formatAdminURL({\n adminRoute,\n path: config.admin.routes.browseByFolder,\n serverURL: config.serverURL,\n }),\n )\n }\n\n const serverProps: Omit<FolderListViewServerPropsOnly, 'collectionConfig' | 'listPreferences'> = {\n documents,\n i18n,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n subfolders,\n user,\n }\n\n // const folderViewSlots = renderFolderViewSlots({\n // clientProps: {\n // },\n // description: staticDescription,\n // payload,\n // serverProps,\n // })\n\n // Filter down allCollectionFolderSlugs by the ones the current folder is assingned to\n const allAvailableCollectionSlugs =\n folderID && Array.isArray(folderAssignedCollections) && folderAssignedCollections.length\n ? allowReadCollectionSlugs.filter((slug) => folderAssignedCollections.includes(slug))\n : allowReadCollectionSlugs\n\n // Filter down activeCollectionFolderSlugs by the ones the current folder is assingned to\n const availableActiveCollectionFolderSlugs = collectionsToDisplay.filter((slug) => {\n if (slug === foldersSlug) {\n return permissions?.collections?.[foldersSlug]?.read\n } else {\n return !folderAssignedCollections || folderAssignedCollections.includes(slug)\n }\n })\n\n // Documents cannot be created without a parent folder in this view\n const allowCreateCollectionSlugs = (\n resolvedFolderID ? [foldersSlug, ...allAvailableCollectionSlugs] : [foldersSlug]\n ).filter((collectionSlug) => {\n if (collectionSlug === foldersSlug) {\n return permissions?.collections?.[foldersSlug]?.create\n }\n return (\n permissions?.collections?.[collectionSlug]?.create &&\n visibleEntities.collections.includes(collectionSlug)\n )\n })\n\n return {\n View: (\n <>\n <HydrateAuthProvider permissions={permissions} />\n {RenderServerComponent({\n clientProps: {\n // ...folderViewSlots,\n activeCollectionFolderSlugs: availableActiveCollectionFolderSlugs,\n allCollectionFolderSlugs: allAvailableCollectionSlugs,\n allowCreateCollectionSlugs,\n baseFolderPath: `/browse-by-folder`,\n breadcrumbs,\n disableBulkDelete,\n disableBulkEdit,\n documents,\n enableRowSelections,\n folderAssignedCollections,\n folderFieldName: config.folders.fieldName,\n folderID: resolvedFolderID || null,\n FolderResultsComponent,\n sort: sortPreference,\n subfolders,\n viewPreference,\n } satisfies FolderListViewClientProps,\n // Component:config.folders?.components?.views?.BrowseByFolders?.Component,\n Fallback: DefaultBrowseByFolderView,\n importMap: payload.importMap,\n serverProps,\n })}\n </>\n ),\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildView.d.ts","sourceRoot":"","sources":["../../../src/views/CollectionFolders/buildView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,+BAA+B,EAI/B,SAAS,EACV,MAAM,SAAS,CAAA;AAWhB,MAAM,MAAM,kCAAkC,GAAG;IAC/C,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,EAAE,SAAS,CAAA;CACjB,GAAG,oBAAoB,CAAA;AAExB;;GAEG;AACH,eAAO,MAAM,yBAAyB,SAC9B,kCAAkC,KACvC,OAAO,CAAC,+BAA+B,
|
|
1
|
+
{"version":3,"file":"buildView.d.ts","sourceRoot":"","sources":["../../../src/views/CollectionFolders/buildView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,+BAA+B,EAI/B,SAAS,EACV,MAAM,SAAS,CAAA;AAWhB,MAAM,MAAM,kCAAkC,GAAG;IAC/C,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,EAAE,SAAS,CAAA;CACjB,GAAG,oBAAoB,CAAA;AAExB;;GAEG;AACH,eAAO,MAAM,yBAAyB,SAC9B,kCAAkC,KACvC,OAAO,CAAC,+BAA+B,CAgLzC,CAAA"}
|
|
@@ -62,7 +62,7 @@ export const buildCollectionFolderView = async args => {
|
|
|
62
62
|
sort: query?.sort
|
|
63
63
|
}
|
|
64
64
|
});
|
|
65
|
-
const sortPreference = collectionFolderPreferences?.sort || '
|
|
65
|
+
const sortPreference = collectionFolderPreferences?.sort || 'name';
|
|
66
66
|
const viewPreference = collectionFolderPreferences?.viewPreference || 'grid';
|
|
67
67
|
const {
|
|
68
68
|
routes: {
|
|
@@ -72,12 +72,14 @@ export const buildCollectionFolderView = async args => {
|
|
|
72
72
|
const {
|
|
73
73
|
breadcrumbs,
|
|
74
74
|
documents,
|
|
75
|
+
folderAssignedCollections,
|
|
75
76
|
FolderResultsComponent,
|
|
76
77
|
subfolders
|
|
77
78
|
} = await getFolderResultsComponentAndData({
|
|
78
|
-
activeCollectionSlugs: [config.folders.slug, collectionSlug],
|
|
79
79
|
browseByFolder: false,
|
|
80
|
+
collectionsToDisplay: [config.folders.slug, collectionSlug],
|
|
80
81
|
displayAs: viewPreference,
|
|
82
|
+
folderAssignedCollections: [collectionSlug],
|
|
81
83
|
folderID,
|
|
82
84
|
req: initPageResult.req,
|
|
83
85
|
sort: sortPreference
|
|
@@ -133,6 +135,7 @@ export const buildCollectionFolderView = async args => {
|
|
|
133
135
|
disableBulkEdit,
|
|
134
136
|
documents,
|
|
135
137
|
enableRowSelections,
|
|
138
|
+
folderAssignedCollections,
|
|
136
139
|
folderFieldName: config.folders.fieldName,
|
|
137
140
|
folderID: resolvedFolderID || null,
|
|
138
141
|
FolderResultsComponent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildView.js","names":["DefaultCollectionFolderView","HydrateAuthProvider","RenderServerComponent","getFolderResultsComponentAndData","upsertPreferences","formatAdminURL","redirect","React","buildCollectionFolderView","args","disableBulkDelete","disableBulkEdit","enableRowSelections","folderID","initPageResult","isInDrawer","overrideEntityVisibility","params","query","queryFromArgs","searchParams","collectionConfig","slug","collectionSlug","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","folders","Error","collections","read","includes","collectionFolderPreferences","key","value","sort","sortPreference","viewPreference","routes","admin","adminRoute","breadcrumbs","documents","FolderResultsComponent","subfolders","activeCollectionSlugs","browseByFolder","displayAs","resolvedFolderID","length","id","path","serverURL","serverProps","search","View","_jsxs","_Fragment","_jsx","clientProps","allCollectionFolderSlugs","allowCreateCollectionSlugs","create","filter","Boolean","baseFolderPath","folderFieldName","fieldName","Fallback","importMap"],"sources":["../../../src/views/CollectionFolders/buildView.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n BuildCollectionFolderViewResult,\n FolderListViewClientProps,\n FolderListViewServerPropsOnly,\n FolderSortKeys,\n ListQuery,\n} from 'payload'\n\nimport { DefaultCollectionFolderView, HydrateAuthProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getFolderResultsComponentAndData, upsertPreferences } from '@payloadcms/ui/rsc'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { redirect } from 'next/navigation.js'\nimport React from 'react'\n\n// import { renderFolderViewSlots } from './renderFolderViewSlots.js'\n\nexport type BuildCollectionFolderViewStateArgs = {\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n enableRowSelections: boolean\n folderID?: number | string\n isInDrawer?: boolean\n overrideEntityVisibility?: boolean\n query: ListQuery\n} & AdminViewServerProps\n\n/**\n * Builds the entire view for collection-folder views on the server\n */\nexport const buildCollectionFolderView = async (\n args: BuildCollectionFolderViewStateArgs,\n): Promise<BuildCollectionFolderViewResult> => {\n const {\n disableBulkDelete,\n disableBulkEdit,\n enableRowSelections,\n folderID,\n initPageResult,\n isInDrawer,\n overrideEntityVisibility,\n params,\n query: queryFromArgs,\n searchParams,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: { slug: collectionSlug },\n locale: fullLocale,\n permissions,\n req: {\n i18n,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n if (!config.folders) {\n throw new Error('not-found')\n }\n\n if (\n !permissions?.collections?.[collectionSlug]?.read ||\n !permissions?.collections?.[config.folders.slug].read\n ) {\n throw new Error('not-found')\n }\n\n if (collectionConfig) {\n if (\n (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility) ||\n !config.folders\n ) {\n throw new Error('not-found')\n }\n\n const query = queryFromArgs || queryFromReq\n\n /**\n * @todo: find a pattern to avoid setting preferences on hard navigation, i.e. direct links, page refresh, etc.\n * This will ensure that prefs are only updated when explicitly set by the user\n * This could potentially be done by injecting a `sessionID` into the params and comparing it against a session cookie\n */\n const collectionFolderPreferences = await upsertPreferences<{\n sort?: FolderSortKeys\n viewPreference?: 'grid' | 'list'\n }>({\n key: `${collectionSlug}-collection-folder`,\n req: initPageResult.req,\n value: {\n sort: query?.sort as FolderSortKeys,\n },\n })\n\n const sortPreference: FolderSortKeys =\n collectionFolderPreferences?.sort || '_folderOrDocumentTitle'\n const viewPreference = collectionFolderPreferences?.viewPreference || 'grid'\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n const { breadcrumbs, documents, FolderResultsComponent, subfolders } =\n await getFolderResultsComponentAndData({\n activeCollectionSlugs: [config.folders.slug, collectionSlug],\n browseByFolder: false,\n displayAs: viewPreference,\n folderID,\n req: initPageResult.req,\n sort: sortPreference,\n })\n\n const resolvedFolderID = breadcrumbs[breadcrumbs.length - 1]?.id\n\n if (\n !isInDrawer &&\n ((resolvedFolderID && folderID && folderID !== resolvedFolderID) ||\n (folderID && !resolvedFolderID))\n ) {\n redirect(\n formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${config.folders.slug}`,\n serverURL: config.serverURL,\n }),\n )\n }\n\n const serverProps: FolderListViewServerPropsOnly = {\n collectionConfig,\n documents,\n i18n,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n subfolders,\n user,\n }\n\n // We could support slots in the folder view in the future\n // const folderViewSlots = renderFolderViewSlots({\n // clientProps: {\n // collectionSlug,\n // hasCreatePermission,\n // newDocumentURL,\n // },\n // collectionConfig,\n // description: typeof collectionConfig.admin.description === 'function'\n // ? collectionConfig.admin.description({ t: i18n.t })\n // : collectionConfig.admin.description,\n // payload,\n // serverProps,\n // })\n\n const search = query?.search as string\n\n return {\n View: (\n <>\n <HydrateAuthProvider permissions={permissions} />\n {RenderServerComponent({\n clientProps: {\n // ...folderViewSlots,\n allCollectionFolderSlugs: [config.folders.slug, collectionSlug],\n allowCreateCollectionSlugs: [\n permissions?.collections?.[config.folders.slug]?.create\n ? config.folders.slug\n : null,\n permissions?.collections?.[collectionSlug]?.create ? collectionSlug : null,\n ].filter(Boolean),\n baseFolderPath: `/collections/${collectionSlug}/${config.folders.slug}`,\n breadcrumbs,\n collectionSlug,\n disableBulkDelete,\n disableBulkEdit,\n documents,\n enableRowSelections,\n folderFieldName: config.folders.fieldName,\n folderID: resolvedFolderID || null,\n FolderResultsComponent,\n search,\n sort: sortPreference,\n subfolders,\n viewPreference,\n } satisfies FolderListViewClientProps,\n // Component: collectionConfig?.admin?.components?.views?.Folders?.Component,\n Fallback: DefaultCollectionFolderView,\n importMap: payload.importMap,\n serverProps,\n })}\n </>\n ),\n }\n }\n\n throw new Error('not-found')\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"buildView.js","names":["DefaultCollectionFolderView","HydrateAuthProvider","RenderServerComponent","getFolderResultsComponentAndData","upsertPreferences","formatAdminURL","redirect","React","buildCollectionFolderView","args","disableBulkDelete","disableBulkEdit","enableRowSelections","folderID","initPageResult","isInDrawer","overrideEntityVisibility","params","query","queryFromArgs","searchParams","collectionConfig","slug","collectionSlug","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","folders","Error","collections","read","includes","collectionFolderPreferences","key","value","sort","sortPreference","viewPreference","routes","admin","adminRoute","breadcrumbs","documents","folderAssignedCollections","FolderResultsComponent","subfolders","browseByFolder","collectionsToDisplay","displayAs","resolvedFolderID","length","id","path","serverURL","serverProps","search","View","_jsxs","_Fragment","_jsx","clientProps","allCollectionFolderSlugs","allowCreateCollectionSlugs","create","filter","Boolean","baseFolderPath","folderFieldName","fieldName","Fallback","importMap"],"sources":["../../../src/views/CollectionFolders/buildView.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n BuildCollectionFolderViewResult,\n FolderListViewClientProps,\n FolderListViewServerPropsOnly,\n FolderSortKeys,\n ListQuery,\n} from 'payload'\n\nimport { DefaultCollectionFolderView, HydrateAuthProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getFolderResultsComponentAndData, upsertPreferences } from '@payloadcms/ui/rsc'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { redirect } from 'next/navigation.js'\nimport React from 'react'\n\n// import { renderFolderViewSlots } from './renderFolderViewSlots.js'\n\nexport type BuildCollectionFolderViewStateArgs = {\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n enableRowSelections: boolean\n folderID?: number | string\n isInDrawer?: boolean\n overrideEntityVisibility?: boolean\n query: ListQuery\n} & AdminViewServerProps\n\n/**\n * Builds the entire view for collection-folder views on the server\n */\nexport const buildCollectionFolderView = async (\n args: BuildCollectionFolderViewStateArgs,\n): Promise<BuildCollectionFolderViewResult> => {\n const {\n disableBulkDelete,\n disableBulkEdit,\n enableRowSelections,\n folderID,\n initPageResult,\n isInDrawer,\n overrideEntityVisibility,\n params,\n query: queryFromArgs,\n searchParams,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: { slug: collectionSlug },\n locale: fullLocale,\n permissions,\n req: {\n i18n,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n if (!config.folders) {\n throw new Error('not-found')\n }\n\n if (\n !permissions?.collections?.[collectionSlug]?.read ||\n !permissions?.collections?.[config.folders.slug].read\n ) {\n throw new Error('not-found')\n }\n\n if (collectionConfig) {\n if (\n (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility) ||\n !config.folders\n ) {\n throw new Error('not-found')\n }\n\n const query = queryFromArgs || queryFromReq\n\n /**\n * @todo: find a pattern to avoid setting preferences on hard navigation, i.e. direct links, page refresh, etc.\n * This will ensure that prefs are only updated when explicitly set by the user\n * This could potentially be done by injecting a `sessionID` into the params and comparing it against a session cookie\n */\n const collectionFolderPreferences = await upsertPreferences<{\n sort?: FolderSortKeys\n viewPreference?: 'grid' | 'list'\n }>({\n key: `${collectionSlug}-collection-folder`,\n req: initPageResult.req,\n value: {\n sort: query?.sort as FolderSortKeys,\n },\n })\n\n const sortPreference: FolderSortKeys = collectionFolderPreferences?.sort || 'name'\n const viewPreference = collectionFolderPreferences?.viewPreference || 'grid'\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n const {\n breadcrumbs,\n documents,\n folderAssignedCollections,\n FolderResultsComponent,\n subfolders,\n } = await getFolderResultsComponentAndData({\n browseByFolder: false,\n collectionsToDisplay: [config.folders.slug, collectionSlug],\n displayAs: viewPreference,\n folderAssignedCollections: [collectionSlug],\n folderID,\n req: initPageResult.req,\n sort: sortPreference,\n })\n\n const resolvedFolderID = breadcrumbs[breadcrumbs.length - 1]?.id\n\n if (\n !isInDrawer &&\n ((resolvedFolderID && folderID && folderID !== resolvedFolderID) ||\n (folderID && !resolvedFolderID))\n ) {\n redirect(\n formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${config.folders.slug}`,\n serverURL: config.serverURL,\n }),\n )\n }\n\n const serverProps: FolderListViewServerPropsOnly = {\n collectionConfig,\n documents,\n i18n,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n subfolders,\n user,\n }\n\n // We could support slots in the folder view in the future\n // const folderViewSlots = renderFolderViewSlots({\n // clientProps: {\n // collectionSlug,\n // hasCreatePermission,\n // newDocumentURL,\n // },\n // collectionConfig,\n // description: typeof collectionConfig.admin.description === 'function'\n // ? collectionConfig.admin.description({ t: i18n.t })\n // : collectionConfig.admin.description,\n // payload,\n // serverProps,\n // })\n\n const search = query?.search as string\n\n return {\n View: (\n <>\n <HydrateAuthProvider permissions={permissions} />\n {RenderServerComponent({\n clientProps: {\n // ...folderViewSlots,\n allCollectionFolderSlugs: [config.folders.slug, collectionSlug],\n allowCreateCollectionSlugs: [\n permissions?.collections?.[config.folders.slug]?.create\n ? config.folders.slug\n : null,\n permissions?.collections?.[collectionSlug]?.create ? collectionSlug : null,\n ].filter(Boolean),\n baseFolderPath: `/collections/${collectionSlug}/${config.folders.slug}`,\n breadcrumbs,\n collectionSlug,\n disableBulkDelete,\n disableBulkEdit,\n documents,\n enableRowSelections,\n folderAssignedCollections,\n folderFieldName: config.folders.fieldName,\n folderID: resolvedFolderID || null,\n FolderResultsComponent,\n search,\n sort: sortPreference,\n subfolders,\n viewPreference,\n } satisfies FolderListViewClientProps,\n // Component: collectionConfig?.admin?.components?.views?.Folders?.Component,\n Fallback: DefaultCollectionFolderView,\n importMap: payload.importMap,\n serverProps,\n })}\n </>\n ),\n }\n }\n\n throw new Error('not-found')\n}\n"],"mappings":";AASA,SAASA,2BAA2B,EAAEC,mBAAmB,QAAQ;AACjE,SAASC,qBAAqB,QAAQ;AACtC,SAASC,gCAAgC,EAAEC,iBAAiB,QAAQ;AACpE,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,MAAW;AAclB;;;AAGA,OAAO,MAAMC,yBAAA,GAA4B,MACvCC,IAAA;EAEA,MAAM;IACJC,iBAAiB;IACjBC,eAAe;IACfC,mBAAmB;IACnBC,QAAQ;IACRC,cAAc;IACdC,UAAU;IACVC,wBAAwB;IACxBC,MAAM;IACNC,KAAA,EAAOC,aAAa;IACpBC;EAAY,CACb,GAAGX,IAAA;EAEJ,MAAM;IACJY,gBAAgB;IAChBA,gBAAA,EAAkB;MAAEC,IAAA,EAAMC;IAAc,CAAE;IAC1CC,MAAA,EAAQC,UAAU;IAClBC,WAAW;IACXC,GAAA,EAAK;MACHC,IAAI;MACJC,OAAO;MACPA,OAAA,EAAS;QAAEC;MAAM,CAAE;MACnBZ,KAAA,EAAOa,YAAY;MACnBC;IAAI,CACL;IACDC;EAAe,CAChB,GAAGnB,cAAA;EAEJ,IAAI,CAACgB,MAAA,CAAOI,OAAO,EAAE;IACnB,MAAM,IAAIC,KAAA,CAAM;EAClB;EAEA,IACE,CAACT,WAAA,EAAaU,WAAA,GAAcb,cAAA,CAAe,EAAEc,IAAA,IAC7C,CAACX,WAAA,EAAaU,WAAA,GAAcN,MAAA,CAAOI,OAAO,CAACZ,IAAI,CAAC,CAACe,IAAA,EACjD;IACA,MAAM,IAAIF,KAAA,CAAM;EAClB;EAEA,IAAId,gBAAA,EAAkB;IACpB,IACE,CAAEY,eAAA,CAAgBG,WAAW,CAACE,QAAQ,CAACf,cAAA,KAAmB,CAACP,wBAAA,IAC3D,CAACc,MAAA,CAAOI,OAAO,EACf;MACA,MAAM,IAAIC,KAAA,CAAM;IAClB;IAEA,MAAMjB,KAAA,GAAQC,aAAA,IAAiBY,YAAA;IAE/B;;;;;IAKA,MAAMQ,2BAAA,GAA8B,MAAMnC,iBAAA,CAGvC;MACDoC,GAAA,EAAK,GAAGjB,cAAA,oBAAkC;MAC1CI,GAAA,EAAKb,cAAA,CAAea,GAAG;MACvBc,KAAA,EAAO;QACLC,IAAA,EAAMxB,KAAA,EAAOwB;MACf;IACF;IAEA,MAAMC,cAAA,GAAiCJ,2BAAA,EAA6BG,IAAA,IAAQ;IAC5E,MAAME,cAAA,GAAiBL,2BAAA,EAA6BK,cAAA,IAAkB;IAEtE,MAAM;MACJC,MAAA,EAAQ;QAAEC,KAAA,EAAOC;MAAU;IAAE,CAC9B,GAAGjB,MAAA;IAEJ,MAAM;MACJkB,WAAW;MACXC,SAAS;MACTC,yBAAyB;MACzBC,sBAAsB;MACtBC;IAAU,CACX,GAAG,MAAMjD,gCAAA,CAAiC;MACzCkD,cAAA,EAAgB;MAChBC,oBAAA,EAAsB,CAACxB,MAAA,CAAOI,OAAO,CAACZ,IAAI,EAAEC,cAAA,CAAe;MAC3DgC,SAAA,EAAWX,cAAA;MACXM,yBAAA,EAA2B,CAAC3B,cAAA,CAAe;MAC3CV,QAAA;MACAc,GAAA,EAAKb,cAAA,CAAea,GAAG;MACvBe,IAAA,EAAMC;IACR;IAEA,MAAMa,gBAAA,GAAmBR,WAAW,CAACA,WAAA,CAAYS,MAAM,GAAG,EAAE,EAAEC,EAAA;IAE9D,IACE,CAAC3C,UAAA,KACAyC,gBAAC,IAAoB3C,QAAA,IAAYA,QAAA,KAAa2C,gBAAA,IAC5C3C,QAAA,IAAY,CAAC2C,gBAAgB,GAChC;MACAlD,QAAA,CACED,cAAA,CAAe;QACb0C,UAAA;QACAY,IAAA,EAAM,gBAAgBpC,cAAA,IAAkBO,MAAA,CAAOI,OAAO,CAACZ,IAAI,EAAE;QAC7DsC,SAAA,EAAW9B,MAAA,CAAO8B;MACpB;IAEJ;IAEA,MAAMC,WAAA,GAA6C;MACjDxC,gBAAA;MACA4B,SAAA;MACArB,IAAA;MACAJ,MAAA,EAAQC,UAAA;MACRR,MAAA;MACAY,OAAA;MACAH,WAAA;MACAN,YAAA;MACAgC,UAAA;MACApB;IACF;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA,MAAM8B,MAAA,GAAS5C,KAAA,EAAO4C,MAAA;IAEtB,OAAO;MACLC,IAAA,eACEC,KAAA,CAAAC,SAAA;gCACEC,IAAA,CAACjE,mBAAA;UAAoByB,WAAA,EAAaA;YACjCxB,qBAAA,CAAsB;UACrBiE,WAAA,EAAa;YACX;YACAC,wBAAA,EAA0B,CAACtC,MAAA,CAAOI,OAAO,CAACZ,IAAI,EAAEC,cAAA,CAAe;YAC/D8C,0BAAA,EAA4B,CAC1B3C,WAAA,EAAaU,WAAA,GAAcN,MAAA,CAAOI,OAAO,CAACZ,IAAI,CAAC,EAAEgD,MAAA,GAC7CxC,MAAA,CAAOI,OAAO,CAACZ,IAAI,GACnB,MACJI,WAAA,EAAaU,WAAA,GAAcb,cAAA,CAAe,EAAE+C,MAAA,GAAS/C,cAAA,GAAiB,KACvE,CAACgD,MAAM,CAACC,OAAA;YACTC,cAAA,EAAgB,gBAAgBlD,cAAA,IAAkBO,MAAA,CAAOI,OAAO,CAACZ,IAAI,EAAE;YACvE0B,WAAA;YACAzB,cAAA;YACAb,iBAAA;YACAC,eAAA;YACAsC,SAAA;YACArC,mBAAA;YACAsC,yBAAA;YACAwB,eAAA,EAAiB5C,MAAA,CAAOI,OAAO,CAACyC,SAAS;YACzC9D,QAAA,EAAU2C,gBAAA,IAAoB;YAC9BL,sBAAA;YACAW,MAAA;YACApB,IAAA,EAAMC,cAAA;YACNS,UAAA;YACAR;UACF;UACA;UACAgC,QAAA,EAAU5E,2BAAA;UACV6E,SAAA,EAAWhD,OAAA,CAAQgD,SAAS;UAC5BhB;QACF;;IAGN;EACF;EAEA,MAAM,IAAI1B,KAAA,CAAM;AAClB","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/next",
|
|
3
|
-
"version": "3.48.0
|
|
3
|
+
"version": "3.48.0",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -87,9 +87,9 @@
|
|
|
87
87
|
"qs-esm": "7.0.2",
|
|
88
88
|
"sass": "1.77.4",
|
|
89
89
|
"uuid": "10.0.0",
|
|
90
|
-
"@payloadcms/
|
|
91
|
-
"@payloadcms/translations": "3.48.0
|
|
92
|
-
"@payloadcms/
|
|
90
|
+
"@payloadcms/ui": "3.48.0",
|
|
91
|
+
"@payloadcms/translations": "3.48.0",
|
|
92
|
+
"@payloadcms/graphql": "3.48.0"
|
|
93
93
|
},
|
|
94
94
|
"devDependencies": {
|
|
95
95
|
"@babel/cli": "7.27.2",
|
|
@@ -107,12 +107,12 @@
|
|
|
107
107
|
"esbuild-sass-plugin": "3.3.1",
|
|
108
108
|
"swc-plugin-transform-remove-imports": "4.0.4",
|
|
109
109
|
"@payloadcms/eslint-config": "3.28.0",
|
|
110
|
-
"payload": "3.48.0
|
|
110
|
+
"payload": "3.48.0"
|
|
111
111
|
},
|
|
112
112
|
"peerDependencies": {
|
|
113
113
|
"graphql": "^16.8.1",
|
|
114
114
|
"next": "^15.2.3",
|
|
115
|
-
"payload": "3.48.0
|
|
115
|
+
"payload": "3.48.0"
|
|
116
116
|
},
|
|
117
117
|
"engines": {
|
|
118
118
|
"node": "^18.20.2 || >=20.9.0"
|