@payloadcms/next 3.55.0-internal.df60e35 → 3.55.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.
Files changed (114) hide show
  1. package/dist/auth/refresh.js +8 -8
  2. package/dist/auth/refresh.js.map +1 -1
  3. package/dist/layouts/Root/index.d.ts.map +1 -1
  4. package/dist/layouts/Root/index.js +2 -1
  5. package/dist/layouts/Root/index.js.map +1 -1
  6. package/dist/prod/styles.css +1 -1
  7. package/dist/utilities/getRouteWithoutAdmin.d.ts +5 -0
  8. package/dist/utilities/getRouteWithoutAdmin.d.ts.map +1 -0
  9. package/dist/utilities/getRouteWithoutAdmin.js +7 -0
  10. package/dist/utilities/getRouteWithoutAdmin.js.map +1 -0
  11. package/dist/utilities/getVisibleEntities.d.ts +5 -0
  12. package/dist/utilities/getVisibleEntities.d.ts.map +1 -0
  13. package/dist/utilities/getVisibleEntities.js +26 -0
  14. package/dist/utilities/getVisibleEntities.js.map +1 -0
  15. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -0
  16. package/dist/utilities/handleAuthRedirect.js.map +1 -0
  17. package/dist/utilities/isCustomAdminView.d.ts.map +1 -0
  18. package/dist/utilities/{initPage/isCustomAdminView.js → isCustomAdminView.js} +1 -1
  19. package/dist/utilities/isCustomAdminView.js.map +1 -0
  20. package/dist/utilities/isPublicAdminRoute.d.ts +7 -0
  21. package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -0
  22. package/dist/utilities/{initPage/shared.js → isPublicAdminRoute.js} +2 -13
  23. package/dist/utilities/isPublicAdminRoute.js.map +1 -0
  24. package/dist/views/CollectionFolders/buildView.d.ts.map +1 -1
  25. package/dist/views/CollectionFolders/buildView.js +1 -1
  26. package/dist/views/CollectionFolders/buildView.js.map +1 -1
  27. package/dist/views/Document/handleServerFunction.d.ts.map +1 -1
  28. package/dist/views/Document/handleServerFunction.js +2 -1
  29. package/dist/views/Document/handleServerFunction.js.map +1 -1
  30. package/dist/views/List/handleGroupBy.d.ts +4 -2
  31. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  32. package/dist/views/List/handleGroupBy.js +3 -1
  33. package/dist/views/List/handleGroupBy.js.map +1 -1
  34. package/dist/views/List/handleServerFunction.d.ts.map +1 -1
  35. package/dist/views/List/handleServerFunction.js +2 -1
  36. package/dist/views/List/handleServerFunction.js.map +1 -1
  37. package/dist/views/List/index.d.ts.map +1 -1
  38. package/dist/views/List/index.js +17 -4
  39. package/dist/views/List/index.js.map +1 -1
  40. package/dist/views/List/transformColumnsToSelect.d.ts +3 -0
  41. package/dist/views/List/transformColumnsToSelect.d.ts.map +1 -0
  42. package/dist/views/List/transformColumnsToSelect.js +7 -0
  43. package/dist/views/List/transformColumnsToSelect.js.map +1 -0
  44. package/dist/views/NotFound/index.d.ts +0 -8
  45. package/dist/views/NotFound/index.d.ts.map +1 -1
  46. package/dist/views/NotFound/index.js +40 -18
  47. package/dist/views/NotFound/index.js.map +1 -1
  48. package/dist/views/Root/SyncClientConfig.d.ts +11 -0
  49. package/dist/views/Root/SyncClientConfig.d.ts.map +1 -0
  50. package/dist/views/Root/SyncClientConfig.js +43 -0
  51. package/dist/views/Root/SyncClientConfig.js.map +1 -0
  52. package/dist/views/Root/attachViewActions.d.ts +4 -5
  53. package/dist/views/Root/attachViewActions.d.ts.map +1 -1
  54. package/dist/views/Root/attachViewActions.js +5 -7
  55. package/dist/views/Root/attachViewActions.js.map +1 -1
  56. package/dist/views/Root/getRouteData.d.ts +33 -16
  57. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  58. package/dist/views/Root/getRouteData.js +122 -103
  59. package/dist/views/Root/getRouteData.js.map +1 -1
  60. package/dist/views/Root/index.d.ts +1 -1
  61. package/dist/views/Root/index.d.ts.map +1 -1
  62. package/dist/views/Root/index.js +173 -78
  63. package/dist/views/Root/index.js.map +1 -1
  64. package/dist/views/Version/Default/SetStepNav.d.ts +0 -1
  65. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  66. package/dist/views/Version/Default/SetStepNav.js +28 -38
  67. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  68. package/dist/views/Version/Default/index.d.ts.map +1 -1
  69. package/dist/views/Version/Default/index.js +2 -4
  70. package/dist/views/Version/Default/index.js.map +1 -1
  71. package/dist/views/Version/Default/types.d.ts +0 -1
  72. package/dist/views/Version/Default/types.d.ts.map +1 -1
  73. package/dist/views/Version/Default/types.js.map +1 -1
  74. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts +3 -5
  75. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
  76. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +59 -37
  77. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  78. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts +2 -2
  79. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts.map +1 -1
  80. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +7 -4
  81. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
  82. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts +5 -5
  83. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
  84. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  85. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts +6 -4
  86. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts.map +1 -1
  87. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +15 -6
  88. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  89. package/dist/views/Version/index.d.ts.map +1 -1
  90. package/dist/views/Version/index.js +4 -6
  91. package/dist/views/Version/index.js.map +1 -1
  92. package/package.json +7 -7
  93. package/dist/utilities/initPage/handleAdminPage.d.ts +0 -18
  94. package/dist/utilities/initPage/handleAdminPage.d.ts.map +0 -1
  95. package/dist/utilities/initPage/handleAdminPage.js +0 -57
  96. package/dist/utilities/initPage/handleAdminPage.js.map +0 -1
  97. package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +0 -1
  98. package/dist/utilities/initPage/handleAuthRedirect.js.map +0 -1
  99. package/dist/utilities/initPage/index.d.ts +0 -4
  100. package/dist/utilities/initPage/index.d.ts.map +0 -1
  101. package/dist/utilities/initPage/index.js +0 -127
  102. package/dist/utilities/initPage/index.js.map +0 -1
  103. package/dist/utilities/initPage/isCustomAdminView.d.ts.map +0 -1
  104. package/dist/utilities/initPage/isCustomAdminView.js.map +0 -1
  105. package/dist/utilities/initPage/shared.d.ts +0 -16
  106. package/dist/utilities/initPage/shared.d.ts.map +0 -1
  107. package/dist/utilities/initPage/shared.js.map +0 -1
  108. package/dist/utilities/initPage/types.d.ts +0 -44
  109. package/dist/utilities/initPage/types.d.ts.map +0 -1
  110. package/dist/utilities/initPage/types.js +0 -2
  111. package/dist/utilities/initPage/types.js.map +0 -1
  112. /package/dist/utilities/{initPage/handleAuthRedirect.d.ts → handleAuthRedirect.d.ts} +0 -0
  113. /package/dist/utilities/{initPage/handleAuthRedirect.js → handleAuthRedirect.js} +0 -0
  114. /package/dist/utilities/{initPage/isCustomAdminView.d.ts → isCustomAdminView.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DefaultListView","HydrateAuthProvider","ListQueryProvider","RenderServerComponent","renderFilters","renderTable","upsertPreferences","notFound","combineWhereConstraints","formatAdminURL","isNumber","mergeListSearchAndWhere","transformColumnsToPreferences","transformColumnsToSearchParams","React","Fragment","getDocumentPermissions","handleGroupBy","renderListViewSlots","resolveAllFilterOptions","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","draft","fallbackLocale","includeLockStatus","clientCollectionConfig","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 { DefaultListView, HydrateAuthProvider, ListQueryProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { renderFilters, renderTable, upsertPreferences } from '@payloadcms/ui/rsc'\nimport { notFound } from 'next/navigation.js'\nimport {\n type AdminViewServerProps,\n type CollectionPreferences,\n type Column,\n type ColumnPreference,\n type ListQuery,\n type ListViewClientProps,\n type ListViewServerPropsOnly,\n type PaginatedDocs,\n type QueryPreset,\n type SanitizedCollectionPermission,\n} from 'payload'\nimport {\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'\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 try {\n if (collectionConfig.admin.groupBy && query.groupBy) {\n ;({ columnState, data, Table } = await handleGroupBy({\n clientConfig,\n collectionConfig,\n collectionSlug,\n columns: collectionPreferences?.columns,\n customCellProps,\n drawerSlug,\n enableRowSelections,\n query,\n req,\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 sort: query?.sort,\n trash,\n user,\n where: whereWithMergedSearch,\n })\n ;({ columnState, Table } = renderTable({\n clientCollectionConfig: clientConfig.collections.find((c) => c.slug === collectionSlug),\n collectionConfig,\n columns: collectionPreferences?.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 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":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["DefaultListView","HydrateAuthProvider","ListQueryProvider","RenderServerComponent","getColumns","renderFilters","renderTable","upsertPreferences","notFound","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 { 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 type AdminViewServerProps,\n type CollectionPreferences,\n type Column,\n type ColumnPreference,\n type ListQuery,\n type ListViewClientProps,\n type ListViewServerPropsOnly,\n type PaginatedDocs,\n type QueryPreset,\n type SanitizedCollectionPermission,\n} from 'payload'\nimport {\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 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 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":"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","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import type { ColumnPreference, SelectType } from 'payload';
2
+ export declare const transformColumnsToSelect: (columns: ColumnPreference[]) => SelectType;
3
+ //# sourceMappingURL=transformColumnsToSelect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformColumnsToSelect.d.ts","sourceRoot":"","sources":["../../../src/views/List/transformColumnsToSelect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAE3D,eAAO,MAAM,wBAAwB,YAAa,gBAAgB,EAAE,KAAG,UAMjD,CAAA"}
@@ -0,0 +1,7 @@
1
+ export const transformColumnsToSelect = columns => columns.reduce((acc, column) => {
2
+ if (column.active) {
3
+ acc[column.accessor] = true;
4
+ }
5
+ return acc;
6
+ }, {});
7
+ //# sourceMappingURL=transformColumnsToSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformColumnsToSelect.js","names":["transformColumnsToSelect","columns","reduce","acc","column","active","accessor"],"sources":["../../../src/views/List/transformColumnsToSelect.ts"],"sourcesContent":["import type { ColumnPreference, SelectType } from 'payload'\n\nexport const transformColumnsToSelect = (columns: ColumnPreference[]): SelectType =>\n columns.reduce((acc, column) => {\n if (column.active) {\n acc[column.accessor] = true\n }\n return acc\n }, {} as SelectType)\n"],"mappings":"AAEA,OAAO,MAAMA,wBAAA,GAA4BC,OAAA,IACvCA,OAAA,CAAQC,MAAM,CAAC,CAACC,GAAA,EAAKC,MAAA;EACnB,IAAIA,MAAA,CAAOC,MAAM,EAAE;IACjBF,GAAG,CAACC,MAAA,CAAOE,QAAQ,CAAC,GAAG;EACzB;EACA,OAAOH,GAAA;AACT,GAAG,CAAC","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- import type { I18n } from '@payloadcms/translations';
2
1
  import type { Metadata } from 'next';
3
2
  import type { AdminViewServerProps, ImportMap, SanitizedConfig } from 'payload';
4
3
  import React from 'react';
@@ -8,13 +7,6 @@ export declare const generateNotFoundViewMetadata: ({ config: configPromise, }:
8
7
  [key: string]: string | string[];
9
8
  };
10
9
  }) => Promise<Metadata>;
11
- export type GenerateViewMetadata = (args: {
12
- config: SanitizedConfig;
13
- i18n: I18n;
14
- params?: {
15
- [key: string]: string | string[];
16
- };
17
- }) => Promise<Metadata>;
18
10
  export declare const NotFoundPage: ({ config: configPromise, importMap, params: paramsPromise, searchParams: searchParamsPromise, }: {
19
11
  config: Promise<SanitizedConfig>;
20
12
  importMap: ImportMap;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/NotFound/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG/E,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,eAAO,MAAM,4BAA4B,+BAEtC;IACD,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IAClD,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAG,OAAO,CAAC,QAAQ,CAUnB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB,eAAO,MAAM,YAAY,oGAKtB;IACD,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAChC,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,OAAO,CAAC;QACd,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAC,CAAA;IACF,YAAY,EAAE,OAAO,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;CACH,+BAkCA,CAAA;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,oBAAoB,qBAEvD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/NotFound/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI/E,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,eAAO,MAAM,4BAA4B,+BAEtC;IACD,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IAClD,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAG,OAAO,CAAC,QAAQ,CAUnB,CAAA;AAED,eAAO,MAAM,YAAY,oGAKtB;IACD,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAChC,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,OAAO,CAAC;QACd,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAC,CAAA;IACF,YAAY,EAAE,OAAO,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;CACH,+BAgDA,CAAA;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,oBAAoB,qBAEvD"}
@@ -1,9 +1,11 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { formatAdminURL } from 'payload/shared';
3
+ import * as qs from 'qs-esm';
3
4
  import React from 'react';
4
5
  import { DefaultTemplate } from '../../templates/Default/index.js';
5
6
  import { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js';
6
- import { initPage } from '../../utilities/initPage/index.js';
7
+ import { getVisibleEntities } from '../../utilities/getVisibleEntities.js';
8
+ import { initReq } from '../../utilities/initReq.js';
7
9
  import { NotFoundClient } from './index.client.js';
8
10
  export const generateNotFoundViewMetadata = async ({
9
11
  config: configPromise
@@ -29,30 +31,50 @@ export const NotFoundPage = async ({
29
31
  } = {}
30
32
  } = config;
31
33
  const searchParams = await searchParamsPromise;
32
- const initPageResult = await initPage({
33
- config,
34
+ const queryString = `${qs.stringify(searchParams ?? {}, {
35
+ addQueryPrefix: true
36
+ })}`;
37
+ const {
38
+ locale,
39
+ permissions,
40
+ req,
41
+ req: {
42
+ payload
43
+ }
44
+ } = await initReq({
45
+ configPromise: config,
34
46
  importMap,
35
- redirectUnauthenticatedUser: true,
36
- route: formatAdminURL({
37
- adminRoute,
38
- path: '/not-found'
39
- }),
40
- searchParams,
41
- useLayoutReq: true
47
+ key: 'RootLayout',
48
+ overrides: {
49
+ fallbackLocale: false,
50
+ req: {
51
+ query: qs.parse(queryString, {
52
+ depth: 10,
53
+ ignoreQueryPrefix: true
54
+ })
55
+ },
56
+ urlSuffix: `${formatAdminURL({
57
+ adminRoute,
58
+ path: '/not-found'
59
+ })}${searchParams ? queryString : ''}`
60
+ }
42
61
  });
43
- const params = await paramsPromise;
44
- if (!initPageResult.req.user || !initPageResult.permissions.canAccessAdmin) {
62
+ if (!req.user || !permissions.canAccessAdmin) {
45
63
  return /*#__PURE__*/_jsx(NotFoundClient, {});
46
64
  }
65
+ const params = await paramsPromise;
66
+ const visibleEntities = getVisibleEntities({
67
+ req
68
+ });
47
69
  return /*#__PURE__*/_jsx(DefaultTemplate, {
48
- i18n: initPageResult.req.i18n,
49
- locale: initPageResult.locale,
70
+ i18n: req.i18n,
71
+ locale: locale,
50
72
  params: params,
51
- payload: initPageResult.req.payload,
52
- permissions: initPageResult.permissions,
73
+ payload: payload,
74
+ permissions: permissions,
53
75
  searchParams: searchParams,
54
- user: initPageResult.req.user,
55
- visibleEntities: initPageResult.visibleEntities,
76
+ user: req.user,
77
+ visibleEntities: visibleEntities,
56
78
  children: /*#__PURE__*/_jsx(NotFoundClient, {})
57
79
  });
58
80
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["formatAdminURL","React","DefaultTemplate","getNextRequestI18n","initPage","NotFoundClient","generateNotFoundViewMetadata","config","configPromise","i18n","title","t","NotFoundPage","importMap","params","paramsPromise","searchParams","searchParamsPromise","routes","admin","adminRoute","initPageResult","redirectUnauthenticatedUser","route","path","useLayoutReq","req","user","permissions","canAccessAdmin","_jsx","locale","payload","visibleEntities","NotFoundView","props","marginTop"],"sources":["../../../src/views/NotFound/index.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { AdminViewServerProps, ImportMap, SanitizedConfig } from 'payload'\n\nimport { formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js'\nimport { initPage } from '../../utilities/initPage/index.js'\nimport { NotFoundClient } from './index.client.js'\n\nexport const generateNotFoundViewMetadata = async ({\n config: configPromise,\n}: {\n config: Promise<SanitizedConfig> | SanitizedConfig\n params?: { [key: string]: string | string[] }\n}): Promise<Metadata> => {\n const config = await configPromise\n\n const i18n = await getNextRequestI18n({\n config,\n })\n\n return {\n title: i18n.t('general:notFound'),\n }\n}\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18n\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const NotFoundPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n config: Promise<SanitizedConfig>\n importMap: ImportMap\n params: Promise<{\n segments: string[]\n }>\n searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n const { routes: { admin: adminRoute } = {} } = config\n\n const searchParams = await searchParamsPromise\n const initPageResult = await initPage({\n config,\n importMap,\n redirectUnauthenticatedUser: true,\n route: formatAdminURL({ adminRoute, path: '/not-found' }),\n searchParams,\n useLayoutReq: true,\n })\n\n const params = await paramsPromise\n\n if (!initPageResult.req.user || !initPageResult.permissions.canAccessAdmin) {\n return <NotFoundClient />\n }\n\n return (\n <DefaultTemplate\n i18n={initPageResult.req.i18n}\n locale={initPageResult.locale}\n params={params}\n payload={initPageResult.req.payload}\n permissions={initPageResult.permissions}\n searchParams={searchParams}\n user={initPageResult.req.user}\n visibleEntities={initPageResult.visibleEntities}\n >\n <NotFoundClient />\n </DefaultTemplate>\n )\n}\n\nexport function NotFoundView(props: AdminViewServerProps) {\n return <NotFoundClient marginTop=\"large\" />\n}\n"],"mappings":";AAIA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,eAAe,QAAQ;AAChC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,4BAAA,GAA+B,MAAAA,CAAO;EACjDC,MAAA,EAAQC;AAAa,CAItB;EACC,MAAMD,MAAA,GAAS,MAAMC,aAAA;EAErB,MAAMC,IAAA,GAAO,MAAMN,kBAAA,CAAmB;IACpCI;EACF;EAEA,OAAO;IACLG,KAAA,EAAOD,IAAA,CAAKE,CAAC,CAAC;EAChB;AACF;AAQA,OAAO,MAAMC,YAAA,GAAe,MAAAA,CAAO;EACjCL,MAAA,EAAQC,aAAa;EACrBK,SAAS;EACTC,MAAA,EAAQC,aAAa;EACrBC,YAAA,EAAcC;AAAmB,CAUlC;EACC,MAAMV,MAAA,GAAS,MAAMC,aAAA;EACrB,MAAM;IAAEU,MAAA,EAAQ;MAAEC,KAAA,EAAOC;IAAU,CAAE,GAAG,CAAC;EAAC,CAAE,GAAGb,MAAA;EAE/C,MAAMS,YAAA,GAAe,MAAMC,mBAAA;EAC3B,MAAMI,cAAA,GAAiB,MAAMjB,QAAA,CAAS;IACpCG,MAAA;IACAM,SAAA;IACAS,2BAAA,EAA6B;IAC7BC,KAAA,EAAOvB,cAAA,CAAe;MAAEoB,UAAA;MAAYI,IAAA,EAAM;IAAa;IACvDR,YAAA;IACAS,YAAA,EAAc;EAChB;EAEA,MAAMX,MAAA,GAAS,MAAMC,aAAA;EAErB,IAAI,CAACM,cAAA,CAAeK,GAAG,CAACC,IAAI,IAAI,CAACN,cAAA,CAAeO,WAAW,CAACC,cAAc,EAAE;IAC1E,oBAAOC,IAAA,CAACzB,cAAA;EACV;EAEA,oBACEyB,IAAA,CAAC5B,eAAA;IACCO,IAAA,EAAMY,cAAA,CAAeK,GAAG,CAACjB,IAAI;IAC7BsB,MAAA,EAAQV,cAAA,CAAeU,MAAM;IAC7BjB,MAAA,EAAQA,MAAA;IACRkB,OAAA,EAASX,cAAA,CAAeK,GAAG,CAACM,OAAO;IACnCJ,WAAA,EAAaP,cAAA,CAAeO,WAAW;IACvCZ,YAAA,EAAcA,YAAA;IACdW,IAAA,EAAMN,cAAA,CAAeK,GAAG,CAACC,IAAI;IAC7BM,eAAA,EAAiBZ,cAAA,CAAeY,eAAe;cAE/C,aAAAH,IAAA,CAACzB,cAAA;;AAGP;AAEA,OAAO,SAAS6B,aAAaC,KAA2B;EACtD,oBAAOL,IAAA,CAACzB,cAAA;IAAe+B,SAAA,EAAU;;AACnC","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["formatAdminURL","qs","React","DefaultTemplate","getNextRequestI18n","getVisibleEntities","initReq","NotFoundClient","generateNotFoundViewMetadata","config","configPromise","i18n","title","t","NotFoundPage","importMap","params","paramsPromise","searchParams","searchParamsPromise","routes","admin","adminRoute","queryString","stringify","addQueryPrefix","locale","permissions","req","payload","key","overrides","fallbackLocale","query","parse","depth","ignoreQueryPrefix","urlSuffix","path","user","canAccessAdmin","_jsx","visibleEntities","NotFoundView","props","marginTop"],"sources":["../../../src/views/NotFound/index.tsx"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { AdminViewServerProps, ImportMap, SanitizedConfig } from 'payload'\n\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js'\nimport { getVisibleEntities } from '../../utilities/getVisibleEntities.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { NotFoundClient } from './index.client.js'\n\nexport const generateNotFoundViewMetadata = async ({\n config: configPromise,\n}: {\n config: Promise<SanitizedConfig> | SanitizedConfig\n params?: { [key: string]: string | string[] }\n}): Promise<Metadata> => {\n const config = await configPromise\n\n const i18n = await getNextRequestI18n({\n config,\n })\n\n return {\n title: i18n.t('general:notFound'),\n }\n}\n\nexport const NotFoundPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n config: Promise<SanitizedConfig>\n importMap: ImportMap\n params: Promise<{\n segments: string[]\n }>\n searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n const { routes: { admin: adminRoute } = {} } = config\n\n const searchParams = await searchParamsPromise\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n const {\n locale,\n permissions,\n req,\n req: { payload },\n } = await initReq({\n configPromise: config,\n importMap,\n key: 'RootLayout',\n overrides: {\n fallbackLocale: false,\n req: {\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n },\n urlSuffix: `${formatAdminURL({ adminRoute, path: '/not-found' })}${searchParams ? queryString : ''}`,\n },\n })\n\n if (!req.user || !permissions.canAccessAdmin) {\n return <NotFoundClient />\n }\n\n const params = await paramsPromise\n const visibleEntities = getVisibleEntities({ req })\n\n return (\n <DefaultTemplate\n i18n={req.i18n}\n locale={locale}\n params={params}\n payload={payload}\n permissions={permissions}\n searchParams={searchParams}\n user={req.user}\n visibleEntities={visibleEntities}\n >\n <NotFoundClient />\n </DefaultTemplate>\n )\n}\n\nexport function NotFoundView(props: AdminViewServerProps) {\n return <NotFoundClient marginTop=\"large\" />\n}\n"],"mappings":";AAGA,SAASA,cAAc,QAAQ;AAC/B,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,MAAW;AAElB,SAASC,eAAe,QAAQ;AAChC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,OAAO,QAAQ;AACxB,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,4BAAA,GAA+B,MAAAA,CAAO;EACjDC,MAAA,EAAQC;AAAa,CAItB;EACC,MAAMD,MAAA,GAAS,MAAMC,aAAA;EAErB,MAAMC,IAAA,GAAO,MAAMP,kBAAA,CAAmB;IACpCK;EACF;EAEA,OAAO;IACLG,KAAA,EAAOD,IAAA,CAAKE,CAAC,CAAC;EAChB;AACF;AAEA,OAAO,MAAMC,YAAA,GAAe,MAAAA,CAAO;EACjCL,MAAA,EAAQC,aAAa;EACrBK,SAAS;EACTC,MAAA,EAAQC,aAAa;EACrBC,YAAA,EAAcC;AAAmB,CAUlC;EACC,MAAMV,MAAA,GAAS,MAAMC,aAAA;EACrB,MAAM;IAAEU,MAAA,EAAQ;MAAEC,KAAA,EAAOC;IAAU,CAAE,GAAG,CAAC;EAAC,CAAE,GAAGb,MAAA;EAE/C,MAAMS,YAAA,GAAe,MAAMC,mBAAA;EAC3B,MAAMI,WAAA,GAAc,GAAGtB,EAAA,CAAGuB,SAAS,CAACN,YAAA,IAAgB,CAAC,GAAG;IAAEO,cAAA,EAAgB;EAAK,IAAI;EACnF,MAAM;IACJC,MAAM;IACNC,WAAW;IACXC,GAAG;IACHA,GAAA,EAAK;MAAEC;IAAO;EAAE,CACjB,GAAG,MAAMvB,OAAA,CAAQ;IAChBI,aAAA,EAAeD,MAAA;IACfM,SAAA;IACAe,GAAA,EAAK;IACLC,SAAA,EAAW;MACTC,cAAA,EAAgB;MAChBJ,GAAA,EAAK;QACHK,KAAA,EAAOhC,EAAA,CAAGiC,KAAK,CAACX,WAAA,EAAa;UAC3BY,KAAA,EAAO;UACPC,iBAAA,EAAmB;QACrB;MACF;MACAC,SAAA,EAAW,GAAGrC,cAAA,CAAe;QAAEsB,UAAA;QAAYgB,IAAA,EAAM;MAAa,KAAKpB,YAAA,GAAeK,WAAA,GAAc;IAClG;EACF;EAEA,IAAI,CAACK,GAAA,CAAIW,IAAI,IAAI,CAACZ,WAAA,CAAYa,cAAc,EAAE;IAC5C,oBAAOC,IAAA,CAAClC,cAAA;EACV;EAEA,MAAMS,MAAA,GAAS,MAAMC,aAAA;EACrB,MAAMyB,eAAA,GAAkBrC,kBAAA,CAAmB;IAAEuB;EAAI;EAEjD,oBACEa,IAAA,CAACtC,eAAA;IACCQ,IAAA,EAAMiB,GAAA,CAAIjB,IAAI;IACde,MAAA,EAAQA,MAAA;IACRV,MAAA,EAAQA,MAAA;IACRa,OAAA,EAASA,OAAA;IACTF,WAAA,EAAaA,WAAA;IACbT,YAAA,EAAcA,YAAA;IACdqB,IAAA,EAAMX,GAAA,CAAIW,IAAI;IACdG,eAAA,EAAiBA,eAAA;cAEjB,aAAAD,IAAA,CAAClC,cAAA;;AAGP;AAEA,OAAO,SAASoC,aAAaC,KAA2B;EACtD,oBAAOH,IAAA,CAAClC,cAAA;IAAesC,SAAA,EAAU;;AACnC","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import type { ClientConfig } from 'payload';
2
+ /**
3
+ * This component is required in order for the _page_ to be able to refresh the client config,
4
+ * which may have been cached on the _layout_ level, where the ConfigProvider is managed.
5
+ * Since the layout does not re-render on page navigation / authentication, we need to manually
6
+ * update the config, as the user may have been authenticated in the process, which affects the client config.
7
+ */
8
+ export declare const SyncClientConfig: ({ clientConfig }: {
9
+ clientConfig: ClientConfig;
10
+ }) => any;
11
+ //# sourceMappingURL=SyncClientConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncClientConfig.d.ts","sourceRoot":"","sources":["../../../src/views/Root/SyncClientConfig.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAK3C;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,qBAAsB;IAAE,YAAY,EAAE,YAAY,CAAA;CAAE,QAehF,CAAA"}
@@ -0,0 +1,43 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { useConfig } from '@payloadcms/ui';
5
+ import { useEffect, useRef } from 'react';
6
+ /**
7
+ * This component is required in order for the _page_ to be able to refresh the client config,
8
+ * which may have been cached on the _layout_ level, where the ConfigProvider is managed.
9
+ * Since the layout does not re-render on page navigation / authentication, we need to manually
10
+ * update the config, as the user may have been authenticated in the process, which affects the client config.
11
+ */
12
+ export const SyncClientConfig = t0 => {
13
+ const $ = _c(4);
14
+ const {
15
+ clientConfig
16
+ } = t0;
17
+ const {
18
+ setConfig
19
+ } = useConfig();
20
+ const initialRender = useRef(true);
21
+ let t1;
22
+ let t2;
23
+ if ($[0] !== clientConfig || $[1] !== setConfig) {
24
+ t1 = () => {
25
+ if (initialRender.current) {
26
+ initialRender.current = false;
27
+ return;
28
+ }
29
+ setConfig(clientConfig);
30
+ };
31
+ t2 = [clientConfig, setConfig];
32
+ $[0] = clientConfig;
33
+ $[1] = setConfig;
34
+ $[2] = t1;
35
+ $[3] = t2;
36
+ } else {
37
+ t1 = $[2];
38
+ t2 = $[3];
39
+ }
40
+ useEffect(t1, t2);
41
+ return null;
42
+ };
43
+ //# sourceMappingURL=SyncClientConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncClientConfig.js","names":["c","_c","useConfig","useEffect","useRef","SyncClientConfig","t0","$","clientConfig","setConfig","initialRender","t1","t2","current"],"sources":["../../../src/views/Root/SyncClientConfig.tsx"],"sourcesContent":["'use client'\nimport type { ClientConfig } from 'payload'\n\nimport { useConfig } from '@payloadcms/ui'\nimport { useEffect, useRef } from 'react'\n\n/**\n * This component is required in order for the _page_ to be able to refresh the client config,\n * which may have been cached on the _layout_ level, where the ConfigProvider is managed.\n * Since the layout does not re-render on page navigation / authentication, we need to manually\n * update the config, as the user may have been authenticated in the process, which affects the client config.\n */\nexport const SyncClientConfig = ({ clientConfig }: { clientConfig: ClientConfig }) => {\n const { setConfig } = useConfig()\n const initialRender = useRef(true)\n\n useEffect(() => {\n // Can skip the initial render, as the config will already be set by the layout\n if (initialRender.current) {\n initialRender.current = false\n return\n }\n\n setConfig(clientConfig)\n }, [clientConfig, setConfig])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAGA,SAASC,SAAS,QAAQ;AAC1B,SAASC,SAAS,EAAEC,MAAM,QAAQ;AAElC;;;;;;AAMA,OAAO,MAAMC,gBAAA,GAAmBC,EAAA;EAAA,MAAAC,CAAA,GAAAN,EAAA;EAAC;IAAAO;EAAA,IAAAF,EAAgD;EAC/E;IAAAG;EAAA,IAAsBP,SAAA;EACtB,MAAAQ,aAAA,GAAsBN,MAAA,KAAO;EAAA,IAAAO,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAL,CAAA,QAAAC,YAAA,IAAAD,CAAA,QAAAE,SAAA;IAEnBE,EAAA,GAAAA,CAAA;MAAA,IAEJD,aAAA,CAAAG,OAAA;QACFH,aAAA,CAAAG,OAAA;QAAA;MAAA;MAIFJ,SAAA,CAAUD,YAAA;IAAA;IACTI,EAAA,IAACJ,YAAA,EAAcC,SAAA;IAAUF,CAAA,MAAAC,YAAA;IAAAD,CAAA,MAAAE,SAAA;IAAAF,CAAA,MAAAI,EAAA;IAAAJ,CAAA,MAAAK,EAAA;EAAA;IAAAD,EAAA,GAAAJ,CAAA;IAAAK,EAAA,GAAAL,CAAA;EAAA;EAR5BJ,SAAA,CAAUQ,EAQV,EAAGC,EAAyB;EAAA;AAAA,CAG9B","ignoreList":[]}
@@ -1,11 +1,10 @@
1
- import type { CustomComponent, EditConfig, SanitizedCollectionConfig, SanitizedGlobalConfig, ServerPropsFromView } from 'payload';
1
+ import type { CustomComponent, EditConfig, SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload';
2
2
  export declare function getViewActions({ editConfig, viewKey, }: {
3
3
  editConfig: EditConfig;
4
4
  viewKey: keyof EditConfig;
5
- }): CustomComponent[] | undefined;
6
- export declare function attachViewActions({ collectionOrGlobal, serverProps, viewKeyArg, }: {
5
+ }): CustomComponent[];
6
+ export declare function getSubViewActions({ collectionOrGlobal, viewKeyArg, }: {
7
7
  collectionOrGlobal: SanitizedCollectionConfig | SanitizedGlobalConfig;
8
- serverProps: ServerPropsFromView;
9
8
  viewKeyArg?: keyof EditConfig;
10
- }): void;
9
+ }): CustomComponent[];
11
10
  //# sourceMappingURL=attachViewActions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"attachViewActions.d.ts","sourceRoot":"","sources":["../../../src/views/Root/attachViewActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,yBAAyB,EACzB,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,SAAS,CAAA;AAEhB,wBAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,OAAO,GACR,EAAE;IACD,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,MAAM,UAAU,CAAA;CAC1B,GAAG,eAAe,EAAE,GAAG,SAAS,CAMhC;AAED,wBAAgB,iBAAiB,CAAC,EAChC,kBAAkB,EAClB,WAAW,EACX,UAAU,GACX,EAAE;IACD,kBAAkB,EAAE,yBAAyB,GAAG,qBAAqB,CAAA;IACrE,WAAW,EAAE,mBAAmB,CAAA;IAChC,UAAU,CAAC,EAAE,MAAM,UAAU,CAAA;CAC9B,QAgBA"}
1
+ {"version":3,"file":"attachViewActions.d.ts","sourceRoot":"","sources":["../../../src/views/Root/attachViewActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAEhB,wBAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,OAAO,GACR,EAAE;IACD,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,MAAM,UAAU,CAAA;CAC1B,GAAG,eAAe,EAAE,CAMpB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,kBAAkB,EAClB,UAAU,GACX,EAAE;IACD,kBAAkB,EAAE,yBAAyB,GAAG,qBAAqB,CAAA;IACrE,UAAU,CAAC,EAAE,MAAM,UAAU,CAAA;CAC9B,GAAG,eAAe,EAAE,CAgBpB"}
@@ -3,13 +3,12 @@ export function getViewActions({
3
3
  viewKey
4
4
  }) {
5
5
  if (editConfig && viewKey in editConfig && 'actions' in editConfig[viewKey]) {
6
- return editConfig[viewKey].actions;
6
+ return editConfig[viewKey].actions ?? [];
7
7
  }
8
- return undefined;
8
+ return [];
9
9
  }
10
- export function attachViewActions({
10
+ export function getSubViewActions({
11
11
  collectionOrGlobal,
12
- serverProps,
13
12
  viewKeyArg
14
13
  }) {
15
14
  if (collectionOrGlobal?.admin?.components?.views?.edit) {
@@ -21,9 +20,8 @@ export function attachViewActions({
21
20
  editConfig: collectionOrGlobal.admin?.components?.views?.edit,
22
21
  viewKey
23
22
  });
24
- if (actions) {
25
- serverProps.viewActions = serverProps.viewActions.concat(actions);
26
- }
23
+ return actions;
27
24
  }
25
+ return [];
28
26
  }
29
27
  //# sourceMappingURL=attachViewActions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"attachViewActions.js","names":["getViewActions","editConfig","viewKey","actions","undefined","attachViewActions","collectionOrGlobal","serverProps","viewKeyArg","admin","components","views","edit","viewActions","concat"],"sources":["../../../src/views/Root/attachViewActions.ts"],"sourcesContent":["import type {\n CustomComponent,\n EditConfig,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n ServerPropsFromView,\n} from 'payload'\n\nexport function getViewActions({\n editConfig,\n viewKey,\n}: {\n editConfig: EditConfig\n viewKey: keyof EditConfig\n}): CustomComponent[] | undefined {\n if (editConfig && viewKey in editConfig && 'actions' in editConfig[viewKey]) {\n return editConfig[viewKey].actions\n }\n\n return undefined\n}\n\nexport function attachViewActions({\n collectionOrGlobal,\n serverProps,\n viewKeyArg,\n}: {\n collectionOrGlobal: SanitizedCollectionConfig | SanitizedGlobalConfig\n serverProps: ServerPropsFromView\n viewKeyArg?: keyof EditConfig\n}) {\n if (collectionOrGlobal?.admin?.components?.views?.edit) {\n let viewKey = viewKeyArg || 'default'\n if ('root' in collectionOrGlobal.admin.components.views.edit) {\n viewKey = 'root'\n }\n\n const actions = getViewActions({\n editConfig: collectionOrGlobal.admin?.components?.views?.edit,\n viewKey,\n })\n\n if (actions) {\n serverProps.viewActions = serverProps.viewActions.concat(actions)\n }\n }\n}\n"],"mappings":"AAQA,OAAO,SAASA,eAAe;EAC7BC,UAAU;EACVC;AAAO,CAIR;EACC,IAAID,UAAA,IAAcC,OAAA,IAAWD,UAAA,IAAc,aAAaA,UAAU,CAACC,OAAA,CAAQ,EAAE;IAC3E,OAAOD,UAAU,CAACC,OAAA,CAAQ,CAACC,OAAO;EACpC;EAEA,OAAOC,SAAA;AACT;AAEA,OAAO,SAASC,kBAAkB;EAChCC,kBAAkB;EAClBC,WAAW;EACXC;AAAU,CAKX;EACC,IAAIF,kBAAA,EAAoBG,KAAA,EAAOC,UAAA,EAAYC,KAAA,EAAOC,IAAA,EAAM;IACtD,IAAIV,OAAA,GAAUM,UAAA,IAAc;IAC5B,IAAI,UAAUF,kBAAA,CAAmBG,KAAK,CAACC,UAAU,CAACC,KAAK,CAACC,IAAI,EAAE;MAC5DV,OAAA,GAAU;IACZ;IAEA,MAAMC,OAAA,GAAUH,cAAA,CAAe;MAC7BC,UAAA,EAAYK,kBAAA,CAAmBG,KAAK,EAAEC,UAAA,EAAYC,KAAA,EAAOC,IAAA;MACzDV;IACF;IAEA,IAAIC,OAAA,EAAS;MACXI,WAAA,CAAYM,WAAW,GAAGN,WAAA,CAAYM,WAAW,CAACC,MAAM,CAACX,OAAA;IAC3D;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"attachViewActions.js","names":["getViewActions","editConfig","viewKey","actions","getSubViewActions","collectionOrGlobal","viewKeyArg","admin","components","views","edit"],"sources":["../../../src/views/Root/attachViewActions.ts"],"sourcesContent":["import type {\n CustomComponent,\n EditConfig,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nexport function getViewActions({\n editConfig,\n viewKey,\n}: {\n editConfig: EditConfig\n viewKey: keyof EditConfig\n}): CustomComponent[] {\n if (editConfig && viewKey in editConfig && 'actions' in editConfig[viewKey]) {\n return editConfig[viewKey].actions ?? []\n }\n\n return []\n}\n\nexport function getSubViewActions({\n collectionOrGlobal,\n viewKeyArg,\n}: {\n collectionOrGlobal: SanitizedCollectionConfig | SanitizedGlobalConfig\n viewKeyArg?: keyof EditConfig\n}): CustomComponent[] {\n if (collectionOrGlobal?.admin?.components?.views?.edit) {\n let viewKey = viewKeyArg || 'default'\n if ('root' in collectionOrGlobal.admin.components.views.edit) {\n viewKey = 'root'\n }\n\n const actions = getViewActions({\n editConfig: collectionOrGlobal.admin?.components?.views?.edit,\n viewKey,\n })\n\n return actions\n }\n\n return []\n}\n"],"mappings":"AAOA,OAAO,SAASA,eAAe;EAC7BC,UAAU;EACVC;AAAO,CAIR;EACC,IAAID,UAAA,IAAcC,OAAA,IAAWD,UAAA,IAAc,aAAaA,UAAU,CAACC,OAAA,CAAQ,EAAE;IAC3E,OAAOD,UAAU,CAACC,OAAA,CAAQ,CAACC,OAAO,IAAI,EAAE;EAC1C;EAEA,OAAO,EAAE;AACX;AAEA,OAAO,SAASC,kBAAkB;EAChCC,kBAAkB;EAClBC;AAAU,CAIX;EACC,IAAID,kBAAA,EAAoBE,KAAA,EAAOC,UAAA,EAAYC,KAAA,EAAOC,IAAA,EAAM;IACtD,IAAIR,OAAA,GAAUI,UAAA,IAAc;IAC5B,IAAI,UAAUD,kBAAA,CAAmBE,KAAK,CAACC,UAAU,CAACC,KAAK,CAACC,IAAI,EAAE;MAC5DR,OAAA,GAAU;IACZ;IAEA,MAAMC,OAAA,GAAUH,cAAA,CAAe;MAC7BC,UAAA,EAAYI,kBAAA,CAAmBE,KAAK,EAAEC,UAAA,EAAYC,KAAA,EAAOC,IAAA;MACzDR;IACF;IAEA,OAAOC,OAAA;EACT;EAEA,OAAO,EAAE;AACX","ignoreList":[]}
@@ -1,31 +1,48 @@
1
- import type { AdminViewServerProps, CollectionSlug, DocumentSubViewTypes, ImportMap, PayloadComponent, SanitizedConfig, ServerPropsFromView, ViewTypes } from 'payload';
1
+ import type { AdminViewServerProps, CollectionPreferences, CollectionSlug, CustomComponent, DocumentSubViewTypes, Payload, PayloadComponent, SanitizedCollectionConfig, SanitizedGlobalConfig, ViewTypes } from 'payload';
2
2
  import type React from 'react';
3
- import type { initPage } from '../../utilities/initPage/index.js';
4
3
  export type ViewFromConfig = {
5
4
  Component?: React.FC<AdminViewServerProps>;
6
5
  payloadComponent?: PayloadComponent<AdminViewServerProps>;
7
6
  };
8
- type GetRouteDataArgs = {
9
- adminRoute: string;
10
- config: SanitizedConfig;
11
- currentRoute: string;
12
- importMap: ImportMap;
13
- searchParams: {
14
- [key: string]: string | string[];
15
- };
16
- segments: string[];
17
- };
18
7
  type GetRouteDataResult = {
19
8
  browseByFolderSlugs: CollectionSlug[];
9
+ collectionConfig?: SanitizedCollectionConfig;
20
10
  DefaultView: ViewFromConfig;
21
11
  documentSubViewType?: DocumentSubViewTypes;
22
- folderID?: string;
23
- initPageOptions: Parameters<typeof initPage>[0];
24
- serverProps: ServerPropsFromView;
12
+ globalConfig?: SanitizedGlobalConfig;
13
+ routeParams: {
14
+ collection?: string;
15
+ folderCollection?: string;
16
+ folderID?: number | string;
17
+ global?: string;
18
+ id?: number | string;
19
+ token?: string;
20
+ versionID?: number | string;
21
+ };
25
22
  templateClassName: string;
26
23
  templateType: 'default' | 'minimal';
24
+ viewActions?: CustomComponent[];
27
25
  viewType?: ViewTypes;
28
26
  };
29
- export declare const getRouteData: ({ adminRoute, config, currentRoute, importMap, searchParams, segments, }: GetRouteDataArgs) => GetRouteDataResult;
27
+ type GetRouteDataArgs = {
28
+ adminRoute: string;
29
+ collectionConfig?: SanitizedCollectionConfig;
30
+ /**
31
+ * User preferences for a collection.
32
+ *
33
+ * These preferences are normally undefined
34
+ * unless the user is on the list view and the
35
+ * collection is folder enabled.
36
+ */
37
+ collectionPreferences?: CollectionPreferences;
38
+ currentRoute: string;
39
+ globalConfig?: SanitizedGlobalConfig;
40
+ payload: Payload;
41
+ searchParams: {
42
+ [key: string]: string | string[];
43
+ };
44
+ segments: string[];
45
+ };
46
+ export declare const getRouteData: ({ adminRoute, collectionConfig, collectionPreferences, currentRoute, globalConfig, payload, segments, }: GetRouteDataArgs) => GetRouteDataResult;
30
47
  export {};
31
48
  //# sourceMappingURL=getRouteData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getRouteData.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getRouteData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,SAAS,EACV,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAkCjE,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAA;IAC1C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAA;CAC1D,CAAA;AAaD,KAAK,gBAAgB,GAAG;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;IACD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,CAAA;AAED,KAAK,kBAAkB,GAAG;IACxB,mBAAmB,EAAE,cAAc,EAAE,CAAA;IACrC,WAAW,EAAE,cAAc,CAAA;IAC3B,mBAAmB,CAAC,EAAE,oBAAoB,CAAA;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,WAAW,EAAE,mBAAmB,CAAA;IAChC,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,SAAS,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,YAAY,6EAOtB,gBAAgB,KAAG,kBAsTrB,CAAA"}
1
+ {"version":3,"file":"getRouteData.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getRouteData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,OAAO,EACP,gBAAgB,EAChB,yBAAyB,EAEzB,qBAAqB,EACrB,SAAS,EACV,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAqC9B,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAA;IAC1C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAA;CAC1D,CAAA;AAaD,KAAK,kBAAkB,GAAG;IACxB,mBAAmB,EAAE,cAAc,EAAE,CAAA;IACrC,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,WAAW,EAAE,cAAc,CAAA;IAC3B,mBAAmB,CAAC,EAAE,oBAAoB,CAAA;IAC1C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,WAAW,EAAE;QACX,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;QAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;QACpB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAC5B,CAAA;IACD,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,SAAS,GAAG,SAAS,CAAA;IACnC,WAAW,CAAC,EAAE,eAAe,EAAE,CAAA;IAC/B,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,KAAK,gBAAgB,GAAG;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAC7C,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;IACD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,YAAY,4GAQtB,gBAAgB,KAAG,kBAiVrB,CAAA"}