@payloadcms/ui 3.0.0-canary.67aae47 → 3.0.0-canary.6b9e4be

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/elements/Banner/index.d.ts.map +1 -1
  2. package/dist/elements/Banner/index.js.map +1 -1
  3. package/dist/elements/BulkUpload/AddingFilesView/index.js +2 -2
  4. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  5. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  6. package/dist/elements/BulkUpload/EditForm/index.js +13 -2
  7. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  8. package/dist/elements/BulkUpload/FormsManager/reducer.js +14 -14
  9. package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
  10. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  11. package/dist/elements/DocumentDrawer/DrawerContent.js +44 -30
  12. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  13. package/dist/elements/DuplicateDocument/index.d.ts +1 -1
  14. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  15. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  16. package/dist/elements/EditMany/index.d.ts.map +1 -1
  17. package/dist/elements/EditMany/index.js +155 -247
  18. package/dist/elements/EditMany/index.js.map +1 -1
  19. package/dist/elements/RenderServerComponent/index.d.ts +0 -6
  20. package/dist/elements/RenderServerComponent/index.d.ts.map +1 -1
  21. package/dist/elements/RenderServerComponent/index.js +1 -24
  22. package/dist/elements/RenderServerComponent/index.js.map +1 -1
  23. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +1 -1
  24. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  25. package/dist/elements/Table/DefaultCell/index.d.ts +1 -1
  26. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  27. package/dist/elements/Table/DefaultCell/index.js +2 -2
  28. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  29. package/dist/elements/Table/RelationshipProvider/reducer.js +16 -16
  30. package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
  31. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +4 -4
  32. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
  33. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +7 -7
  34. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
  35. package/dist/exports/client/index.js +10 -10
  36. package/dist/exports/client/index.js.map +4 -4
  37. package/dist/exports/shared/index.d.ts +1 -0
  38. package/dist/exports/shared/index.d.ts.map +1 -1
  39. package/dist/exports/shared/index.js +2 -2
  40. package/dist/exports/shared/index.js.map +4 -4
  41. package/dist/fields/Relationship/optionsReducer.js +42 -42
  42. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  43. package/dist/forms/Form/fieldReducer.js +170 -170
  44. package/dist/forms/Form/fieldReducer.js.map +1 -1
  45. package/dist/forms/Form/index.d.ts.map +1 -1
  46. package/dist/forms/Form/index.js +7 -29
  47. package/dist/forms/Form/index.js.map +1 -1
  48. package/dist/forms/RenderFields/RenderField.js +6 -6
  49. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  50. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -1
  51. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  52. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +17 -17
  53. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  54. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  55. package/dist/forms/fieldSchemasToFormState/renderField.js +2 -1
  56. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  57. package/dist/providers/ServerFunctions/index.d.ts +0 -2
  58. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  59. package/dist/providers/ServerFunctions/index.js +16 -67
  60. package/dist/providers/ServerFunctions/index.js.map +1 -1
  61. package/dist/utilities/abortAndIgnore.d.ts +2 -0
  62. package/dist/utilities/abortAndIgnore.d.ts.map +1 -0
  63. package/dist/utilities/abortAndIgnore.js +10 -0
  64. package/dist/utilities/abortAndIgnore.js.map +1 -0
  65. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +12 -12
  66. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  67. package/dist/utilities/buildFormState.d.ts +0 -4
  68. package/dist/utilities/buildFormState.d.ts.map +1 -1
  69. package/dist/utilities/buildFormState.js +1 -15
  70. package/dist/utilities/buildFormState.js.map +1 -1
  71. package/dist/utilities/buildTableState.d.ts +2 -1
  72. package/dist/utilities/buildTableState.d.ts.map +1 -1
  73. package/dist/utilities/buildTableState.js +6 -3
  74. package/dist/utilities/buildTableState.js.map +1 -1
  75. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
  76. package/dist/utilities/handleFormStateLocking.js +2 -0
  77. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  78. package/dist/views/Edit/index.d.ts.map +1 -1
  79. package/dist/views/Edit/index.js +11 -18
  80. package/dist/views/Edit/index.js.map +1 -1
  81. package/dist/views/List/index.d.ts.map +1 -1
  82. package/dist/views/List/index.js +41 -52
  83. package/dist/views/List/index.js.map +1 -1
  84. package/license.md +22 -0
  85. package/package.json +15 -6
@@ -5,7 +5,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  import { useModal } from '@faceless-ui/modal';
6
6
  import { getTranslation } from '@payloadcms/translations';
7
7
  import { useRouter } from 'next/navigation.js';
8
- import React, { useCallback, useState } from 'react';
8
+ import React, { useCallback, useEffect, useState } from 'react';
9
9
  import { useForm } from '../../forms/Form/context.js';
10
10
  import { Form } from '../../forms/Form/index.js';
11
11
  import { RenderFields } from '../../forms/RenderFields/index.js';
@@ -21,6 +21,7 @@ import { useSearchParams } from '../../providers/SearchParams/index.js';
21
21
  import { SelectAllStatus, useSelection } from '../../providers/Selection/index.js';
22
22
  import { useServerFunctions } from '../../providers/ServerFunctions/index.js';
23
23
  import { useTranslation } from '../../providers/Translation/index.js';
24
+ import { abortAndIgnore } from '../../utilities/abortAndIgnore.js';
24
25
  import { Drawer, DrawerToggler } from '../Drawer/index.js';
25
26
  import { FieldSelect } from '../FieldSelect/index.js';
26
27
  import './index.scss';
@@ -168,27 +169,16 @@ const SaveDraftButton = t0 => {
168
169
  return t2;
169
170
  };
170
171
  export const EditMany = props => {
171
- const $ = _c(49);
172
172
  const {
173
- collection: t0,
173
+ collection: {
174
+ slug,
175
+ fields,
176
+ labels: {
177
+ plural
178
+ }
179
+ } = {},
174
180
  collection
175
181
  } = props;
176
- let t1;
177
- if ($[0] !== t0) {
178
- t1 = t0 === undefined ? {} : t0;
179
- $[0] = t0;
180
- $[1] = t1;
181
- } else {
182
- t1 = $[1];
183
- }
184
- const {
185
- slug,
186
- fields,
187
- labels: t2
188
- } = t1;
189
- const {
190
- plural
191
- } = t2;
192
182
  const {
193
183
  permissions,
194
184
  user
@@ -197,15 +187,13 @@ export const EditMany = props => {
197
187
  closeModal
198
188
  } = useModal();
199
189
  const {
200
- config: t3
190
+ config: {
191
+ routes: {
192
+ api: apiRoute
193
+ },
194
+ serverURL
195
+ }
201
196
  } = useConfig();
202
- const {
203
- routes: t4,
204
- serverURL
205
- } = t3;
206
- const {
207
- api: apiRoute
208
- } = t4;
209
197
  const {
210
198
  getFormState
211
199
  } = useServerFunctions();
@@ -218,252 +206,172 @@ export const EditMany = props => {
218
206
  i18n,
219
207
  t
220
208
  } = useTranslation();
221
- let t5;
222
- if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
223
- t5 = [];
224
- $[2] = t5;
225
- } else {
226
- t5 = $[2];
227
- }
228
- const [selected, setSelected] = useState(t5);
209
+ const [selected, setSelected] = useState([]);
229
210
  const {
230
211
  stringifyParams
231
212
  } = useSearchParams();
232
213
  const router = useRouter();
233
214
  const [initialState, setInitialState] = useState();
234
215
  const hasInitializedState = React.useRef(false);
216
+ const formStateAbortControllerRef = React.useRef(null);
235
217
  const {
236
218
  clearRouteCache
237
219
  } = useRouteCache();
238
220
  const collectionPermissions = permissions?.collections?.[slug];
239
221
  const hasUpdatePermission = collectionPermissions?.update?.permission;
240
222
  const drawerSlug = `edit-${slug}`;
241
- let t6;
242
- if ($[3] !== getFormState || $[4] !== slug || $[5] !== collectionPermissions) {
243
- t6 = () => {
244
- if (!hasInitializedState.current) {
245
- const getInitialState = async () => {
246
- const {
247
- state: result
248
- } = await getFormState({
249
- collectionSlug: slug,
250
- data: {},
251
- docPermissions: collectionPermissions,
252
- docPreferences: null,
253
- operation: "update",
254
- schemaPath: slug
255
- });
256
- setInitialState(result);
257
- hasInitializedState.current = true;
258
- };
259
- getInitialState();
260
- }
223
+ React.useEffect(() => {
224
+ const controller = new AbortController();
225
+ if (!hasInitializedState.current) {
226
+ const getInitialState = async () => {
227
+ const {
228
+ state: result
229
+ } = await getFormState({
230
+ collectionSlug: slug,
231
+ data: {},
232
+ docPermissions: collectionPermissions,
233
+ docPreferences: null,
234
+ operation: 'update',
235
+ schemaPath: slug,
236
+ signal: controller.signal
237
+ });
238
+ setInitialState(result);
239
+ hasInitializedState.current = true;
240
+ };
241
+ void getInitialState();
242
+ }
243
+ return () => {
244
+ abortAndIgnore(controller);
261
245
  };
262
- $[3] = getFormState;
263
- $[4] = slug;
264
- $[5] = collectionPermissions;
265
- $[6] = t6;
266
- } else {
267
- t6 = $[6];
268
- }
269
- let t7;
270
- if ($[7] !== apiRoute || $[8] !== hasInitializedState || $[9] !== serverURL || $[10] !== slug || $[11] !== getFormState || $[12] !== user || $[13] !== collectionPermissions) {
271
- t7 = [apiRoute, hasInitializedState, serverURL, slug, getFormState, user, collectionPermissions];
272
- $[7] = apiRoute;
273
- $[8] = hasInitializedState;
274
- $[9] = serverURL;
275
- $[10] = slug;
276
- $[11] = getFormState;
277
- $[12] = user;
278
- $[13] = collectionPermissions;
279
- $[14] = t7;
280
- } else {
281
- t7 = $[14];
282
- }
283
- React.useEffect(t6, t7);
284
- let t8;
285
- if ($[15] !== getFormState || $[16] !== slug || $[17] !== collectionPermissions) {
286
- t8 = async t9 => {
287
- const {
288
- formState: prevFormState
289
- } = t9;
290
- const {
291
- state
292
- } = await getFormState({
293
- collectionSlug: slug,
294
- docPermissions: collectionPermissions,
295
- docPreferences: null,
296
- formState: prevFormState,
297
- operation: "update",
298
- schemaPath: slug
299
- });
300
- return state;
246
+ }, [apiRoute, hasInitializedState, serverURL, slug, getFormState, user, collectionPermissions]);
247
+ const onChange = useCallback(async ({
248
+ formState: prevFormState
249
+ }) => {
250
+ abortAndIgnore(formStateAbortControllerRef.current);
251
+ const controller_0 = new AbortController();
252
+ formStateAbortControllerRef.current = controller_0;
253
+ const {
254
+ state
255
+ } = await getFormState({
256
+ collectionSlug: slug,
257
+ docPermissions: collectionPermissions,
258
+ docPreferences: null,
259
+ formState: prevFormState,
260
+ operation: 'update',
261
+ schemaPath: slug,
262
+ signal: controller_0.signal
263
+ });
264
+ return state;
265
+ }, [slug, getFormState, collectionPermissions]);
266
+ useEffect(() => {
267
+ return () => {
268
+ abortAndIgnore(formStateAbortControllerRef.current);
301
269
  };
302
- $[15] = getFormState;
303
- $[16] = slug;
304
- $[17] = collectionPermissions;
305
- $[18] = t8;
306
- } else {
307
- t8 = $[18];
308
- }
309
- const onChange = t8;
270
+ }, []);
310
271
  if (selectAll === SelectAllStatus.None || !hasUpdatePermission) {
311
272
  return null;
312
273
  }
313
- let t9;
314
- if ($[19] !== router || $[20] !== stringifyParams || $[21] !== selectAll || $[22] !== clearRouteCache || $[23] !== closeModal || $[24] !== drawerSlug) {
315
- t9 = () => {
316
- router.replace(stringifyParams({
317
- params: {
318
- page: selectAll === SelectAllStatus.AllAvailable ? "1" : undefined
319
- }
320
- }));
321
- clearRouteCache();
322
- closeModal(drawerSlug);
323
- };
324
- $[19] = router;
325
- $[20] = stringifyParams;
326
- $[21] = selectAll;
327
- $[22] = clearRouteCache;
328
- $[23] = closeModal;
329
- $[24] = drawerSlug;
330
- $[25] = t9;
331
- } else {
332
- t9 = $[25];
333
- }
334
- const onSuccess = t9;
335
- let t10;
336
- if ($[26] !== t || $[27] !== drawerSlug || $[28] !== plural || $[29] !== i18n || $[30] !== count || $[31] !== closeModal || $[32] !== onChange || $[33] !== fields || $[34] !== selected || $[35] !== permissions || $[36] !== slug || $[37] !== collection?.versions?.drafts || $[38] !== getQueryParams || $[39] !== serverURL || $[40] !== apiRoute || $[41] !== initialState || $[42] !== onSuccess || $[43] !== user) {
337
- let t11;
338
- if ($[45] === Symbol.for("react.memo_cache_sentinel")) {
339
- t11 = () => {
274
+ const onSuccess = () => {
275
+ router.replace(stringifyParams({
276
+ params: {
277
+ page: selectAll === SelectAllStatus.AllAvailable ? '1' : undefined
278
+ }
279
+ }));
280
+ clearRouteCache() // Use clearRouteCache instead of router.refresh, as we only need to clear the cache if the user has route caching enabled - clearRouteCache checks for this
281
+ ;
282
+ closeModal(drawerSlug);
283
+ };
284
+ return /*#__PURE__*/_jsxs("div", {
285
+ className: baseClass,
286
+ children: [/*#__PURE__*/_jsx(DrawerToggler, {
287
+ "aria-label": t('general:edit'),
288
+ className: `${baseClass}__toggle`,
289
+ onClick: () => {
340
290
  setSelected([]);
341
- };
342
- $[45] = t11;
343
- } else {
344
- t11 = $[45];
345
- }
346
- let t12;
347
- if ($[46] !== closeModal || $[47] !== drawerSlug) {
348
- t12 = () => closeModal(drawerSlug);
349
- $[46] = closeModal;
350
- $[47] = drawerSlug;
351
- $[48] = t12;
352
- } else {
353
- t12 = $[48];
354
- }
355
- t10 = _jsxs("div", {
356
- className: baseClass,
357
- children: [_jsx(DrawerToggler, {
358
- "aria-label": t("general:edit"),
359
- className: `${baseClass}__toggle`,
360
- onClick: t11,
291
+ },
292
+ slug: drawerSlug,
293
+ children: t('general:edit')
294
+ }), /*#__PURE__*/_jsx(EditDepthProvider, {
295
+ children: /*#__PURE__*/_jsx(Drawer, {
296
+ Header: null,
361
297
  slug: drawerSlug,
362
- children: t("general:edit")
363
- }), _jsx(EditDepthProvider, {
364
- children: _jsx(Drawer, {
365
- Header: null,
366
- slug: drawerSlug,
367
- children: _jsx(DocumentInfoProvider, {
368
- collectionSlug: slug,
369
- currentEditor: user,
370
- hasPublishedDoc: false,
371
- id: null,
372
- initialData: {},
373
- initialState,
374
- isLocked: false,
375
- lastUpdateTime: 0,
376
- mostRecentVersionIsAutosaved: false,
377
- unpublishedVersionCount: 0,
378
- versionCount: 0,
379
- children: _jsx(OperationContext.Provider, {
380
- value: "update",
381
- children: _jsxs("div", {
382
- className: `${baseClass}__main`,
383
- children: [_jsxs("div", {
384
- className: `${baseClass}__header`,
385
- children: [_jsx("h2", {
386
- className: `${baseClass}__header__title`,
387
- children: t("general:editingLabel", {
388
- count,
389
- label: getTranslation(plural, i18n)
390
- })
391
- }), _jsx("button", {
392
- "aria-label": t("general:close"),
393
- className: `${baseClass}__header__close`,
394
- id: `close-drawer__${drawerSlug}`,
395
- onClick: t12,
396
- type: "button",
397
- children: _jsx(XIcon, {})
398
- })]
399
- }), _jsxs(Form, {
400
- className: `${baseClass}__form`,
401
- initialState,
402
- onChange: [onChange],
403
- onSuccess,
404
- children: [_jsx(FieldSelect, {
405
- fields,
406
- setSelected
407
- }), selected.length === 0 ? null : _jsx(RenderFields, {
408
- fields: selected,
409
- parentIndexPath: "",
410
- parentPath: "",
411
- parentSchemaPath: slug,
412
- permissions: permissions?.collections?.[slug]?.fields,
413
- readOnly: false
414
- }), _jsx("div", {
415
- className: `${baseClass}__sidebar-wrap`,
416
- children: _jsx("div", {
417
- className: `${baseClass}__sidebar`,
418
- children: _jsx("div", {
419
- className: `${baseClass}__sidebar-sticky-wrap`,
420
- children: _jsx("div", {
421
- className: `${baseClass}__document-actions`,
422
- children: collection?.versions?.drafts ? _jsxs(React.Fragment, {
423
- children: [_jsx(SaveDraftButton, {
424
- action: `${serverURL}${apiRoute}/${slug}${getQueryParams()}&draft=true`,
425
- disabled: selected.length === 0
426
- }), _jsx(PublishButton, {
427
- action: `${serverURL}${apiRoute}/${slug}${getQueryParams()}&draft=true`,
428
- disabled: selected.length === 0
429
- })]
430
- }) : _jsx(Submit, {
431
- action: `${serverURL}${apiRoute}/${slug}${getQueryParams()}`,
298
+ children: /*#__PURE__*/_jsx(DocumentInfoProvider, {
299
+ collectionSlug: slug,
300
+ currentEditor: user,
301
+ hasPublishedDoc: false,
302
+ id: null,
303
+ initialData: {},
304
+ initialState: initialState,
305
+ isLocked: false,
306
+ lastUpdateTime: 0,
307
+ mostRecentVersionIsAutosaved: false,
308
+ unpublishedVersionCount: 0,
309
+ versionCount: 0,
310
+ children: /*#__PURE__*/_jsx(OperationContext.Provider, {
311
+ value: "update",
312
+ children: /*#__PURE__*/_jsxs("div", {
313
+ className: `${baseClass}__main`,
314
+ children: [/*#__PURE__*/_jsxs("div", {
315
+ className: `${baseClass}__header`,
316
+ children: [/*#__PURE__*/_jsx("h2", {
317
+ className: `${baseClass}__header__title`,
318
+ children: t('general:editingLabel', {
319
+ count,
320
+ label: getTranslation(plural, i18n)
321
+ })
322
+ }), /*#__PURE__*/_jsx("button", {
323
+ "aria-label": t('general:close'),
324
+ className: `${baseClass}__header__close`,
325
+ id: `close-drawer__${drawerSlug}`,
326
+ onClick: () => closeModal(drawerSlug),
327
+ type: "button",
328
+ children: /*#__PURE__*/_jsx(XIcon, {})
329
+ })]
330
+ }), /*#__PURE__*/_jsxs(Form, {
331
+ className: `${baseClass}__form`,
332
+ initialState: initialState,
333
+ onChange: [onChange],
334
+ onSuccess: onSuccess,
335
+ children: [/*#__PURE__*/_jsx(FieldSelect, {
336
+ fields: fields,
337
+ setSelected: setSelected
338
+ }), selected.length === 0 ? null : /*#__PURE__*/_jsx(RenderFields, {
339
+ fields: selected,
340
+ parentIndexPath: "",
341
+ parentPath: "",
342
+ parentSchemaPath: slug,
343
+ permissions: permissions?.collections?.[slug]?.fields,
344
+ readOnly: false
345
+ }), /*#__PURE__*/_jsx("div", {
346
+ className: `${baseClass}__sidebar-wrap`,
347
+ children: /*#__PURE__*/_jsx("div", {
348
+ className: `${baseClass}__sidebar`,
349
+ children: /*#__PURE__*/_jsx("div", {
350
+ className: `${baseClass}__sidebar-sticky-wrap`,
351
+ children: /*#__PURE__*/_jsx("div", {
352
+ className: `${baseClass}__document-actions`,
353
+ children: collection?.versions?.drafts ? /*#__PURE__*/_jsxs(React.Fragment, {
354
+ children: [/*#__PURE__*/_jsx(SaveDraftButton, {
355
+ action: `${serverURL}${apiRoute}/${slug}${getQueryParams()}&draft=true`,
432
356
  disabled: selected.length === 0
433
- })
357
+ }), /*#__PURE__*/_jsx(PublishButton, {
358
+ action: `${serverURL}${apiRoute}/${slug}${getQueryParams()}&draft=true`,
359
+ disabled: selected.length === 0
360
+ })]
361
+ }) : /*#__PURE__*/_jsx(Submit, {
362
+ action: `${serverURL}${apiRoute}/${slug}${getQueryParams()}`,
363
+ disabled: selected.length === 0
434
364
  })
435
365
  })
436
366
  })
437
- })]
367
+ })
438
368
  })]
439
- })
369
+ })]
440
370
  })
441
371
  })
442
372
  })
443
- })]
444
- });
445
- $[26] = t;
446
- $[27] = drawerSlug;
447
- $[28] = plural;
448
- $[29] = i18n;
449
- $[30] = count;
450
- $[31] = closeModal;
451
- $[32] = onChange;
452
- $[33] = fields;
453
- $[34] = selected;
454
- $[35] = permissions;
455
- $[36] = slug;
456
- $[37] = collection?.versions?.drafts;
457
- $[38] = getQueryParams;
458
- $[39] = serverURL;
459
- $[40] = apiRoute;
460
- $[41] = initialState;
461
- $[42] = onSuccess;
462
- $[43] = user;
463
- $[44] = t10;
464
- } else {
465
- t10 = $[44];
466
- }
467
- return t10;
373
+ })
374
+ })]
375
+ });
468
376
  };
469
377
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","useRouter","React","useCallback","useState","useForm","Form","RenderFields","FormSubmit","XIcon","useAuth","useConfig","DocumentInfoProvider","EditDepthProvider","OperationContext","useRouteCache","useSearchParams","SelectAllStatus","useSelection","useServerFunctions","useTranslation","Drawer","DrawerToggler","FieldSelect","baseClass","Submit","t0","$","action","disabled","submit","t","t1","method","skipValidation","save","t2","_jsx","className","onClick","children","PublishButton","overrides","_status","SaveDraftButton","buttonStyle","EditMany","props","collection","undefined","slug","fields","labels","plural","permissions","user","closeModal","config","t3","routes","t4","serverURL","api","apiRoute","getFormState","count","getQueryParams","selectAll","i18n","t5","Symbol","for","selected","setSelected","stringifyParams","router","initialState","setInitialState","hasInitializedState","useRef","clearRouteCache","collectionPermissions","collections","hasUpdatePermission","update","permission","drawerSlug","t6","current","getInitialState","state","result","collectionSlug","data","docPermissions","docPreferences","operation","schemaPath","t7","useEffect","t8","t9","formState","prevFormState","onChange","None","replace","params","page","AllAvailable","onSuccess","t10","versions","drafts","t11","t12","_jsxs","Header","currentEditor","hasPublishedDoc","id","initialData","isLocked","lastUpdateTime","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","Provider","value","label","type","length","parentIndexPath","parentPath","parentSchemaPath","readOnly","Fragment"],"sources":["../../../src/elements/EditMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, FormState } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentInfoProvider } from '../../providers/DocumentInfo/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { OperationContext } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { FieldSelect } from '../FieldSelect/index.js'\nimport './index.scss'\n\nconst baseClass = 'edit-many'\n\nexport type EditManyProps = {\n readonly collection: ClientCollectionConfig\n}\n\nconst Submit: React.FC<{\n readonly action: string\n readonly disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__save`} disabled={disabled} onClick={save}>\n {t('general:save')}\n </FormSubmit>\n )\n}\n\nconst PublishButton: React.FC<{ action: string; disabled: boolean }> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'published',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__publish`} disabled={disabled} onClick={save}>\n {t('version:publishChanges')}\n </FormSubmit>\n )\n}\n\nconst SaveDraftButton: React.FC<{ action: string; disabled: boolean }> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit\n buttonStyle=\"secondary\"\n className={`${baseClass}__draft`}\n disabled={disabled}\n onClick={save}\n >\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\n\nexport const EditMany: React.FC<EditManyProps> = (props) => {\n const { collection: { slug, fields, labels: { plural } } = {}, collection } = props\n\n const { permissions, user } = useAuth()\n\n const { closeModal } = useModal()\n\n const {\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const { getFormState } = useServerFunctions()\n\n const { count, getQueryParams, selectAll } = useSelection()\n const { i18n, t } = useTranslation()\n const [selected, setSelected] = useState([])\n const { stringifyParams } = useSearchParams()\n const router = useRouter()\n const [initialState, setInitialState] = useState<FormState>()\n const hasInitializedState = React.useRef(false)\n const { clearRouteCache } = useRouteCache()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasUpdatePermission = collectionPermissions?.update?.permission\n\n const drawerSlug = `edit-${slug}`\n\n React.useEffect(() => {\n if (!hasInitializedState.current) {\n const getInitialState = async () => {\n const { state: result } = await getFormState({\n collectionSlug: slug,\n data: {},\n docPermissions: collectionPermissions,\n docPreferences: null,\n operation: 'update',\n schemaPath: slug,\n })\n\n setInitialState(result)\n hasInitializedState.current = true\n }\n\n void getInitialState()\n }\n }, [apiRoute, hasInitializedState, serverURL, slug, getFormState, user, collectionPermissions])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const { state } = await getFormState({\n collectionSlug: slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState: prevFormState,\n operation: 'update',\n schemaPath: slug,\n })\n\n return state\n },\n [slug, getFormState, collectionPermissions],\n )\n\n if (selectAll === SelectAllStatus.None || !hasUpdatePermission) {\n return null\n }\n\n const onSuccess = () => {\n router.replace(\n stringifyParams({\n params: { page: selectAll === SelectAllStatus.AllAvailable ? '1' : undefined },\n }),\n )\n clearRouteCache() // Use clearRouteCache instead of router.refresh, as we only need to clear the cache if the user has route caching enabled - clearRouteCache checks for this\n closeModal(drawerSlug)\n }\n\n return (\n <div className={baseClass}>\n <DrawerToggler\n aria-label={t('general:edit')}\n className={`${baseClass}__toggle`}\n onClick={() => {\n setSelected([])\n }}\n slug={drawerSlug}\n >\n {t('general:edit')}\n </DrawerToggler>\n <EditDepthProvider>\n <Drawer Header={null} slug={drawerSlug}>\n <DocumentInfoProvider\n collectionSlug={slug}\n currentEditor={user}\n hasPublishedDoc={false}\n id={null}\n initialData={{}}\n initialState={initialState}\n isLocked={false}\n lastUpdateTime={0}\n mostRecentVersionIsAutosaved={false}\n unpublishedVersionCount={0}\n versionCount={0}\n >\n <OperationContext.Provider value=\"update\">\n <div className={`${baseClass}__main`}>\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`}>\n {t('general:editingLabel', { count, label: getTranslation(plural, i18n) })}\n </h2>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${drawerSlug}`}\n onClick={() => closeModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <Form\n className={`${baseClass}__form`}\n initialState={initialState}\n onChange={[onChange]}\n onSuccess={onSuccess}\n >\n <FieldSelect fields={fields} setSelected={setSelected} />\n {selected.length === 0 ? null : (\n <RenderFields\n fields={selected}\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={slug}\n permissions={permissions?.collections?.[slug]?.fields}\n readOnly={false}\n />\n )}\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-sticky-wrap`}>\n <div className={`${baseClass}__document-actions`}>\n {collection?.versions?.drafts ? (\n <React.Fragment>\n <SaveDraftButton\n action={`${serverURL}${apiRoute}/${slug}${getQueryParams()}&draft=true`}\n disabled={selected.length === 0}\n />\n <PublishButton\n action={`${serverURL}${apiRoute}/${slug}${getQueryParams()}&draft=true`}\n disabled={selected.length === 0}\n />\n </React.Fragment>\n ) : (\n <Submit\n action={`${serverURL}${apiRoute}/${slug}${getQueryParams()}`}\n disabled={selected.length === 0}\n />\n )}\n </div>\n </div>\n </div>\n </div>\n </Form>\n </div>\n </OperationContext.Provider>\n </DocumentInfoProvider>\n </Drawer>\n </EditDepthProvider>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","useRouter","React","useCallback","useEffect","useState","useForm","Form","RenderFields","FormSubmit","XIcon","useAuth","useConfig","DocumentInfoProvider","EditDepthProvider","OperationContext","useRouteCache","useSearchParams","SelectAllStatus","useSelection","useServerFunctions","useTranslation","abortAndIgnore","Drawer","DrawerToggler","FieldSelect","baseClass","Submit","t0","$","action","disabled","submit","t","t1","method","skipValidation","save","t2","_jsx","className","onClick","children","PublishButton","overrides","_status","SaveDraftButton","buttonStyle","EditMany","props","collection","slug","fields","labels","plural","permissions","user","closeModal","config","routes","api","apiRoute","serverURL","getFormState","count","getQueryParams","selectAll","i18n","selected","setSelected","stringifyParams","router","initialState","setInitialState","hasInitializedState","useRef","formStateAbortControllerRef","clearRouteCache","collectionPermissions","collections","hasUpdatePermission","update","permission","drawerSlug","controller","AbortController","current","getInitialState","state","result","collectionSlug","data","docPermissions","docPreferences","operation","schemaPath","signal","onChange","formState","prevFormState","None","onSuccess","replace","params","page","AllAvailable","undefined","_jsxs","Header","currentEditor","hasPublishedDoc","id","initialData","isLocked","lastUpdateTime","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","Provider","value","label","type","length","parentIndexPath","parentPath","parentSchemaPath","readOnly","versions","drafts","Fragment"],"sources":["../../../src/elements/EditMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, FormState } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentInfoProvider } from '../../providers/DocumentInfo/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { OperationContext } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { abortAndIgnore } from '../../utilities/abortAndIgnore.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { FieldSelect } from '../FieldSelect/index.js'\nimport './index.scss'\n\nconst baseClass = 'edit-many'\n\nexport type EditManyProps = {\n readonly collection: ClientCollectionConfig\n}\n\nconst Submit: React.FC<{\n readonly action: string\n readonly disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__save`} disabled={disabled} onClick={save}>\n {t('general:save')}\n </FormSubmit>\n )\n}\n\nconst PublishButton: React.FC<{ action: string; disabled: boolean }> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'published',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__publish`} disabled={disabled} onClick={save}>\n {t('version:publishChanges')}\n </FormSubmit>\n )\n}\n\nconst SaveDraftButton: React.FC<{ action: string; disabled: boolean }> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit\n buttonStyle=\"secondary\"\n className={`${baseClass}__draft`}\n disabled={disabled}\n onClick={save}\n >\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\n\nexport const EditMany: React.FC<EditManyProps> = (props) => {\n const { collection: { slug, fields, labels: { plural } } = {}, collection } = props\n\n const { permissions, user } = useAuth()\n\n const { closeModal } = useModal()\n\n const {\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const { getFormState } = useServerFunctions()\n\n const { count, getQueryParams, selectAll } = useSelection()\n const { i18n, t } = useTranslation()\n const [selected, setSelected] = useState([])\n const { stringifyParams } = useSearchParams()\n const router = useRouter()\n const [initialState, setInitialState] = useState<FormState>()\n const hasInitializedState = React.useRef(false)\n const formStateAbortControllerRef = React.useRef<AbortController>(null)\n const { clearRouteCache } = useRouteCache()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasUpdatePermission = collectionPermissions?.update?.permission\n\n const drawerSlug = `edit-${slug}`\n\n React.useEffect(() => {\n const controller = new AbortController()\n\n if (!hasInitializedState.current) {\n const getInitialState = async () => {\n const { state: result } = await getFormState({\n collectionSlug: slug,\n data: {},\n docPermissions: collectionPermissions,\n docPreferences: null,\n operation: 'update',\n schemaPath: slug,\n signal: controller.signal,\n })\n\n setInitialState(result)\n hasInitializedState.current = true\n }\n\n void getInitialState()\n }\n\n return () => {\n abortAndIgnore(controller)\n }\n }, [apiRoute, hasInitializedState, serverURL, slug, getFormState, user, collectionPermissions])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n abortAndIgnore(formStateAbortControllerRef.current)\n\n const controller = new AbortController()\n formStateAbortControllerRef.current = controller\n\n const { state } = await getFormState({\n collectionSlug: slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState: prevFormState,\n operation: 'update',\n schemaPath: slug,\n signal: controller.signal,\n })\n\n return state\n },\n [slug, getFormState, collectionPermissions],\n )\n\n useEffect(() => {\n return () => {\n abortAndIgnore(formStateAbortControllerRef.current)\n }\n }, [])\n\n if (selectAll === SelectAllStatus.None || !hasUpdatePermission) {\n return null\n }\n\n const onSuccess = () => {\n router.replace(\n stringifyParams({\n params: { page: selectAll === SelectAllStatus.AllAvailable ? '1' : undefined },\n }),\n )\n clearRouteCache() // Use clearRouteCache instead of router.refresh, as we only need to clear the cache if the user has route caching enabled - clearRouteCache checks for this\n closeModal(drawerSlug)\n }\n\n return (\n <div className={baseClass}>\n <DrawerToggler\n aria-label={t('general:edit')}\n className={`${baseClass}__toggle`}\n onClick={() => {\n setSelected([])\n }}\n slug={drawerSlug}\n >\n {t('general:edit')}\n </DrawerToggler>\n <EditDepthProvider>\n <Drawer Header={null} slug={drawerSlug}>\n <DocumentInfoProvider\n collectionSlug={slug}\n currentEditor={user}\n hasPublishedDoc={false}\n id={null}\n initialData={{}}\n initialState={initialState}\n isLocked={false}\n lastUpdateTime={0}\n mostRecentVersionIsAutosaved={false}\n unpublishedVersionCount={0}\n versionCount={0}\n >\n <OperationContext.Provider value=\"update\">\n <div className={`${baseClass}__main`}>\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`}>\n {t('general:editingLabel', { count, label: getTranslation(plural, i18n) })}\n </h2>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${drawerSlug}`}\n onClick={() => closeModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <Form\n className={`${baseClass}__form`}\n initialState={initialState}\n onChange={[onChange]}\n onSuccess={onSuccess}\n >\n <FieldSelect fields={fields} setSelected={setSelected} />\n {selected.length === 0 ? null : (\n <RenderFields\n fields={selected}\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={slug}\n permissions={permissions?.collections?.[slug]?.fields}\n readOnly={false}\n />\n )}\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-sticky-wrap`}>\n <div className={`${baseClass}__document-actions`}>\n {collection?.versions?.drafts ? (\n <React.Fragment>\n <SaveDraftButton\n action={`${serverURL}${apiRoute}/${slug}${getQueryParams()}&draft=true`}\n disabled={selected.length === 0}\n />\n <PublishButton\n action={`${serverURL}${apiRoute}/${slug}${getQueryParams()}&draft=true`}\n disabled={selected.length === 0}\n />\n </React.Fragment>\n ) : (\n <Submit\n action={`${serverURL}${apiRoute}/${slug}${getQueryParams()}`}\n disabled={selected.length === 0}\n />\n )}\n </div>\n </div>\n </div>\n </div>\n </Form>\n </div>\n </OperationContext.Provider>\n </DocumentInfoProvider>\n </Drawer>\n </EditDepthProvider>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,5 @@
1
1
  import type { ImportMap, PayloadComponent } from 'payload';
2
2
  import React from 'react';
3
- export declare const getFromImportMap: <TOutput>(args: {
4
- importMap: ImportMap;
5
- PayloadComponent: PayloadComponent;
6
- schemaPath?: string;
7
- silent?: boolean;
8
- }) => TOutput;
9
3
  /**
10
4
  * Can be used to render both MappedComponents and React Components.
11
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RenderServerComponent/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAO1D,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,gBAAgB,GAAI,OAAO,QAAS;IAC/C,SAAS,EAAE,SAAS,CAAA;IACpB,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,KAAG,OAuBH,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EACf,gBAAgB,GAChB,gBAAgB,EAAE,GAClB,KAAK,CAAC,aAAa,GACnB,KAAK,CAAC,aAAa,EAAE,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IACvC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B,CAoDA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RenderServerComponent/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAG1D,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EACf,gBAAgB,GAChB,gBAAgB,EAAE,GAClB,KAAK,CAAC,aAAa,GACnB,KAAK,CAAC,aAAa,EAAE,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IACvC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B,CAoDA,CAAA"}
@@ -1,29 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { isPlainObject, isReactServerComponentOrFunction, parsePayloadComponent } from 'payload/shared';
2
+ import { getFromImportMap, isPlainObject, isReactServerComponentOrFunction } from 'payload/shared';
3
3
  import React from 'react';
4
- export const getFromImportMap = args => {
5
- const {
6
- importMap,
7
- PayloadComponent,
8
- schemaPath,
9
- silent
10
- } = args;
11
- const {
12
- exportName,
13
- path
14
- } = parsePayloadComponent(PayloadComponent);
15
- const key = path + '#' + exportName;
16
- const importMapEntry = importMap[key];
17
- if (!importMapEntry && !silent) {
18
- // eslint-disable-next-line no-console
19
- console.error(`getFromImportMap: PayloadComponent not found in importMap`, {
20
- key,
21
- PayloadComponent,
22
- schemaPath
23
- }, 'You may need to run the `payload generate:importmap` command to generate the importMap ahead of runtime.');
24
- }
25
- return importMapEntry;
26
- };
27
4
  /**
28
5
  * Can be used to render both MappedComponents and React Components.
29
6
  */