@payloadcms/richtext-slate 3.0.0 → 3.0.1-canary.9494866
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.
- package/dist/data/recurseNestedFields.d.ts +17 -1
- package/dist/data/recurseNestedFields.d.ts.map +1 -1
- package/dist/data/recurseNestedFields.js +105 -1
- package/dist/data/recurseNestedFields.js.map +1 -1
- package/dist/field/rscEntry.d.ts.map +1 -1
- package/dist/field/rscEntry.js +12 -12
- package/dist/field/rscEntry.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +6 -6
- package/dist/data/richTextRelationshipPromise.d.ts +0 -19
- package/dist/data/richTextRelationshipPromise.d.ts.map +0 -1
- package/dist/data/richTextRelationshipPromise.js +0 -109
- package/dist/data/richTextRelationshipPromise.js.map +0 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { Field, PayloadRequest, PopulateType } from 'payload';
|
|
1
|
+
import type { Field, PayloadRequest, PopulateType, RichTextAdapter, RichTextField } from 'payload';
|
|
2
|
+
import type { AdapterArguments } from '../types.js';
|
|
2
3
|
type NestedRichTextFieldsArgs = {
|
|
3
4
|
currentDepth?: number;
|
|
4
5
|
data: unknown;
|
|
@@ -12,5 +13,20 @@ type NestedRichTextFieldsArgs = {
|
|
|
12
13
|
showHiddenFields: boolean;
|
|
13
14
|
};
|
|
14
15
|
export declare const recurseNestedFields: ({ currentDepth, data, depth, draft, fields, overrideAccess, populateArg, populationPromises, req, showHiddenFields, }: NestedRichTextFieldsArgs) => void;
|
|
16
|
+
export type Args = Parameters<RichTextAdapter<any[], AdapterArguments>['graphQLPopulationPromises']>[0];
|
|
17
|
+
type RecurseRichTextArgs = {
|
|
18
|
+
children: unknown[];
|
|
19
|
+
currentDepth: number;
|
|
20
|
+
depth: number;
|
|
21
|
+
draft: boolean;
|
|
22
|
+
field: RichTextField<any[], any, any>;
|
|
23
|
+
overrideAccess: boolean;
|
|
24
|
+
populateArg?: PopulateType;
|
|
25
|
+
populationPromises: Promise<void>[];
|
|
26
|
+
req: PayloadRequest;
|
|
27
|
+
showHiddenFields: boolean;
|
|
28
|
+
};
|
|
29
|
+
export declare const recurseRichText: ({ children, currentDepth, depth, draft, field, overrideAccess, populateArg, populationPromises, req, showHiddenFields, }: RecurseRichTextArgs) => void;
|
|
30
|
+
export declare const richTextRelationshipPromise: ({ currentDepth, depth, draft, field, overrideAccess, populateArg, populationPromises, req, showHiddenFields, siblingDoc, }: Args) => void;
|
|
15
31
|
export {};
|
|
16
32
|
//# sourceMappingURL=recurseNestedFields.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recurseNestedFields.d.ts","sourceRoot":"","sources":["../../src/data/recurseNestedFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"recurseNestedFields.d.ts","sourceRoot":"","sources":["../../src/data/recurseNestedFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAIlG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAInD,KAAK,wBAAwB,GAAG;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,cAAc,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,YAAY,CAAA;IAC1B,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;IACnC,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,mBAAmB,0HAW7B,wBAAwB,KAAG,IAqM7B,CAAA;AAED,MAAM,MAAM,IAAI,GAAG,UAAU,CAC3B,eAAe,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC,2BAA2B,CAAC,CACtE,CAAC,CAAC,CAAC,CAAA;AAEJ,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,EAAE,aAAa,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;IACrC,cAAc,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,YAAY,CAAA;IAC1B,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;IACnC,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,eAAe,6HAWzB,mBAAmB,KAAG,IA6GxB,CAAA;AAED,eAAO,MAAM,2BAA2B,+HAWrC,IAAI,SAaN,CAAA"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { fieldAffectsData, fieldHasSubFields, fieldIsArrayType, tabHasName } from 'payload/shared';
|
|
2
2
|
import { populate } from './populate.js';
|
|
3
|
-
import { recurseRichText } from './richTextRelationshipPromise.js';
|
|
4
3
|
export const recurseNestedFields = ({ currentDepth = 0, data, depth, draft, fields, overrideAccess = false, populateArg, populationPromises, req, showHiddenFields })=>{
|
|
5
4
|
fields.forEach((field)=>{
|
|
6
5
|
if (field.type === 'relationship' || field.type === 'upload') {
|
|
@@ -183,5 +182,110 @@ export const recurseNestedFields = ({ currentDepth = 0, data, depth, draft, fiel
|
|
|
183
182
|
}
|
|
184
183
|
});
|
|
185
184
|
};
|
|
185
|
+
export const recurseRichText = ({ children, currentDepth = 0, depth, draft, field, overrideAccess = false, populateArg, populationPromises, req, showHiddenFields })=>{
|
|
186
|
+
if (depth <= 0 || currentDepth > depth) {
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
if (Array.isArray(children)) {
|
|
190
|
+
children.forEach((element)=>{
|
|
191
|
+
if ((element.type === 'relationship' || element.type === 'upload') && element?.value?.id) {
|
|
192
|
+
const collection = req.payload.collections[element?.relationTo];
|
|
193
|
+
if (collection) {
|
|
194
|
+
populationPromises.push(populate({
|
|
195
|
+
id: element.value.id,
|
|
196
|
+
collection,
|
|
197
|
+
currentDepth,
|
|
198
|
+
data: element,
|
|
199
|
+
depth,
|
|
200
|
+
draft,
|
|
201
|
+
field,
|
|
202
|
+
key: 'value',
|
|
203
|
+
overrideAccess,
|
|
204
|
+
req,
|
|
205
|
+
select: req.payloadAPI !== 'GraphQL' ? populateArg?.[collection.config.slug] ?? collection.config.defaultPopulate : undefined,
|
|
206
|
+
showHiddenFields
|
|
207
|
+
}));
|
|
208
|
+
}
|
|
209
|
+
if (element.type === 'upload' && Array.isArray(field.admin?.upload?.collections?.[element?.relationTo]?.fields)) {
|
|
210
|
+
recurseNestedFields({
|
|
211
|
+
currentDepth,
|
|
212
|
+
data: element.fields || {},
|
|
213
|
+
depth,
|
|
214
|
+
draft,
|
|
215
|
+
fields: field.admin.upload.collections[element.relationTo].fields,
|
|
216
|
+
overrideAccess,
|
|
217
|
+
populateArg,
|
|
218
|
+
populationPromises,
|
|
219
|
+
req,
|
|
220
|
+
showHiddenFields
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
if (element.type === 'link') {
|
|
225
|
+
if (element?.doc?.value && element?.doc?.relationTo) {
|
|
226
|
+
const collection = req.payload.collections[element?.doc?.relationTo];
|
|
227
|
+
if (collection) {
|
|
228
|
+
populationPromises.push(populate({
|
|
229
|
+
id: element.doc.value,
|
|
230
|
+
collection,
|
|
231
|
+
currentDepth,
|
|
232
|
+
data: element.doc,
|
|
233
|
+
depth,
|
|
234
|
+
draft,
|
|
235
|
+
field,
|
|
236
|
+
key: 'value',
|
|
237
|
+
overrideAccess,
|
|
238
|
+
req,
|
|
239
|
+
select: req.payloadAPI !== 'GraphQL' ? populateArg?.[collection.config.slug] ?? collection.config.defaultPopulate : undefined,
|
|
240
|
+
showHiddenFields
|
|
241
|
+
}));
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
if (Array.isArray(field.admin?.link?.fields)) {
|
|
245
|
+
recurseNestedFields({
|
|
246
|
+
currentDepth,
|
|
247
|
+
data: element.fields || {},
|
|
248
|
+
depth,
|
|
249
|
+
draft,
|
|
250
|
+
fields: field.admin?.link?.fields,
|
|
251
|
+
overrideAccess,
|
|
252
|
+
populateArg,
|
|
253
|
+
populationPromises,
|
|
254
|
+
req,
|
|
255
|
+
showHiddenFields
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
if (element?.children) {
|
|
260
|
+
recurseRichText({
|
|
261
|
+
children: element.children,
|
|
262
|
+
currentDepth,
|
|
263
|
+
depth,
|
|
264
|
+
draft,
|
|
265
|
+
field,
|
|
266
|
+
overrideAccess,
|
|
267
|
+
populateArg,
|
|
268
|
+
populationPromises,
|
|
269
|
+
req,
|
|
270
|
+
showHiddenFields
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
};
|
|
276
|
+
export const richTextRelationshipPromise = ({ currentDepth, depth, draft, field, overrideAccess, populateArg, populationPromises, req, showHiddenFields, siblingDoc })=>{
|
|
277
|
+
recurseRichText({
|
|
278
|
+
children: siblingDoc[field.name],
|
|
279
|
+
currentDepth,
|
|
280
|
+
depth,
|
|
281
|
+
draft,
|
|
282
|
+
field,
|
|
283
|
+
overrideAccess,
|
|
284
|
+
populateArg,
|
|
285
|
+
populationPromises,
|
|
286
|
+
req,
|
|
287
|
+
showHiddenFields
|
|
288
|
+
});
|
|
289
|
+
};
|
|
186
290
|
|
|
187
291
|
//# sourceMappingURL=recurseNestedFields.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/data/recurseNestedFields.ts"],"sourcesContent":["import type { Field, PayloadRequest, PopulateType } from 'payload'\n\nimport { fieldAffectsData, fieldHasSubFields, fieldIsArrayType, tabHasName } from 'payload/shared'\n\nimport { populate } from './populate.js'\nimport { recurseRichText } from './richTextRelationshipPromise.js'\n\ntype NestedRichTextFieldsArgs = {\n currentDepth?: number\n data: unknown\n depth: number\n draft: boolean\n fields: Field[]\n overrideAccess: boolean\n populateArg?: PopulateType\n populationPromises: Promise<void>[]\n req: PayloadRequest\n showHiddenFields: boolean\n}\n\nexport const recurseNestedFields = ({\n currentDepth = 0,\n data,\n depth,\n draft,\n fields,\n overrideAccess = false,\n populateArg,\n populationPromises,\n req,\n showHiddenFields,\n}: NestedRichTextFieldsArgs): void => {\n fields.forEach((field) => {\n if (field.type === 'relationship' || field.type === 'upload') {\n if (field.type === 'relationship') {\n if (field.hasMany && Array.isArray(data[field.name])) {\n if (Array.isArray(field.relationTo)) {\n data[field.name].forEach(({ relationTo, value }, i) => {\n const collection = req.payload.collections[relationTo]\n if (collection) {\n populationPromises.push(\n populate({\n id: value,\n collection,\n currentDepth,\n data: data[field.name],\n depth,\n draft,\n field,\n key: i,\n overrideAccess,\n req,\n select:\n populateArg?.[collection.config.slug] ?? collection.config.defaultPopulate,\n showHiddenFields,\n }),\n )\n }\n })\n } else {\n data[field.name].forEach((id, i) => {\n const collection = req.payload.collections[field.relationTo as string]\n if (collection) {\n populationPromises.push(\n populate({\n id,\n collection,\n currentDepth,\n data: data[field.name],\n depth,\n draft,\n field,\n key: i,\n overrideAccess,\n req,\n select:\n populateArg?.[collection.config.slug] ?? collection.config.defaultPopulate,\n showHiddenFields,\n }),\n )\n }\n })\n }\n } else if (\n Array.isArray(field.relationTo) &&\n data[field.name]?.value &&\n data[field.name]?.relationTo\n ) {\n if (!('hasMany' in field) || !field.hasMany) {\n const collection = req.payload.collections[data[field.name].relationTo]\n populationPromises.push(\n populate({\n id: data[field.name].value,\n collection,\n currentDepth,\n data: data[field.name],\n depth,\n draft,\n field,\n key: 'value',\n overrideAccess,\n req,\n select: populateArg?.[collection.config.slug] ?? collection.config.defaultPopulate,\n showHiddenFields,\n }),\n )\n }\n }\n }\n if (typeof data[field.name] !== 'undefined' && typeof field.relationTo === 'string') {\n const collection = req.payload.collections[field.relationTo]\n populationPromises.push(\n populate({\n id: data[field.name],\n collection,\n currentDepth,\n data,\n depth,\n draft,\n field,\n key: field.name,\n overrideAccess,\n req,\n select: populateArg?.[collection.config.slug] ?? collection.config.defaultPopulate,\n showHiddenFields,\n }),\n )\n }\n } else if (fieldHasSubFields(field) && !fieldIsArrayType(field)) {\n if (fieldAffectsData(field) && typeof data[field.name] === 'object') {\n recurseNestedFields({\n currentDepth,\n data: data[field.name],\n depth,\n draft,\n fields: field.fields,\n overrideAccess,\n populateArg,\n populationPromises,\n req,\n showHiddenFields,\n })\n } else {\n recurseNestedFields({\n currentDepth,\n data,\n depth,\n draft,\n fields: field.fields,\n overrideAccess,\n populateArg,\n populationPromises,\n req,\n showHiddenFields,\n })\n }\n } else if (field.type === 'tabs') {\n field.tabs.forEach((tab) => {\n recurseNestedFields({\n currentDepth,\n data: tabHasName(tab) ? data[tab.name] : data,\n depth,\n draft,\n fields: tab.fields,\n overrideAccess,\n populateArg,\n populationPromises,\n req,\n showHiddenFields,\n })\n })\n } else if (Array.isArray(data[field.name])) {\n if (field.type === 'blocks') {\n data[field.name].forEach((row, i) => {\n const block = field.blocks.find(({ slug }) => slug === row?.blockType)\n if (block) {\n recurseNestedFields({\n currentDepth,\n data: data[field.name][i],\n depth,\n draft,\n fields: block.fields,\n overrideAccess,\n populateArg,\n populationPromises,\n req,\n showHiddenFields,\n })\n }\n })\n }\n\n if (field.type === 'array') {\n data[field.name].forEach((_, i) => {\n recurseNestedFields({\n currentDepth,\n data: data[field.name][i],\n depth,\n draft,\n fields: field.fields,\n overrideAccess,\n populateArg,\n populationPromises,\n req,\n showHiddenFields,\n })\n })\n }\n }\n\n if (field.type === 'richText' && Array.isArray(data[field.name])) {\n data[field.name].forEach((node) => {\n if (Array.isArray(node.children)) {\n recurseRichText({\n children: node.children,\n currentDepth,\n depth,\n draft,\n field,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n })\n }\n })\n }\n })\n}\n"],"names":["fieldAffectsData","fieldHasSubFields","fieldIsArrayType","tabHasName","populate","recurseRichText","recurseNestedFields","currentDepth","data","depth","draft","fields","overrideAccess","populateArg","populationPromises","req","showHiddenFields","forEach","field","type","hasMany","Array","isArray","name","relationTo","value","i","collection","payload","collections","push","id","key","select","config","slug","defaultPopulate","tabs","tab","row","block","blocks","find","blockType","_","node","children"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/data/recurseNestedFields.ts"],"sourcesContent":["import type { Field, PayloadRequest, PopulateType, RichTextAdapter, RichTextField } from 'payload'\n\nimport { fieldAffectsData, fieldHasSubFields, fieldIsArrayType, tabHasName } from 'payload/shared'\n\nimport type { AdapterArguments } from '../types.js'\n\nimport { populate } from './populate.js'\n\ntype NestedRichTextFieldsArgs = {\n currentDepth?: number\n data: unknown\n depth: number\n draft: boolean\n fields: Field[]\n overrideAccess: boolean\n populateArg?: PopulateType\n populationPromises: Promise<void>[]\n req: PayloadRequest\n showHiddenFields: boolean\n}\n\nexport const recurseNestedFields = ({\n currentDepth = 0,\n data,\n depth,\n draft,\n fields,\n overrideAccess = false,\n populateArg,\n populationPromises,\n req,\n showHiddenFields,\n}: NestedRichTextFieldsArgs): void => {\n fields.forEach((field) => {\n if (field.type === 'relationship' || field.type === 'upload') {\n if (field.type === 'relationship') {\n if (field.hasMany && Array.isArray(data[field.name])) {\n if (Array.isArray(field.relationTo)) {\n data[field.name].forEach(({ relationTo, value }, i) => {\n const collection = req.payload.collections[relationTo]\n if (collection) {\n populationPromises.push(\n populate({\n id: value,\n collection,\n currentDepth,\n data: data[field.name],\n depth,\n draft,\n field,\n key: i,\n overrideAccess,\n req,\n select:\n populateArg?.[collection.config.slug] ?? collection.config.defaultPopulate,\n showHiddenFields,\n }),\n )\n }\n })\n } else {\n data[field.name].forEach((id, i) => {\n const collection = req.payload.collections[field.relationTo as string]\n if (collection) {\n populationPromises.push(\n populate({\n id,\n collection,\n currentDepth,\n data: data[field.name],\n depth,\n draft,\n field,\n key: i,\n overrideAccess,\n req,\n select:\n populateArg?.[collection.config.slug] ?? collection.config.defaultPopulate,\n showHiddenFields,\n }),\n )\n }\n })\n }\n } else if (\n Array.isArray(field.relationTo) &&\n data[field.name]?.value &&\n data[field.name]?.relationTo\n ) {\n if (!('hasMany' in field) || !field.hasMany) {\n const collection = req.payload.collections[data[field.name].relationTo]\n populationPromises.push(\n populate({\n id: data[field.name].value,\n collection,\n currentDepth,\n data: data[field.name],\n depth,\n draft,\n field,\n key: 'value',\n overrideAccess,\n req,\n select: populateArg?.[collection.config.slug] ?? collection.config.defaultPopulate,\n showHiddenFields,\n }),\n )\n }\n }\n }\n if (typeof data[field.name] !== 'undefined' && typeof field.relationTo === 'string') {\n const collection = req.payload.collections[field.relationTo]\n populationPromises.push(\n populate({\n id: data[field.name],\n collection,\n currentDepth,\n data,\n depth,\n draft,\n field,\n key: field.name,\n overrideAccess,\n req,\n select: populateArg?.[collection.config.slug] ?? collection.config.defaultPopulate,\n showHiddenFields,\n }),\n )\n }\n } else if (fieldHasSubFields(field) && !fieldIsArrayType(field)) {\n if (fieldAffectsData(field) && typeof data[field.name] === 'object') {\n recurseNestedFields({\n currentDepth,\n data: data[field.name],\n depth,\n draft,\n fields: field.fields,\n overrideAccess,\n populateArg,\n populationPromises,\n req,\n showHiddenFields,\n })\n } else {\n recurseNestedFields({\n currentDepth,\n data,\n depth,\n draft,\n fields: field.fields,\n overrideAccess,\n populateArg,\n populationPromises,\n req,\n showHiddenFields,\n })\n }\n } else if (field.type === 'tabs') {\n field.tabs.forEach((tab) => {\n recurseNestedFields({\n currentDepth,\n data: tabHasName(tab) ? data[tab.name] : data,\n depth,\n draft,\n fields: tab.fields,\n overrideAccess,\n populateArg,\n populationPromises,\n req,\n showHiddenFields,\n })\n })\n } else if (Array.isArray(data[field.name])) {\n if (field.type === 'blocks') {\n data[field.name].forEach((row, i) => {\n const block = field.blocks.find(({ slug }) => slug === row?.blockType)\n if (block) {\n recurseNestedFields({\n currentDepth,\n data: data[field.name][i],\n depth,\n draft,\n fields: block.fields,\n overrideAccess,\n populateArg,\n populationPromises,\n req,\n showHiddenFields,\n })\n }\n })\n }\n\n if (field.type === 'array') {\n data[field.name].forEach((_, i) => {\n recurseNestedFields({\n currentDepth,\n data: data[field.name][i],\n depth,\n draft,\n fields: field.fields,\n overrideAccess,\n populateArg,\n populationPromises,\n req,\n showHiddenFields,\n })\n })\n }\n }\n\n if (field.type === 'richText' && Array.isArray(data[field.name])) {\n data[field.name].forEach((node) => {\n if (Array.isArray(node.children)) {\n recurseRichText({\n children: node.children,\n currentDepth,\n depth,\n draft,\n field,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n })\n }\n })\n }\n })\n}\n\nexport type Args = Parameters<\n RichTextAdapter<any[], AdapterArguments>['graphQLPopulationPromises']\n>[0]\n\ntype RecurseRichTextArgs = {\n children: unknown[]\n currentDepth: number\n depth: number\n draft: boolean\n field: RichTextField<any[], any, any>\n overrideAccess: boolean\n populateArg?: PopulateType\n populationPromises: Promise<void>[]\n req: PayloadRequest\n showHiddenFields: boolean\n}\n\nexport const recurseRichText = ({\n children,\n currentDepth = 0,\n depth,\n draft,\n field,\n overrideAccess = false,\n populateArg,\n populationPromises,\n req,\n showHiddenFields,\n}: RecurseRichTextArgs): void => {\n if (depth <= 0 || currentDepth > depth) {\n return\n }\n\n if (Array.isArray(children)) {\n ;(children as any[]).forEach((element) => {\n if ((element.type === 'relationship' || element.type === 'upload') && element?.value?.id) {\n const collection = req.payload.collections[element?.relationTo]\n\n if (collection) {\n populationPromises.push(\n populate({\n id: element.value.id,\n collection,\n currentDepth,\n data: element,\n depth,\n draft,\n field,\n key: 'value',\n overrideAccess,\n req,\n select:\n req.payloadAPI !== 'GraphQL'\n ? (populateArg?.[collection.config.slug] ?? collection.config.defaultPopulate)\n : undefined,\n showHiddenFields,\n }),\n )\n }\n if (\n element.type === 'upload' &&\n Array.isArray(field.admin?.upload?.collections?.[element?.relationTo]?.fields)\n ) {\n recurseNestedFields({\n currentDepth,\n data: element.fields || {},\n depth,\n draft,\n fields: field.admin.upload.collections[element.relationTo].fields,\n overrideAccess,\n populateArg,\n populationPromises,\n req,\n showHiddenFields,\n })\n }\n }\n\n if (element.type === 'link') {\n if (element?.doc?.value && element?.doc?.relationTo) {\n const collection = req.payload.collections[element?.doc?.relationTo]\n\n if (collection) {\n populationPromises.push(\n populate({\n id: element.doc.value,\n collection,\n currentDepth,\n data: element.doc,\n depth,\n draft,\n field,\n key: 'value',\n overrideAccess,\n req,\n select:\n req.payloadAPI !== 'GraphQL'\n ? (populateArg?.[collection.config.slug] ?? collection.config.defaultPopulate)\n : undefined,\n showHiddenFields,\n }),\n )\n }\n }\n\n if (Array.isArray(field.admin?.link?.fields)) {\n recurseNestedFields({\n currentDepth,\n data: element.fields || {},\n depth,\n draft,\n fields: field.admin?.link?.fields,\n overrideAccess,\n populateArg,\n populationPromises,\n req,\n showHiddenFields,\n })\n }\n }\n\n if (element?.children) {\n recurseRichText({\n children: element.children,\n currentDepth,\n depth,\n draft,\n field,\n overrideAccess,\n populateArg,\n populationPromises,\n req,\n showHiddenFields,\n })\n }\n })\n }\n}\n\nexport const richTextRelationshipPromise = ({\n currentDepth,\n depth,\n draft,\n field,\n overrideAccess,\n populateArg,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n}: Args) => {\n recurseRichText({\n children: siblingDoc[field.name] as unknown[],\n currentDepth,\n depth,\n draft,\n field,\n overrideAccess,\n populateArg,\n populationPromises,\n req,\n showHiddenFields,\n })\n}\n"],"names":["fieldAffectsData","fieldHasSubFields","fieldIsArrayType","tabHasName","populate","recurseNestedFields","currentDepth","data","depth","draft","fields","overrideAccess","populateArg","populationPromises","req","showHiddenFields","forEach","field","type","hasMany","Array","isArray","name","relationTo","value","i","collection","payload","collections","push","id","key","select","config","slug","defaultPopulate","tabs","tab","row","block","blocks","find","blockType","_","node","children","recurseRichText","element","payloadAPI","undefined","admin","upload","doc","link","richTextRelationshipPromise","siblingDoc"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rscEntry.d.ts","sourceRoot":"","sources":["../../src/field/rscEntry.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAGpB,UAAU,
|
|
1
|
+
{"version":3,"file":"rscEntry.d.ts","sourceRoot":"","sources":["../../src/field/rscEntry.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAGpB,UAAU,EAEV,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,gBAAgB,EAA6C,MAAM,aAAa,CAAA;AAQ9F,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CACvC;IACE,IAAI,EAAE,gBAAgB,CAAA;CACvB,GAAG,oBAAoB,GACtB,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GACxB,oBAAoB,CA8KvB,CAAA"}
|
package/dist/field/rscEntry.js
CHANGED
|
@@ -23,20 +23,20 @@ export const RscEntrySlateField = ({ args, clientField, forceRender, i18n, path,
|
|
|
23
23
|
if (leafObject) {
|
|
24
24
|
const LeafButton = leafObject.Button;
|
|
25
25
|
const LeafComponent = leafObject.Leaf;
|
|
26
|
-
componentMap.set(`leaf.button.${leafObject.name}`,
|
|
27
|
-
clientProps
|
|
26
|
+
componentMap.set(`leaf.button.${leafObject.name}`, RenderServerComponent({
|
|
27
|
+
clientProps,
|
|
28
28
|
Component: LeafButton,
|
|
29
29
|
importMap: payload.importMap
|
|
30
30
|
}));
|
|
31
|
-
componentMap.set(`leaf.component.${leafObject.name}`,
|
|
32
|
-
clientProps
|
|
31
|
+
componentMap.set(`leaf.component.${leafObject.name}`, RenderServerComponent({
|
|
32
|
+
clientProps,
|
|
33
33
|
Component: LeafComponent,
|
|
34
34
|
importMap: payload.importMap
|
|
35
35
|
}));
|
|
36
36
|
if (Array.isArray(leafObject.plugins)) {
|
|
37
37
|
leafObject.plugins.forEach((Plugin, i)=>{
|
|
38
|
-
componentMap.set(`leaf.plugin.${leafObject.name}.${i}`,
|
|
39
|
-
clientProps
|
|
38
|
+
componentMap.set(`leaf.plugin.${leafObject.name}.${i}`, RenderServerComponent({
|
|
39
|
+
clientProps,
|
|
40
40
|
Component: Plugin,
|
|
41
41
|
importMap: payload.importMap
|
|
42
42
|
}));
|
|
@@ -55,21 +55,21 @@ export const RscEntrySlateField = ({ args, clientField, forceRender, i18n, path,
|
|
|
55
55
|
const ElementButton = element.Button;
|
|
56
56
|
const ElementComponent = element.Element;
|
|
57
57
|
if (ElementButton) {
|
|
58
|
-
componentMap.set(`element.button.${element.name}`,
|
|
59
|
-
clientProps
|
|
58
|
+
componentMap.set(`element.button.${element.name}`, RenderServerComponent({
|
|
59
|
+
clientProps,
|
|
60
60
|
Component: ElementButton,
|
|
61
61
|
importMap: payload.importMap
|
|
62
62
|
}));
|
|
63
63
|
}
|
|
64
|
-
componentMap.set(`element.component.${element.name}`,
|
|
65
|
-
clientProps
|
|
64
|
+
componentMap.set(`element.component.${element.name}`, RenderServerComponent({
|
|
65
|
+
clientProps,
|
|
66
66
|
Component: ElementComponent,
|
|
67
67
|
importMap: payload.importMap
|
|
68
68
|
}));
|
|
69
69
|
if (Array.isArray(element.plugins)) {
|
|
70
70
|
element.plugins.forEach((Plugin, i)=>{
|
|
71
|
-
componentMap.set(`element.plugin.${element.name}.${i}`,
|
|
72
|
-
clientProps
|
|
71
|
+
componentMap.set(`element.plugin.${element.name}.${i}`, RenderServerComponent({
|
|
72
|
+
clientProps,
|
|
73
73
|
Component: Plugin,
|
|
74
74
|
importMap: payload.importMap
|
|
75
75
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/field/rscEntry.tsx"],"sourcesContent":["import type {\n ClientComponentProps,\n ClientField,\n Field,\n FieldPaths,\n RichTextFieldClient,\n ServerComponentProps } from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { createClientFields, deepCopyObjectSimple } from 'payload'\nimport React from 'react'\n\nimport type { AdapterArguments, RichTextCustomElement, RichTextCustomLeaf } from '../types.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { RichTextField } from '../exports/client/index.js'\nimport { elements as elementTypes } from '../field/elements/index.js'\nimport { defaultLeaves as leafTypes } from '../field/leaves/index.js'\nimport { linkFieldsSchemaPath } from './elements/link/shared.js'\nimport { uploadFieldsSchemaPath } from './elements/upload/shared.js'\nexport const RscEntrySlateField: React.FC<\n {\n args: AdapterArguments\n } & ClientComponentProps &\n Pick<FieldPaths, 'path'> &\n ServerComponentProps\n> = ({\n args,\n clientField,\n forceRender,\n i18n,\n path,\n payload,\n readOnly,\n renderedBlocks,\n schemaPath,\n}) => {\n const componentMap: Map<string, ClientField[] | React.ReactNode> = new Map()\n\n const clientProps = {\n schemaPath,\n }\n\n ;(args?.admin?.leaves || Object.values(leafTypes)).forEach((leaf) => {\n let leafObject: RichTextCustomLeaf\n\n if (typeof leaf === 'object' && leaf !== null) {\n leafObject = leaf\n } else if (typeof leaf === 'string' && leafTypes[leaf]) {\n leafObject = leafTypes[leaf]\n }\n\n if (leafObject) {\n const LeafButton = leafObject.Button\n const LeafComponent = leafObject.Leaf\n\n componentMap.set(\n `leaf.button.${leafObject.name}`,\n <RenderServerComponent\n clientProps={clientProps}\n Component={LeafButton}\n importMap={payload.importMap}\n />,\n )\n\n componentMap.set(\n `leaf.component.${leafObject.name}`,\n <RenderServerComponent\n clientProps={clientProps}\n Component={LeafComponent}\n importMap={payload.importMap}\n />,\n )\n\n if (Array.isArray(leafObject.plugins)) {\n leafObject.plugins.forEach((Plugin, i) => {\n componentMap.set(\n `leaf.plugin.${leafObject.name}.${i}`,\n <RenderServerComponent\n clientProps={clientProps}\n Component={Plugin}\n importMap={payload.importMap}\n />,\n )\n })\n }\n }\n })\n ;(args?.admin?.elements || Object.values(elementTypes)).forEach((el) => {\n let element: RichTextCustomElement\n\n if (typeof el === 'object' && el !== null) {\n element = el\n } else if (typeof el === 'string' && elementTypes[el]) {\n element = elementTypes[el]\n }\n\n if (element) {\n const ElementButton = element.Button\n const ElementComponent = element.Element\n\n if (ElementButton) {\n componentMap.set(\n `element.button.${element.name}`,\n <RenderServerComponent\n clientProps={clientProps}\n Component={ElementButton}\n importMap={payload.importMap}\n />,\n )\n }\n componentMap.set(\n `element.component.${element.name}`,\n <RenderServerComponent\n clientProps={clientProps}\n Component={ElementComponent}\n importMap={payload.importMap}\n />,\n )\n\n if (Array.isArray(element.plugins)) {\n element.plugins.forEach((Plugin, i) => {\n componentMap.set(\n `element.plugin.${element.name}.${i}`,\n <RenderServerComponent\n clientProps={clientProps}\n Component={Plugin}\n importMap={payload.importMap}\n />,\n )\n })\n }\n\n switch (element.name) {\n case 'link': {\n let clientFields = deepCopyObjectSimple(\n args.admin?.link?.fields,\n ) as unknown as ClientField[]\n clientFields = createClientFields({\n clientFields,\n defaultIDType: payload.config.db.defaultIDType,\n fields: args.admin?.link?.fields as Field[],\n i18n,\n importMap: payload.importMap,\n })\n\n componentMap.set(linkFieldsSchemaPath, clientFields)\n\n break\n }\n\n case 'relationship':\n break\n\n case 'upload': {\n const uploadEnabledCollections = payload.config.collections.filter(\n ({ admin: { enableRichTextRelationship, hidden }, upload }) => {\n if (hidden === true) {\n return false\n }\n\n return enableRichTextRelationship && Boolean(upload) === true\n },\n )\n\n uploadEnabledCollections.forEach((collection) => {\n if (args?.admin?.upload?.collections[collection.slug]?.fields) {\n let clientFields = deepCopyObjectSimple(\n args?.admin?.upload?.collections[collection.slug]?.fields,\n ) as unknown as ClientField[]\n clientFields = createClientFields({\n clientFields,\n defaultIDType: payload.config.db.defaultIDType,\n fields: args?.admin?.upload?.collections[collection.slug]?.fields,\n i18n,\n importMap: payload.importMap,\n })\n\n componentMap.set(`${uploadFieldsSchemaPath}.${collection.slug}`, clientFields)\n }\n })\n\n break\n }\n }\n }\n })\n\n return (\n <RichTextField\n componentMap={Object.fromEntries(componentMap)}\n field={clientField as RichTextFieldClient}\n forceRender={forceRender}\n path={path}\n readOnly={readOnly}\n renderedBlocks={renderedBlocks}\n schemaPath={schemaPath}\n />\n )\n}\n"],"names":["RenderServerComponent","createClientFields","deepCopyObjectSimple","React","RichTextField","elements","elementTypes","defaultLeaves","leafTypes","linkFieldsSchemaPath","uploadFieldsSchemaPath","RscEntrySlateField","args","clientField","forceRender","i18n","path","payload","readOnly","renderedBlocks","schemaPath","componentMap","Map","clientProps","admin","leaves","Object","values","forEach","leaf","leafObject","LeafButton","Button","LeafComponent","Leaf","set","name","Component","importMap","Array","isArray","plugins","Plugin","i","el","element","ElementButton","ElementComponent","Element","clientFields","link","fields","defaultIDType","config","db","uploadEnabledCollections","collections","filter","enableRichTextRelationship","hidden","upload","Boolean","collection","slug","fromEntries","field"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/field/rscEntry.tsx"],"sourcesContent":["import type {\n ClientComponentProps,\n ClientField,\n Field,\n FieldPaths,\n RichTextFieldClient,\n ServerComponentProps,\n} from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { createClientFields, deepCopyObjectSimple } from 'payload'\nimport React from 'react'\n\nimport type { AdapterArguments, RichTextCustomElement, RichTextCustomLeaf } from '../types.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { RichTextField } from '../exports/client/index.js'\nimport { elements as elementTypes } from '../field/elements/index.js'\nimport { defaultLeaves as leafTypes } from '../field/leaves/index.js'\nimport { linkFieldsSchemaPath } from './elements/link/shared.js'\nimport { uploadFieldsSchemaPath } from './elements/upload/shared.js'\nexport const RscEntrySlateField: React.FC<\n {\n args: AdapterArguments\n } & ClientComponentProps &\n Pick<FieldPaths, 'path'> &\n ServerComponentProps\n> = ({\n args,\n clientField,\n forceRender,\n i18n,\n path,\n payload,\n readOnly,\n renderedBlocks,\n schemaPath,\n}) => {\n const componentMap: Map<string, ClientField[] | React.ReactNode> = new Map()\n\n const clientProps = {\n schemaPath,\n }\n\n ;(args?.admin?.leaves || Object.values(leafTypes)).forEach((leaf) => {\n let leafObject: RichTextCustomLeaf\n\n if (typeof leaf === 'object' && leaf !== null) {\n leafObject = leaf\n } else if (typeof leaf === 'string' && leafTypes[leaf]) {\n leafObject = leafTypes[leaf]\n }\n\n if (leafObject) {\n const LeafButton = leafObject.Button\n const LeafComponent = leafObject.Leaf\n\n componentMap.set(\n `leaf.button.${leafObject.name}`,\n RenderServerComponent({\n clientProps,\n Component: LeafButton,\n importMap: payload.importMap,\n }),\n )\n\n componentMap.set(\n `leaf.component.${leafObject.name}`,\n RenderServerComponent({\n clientProps,\n Component: LeafComponent,\n importMap: payload.importMap,\n }),\n )\n\n if (Array.isArray(leafObject.plugins)) {\n leafObject.plugins.forEach((Plugin, i) => {\n componentMap.set(\n `leaf.plugin.${leafObject.name}.${i}`,\n RenderServerComponent({\n clientProps,\n Component: Plugin,\n importMap: payload.importMap,\n }),\n )\n })\n }\n }\n })\n ;(args?.admin?.elements || Object.values(elementTypes)).forEach((el) => {\n let element: RichTextCustomElement\n\n if (typeof el === 'object' && el !== null) {\n element = el\n } else if (typeof el === 'string' && elementTypes[el]) {\n element = elementTypes[el]\n }\n\n if (element) {\n const ElementButton = element.Button\n const ElementComponent = element.Element\n\n if (ElementButton) {\n componentMap.set(\n `element.button.${element.name}`,\n RenderServerComponent({\n clientProps,\n Component: ElementButton,\n importMap: payload.importMap,\n }),\n )\n }\n componentMap.set(\n `element.component.${element.name}`,\n RenderServerComponent({\n clientProps,\n Component: ElementComponent,\n importMap: payload.importMap,\n }),\n )\n\n if (Array.isArray(element.plugins)) {\n element.plugins.forEach((Plugin, i) => {\n componentMap.set(\n `element.plugin.${element.name}.${i}`,\n RenderServerComponent({\n clientProps,\n Component: Plugin,\n importMap: payload.importMap,\n }),\n )\n })\n }\n\n switch (element.name) {\n case 'link': {\n let clientFields = deepCopyObjectSimple(\n args.admin?.link?.fields,\n ) as unknown as ClientField[]\n clientFields = createClientFields({\n clientFields,\n defaultIDType: payload.config.db.defaultIDType,\n fields: args.admin?.link?.fields as Field[],\n i18n,\n importMap: payload.importMap,\n })\n\n componentMap.set(linkFieldsSchemaPath, clientFields)\n\n break\n }\n\n case 'relationship':\n break\n\n case 'upload': {\n const uploadEnabledCollections = payload.config.collections.filter(\n ({ admin: { enableRichTextRelationship, hidden }, upload }) => {\n if (hidden === true) {\n return false\n }\n\n return enableRichTextRelationship && Boolean(upload) === true\n },\n )\n\n uploadEnabledCollections.forEach((collection) => {\n if (args?.admin?.upload?.collections[collection.slug]?.fields) {\n let clientFields = deepCopyObjectSimple(\n args?.admin?.upload?.collections[collection.slug]?.fields,\n ) as unknown as ClientField[]\n clientFields = createClientFields({\n clientFields,\n defaultIDType: payload.config.db.defaultIDType,\n fields: args?.admin?.upload?.collections[collection.slug]?.fields,\n i18n,\n importMap: payload.importMap,\n })\n\n componentMap.set(`${uploadFieldsSchemaPath}.${collection.slug}`, clientFields)\n }\n })\n\n break\n }\n }\n }\n })\n\n return (\n <RichTextField\n componentMap={Object.fromEntries(componentMap)}\n field={clientField as RichTextFieldClient}\n forceRender={forceRender}\n path={path}\n readOnly={readOnly}\n renderedBlocks={renderedBlocks}\n schemaPath={schemaPath}\n />\n )\n}\n"],"names":["RenderServerComponent","createClientFields","deepCopyObjectSimple","React","RichTextField","elements","elementTypes","defaultLeaves","leafTypes","linkFieldsSchemaPath","uploadFieldsSchemaPath","RscEntrySlateField","args","clientField","forceRender","i18n","path","payload","readOnly","renderedBlocks","schemaPath","componentMap","Map","clientProps","admin","leaves","Object","values","forEach","leaf","leafObject","LeafButton","Button","LeafComponent","Leaf","set","name","Component","importMap","Array","isArray","plugins","Plugin","i","el","element","ElementButton","ElementComponent","Element","clientFields","link","fields","defaultIDType","config","db","uploadEnabledCollections","collections","filter","enableRichTextRelationship","hidden","upload","Boolean","collection","slug","fromEntries","field"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { sanitizeFields, withNullableJSONSchemaType } from 'payload';
|
|
2
|
-
import { richTextRelationshipPromise } from './data/
|
|
2
|
+
import { richTextRelationshipPromise } from './data/recurseNestedFields.js';
|
|
3
3
|
import { richTextValidate } from './data/validation.js';
|
|
4
4
|
import { elements as elementTypes } from './field/elements/index.js';
|
|
5
5
|
import { transformExtraFields } from './field/elements/link/utilities.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.tsx"],"sourcesContent":["import type { Config, RichTextAdapterProvider } from 'payload'\n\nimport { sanitizeFields, withNullableJSONSchemaType } from 'payload'\n\nimport type { AdapterArguments } from './types.js'\n\nimport { richTextRelationshipPromise } from './data/richTextRelationshipPromise.js'\nimport { richTextValidate } from './data/validation.js'\nimport { elements as elementTypes } from './field/elements/index.js'\nimport { transformExtraFields } from './field/elements/link/utilities.js'\nimport { defaultLeaves as leafTypes } from './field/leaves/index.js'\nimport { getGenerateSchemaMap } from './generateSchemaMap.js'\n\nexport function slateEditor(\n args: AdapterArguments,\n): RichTextAdapterProvider<any[], AdapterArguments, any> {\n return async ({ config }) => {\n const validRelationships = config.collections.map((c) => c.slug) || []\n\n if (!args.admin) {\n args.admin = {}\n }\n if (!args.admin.link) {\n args.admin.link = {}\n }\n if (!args.admin.link.fields) {\n args.admin.link.fields = []\n }\n args.admin.link.fields = await sanitizeFields({\n config: config as unknown as Config,\n fields: transformExtraFields(args.admin?.link?.fields, config),\n parentIsLocalized: false,\n validRelationships,\n })\n\n if (args?.admin?.upload?.collections) {\n for (const collection of Object.keys(args.admin.upload.collections)) {\n if (args?.admin?.upload?.collections[collection]?.fields) {\n args.admin.upload.collections[collection].fields = await sanitizeFields({\n config: config as unknown as Config,\n fields: args.admin?.upload?.collections[collection]?.fields,\n parentIsLocalized: false,\n validRelationships,\n })\n }\n }\n }\n\n return {\n CellComponent: '@payloadcms/richtext-slate/rsc#RscEntrySlateCell',\n FieldComponent: {\n path: '@payloadcms/richtext-slate/rsc#RscEntrySlateField',\n serverProps: {\n args,\n },\n },\n generateImportMap: ({ addToImportMap }) => {\n addToImportMap('@payloadcms/richtext-slate/rsc#RscEntrySlateCell')\n addToImportMap('@payloadcms/richtext-slate/rsc#RscEntrySlateField')\n Object.values(leafTypes).forEach((leaf) => {\n if (leaf.Button) {\n addToImportMap(leaf.Button)\n }\n if (leaf.Leaf) {\n addToImportMap(leaf.Leaf)\n }\n if (Array.isArray(leaf.plugins) && leaf.plugins?.length) {\n addToImportMap(leaf.plugins)\n }\n })\n args?.admin?.leaves?.forEach((leaf) => {\n if (typeof leaf === 'object') {\n if (leaf.Button) {\n addToImportMap(leaf.Button)\n }\n if (leaf.Leaf) {\n addToImportMap(leaf.Leaf)\n }\n if (Array.isArray(leaf.plugins) && leaf.plugins?.length) {\n addToImportMap(leaf.plugins)\n }\n }\n })\n\n Object.values(elementTypes).forEach((element) => {\n if (element.Button) {\n addToImportMap(element.Button)\n }\n if (element.Element) {\n addToImportMap(element.Element)\n }\n if (Array.isArray(element.plugins) && element.plugins?.length) {\n addToImportMap(element.plugins)\n }\n })\n\n args?.admin?.elements?.forEach((element) => {\n if (typeof element === 'object') {\n if (element.Button) {\n addToImportMap(element.Button)\n }\n if (element.Element) {\n addToImportMap(element.Element)\n }\n if (Array.isArray(element.plugins) && element.plugins?.length) {\n addToImportMap(element.plugins)\n }\n }\n })\n },\n generateSchemaMap: getGenerateSchemaMap(args),\n graphQLPopulationPromises({\n context,\n currentDepth,\n depth,\n draft,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n }) {\n if (\n field.admin?.elements?.includes('relationship') ||\n field.admin?.elements?.includes('upload') ||\n field.admin?.elements?.includes('link') ||\n !field?.admin?.elements\n ) {\n richTextRelationshipPromise({\n context,\n currentDepth,\n depth,\n draft,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n })\n }\n },\n hooks: {\n afterRead: [\n ({\n context: _context,\n currentDepth,\n depth,\n draft,\n field: _field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populate,\n populationPromises,\n req,\n showHiddenFields,\n siblingData,\n }) => {\n const context: any = _context\n const field = _field as any\n if (\n field.admin?.elements?.includes('relationship') ||\n field.admin?.elements?.includes('upload') ||\n field.admin?.elements?.includes('link') ||\n !field?.admin?.elements\n ) {\n richTextRelationshipPromise({\n context,\n currentDepth,\n depth,\n draft,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populateArg: populate,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc: siblingData,\n })\n }\n },\n ],\n },\n outputSchema: ({ isRequired }) => {\n return {\n type: withNullableJSONSchemaType('array', isRequired),\n items: {\n type: 'object',\n },\n }\n },\n validate: richTextValidate,\n }\n }\n}\n\nexport type {\n AdapterArguments,\n ElementNode,\n RichTextCustomElement,\n RichTextCustomLeaf,\n RichTextElement,\n RichTextLeaf,\n RichTextPlugin,\n RichTextPluginComponent,\n SlateFieldProps,\n TextNode,\n} from './types.js'\n\nexport { nodeIsTextNode } from './types.js'\n"],"names":["sanitizeFields","withNullableJSONSchemaType","richTextRelationshipPromise","richTextValidate","elements","elementTypes","transformExtraFields","defaultLeaves","leafTypes","getGenerateSchemaMap","slateEditor","args","config","validRelationships","collections","map","c","slug","admin","link","fields","parentIsLocalized","upload","collection","Object","keys","CellComponent","FieldComponent","path","serverProps","generateImportMap","addToImportMap","values","forEach","leaf","Button","Leaf","Array","isArray","plugins","length","leaves","element","Element","generateSchemaMap","graphQLPopulationPromises","context","currentDepth","depth","draft","field","fieldPromises","findMany","flattenLocales","overrideAccess","populationPromises","req","showHiddenFields","siblingDoc","includes","hooks","afterRead","_context","_field","populate","siblingData","populateArg","outputSchema","isRequired","type","items","validate","nodeIsTextNode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../src/index.tsx"],"sourcesContent":["import type { Config, RichTextAdapterProvider } from 'payload'\n\nimport { sanitizeFields, withNullableJSONSchemaType } from 'payload'\n\nimport type { AdapterArguments } from './types.js'\n\nimport { richTextRelationshipPromise } from './data/recurseNestedFields.js'\nimport { richTextValidate } from './data/validation.js'\nimport { elements as elementTypes } from './field/elements/index.js'\nimport { transformExtraFields } from './field/elements/link/utilities.js'\nimport { defaultLeaves as leafTypes } from './field/leaves/index.js'\nimport { getGenerateSchemaMap } from './generateSchemaMap.js'\n\nexport function slateEditor(\n args: AdapterArguments,\n): RichTextAdapterProvider<any[], AdapterArguments, any> {\n return async ({ config }) => {\n const validRelationships = config.collections.map((c) => c.slug) || []\n\n if (!args.admin) {\n args.admin = {}\n }\n if (!args.admin.link) {\n args.admin.link = {}\n }\n if (!args.admin.link.fields) {\n args.admin.link.fields = []\n }\n args.admin.link.fields = await sanitizeFields({\n config: config as unknown as Config,\n fields: transformExtraFields(args.admin?.link?.fields, config),\n parentIsLocalized: false,\n validRelationships,\n })\n\n if (args?.admin?.upload?.collections) {\n for (const collection of Object.keys(args.admin.upload.collections)) {\n if (args?.admin?.upload?.collections[collection]?.fields) {\n args.admin.upload.collections[collection].fields = await sanitizeFields({\n config: config as unknown as Config,\n fields: args.admin?.upload?.collections[collection]?.fields,\n parentIsLocalized: false,\n validRelationships,\n })\n }\n }\n }\n\n return {\n CellComponent: '@payloadcms/richtext-slate/rsc#RscEntrySlateCell',\n FieldComponent: {\n path: '@payloadcms/richtext-slate/rsc#RscEntrySlateField',\n serverProps: {\n args,\n },\n },\n generateImportMap: ({ addToImportMap }) => {\n addToImportMap('@payloadcms/richtext-slate/rsc#RscEntrySlateCell')\n addToImportMap('@payloadcms/richtext-slate/rsc#RscEntrySlateField')\n Object.values(leafTypes).forEach((leaf) => {\n if (leaf.Button) {\n addToImportMap(leaf.Button)\n }\n if (leaf.Leaf) {\n addToImportMap(leaf.Leaf)\n }\n if (Array.isArray(leaf.plugins) && leaf.plugins?.length) {\n addToImportMap(leaf.plugins)\n }\n })\n args?.admin?.leaves?.forEach((leaf) => {\n if (typeof leaf === 'object') {\n if (leaf.Button) {\n addToImportMap(leaf.Button)\n }\n if (leaf.Leaf) {\n addToImportMap(leaf.Leaf)\n }\n if (Array.isArray(leaf.plugins) && leaf.plugins?.length) {\n addToImportMap(leaf.plugins)\n }\n }\n })\n\n Object.values(elementTypes).forEach((element) => {\n if (element.Button) {\n addToImportMap(element.Button)\n }\n if (element.Element) {\n addToImportMap(element.Element)\n }\n if (Array.isArray(element.plugins) && element.plugins?.length) {\n addToImportMap(element.plugins)\n }\n })\n\n args?.admin?.elements?.forEach((element) => {\n if (typeof element === 'object') {\n if (element.Button) {\n addToImportMap(element.Button)\n }\n if (element.Element) {\n addToImportMap(element.Element)\n }\n if (Array.isArray(element.plugins) && element.plugins?.length) {\n addToImportMap(element.plugins)\n }\n }\n })\n },\n generateSchemaMap: getGenerateSchemaMap(args),\n graphQLPopulationPromises({\n context,\n currentDepth,\n depth,\n draft,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n }) {\n if (\n field.admin?.elements?.includes('relationship') ||\n field.admin?.elements?.includes('upload') ||\n field.admin?.elements?.includes('link') ||\n !field?.admin?.elements\n ) {\n richTextRelationshipPromise({\n context,\n currentDepth,\n depth,\n draft,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n })\n }\n },\n hooks: {\n afterRead: [\n ({\n context: _context,\n currentDepth,\n depth,\n draft,\n field: _field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populate,\n populationPromises,\n req,\n showHiddenFields,\n siblingData,\n }) => {\n const context: any = _context\n const field = _field as any\n if (\n field.admin?.elements?.includes('relationship') ||\n field.admin?.elements?.includes('upload') ||\n field.admin?.elements?.includes('link') ||\n !field?.admin?.elements\n ) {\n richTextRelationshipPromise({\n context,\n currentDepth,\n depth,\n draft,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populateArg: populate,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc: siblingData,\n })\n }\n },\n ],\n },\n outputSchema: ({ isRequired }) => {\n return {\n type: withNullableJSONSchemaType('array', isRequired),\n items: {\n type: 'object',\n },\n }\n },\n validate: richTextValidate,\n }\n }\n}\n\nexport type {\n AdapterArguments,\n ElementNode,\n RichTextCustomElement,\n RichTextCustomLeaf,\n RichTextElement,\n RichTextLeaf,\n RichTextPlugin,\n RichTextPluginComponent,\n SlateFieldProps,\n TextNode,\n} from './types.js'\n\nexport { nodeIsTextNode } from './types.js'\n"],"names":["sanitizeFields","withNullableJSONSchemaType","richTextRelationshipPromise","richTextValidate","elements","elementTypes","transformExtraFields","defaultLeaves","leafTypes","getGenerateSchemaMap","slateEditor","args","config","validRelationships","collections","map","c","slug","admin","link","fields","parentIsLocalized","upload","collection","Object","keys","CellComponent","FieldComponent","path","serverProps","generateImportMap","addToImportMap","values","forEach","leaf","Button","Leaf","Array","isArray","plugins","length","leaves","element","Element","generateSchemaMap","graphQLPopulationPromises","context","currentDepth","depth","draft","field","fieldPromises","findMany","flattenLocales","overrideAccess","populationPromises","req","showHiddenFields","siblingDoc","includes","hooks","afterRead","_context","_field","populate","siblingData","populateArg","outputSchema","isRequired","type","items","validate","nodeIsTextNode"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/richtext-slate",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.1-canary.9494866",
|
|
4
4
|
"description": "The officially supported Slate richtext adapter for Payload",
|
|
5
5
|
"homepage": "https://payloadcms.com",
|
|
6
6
|
"repository": {
|
|
@@ -46,20 +46,20 @@
|
|
|
46
46
|
"slate-history": "0.86.0",
|
|
47
47
|
"slate-hyperscript": "0.81.3",
|
|
48
48
|
"slate-react": "0.92.0",
|
|
49
|
-
"@payloadcms/translations": "3.0.
|
|
50
|
-
"@payloadcms/ui": "3.0.
|
|
49
|
+
"@payloadcms/translations": "3.0.1-canary.9494866",
|
|
50
|
+
"@payloadcms/ui": "3.0.1-canary.9494866"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@types/is-hotkey": "^0.1.10",
|
|
54
54
|
"@types/node": "22.5.4",
|
|
55
55
|
"@types/react": "npm:types-react@19.0.0-rc.1",
|
|
56
56
|
"@types/react-dom": "npm:types-react-dom@19.0.0-rc.1",
|
|
57
|
-
"@payloadcms/eslint-config": "3.0.0
|
|
58
|
-
"payload": "3.0.
|
|
57
|
+
"@payloadcms/eslint-config": "3.0.0",
|
|
58
|
+
"payload": "3.0.1-canary.9494866"
|
|
59
59
|
},
|
|
60
60
|
"peerDependencies": {
|
|
61
61
|
"react": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
|
|
62
|
-
"payload": "3.0.
|
|
62
|
+
"payload": "3.0.1-canary.9494866"
|
|
63
63
|
},
|
|
64
64
|
"engines": {
|
|
65
65
|
"node": "^18.20.2 || >=20.9.0"
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { PayloadRequest, PopulateType, RichTextAdapter, RichTextField } from 'payload';
|
|
2
|
-
import type { AdapterArguments } from '../types.js';
|
|
3
|
-
export type Args = Parameters<RichTextAdapter<any[], AdapterArguments>['graphQLPopulationPromises']>[0];
|
|
4
|
-
type RecurseRichTextArgs = {
|
|
5
|
-
children: unknown[];
|
|
6
|
-
currentDepth: number;
|
|
7
|
-
depth: number;
|
|
8
|
-
draft: boolean;
|
|
9
|
-
field: RichTextField<any[], any, any>;
|
|
10
|
-
overrideAccess: boolean;
|
|
11
|
-
populateArg?: PopulateType;
|
|
12
|
-
populationPromises: Promise<void>[];
|
|
13
|
-
req: PayloadRequest;
|
|
14
|
-
showHiddenFields: boolean;
|
|
15
|
-
};
|
|
16
|
-
export declare const recurseRichText: ({ children, currentDepth, depth, draft, field, overrideAccess, populateArg, populationPromises, req, showHiddenFields, }: RecurseRichTextArgs) => void;
|
|
17
|
-
export declare const richTextRelationshipPromise: ({ currentDepth, depth, draft, field, overrideAccess, populateArg, populationPromises, req, showHiddenFields, siblingDoc, }: Args) => void;
|
|
18
|
-
export {};
|
|
19
|
-
//# sourceMappingURL=richTextRelationshipPromise.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"richTextRelationshipPromise.d.ts","sourceRoot":"","sources":["../../src/data/richTextRelationshipPromise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,cAAc,EACd,YAAY,EACZ,eAAe,EACf,aAAa,EACd,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAKnD,MAAM,MAAM,IAAI,GAAG,UAAU,CAC3B,eAAe,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC,2BAA2B,CAAC,CACtE,CAAC,CAAC,CAAC,CAAA;AAEJ,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,EAAE,aAAa,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;IACrC,cAAc,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,YAAY,CAAA;IAC1B,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;IACnC,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,eAAe,6HAWzB,mBAAmB,KAAG,IA6GxB,CAAA;AAED,eAAO,MAAM,2BAA2B,+HAWrC,IAAI,SAaN,CAAA"}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { populate } from './populate.js';
|
|
2
|
-
import { recurseNestedFields } from './recurseNestedFields.js';
|
|
3
|
-
export const recurseRichText = ({ children, currentDepth = 0, depth, draft, field, overrideAccess = false, populateArg, populationPromises, req, showHiddenFields })=>{
|
|
4
|
-
if (depth <= 0 || currentDepth > depth) {
|
|
5
|
-
return;
|
|
6
|
-
}
|
|
7
|
-
if (Array.isArray(children)) {
|
|
8
|
-
children.forEach((element)=>{
|
|
9
|
-
if ((element.type === 'relationship' || element.type === 'upload') && element?.value?.id) {
|
|
10
|
-
const collection = req.payload.collections[element?.relationTo];
|
|
11
|
-
if (collection) {
|
|
12
|
-
populationPromises.push(populate({
|
|
13
|
-
id: element.value.id,
|
|
14
|
-
collection,
|
|
15
|
-
currentDepth,
|
|
16
|
-
data: element,
|
|
17
|
-
depth,
|
|
18
|
-
draft,
|
|
19
|
-
field,
|
|
20
|
-
key: 'value',
|
|
21
|
-
overrideAccess,
|
|
22
|
-
req,
|
|
23
|
-
select: req.payloadAPI !== 'GraphQL' ? populateArg?.[collection.config.slug] ?? collection.config.defaultPopulate : undefined,
|
|
24
|
-
showHiddenFields
|
|
25
|
-
}));
|
|
26
|
-
}
|
|
27
|
-
if (element.type === 'upload' && Array.isArray(field.admin?.upload?.collections?.[element?.relationTo]?.fields)) {
|
|
28
|
-
recurseNestedFields({
|
|
29
|
-
currentDepth,
|
|
30
|
-
data: element.fields || {},
|
|
31
|
-
depth,
|
|
32
|
-
draft,
|
|
33
|
-
fields: field.admin.upload.collections[element.relationTo].fields,
|
|
34
|
-
overrideAccess,
|
|
35
|
-
populateArg,
|
|
36
|
-
populationPromises,
|
|
37
|
-
req,
|
|
38
|
-
showHiddenFields
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
if (element.type === 'link') {
|
|
43
|
-
if (element?.doc?.value && element?.doc?.relationTo) {
|
|
44
|
-
const collection = req.payload.collections[element?.doc?.relationTo];
|
|
45
|
-
if (collection) {
|
|
46
|
-
populationPromises.push(populate({
|
|
47
|
-
id: element.doc.value,
|
|
48
|
-
collection,
|
|
49
|
-
currentDepth,
|
|
50
|
-
data: element.doc,
|
|
51
|
-
depth,
|
|
52
|
-
draft,
|
|
53
|
-
field,
|
|
54
|
-
key: 'value',
|
|
55
|
-
overrideAccess,
|
|
56
|
-
req,
|
|
57
|
-
select: req.payloadAPI !== 'GraphQL' ? populateArg?.[collection.config.slug] ?? collection.config.defaultPopulate : undefined,
|
|
58
|
-
showHiddenFields
|
|
59
|
-
}));
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
if (Array.isArray(field.admin?.link?.fields)) {
|
|
63
|
-
recurseNestedFields({
|
|
64
|
-
currentDepth,
|
|
65
|
-
data: element.fields || {},
|
|
66
|
-
depth,
|
|
67
|
-
draft,
|
|
68
|
-
fields: field.admin?.link?.fields,
|
|
69
|
-
overrideAccess,
|
|
70
|
-
populateArg,
|
|
71
|
-
populationPromises,
|
|
72
|
-
req,
|
|
73
|
-
showHiddenFields
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
if (element?.children) {
|
|
78
|
-
recurseRichText({
|
|
79
|
-
children: element.children,
|
|
80
|
-
currentDepth,
|
|
81
|
-
depth,
|
|
82
|
-
draft,
|
|
83
|
-
field,
|
|
84
|
-
overrideAccess,
|
|
85
|
-
populateArg,
|
|
86
|
-
populationPromises,
|
|
87
|
-
req,
|
|
88
|
-
showHiddenFields
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
export const richTextRelationshipPromise = ({ currentDepth, depth, draft, field, overrideAccess, populateArg, populationPromises, req, showHiddenFields, siblingDoc })=>{
|
|
95
|
-
recurseRichText({
|
|
96
|
-
children: siblingDoc[field.name],
|
|
97
|
-
currentDepth,
|
|
98
|
-
depth,
|
|
99
|
-
draft,
|
|
100
|
-
field,
|
|
101
|
-
overrideAccess,
|
|
102
|
-
populateArg,
|
|
103
|
-
populationPromises,
|
|
104
|
-
req,
|
|
105
|
-
showHiddenFields
|
|
106
|
-
});
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
//# sourceMappingURL=richTextRelationshipPromise.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/data/richTextRelationshipPromise.ts"],"sourcesContent":["import type {\n CollectionConfig,\n PayloadRequest,\n PopulateType,\n RichTextAdapter,\n RichTextField,\n} from 'payload'\n\nimport type { AdapterArguments } from '../types.js'\n\nimport { populate } from './populate.js'\nimport { recurseNestedFields } from './recurseNestedFields.js'\n\nexport type Args = Parameters<\n RichTextAdapter<any[], AdapterArguments>['graphQLPopulationPromises']\n>[0]\n\ntype RecurseRichTextArgs = {\n children: unknown[]\n currentDepth: number\n depth: number\n draft: boolean\n field: RichTextField<any[], any, any>\n overrideAccess: boolean\n populateArg?: PopulateType\n populationPromises: Promise<void>[]\n req: PayloadRequest\n showHiddenFields: boolean\n}\n\nexport const recurseRichText = ({\n children,\n currentDepth = 0,\n depth,\n draft,\n field,\n overrideAccess = false,\n populateArg,\n populationPromises,\n req,\n showHiddenFields,\n}: RecurseRichTextArgs): void => {\n if (depth <= 0 || currentDepth > depth) {\n return\n }\n\n if (Array.isArray(children)) {\n ;(children as any[]).forEach((element) => {\n if ((element.type === 'relationship' || element.type === 'upload') && element?.value?.id) {\n const collection = req.payload.collections[element?.relationTo]\n\n if (collection) {\n populationPromises.push(\n populate({\n id: element.value.id,\n collection,\n currentDepth,\n data: element,\n depth,\n draft,\n field,\n key: 'value',\n overrideAccess,\n req,\n select:\n req.payloadAPI !== 'GraphQL'\n ? (populateArg?.[collection.config.slug] ?? collection.config.defaultPopulate)\n : undefined,\n showHiddenFields,\n }),\n )\n }\n if (\n element.type === 'upload' &&\n Array.isArray(field.admin?.upload?.collections?.[element?.relationTo]?.fields)\n ) {\n recurseNestedFields({\n currentDepth,\n data: element.fields || {},\n depth,\n draft,\n fields: field.admin.upload.collections[element.relationTo].fields,\n overrideAccess,\n populateArg,\n populationPromises,\n req,\n showHiddenFields,\n })\n }\n }\n\n if (element.type === 'link') {\n if (element?.doc?.value && element?.doc?.relationTo) {\n const collection = req.payload.collections[element?.doc?.relationTo]\n\n if (collection) {\n populationPromises.push(\n populate({\n id: element.doc.value,\n collection,\n currentDepth,\n data: element.doc,\n depth,\n draft,\n field,\n key: 'value',\n overrideAccess,\n req,\n select:\n req.payloadAPI !== 'GraphQL'\n ? (populateArg?.[collection.config.slug] ?? collection.config.defaultPopulate)\n : undefined,\n showHiddenFields,\n }),\n )\n }\n }\n\n if (Array.isArray(field.admin?.link?.fields)) {\n recurseNestedFields({\n currentDepth,\n data: element.fields || {},\n depth,\n draft,\n fields: field.admin?.link?.fields,\n overrideAccess,\n populateArg,\n populationPromises,\n req,\n showHiddenFields,\n })\n }\n }\n\n if (element?.children) {\n recurseRichText({\n children: element.children,\n currentDepth,\n depth,\n draft,\n field,\n overrideAccess,\n populateArg,\n populationPromises,\n req,\n showHiddenFields,\n })\n }\n })\n }\n}\n\nexport const richTextRelationshipPromise = ({\n currentDepth,\n depth,\n draft,\n field,\n overrideAccess,\n populateArg,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n}: Args) => {\n recurseRichText({\n children: siblingDoc[field.name] as unknown[],\n currentDepth,\n depth,\n draft,\n field,\n overrideAccess,\n populateArg,\n populationPromises,\n req,\n showHiddenFields,\n })\n}\n"],"names":["populate","recurseNestedFields","recurseRichText","children","currentDepth","depth","draft","field","overrideAccess","populateArg","populationPromises","req","showHiddenFields","Array","isArray","forEach","element","type","value","id","collection","payload","collections","relationTo","push","data","key","select","payloadAPI","config","slug","defaultPopulate","undefined","admin","upload","fields","doc","link","richTextRelationshipPromise","siblingDoc","name"],"mappings":"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"}
|