@payloadcms/next 3.59.0-internal.fae0e05 → 3.59.0-internal.ff6711a

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 (56) hide show
  1. package/dist/elements/DocumentHeader/index.d.ts +3 -0
  2. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  3. package/dist/elements/DocumentHeader/index.js +3 -0
  4. package/dist/elements/DocumentHeader/index.js.map +1 -1
  5. package/dist/elements/Nav/NavHamburger/index.d.ts +3 -0
  6. package/dist/elements/Nav/NavHamburger/index.d.ts.map +1 -1
  7. package/dist/elements/Nav/NavHamburger/index.js +3 -0
  8. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  9. package/dist/elements/Nav/NavWrapper/index.d.ts +3 -0
  10. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  11. package/dist/elements/Nav/NavWrapper/index.js +3 -0
  12. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  13. package/dist/elements/Nav/index.client.d.ts +3 -0
  14. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  15. package/dist/elements/Nav/index.client.js +3 -0
  16. package/dist/elements/Nav/index.client.js.map +1 -1
  17. package/dist/exports/elements.d.ts +4 -0
  18. package/dist/exports/elements.d.ts.map +1 -0
  19. package/dist/exports/elements.js +6 -0
  20. package/dist/exports/elements.js.map +1 -0
  21. package/dist/exports/rsc.d.ts +4 -0
  22. package/dist/exports/rsc.d.ts.map +1 -0
  23. package/dist/exports/rsc.js +4 -0
  24. package/dist/exports/rsc.js.map +1 -0
  25. package/dist/exports/views.d.ts +5 -0
  26. package/dist/exports/views.d.ts.map +1 -1
  27. package/dist/exports/views.js +5 -0
  28. package/dist/exports/views.js.map +1 -1
  29. package/dist/prod/styles.css +1 -1
  30. package/dist/utilities/getRequestLocale.js +1 -1
  31. package/dist/utilities/getRequestLocale.js.map +1 -1
  32. package/dist/views/Account/index.d.ts +1 -1
  33. package/dist/views/Account/index.d.ts.map +1 -1
  34. package/dist/views/Account/index.js +1 -1
  35. package/dist/views/Account/index.js.map +1 -1
  36. package/dist/views/Dashboard/Default/index.d.ts +2 -2
  37. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  38. package/dist/views/Dashboard/Default/index.js.map +1 -1
  39. package/dist/views/Dashboard/index.d.ts +1 -1
  40. package/dist/views/Dashboard/index.d.ts.map +1 -1
  41. package/dist/views/Dashboard/index.js +10 -10
  42. package/dist/views/Dashboard/index.js.map +1 -1
  43. package/dist/views/Document/index.d.ts +1 -1
  44. package/dist/views/Document/index.d.ts.map +1 -1
  45. package/dist/views/Document/index.js +2 -2
  46. package/dist/views/Document/index.js.map +1 -1
  47. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  48. package/dist/views/Document/renderDocumentSlots.js +8 -0
  49. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  50. package/dist/views/List/index.d.ts +12 -3
  51. package/dist/views/List/index.d.ts.map +1 -1
  52. package/dist/views/List/index.js +4 -1
  53. package/dist/views/List/index.js.map +1 -1
  54. package/dist/views/Root/getRouteData.js +5 -5
  55. package/dist/views/Root/getRouteData.js.map +1 -1
  56. package/package.json +17 -7
@@ -15,10 +15,13 @@ import { transformColumnsToSelect } from './transformColumnsToSelect.js';
15
15
  * the list view on the server for both:
16
16
  * - default list view
17
17
  * - list view within drawers
18
+ *
19
+ * @internal
18
20
  */
19
21
  export const renderListView = async args => {
20
22
  const {
21
23
  clientConfig,
24
+ ComponentOverride,
22
25
  customCellProps,
23
26
  disableBulkDelete,
24
27
  disableBulkEdit,
@@ -306,7 +309,7 @@ export const renderListView = async args => {
306
309
  Table,
307
310
  viewType
308
311
  },
309
- Component: collectionConfig?.admin?.components?.views?.list?.Component,
312
+ Component: ComponentOverride ?? collectionConfig?.admin?.components?.views?.list?.Component,
310
313
  Fallback: DefaultListView,
311
314
  importMap: payload.importMap,
312
315
  serverProps
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DefaultListView","HydrateAuthProvider","ListQueryProvider","RenderServerComponent","getColumns","renderFilters","renderTable","upsertPreferences","notFound","appendUploadSelectFields","combineWhereConstraints","formatAdminURL","isNumber","mergeListSearchAndWhere","transformColumnsToPreferences","transformColumnsToSearchParams","React","Fragment","getDocumentPermissions","handleGroupBy","renderListViewSlots","resolveAllFilterOptions","transformColumnsToSelect","renderListView","args","clientConfig","customCellProps","disableBulkDelete","disableBulkEdit","disableQueryPresets","drawerSlug","enableRowSelections","initPageResult","overrideEntityVisibility","params","query","queryFromArgs","searchParams","trash","viewType","collectionConfig","slug","collectionSlug","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","collections","read","Error","columnsFromQuery","columns","queryByGroup","JSON","parse","collectionPreferences","key","value","groupBy","limit","Number","undefined","preset","sort","page","admin","pagination","defaultLimit","defaultSort","routes","adminRoute","includes","baseFilterConstraint","baseFilter","baseListFilter","queryPreset","queryPresetPermissions","whereWithMergedSearch","search","where","and","deletedAt","exists","findByID","id","collection","depth","overrideAccess","find","c","data","then","docPermissions","err","logger","error","Table","columnState","docs","hasNextPage","hasPrevPage","nextPage","pagingCounter","prevPage","totalDocs","totalPages","clientCollectionConfig","select","enableListViewSelectAPI","draft","fallbackLocale","includeLockStatus","orderableFieldName","orderable","useAsTitle","name","msg","renderedFilters","fields","importMap","resolvedFilterOptions","staticDescription","description","t","newDocumentURL","path","hasCreatePermission","create","hasDeletePermission","delete","notFoundDocId","serverProps","listPreferences","listSearchableFields","listViewSlots","clientProps","isInDrawer","Boolean","stringify","List","_jsxs","_jsx","modifySearchParams","Component","components","views","list","Fallback","ListView","RenderedList","message","console"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n Column,\n ColumnPreference,\n ListQuery,\n ListViewClientProps,\n ListViewServerPropsOnly,\n PaginatedDocs,\n QueryPreset,\n SanitizedCollectionPermission,\n} from 'payload'\n\nimport { DefaultListView, HydrateAuthProvider, ListQueryProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getColumns, renderFilters, renderTable, upsertPreferences } from '@payloadcms/ui/rsc'\nimport { notFound } from 'next/navigation.js'\nimport {\n appendUploadSelectFields,\n combineWhereConstraints,\n formatAdminURL,\n isNumber,\n mergeListSearchAndWhere,\n transformColumnsToPreferences,\n transformColumnsToSearchParams,\n} from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { getDocumentPermissions } from '../Document/getDocumentPermissions.js'\nimport { handleGroupBy } from './handleGroupBy.js'\nimport { renderListViewSlots } from './renderListViewSlots.js'\nimport { resolveAllFilterOptions } from './resolveAllFilterOptions.js'\nimport { transformColumnsToSelect } from './transformColumnsToSelect.js'\n\ntype RenderListViewArgs = {\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n disableQueryPresets?: boolean\n drawerSlug?: string\n enableRowSelections: boolean\n overrideEntityVisibility?: boolean\n query: ListQuery\n redirectAfterDelete?: boolean\n redirectAfterDuplicate?: boolean\n /**\n * @experimental This prop is subject to change in future releases.\n */\n trash?: boolean\n} & AdminViewServerProps\n\n/**\n * This function is responsible for rendering\n * the list view on the server for both:\n * - default list view\n * - list view within drawers\n */\nexport const renderListView = async (\n args: RenderListViewArgs,\n): Promise<{\n List: React.ReactNode\n}> => {\n const {\n clientConfig,\n customCellProps,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n initPageResult,\n overrideEntityVisibility,\n params,\n query: queryFromArgs,\n searchParams,\n trash,\n viewType,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: { slug: collectionSlug },\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n if (!permissions?.collections?.[collectionSlug]?.read) {\n throw new Error('not-found')\n }\n\n const query: ListQuery = queryFromArgs || queryFromReq\n\n const columnsFromQuery: ColumnPreference[] = transformColumnsToPreferences(query?.columns)\n\n query.queryByGroup =\n query?.queryByGroup && typeof query.queryByGroup === 'string'\n ? JSON.parse(query.queryByGroup)\n : query?.queryByGroup\n\n const collectionPreferences = await upsertPreferences<CollectionPreferences>({\n key: `collection-${collectionSlug}`,\n req,\n value: {\n columns: columnsFromQuery,\n groupBy: query?.groupBy,\n limit: isNumber(query?.limit) ? Number(query.limit) : undefined,\n preset: query?.preset,\n sort: query?.sort as string,\n },\n })\n\n query.preset = collectionPreferences?.preset\n\n query.page = isNumber(query?.page) ? Number(query.page) : 0\n\n query.limit = collectionPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n\n query.sort =\n collectionPreferences?.sort ||\n (typeof collectionConfig.defaultSort === 'string' ? collectionConfig.defaultSort : undefined)\n\n query.groupBy = collectionPreferences?.groupBy\n\n query.columns = transformColumnsToSearchParams(collectionPreferences?.columns || [])\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n if (collectionConfig) {\n if (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility) {\n throw new Error('not-found')\n }\n\n const baseFilterConstraint = await (\n collectionConfig.admin?.baseFilter ?? collectionConfig.admin?.baseListFilter\n )?.({\n limit: query.limit,\n page: query.page,\n req,\n sort: query.sort,\n })\n\n let queryPreset: QueryPreset | undefined\n let queryPresetPermissions: SanitizedCollectionPermission | undefined\n\n let whereWithMergedSearch = mergeListSearchAndWhere({\n collectionConfig,\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: combineWhereConstraints([query?.where, baseFilterConstraint]),\n })\n\n if (trash === true) {\n whereWithMergedSearch = {\n and: [\n whereWithMergedSearch,\n {\n deletedAt: {\n exists: true,\n },\n },\n ],\n }\n }\n\n if (collectionPreferences?.preset) {\n try {\n queryPreset = (await payload.findByID({\n id: collectionPreferences?.preset,\n collection: 'payload-query-presets',\n depth: 0,\n overrideAccess: false,\n user,\n })) as QueryPreset\n\n if (queryPreset) {\n queryPresetPermissions = await getDocumentPermissions({\n id: queryPreset.id,\n collectionConfig: config.collections.find((c) => c.slug === 'payload-query-presets'),\n data: queryPreset,\n req,\n })?.then(({ docPermissions }) => docPermissions)\n }\n } catch (err) {\n req.payload.logger.error(`Error fetching query preset or preset permissions: ${err}`)\n }\n }\n\n let Table: React.ReactNode | React.ReactNode[] = null\n let columnState: Column[] = []\n let data: PaginatedDocs = {\n // no results default\n docs: [],\n hasNextPage: false,\n hasPrevPage: false,\n limit: query.limit,\n nextPage: null,\n page: 1,\n pagingCounter: 0,\n prevPage: null,\n totalDocs: 0,\n totalPages: 0,\n }\n\n const clientCollectionConfig = clientConfig.collections.find((c) => c.slug === collectionSlug)\n\n const columns = getColumns({\n clientConfig,\n collectionConfig: clientCollectionConfig,\n collectionSlug,\n columns: collectionPreferences?.columns,\n i18n,\n })\n\n const select = collectionConfig.admin.enableListViewSelectAPI\n ? transformColumnsToSelect(columns)\n : undefined\n\n /** Force select image fields for list view thumbnails */\n appendUploadSelectFields({\n collectionConfig,\n select,\n })\n\n try {\n if (collectionConfig.admin.groupBy && query.groupBy) {\n ;({ columnState, data, Table } = await handleGroupBy({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collectionSlug,\n columns,\n customCellProps,\n drawerSlug,\n enableRowSelections,\n query,\n req,\n select,\n trash,\n user,\n viewType,\n where: whereWithMergedSearch,\n }))\n } else {\n data = await req.payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit: query?.limit ? Number(query.limit) : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.page ? Number(query.page) : undefined,\n req,\n select,\n sort: query?.sort,\n trash,\n user,\n where: whereWithMergedSearch,\n })\n ;({ columnState, Table } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columns,\n customCellProps,\n data,\n drawerSlug,\n enableRowSelections,\n i18n: req.i18n,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload: req.payload,\n query,\n req,\n useAsTitle: collectionConfig.admin.useAsTitle,\n viewType,\n }))\n }\n } catch (err) {\n if (err.name !== 'QueryError') {\n // QueryErrors are expected when a user filters by a field they do not have access to\n req.payload.logger.error({\n err,\n msg: `There was an error fetching the list view data for collection ${collectionSlug}`,\n })\n throw err\n }\n }\n\n const renderedFilters = renderFilters(collectionConfig.fields, req.payload.importMap)\n\n const resolvedFilterOptions = await resolveAllFilterOptions({\n fields: collectionConfig.fields,\n req,\n })\n\n const staticDescription =\n typeof collectionConfig.admin.description === 'function'\n ? collectionConfig.admin.description({ t: i18n.t })\n : collectionConfig.admin.description\n\n const newDocumentURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/create`,\n })\n\n const hasCreatePermission = permissions?.collections?.[collectionSlug]?.create\n const hasDeletePermission = permissions?.collections?.[collectionSlug]?.delete\n\n // Check if there's a notFound query parameter (document ID that wasn't found)\n const notFoundDocId = typeof searchParams?.notFound === 'string' ? searchParams.notFound : null\n\n const serverProps: ListViewServerPropsOnly = {\n collectionConfig,\n data,\n i18n,\n limit: query.limit,\n listPreferences: collectionPreferences,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }\n\n const listViewSlots = renderListViewSlots({\n clientProps: {\n collectionSlug,\n hasCreatePermission,\n hasDeletePermission,\n newDocumentURL,\n },\n collectionConfig,\n description: staticDescription,\n notFoundDocId,\n payload,\n serverProps,\n })\n\n const isInDrawer = Boolean(drawerSlug)\n\n // Needed to prevent: Only plain objects can be passed to Client Components from Server Components. Objects with toJSON methods are not supported. Convert it manually to a simple value before passing it to props.\n // Is there a way to avoid this? The `where` object is already seemingly plain, but is not bc it originates from the params.\n query.where = query?.where ? JSON.parse(JSON.stringify(query?.where || {})) : undefined\n\n return {\n List: (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n <ListQueryProvider\n collectionSlug={collectionSlug}\n data={data}\n modifySearchParams={!isInDrawer}\n orderableFieldName={collectionConfig.orderable === true ? '_order' : undefined}\n query={query}\n >\n {RenderServerComponent({\n clientProps: {\n ...listViewSlots,\n collectionSlug,\n columnState,\n disableBulkDelete,\n disableBulkEdit: collectionConfig.disableBulkEdit ?? disableBulkEdit,\n disableQueryPresets,\n enableRowSelections,\n hasCreatePermission,\n hasDeletePermission,\n listPreferences: collectionPreferences,\n newDocumentURL,\n queryPreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n Table,\n viewType,\n } satisfies ListViewClientProps,\n Component: collectionConfig?.admin?.components?.views?.list?.Component,\n Fallback: DefaultListView,\n importMap: payload.importMap,\n serverProps,\n })}\n </ListQueryProvider>\n </Fragment>\n ),\n }\n }\n\n throw new Error('not-found')\n}\n\nexport const ListView: React.FC<RenderListViewArgs> = async (args) => {\n try {\n const { List: RenderedList } = await renderListView({ ...args, enableRowSelections: true })\n return RenderedList\n } catch (error) {\n if (error.message === 'not-found') {\n notFound()\n } else {\n console.error(error) // eslint-disable-line no-console\n }\n }\n}\n"],"mappings":";AAaA,SAASA,eAAe,EAAEC,mBAAmB,EAAEC,iBAAiB,QAAQ;AACxE,SAASC,qBAAqB,QAAQ;AACtC,SAASC,UAAU,EAAEC,aAAa,EAAEC,WAAW,EAAEC,iBAAiB,QAAQ;AAC1E,SAASC,QAAQ,QAAQ;AACzB,SACEC,wBAAwB,EACxBC,uBAAuB,EACvBC,cAAc,EACdC,QAAQ,EACRC,uBAAuB,EACvBC,6BAA6B,EAC7BC,8BAA8B,QACzB;AACP,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,sBAAsB,QAAQ;AACvC,SAASC,aAAa,QAAQ;AAC9B,SAASC,mBAAmB,QAAQ;AACpC,SAASC,uBAAuB,QAAQ;AACxC,SAASC,wBAAwB,QAAQ;AAmBzC;;;;;;AAMA,OAAO,MAAMC,cAAA,GAAiB,MAC5BC,IAAA;EAIA,MAAM;IACJC,YAAY;IACZC,eAAe;IACfC,iBAAiB;IACjBC,eAAe;IACfC,mBAAmB;IACnBC,UAAU;IACVC,mBAAmB;IACnBC,cAAc;IACdC,wBAAwB;IACxBC,MAAM;IACNC,KAAA,EAAOC,aAAa;IACpBC,YAAY;IACZC,KAAK;IACLC;EAAQ,CACT,GAAGf,IAAA;EAEJ,MAAM;IACJgB,gBAAgB;IAChBA,gBAAA,EAAkB;MAAEC,IAAA,EAAMC;IAAc,CAAE;IAC1CC,MAAA,EAAQC,UAAU;IAClBC,WAAW;IACXC,GAAG;IACHA,GAAA,EAAK;MACHC,IAAI;MACJC,OAAO;MACPA,OAAA,EAAS;QAAEC;MAAM,CAAE;MACnBd,KAAA,EAAOe,YAAY;MACnBC;IAAI,CACL;IACDC;EAAe,CAChB,GAAGpB,cAAA;EAEJ,IAAI,CAACa,WAAA,EAAaQ,WAAA,GAAcX,cAAA,CAAe,EAAEY,IAAA,EAAM;IACrD,MAAM,IAAIC,KAAA,CAAM;EAClB;EAEA,MAAMpB,KAAA,GAAmBC,aAAA,IAAiBc,YAAA;EAE1C,MAAMM,gBAAA,GAAuC1C,6BAAA,CAA8BqB,KAAA,EAAOsB,OAAA;EAElFtB,KAAA,CAAMuB,YAAY,GAChBvB,KAAA,EAAOuB,YAAA,IAAgB,OAAOvB,KAAA,CAAMuB,YAAY,KAAK,WACjDC,IAAA,CAAKC,KAAK,CAACzB,KAAA,CAAMuB,YAAY,IAC7BvB,KAAA,EAAOuB,YAAA;EAEb,MAAMG,qBAAA,GAAwB,MAAMtD,iBAAA,CAAyC;IAC3EuD,GAAA,EAAK,cAAcpB,cAAA,EAAgB;IACnCI,GAAA;IACAiB,KAAA,EAAO;MACLN,OAAA,EAASD,gBAAA;MACTQ,OAAA,EAAS7B,KAAA,EAAO6B,OAAA;MAChBC,KAAA,EAAOrD,QAAA,CAASuB,KAAA,EAAO8B,KAAA,IAASC,MAAA,CAAO/B,KAAA,CAAM8B,KAAK,IAAIE,SAAA;MACtDC,MAAA,EAAQjC,KAAA,EAAOiC,MAAA;MACfC,IAAA,EAAMlC,KAAA,EAAOkC;IACf;EACF;EAEAlC,KAAA,CAAMiC,MAAM,GAAGP,qBAAA,EAAuBO,MAAA;EAEtCjC,KAAA,CAAMmC,IAAI,GAAG1D,QAAA,CAASuB,KAAA,EAAOmC,IAAA,IAAQJ,MAAA,CAAO/B,KAAA,CAAMmC,IAAI,IAAI;EAE1DnC,KAAA,CAAM8B,KAAK,GAAGJ,qBAAA,EAAuBI,KAAA,IAASzB,gBAAA,CAAiB+B,KAAK,CAACC,UAAU,CAACC,YAAY;EAE5FtC,KAAA,CAAMkC,IAAI,GACRR,qBAAA,EAAuBQ,IAAA,KACtB,OAAO7B,gBAAA,CAAiBkC,WAAW,KAAK,WAAWlC,gBAAA,CAAiBkC,WAAW,GAAGP,SAAQ;EAE7FhC,KAAA,CAAM6B,OAAO,GAAGH,qBAAA,EAAuBG,OAAA;EAEvC7B,KAAA,CAAMsB,OAAO,GAAG1C,8BAAA,CAA+B8C,qBAAA,EAAuBJ,OAAA,IAAW,EAAE;EAEnF,MAAM;IACJkB,MAAA,EAAQ;MAAEJ,KAAA,EAAOK;IAAU;EAAE,CAC9B,GAAG3B,MAAA;EAEJ,IAAIT,gBAAA,EAAkB;IACpB,IAAI,CAACY,eAAA,CAAgBC,WAAW,CAACwB,QAAQ,CAACnC,cAAA,KAAmB,CAACT,wBAAA,EAA0B;MACtF,MAAM,IAAIsB,KAAA,CAAM;IAClB;IAEA,MAAMuB,oBAAA,GAAuB,MAC3B,CAAAtC,gBAAA,CAAiB+B,KAAK,EAAEQ,UAAA,IAAcvC,gBAAA,CAAiB+B,KAAK,EAAES,cAAa,IACzE;MACFf,KAAA,EAAO9B,KAAA,CAAM8B,KAAK;MAClBK,IAAA,EAAMnC,KAAA,CAAMmC,IAAI;MAChBxB,GAAA;MACAuB,IAAA,EAAMlC,KAAA,CAAMkC;IACd;IAEA,IAAIY,WAAA;IACJ,IAAIC,sBAAA;IAEJ,IAAIC,qBAAA,GAAwBtE,uBAAA,CAAwB;MAClD2B,gBAAA;MACA4C,MAAA,EAAQ,OAAOjD,KAAA,EAAOiD,MAAA,KAAW,WAAWjD,KAAA,CAAMiD,MAAM,GAAGjB,SAAA;MAC3DkB,KAAA,EAAO3E,uBAAA,CAAwB,CAACyB,KAAA,EAAOkD,KAAA,EAAOP,oBAAA,CAAqB;IACrE;IAEA,IAAIxC,KAAA,KAAU,MAAM;MAClB6C,qBAAA,GAAwB;QACtBG,GAAA,EAAK,CACHH,qBAAA,EACA;UACEI,SAAA,EAAW;YACTC,MAAA,EAAQ;UACV;QACF;MAEJ;IACF;IAEA,IAAI3B,qBAAA,EAAuBO,MAAA,EAAQ;MACjC,IAAI;QACFa,WAAA,GAAe,MAAMjC,OAAA,CAAQyC,QAAQ,CAAC;UACpCC,EAAA,EAAI7B,qBAAA,EAAuBO,MAAA;UAC3BuB,UAAA,EAAY;UACZC,KAAA,EAAO;UACPC,cAAA,EAAgB;UAChB1C;QACF;QAEA,IAAI8B,WAAA,EAAa;UACfC,sBAAA,GAAyB,MAAMhE,sBAAA,CAAuB;YACpDwE,EAAA,EAAIT,WAAA,CAAYS,EAAE;YAClBlD,gBAAA,EAAkBS,MAAA,CAAOI,WAAW,CAACyC,IAAI,CAAEC,CAAA,IAAMA,CAAA,CAAEtD,IAAI,KAAK;YAC5DuD,IAAA,EAAMf,WAAA;YACNnC;UACF,IAAImD,IAAA,CAAK,CAAC;YAAEC;UAAc,CAAE,KAAKA,cAAA;QACnC;MACF,EAAE,OAAOC,GAAA,EAAK;QACZrD,GAAA,CAAIE,OAAO,CAACoD,MAAM,CAACC,KAAK,CAAC,sDAAsDF,GAAA,EAAK;MACtF;IACF;IAEA,IAAIG,KAAA,GAA6C;IACjD,IAAIC,WAAA,GAAwB,EAAE;IAC9B,IAAIP,IAAA,GAAsB;MACxB;MACAQ,IAAA,EAAM,EAAE;MACRC,WAAA,EAAa;MACbC,WAAA,EAAa;MACbzC,KAAA,EAAO9B,KAAA,CAAM8B,KAAK;MAClB0C,QAAA,EAAU;MACVrC,IAAA,EAAM;MACNsC,aAAA,EAAe;MACfC,QAAA,EAAU;MACVC,SAAA,EAAW;MACXC,UAAA,EAAY;IACd;IAEA,MAAMC,sBAAA,GAAyBvF,YAAA,CAAa4B,WAAW,CAACyC,IAAI,CAAEC,CAAA,IAAMA,CAAA,CAAEtD,IAAI,KAAKC,cAAA;IAE/E,MAAMe,OAAA,GAAUrD,UAAA,CAAW;MACzBqB,YAAA;MACAe,gBAAA,EAAkBwE,sBAAA;MAClBtE,cAAA;MACAe,OAAA,EAASI,qBAAA,EAAuBJ,OAAA;MAChCV;IACF;IAEA,MAAMkE,MAAA,GAASzE,gBAAA,CAAiB+B,KAAK,CAAC2C,uBAAuB,GACzD5F,wBAAA,CAAyBmC,OAAA,IACzBU,SAAA;IAEJ;IACA1D,wBAAA,CAAyB;MACvB+B,gBAAA;MACAyE;IACF;IAEA,IAAI;MACF,IAAIzE,gBAAA,CAAiB+B,KAAK,CAACP,OAAO,IAAI7B,KAAA,CAAM6B,OAAO,EAAE;QACjD;UAAEuC,WAAW;UAAEP,IAAI;UAAEM;QAAK,CAAE,GAAG,MAAMnF,aAAA,CAAc;UACnD6F,sBAAA;UACAvF,YAAA;UACAe,gBAAA;UACAE,cAAA;UACAe,OAAA;UACA/B,eAAA;UACAI,UAAA;UACAC,mBAAA;UACAI,KAAA;UACAW,GAAA;UACAmE,MAAA;UACA3E,KAAA;UACAa,IAAA;UACAZ,QAAA;UACA8C,KAAA,EAAOF;QACT,EAAC;MACH,OAAO;QACLa,IAAA,GAAO,MAAMlD,GAAA,CAAIE,OAAO,CAAC8C,IAAI,CAAC;UAC5BH,UAAA,EAAYjD,cAAA;UACZkD,KAAA,EAAO;UACPuB,KAAA,EAAO;UACPC,cAAA,EAAgB;UAChBC,iBAAA,EAAmB;UACnBpD,KAAA,EAAO9B,KAAA,EAAO8B,KAAA,GAAQC,MAAA,CAAO/B,KAAA,CAAM8B,KAAK,IAAIE,SAAA;UAC5CxB,MAAA,EAAQG,GAAA,CAAIH,MAAM;UAClBkD,cAAA,EAAgB;UAChBvB,IAAA,EAAMnC,KAAA,EAAOmC,IAAA,GAAOJ,MAAA,CAAO/B,KAAA,CAAMmC,IAAI,IAAIH,SAAA;UACzCrB,GAAA;UACAmE,MAAA;UACA5C,IAAA,EAAMlC,KAAA,EAAOkC,IAAA;UACb/B,KAAA;UACAa,IAAA;UACAkC,KAAA,EAAOF;QACT;QACE;UAAEoB,WAAW;UAAED;QAAK,CAAE,GAAGhG,WAAA,CAAY;UACrC0G,sBAAA;UACAxE,gBAAA;UACAiB,OAAA;UACA/B,eAAA;UACAsE,IAAA;UACAlE,UAAA;UACAC,mBAAA;UACAgB,IAAA,EAAMD,GAAA,CAAIC,IAAI;UACduE,kBAAA,EAAoB9E,gBAAA,CAAiB+E,SAAS,KAAK,OAAO,WAAWpD,SAAA;UACrEnB,OAAA,EAASF,GAAA,CAAIE,OAAO;UACpBb,KAAA;UACAW,GAAA;UACA0E,UAAA,EAAYhF,gBAAA,CAAiB+B,KAAK,CAACiD,UAAU;UAC7CjF;QACF,EAAC;MACH;IACF,EAAE,OAAO4D,GAAA,EAAK;MACZ,IAAIA,GAAA,CAAIsB,IAAI,KAAK,cAAc;QAC7B;QACA3E,GAAA,CAAIE,OAAO,CAACoD,MAAM,CAACC,KAAK,CAAC;UACvBF,GAAA;UACAuB,GAAA,EAAK,iEAAiEhF,cAAA;QACxE;QACA,MAAMyD,GAAA;MACR;IACF;IAEA,MAAMwB,eAAA,GAAkBtH,aAAA,CAAcmC,gBAAA,CAAiBoF,MAAM,EAAE9E,GAAA,CAAIE,OAAO,CAAC6E,SAAS;IAEpF,MAAMC,qBAAA,GAAwB,MAAMzG,uBAAA,CAAwB;MAC1DuG,MAAA,EAAQpF,gBAAA,CAAiBoF,MAAM;MAC/B9E;IACF;IAEA,MAAMiF,iBAAA,GACJ,OAAOvF,gBAAA,CAAiB+B,KAAK,CAACyD,WAAW,KAAK,aAC1CxF,gBAAA,CAAiB+B,KAAK,CAACyD,WAAW,CAAC;MAAEC,CAAA,EAAGlF,IAAA,CAAKkF;IAAE,KAC/CzF,gBAAA,CAAiB+B,KAAK,CAACyD,WAAW;IAExC,MAAME,cAAA,GAAiBvH,cAAA,CAAe;MACpCiE,UAAA;MACAuD,IAAA,EAAM,gBAAgBzF,cAAA;IACxB;IAEA,MAAM0F,mBAAA,GAAsBvF,WAAA,EAAaQ,WAAA,GAAcX,cAAA,CAAe,EAAE2F,MAAA;IACxE,MAAMC,mBAAA,GAAsBzF,WAAA,EAAaQ,WAAA,GAAcX,cAAA,CAAe,EAAE6F,MAAA;IAExE;IACA,MAAMC,aAAA,GAAgB,OAAOnG,YAAA,EAAc7B,QAAA,KAAa,WAAW6B,YAAA,CAAa7B,QAAQ,GAAG;IAE3F,MAAMiI,WAAA,GAAuC;MAC3CjG,gBAAA;MACAwD,IAAA;MACAjD,IAAA;MACAkB,KAAA,EAAO9B,KAAA,CAAM8B,KAAK;MAClByE,eAAA,EAAiB7E,qBAAA;MACjB8E,oBAAA,EAAsBnG,gBAAA,CAAiB+B,KAAK,CAACoE,oBAAoB;MACjEhG,MAAA,EAAQC,UAAA;MACRV,MAAA;MACAc,OAAA;MACAH,WAAA;MACAR,YAAA;MACAc;IACF;IAEA,MAAMyF,aAAA,GAAgBxH,mBAAA,CAAoB;MACxCyH,WAAA,EAAa;QACXnG,cAAA;QACA0F,mBAAA;QACAE,mBAAA;QACAJ;MACF;MACA1F,gBAAA;MACAwF,WAAA,EAAaD,iBAAA;MACbS,aAAA;MACAxF,OAAA;MACAyF;IACF;IAEA,MAAMK,UAAA,GAAaC,OAAA,CAAQjH,UAAA;IAE3B;IACA;IACAK,KAAA,CAAMkD,KAAK,GAAGlD,KAAA,EAAOkD,KAAA,GAAQ1B,IAAA,CAAKC,KAAK,CAACD,IAAA,CAAKqF,SAAS,CAAC7G,KAAA,EAAOkD,KAAA,IAAS,CAAC,MAAMlB,SAAA;IAE9E,OAAO;MACL8E,IAAA,eACEC,KAAA,CAACjI,QAAA;gCACCkI,IAAA,CAAClJ,mBAAA;UAAoB4C,WAAA,EAAaA;yBAClCsG,IAAA,CAACjJ,iBAAA;UACCwC,cAAA,EAAgBA,cAAA;UAChBsD,IAAA,EAAMA,IAAA;UACNoD,kBAAA,EAAoB,CAACN,UAAA;UACrBxB,kBAAA,EAAoB9E,gBAAA,CAAiB+E,SAAS,KAAK,OAAO,WAAWpD,SAAA;UACrEhC,KAAA,EAAOA,KAAA;oBAENhC,qBAAA,CAAsB;YACrB0I,WAAA,EAAa;cACX,GAAGD,aAAa;cAChBlG,cAAA;cACA6D,WAAA;cACA5E,iBAAA;cACAC,eAAA,EAAiBY,gBAAA,CAAiBZ,eAAe,IAAIA,eAAA;cACrDC,mBAAA;cACAE,mBAAA;cACAqG,mBAAA;cACAE,mBAAA;cACAI,eAAA,EAAiB7E,qBAAA;cACjBqE,cAAA;cACAjD,WAAA;cACAC,sBAAA;cACAyC,eAAA;cACAG,qBAAA;cACAxB,KAAA;cACA/D;YACF;YACA8G,SAAA,EAAW7G,gBAAA,EAAkB+B,KAAA,EAAO+E,UAAA,EAAYC,KAAA,EAAOC,IAAA,EAAMH,SAAA;YAC7DI,QAAA,EAAUzJ,eAAA;YACV6H,SAAA,EAAW7E,OAAA,CAAQ6E,SAAS;YAC5BY;UACF;;;IAIR;EACF;EAEA,MAAM,IAAIlF,KAAA,CAAM;AAClB;AAEA,OAAO,MAAMmG,QAAA,GAAyC,MAAOlI,IAAA;EAC3D,IAAI;IACF,MAAM;MAAEyH,IAAA,EAAMU;IAAY,CAAE,GAAG,MAAMpI,cAAA,CAAe;MAAE,GAAGC,IAAI;MAAEO,mBAAA,EAAqB;IAAK;IACzF,OAAO4H,YAAA;EACT,EAAE,OAAOtD,KAAA,EAAO;IACd,IAAIA,KAAA,CAAMuD,OAAO,KAAK,aAAa;MACjCpJ,QAAA;IACF,OAAO;MACLqJ,OAAA,CAAQxD,KAAK,CAACA,KAAA,EAAO;MAAA;IACvB;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["DefaultListView","HydrateAuthProvider","ListQueryProvider","RenderServerComponent","getColumns","renderFilters","renderTable","upsertPreferences","notFound","appendUploadSelectFields","combineWhereConstraints","formatAdminURL","isNumber","mergeListSearchAndWhere","transformColumnsToPreferences","transformColumnsToSearchParams","React","Fragment","getDocumentPermissions","handleGroupBy","renderListViewSlots","resolveAllFilterOptions","transformColumnsToSelect","renderListView","args","clientConfig","ComponentOverride","customCellProps","disableBulkDelete","disableBulkEdit","disableQueryPresets","drawerSlug","enableRowSelections","initPageResult","overrideEntityVisibility","params","query","queryFromArgs","searchParams","trash","viewType","collectionConfig","slug","collectionSlug","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","collections","read","Error","columnsFromQuery","columns","queryByGroup","JSON","parse","collectionPreferences","key","value","groupBy","limit","Number","undefined","preset","sort","page","admin","pagination","defaultLimit","defaultSort","routes","adminRoute","includes","baseFilterConstraint","baseFilter","baseListFilter","queryPreset","queryPresetPermissions","whereWithMergedSearch","search","where","and","deletedAt","exists","findByID","id","collection","depth","overrideAccess","find","c","data","then","docPermissions","err","logger","error","Table","columnState","docs","hasNextPage","hasPrevPage","nextPage","pagingCounter","prevPage","totalDocs","totalPages","clientCollectionConfig","select","enableListViewSelectAPI","draft","fallbackLocale","includeLockStatus","orderableFieldName","orderable","useAsTitle","name","msg","renderedFilters","fields","importMap","resolvedFilterOptions","staticDescription","description","t","newDocumentURL","path","hasCreatePermission","create","hasDeletePermission","delete","notFoundDocId","serverProps","listPreferences","listSearchableFields","listViewSlots","clientProps","isInDrawer","Boolean","stringify","List","_jsxs","_jsx","modifySearchParams","Component","components","views","list","Fallback","ListView","RenderedList","message","console"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n Column,\n ColumnPreference,\n ListQuery,\n ListViewClientProps,\n ListViewServerPropsOnly,\n PaginatedDocs,\n PayloadComponent,\n QueryPreset,\n SanitizedCollectionPermission,\n} from 'payload'\n\nimport { DefaultListView, HydrateAuthProvider, ListQueryProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getColumns, renderFilters, renderTable, upsertPreferences } from '@payloadcms/ui/rsc'\nimport { notFound } from 'next/navigation.js'\nimport {\n appendUploadSelectFields,\n combineWhereConstraints,\n formatAdminURL,\n isNumber,\n mergeListSearchAndWhere,\n transformColumnsToPreferences,\n transformColumnsToSearchParams,\n} from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { getDocumentPermissions } from '../Document/getDocumentPermissions.js'\nimport { handleGroupBy } from './handleGroupBy.js'\nimport { renderListViewSlots } from './renderListViewSlots.js'\nimport { resolveAllFilterOptions } from './resolveAllFilterOptions.js'\nimport { transformColumnsToSelect } from './transformColumnsToSelect.js'\n\n/**\n * @internal\n */\nexport type RenderListViewArgs = {\n /**\n * Allows providing your own list view component. This will override the default list view component and\n * the collection's configured list view component (if any).\n */\n ComponentOverride?:\n | PayloadComponent\n | React.ComponentType<ListViewClientProps | (ListViewClientProps & ListViewServerPropsOnly)>\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n disableQueryPresets?: boolean\n drawerSlug?: string\n enableRowSelections: boolean\n overrideEntityVisibility?: boolean\n query: ListQuery\n redirectAfterDelete?: boolean\n redirectAfterDuplicate?: boolean\n /**\n * @experimental This prop is subject to change in future releases.\n */\n trash?: boolean\n} & AdminViewServerProps\n\n/**\n * This function is responsible for rendering\n * the list view on the server for both:\n * - default list view\n * - list view within drawers\n *\n * @internal\n */\nexport const renderListView = async (\n args: RenderListViewArgs,\n): Promise<{\n List: React.ReactNode\n}> => {\n const {\n clientConfig,\n ComponentOverride,\n customCellProps,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n initPageResult,\n overrideEntityVisibility,\n params,\n query: queryFromArgs,\n searchParams,\n trash,\n viewType,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: { slug: collectionSlug },\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n if (!permissions?.collections?.[collectionSlug]?.read) {\n throw new Error('not-found')\n }\n\n const query: ListQuery = queryFromArgs || queryFromReq\n\n const columnsFromQuery: ColumnPreference[] = transformColumnsToPreferences(query?.columns)\n\n query.queryByGroup =\n query?.queryByGroup && typeof query.queryByGroup === 'string'\n ? JSON.parse(query.queryByGroup)\n : query?.queryByGroup\n\n const collectionPreferences = await upsertPreferences<CollectionPreferences>({\n key: `collection-${collectionSlug}`,\n req,\n value: {\n columns: columnsFromQuery,\n groupBy: query?.groupBy,\n limit: isNumber(query?.limit) ? Number(query.limit) : undefined,\n preset: query?.preset,\n sort: query?.sort as string,\n },\n })\n\n query.preset = collectionPreferences?.preset\n\n query.page = isNumber(query?.page) ? Number(query.page) : 0\n\n query.limit = collectionPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n\n query.sort =\n collectionPreferences?.sort ||\n (typeof collectionConfig.defaultSort === 'string' ? collectionConfig.defaultSort : undefined)\n\n query.groupBy = collectionPreferences?.groupBy\n\n query.columns = transformColumnsToSearchParams(collectionPreferences?.columns || [])\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n if (collectionConfig) {\n if (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility) {\n throw new Error('not-found')\n }\n\n const baseFilterConstraint = await (\n collectionConfig.admin?.baseFilter ?? collectionConfig.admin?.baseListFilter\n )?.({\n limit: query.limit,\n page: query.page,\n req,\n sort: query.sort,\n })\n\n let queryPreset: QueryPreset | undefined\n let queryPresetPermissions: SanitizedCollectionPermission | undefined\n\n let whereWithMergedSearch = mergeListSearchAndWhere({\n collectionConfig,\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: combineWhereConstraints([query?.where, baseFilterConstraint]),\n })\n\n if (trash === true) {\n whereWithMergedSearch = {\n and: [\n whereWithMergedSearch,\n {\n deletedAt: {\n exists: true,\n },\n },\n ],\n }\n }\n\n if (collectionPreferences?.preset) {\n try {\n queryPreset = (await payload.findByID({\n id: collectionPreferences?.preset,\n collection: 'payload-query-presets',\n depth: 0,\n overrideAccess: false,\n user,\n })) as QueryPreset\n\n if (queryPreset) {\n queryPresetPermissions = await getDocumentPermissions({\n id: queryPreset.id,\n collectionConfig: config.collections.find((c) => c.slug === 'payload-query-presets'),\n data: queryPreset,\n req,\n })?.then(({ docPermissions }) => docPermissions)\n }\n } catch (err) {\n req.payload.logger.error(`Error fetching query preset or preset permissions: ${err}`)\n }\n }\n\n let Table: React.ReactNode | React.ReactNode[] = null\n let columnState: Column[] = []\n let data: PaginatedDocs = {\n // no results default\n docs: [],\n hasNextPage: false,\n hasPrevPage: false,\n limit: query.limit,\n nextPage: null,\n page: 1,\n pagingCounter: 0,\n prevPage: null,\n totalDocs: 0,\n totalPages: 0,\n }\n\n const clientCollectionConfig = clientConfig.collections.find((c) => c.slug === collectionSlug)\n\n const columns = getColumns({\n clientConfig,\n collectionConfig: clientCollectionConfig,\n collectionSlug,\n columns: collectionPreferences?.columns,\n i18n,\n })\n\n const select = collectionConfig.admin.enableListViewSelectAPI\n ? transformColumnsToSelect(columns)\n : undefined\n\n /** Force select image fields for list view thumbnails */\n appendUploadSelectFields({\n collectionConfig,\n select,\n })\n\n try {\n if (collectionConfig.admin.groupBy && query.groupBy) {\n ;({ columnState, data, Table } = await handleGroupBy({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collectionSlug,\n columns,\n customCellProps,\n drawerSlug,\n enableRowSelections,\n query,\n req,\n select,\n trash,\n user,\n viewType,\n where: whereWithMergedSearch,\n }))\n } else {\n data = await req.payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit: query?.limit ? Number(query.limit) : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.page ? Number(query.page) : undefined,\n req,\n select,\n sort: query?.sort,\n trash,\n user,\n where: whereWithMergedSearch,\n })\n ;({ columnState, Table } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columns,\n customCellProps,\n data,\n drawerSlug,\n enableRowSelections,\n i18n: req.i18n,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload: req.payload,\n query,\n req,\n useAsTitle: collectionConfig.admin.useAsTitle,\n viewType,\n }))\n }\n } catch (err) {\n if (err.name !== 'QueryError') {\n // QueryErrors are expected when a user filters by a field they do not have access to\n req.payload.logger.error({\n err,\n msg: `There was an error fetching the list view data for collection ${collectionSlug}`,\n })\n throw err\n }\n }\n\n const renderedFilters = renderFilters(collectionConfig.fields, req.payload.importMap)\n\n const resolvedFilterOptions = await resolveAllFilterOptions({\n fields: collectionConfig.fields,\n req,\n })\n\n const staticDescription =\n typeof collectionConfig.admin.description === 'function'\n ? collectionConfig.admin.description({ t: i18n.t })\n : collectionConfig.admin.description\n\n const newDocumentURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/create`,\n })\n\n const hasCreatePermission = permissions?.collections?.[collectionSlug]?.create\n const hasDeletePermission = permissions?.collections?.[collectionSlug]?.delete\n\n // Check if there's a notFound query parameter (document ID that wasn't found)\n const notFoundDocId = typeof searchParams?.notFound === 'string' ? searchParams.notFound : null\n\n const serverProps: ListViewServerPropsOnly = {\n collectionConfig,\n data,\n i18n,\n limit: query.limit,\n listPreferences: collectionPreferences,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }\n\n const listViewSlots = renderListViewSlots({\n clientProps: {\n collectionSlug,\n hasCreatePermission,\n hasDeletePermission,\n newDocumentURL,\n },\n collectionConfig,\n description: staticDescription,\n notFoundDocId,\n payload,\n serverProps,\n })\n\n const isInDrawer = Boolean(drawerSlug)\n\n // Needed to prevent: Only plain objects can be passed to Client Components from Server Components. Objects with toJSON methods are not supported. Convert it manually to a simple value before passing it to props.\n // Is there a way to avoid this? The `where` object is already seemingly plain, but is not bc it originates from the params.\n query.where = query?.where ? JSON.parse(JSON.stringify(query?.where || {})) : undefined\n\n return {\n List: (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n <ListQueryProvider\n collectionSlug={collectionSlug}\n data={data}\n modifySearchParams={!isInDrawer}\n orderableFieldName={collectionConfig.orderable === true ? '_order' : undefined}\n query={query}\n >\n {RenderServerComponent({\n clientProps: {\n ...listViewSlots,\n collectionSlug,\n columnState,\n disableBulkDelete,\n disableBulkEdit: collectionConfig.disableBulkEdit ?? disableBulkEdit,\n disableQueryPresets,\n enableRowSelections,\n hasCreatePermission,\n hasDeletePermission,\n listPreferences: collectionPreferences,\n newDocumentURL,\n queryPreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n Table,\n viewType,\n } satisfies ListViewClientProps,\n Component:\n ComponentOverride ?? collectionConfig?.admin?.components?.views?.list?.Component,\n Fallback: DefaultListView,\n importMap: payload.importMap,\n serverProps,\n })}\n </ListQueryProvider>\n </Fragment>\n ),\n }\n }\n\n throw new Error('not-found')\n}\n\nexport const ListView: React.FC<RenderListViewArgs> = async (args) => {\n try {\n const { List: RenderedList } = await renderListView({ ...args, enableRowSelections: true })\n return RenderedList\n } catch (error) {\n if (error.message === 'not-found') {\n notFound()\n } else {\n console.error(error) // eslint-disable-line no-console\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,12 +1,12 @@
1
1
  import { parseDocumentID } from 'payload';
2
2
  import { formatAdminURL, isNumber } from 'payload/shared';
3
- import { Account } from '../Account/index.js';
3
+ import { AccountView } from '../Account/index.js';
4
4
  import { BrowseByFolder } from '../BrowseByFolder/index.js';
5
5
  import { CollectionFolderView } from '../CollectionFolders/index.js';
6
6
  import { TrashView } from '../CollectionTrash/index.js';
7
7
  import { CreateFirstUserView } from '../CreateFirstUser/index.js';
8
- import { Dashboard } from '../Dashboard/index.js';
9
- import { Document as DocumentView } from '../Document/index.js';
8
+ import { DashboardView } from '../Dashboard/index.js';
9
+ import { DocumentView } from '../Document/index.js';
10
10
  import { forgotPasswordBaseClass, ForgotPasswordView } from '../ForgotPassword/index.js';
11
11
  import { ListView } from '../List/index.js';
12
12
  import { loginBaseClass, LoginView } from '../Login/index.js';
@@ -27,7 +27,7 @@ const baseClasses = {
27
27
  verify: verifyBaseClass
28
28
  };
29
29
  const oneSegmentViews = {
30
- account: Account,
30
+ account: AccountView,
31
31
  browseByFolder: BrowseByFolder,
32
32
  createFirstUser: CreateFirstUserView,
33
33
  forgot: ForgotPasswordView,
@@ -71,7 +71,7 @@ export const getRouteData = ({
71
71
  {
72
72
  if (currentRoute === adminRoute) {
73
73
  ViewToRender = {
74
- Component: Dashboard
74
+ Component: DashboardView
75
75
  };
76
76
  templateClassName = 'dashboard';
77
77
  templateType = 'default';
@@ -1 +1 @@
1
- {"version":3,"file":"getRouteData.js","names":["parseDocumentID","formatAdminURL","isNumber","Account","BrowseByFolder","CollectionFolderView","TrashView","CreateFirstUserView","Dashboard","Document","DocumentView","forgotPasswordBaseClass","ForgotPasswordView","ListView","loginBaseClass","LoginView","LogoutInactivity","LogoutView","ResetPassword","resetPasswordBaseClass","UnauthorizedView","Verify","verifyBaseClass","getSubViewActions","getViewActions","getCustomViewByRoute","getDocumentViewInfo","isPathMatchingRoute","baseClasses","account","folders","forgot","login","reset","verify","oneSegmentViews","browseByFolder","createFirstUser","inactivity","logout","unauthorized","getRouteData","adminRoute","collectionConfig","collectionPreferences","undefined","currentRoute","globalConfig","payload","segments","config","ViewToRender","templateClassName","templateType","documentSubViewType","viewType","routeParams","segmentOne","segmentTwo","segmentThree","segmentFour","segmentFive","segmentSix","isBrowseByFolderEnabled","browseByFolderSlugs","collections","reduce","acc","slug","viewActions","admin","components","actions","length","Component","viewKey","routes","matchedRoute","Object","entries","find","route","exact","path","folderID","collection","listViewType","push","views","list","global","editConfig","edit","token","id","versionID","viewInfo","collectionOrGlobal","viewKeyArg","folderCollection","view","collectionSlug","db","defaultIDType","Number","reverse","DefaultView"],"sources":["../../../src/views/Root/getRouteData.ts"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n CollectionSlug,\n CustomComponent,\n DocumentSubViewTypes,\n Payload,\n PayloadComponent,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n ViewTypes,\n} from 'payload'\nimport type React from 'react'\n\nimport { parseDocumentID } from 'payload'\nimport { formatAdminURL, isNumber } from 'payload/shared'\n\nimport { Account } from '../Account/index.js'\nimport { BrowseByFolder } from '../BrowseByFolder/index.js'\nimport { CollectionFolderView } from '../CollectionFolders/index.js'\nimport { TrashView } from '../CollectionTrash/index.js'\nimport { CreateFirstUserView } from '../CreateFirstUser/index.js'\nimport { Dashboard } from '../Dashboard/index.js'\nimport { Document as DocumentView } from '../Document/index.js'\nimport { forgotPasswordBaseClass, ForgotPasswordView } from '../ForgotPassword/index.js'\nimport { ListView } from '../List/index.js'\nimport { loginBaseClass, LoginView } from '../Login/index.js'\nimport { LogoutInactivity, LogoutView } from '../Logout/index.js'\nimport { ResetPassword, resetPasswordBaseClass } from '../ResetPassword/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { Verify, verifyBaseClass } from '../Verify/index.js'\nimport { getSubViewActions, getViewActions } from './attachViewActions.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getDocumentViewInfo } from './getDocumentViewInfo.js'\nimport { isPathMatchingRoute } from './isPathMatchingRoute.js'\n\nconst baseClasses = {\n account: 'account',\n folders: 'folders',\n forgot: forgotPasswordBaseClass,\n login: loginBaseClass,\n reset: resetPasswordBaseClass,\n verify: verifyBaseClass,\n}\n\ntype OneSegmentViews = {\n [K in Exclude<keyof SanitizedConfig['admin']['routes'], 'reset'>]: React.FC<AdminViewServerProps>\n}\n\nexport type ViewFromConfig = {\n Component?: React.FC<AdminViewServerProps>\n payloadComponent?: PayloadComponent<AdminViewServerProps>\n}\n\nconst oneSegmentViews: OneSegmentViews = {\n account: Account,\n browseByFolder: BrowseByFolder,\n createFirstUser: CreateFirstUserView,\n forgot: ForgotPasswordView,\n inactivity: LogoutInactivity,\n login: LoginView,\n logout: LogoutView,\n unauthorized: UnauthorizedView,\n}\n\ntype GetRouteDataResult = {\n browseByFolderSlugs: CollectionSlug[]\n collectionConfig?: SanitizedCollectionConfig\n DefaultView: ViewFromConfig\n documentSubViewType?: DocumentSubViewTypes\n globalConfig?: SanitizedGlobalConfig\n routeParams: {\n collection?: string\n folderCollection?: string\n folderID?: number | string\n global?: string\n id?: number | string\n token?: string\n versionID?: number | string\n }\n templateClassName: string\n templateType: 'default' | 'minimal'\n viewActions?: CustomComponent[]\n viewType?: ViewTypes\n}\n\ntype GetRouteDataArgs = {\n adminRoute: string\n collectionConfig?: SanitizedCollectionConfig\n /**\n * User preferences for a collection.\n *\n * These preferences are normally undefined\n * unless the user is on the list view and the\n * collection is folder enabled.\n */\n collectionPreferences?: CollectionPreferences\n currentRoute: string\n globalConfig?: SanitizedGlobalConfig\n payload: Payload\n searchParams: {\n [key: string]: string | string[]\n }\n segments: string[]\n}\n\nexport const getRouteData = ({\n adminRoute,\n collectionConfig,\n collectionPreferences = undefined,\n currentRoute,\n globalConfig,\n payload,\n segments,\n}: GetRouteDataArgs): GetRouteDataResult => {\n const { config } = payload\n let ViewToRender: ViewFromConfig = null\n let templateClassName: string\n let templateType: 'default' | 'minimal' | undefined\n let documentSubViewType: DocumentSubViewTypes\n let viewType: ViewTypes\n const routeParams: GetRouteDataResult['routeParams'] = {}\n\n const [segmentOne, segmentTwo, segmentThree, segmentFour, segmentFive, segmentSix] = segments\n\n const isBrowseByFolderEnabled = config.folders && config.folders.browseByFolder\n const browseByFolderSlugs =\n (isBrowseByFolderEnabled &&\n config.collections.reduce((acc, { slug, folders }) => {\n if (folders && folders.browseByFolder) {\n return [...acc, slug]\n }\n return acc\n }, [])) ||\n []\n\n const viewActions: CustomComponent[] = [...(config?.admin?.components?.actions || [])]\n\n switch (segments.length) {\n case 0: {\n if (currentRoute === adminRoute) {\n ViewToRender = {\n Component: Dashboard,\n }\n templateClassName = 'dashboard'\n templateType = 'default'\n viewType = 'dashboard'\n }\n break\n }\n case 1: {\n // users can override the default routes via `admin.routes` config\n // i.e.{ admin: { routes: { logout: '/sign-out', inactivity: '/idle' }}}\n let viewKey: keyof typeof oneSegmentViews\n\n if (config.admin.routes) {\n const matchedRoute = Object.entries(config.admin.routes).find(([, route]) => {\n return isPathMatchingRoute({\n currentRoute,\n exact: true,\n path: formatAdminURL({ adminRoute, path: route }),\n })\n })\n\n if (matchedRoute) {\n viewKey = matchedRoute[0] as keyof typeof oneSegmentViews\n }\n }\n\n if (oneSegmentViews[viewKey]) {\n // --> /account\n // --> /create-first-user\n // --> /browse-by-folder\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n\n ViewToRender = {\n Component: oneSegmentViews[viewKey],\n }\n\n viewType = viewKey as ViewTypes\n\n templateClassName = baseClasses[viewKey]\n templateType = 'minimal'\n\n if (viewKey === 'account') {\n templateType = 'default'\n }\n\n if (isBrowseByFolderEnabled && viewKey === 'browseByFolder') {\n templateType = 'default'\n viewType = 'folders'\n }\n }\n break\n }\n case 2: {\n if (`/${segmentOne}` === config.admin.routes.reset) {\n // --> /reset/:token\n ViewToRender = {\n Component: ResetPassword,\n }\n templateClassName = baseClasses[segmentTwo]\n templateType = 'minimal'\n viewType = 'reset'\n } else if (\n isBrowseByFolderEnabled &&\n `/${segmentOne}` === config.admin.routes.browseByFolder\n ) {\n // --> /browse-by-folder/:folderID\n routeParams.folderID = segmentTwo\n\n ViewToRender = {\n Component: oneSegmentViews.browseByFolder,\n }\n templateClassName = baseClasses.folders\n templateType = 'default'\n viewType = 'folders'\n } else if (collectionConfig) {\n // --> /collections/:collectionSlug'\n routeParams.collection = collectionConfig.slug\n\n if (\n collectionPreferences?.listViewType &&\n collectionPreferences.listViewType === 'folders'\n ) {\n // Render folder view by default if set in preferences\n ViewToRender = {\n Component: CollectionFolderView,\n }\n\n templateClassName = `collection-folders`\n templateType = 'default'\n viewType = 'collection-folders'\n } else {\n ViewToRender = {\n Component: ListView,\n }\n\n templateClassName = `${segmentTwo}-list`\n templateType = 'default'\n viewType = 'list'\n }\n\n viewActions.push(...(collectionConfig.admin.components?.views?.list?.actions || []))\n } else if (globalConfig) {\n // --> /globals/:globalSlug\n routeParams.global = globalConfig.slug\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = 'global-edit'\n templateType = 'default'\n viewType = 'document'\n\n // add default view actions\n viewActions.push(\n ...getViewActions({\n editConfig: globalConfig.admin?.components?.views?.edit,\n viewKey: 'default',\n }),\n )\n }\n break\n }\n default:\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n routeParams.collection = segmentOne\n routeParams.token = segmentThree\n\n ViewToRender = {\n Component: Verify,\n }\n\n templateClassName = 'verify'\n templateType = 'minimal'\n viewType = 'verify'\n } else if (collectionConfig) {\n routeParams.collection = collectionConfig.slug\n\n if (segmentThree === 'trash' && typeof segmentFour === 'string') {\n // --> /collections/:collectionSlug/trash/:id (read-only)\n // --> /collections/:collectionSlug/trash/:id/api\n // --> /collections/:collectionSlug/trash/:id/preview\n // --> /collections/:collectionSlug/trash/:id/versions\n // --> /collections/:collectionSlug/trash/:id/versions/:versionID\n routeParams.id = segmentFour\n routeParams.versionID = segmentSix\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentFive, segmentSix])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n viewActions.push(\n ...getSubViewActions({\n collectionOrGlobal: collectionConfig,\n viewKeyArg: documentSubViewType,\n }),\n )\n } else if (segmentThree === 'trash') {\n // --> /collections/:collectionSlug/trash\n ViewToRender = {\n Component: TrashView,\n }\n\n templateClassName = `${segmentTwo}-trash`\n templateType = 'default'\n viewType = 'trash'\n\n viewActions.push(...(collectionConfig.admin.components?.views?.list?.actions || []))\n } else {\n if (config.folders && segmentThree === config.folders.slug && collectionConfig.folders) {\n // Collection Folder Views\n // --> /collections/:collectionSlug/:folderCollectionSlug\n // --> /collections/:collectionSlug/:folderCollectionSlug/:folderID\n routeParams.folderCollection = segmentThree\n routeParams.folderID = segmentFour\n\n ViewToRender = {\n Component: CollectionFolderView,\n }\n\n templateClassName = `collection-folders`\n templateType = 'default'\n viewType = 'collection-folders'\n\n viewActions.push(...(collectionConfig.admin.components?.views?.list?.actions || []))\n } else {\n // Collection Edit Views\n // --> /collections/:collectionSlug/create\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/api\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:versionID\n routeParams.id = segmentThree === 'create' ? undefined : segmentThree\n routeParams.versionID = segmentFive\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentFour, segmentFive])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n viewActions.push(\n ...getSubViewActions({\n collectionOrGlobal: collectionConfig,\n viewKeyArg: documentSubViewType,\n }),\n )\n }\n }\n } else if (globalConfig) {\n // Global Edit Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/versions/:versionID\n // --> /globals/:globalSlug/api\n routeParams.global = globalConfig.slug\n routeParams.versionID = segmentFour\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `global-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentThree, segmentFour])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n viewActions.push(\n ...getSubViewActions({\n collectionOrGlobal: globalConfig,\n viewKeyArg: documentSubViewType,\n }),\n )\n }\n break\n }\n\n if (!ViewToRender) {\n ViewToRender = getCustomViewByRoute({ config, currentRoute })?.view\n }\n\n if (collectionConfig) {\n if (routeParams.id) {\n routeParams.id = parseDocumentID({\n id: routeParams.id,\n collectionSlug: collectionConfig.slug,\n payload,\n })\n }\n\n if (routeParams.versionID) {\n routeParams.versionID = parseDocumentID({\n id: routeParams.versionID,\n collectionSlug: collectionConfig.slug,\n payload,\n })\n }\n }\n\n if (config.folders && routeParams.folderID) {\n routeParams.folderID = parseDocumentID({\n id: routeParams.folderID,\n collectionSlug: config.folders.slug,\n payload,\n })\n }\n\n if (globalConfig && routeParams.versionID) {\n routeParams.versionID =\n payload.db.defaultIDType === 'number' && isNumber(routeParams.versionID)\n ? Number(routeParams.versionID)\n : routeParams.versionID\n }\n\n if (viewActions.length) {\n viewActions.reverse()\n }\n\n return {\n browseByFolderSlugs,\n collectionConfig,\n DefaultView: ViewToRender,\n documentSubViewType,\n globalConfig,\n routeParams,\n templateClassName,\n templateType,\n viewActions: viewActions.length ? viewActions : undefined,\n viewType,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getRouteData.js","names":["parseDocumentID","formatAdminURL","isNumber","AccountView","BrowseByFolder","CollectionFolderView","TrashView","CreateFirstUserView","DashboardView","DocumentView","forgotPasswordBaseClass","ForgotPasswordView","ListView","loginBaseClass","LoginView","LogoutInactivity","LogoutView","ResetPassword","resetPasswordBaseClass","UnauthorizedView","Verify","verifyBaseClass","getSubViewActions","getViewActions","getCustomViewByRoute","getDocumentViewInfo","isPathMatchingRoute","baseClasses","account","folders","forgot","login","reset","verify","oneSegmentViews","browseByFolder","createFirstUser","inactivity","logout","unauthorized","getRouteData","adminRoute","collectionConfig","collectionPreferences","undefined","currentRoute","globalConfig","payload","segments","config","ViewToRender","templateClassName","templateType","documentSubViewType","viewType","routeParams","segmentOne","segmentTwo","segmentThree","segmentFour","segmentFive","segmentSix","isBrowseByFolderEnabled","browseByFolderSlugs","collections","reduce","acc","slug","viewActions","admin","components","actions","length","Component","viewKey","routes","matchedRoute","Object","entries","find","route","exact","path","folderID","collection","listViewType","push","views","list","global","editConfig","edit","token","id","versionID","viewInfo","collectionOrGlobal","viewKeyArg","folderCollection","view","collectionSlug","db","defaultIDType","Number","reverse","DefaultView"],"sources":["../../../src/views/Root/getRouteData.ts"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n CollectionSlug,\n CustomComponent,\n DocumentSubViewTypes,\n Payload,\n PayloadComponent,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n ViewTypes,\n} from 'payload'\nimport type React from 'react'\n\nimport { parseDocumentID } from 'payload'\nimport { formatAdminURL, isNumber } from 'payload/shared'\n\nimport { AccountView } from '../Account/index.js'\nimport { BrowseByFolder } from '../BrowseByFolder/index.js'\nimport { CollectionFolderView } from '../CollectionFolders/index.js'\nimport { TrashView } from '../CollectionTrash/index.js'\nimport { CreateFirstUserView } from '../CreateFirstUser/index.js'\nimport { DashboardView } from '../Dashboard/index.js'\nimport { DocumentView } from '../Document/index.js'\nimport { forgotPasswordBaseClass, ForgotPasswordView } from '../ForgotPassword/index.js'\nimport { ListView } from '../List/index.js'\nimport { loginBaseClass, LoginView } from '../Login/index.js'\nimport { LogoutInactivity, LogoutView } from '../Logout/index.js'\nimport { ResetPassword, resetPasswordBaseClass } from '../ResetPassword/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { Verify, verifyBaseClass } from '../Verify/index.js'\nimport { getSubViewActions, getViewActions } from './attachViewActions.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getDocumentViewInfo } from './getDocumentViewInfo.js'\nimport { isPathMatchingRoute } from './isPathMatchingRoute.js'\n\nconst baseClasses = {\n account: 'account',\n folders: 'folders',\n forgot: forgotPasswordBaseClass,\n login: loginBaseClass,\n reset: resetPasswordBaseClass,\n verify: verifyBaseClass,\n}\n\ntype OneSegmentViews = {\n [K in Exclude<keyof SanitizedConfig['admin']['routes'], 'reset'>]: React.FC<AdminViewServerProps>\n}\n\nexport type ViewFromConfig = {\n Component?: React.FC<AdminViewServerProps>\n payloadComponent?: PayloadComponent<AdminViewServerProps>\n}\n\nconst oneSegmentViews: OneSegmentViews = {\n account: AccountView,\n browseByFolder: BrowseByFolder,\n createFirstUser: CreateFirstUserView,\n forgot: ForgotPasswordView,\n inactivity: LogoutInactivity,\n login: LoginView,\n logout: LogoutView,\n unauthorized: UnauthorizedView,\n}\n\ntype GetRouteDataResult = {\n browseByFolderSlugs: CollectionSlug[]\n collectionConfig?: SanitizedCollectionConfig\n DefaultView: ViewFromConfig\n documentSubViewType?: DocumentSubViewTypes\n globalConfig?: SanitizedGlobalConfig\n routeParams: {\n collection?: string\n folderCollection?: string\n folderID?: number | string\n global?: string\n id?: number | string\n token?: string\n versionID?: number | string\n }\n templateClassName: string\n templateType: 'default' | 'minimal'\n viewActions?: CustomComponent[]\n viewType?: ViewTypes\n}\n\ntype GetRouteDataArgs = {\n adminRoute: string\n collectionConfig?: SanitizedCollectionConfig\n /**\n * User preferences for a collection.\n *\n * These preferences are normally undefined\n * unless the user is on the list view and the\n * collection is folder enabled.\n */\n collectionPreferences?: CollectionPreferences\n currentRoute: string\n globalConfig?: SanitizedGlobalConfig\n payload: Payload\n searchParams: {\n [key: string]: string | string[]\n }\n segments: string[]\n}\n\nexport const getRouteData = ({\n adminRoute,\n collectionConfig,\n collectionPreferences = undefined,\n currentRoute,\n globalConfig,\n payload,\n segments,\n}: GetRouteDataArgs): GetRouteDataResult => {\n const { config } = payload\n let ViewToRender: ViewFromConfig = null\n let templateClassName: string\n let templateType: 'default' | 'minimal' | undefined\n let documentSubViewType: DocumentSubViewTypes\n let viewType: ViewTypes\n const routeParams: GetRouteDataResult['routeParams'] = {}\n\n const [segmentOne, segmentTwo, segmentThree, segmentFour, segmentFive, segmentSix] = segments\n\n const isBrowseByFolderEnabled = config.folders && config.folders.browseByFolder\n const browseByFolderSlugs =\n (isBrowseByFolderEnabled &&\n config.collections.reduce((acc, { slug, folders }) => {\n if (folders && folders.browseByFolder) {\n return [...acc, slug]\n }\n return acc\n }, [])) ||\n []\n\n const viewActions: CustomComponent[] = [...(config?.admin?.components?.actions || [])]\n\n switch (segments.length) {\n case 0: {\n if (currentRoute === adminRoute) {\n ViewToRender = {\n Component: DashboardView,\n }\n templateClassName = 'dashboard'\n templateType = 'default'\n viewType = 'dashboard'\n }\n break\n }\n case 1: {\n // users can override the default routes via `admin.routes` config\n // i.e.{ admin: { routes: { logout: '/sign-out', inactivity: '/idle' }}}\n let viewKey: keyof typeof oneSegmentViews\n\n if (config.admin.routes) {\n const matchedRoute = Object.entries(config.admin.routes).find(([, route]) => {\n return isPathMatchingRoute({\n currentRoute,\n exact: true,\n path: formatAdminURL({ adminRoute, path: route }),\n })\n })\n\n if (matchedRoute) {\n viewKey = matchedRoute[0] as keyof typeof oneSegmentViews\n }\n }\n\n if (oneSegmentViews[viewKey]) {\n // --> /account\n // --> /create-first-user\n // --> /browse-by-folder\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n\n ViewToRender = {\n Component: oneSegmentViews[viewKey],\n }\n\n viewType = viewKey as ViewTypes\n\n templateClassName = baseClasses[viewKey]\n templateType = 'minimal'\n\n if (viewKey === 'account') {\n templateType = 'default'\n }\n\n if (isBrowseByFolderEnabled && viewKey === 'browseByFolder') {\n templateType = 'default'\n viewType = 'folders'\n }\n }\n break\n }\n case 2: {\n if (`/${segmentOne}` === config.admin.routes.reset) {\n // --> /reset/:token\n ViewToRender = {\n Component: ResetPassword,\n }\n templateClassName = baseClasses[segmentTwo]\n templateType = 'minimal'\n viewType = 'reset'\n } else if (\n isBrowseByFolderEnabled &&\n `/${segmentOne}` === config.admin.routes.browseByFolder\n ) {\n // --> /browse-by-folder/:folderID\n routeParams.folderID = segmentTwo\n\n ViewToRender = {\n Component: oneSegmentViews.browseByFolder,\n }\n templateClassName = baseClasses.folders\n templateType = 'default'\n viewType = 'folders'\n } else if (collectionConfig) {\n // --> /collections/:collectionSlug'\n routeParams.collection = collectionConfig.slug\n\n if (\n collectionPreferences?.listViewType &&\n collectionPreferences.listViewType === 'folders'\n ) {\n // Render folder view by default if set in preferences\n ViewToRender = {\n Component: CollectionFolderView,\n }\n\n templateClassName = `collection-folders`\n templateType = 'default'\n viewType = 'collection-folders'\n } else {\n ViewToRender = {\n Component: ListView,\n }\n\n templateClassName = `${segmentTwo}-list`\n templateType = 'default'\n viewType = 'list'\n }\n\n viewActions.push(...(collectionConfig.admin.components?.views?.list?.actions || []))\n } else if (globalConfig) {\n // --> /globals/:globalSlug\n routeParams.global = globalConfig.slug\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = 'global-edit'\n templateType = 'default'\n viewType = 'document'\n\n // add default view actions\n viewActions.push(\n ...getViewActions({\n editConfig: globalConfig.admin?.components?.views?.edit,\n viewKey: 'default',\n }),\n )\n }\n break\n }\n default:\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n routeParams.collection = segmentOne\n routeParams.token = segmentThree\n\n ViewToRender = {\n Component: Verify,\n }\n\n templateClassName = 'verify'\n templateType = 'minimal'\n viewType = 'verify'\n } else if (collectionConfig) {\n routeParams.collection = collectionConfig.slug\n\n if (segmentThree === 'trash' && typeof segmentFour === 'string') {\n // --> /collections/:collectionSlug/trash/:id (read-only)\n // --> /collections/:collectionSlug/trash/:id/api\n // --> /collections/:collectionSlug/trash/:id/preview\n // --> /collections/:collectionSlug/trash/:id/versions\n // --> /collections/:collectionSlug/trash/:id/versions/:versionID\n routeParams.id = segmentFour\n routeParams.versionID = segmentSix\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentFive, segmentSix])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n viewActions.push(\n ...getSubViewActions({\n collectionOrGlobal: collectionConfig,\n viewKeyArg: documentSubViewType,\n }),\n )\n } else if (segmentThree === 'trash') {\n // --> /collections/:collectionSlug/trash\n ViewToRender = {\n Component: TrashView,\n }\n\n templateClassName = `${segmentTwo}-trash`\n templateType = 'default'\n viewType = 'trash'\n\n viewActions.push(...(collectionConfig.admin.components?.views?.list?.actions || []))\n } else {\n if (config.folders && segmentThree === config.folders.slug && collectionConfig.folders) {\n // Collection Folder Views\n // --> /collections/:collectionSlug/:folderCollectionSlug\n // --> /collections/:collectionSlug/:folderCollectionSlug/:folderID\n routeParams.folderCollection = segmentThree\n routeParams.folderID = segmentFour\n\n ViewToRender = {\n Component: CollectionFolderView,\n }\n\n templateClassName = `collection-folders`\n templateType = 'default'\n viewType = 'collection-folders'\n\n viewActions.push(...(collectionConfig.admin.components?.views?.list?.actions || []))\n } else {\n // Collection Edit Views\n // --> /collections/:collectionSlug/create\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/api\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:versionID\n routeParams.id = segmentThree === 'create' ? undefined : segmentThree\n routeParams.versionID = segmentFive\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentFour, segmentFive])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n viewActions.push(\n ...getSubViewActions({\n collectionOrGlobal: collectionConfig,\n viewKeyArg: documentSubViewType,\n }),\n )\n }\n }\n } else if (globalConfig) {\n // Global Edit Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/versions/:versionID\n // --> /globals/:globalSlug/api\n routeParams.global = globalConfig.slug\n routeParams.versionID = segmentFour\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `global-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentThree, segmentFour])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n viewActions.push(\n ...getSubViewActions({\n collectionOrGlobal: globalConfig,\n viewKeyArg: documentSubViewType,\n }),\n )\n }\n break\n }\n\n if (!ViewToRender) {\n ViewToRender = getCustomViewByRoute({ config, currentRoute })?.view\n }\n\n if (collectionConfig) {\n if (routeParams.id) {\n routeParams.id = parseDocumentID({\n id: routeParams.id,\n collectionSlug: collectionConfig.slug,\n payload,\n })\n }\n\n if (routeParams.versionID) {\n routeParams.versionID = parseDocumentID({\n id: routeParams.versionID,\n collectionSlug: collectionConfig.slug,\n payload,\n })\n }\n }\n\n if (config.folders && routeParams.folderID) {\n routeParams.folderID = parseDocumentID({\n id: routeParams.folderID,\n collectionSlug: config.folders.slug,\n payload,\n })\n }\n\n if (globalConfig && routeParams.versionID) {\n routeParams.versionID =\n payload.db.defaultIDType === 'number' && isNumber(routeParams.versionID)\n ? Number(routeParams.versionID)\n : routeParams.versionID\n }\n\n if (viewActions.length) {\n viewActions.reverse()\n }\n\n return {\n browseByFolderSlugs,\n collectionConfig,\n DefaultView: ViewToRender,\n documentSubViewType,\n globalConfig,\n routeParams,\n templateClassName,\n templateType,\n viewActions: viewActions.length ? viewActions : undefined,\n viewType,\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/next",
3
- "version": "3.59.0-internal.fae0e05",
3
+ "version": "3.59.0-internal.ff6711a",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -60,6 +60,16 @@
60
60
  "import": "./dist/exports/views.js",
61
61
  "types": "./dist/exports/views.d.ts",
62
62
  "default": "./dist/exports/views.js"
63
+ },
64
+ "./elements": {
65
+ "import": "./dist/exports/elements.js",
66
+ "types": "./dist/exports/elements.d.ts",
67
+ "default": "./dist/exports/elements.js"
68
+ },
69
+ "./rsc": {
70
+ "import": "./dist/exports/rsc.js",
71
+ "types": "./dist/exports/rsc.d.ts",
72
+ "default": "./dist/exports/rsc.js"
63
73
  }
64
74
  },
65
75
  "main": "./dist/index.js",
@@ -87,9 +97,9 @@
87
97
  "qs-esm": "7.0.2",
88
98
  "sass": "1.77.4",
89
99
  "uuid": "10.0.0",
90
- "@payloadcms/graphql": "3.59.0-internal.fae0e05",
91
- "@payloadcms/translations": "3.59.0-internal.fae0e05",
92
- "@payloadcms/ui": "3.59.0-internal.fae0e05"
100
+ "@payloadcms/graphql": "3.59.0-internal.ff6711a",
101
+ "@payloadcms/translations": "3.59.0-internal.ff6711a",
102
+ "@payloadcms/ui": "3.59.0-internal.ff6711a"
93
103
  },
94
104
  "devDependencies": {
95
105
  "@babel/cli": "7.27.2",
@@ -106,13 +116,13 @@
106
116
  "esbuild": "0.25.5",
107
117
  "esbuild-sass-plugin": "3.3.1",
108
118
  "swc-plugin-transform-remove-imports": "4.0.4",
109
- "@payloadcms/eslint-config": "3.28.0",
110
- "payload": "3.59.0-internal.fae0e05"
119
+ "payload": "3.59.0-internal.ff6711a",
120
+ "@payloadcms/eslint-config": "3.28.0"
111
121
  },
112
122
  "peerDependencies": {
113
123
  "graphql": "^16.8.1",
114
124
  "next": "^15.2.3",
115
- "payload": "3.59.0-internal.fae0e05"
125
+ "payload": "3.59.0-internal.ff6711a"
116
126
  },
117
127
  "engines": {
118
128
  "node": "^18.20.2 || >=20.9.0"