@payloadcms/ui 3.81.0-internal.181753b → 3.82.0-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"copyDataFromLocale.d.ts","sourceRoot":"","sources":["../../src/utilities/copyDataFromLocale.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,cAAc,EAInB,KAAK,cAAc,EACnB,KAAK,cAAc,EAEpB,MAAM,SAAS,CAAA;AAKhB,MAAM,MAAM,sBAAsB,GAAG;IACnC,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,GAAG,EAAE,cAAc,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AA6LD,eAAO,MAAM,yBAAyB,EAAE,cAAc,CAAC,sBAAsB,CAc5E,CAAA;AAED,eAAO,MAAM,kBAAkB,SAAgB,sBAAsB,0CAkGpE,CAAA"}
1
+ {"version":3,"file":"copyDataFromLocale.d.ts","sourceRoot":"","sources":["../../src/utilities/copyDataFromLocale.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,cAAc,EAInB,KAAK,cAAc,EACnB,KAAK,cAAc,EAEpB,MAAM,SAAS,CAAA;AAKhB,MAAM,MAAM,sBAAsB,GAAG;IACnC,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,GAAG,EAAE,cAAc,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AA6LD,eAAO,MAAM,yBAAyB,EAAE,cAAc,CAAC,sBAAsB,CAc5E,CAAA;AAED,eAAO,MAAM,kBAAkB,SAAgB,sBAAsB,0CAwGpE,CAAA"}
@@ -169,6 +169,7 @@ export const copyDataFromLocale = async args => {
169
169
  const [fromLocaleData, toLocaleData] = await Promise.allSettled([globalSlug ? payload.findGlobal({
170
170
  slug: globalSlug,
171
171
  depth: 0,
172
+ draft: true,
172
173
  locale: fromLocale,
173
174
  overrideAccess: false,
174
175
  user
@@ -176,6 +177,7 @@ export const copyDataFromLocale = async args => {
176
177
  id: docID,
177
178
  collection: collectionSlug,
178
179
  depth: 0,
180
+ draft: true,
179
181
  joins: false,
180
182
  locale: fromLocale,
181
183
  overrideAccess: false,
@@ -183,6 +185,7 @@ export const copyDataFromLocale = async args => {
183
185
  }), globalSlug ? payload.findGlobal({
184
186
  slug: globalSlug,
185
187
  depth: 0,
188
+ draft: true,
186
189
  locale: toLocale,
187
190
  overrideAccess: false,
188
191
  user
@@ -190,6 +193,7 @@ export const copyDataFromLocale = async args => {
190
193
  id: docID,
191
194
  collection: collectionSlug,
192
195
  depth: 0,
196
+ draft: true,
193
197
  joins: false,
194
198
  locale: toLocale,
195
199
  overrideAccess: false,
@@ -209,6 +213,7 @@ export const copyDataFromLocale = async args => {
209
213
  return globalSlug ? await payload.updateGlobal({
210
214
  slug: globalSlug,
211
215
  data,
216
+ draft: true,
212
217
  locale: toLocale,
213
218
  overrideAccess: false,
214
219
  req,
@@ -217,6 +222,7 @@ export const copyDataFromLocale = async args => {
217
222
  id: docID,
218
223
  collection: collectionSlug,
219
224
  data,
225
+ draft: true,
220
226
  locale: toLocale,
221
227
  overrideAccess: false,
222
228
  req,
@@ -1 +1 @@
1
- {"version":3,"file":"copyDataFromLocale.js","names":["ObjectIdImport","canAccessAdmin","traverseFields","fieldAffectsData","fieldShouldBeLocalized","tabHasName","ObjectId","default","iterateFields","fields","fromLocaleData","toLocaleData","req","parentIsLocalized","map","field","type","name","undefined","includes","item","index","id","toHexString","localized","Array","isArray","length","blockData","block","payload","blocks","blockType","blockReferences","find","slug","tabs","tab","mergeData","removeIdIfParentIsLocalized","data","callback","ref","fillEmpty","copyDataFromLocaleHandler","args","copyDataFromLocale","err","logger","error","msg","fromLocale","toLocale","collectionSlug","docID","globalSlug","overrideData","collections","globals","user","Promise","allSettled","findGlobal","depth","locale","overrideAccess","findByID","collection","joins","status","Error","config","fromLocaleDataWithoutID","value","toLocaleDataWithoutID","dataWithID","updateGlobal","update"],"sources":["../../src/utilities/copyDataFromLocale.ts"],"sourcesContent":["import ObjectIdImport from 'bson-objectid'\nimport {\n canAccessAdmin,\n type CollectionSlug,\n type Data,\n type Field,\n type FlattenedBlock,\n type PayloadRequest,\n type ServerFunction,\n traverseFields,\n} from 'payload'\nimport { fieldAffectsData, fieldShouldBeLocalized, tabHasName } from 'payload/shared'\n\nconst ObjectId = 'default' in ObjectIdImport ? ObjectIdImport.default : ObjectIdImport\n\nexport type CopyDataFromLocaleArgs = {\n collectionSlug?: CollectionSlug\n docID?: number | string\n fromLocale: string\n globalSlug?: string\n overrideData?: boolean\n req: PayloadRequest\n toLocale: string\n}\n\nfunction iterateFields(\n fields: Field[],\n fromLocaleData: Data,\n toLocaleData: Data,\n req: PayloadRequest,\n parentIsLocalized: boolean,\n): void {\n fields.map((field) => {\n if (fieldAffectsData(field)) {\n switch (field.type) {\n case 'array':\n // if the field has no value, take the source value\n if (\n field.name in toLocaleData &&\n // only replace if the target value is null or undefined\n [null, undefined].includes(toLocaleData[field.name]) &&\n field.name in fromLocaleData\n ) {\n toLocaleData[field.name] = fromLocaleData[field.name]\n break\n }\n\n // if the field has a value - loop over the data from target\n if (field.name in toLocaleData) {\n toLocaleData[field.name].map((item: Data, index: number) => {\n if (fromLocaleData[field.name]?.[index]) {\n // Generate new IDs if the field is localized to prevent errors with relational DBs.\n if (fieldShouldBeLocalized({ field, parentIsLocalized })) {\n toLocaleData[field.name][index].id = new ObjectId().toHexString()\n }\n\n iterateFields(\n field.fields,\n fromLocaleData[field.name][index],\n item,\n req,\n parentIsLocalized || field.localized,\n )\n }\n })\n }\n break\n\n case 'blocks':\n // if the field has no value, take the source value\n if (\n field.name in toLocaleData &&\n // only replace if the target value is null, undefined, or empty array\n ([null, undefined].includes(toLocaleData[field.name]) ||\n (Array.isArray(toLocaleData[field.name]) && toLocaleData[field.name].length === 0)) &&\n field.name in fromLocaleData\n ) {\n toLocaleData[field.name] = fromLocaleData[field.name]\n break\n }\n\n // if the field has a value - loop over the data from target\n if (field.name in toLocaleData) {\n toLocaleData[field.name].map((blockData: Data, index: number) => {\n const block =\n req.payload.blocks[blockData.blockType] ??\n ((field.blockReferences ?? field.blocks).find(\n (block) => typeof block !== 'string' && block.slug === blockData.blockType,\n ) as FlattenedBlock | undefined)\n\n // Generate new IDs if the field is localized to prevent errors with relational DBs.\n if (fieldShouldBeLocalized({ field, parentIsLocalized })) {\n toLocaleData[field.name][index].id = new ObjectId().toHexString()\n }\n\n if (block?.fields?.length) {\n iterateFields(\n block?.fields,\n fromLocaleData[field.name][index],\n blockData,\n req,\n parentIsLocalized || field.localized,\n )\n }\n })\n }\n\n break\n\n case 'checkbox':\n case 'code':\n case 'date':\n case 'email':\n case 'json':\n case 'number':\n case 'point':\n case 'radio':\n case 'relationship':\n case 'richText':\n case 'select':\n case 'text':\n case 'textarea':\n case 'upload':\n if (\n field.name in toLocaleData &&\n // only replace if the target value is null or undefined\n [null, undefined].includes(toLocaleData[field.name]) &&\n field.name in fromLocaleData\n ) {\n toLocaleData[field.name] = fromLocaleData[field.name]\n }\n break\n\n case 'group': {\n if (\n fieldAffectsData(field) &&\n field.name in toLocaleData &&\n fromLocaleData?.[field.name] !== undefined\n ) {\n iterateFields(\n field.fields,\n fromLocaleData[field.name],\n toLocaleData[field.name],\n req,\n parentIsLocalized || field.localized,\n )\n } else {\n iterateFields(field.fields, fromLocaleData, toLocaleData, req, parentIsLocalized)\n }\n break\n }\n }\n } else {\n switch (field.type) {\n case 'collapsible':\n case 'row':\n iterateFields(field.fields, fromLocaleData, toLocaleData, req, parentIsLocalized)\n break\n\n case 'tabs':\n field.tabs.map((tab) => {\n if (tabHasName(tab)) {\n if (tab.name in toLocaleData && fromLocaleData?.[tab.name] !== undefined) {\n iterateFields(\n tab.fields,\n fromLocaleData[tab.name],\n toLocaleData[tab.name],\n req,\n parentIsLocalized,\n )\n }\n } else {\n iterateFields(tab.fields, fromLocaleData, toLocaleData, req, parentIsLocalized)\n }\n })\n break\n }\n }\n })\n}\n\nfunction mergeData(\n fromLocaleData: Data,\n toLocaleData: Data,\n fields: Field[],\n req: PayloadRequest,\n parentIsLocalized: boolean,\n): Data {\n iterateFields(fields, fromLocaleData, toLocaleData, req, parentIsLocalized)\n\n return toLocaleData\n}\n\n/**\n * We don't have to recursively remove all ids,\n * just the ones from the fields inside a localized array or block.\n */\nfunction removeIdIfParentIsLocalized(data: Data, fields: Field[]): Data {\n traverseFields({\n callback: ({ parentIsLocalized, ref }) => {\n if (parentIsLocalized) {\n delete (ref as { id: unknown }).id\n }\n },\n fields,\n fillEmpty: false,\n ref: data,\n })\n\n return data\n}\n\nexport const copyDataFromLocaleHandler: ServerFunction<CopyDataFromLocaleArgs> = async (args) => {\n const { req } = args\n\n try {\n return await copyDataFromLocale(args)\n } catch (err) {\n req.payload.logger.error({\n err,\n msg: `There was an error copying data from \"${args.fromLocale}\" to \"${args.toLocale}\"`,\n })\n\n // Re-throw the error so it can be caught by the client\n throw err\n }\n}\n\nexport const copyDataFromLocale = async (args: CopyDataFromLocaleArgs) => {\n const {\n collectionSlug,\n docID,\n fromLocale,\n globalSlug,\n overrideData = false,\n req: {\n payload,\n payload: { collections, globals },\n user,\n },\n req,\n toLocale,\n } = args\n\n await canAccessAdmin({ req })\n\n const [fromLocaleData, toLocaleData] = await Promise.allSettled([\n globalSlug\n ? payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n locale: fromLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n })\n : payload.findByID({\n id: docID,\n collection: collectionSlug,\n depth: 0,\n joins: false,\n locale: fromLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n }),\n globalSlug\n ? payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n locale: toLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n })\n : payload.findByID({\n id: docID,\n collection: collectionSlug,\n depth: 0,\n joins: false,\n locale: toLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n }),\n ])\n\n if (fromLocaleData.status === 'rejected') {\n throw new Error(`Error fetching data from locale \"${fromLocale}\"`)\n }\n\n if (toLocaleData.status === 'rejected') {\n throw new Error(`Error fetching data from locale \"${toLocale}\"`)\n }\n\n const fields = globalSlug\n ? globals[globalSlug].config.fields\n : collections[collectionSlug].config.fields\n\n const fromLocaleDataWithoutID = fromLocaleData.value\n const toLocaleDataWithoutID = toLocaleData.value\n\n const dataWithID = overrideData\n ? fromLocaleDataWithoutID\n : mergeData(fromLocaleDataWithoutID, toLocaleDataWithoutID, fields, req, false)\n\n const data = removeIdIfParentIsLocalized(dataWithID, fields)\n\n return globalSlug\n ? await payload.updateGlobal({\n slug: globalSlug,\n data,\n locale: toLocale,\n overrideAccess: false,\n req,\n user,\n })\n : await payload.update({\n id: docID,\n collection: collectionSlug,\n data,\n locale: toLocale,\n overrideAccess: false,\n req,\n user,\n })\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"copyDataFromLocale.js","names":["ObjectIdImport","canAccessAdmin","traverseFields","fieldAffectsData","fieldShouldBeLocalized","tabHasName","ObjectId","default","iterateFields","fields","fromLocaleData","toLocaleData","req","parentIsLocalized","map","field","type","name","undefined","includes","item","index","id","toHexString","localized","Array","isArray","length","blockData","block","payload","blocks","blockType","blockReferences","find","slug","tabs","tab","mergeData","removeIdIfParentIsLocalized","data","callback","ref","fillEmpty","copyDataFromLocaleHandler","args","copyDataFromLocale","err","logger","error","msg","fromLocale","toLocale","collectionSlug","docID","globalSlug","overrideData","collections","globals","user","Promise","allSettled","findGlobal","depth","draft","locale","overrideAccess","findByID","collection","joins","status","Error","config","fromLocaleDataWithoutID","value","toLocaleDataWithoutID","dataWithID","updateGlobal","update"],"sources":["../../src/utilities/copyDataFromLocale.ts"],"sourcesContent":["import ObjectIdImport from 'bson-objectid'\nimport {\n canAccessAdmin,\n type CollectionSlug,\n type Data,\n type Field,\n type FlattenedBlock,\n type PayloadRequest,\n type ServerFunction,\n traverseFields,\n} from 'payload'\nimport { fieldAffectsData, fieldShouldBeLocalized, tabHasName } from 'payload/shared'\n\nconst ObjectId = 'default' in ObjectIdImport ? ObjectIdImport.default : ObjectIdImport\n\nexport type CopyDataFromLocaleArgs = {\n collectionSlug?: CollectionSlug\n docID?: number | string\n fromLocale: string\n globalSlug?: string\n overrideData?: boolean\n req: PayloadRequest\n toLocale: string\n}\n\nfunction iterateFields(\n fields: Field[],\n fromLocaleData: Data,\n toLocaleData: Data,\n req: PayloadRequest,\n parentIsLocalized: boolean,\n): void {\n fields.map((field) => {\n if (fieldAffectsData(field)) {\n switch (field.type) {\n case 'array':\n // if the field has no value, take the source value\n if (\n field.name in toLocaleData &&\n // only replace if the target value is null or undefined\n [null, undefined].includes(toLocaleData[field.name]) &&\n field.name in fromLocaleData\n ) {\n toLocaleData[field.name] = fromLocaleData[field.name]\n break\n }\n\n // if the field has a value - loop over the data from target\n if (field.name in toLocaleData) {\n toLocaleData[field.name].map((item: Data, index: number) => {\n if (fromLocaleData[field.name]?.[index]) {\n // Generate new IDs if the field is localized to prevent errors with relational DBs.\n if (fieldShouldBeLocalized({ field, parentIsLocalized })) {\n toLocaleData[field.name][index].id = new ObjectId().toHexString()\n }\n\n iterateFields(\n field.fields,\n fromLocaleData[field.name][index],\n item,\n req,\n parentIsLocalized || field.localized,\n )\n }\n })\n }\n break\n\n case 'blocks':\n // if the field has no value, take the source value\n if (\n field.name in toLocaleData &&\n // only replace if the target value is null, undefined, or empty array\n ([null, undefined].includes(toLocaleData[field.name]) ||\n (Array.isArray(toLocaleData[field.name]) && toLocaleData[field.name].length === 0)) &&\n field.name in fromLocaleData\n ) {\n toLocaleData[field.name] = fromLocaleData[field.name]\n break\n }\n\n // if the field has a value - loop over the data from target\n if (field.name in toLocaleData) {\n toLocaleData[field.name].map((blockData: Data, index: number) => {\n const block =\n req.payload.blocks[blockData.blockType] ??\n ((field.blockReferences ?? field.blocks).find(\n (block) => typeof block !== 'string' && block.slug === blockData.blockType,\n ) as FlattenedBlock | undefined)\n\n // Generate new IDs if the field is localized to prevent errors with relational DBs.\n if (fieldShouldBeLocalized({ field, parentIsLocalized })) {\n toLocaleData[field.name][index].id = new ObjectId().toHexString()\n }\n\n if (block?.fields?.length) {\n iterateFields(\n block?.fields,\n fromLocaleData[field.name][index],\n blockData,\n req,\n parentIsLocalized || field.localized,\n )\n }\n })\n }\n\n break\n\n case 'checkbox':\n case 'code':\n case 'date':\n case 'email':\n case 'json':\n case 'number':\n case 'point':\n case 'radio':\n case 'relationship':\n case 'richText':\n case 'select':\n case 'text':\n case 'textarea':\n case 'upload':\n if (\n field.name in toLocaleData &&\n // only replace if the target value is null or undefined\n [null, undefined].includes(toLocaleData[field.name]) &&\n field.name in fromLocaleData\n ) {\n toLocaleData[field.name] = fromLocaleData[field.name]\n }\n break\n\n case 'group': {\n if (\n fieldAffectsData(field) &&\n field.name in toLocaleData &&\n fromLocaleData?.[field.name] !== undefined\n ) {\n iterateFields(\n field.fields,\n fromLocaleData[field.name],\n toLocaleData[field.name],\n req,\n parentIsLocalized || field.localized,\n )\n } else {\n iterateFields(field.fields, fromLocaleData, toLocaleData, req, parentIsLocalized)\n }\n break\n }\n }\n } else {\n switch (field.type) {\n case 'collapsible':\n case 'row':\n iterateFields(field.fields, fromLocaleData, toLocaleData, req, parentIsLocalized)\n break\n\n case 'tabs':\n field.tabs.map((tab) => {\n if (tabHasName(tab)) {\n if (tab.name in toLocaleData && fromLocaleData?.[tab.name] !== undefined) {\n iterateFields(\n tab.fields,\n fromLocaleData[tab.name],\n toLocaleData[tab.name],\n req,\n parentIsLocalized,\n )\n }\n } else {\n iterateFields(tab.fields, fromLocaleData, toLocaleData, req, parentIsLocalized)\n }\n })\n break\n }\n }\n })\n}\n\nfunction mergeData(\n fromLocaleData: Data,\n toLocaleData: Data,\n fields: Field[],\n req: PayloadRequest,\n parentIsLocalized: boolean,\n): Data {\n iterateFields(fields, fromLocaleData, toLocaleData, req, parentIsLocalized)\n\n return toLocaleData\n}\n\n/**\n * We don't have to recursively remove all ids,\n * just the ones from the fields inside a localized array or block.\n */\nfunction removeIdIfParentIsLocalized(data: Data, fields: Field[]): Data {\n traverseFields({\n callback: ({ parentIsLocalized, ref }) => {\n if (parentIsLocalized) {\n delete (ref as { id: unknown }).id\n }\n },\n fields,\n fillEmpty: false,\n ref: data,\n })\n\n return data\n}\n\nexport const copyDataFromLocaleHandler: ServerFunction<CopyDataFromLocaleArgs> = async (args) => {\n const { req } = args\n\n try {\n return await copyDataFromLocale(args)\n } catch (err) {\n req.payload.logger.error({\n err,\n msg: `There was an error copying data from \"${args.fromLocale}\" to \"${args.toLocale}\"`,\n })\n\n // Re-throw the error so it can be caught by the client\n throw err\n }\n}\n\nexport const copyDataFromLocale = async (args: CopyDataFromLocaleArgs) => {\n const {\n collectionSlug,\n docID,\n fromLocale,\n globalSlug,\n overrideData = false,\n req: {\n payload,\n payload: { collections, globals },\n user,\n },\n req,\n toLocale,\n } = args\n\n await canAccessAdmin({ req })\n\n const [fromLocaleData, toLocaleData] = await Promise.allSettled([\n globalSlug\n ? payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n draft: true,\n locale: fromLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n })\n : payload.findByID({\n id: docID,\n collection: collectionSlug,\n depth: 0,\n draft: true,\n joins: false,\n locale: fromLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n }),\n globalSlug\n ? payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n draft: true,\n locale: toLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n })\n : payload.findByID({\n id: docID,\n collection: collectionSlug,\n depth: 0,\n draft: true,\n joins: false,\n locale: toLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n }),\n ])\n\n if (fromLocaleData.status === 'rejected') {\n throw new Error(`Error fetching data from locale \"${fromLocale}\"`)\n }\n\n if (toLocaleData.status === 'rejected') {\n throw new Error(`Error fetching data from locale \"${toLocale}\"`)\n }\n\n const fields = globalSlug\n ? globals[globalSlug].config.fields\n : collections[collectionSlug].config.fields\n\n const fromLocaleDataWithoutID = fromLocaleData.value\n const toLocaleDataWithoutID = toLocaleData.value\n\n const dataWithID = overrideData\n ? fromLocaleDataWithoutID\n : mergeData(fromLocaleDataWithoutID, toLocaleDataWithoutID, fields, req, false)\n\n const data = removeIdIfParentIsLocalized(dataWithID, fields)\n\n return globalSlug\n ? await payload.updateGlobal({\n slug: globalSlug,\n data,\n draft: true,\n locale: toLocale,\n overrideAccess: false,\n req,\n user,\n })\n : await payload.update({\n id: docID,\n collection: collectionSlug,\n data,\n draft: true,\n locale: toLocale,\n overrideAccess: false,\n req,\n user,\n })\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/ui",
3
- "version": "3.81.0-internal.181753b",
3
+ "version": "3.82.0-canary.0",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -127,7 +127,7 @@
127
127
  "dequal": "2.0.3",
128
128
  "md5": "2.3.0",
129
129
  "object-to-formdata": "4.5.1",
130
- "qs-esm": "7.0.2",
130
+ "qs-esm": "8.0.1",
131
131
  "react-datepicker": "7.6.0",
132
132
  "react-image-crop": "10.1.8",
133
133
  "react-select": "5.9.0",
@@ -136,7 +136,7 @@
136
136
  "ts-essentials": "10.0.3",
137
137
  "use-context-selector": "2.0.0",
138
138
  "uuid": "10.0.0",
139
- "@payloadcms/translations": "3.81.0-internal.181753b"
139
+ "@payloadcms/translations": "3.82.0-canary.0"
140
140
  },
141
141
  "devDependencies": {
142
142
  "@babel/cli": "7.27.2",
@@ -152,13 +152,13 @@
152
152
  "esbuild": "0.27.1",
153
153
  "esbuild-sass-plugin": "3.3.1",
154
154
  "@payloadcms/eslint-config": "3.28.0",
155
- "payload": "3.81.0-internal.181753b"
155
+ "payload": "3.82.0-canary.0"
156
156
  },
157
157
  "peerDependencies": {
158
158
  "next": ">=15.2.9 <15.3.0 || >=15.3.9 <15.4.0 || >=15.4.11 <15.5.0 || >=16.2.0-canary.10 <17.0.0",
159
159
  "react": "^19.0.1 || ^19.1.2 || ^19.2.1",
160
160
  "react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1",
161
- "payload": "3.81.0-internal.181753b"
161
+ "payload": "3.82.0-canary.0"
162
162
  },
163
163
  "engines": {
164
164
  "node": "^18.20.2 || >=20.9.0"