@payloadcms/next 3.50.0-canary.3 → 3.50.0-canary.4

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.
@@ -1,5 +1,5 @@
1
1
  import type { ClientConfig, Column, ListQuery, PaginatedDocs, PayloadRequest, SanitizedCollectionConfig, Where } from 'payload';
2
- export declare const handleGroupBy: ({ clientConfig, collectionConfig, collectionSlug, columns, customCellProps, drawerSlug, enableRowSelections, query, req, user, where: whereWithMergedSearch, }: {
2
+ export declare const handleGroupBy: ({ clientConfig, collectionConfig, collectionSlug, columns, customCellProps, drawerSlug, enableRowSelections, query, req, trash, user, where: whereWithMergedSearch, }: {
3
3
  clientConfig: ClientConfig;
4
4
  collectionConfig: SanitizedCollectionConfig;
5
5
  collectionSlug: string;
@@ -9,6 +9,7 @@ export declare const handleGroupBy: ({ clientConfig, collectionConfig, collectio
9
9
  enableRowSelections?: boolean;
10
10
  query?: ListQuery;
11
11
  req: PayloadRequest;
12
+ trash?: boolean;
12
13
  user: any;
13
14
  where: Where;
14
15
  }) => Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"handleGroupBy.d.ts","sourceRoot":"","sources":["../../../src/views/List/handleGroupBy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,MAAM,EACN,SAAS,EACT,aAAa,EACb,cAAc,EACd,yBAAyB,EACzB,KAAK,EACN,MAAM,SAAS,CAAA;AAMhB,eAAO,MAAM,aAAa,mKAYvB;IACD,YAAY,EAAE,YAAY,CAAA;IAC1B,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,GAAG,EAAE,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,GAAG,EAAE,cAAc,CAAA;IACnB,IAAI,EAAE,GAAG,CAAA;IACT,KAAK,EAAE,KAAK,CAAA;CACb,KAAG,OAAO,CAAC;IACV,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,IAAI,EAAE,aAAa,CAAA;IACnB,KAAK,EAAE,IAAI,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,CAAA;CAClD,CA4JA,CAAA"}
1
+ {"version":3,"file":"handleGroupBy.d.ts","sourceRoot":"","sources":["../../../src/views/List/handleGroupBy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,MAAM,EACN,SAAS,EACT,aAAa,EACb,cAAc,EACd,yBAAyB,EACzB,KAAK,EACN,MAAM,SAAS,CAAA;AAMhB,eAAO,MAAM,aAAa,0KAavB;IACD,YAAY,EAAE,YAAY,CAAA;IAC1B,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,GAAG,EAAE,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,GAAG,EAAE,cAAc,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,GAAG,CAAA;IACT,KAAK,EAAE,KAAK,CAAA;CACb,KAAG,OAAO,CAAC;IACV,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,IAAI,EAAE,aAAa,CAAA;IACnB,KAAK,EAAE,IAAI,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,CAAA;CAClD,CA8JA,CAAA"}
@@ -11,6 +11,7 @@ export const handleGroupBy = async ({
11
11
  enableRowSelections,
12
12
  query,
13
13
  req,
14
+ trash = false,
14
15
  user,
15
16
  where: whereWithMergedSearch
16
17
  }) => {
@@ -50,6 +51,7 @@ export const handleGroupBy = async ({
50
51
  populate,
51
52
  req,
52
53
  sort: query?.groupBy,
54
+ trash,
53
55
  where: whereWithMergedSearch
54
56
  });
55
57
  const data = {
@@ -74,6 +76,7 @@ export const handleGroupBy = async ({
74
76
  // Note: if we wanted to enable table-by-table sorting, we could use this:
75
77
  // sort: query?.queryByGroup?.[valueOrRelationshipID]?.sort,
76
78
  sort: query?.sort,
79
+ trash,
77
80
  user,
78
81
  where: {
79
82
  ...(whereWithMergedSearch || {}),
@@ -1 +1 @@
1
- {"version":3,"file":"handleGroupBy.js","names":["renderTable","formatDate","flattenAllFields","handleGroupBy","clientConfig","collectionConfig","collectionSlug","columns","customCellProps","drawerSlug","enableRowSelections","query","req","user","where","whereWithMergedSearch","Table","columnState","dataByGroup","clientCollectionConfig","collections","find","c","slug","flattenedFields","fields","groupByFieldPath","groupBy","replace","groupByField","f","name","relationshipConfig","type","relationTo","undefined","populate","Array","isArray","forEach","rel","admin","useAsTitle","distinct","payload","findDistinct","collection","depth","field","limit","Number","locale","overrideAccess","page","sort","data","docs","values","map","Promise","all","distinctValue","i","potentiallyPopulatedRelationship","valueOrRelationshipID","id","groupData","draft","fallbackLocale","includeLockStatus","queryByGroup","equals","heading","i18n","t","date","String","pattern","dateFormat","length","newColumnState","NewTable","groupByValue","key","orderableFieldName","orderable"],"sources":["../../../src/views/List/handleGroupBy.ts"],"sourcesContent":["import type {\n ClientConfig,\n Column,\n ListQuery,\n PaginatedDocs,\n PayloadRequest,\n SanitizedCollectionConfig,\n Where,\n} from 'payload'\n\nimport { renderTable } from '@payloadcms/ui/rsc'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { flattenAllFields } from 'payload'\n\nexport const handleGroupBy = async ({\n clientConfig,\n collectionConfig,\n collectionSlug,\n columns,\n customCellProps,\n drawerSlug,\n enableRowSelections,\n query,\n req,\n user,\n where: whereWithMergedSearch,\n}: {\n clientConfig: ClientConfig\n collectionConfig: SanitizedCollectionConfig\n collectionSlug: string\n columns: any[]\n customCellProps?: Record<string, any>\n drawerSlug?: string\n enableRowSelections?: boolean\n query?: ListQuery\n req: PayloadRequest\n user: any\n where: Where\n}): Promise<{\n columnState: Column[]\n data: PaginatedDocs\n Table: null | React.ReactNode | React.ReactNode[]\n}> => {\n let Table: React.ReactNode | React.ReactNode[] = null\n let columnState: Column[]\n\n const dataByGroup: Record<string, PaginatedDocs> = {}\n const clientCollectionConfig = clientConfig.collections.find((c) => c.slug === collectionSlug)\n\n // NOTE: is there a faster/better way to do this?\n const flattenedFields = flattenAllFields({ fields: collectionConfig.fields })\n\n const groupByFieldPath = query.groupBy.replace(/^-/, '')\n\n const groupByField = flattenedFields.find((f) => f.name === groupByFieldPath)\n\n const relationshipConfig =\n groupByField?.type === 'relationship'\n ? clientConfig.collections.find((c) => c.slug === groupByField.relationTo)\n : undefined\n\n let populate\n\n if (groupByField?.type === 'relationship' && groupByField.relationTo) {\n const relationTo =\n typeof groupByField.relationTo === 'string'\n ? [groupByField.relationTo]\n : groupByField.relationTo\n\n if (Array.isArray(relationTo)) {\n relationTo.forEach((rel) => {\n if (!populate) {\n populate = {}\n }\n populate[rel] = { [relationshipConfig?.admin.useAsTitle || 'id']: true }\n })\n }\n }\n\n const distinct = await req.payload.findDistinct({\n collection: collectionSlug,\n depth: 1,\n field: groupByFieldPath,\n limit: query?.limit ? Number(query.limit) : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.page ? Number(query.page) : undefined,\n populate,\n req,\n sort: query?.groupBy,\n where: whereWithMergedSearch,\n })\n\n const data = {\n ...distinct,\n docs: distinct.values?.map(() => ({})) || [],\n values: undefined,\n }\n\n await Promise.all(\n distinct.values.map(async (distinctValue, i) => {\n const potentiallyPopulatedRelationship = distinctValue[groupByFieldPath]\n\n const valueOrRelationshipID =\n groupByField?.type === 'relationship' &&\n potentiallyPopulatedRelationship &&\n typeof potentiallyPopulatedRelationship === 'object' &&\n 'id' in potentiallyPopulatedRelationship\n ? potentiallyPopulatedRelationship.id\n : potentiallyPopulatedRelationship\n\n const groupData = await req.payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit: query?.queryByGroup?.[valueOrRelationshipID]?.limit\n ? Number(query.queryByGroup[valueOrRelationshipID].limit)\n : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.queryByGroup?.[valueOrRelationshipID]?.page\n ? Number(query.queryByGroup[valueOrRelationshipID].page)\n : undefined,\n req,\n // Note: if we wanted to enable table-by-table sorting, we could use this:\n // sort: query?.queryByGroup?.[valueOrRelationshipID]?.sort,\n sort: query?.sort,\n user,\n where: {\n ...(whereWithMergedSearch || {}),\n [groupByFieldPath]: {\n equals: valueOrRelationshipID,\n },\n },\n })\n\n let heading = valueOrRelationshipID || req.i18n.t('general:noValue')\n\n if (\n groupByField?.type === 'relationship' &&\n typeof potentiallyPopulatedRelationship === 'object'\n ) {\n heading =\n potentiallyPopulatedRelationship[relationshipConfig.admin.useAsTitle || 'id'] ||\n valueOrRelationshipID\n }\n\n if (groupByField.type === 'date') {\n heading = formatDate({\n date: String(heading),\n i18n: req.i18n,\n pattern: clientConfig.admin.dateFormat,\n })\n }\n\n if (groupData.docs && groupData.docs.length > 0) {\n const { columnState: newColumnState, Table: NewTable } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columns,\n customCellProps,\n data: groupData,\n drawerSlug,\n enableRowSelections,\n groupByFieldPath,\n groupByValue: valueOrRelationshipID,\n heading,\n i18n: req.i18n,\n key: `table-${valueOrRelationshipID}`,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload: req.payload,\n query,\n useAsTitle: collectionConfig.admin.useAsTitle,\n })\n\n // Only need to set `columnState` once, using the first table's column state\n // This will avoid needing to generate column state explicitly for root context that wraps all tables\n if (!columnState) {\n columnState = newColumnState\n }\n\n if (!Table) {\n Table = []\n }\n\n dataByGroup[valueOrRelationshipID] = groupData\n ;(Table as Array<React.ReactNode>)[i] = NewTable\n }\n }),\n )\n\n return {\n columnState,\n data,\n Table,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"handleGroupBy.js","names":["renderTable","formatDate","flattenAllFields","handleGroupBy","clientConfig","collectionConfig","collectionSlug","columns","customCellProps","drawerSlug","enableRowSelections","query","req","trash","user","where","whereWithMergedSearch","Table","columnState","dataByGroup","clientCollectionConfig","collections","find","c","slug","flattenedFields","fields","groupByFieldPath","groupBy","replace","groupByField","f","name","relationshipConfig","type","relationTo","undefined","populate","Array","isArray","forEach","rel","admin","useAsTitle","distinct","payload","findDistinct","collection","depth","field","limit","Number","locale","overrideAccess","page","sort","data","docs","values","map","Promise","all","distinctValue","i","potentiallyPopulatedRelationship","valueOrRelationshipID","id","groupData","draft","fallbackLocale","includeLockStatus","queryByGroup","equals","heading","i18n","t","date","String","pattern","dateFormat","length","newColumnState","NewTable","groupByValue","key","orderableFieldName","orderable"],"sources":["../../../src/views/List/handleGroupBy.ts"],"sourcesContent":["import type {\n ClientConfig,\n Column,\n ListQuery,\n PaginatedDocs,\n PayloadRequest,\n SanitizedCollectionConfig,\n Where,\n} from 'payload'\n\nimport { renderTable } from '@payloadcms/ui/rsc'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { flattenAllFields } from 'payload'\n\nexport const handleGroupBy = async ({\n clientConfig,\n collectionConfig,\n collectionSlug,\n columns,\n customCellProps,\n drawerSlug,\n enableRowSelections,\n query,\n req,\n trash = false,\n user,\n where: whereWithMergedSearch,\n}: {\n clientConfig: ClientConfig\n collectionConfig: SanitizedCollectionConfig\n collectionSlug: string\n columns: any[]\n customCellProps?: Record<string, any>\n drawerSlug?: string\n enableRowSelections?: boolean\n query?: ListQuery\n req: PayloadRequest\n trash?: boolean\n user: any\n where: Where\n}): Promise<{\n columnState: Column[]\n data: PaginatedDocs\n Table: null | React.ReactNode | React.ReactNode[]\n}> => {\n let Table: React.ReactNode | React.ReactNode[] = null\n let columnState: Column[]\n\n const dataByGroup: Record<string, PaginatedDocs> = {}\n const clientCollectionConfig = clientConfig.collections.find((c) => c.slug === collectionSlug)\n\n // NOTE: is there a faster/better way to do this?\n const flattenedFields = flattenAllFields({ fields: collectionConfig.fields })\n\n const groupByFieldPath = query.groupBy.replace(/^-/, '')\n\n const groupByField = flattenedFields.find((f) => f.name === groupByFieldPath)\n\n const relationshipConfig =\n groupByField?.type === 'relationship'\n ? clientConfig.collections.find((c) => c.slug === groupByField.relationTo)\n : undefined\n\n let populate\n\n if (groupByField?.type === 'relationship' && groupByField.relationTo) {\n const relationTo =\n typeof groupByField.relationTo === 'string'\n ? [groupByField.relationTo]\n : groupByField.relationTo\n\n if (Array.isArray(relationTo)) {\n relationTo.forEach((rel) => {\n if (!populate) {\n populate = {}\n }\n populate[rel] = { [relationshipConfig?.admin.useAsTitle || 'id']: true }\n })\n }\n }\n\n const distinct = await req.payload.findDistinct({\n collection: collectionSlug,\n depth: 1,\n field: groupByFieldPath,\n limit: query?.limit ? Number(query.limit) : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.page ? Number(query.page) : undefined,\n populate,\n req,\n sort: query?.groupBy,\n trash,\n where: whereWithMergedSearch,\n })\n\n const data = {\n ...distinct,\n docs: distinct.values?.map(() => ({})) || [],\n values: undefined,\n }\n\n await Promise.all(\n distinct.values.map(async (distinctValue, i) => {\n const potentiallyPopulatedRelationship = distinctValue[groupByFieldPath]\n\n const valueOrRelationshipID =\n groupByField?.type === 'relationship' &&\n potentiallyPopulatedRelationship &&\n typeof potentiallyPopulatedRelationship === 'object' &&\n 'id' in potentiallyPopulatedRelationship\n ? potentiallyPopulatedRelationship.id\n : potentiallyPopulatedRelationship\n\n const groupData = await req.payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit: query?.queryByGroup?.[valueOrRelationshipID]?.limit\n ? Number(query.queryByGroup[valueOrRelationshipID].limit)\n : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.queryByGroup?.[valueOrRelationshipID]?.page\n ? Number(query.queryByGroup[valueOrRelationshipID].page)\n : undefined,\n req,\n // Note: if we wanted to enable table-by-table sorting, we could use this:\n // sort: query?.queryByGroup?.[valueOrRelationshipID]?.sort,\n sort: query?.sort,\n trash,\n user,\n where: {\n ...(whereWithMergedSearch || {}),\n [groupByFieldPath]: {\n equals: valueOrRelationshipID,\n },\n },\n })\n\n let heading = valueOrRelationshipID || req.i18n.t('general:noValue')\n\n if (\n groupByField?.type === 'relationship' &&\n typeof potentiallyPopulatedRelationship === 'object'\n ) {\n heading =\n potentiallyPopulatedRelationship[relationshipConfig.admin.useAsTitle || 'id'] ||\n valueOrRelationshipID\n }\n\n if (groupByField.type === 'date') {\n heading = formatDate({\n date: String(heading),\n i18n: req.i18n,\n pattern: clientConfig.admin.dateFormat,\n })\n }\n\n if (groupData.docs && groupData.docs.length > 0) {\n const { columnState: newColumnState, Table: NewTable } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columns,\n customCellProps,\n data: groupData,\n drawerSlug,\n enableRowSelections,\n groupByFieldPath,\n groupByValue: valueOrRelationshipID,\n heading,\n i18n: req.i18n,\n key: `table-${valueOrRelationshipID}`,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload: req.payload,\n query,\n useAsTitle: collectionConfig.admin.useAsTitle,\n })\n\n // Only need to set `columnState` once, using the first table's column state\n // This will avoid needing to generate column state explicitly for root context that wraps all tables\n if (!columnState) {\n columnState = newColumnState\n }\n\n if (!Table) {\n Table = []\n }\n\n dataByGroup[valueOrRelationshipID] = groupData\n ;(Table as Array<React.ReactNode>)[i] = NewTable\n }\n }),\n )\n\n return {\n columnState,\n data,\n Table,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAIpB,SAAS,EAMV,MAAM,SAAS,CAAA;AAchB,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,KAAK,kBAAkB,GAAG;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,EAAE,SAAS,CAAA;IAChB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC,GAAG,oBAAoB,CAAA;AAExB;;;;;GAKG;AACH,eAAO,MAAM,cAAc,SACnB,kBAAkB,KACvB,OAAO,CAAC;IACT,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;CACtB,CAqTA,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAWjD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAIpB,SAAS,EAMV,MAAM,SAAS,CAAA;AAchB,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,KAAK,kBAAkB,GAAG;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,EAAE,SAAS,CAAA;IAChB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC,GAAG,oBAAoB,CAAA;AAExB;;;;;GAKG;AACH,eAAO,MAAM,cAAc,SACnB,kBAAkB,KACvB,OAAO,CAAC;IACT,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;CACtB,CAmSA,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAWjD,CAAA"}
@@ -91,20 +91,6 @@ export const renderListView = async args => {
91
91
  sort: query.sort
92
92
  });
93
93
  }
94
- let whereCondition = mergeListSearchAndWhere({
95
- collectionConfig,
96
- search: typeof query?.search === 'string' ? query.search : undefined,
97
- where: combineWhereConstraints([query?.where, baseListFilter])
98
- });
99
- if (query?.trash === true) {
100
- whereCondition = {
101
- and: [whereCondition, {
102
- deletedAt: {
103
- exists: true
104
- }
105
- }]
106
- };
107
- }
108
94
  let queryPreset;
109
95
  let queryPresetPermissions;
110
96
  let whereWithMergedSearch = mergeListSearchAndWhere({
@@ -162,6 +148,7 @@ export const renderListView = async args => {
162
148
  enableRowSelections,
163
149
  query,
164
150
  req,
151
+ trash: query?.trash === true,
165
152
  user,
166
153
  where: whereWithMergedSearch
167
154
  }));
@@ -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","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","baseListFilter","whereCondition","search","where","trash","and","deletedAt","exists","queryPreset","queryPresetPermissions","whereWithMergedSearch","findByID","id","collection","depth","overrideAccess","find","c","data","then","docPermissions","err","logger","error","Table","columnState","draft","fallbackLocale","includeLockStatus","clientCollectionConfig","orderableFieldName","orderable","useAsTitle","renderedFilters","fields","importMap","resolvedFilterOptions","staticDescription","description","t","newDocumentURL","path","hasCreatePermission","create","hasDeletePermission","delete","notFoundDocId","serverProps","listPreferences","listSearchableFields","listViewSlots","clientProps","isInDrawer","Boolean","stringify","List","_jsxs","_jsx","modifySearchParams","Component","components","views","list","Fallback","ListView","RenderedList","message","console"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n Column,\n ColumnPreference,\n ListQuery,\n ListViewClientProps,\n ListViewServerPropsOnly,\n PaginatedDocs,\n QueryPreset,\n SanitizedCollectionPermission,\n} from 'payload'\n\nimport { DefaultListView, HydrateAuthProvider, ListQueryProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { renderFilters, renderTable, upsertPreferences } from '@payloadcms/ui/rsc'\nimport { notFound } from 'next/navigation.js'\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} & 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 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 let baseListFilter = undefined\n\n if (typeof collectionConfig.admin?.baseListFilter === 'function') {\n baseListFilter = await collectionConfig.admin.baseListFilter({\n limit: query.limit,\n page: query.page,\n req,\n sort: query.sort,\n })\n }\n\n let whereCondition = mergeListSearchAndWhere({\n collectionConfig,\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: combineWhereConstraints([query?.where, baseListFilter]),\n })\n\n if (query?.trash === true) {\n whereCondition = {\n and: [\n whereCondition,\n {\n deletedAt: {\n exists: true,\n },\n },\n ],\n }\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, baseListFilter]),\n })\n\n if (query?.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 data: PaginatedDocs | undefined\n let Table: React.ReactNode | React.ReactNode[] = null\n let columnState: Column[] = []\n\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 user,\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: query?.trash === true,\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\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","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","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","baseListFilter","queryPreset","queryPresetPermissions","whereWithMergedSearch","search","where","trash","and","deletedAt","exists","findByID","id","collection","depth","overrideAccess","find","c","data","then","docPermissions","err","logger","error","Table","columnState","draft","fallbackLocale","includeLockStatus","clientCollectionConfig","orderableFieldName","orderable","useAsTitle","renderedFilters","fields","importMap","resolvedFilterOptions","staticDescription","description","t","newDocumentURL","path","hasCreatePermission","create","hasDeletePermission","delete","notFoundDocId","serverProps","listPreferences","listSearchableFields","listViewSlots","clientProps","isInDrawer","Boolean","stringify","List","_jsxs","_jsx","modifySearchParams","Component","components","views","list","Fallback","ListView","RenderedList","message","console"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n Column,\n ColumnPreference,\n ListQuery,\n ListViewClientProps,\n ListViewServerPropsOnly,\n PaginatedDocs,\n QueryPreset,\n SanitizedCollectionPermission,\n} from 'payload'\n\nimport { DefaultListView, HydrateAuthProvider, ListQueryProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { renderFilters, renderTable, upsertPreferences } from '@payloadcms/ui/rsc'\nimport { notFound } from 'next/navigation.js'\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} & 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 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 let baseListFilter = undefined\n\n if (typeof collectionConfig.admin?.baseListFilter === 'function') {\n baseListFilter = await collectionConfig.admin.baseListFilter({\n limit: query.limit,\n page: query.page,\n req,\n sort: query.sort,\n })\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, baseListFilter]),\n })\n\n if (query?.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 data: PaginatedDocs | undefined\n let Table: React.ReactNode | React.ReactNode[] = null\n let columnState: Column[] = []\n\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: query?.trash === true,\n user,\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: query?.trash === true,\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\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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/next",
3
- "version": "3.50.0-canary.3",
3
+ "version": "3.50.0-canary.4",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -87,9 +87,9 @@
87
87
  "qs-esm": "7.0.2",
88
88
  "sass": "1.77.4",
89
89
  "uuid": "10.0.0",
90
- "@payloadcms/graphql": "3.50.0-canary.3",
91
- "@payloadcms/ui": "3.50.0-canary.3",
92
- "@payloadcms/translations": "3.50.0-canary.3"
90
+ "@payloadcms/translations": "3.50.0-canary.4",
91
+ "@payloadcms/graphql": "3.50.0-canary.4",
92
+ "@payloadcms/ui": "3.50.0-canary.4"
93
93
  },
94
94
  "devDependencies": {
95
95
  "@babel/cli": "7.27.2",
@@ -97,22 +97,22 @@
97
97
  "@babel/preset-env": "7.27.2",
98
98
  "@babel/preset-react": "7.27.1",
99
99
  "@babel/preset-typescript": "7.27.1",
100
- "@next/eslint-plugin-next": "15.3.2",
100
+ "@next/eslint-plugin-next": "15.4.4",
101
101
  "@types/busboy": "1.5.4",
102
- "@types/react": "19.1.0",
103
- "@types/react-dom": "19.1.2",
102
+ "@types/react": "19.1.8",
103
+ "@types/react-dom": "19.1.6",
104
104
  "@types/uuid": "10.0.0",
105
105
  "babel-plugin-react-compiler": "19.1.0-rc.2",
106
106
  "esbuild": "0.25.5",
107
107
  "esbuild-sass-plugin": "3.3.1",
108
108
  "swc-plugin-transform-remove-imports": "4.0.4",
109
- "@payloadcms/eslint-config": "3.28.0",
110
- "payload": "3.50.0-canary.3"
109
+ "payload": "3.50.0-canary.4",
110
+ "@payloadcms/eslint-config": "3.28.0"
111
111
  },
112
112
  "peerDependencies": {
113
113
  "graphql": "^16.8.1",
114
114
  "next": "^15.2.3",
115
- "payload": "3.50.0-canary.3"
115
+ "payload": "3.50.0-canary.4"
116
116
  },
117
117
  "engines": {
118
118
  "node": "^18.20.2 || >=20.9.0"