@payloadcms/next 3.74.0-internal.097fb57 → 3.74.0-internal.1b84a48

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 (62) hide show
  1. package/dist/auth/login.d.ts +9 -12
  2. package/dist/auth/login.d.ts.map +1 -1
  3. package/dist/auth/login.js.map +1 -1
  4. package/dist/auth/logout.d.ts +2 -2
  5. package/dist/auth/logout.d.ts.map +1 -1
  6. package/dist/auth/logout.js.map +1 -1
  7. package/dist/auth/refresh.d.ts +2 -1
  8. package/dist/auth/refresh.d.ts.map +1 -1
  9. package/dist/auth/refresh.js.map +1 -1
  10. package/dist/exports/client.d.ts +1 -0
  11. package/dist/exports/client.d.ts.map +1 -1
  12. package/dist/exports/client.js +1 -0
  13. package/dist/exports/client.js.map +1 -1
  14. package/dist/exports/rsc.d.ts +1 -0
  15. package/dist/exports/rsc.d.ts.map +1 -1
  16. package/dist/exports/rsc.js +1 -0
  17. package/dist/exports/rsc.js.map +1 -1
  18. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  19. package/dist/utilities/handleServerFunctions.js +7 -5
  20. package/dist/utilities/handleServerFunctions.js.map +1 -1
  21. package/dist/utilities/initReq.d.ts +2 -13
  22. package/dist/utilities/initReq.d.ts.map +1 -1
  23. package/dist/utilities/initReq.js.map +1 -1
  24. package/dist/views/Dashboard/Default/ModularDashboard/index.d.ts.map +1 -1
  25. package/dist/views/Dashboard/Default/ModularDashboard/index.js +6 -0
  26. package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
  27. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.d.ts.map +1 -1
  28. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +6 -0
  29. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -1
  30. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.d.ts.map +1 -1
  31. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +7 -1
  32. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  33. package/dist/views/Document/getVersions.d.ts.map +1 -1
  34. package/dist/views/Document/getVersions.js +0 -3
  35. package/dist/views/Document/getVersions.js.map +1 -1
  36. package/dist/views/Document/handleServerFunction.d.ts.map +1 -1
  37. package/dist/views/Document/handleServerFunction.js +5 -7
  38. package/dist/views/Document/handleServerFunction.js.map +1 -1
  39. package/dist/views/Document/index.js +3 -3
  40. package/dist/views/Document/index.js.map +1 -1
  41. package/dist/views/Document/renderDocumentSlots.d.ts +3 -2
  42. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  43. package/dist/views/Document/renderDocumentSlots.js +17 -2
  44. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  45. package/dist/views/List/handleServerFunction.d.ts.map +1 -1
  46. package/dist/views/List/handleServerFunction.js +7 -7
  47. package/dist/views/List/handleServerFunction.js.map +1 -1
  48. package/dist/views/List/index.d.ts +1 -0
  49. package/dist/views/List/index.d.ts.map +1 -1
  50. package/dist/views/List/index.js +38 -34
  51. package/dist/views/List/index.js.map +1 -1
  52. package/dist/views/Version/VersionPillLabel/VersionPillLabel.d.ts.map +1 -1
  53. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +22 -17
  54. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
  55. package/dist/views/Version/VersionPillLabel/getVersionLabel.d.ts +3 -2
  56. package/dist/views/Version/VersionPillLabel/getVersionLabel.d.ts.map +1 -1
  57. package/dist/views/Version/VersionPillLabel/getVersionLabel.js +2 -6
  58. package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -1
  59. package/dist/views/Version/index.d.ts.map +1 -1
  60. package/dist/views/Version/index.js +3 -0
  61. package/dist/views/Version/index.js.map +1 -1
  62. package/package.json +8 -8
@@ -27,6 +27,7 @@ export const renderListView = async args => {
27
27
  disableBulkDelete,
28
28
  disableBulkEdit,
29
29
  disableQueryPresets,
30
+ disableSetStepNav,
30
31
  drawerSlug,
31
32
  enableRowSelections,
32
33
  initPageResult,
@@ -56,6 +57,11 @@ export const renderListView = async args => {
56
57
  },
57
58
  visibleEntities
58
59
  } = initPageResult;
60
+ const {
61
+ routes: {
62
+ admin: adminRoute
63
+ }
64
+ } = config;
59
65
  if (!collectionConfig || !permissions?.collections?.[collectionSlug]?.read || !visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility) {
60
66
  throw new Error('not-found');
61
67
  }
@@ -73,25 +79,45 @@ export const renderListView = async args => {
73
79
  sort: query?.sort
74
80
  }
75
81
  });
76
- query.preset = collectionPreferences?.preset;
82
+ let queryPreset;
83
+ let queryPresetPermissions;
84
+ if (collectionPreferences?.preset) {
85
+ try {
86
+ queryPreset = await payload.findByID({
87
+ id: collectionPreferences?.preset,
88
+ collection: 'payload-query-presets',
89
+ depth: 0,
90
+ overrideAccess: false,
91
+ user
92
+ });
93
+ if (queryPreset) {
94
+ queryPresetPermissions = (await getDocumentPermissions({
95
+ id: queryPreset.id,
96
+ collectionConfig: req.payload.collections['payload-query-presets'].config,
97
+ data: queryPreset,
98
+ req
99
+ }))?.docPermissions;
100
+ }
101
+ } catch (err) {
102
+ req.payload.logger.error(`Error fetching query preset or preset permissions: ${err}`);
103
+ }
104
+ }
105
+ query.preset = queryPreset?.id;
106
+ if (queryPreset?.where && !query.where) {
107
+ query.where = queryPreset.where;
108
+ }
109
+ query.groupBy = query.groupBy ?? queryPreset?.groupBy ?? collectionPreferences?.groupBy;
110
+ const columnPreference = query.columns ? transformColumnsToPreferences(query.columns) : queryPreset?.columns ?? collectionPreferences?.columns;
111
+ query.columns = transformColumnsToSearchParams(columnPreference);
77
112
  query.page = isNumber(query?.page) ? Number(query.page) : 0;
78
113
  query.limit = collectionPreferences?.limit || collectionConfig.admin.pagination.defaultLimit;
79
114
  query.sort = collectionPreferences?.sort || (typeof collectionConfig.defaultSort === 'string' ? collectionConfig.defaultSort : undefined);
80
- query.groupBy = collectionPreferences?.groupBy;
81
- query.columns = transformColumnsToSearchParams(collectionPreferences?.columns || []);
82
- const {
83
- routes: {
84
- admin: adminRoute
85
- }
86
- } = config;
87
115
  const baseFilterConstraint = await (collectionConfig.admin?.baseFilter ?? collectionConfig.admin?.baseListFilter)?.({
88
116
  limit: query.limit,
89
117
  page: query.page,
90
118
  req,
91
119
  sort: query.sort
92
120
  });
93
- let queryPreset;
94
- let queryPresetPermissions;
95
121
  let whereWithMergedSearch = mergeListSearchAndWhere({
96
122
  collectionConfig,
97
123
  search: typeof query?.search === 'string' ? query.search : undefined,
@@ -106,29 +132,6 @@ export const renderListView = async args => {
106
132
  }]
107
133
  };
108
134
  }
109
- if (collectionPreferences?.preset) {
110
- try {
111
- queryPreset = await payload.findByID({
112
- id: collectionPreferences?.preset,
113
- collection: 'payload-query-presets',
114
- depth: 0,
115
- overrideAccess: false,
116
- user
117
- });
118
- if (queryPreset) {
119
- queryPresetPermissions = await getDocumentPermissions({
120
- id: queryPreset.id,
121
- collectionConfig: config.collections.find(c => c.slug === 'payload-query-presets'),
122
- data: queryPreset,
123
- req
124
- })?.then(({
125
- docPermissions
126
- }) => docPermissions);
127
- }
128
- } catch (err) {
129
- req.payload.logger.error(`Error fetching query preset or preset permissions: ${err}`);
130
- }
131
- }
132
135
  let Table = null;
133
136
  let columnState = [];
134
137
  let data = {
@@ -149,7 +152,7 @@ export const renderListView = async args => {
149
152
  clientConfig,
150
153
  collectionConfig: clientCollectionConfig,
151
154
  collectionSlug,
152
- columns: collectionPreferences?.columns,
155
+ columns: columnPreference,
153
156
  i18n,
154
157
  permissions
155
158
  });
@@ -309,6 +312,7 @@ export const renderListView = async args => {
309
312
  disableBulkDelete,
310
313
  disableBulkEdit: collectionConfig.disableBulkEdit ?? disableBulkEdit,
311
314
  disableQueryPresets,
315
+ disableSetStepNav,
312
316
  enableRowSelections,
313
317
  hasCreatePermission,
314
318
  hasDeletePermission,
@@ -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","enrichDocsWithVersionStatus","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","includes","Error","columnsFromQuery","columns","queryByGroup","JSON","parse","collectionPreferences","key","value","groupBy","limit","Number","undefined","preset","sort","page","admin","pagination","defaultLimit","defaultSort","routes","adminRoute","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","fieldPermissions","fields","draft","fallbackLocale","includeLockStatus","orderableFieldName","orderable","useAsTitle","name","msg","renderedFilters","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 { enrichDocsWithVersionStatus } from './enrichDocsWithVersionStatus.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 /**\n * If not ListQuery is provided, `req.query` will be used.\n */\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 (\n !collectionConfig ||\n !permissions?.collections?.[collectionSlug]?.read ||\n (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility)\n ) {\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 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 permissions,\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 fieldPermissions: permissions?.collections?.[collectionSlug]?.fields,\n query,\n req,\n select,\n trash,\n user,\n viewType,\n where: whereWithMergedSearch,\n }))\n\n // Enrich documents with correct display status for drafts\n data = await enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\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\n // Enrich documents with correct display status for drafts\n data = await enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\n })\n ;({ columnState, Table } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columns,\n customCellProps,\n data,\n drawerSlug,\n enableRowSelections,\n fieldPermissions: permissions?.collections?.[collectionSlug]?.fields,\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\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 // Pass through Next.js errors\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","appendUploadSelectFields","combineWhereConstraints","formatAdminURL","isNumber","mergeListSearchAndWhere","transformColumnsToPreferences","transformColumnsToSearchParams","React","Fragment","getDocumentPermissions","enrichDocsWithVersionStatus","handleGroupBy","renderListViewSlots","resolveAllFilterOptions","transformColumnsToSelect","renderListView","args","clientConfig","ComponentOverride","customCellProps","disableBulkDelete","disableBulkEdit","disableQueryPresets","disableSetStepNav","drawerSlug","enableRowSelections","initPageResult","overrideEntityVisibility","params","query","queryFromArgs","searchParams","trash","viewType","collectionConfig","slug","collectionSlug","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","routes","admin","adminRoute","collections","read","includes","Error","columnsFromQuery","columns","queryByGroup","JSON","parse","collectionPreferences","key","value","groupBy","limit","Number","undefined","preset","sort","queryPreset","queryPresetPermissions","findByID","id","collection","depth","overrideAccess","data","docPermissions","err","logger","error","where","columnPreference","page","pagination","defaultLimit","defaultSort","baseFilterConstraint","baseFilter","baseListFilter","whereWithMergedSearch","search","and","deletedAt","exists","Table","columnState","docs","hasNextPage","hasPrevPage","nextPage","pagingCounter","prevPage","totalDocs","totalPages","clientCollectionConfig","find","c","select","enableListViewSelectAPI","fieldPermissions","fields","draft","fallbackLocale","includeLockStatus","orderableFieldName","orderable","useAsTitle","name","msg","renderedFilters","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 { enrichDocsWithVersionStatus } from './enrichDocsWithVersionStatus.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 disableSetStepNav?: boolean\n drawerSlug?: string\n enableRowSelections: boolean\n overrideEntityVisibility?: boolean\n /**\n * If not ListQuery is provided, `req.query` will be used.\n */\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 disableSetStepNav,\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 const {\n routes: { admin: adminRoute },\n } = config\n\n if (\n !collectionConfig ||\n !permissions?.collections?.[collectionSlug]?.read ||\n (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility)\n ) {\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 let queryPreset: QueryPreset | undefined\n let queryPresetPermissions: SanitizedCollectionPermission | undefined\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 = (\n await getDocumentPermissions({\n id: queryPreset.id,\n collectionConfig: req.payload.collections['payload-query-presets'].config,\n data: queryPreset,\n req,\n })\n )?.docPermissions\n }\n } catch (err) {\n req.payload.logger.error(`Error fetching query preset or preset permissions: ${err}`)\n }\n }\n\n query.preset = queryPreset?.id\n if (queryPreset?.where && !query.where) {\n query.where = queryPreset.where\n }\n query.groupBy = query.groupBy ?? queryPreset?.groupBy ?? collectionPreferences?.groupBy\n\n const columnPreference = query.columns\n ? transformColumnsToPreferences(query.columns)\n : (queryPreset?.columns ?? collectionPreferences?.columns)\n query.columns = transformColumnsToSearchParams(columnPreference)\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 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 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 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: columnPreference,\n i18n,\n permissions,\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 fieldPermissions: permissions?.collections?.[collectionSlug]?.fields,\n query,\n req,\n select,\n trash,\n user,\n viewType,\n where: whereWithMergedSearch,\n }))\n\n // Enrich documents with correct display status for drafts\n data = await enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\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\n // Enrich documents with correct display status for drafts\n data = await enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\n })\n ;({ columnState, Table } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columns,\n customCellProps,\n data,\n drawerSlug,\n enableRowSelections,\n fieldPermissions: permissions?.collections?.[collectionSlug]?.fields,\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 disableSetStepNav,\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\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 // Pass through Next.js errors\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 +1 @@
1
- {"version":3,"file":"VersionPillLabel.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/VersionPillLabel/VersionPillLabel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAarB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,yBAAyB,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAA;IAChD,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB,GAAG,EAAE;QACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;QACtB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,EAAE;YACP,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;YACtB,OAAO,EAAE,OAAO,GAAG,WAAW,CAAA;YAC9B,SAAS,EAAE,MAAM,CAAA;SAClB,CAAA;KACF,CAAA;IACD;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC5B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,kBAAkB,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAA;CAC1C,CAsEA,CAAA"}
1
+ {"version":3,"file":"VersionPillLabel.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/VersionPillLabel/VersionPillLabel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAarB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,yBAAyB,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAA;IAChD,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB,GAAG,EAAE;QACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;QACtB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,EAAE;YACP,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;YACtB,OAAO,EAAE,OAAO,GAAG,WAAW,CAAA;YAC9B,SAAS,EAAE,MAAM,CAAA;SAClB,CAAA;KACF,CAAA;IACD;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC5B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,kBAAkB,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAA;CAC1C,CAwEA,CAAA"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
- import { Pill, useConfig, useTranslation } from '@payloadcms/ui';
5
+ import { Pill, useConfig, useLocale, useTranslation } from '@payloadcms/ui';
6
6
  import { formatDate } from '@payloadcms/ui/shared';
7
7
  import React from 'react';
8
8
  import { getVersionLabel } from './getVersionLabel.js';
@@ -15,7 +15,7 @@ const renderPill = (label, pillStyle) => {
15
15
  });
16
16
  };
17
17
  export const VersionPillLabel = t0 => {
18
- const $ = _c(13);
18
+ const $ = _c(14);
19
19
  const {
20
20
  currentlyPublishedVersion,
21
21
  disableDate: t1,
@@ -43,12 +43,16 @@ export const VersionPillLabel = t0 => {
43
43
  i18n,
44
44
  t
45
45
  } = useTranslation();
46
+ const {
47
+ code: currentLocale
48
+ } = useLocale();
46
49
  let t6;
47
- if ($[0] !== currentlyPublishedVersion || $[1] !== dateFormat || $[2] !== disableDate || $[3] !== doc || $[4] !== i18n || $[5] !== labelFirst || $[6] !== labelOverride || $[7] !== labelStyle || $[8] !== labelSuffix || $[9] !== latestDraftVersion || $[10] !== localization || $[11] !== t) {
50
+ if ($[0] !== currentLocale || $[1] !== currentlyPublishedVersion || $[2] !== dateFormat || $[3] !== disableDate || $[4] !== doc || $[5] !== i18n || $[6] !== labelFirst || $[7] !== labelOverride || $[8] !== labelStyle || $[9] !== labelSuffix || $[10] !== latestDraftVersion || $[11] !== localization || $[12] !== t) {
48
51
  const {
49
52
  label,
50
53
  pillStyle
51
54
  } = getVersionLabel({
55
+ currentLocale,
52
56
  currentlyPublishedVersion,
53
57
  latestDraftVersion,
54
58
  t,
@@ -89,21 +93,22 @@ export const VersionPillLabel = t0 => {
89
93
  children: localeLabel
90
94
  })]
91
95
  });
92
- $[0] = currentlyPublishedVersion;
93
- $[1] = dateFormat;
94
- $[2] = disableDate;
95
- $[3] = doc;
96
- $[4] = i18n;
97
- $[5] = labelFirst;
98
- $[6] = labelOverride;
99
- $[7] = labelStyle;
100
- $[8] = labelSuffix;
101
- $[9] = latestDraftVersion;
102
- $[10] = localization;
103
- $[11] = t;
104
- $[12] = t6;
96
+ $[0] = currentLocale;
97
+ $[1] = currentlyPublishedVersion;
98
+ $[2] = dateFormat;
99
+ $[3] = disableDate;
100
+ $[4] = doc;
101
+ $[5] = i18n;
102
+ $[6] = labelFirst;
103
+ $[7] = labelOverride;
104
+ $[8] = labelStyle;
105
+ $[9] = labelSuffix;
106
+ $[10] = latestDraftVersion;
107
+ $[11] = localization;
108
+ $[12] = t;
109
+ $[13] = t6;
105
110
  } else {
106
- t6 = $[12];
111
+ t6 = $[13];
107
112
  }
108
113
  return t6;
109
114
  };
@@ -1 +1 @@
1
- {"version":3,"file":"VersionPillLabel.js","names":["c","_c","Pill","useConfig","useTranslation","formatDate","React","getVersionLabel","baseClass","renderPill","label","pillStyle","_jsx","size","VersionPillLabel","t0","$","currentlyPublishedVersion","disableDate","t1","doc","labelFirst","t2","labelOverride","labelStyle","t3","labelSuffix","latestDraftVersion","undefined","config","t4","admin","t5","localization","dateFormat","i18n","t","t6","version","labelText","_jsxs","children","showDate","updatedAt","formattedDate","date","pattern","localeCode","Array","isArray","publishedLocale","locale","locales","find","loc","code","localeLabel","language","className","Fragment"],"sources":["../../../../src/views/Version/VersionPillLabel/VersionPillLabel.tsx"],"sourcesContent":["'use client'\n\nimport type { TypeWithVersion } from 'payload'\n\nimport { Pill, useConfig, useTranslation } from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport './index.scss'\nimport { getVersionLabel } from './getVersionLabel.js'\n\nconst baseClass = 'version-pill-label'\n\nconst renderPill = (label: React.ReactNode, pillStyle: Parameters<typeof Pill>[0]['pillStyle']) => {\n return (\n <Pill pillStyle={pillStyle} size=\"small\">\n {label}\n </Pill>\n )\n}\n\nexport const VersionPillLabel: React.FC<{\n currentlyPublishedVersion?: TypeWithVersion<any>\n disableDate?: boolean\n\n doc: {\n [key: string]: unknown\n id: number | string\n publishedLocale?: string\n updatedAt?: string\n version: {\n [key: string]: unknown\n _status: 'draft' | 'published'\n updatedAt: string\n }\n }\n /**\n * By default, the date is displayed first, followed by the version label.\n * @default false\n */\n labelFirst?: boolean\n labelOverride?: React.ReactNode\n /**\n * @default 'pill'\n */\n labelStyle?: 'pill' | 'text'\n labelSuffix?: React.ReactNode\n latestDraftVersion?: TypeWithVersion<any>\n}> = ({\n currentlyPublishedVersion,\n disableDate = false,\n doc,\n labelFirst = false,\n labelOverride,\n labelStyle = 'pill',\n labelSuffix,\n latestDraftVersion,\n}) => {\n const {\n config: {\n admin: { dateFormat },\n localization,\n },\n } = useConfig()\n const { i18n, t } = useTranslation()\n\n const { label, pillStyle } = getVersionLabel({\n currentlyPublishedVersion,\n latestDraftVersion,\n t,\n version: doc,\n })\n const labelText: React.ReactNode = (\n <span>\n {labelOverride || label}\n {labelSuffix}\n </span>\n )\n\n const showDate = !disableDate && doc.updatedAt\n const formattedDate = showDate\n ? formatDate({ date: doc.updatedAt, i18n, pattern: dateFormat })\n : null\n\n const localeCode = Array.isArray(doc.publishedLocale)\n ? doc.publishedLocale[0]\n : doc.publishedLocale\n\n const locale =\n localization && localization?.locales\n ? localization.locales.find((loc) => loc.code === localeCode)\n : null\n const localeLabel = locale ? locale?.label?.[i18n?.language] || locale?.label : null\n\n return (\n <div className={baseClass}>\n {labelFirst ? (\n <React.Fragment>\n {labelStyle === 'pill' ? (\n renderPill(labelText, pillStyle)\n ) : (\n <span className={`${baseClass}-text`}>{labelText}</span>\n )}\n {showDate && <span className={`${baseClass}-date`}>{formattedDate}</span>}\n </React.Fragment>\n ) : (\n <React.Fragment>\n {showDate && <span className={`${baseClass}-date`}>{formattedDate}</span>}\n {labelStyle === 'pill' ? (\n renderPill(labelText, pillStyle)\n ) : (\n <span className={`${baseClass}-text`}>{labelText}</span>\n )}\n </React.Fragment>\n )}\n {localeLabel && <Pill size=\"small\">{localeLabel}</Pill>}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VersionPillLabel.js","names":["c","_c","Pill","useConfig","useLocale","useTranslation","formatDate","React","getVersionLabel","baseClass","renderPill","label","pillStyle","_jsx","size","VersionPillLabel","t0","$","currentlyPublishedVersion","disableDate","t1","doc","labelFirst","t2","labelOverride","labelStyle","t3","labelSuffix","latestDraftVersion","undefined","config","t4","admin","t5","localization","dateFormat","i18n","t","code","currentLocale","t6","version","labelText","_jsxs","children","showDate","updatedAt","formattedDate","date","pattern","localeCode","Array","isArray","publishedLocale","locale","locales","find","loc","localeLabel","language","className","Fragment"],"sources":["../../../../src/views/Version/VersionPillLabel/VersionPillLabel.tsx"],"sourcesContent":["'use client'\n\nimport type { TypeWithVersion } from 'payload'\n\nimport { Pill, useConfig, useLocale, useTranslation } from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport './index.scss'\nimport { getVersionLabel } from './getVersionLabel.js'\n\nconst baseClass = 'version-pill-label'\n\nconst renderPill = (label: React.ReactNode, pillStyle: Parameters<typeof Pill>[0]['pillStyle']) => {\n return (\n <Pill pillStyle={pillStyle} size=\"small\">\n {label}\n </Pill>\n )\n}\n\nexport const VersionPillLabel: React.FC<{\n currentlyPublishedVersion?: TypeWithVersion<any>\n disableDate?: boolean\n\n doc: {\n [key: string]: unknown\n id: number | string\n publishedLocale?: string\n updatedAt?: string\n version: {\n [key: string]: unknown\n _status: 'draft' | 'published'\n updatedAt: string\n }\n }\n /**\n * By default, the date is displayed first, followed by the version label.\n * @default false\n */\n labelFirst?: boolean\n labelOverride?: React.ReactNode\n /**\n * @default 'pill'\n */\n labelStyle?: 'pill' | 'text'\n labelSuffix?: React.ReactNode\n latestDraftVersion?: TypeWithVersion<any>\n}> = ({\n currentlyPublishedVersion,\n disableDate = false,\n doc,\n labelFirst = false,\n labelOverride,\n labelStyle = 'pill',\n labelSuffix,\n latestDraftVersion,\n}) => {\n const {\n config: {\n admin: { dateFormat },\n localization,\n },\n } = useConfig()\n const { i18n, t } = useTranslation()\n const { code: currentLocale } = useLocale()\n\n const { label, pillStyle } = getVersionLabel({\n currentLocale,\n currentlyPublishedVersion,\n latestDraftVersion,\n t,\n version: doc,\n })\n const labelText: React.ReactNode = (\n <span>\n {labelOverride || label}\n {labelSuffix}\n </span>\n )\n\n const showDate = !disableDate && doc.updatedAt\n const formattedDate = showDate\n ? formatDate({ date: doc.updatedAt, i18n, pattern: dateFormat })\n : null\n\n const localeCode = Array.isArray(doc.publishedLocale)\n ? doc.publishedLocale[0]\n : doc.publishedLocale\n\n const locale =\n localization && localization?.locales\n ? localization.locales.find((loc) => loc.code === localeCode)\n : null\n const localeLabel = locale ? locale?.label?.[i18n?.language] || locale?.label : null\n\n return (\n <div className={baseClass}>\n {labelFirst ? (\n <React.Fragment>\n {labelStyle === 'pill' ? (\n renderPill(labelText, pillStyle)\n ) : (\n <span className={`${baseClass}-text`}>{labelText}</span>\n )}\n {showDate && <span className={`${baseClass}-date`}>{formattedDate}</span>}\n </React.Fragment>\n ) : (\n <React.Fragment>\n {showDate && <span className={`${baseClass}-date`}>{formattedDate}</span>}\n {labelStyle === 'pill' ? (\n renderPill(labelText, pillStyle)\n ) : (\n <span className={`${baseClass}-text`}>{labelText}</span>\n )}\n </React.Fragment>\n )}\n {localeLabel && <Pill size=\"small\">{localeLabel}</Pill>}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  import type { TFunction } from '@payloadcms/translations';
2
- import { type Pill } from '@payloadcms/ui';
2
+ import type { Pill } from '@payloadcms/ui';
3
3
  type Args = {
4
+ currentLocale?: string;
4
5
  currentlyPublishedVersion?: {
5
6
  id: number | string;
6
7
  publishedLocale?: string;
@@ -27,7 +28,7 @@ type Args = {
27
28
  * Gets the appropriate version label and version pill styling
28
29
  * given existing versions and the current version status.
29
30
  */
30
- export declare function getVersionLabel({ currentlyPublishedVersion, latestDraftVersion, t, version, }: Args): {
31
+ export declare function getVersionLabel({ currentLocale, currentlyPublishedVersion, latestDraftVersion, t, version, }: Args): {
31
32
  label: string;
32
33
  name: 'currentDraft' | 'currentlyPublished' | 'draft' | 'previouslyPublished' | 'published';
33
34
  pillStyle: Parameters<typeof Pill>[0]['pillStyle'];
@@ -1 +1 @@
1
- {"version":3,"file":"getVersionLabel.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/VersionPillLabel/getVersionLabel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEzD,OAAO,EAAE,KAAK,IAAI,EAAa,MAAM,gBAAgB,CAAA;AAErD,KAAK,IAAI,GAAG;IACV,yBAAyB,CAAC,EAAE;QAC1B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,SAAS,EAAE,MAAM,CAAA;QACjB,OAAO,EAAE;YACP,SAAS,EAAE,MAAM,CAAA;SAClB,CAAA;KACF,CAAA;IACD,kBAAkB,CAAC,EAAE;QACnB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;IACD,CAAC,EAAE,SAAS,CAAA;IACZ,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,OAAO,EAAE;YAAE,OAAO,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAA;KAChE,CAAA;CACF,CAAA;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAC9B,yBAAyB,EACzB,kBAAkB,EAClB,CAAC,EACD,OAAO,GACR,EAAE,IAAI,GAAG;IACR,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,cAAc,GAAG,oBAAoB,GAAG,OAAO,GAAG,qBAAqB,GAAG,WAAW,CAAA;IAC3F,SAAS,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;CACnD,CA8CA"}
1
+ {"version":3,"file":"getVersionLabel.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/VersionPillLabel/getVersionLabel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAE1C,KAAK,IAAI,GAAG;IACV,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,yBAAyB,CAAC,EAAE;QAC1B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,SAAS,EAAE,MAAM,CAAA;QACjB,OAAO,EAAE;YACP,SAAS,EAAE,MAAM,CAAA;SAClB,CAAA;KACF,CAAA;IACD,kBAAkB,CAAC,EAAE;QACnB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;IACD,CAAC,EAAE,SAAS,CAAA;IACZ,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,OAAO,EAAE;YAAE,OAAO,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAA;KAChE,CAAA;CACF,CAAA;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAC9B,aAAa,EACb,yBAAyB,EACzB,kBAAkB,EAClB,CAAC,EACD,OAAO,GACR,EAAE,IAAI,GAAG;IACR,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,cAAc,GAAG,oBAAoB,GAAG,OAAO,GAAG,qBAAqB,GAAG,WAAW,CAAA;IAC3F,SAAS,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;CACnD,CA6CA"}
@@ -1,17 +1,13 @@
1
- import { useLocale } from '@payloadcms/ui';
2
1
  /**
3
2
  * Gets the appropriate version label and version pill styling
4
3
  * given existing versions and the current version status.
5
- */
6
- export function getVersionLabel({
4
+ */export function getVersionLabel({
5
+ currentLocale,
7
6
  currentlyPublishedVersion,
8
7
  latestDraftVersion,
9
8
  t,
10
9
  version
11
10
  }) {
12
- const {
13
- code: currentLocale
14
- } = useLocale();
15
11
  const status = version.version._status;
16
12
  if (status === 'draft') {
17
13
  const publishedNewerThanDraft = currentlyPublishedVersion?.updatedAt > latestDraftVersion?.updatedAt;
@@ -1 +1 @@
1
- {"version":3,"file":"getVersionLabel.js","names":["useLocale","getVersionLabel","currentlyPublishedVersion","latestDraftVersion","t","version","code","currentLocale","status","_status","publishedNewerThanDraft","updatedAt","name","label","pillStyle","isCurrentDraft","id","publishedInAnotherLocale","publishedLocale","isCurrentlyPublished"],"sources":["../../../../src/views/Version/VersionPillLabel/getVersionLabel.ts"],"sourcesContent":["import type { TFunction } from '@payloadcms/translations'\n\nimport { type Pill, useLocale } from '@payloadcms/ui'\n\ntype Args = {\n currentlyPublishedVersion?: {\n id: number | string\n publishedLocale?: string\n updatedAt: string\n version: {\n updatedAt: string\n }\n }\n latestDraftVersion?: {\n id: number | string\n updatedAt: string\n }\n t: TFunction\n version: {\n id: number | string\n publishedLocale?: string\n version: { _status?: 'draft' | 'published'; updatedAt: string }\n }\n}\n\n/**\n * Gets the appropriate version label and version pill styling\n * given existing versions and the current version status.\n */\nexport function getVersionLabel({\n currentlyPublishedVersion,\n latestDraftVersion,\n t,\n version,\n}: Args): {\n label: string\n name: 'currentDraft' | 'currentlyPublished' | 'draft' | 'previouslyPublished' | 'published'\n pillStyle: Parameters<typeof Pill>[0]['pillStyle']\n} {\n const { code: currentLocale } = useLocale()\n const status = version.version._status\n\n if (status === 'draft') {\n const publishedNewerThanDraft =\n currentlyPublishedVersion?.updatedAt > latestDraftVersion?.updatedAt\n\n if (publishedNewerThanDraft) {\n return {\n name: 'draft',\n label: t('version:draft'),\n pillStyle: 'light',\n }\n }\n\n const isCurrentDraft = version.id === latestDraftVersion?.id\n\n return {\n name: isCurrentDraft ? 'currentDraft' : 'draft',\n label: isCurrentDraft ? t('version:currentDraft') : t('version:draft'),\n pillStyle: 'light',\n }\n }\n\n const publishedInAnotherLocale =\n status === 'published' && version.publishedLocale && currentLocale !== version.publishedLocale\n\n if (publishedInAnotherLocale) {\n return {\n name: 'currentDraft',\n label: t('version:currentDraft'),\n pillStyle: 'light',\n }\n }\n\n const isCurrentlyPublished =\n currentlyPublishedVersion && version.id === currentlyPublishedVersion.id\n\n return {\n name: isCurrentlyPublished ? 'currentlyPublished' : 'previouslyPublished',\n label: isCurrentlyPublished\n ? t('version:currentlyPublished')\n : t('version:previouslyPublished'),\n pillStyle: isCurrentlyPublished ? 'success' : 'light',\n }\n}\n"],"mappings":"AAEA,SAAoBA,SAAS,QAAQ;AAuBrC;;;;AAIA,OAAO,SAASC,gBAAgB;EAC9BC,yBAAyB;EACzBC,kBAAkB;EAClBC,CAAC;EACDC;AAAO,CACF;EAKL,MAAM;IAAEC,IAAA,EAAMC;EAAa,CAAE,GAAGP,SAAA;EAChC,MAAMQ,MAAA,GAASH,OAAA,CAAQA,OAAO,CAACI,OAAO;EAEtC,IAAID,MAAA,KAAW,SAAS;IACtB,MAAME,uBAAA,GACJR,yBAAA,EAA2BS,SAAA,GAAYR,kBAAA,EAAoBQ,SAAA;IAE7D,IAAID,uBAAA,EAAyB;MAC3B,OAAO;QACLE,IAAA,EAAM;QACNC,KAAA,EAAOT,CAAA,CAAE;QACTU,SAAA,EAAW;MACb;IACF;IAEA,MAAMC,cAAA,GAAiBV,OAAA,CAAQW,EAAE,KAAKb,kBAAA,EAAoBa,EAAA;IAE1D,OAAO;MACLJ,IAAA,EAAMG,cAAA,GAAiB,iBAAiB;MACxCF,KAAA,EAAOE,cAAA,GAAiBX,CAAA,CAAE,0BAA0BA,CAAA,CAAE;MACtDU,SAAA,EAAW;IACb;EACF;EAEA,MAAMG,wBAAA,GACJT,MAAA,KAAW,eAAeH,OAAA,CAAQa,eAAe,IAAIX,aAAA,KAAkBF,OAAA,CAAQa,eAAe;EAEhG,IAAID,wBAAA,EAA0B;IAC5B,OAAO;MACLL,IAAA,EAAM;MACNC,KAAA,EAAOT,CAAA,CAAE;MACTU,SAAA,EAAW;IACb;EACF;EAEA,MAAMK,oBAAA,GACJjB,yBAAA,IAA6BG,OAAA,CAAQW,EAAE,KAAKd,yBAAA,CAA0Bc,EAAE;EAE1E,OAAO;IACLJ,IAAA,EAAMO,oBAAA,GAAuB,uBAAuB;IACpDN,KAAA,EAAOM,oBAAA,GACHf,CAAA,CAAE,gCACFA,CAAA,CAAE;IACNU,SAAA,EAAWK,oBAAA,GAAuB,YAAY;EAChD;AACF","ignoreList":[]}
1
+ {"version":3,"file":"getVersionLabel.js","names":["getVersionLabel","currentLocale","currentlyPublishedVersion","latestDraftVersion","t","version","status","_status","publishedNewerThanDraft","updatedAt","name","label","pillStyle","isCurrentDraft","id","publishedInAnotherLocale","publishedLocale","isCurrentlyPublished"],"sources":["../../../../src/views/Version/VersionPillLabel/getVersionLabel.ts"],"sourcesContent":["import type { TFunction } from '@payloadcms/translations'\nimport type { Pill } from '@payloadcms/ui'\n\ntype Args = {\n currentLocale?: string\n currentlyPublishedVersion?: {\n id: number | string\n publishedLocale?: string\n updatedAt: string\n version: {\n updatedAt: string\n }\n }\n latestDraftVersion?: {\n id: number | string\n updatedAt: string\n }\n t: TFunction\n version: {\n id: number | string\n publishedLocale?: string\n version: { _status?: 'draft' | 'published'; updatedAt: string }\n }\n}\n\n/**\n * Gets the appropriate version label and version pill styling\n * given existing versions and the current version status.\n */\nexport function getVersionLabel({\n currentLocale,\n currentlyPublishedVersion,\n latestDraftVersion,\n t,\n version,\n}: Args): {\n label: string\n name: 'currentDraft' | 'currentlyPublished' | 'draft' | 'previouslyPublished' | 'published'\n pillStyle: Parameters<typeof Pill>[0]['pillStyle']\n} {\n const status = version.version._status\n\n if (status === 'draft') {\n const publishedNewerThanDraft =\n currentlyPublishedVersion?.updatedAt > latestDraftVersion?.updatedAt\n\n if (publishedNewerThanDraft) {\n return {\n name: 'draft',\n label: t('version:draft'),\n pillStyle: 'light',\n }\n }\n\n const isCurrentDraft = version.id === latestDraftVersion?.id\n\n return {\n name: isCurrentDraft ? 'currentDraft' : 'draft',\n label: isCurrentDraft ? t('version:currentDraft') : t('version:draft'),\n pillStyle: 'light',\n }\n }\n\n const publishedInAnotherLocale =\n status === 'published' && version.publishedLocale && currentLocale !== version.publishedLocale\n\n if (publishedInAnotherLocale) {\n return {\n name: 'currentDraft',\n label: t('version:currentDraft'),\n pillStyle: 'light',\n }\n }\n\n const isCurrentlyPublished =\n currentlyPublishedVersion && version.id === currentlyPublishedVersion.id\n\n return {\n name: isCurrentlyPublished ? 'currentlyPublished' : 'previouslyPublished',\n label: isCurrentlyPublished\n ? t('version:currentlyPublished')\n : t('version:previouslyPublished'),\n pillStyle: isCurrentlyPublished ? 'success' : 'light',\n }\n}\n"],"mappings":"AAyBA;;;GAIA,OAAO,SAASA,gBAAgB;EAC9BC,aAAa;EACbC,yBAAyB;EACzBC,kBAAkB;EAClBC,CAAC;EACDC;AAAO,CACF;EAKL,MAAMC,MAAA,GAASD,OAAA,CAAQA,OAAO,CAACE,OAAO;EAEtC,IAAID,MAAA,KAAW,SAAS;IACtB,MAAME,uBAAA,GACJN,yBAAA,EAA2BO,SAAA,GAAYN,kBAAA,EAAoBM,SAAA;IAE7D,IAAID,uBAAA,EAAyB;MAC3B,OAAO;QACLE,IAAA,EAAM;QACNC,KAAA,EAAOP,CAAA,CAAE;QACTQ,SAAA,EAAW;MACb;IACF;IAEA,MAAMC,cAAA,GAAiBR,OAAA,CAAQS,EAAE,KAAKX,kBAAA,EAAoBW,EAAA;IAE1D,OAAO;MACLJ,IAAA,EAAMG,cAAA,GAAiB,iBAAiB;MACxCF,KAAA,EAAOE,cAAA,GAAiBT,CAAA,CAAE,0BAA0BA,CAAA,CAAE;MACtDQ,SAAA,EAAW;IACb;EACF;EAEA,MAAMG,wBAAA,GACJT,MAAA,KAAW,eAAeD,OAAA,CAAQW,eAAe,IAAIf,aAAA,KAAkBI,OAAA,CAAQW,eAAe;EAEhG,IAAID,wBAAA,EAA0B;IAC5B,OAAO;MACLL,IAAA,EAAM;MACNC,KAAA,EAAOP,CAAA,CAAE;MACTQ,SAAA,EAAW;IACb;EACF;EAEA,MAAMK,oBAAA,GACJf,yBAAA,IAA6BG,OAAA,CAAQS,EAAE,KAAKZ,yBAAA,CAA0BY,EAAE;EAE1E,OAAO;IACLJ,IAAA,EAAMO,oBAAA,GAAuB,uBAAuB;IACpDN,KAAA,EAAOM,oBAAA,GACHb,CAAA,CAAE,gCACFA,CAAA,CAAE;IACNQ,SAAA,EAAWK,oBAAA,GAAuB,YAAY;EAChD;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Version/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EAKxB,MAAM,SAAS,CAAA;AAQhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,wBAAsB,WAAW,CAAC,KAAK,EAAE,uBAAuB,8BA8Z/D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Version/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EAKxB,MAAM,SAAS,CAAA;AAQhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,wBAAsB,WAAW,CAAC,KAAK,EAAE,uBAAuB,8BAoa/D"}
@@ -40,6 +40,8 @@ export async function VersionView(props) {
40
40
  const collectionSlug = collectionConfig?.slug;
41
41
  const globalSlug = globalConfig?.slug;
42
42
  const draftsEnabled = hasDraftsEnabled(collectionConfig || globalConfig);
43
+ // Resolve user's current locale for version label comparison (not 'all')
44
+ const userLocale = searchParams.locale || (req.locale !== 'all' ? req.locale : localization && localization.defaultLocale);
43
45
  const localeCodesFromParams = searchParams.localeCodes ? JSON.parse(searchParams.localeCodes) : null;
44
46
  const versionFromIDFromParams = searchParams.versionFrom;
45
47
  const modifiedOnly = searchParams.modifiedOnly === 'false' ? false : true;
@@ -309,6 +311,7 @@ export async function VersionView(props) {
309
311
  const labelSuffix = otherOptionsWithSameID?.length ? /*#__PURE__*/_jsxs("span", {
310
312
  children: [' (', otherOptionsWithSameID.map((optionWithSameID, index) => {
311
313
  const label = optionWithSameID.labelOverride || getVersionLabel({
314
+ currentLocale: userLocale,
312
315
  currentlyPublishedVersion,
313
316
  latestDraftVersion,
314
317
  t: i18n.t,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["formatDate","getClientConfig","getClientSchemaMap","getSchemaMap","notFound","hasDraftsEnabled","React","DefaultVersionView","fetchLatestVersion","fetchVersion","fetchVersions","RenderDiff","getVersionLabel","VersionPillLabel","VersionView","props","hasPublishedDoc","i18n","initPageResult","routeSegments","searchParams","collectionConfig","docID","id","globalConfig","permissions","req","payload","config","localization","user","versionToID","length","collectionSlug","slug","globalSlug","draftsEnabled","localeCodesFromParams","localeCodes","JSON","parse","versionFromIDFromParams","versionFrom","modifiedOnly","docPermissions","collections","globals","versionTo","depth","locale","overrideAccess","previousVersionResult","versionFromResult","currentlyPublishedVersion","latestDraftVersion","previousPublishedVersionResult","Promise","all","draft","limit","parentID","sort","where","and","updatedAt","less_than","resolve","status","equals","previousVersion","docs","previousPublishedVersion","selectedLocales","locales","code","find","push","filterAvailableLocales","map","schemaMap","clientSchemaMap","importMap","RenderedDiff","customDiffComponents","entitySlug","fields","fieldsPermissions","parentIndexPath","parentIsLocalized","parentPath","parentSchemaPath","versionFromSiblingData","version","versionToSiblingData","versionToCreatedAtFormatted","date","Date","pattern","admin","dateFormat","formatPill","doc","labelOverride","labelStyle","labelSuffix","_jsx","labelFirst","versionFromOptions","t","value","publishedNewerThanDraft","some","option","a","b","getTime","versionToIsVersionFrom","versionFromComparisonOptions","isVersionTo","alreadyAdded","existingOption","otherOptionsWithSameID","filter","_jsxs","optionWithSameID","index","label","Fragment","undefined","canUpdate","update","versionFromCreatedAt","createdAt","versionFromID","versionToCreatedAt","VersionToCreatedAtLabel","versionToStatus","_status"],"sources":["../../../src/views/Version/index.tsx"],"sourcesContent":["import type {\n DocumentViewServerProps,\n Locale,\n SanitizedCollectionPermission,\n SanitizedGlobalPermission,\n TypeWithVersion,\n} from 'payload'\n\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { getClientSchemaMap } from '@payloadcms/ui/utilities/getClientSchemaMap'\nimport { getSchemaMap } from '@payloadcms/ui/utilities/getSchemaMap'\nimport { notFound } from 'next/navigation.js'\nimport { hasDraftsEnabled } from 'payload/shared'\nimport React from 'react'\n\nimport type { CompareOption } from './Default/types.js'\n\nimport { DefaultVersionView } from './Default/index.js'\nimport { fetchLatestVersion, fetchVersion, fetchVersions } from './fetchVersions.js'\nimport { RenderDiff } from './RenderFieldsToDiff/index.js'\nimport { getVersionLabel } from './VersionPillLabel/getVersionLabel.js'\nimport { VersionPillLabel } from './VersionPillLabel/VersionPillLabel.js'\n\nexport async function VersionView(props: DocumentViewServerProps) {\n const { hasPublishedDoc, i18n, initPageResult, routeSegments, searchParams } = props\n\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n permissions,\n req,\n req: { payload, payload: { config, config: { localization } } = {}, user } = {},\n } = initPageResult\n\n const versionToID = routeSegments[routeSegments.length - 1]\n\n const collectionSlug = collectionConfig?.slug\n const globalSlug = globalConfig?.slug\n\n const draftsEnabled = hasDraftsEnabled(collectionConfig || globalConfig)\n\n const localeCodesFromParams = searchParams.localeCodes\n ? JSON.parse(searchParams.localeCodes as string)\n : null\n\n const versionFromIDFromParams = searchParams.versionFrom as string\n\n const modifiedOnly: boolean = searchParams.modifiedOnly === 'false' ? false : true\n\n const docPermissions: SanitizedCollectionPermission | SanitizedGlobalPermission = collectionSlug\n ? permissions.collections[collectionSlug]\n : permissions.globals[globalSlug]\n\n const versionTo = await fetchVersion<{\n _status?: string\n }>({\n id: versionToID,\n collectionSlug,\n depth: 1,\n globalSlug,\n locale: 'all',\n overrideAccess: false,\n req,\n user,\n })\n\n if (!versionTo) {\n return notFound()\n }\n\n const [\n previousVersionResult,\n versionFromResult,\n currentlyPublishedVersion,\n latestDraftVersion,\n previousPublishedVersionResult,\n ] = await Promise.all([\n // Previous version (the one before the versionTo)\n fetchVersions({\n collectionSlug,\n // If versionFromIDFromParams is provided, the previous version is only used in the version comparison dropdown => depth 0 is enough.\n // If it's not provided, this is used as `versionFrom` in the comparison, which expects populated data => depth 1 is needed.\n depth: versionFromIDFromParams ? 0 : 1,\n draft: true,\n globalSlug,\n limit: 1,\n locale: 'all',\n overrideAccess: false,\n parentID: id,\n req,\n sort: '-updatedAt',\n user,\n where: {\n and: [\n {\n updatedAt: {\n less_than: versionTo.updatedAt,\n },\n },\n ],\n },\n }),\n // Version from ID from params\n (versionFromIDFromParams\n ? fetchVersion({\n id: versionFromIDFromParams,\n collectionSlug,\n depth: 1,\n globalSlug,\n locale: 'all',\n overrideAccess: false,\n req,\n user,\n })\n : Promise.resolve(null)) as Promise<null | TypeWithVersion<object>>,\n // Currently published version - do note: currently published != latest published, as an unpublished version can be the latest published\n hasPublishedDoc\n ? fetchLatestVersion({\n collectionSlug,\n depth: 0,\n globalSlug,\n locale: req.locale,\n overrideAccess: false,\n parentID: id,\n req,\n status: 'published',\n user,\n })\n : Promise.resolve(null),\n // Latest draft version\n draftsEnabled\n ? fetchLatestVersion({\n collectionSlug,\n depth: 0,\n globalSlug,\n locale: 'all',\n overrideAccess: false,\n parentID: id,\n req,\n status: 'draft',\n user,\n })\n : Promise.resolve(null),\n // Previous published version\n // Only query for published versions if drafts are enabled (since _status field only exists with drafts)\n draftsEnabled\n ? fetchVersions({\n collectionSlug,\n depth: 0,\n draft: true,\n globalSlug,\n limit: 1,\n locale: 'all',\n overrideAccess: false,\n parentID: id,\n req,\n sort: '-updatedAt',\n user,\n where: {\n and: [\n {\n updatedAt: {\n less_than: versionTo.updatedAt,\n },\n },\n {\n 'version._status': {\n equals: 'published',\n },\n },\n ],\n },\n })\n : Promise.resolve(null),\n ])\n\n const previousVersion: null | TypeWithVersion<object> = previousVersionResult?.docs?.[0] ?? null\n\n const versionFrom =\n versionFromResult ||\n // By default, we'll compare the previous version. => versionFrom = version previous to versionTo\n previousVersion\n\n // Previous published version before the versionTo\n const previousPublishedVersion = previousPublishedVersionResult?.docs?.[0] ?? null\n\n let selectedLocales: string[] = []\n if (localization) {\n let locales: Locale[] = []\n if (localeCodesFromParams) {\n for (const code of localeCodesFromParams) {\n const locale = localization.locales.find((locale) => locale.code === code)\n if (!locale) {\n continue\n }\n locales.push(locale)\n }\n } else {\n locales = localization.locales\n }\n\n if (localization.filterAvailableLocales) {\n locales = (await localization.filterAvailableLocales({ locales, req })) || []\n }\n\n selectedLocales = locales.map((locale) => locale.code)\n }\n\n const schemaMap = getSchemaMap({\n collectionSlug,\n config,\n globalSlug,\n i18n,\n })\n\n const clientSchemaMap = getClientSchemaMap({\n collectionSlug,\n config: getClientConfig({\n config: payload.config,\n i18n,\n importMap: payload.importMap,\n user,\n }),\n globalSlug,\n i18n,\n payload,\n schemaMap,\n })\n const RenderedDiff = RenderDiff({\n clientSchemaMap,\n customDiffComponents: {},\n entitySlug: collectionSlug || globalSlug,\n fields: (collectionConfig || globalConfig)?.fields,\n fieldsPermissions: docPermissions?.fields,\n i18n,\n modifiedOnly,\n parentIndexPath: '',\n parentIsLocalized: false,\n parentPath: '',\n parentSchemaPath: '',\n req,\n selectedLocales,\n versionFromSiblingData: {\n ...versionFrom?.version,\n updatedAt: versionFrom?.updatedAt,\n },\n versionToSiblingData: {\n ...versionTo.version,\n updatedAt: versionTo.updatedAt,\n },\n })\n\n const versionToCreatedAtFormatted = versionTo.updatedAt\n ? formatDate({\n date:\n typeof versionTo.updatedAt === 'string'\n ? new Date(versionTo.updatedAt)\n : (versionTo.updatedAt as Date),\n i18n,\n pattern: config.admin.dateFormat,\n })\n : ''\n\n const formatPill = ({\n doc,\n labelOverride,\n labelStyle,\n labelSuffix,\n }: {\n doc: TypeWithVersion<any>\n labelOverride?: string\n labelStyle?: 'pill' | 'text'\n labelSuffix?: React.ReactNode\n }): React.ReactNode => {\n return (\n <VersionPillLabel\n currentlyPublishedVersion={currentlyPublishedVersion}\n doc={doc}\n key={doc.id}\n labelFirst={true}\n labelOverride={labelOverride}\n labelStyle={labelStyle ?? 'text'}\n labelSuffix={labelSuffix}\n latestDraftVersion={latestDraftVersion}\n />\n )\n }\n\n // SelectComparison Options:\n //\n // Previous version: always, unless doesn't exist. Can be the same as previously published\n // Latest draft: only if no newer published exists (latestDraftVersion)\n // Currently published: always, if exists\n // Previously published: if there is a prior published version older than versionTo\n // Specific Version: only if not already present under other label (= versionFrom)\n\n let versionFromOptions: {\n doc: TypeWithVersion<any>\n labelOverride?: string\n updatedAt: Date\n value: string\n }[] = []\n\n // Previous version\n if (previousVersion?.id) {\n versionFromOptions.push({\n doc: previousVersion,\n labelOverride: i18n.t('version:previousVersion'),\n updatedAt: new Date(previousVersion.updatedAt),\n value: previousVersion.id,\n })\n }\n\n // Latest Draft\n const publishedNewerThanDraft =\n currentlyPublishedVersion?.updatedAt > latestDraftVersion?.updatedAt\n if (latestDraftVersion && !publishedNewerThanDraft) {\n versionFromOptions.push({\n doc: latestDraftVersion,\n updatedAt: new Date(latestDraftVersion.updatedAt),\n value: latestDraftVersion.id,\n })\n }\n\n // Currently Published\n if (currentlyPublishedVersion) {\n versionFromOptions.push({\n doc: currentlyPublishedVersion,\n updatedAt: new Date(currentlyPublishedVersion.updatedAt),\n value: currentlyPublishedVersion.id,\n })\n }\n\n // Previous Published\n if (previousPublishedVersion && currentlyPublishedVersion?.id !== previousPublishedVersion.id) {\n versionFromOptions.push({\n doc: previousPublishedVersion,\n labelOverride: i18n.t('version:previouslyPublished'),\n updatedAt: new Date(previousPublishedVersion.updatedAt),\n value: previousPublishedVersion.id,\n })\n }\n\n // Specific Version\n if (versionFrom?.id && !versionFromOptions.some((option) => option.value === versionFrom.id)) {\n // Only add \"specific version\" if it is not already in the options\n versionFromOptions.push({\n doc: versionFrom,\n labelOverride: i18n.t('version:specificVersion'),\n updatedAt: new Date(versionFrom.updatedAt),\n value: versionFrom.id,\n })\n }\n\n versionFromOptions = versionFromOptions.sort((a, b) => {\n // Sort by updatedAt, newest first\n if (a && b) {\n return b.updatedAt.getTime() - a.updatedAt.getTime()\n }\n return 0\n })\n\n const versionToIsVersionFrom = versionFrom?.id === versionTo.id\n\n const versionFromComparisonOptions: CompareOption[] = []\n\n for (const option of versionFromOptions) {\n const isVersionTo = option.value === versionTo.id\n\n if (isVersionTo && !versionToIsVersionFrom) {\n // Don't offer selecting a versionFrom that is the same as versionTo, unless it's already selected\n continue\n }\n\n const alreadyAdded = versionFromComparisonOptions.some(\n (existingOption) => existingOption.value === option.value,\n )\n if (alreadyAdded) {\n continue\n }\n\n const otherOptionsWithSameID = versionFromOptions.filter(\n (existingOption) => existingOption.value === option.value && existingOption !== option,\n )\n\n // Merge options with same ID to the same option\n const labelSuffix = otherOptionsWithSameID?.length ? (\n <span key={`${option.value}-suffix`}>\n {' ('}\n {otherOptionsWithSameID.map((optionWithSameID, index) => {\n const label =\n optionWithSameID.labelOverride ||\n getVersionLabel({\n currentlyPublishedVersion,\n latestDraftVersion,\n t: i18n.t,\n version: optionWithSameID.doc,\n }).label\n\n return (\n <React.Fragment key={`${optionWithSameID.value}-${index}`}>\n {index > 0 ? ', ' : ''}\n {label}\n </React.Fragment>\n )\n })}\n {')'}\n </span>\n ) : undefined\n\n versionFromComparisonOptions.push({\n label: formatPill({\n doc: option.doc,\n labelOverride: option.labelOverride,\n labelSuffix,\n }),\n value: option.value,\n })\n }\n\n return (\n <DefaultVersionView\n canUpdate={docPermissions?.update}\n modifiedOnly={modifiedOnly}\n RenderedDiff={RenderedDiff}\n selectedLocales={selectedLocales}\n versionFromCreatedAt={versionFrom?.createdAt}\n versionFromID={versionFrom?.id}\n versionFromOptions={versionFromComparisonOptions}\n versionToCreatedAt={versionTo.createdAt}\n versionToCreatedAtFormatted={versionToCreatedAtFormatted}\n VersionToCreatedAtLabel={formatPill({ doc: versionTo, labelStyle: 'pill' })}\n versionToID={versionTo.id}\n versionToStatus={versionTo.version?._status}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["formatDate","getClientConfig","getClientSchemaMap","getSchemaMap","notFound","hasDraftsEnabled","React","DefaultVersionView","fetchLatestVersion","fetchVersion","fetchVersions","RenderDiff","getVersionLabel","VersionPillLabel","VersionView","props","hasPublishedDoc","i18n","initPageResult","routeSegments","searchParams","collectionConfig","docID","id","globalConfig","permissions","req","payload","config","localization","user","versionToID","length","collectionSlug","slug","globalSlug","draftsEnabled","userLocale","locale","defaultLocale","localeCodesFromParams","localeCodes","JSON","parse","versionFromIDFromParams","versionFrom","modifiedOnly","docPermissions","collections","globals","versionTo","depth","overrideAccess","previousVersionResult","versionFromResult","currentlyPublishedVersion","latestDraftVersion","previousPublishedVersionResult","Promise","all","draft","limit","parentID","sort","where","and","updatedAt","less_than","resolve","status","equals","previousVersion","docs","previousPublishedVersion","selectedLocales","locales","code","find","push","filterAvailableLocales","map","schemaMap","clientSchemaMap","importMap","RenderedDiff","customDiffComponents","entitySlug","fields","fieldsPermissions","parentIndexPath","parentIsLocalized","parentPath","parentSchemaPath","versionFromSiblingData","version","versionToSiblingData","versionToCreatedAtFormatted","date","Date","pattern","admin","dateFormat","formatPill","doc","labelOverride","labelStyle","labelSuffix","_jsx","labelFirst","versionFromOptions","t","value","publishedNewerThanDraft","some","option","a","b","getTime","versionToIsVersionFrom","versionFromComparisonOptions","isVersionTo","alreadyAdded","existingOption","otherOptionsWithSameID","filter","_jsxs","optionWithSameID","index","label","currentLocale","Fragment","undefined","canUpdate","update","versionFromCreatedAt","createdAt","versionFromID","versionToCreatedAt","VersionToCreatedAtLabel","versionToStatus","_status"],"sources":["../../../src/views/Version/index.tsx"],"sourcesContent":["import type {\n DocumentViewServerProps,\n Locale,\n SanitizedCollectionPermission,\n SanitizedGlobalPermission,\n TypeWithVersion,\n} from 'payload'\n\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { getClientSchemaMap } from '@payloadcms/ui/utilities/getClientSchemaMap'\nimport { getSchemaMap } from '@payloadcms/ui/utilities/getSchemaMap'\nimport { notFound } from 'next/navigation.js'\nimport { hasDraftsEnabled } from 'payload/shared'\nimport React from 'react'\n\nimport type { CompareOption } from './Default/types.js'\n\nimport { DefaultVersionView } from './Default/index.js'\nimport { fetchLatestVersion, fetchVersion, fetchVersions } from './fetchVersions.js'\nimport { RenderDiff } from './RenderFieldsToDiff/index.js'\nimport { getVersionLabel } from './VersionPillLabel/getVersionLabel.js'\nimport { VersionPillLabel } from './VersionPillLabel/VersionPillLabel.js'\n\nexport async function VersionView(props: DocumentViewServerProps) {\n const { hasPublishedDoc, i18n, initPageResult, routeSegments, searchParams } = props\n\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n permissions,\n req,\n req: { payload, payload: { config, config: { localization } } = {}, user } = {},\n } = initPageResult\n\n const versionToID = routeSegments[routeSegments.length - 1]\n\n const collectionSlug = collectionConfig?.slug\n const globalSlug = globalConfig?.slug\n\n const draftsEnabled = hasDraftsEnabled(collectionConfig || globalConfig)\n\n // Resolve user's current locale for version label comparison (not 'all')\n const userLocale =\n (searchParams.locale as string) ||\n (req.locale !== 'all' ? req.locale : localization && localization.defaultLocale)\n\n const localeCodesFromParams = searchParams.localeCodes\n ? JSON.parse(searchParams.localeCodes as string)\n : null\n\n const versionFromIDFromParams = searchParams.versionFrom as string\n\n const modifiedOnly: boolean = searchParams.modifiedOnly === 'false' ? false : true\n\n const docPermissions: SanitizedCollectionPermission | SanitizedGlobalPermission = collectionSlug\n ? permissions.collections[collectionSlug]\n : permissions.globals[globalSlug]\n\n const versionTo = await fetchVersion<{\n _status?: string\n }>({\n id: versionToID,\n collectionSlug,\n depth: 1,\n globalSlug,\n locale: 'all',\n overrideAccess: false,\n req,\n user,\n })\n\n if (!versionTo) {\n return notFound()\n }\n\n const [\n previousVersionResult,\n versionFromResult,\n currentlyPublishedVersion,\n latestDraftVersion,\n previousPublishedVersionResult,\n ] = await Promise.all([\n // Previous version (the one before the versionTo)\n fetchVersions({\n collectionSlug,\n // If versionFromIDFromParams is provided, the previous version is only used in the version comparison dropdown => depth 0 is enough.\n // If it's not provided, this is used as `versionFrom` in the comparison, which expects populated data => depth 1 is needed.\n depth: versionFromIDFromParams ? 0 : 1,\n draft: true,\n globalSlug,\n limit: 1,\n locale: 'all',\n overrideAccess: false,\n parentID: id,\n req,\n sort: '-updatedAt',\n user,\n where: {\n and: [\n {\n updatedAt: {\n less_than: versionTo.updatedAt,\n },\n },\n ],\n },\n }),\n // Version from ID from params\n (versionFromIDFromParams\n ? fetchVersion({\n id: versionFromIDFromParams,\n collectionSlug,\n depth: 1,\n globalSlug,\n locale: 'all',\n overrideAccess: false,\n req,\n user,\n })\n : Promise.resolve(null)) as Promise<null | TypeWithVersion<object>>,\n // Currently published version - do note: currently published != latest published, as an unpublished version can be the latest published\n hasPublishedDoc\n ? fetchLatestVersion({\n collectionSlug,\n depth: 0,\n globalSlug,\n locale: req.locale,\n overrideAccess: false,\n parentID: id,\n req,\n status: 'published',\n user,\n })\n : Promise.resolve(null),\n // Latest draft version\n draftsEnabled\n ? fetchLatestVersion({\n collectionSlug,\n depth: 0,\n globalSlug,\n locale: 'all',\n overrideAccess: false,\n parentID: id,\n req,\n status: 'draft',\n user,\n })\n : Promise.resolve(null),\n // Previous published version\n // Only query for published versions if drafts are enabled (since _status field only exists with drafts)\n draftsEnabled\n ? fetchVersions({\n collectionSlug,\n depth: 0,\n draft: true,\n globalSlug,\n limit: 1,\n locale: 'all',\n overrideAccess: false,\n parentID: id,\n req,\n sort: '-updatedAt',\n user,\n where: {\n and: [\n {\n updatedAt: {\n less_than: versionTo.updatedAt,\n },\n },\n {\n 'version._status': {\n equals: 'published',\n },\n },\n ],\n },\n })\n : Promise.resolve(null),\n ])\n\n const previousVersion: null | TypeWithVersion<object> = previousVersionResult?.docs?.[0] ?? null\n\n const versionFrom =\n versionFromResult ||\n // By default, we'll compare the previous version. => versionFrom = version previous to versionTo\n previousVersion\n\n // Previous published version before the versionTo\n const previousPublishedVersion = previousPublishedVersionResult?.docs?.[0] ?? null\n\n let selectedLocales: string[] = []\n if (localization) {\n let locales: Locale[] = []\n if (localeCodesFromParams) {\n for (const code of localeCodesFromParams) {\n const locale = localization.locales.find((locale) => locale.code === code)\n if (!locale) {\n continue\n }\n locales.push(locale)\n }\n } else {\n locales = localization.locales\n }\n\n if (localization.filterAvailableLocales) {\n locales = (await localization.filterAvailableLocales({ locales, req })) || []\n }\n\n selectedLocales = locales.map((locale) => locale.code)\n }\n\n const schemaMap = getSchemaMap({\n collectionSlug,\n config,\n globalSlug,\n i18n,\n })\n\n const clientSchemaMap = getClientSchemaMap({\n collectionSlug,\n config: getClientConfig({\n config: payload.config,\n i18n,\n importMap: payload.importMap,\n user,\n }),\n globalSlug,\n i18n,\n payload,\n schemaMap,\n })\n const RenderedDiff = RenderDiff({\n clientSchemaMap,\n customDiffComponents: {},\n entitySlug: collectionSlug || globalSlug,\n fields: (collectionConfig || globalConfig)?.fields,\n fieldsPermissions: docPermissions?.fields,\n i18n,\n modifiedOnly,\n parentIndexPath: '',\n parentIsLocalized: false,\n parentPath: '',\n parentSchemaPath: '',\n req,\n selectedLocales,\n versionFromSiblingData: {\n ...versionFrom?.version,\n updatedAt: versionFrom?.updatedAt,\n },\n versionToSiblingData: {\n ...versionTo.version,\n updatedAt: versionTo.updatedAt,\n },\n })\n\n const versionToCreatedAtFormatted = versionTo.updatedAt\n ? formatDate({\n date:\n typeof versionTo.updatedAt === 'string'\n ? new Date(versionTo.updatedAt)\n : (versionTo.updatedAt as Date),\n i18n,\n pattern: config.admin.dateFormat,\n })\n : ''\n\n const formatPill = ({\n doc,\n labelOverride,\n labelStyle,\n labelSuffix,\n }: {\n doc: TypeWithVersion<any>\n labelOverride?: string\n labelStyle?: 'pill' | 'text'\n labelSuffix?: React.ReactNode\n }): React.ReactNode => {\n return (\n <VersionPillLabel\n currentlyPublishedVersion={currentlyPublishedVersion}\n doc={doc}\n key={doc.id}\n labelFirst={true}\n labelOverride={labelOverride}\n labelStyle={labelStyle ?? 'text'}\n labelSuffix={labelSuffix}\n latestDraftVersion={latestDraftVersion}\n />\n )\n }\n\n // SelectComparison Options:\n //\n // Previous version: always, unless doesn't exist. Can be the same as previously published\n // Latest draft: only if no newer published exists (latestDraftVersion)\n // Currently published: always, if exists\n // Previously published: if there is a prior published version older than versionTo\n // Specific Version: only if not already present under other label (= versionFrom)\n\n let versionFromOptions: {\n doc: TypeWithVersion<any>\n labelOverride?: string\n updatedAt: Date\n value: string\n }[] = []\n\n // Previous version\n if (previousVersion?.id) {\n versionFromOptions.push({\n doc: previousVersion,\n labelOverride: i18n.t('version:previousVersion'),\n updatedAt: new Date(previousVersion.updatedAt),\n value: previousVersion.id,\n })\n }\n\n // Latest Draft\n const publishedNewerThanDraft =\n currentlyPublishedVersion?.updatedAt > latestDraftVersion?.updatedAt\n if (latestDraftVersion && !publishedNewerThanDraft) {\n versionFromOptions.push({\n doc: latestDraftVersion,\n updatedAt: new Date(latestDraftVersion.updatedAt),\n value: latestDraftVersion.id,\n })\n }\n\n // Currently Published\n if (currentlyPublishedVersion) {\n versionFromOptions.push({\n doc: currentlyPublishedVersion,\n updatedAt: new Date(currentlyPublishedVersion.updatedAt),\n value: currentlyPublishedVersion.id,\n })\n }\n\n // Previous Published\n if (previousPublishedVersion && currentlyPublishedVersion?.id !== previousPublishedVersion.id) {\n versionFromOptions.push({\n doc: previousPublishedVersion,\n labelOverride: i18n.t('version:previouslyPublished'),\n updatedAt: new Date(previousPublishedVersion.updatedAt),\n value: previousPublishedVersion.id,\n })\n }\n\n // Specific Version\n if (versionFrom?.id && !versionFromOptions.some((option) => option.value === versionFrom.id)) {\n // Only add \"specific version\" if it is not already in the options\n versionFromOptions.push({\n doc: versionFrom,\n labelOverride: i18n.t('version:specificVersion'),\n updatedAt: new Date(versionFrom.updatedAt),\n value: versionFrom.id,\n })\n }\n\n versionFromOptions = versionFromOptions.sort((a, b) => {\n // Sort by updatedAt, newest first\n if (a && b) {\n return b.updatedAt.getTime() - a.updatedAt.getTime()\n }\n return 0\n })\n\n const versionToIsVersionFrom = versionFrom?.id === versionTo.id\n\n const versionFromComparisonOptions: CompareOption[] = []\n\n for (const option of versionFromOptions) {\n const isVersionTo = option.value === versionTo.id\n\n if (isVersionTo && !versionToIsVersionFrom) {\n // Don't offer selecting a versionFrom that is the same as versionTo, unless it's already selected\n continue\n }\n\n const alreadyAdded = versionFromComparisonOptions.some(\n (existingOption) => existingOption.value === option.value,\n )\n if (alreadyAdded) {\n continue\n }\n\n const otherOptionsWithSameID = versionFromOptions.filter(\n (existingOption) => existingOption.value === option.value && existingOption !== option,\n )\n\n // Merge options with same ID to the same option\n const labelSuffix = otherOptionsWithSameID?.length ? (\n <span key={`${option.value}-suffix`}>\n {' ('}\n {otherOptionsWithSameID.map((optionWithSameID, index) => {\n const label =\n optionWithSameID.labelOverride ||\n getVersionLabel({\n currentLocale: userLocale,\n currentlyPublishedVersion,\n latestDraftVersion,\n t: i18n.t,\n version: optionWithSameID.doc,\n }).label\n\n return (\n <React.Fragment key={`${optionWithSameID.value}-${index}`}>\n {index > 0 ? ', ' : ''}\n {label}\n </React.Fragment>\n )\n })}\n {')'}\n </span>\n ) : undefined\n\n versionFromComparisonOptions.push({\n label: formatPill({\n doc: option.doc,\n labelOverride: option.labelOverride,\n labelSuffix,\n }),\n value: option.value,\n })\n }\n\n return (\n <DefaultVersionView\n canUpdate={docPermissions?.update}\n modifiedOnly={modifiedOnly}\n RenderedDiff={RenderedDiff}\n selectedLocales={selectedLocales}\n versionFromCreatedAt={versionFrom?.createdAt}\n versionFromID={versionFrom?.id}\n versionFromOptions={versionFromComparisonOptions}\n versionToCreatedAt={versionTo.createdAt}\n versionToCreatedAtFormatted={versionToCreatedAtFormatted}\n VersionToCreatedAtLabel={formatPill({ doc: versionTo, labelStyle: 'pill' })}\n versionToID={versionTo.id}\n versionToStatus={versionTo.version?._status}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}