@strapi/content-manager 0.0.0-experimental.cfda358b7f27015e34e739b8742a2962ae2e7aee → 0.0.0-experimental.d042f6a350fa3a48d61e7c56875e2a0a7ba3c8f5

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 (127) hide show
  1. package/dist/_chunks/{ComponentConfigurationPage-bLQr82ce.mjs → ComponentConfigurationPage-9_4yUE9L.mjs} +3 -3
  2. package/dist/_chunks/{ComponentConfigurationPage-bLQr82ce.mjs.map → ComponentConfigurationPage-9_4yUE9L.mjs.map} +1 -1
  3. package/dist/_chunks/{ComponentConfigurationPage-BTR_hQow.js → ComponentConfigurationPage-DBSh-kET.js} +3 -3
  4. package/dist/_chunks/{ComponentConfigurationPage-BTR_hQow.js.map → ComponentConfigurationPage-DBSh-kET.js.map} +1 -1
  5. package/dist/_chunks/{EditConfigurationPage-z39Wv3E6.js → EditConfigurationPage-Bl_U2JgH.js} +3 -3
  6. package/dist/_chunks/{EditConfigurationPage-z39Wv3E6.js.map → EditConfigurationPage-Bl_U2JgH.js.map} +1 -1
  7. package/dist/_chunks/{EditConfigurationPage-BhRSnUsL.mjs → EditConfigurationPage-COe6hjPC.mjs} +3 -3
  8. package/dist/_chunks/{EditConfigurationPage-BhRSnUsL.mjs.map → EditConfigurationPage-COe6hjPC.mjs.map} +1 -1
  9. package/dist/_chunks/{EditViewPage-wujOq90c.js → EditViewPage-D4yFJET6.js} +13 -76
  10. package/dist/_chunks/EditViewPage-D4yFJET6.js.map +1 -0
  11. package/dist/_chunks/{EditViewPage-BCjNxNlY.mjs → EditViewPage-DrmVmYN0.mjs} +11 -74
  12. package/dist/_chunks/EditViewPage-DrmVmYN0.mjs.map +1 -0
  13. package/dist/_chunks/{Form-D7mexvm3.js → Form-C4rSaGsz.js} +2 -2
  14. package/dist/_chunks/{Form-D7mexvm3.js.map → Form-C4rSaGsz.js.map} +1 -1
  15. package/dist/_chunks/{Form-BZgvE8C8.mjs → Form-DamaxNpG.mjs} +2 -2
  16. package/dist/_chunks/{Form-BZgvE8C8.mjs.map → Form-DamaxNpG.mjs.map} +1 -1
  17. package/dist/_chunks/{History-CqNgxkqK.mjs → History-D1PreDSY.mjs} +32 -8
  18. package/dist/_chunks/History-D1PreDSY.mjs.map +1 -0
  19. package/dist/_chunks/{History-DYl2A8Z_.js → History-DTm8UCCQ.js} +43 -19
  20. package/dist/_chunks/History-DTm8UCCQ.js.map +1 -0
  21. package/dist/_chunks/{Field-B5QXnctJ.js → Input-B7sapvBG.js} +1212 -1269
  22. package/dist/_chunks/Input-B7sapvBG.js.map +1 -0
  23. package/dist/_chunks/{Field-Byr3mPTl.mjs → Input-CZ1YvjHR.mjs} +1131 -1188
  24. package/dist/_chunks/Input-CZ1YvjHR.mjs.map +1 -0
  25. package/dist/_chunks/{ListConfigurationPage-BbQjzKkQ.mjs → ListConfigurationPage-Bbi32isk.mjs} +2 -2
  26. package/dist/_chunks/{ListConfigurationPage-BbQjzKkQ.mjs.map → ListConfigurationPage-Bbi32isk.mjs.map} +1 -1
  27. package/dist/_chunks/{ListConfigurationPage-BXnu_OoY.js → ListConfigurationPage-ysFMjKI3.js} +2 -2
  28. package/dist/_chunks/{ListConfigurationPage-BXnu_OoY.js.map → ListConfigurationPage-ysFMjKI3.js.map} +1 -1
  29. package/dist/_chunks/{ListViewPage-D4ofkbjR.mjs → ListViewPage-Bud_jBDQ.mjs} +8 -5
  30. package/dist/_chunks/{ListViewPage-D4ofkbjR.mjs.map → ListViewPage-Bud_jBDQ.mjs.map} +1 -1
  31. package/dist/_chunks/{ListViewPage-BtSi8C1l.js → ListViewPage-DTuuxU3n.js} +13 -10
  32. package/dist/_chunks/{ListViewPage-BtSi8C1l.js.map → ListViewPage-DTuuxU3n.js.map} +1 -1
  33. package/dist/_chunks/{NoContentTypePage-CitJeOq4.js → NoContentTypePage-CL7VVeYs.js} +2 -2
  34. package/dist/_chunks/{NoContentTypePage-CitJeOq4.js.map → NoContentTypePage-CL7VVeYs.js.map} +1 -1
  35. package/dist/_chunks/{NoContentTypePage-DyUx5mXh.mjs → NoContentTypePage-DVhkugsf.mjs} +2 -2
  36. package/dist/_chunks/{NoContentTypePage-DyUx5mXh.mjs.map → NoContentTypePage-DVhkugsf.mjs.map} +1 -1
  37. package/dist/_chunks/{NoPermissionsPage-DhIiyWkk.mjs → NoPermissionsPage-CMdM-dCo.mjs} +2 -2
  38. package/dist/_chunks/{NoPermissionsPage-DhIiyWkk.mjs.map → NoPermissionsPage-CMdM-dCo.mjs.map} +1 -1
  39. package/dist/_chunks/{NoPermissionsPage-DzgWz0M-.js → NoPermissionsPage-v7I599vC.js} +2 -2
  40. package/dist/_chunks/{NoPermissionsPage-DzgWz0M-.js.map → NoPermissionsPage-v7I599vC.js.map} +1 -1
  41. package/dist/_chunks/{Preview-BaYGJ0nb.mjs → Preview-BNuU0SuQ.mjs} +10 -16
  42. package/dist/_chunks/Preview-BNuU0SuQ.mjs.map +1 -0
  43. package/dist/_chunks/{Preview-DfNx8Ke-.js → Preview-Cxq-uI6D.js} +10 -16
  44. package/dist/_chunks/Preview-Cxq-uI6D.js.map +1 -0
  45. package/dist/_chunks/{Relations-DM2yUTST.mjs → Relations-C2Ahkrdg.mjs} +3 -3
  46. package/dist/_chunks/{Relations-DM2yUTST.mjs.map → Relations-C2Ahkrdg.mjs.map} +1 -1
  47. package/dist/_chunks/{Relations-DuKCaXrv.js → Relations-CWS79QQn.js} +3 -3
  48. package/dist/_chunks/{Relations-DuKCaXrv.js.map → Relations-CWS79QQn.js.map} +1 -1
  49. package/dist/_chunks/{en-BK8Xyl5I.js → en-BR48D_RH.js} +9 -2
  50. package/dist/_chunks/{en-BK8Xyl5I.js.map → en-BR48D_RH.js.map} +1 -1
  51. package/dist/_chunks/{en-Dtk_ot79.mjs → en-D65uIF6Y.mjs} +9 -2
  52. package/dist/_chunks/{en-Dtk_ot79.mjs.map → en-D65uIF6Y.mjs.map} +1 -1
  53. package/dist/_chunks/{fr-B2Kyv8Z9.js → fr-C43IbhA_.js} +4 -1
  54. package/dist/_chunks/{fr-B2Kyv8Z9.js.map → fr-C43IbhA_.js.map} +1 -1
  55. package/dist/_chunks/{fr--pg5jUbt.mjs → fr-DBseuRuB.mjs} +4 -1
  56. package/dist/_chunks/{fr--pg5jUbt.mjs.map → fr-DBseuRuB.mjs.map} +1 -1
  57. package/dist/_chunks/{index-BUWEmX8m.js → index-DQsvBb_N.js} +293 -69
  58. package/dist/_chunks/index-DQsvBb_N.js.map +1 -0
  59. package/dist/_chunks/{index-DVAIIsOs.mjs → index-ZKrsjv-2.mjs} +312 -88
  60. package/dist/_chunks/index-ZKrsjv-2.mjs.map +1 -0
  61. package/dist/_chunks/{layout-C3fN7Ejz.js → layout-Cl0NhlQB.js} +3 -3
  62. package/dist/_chunks/{layout-C3fN7Ejz.js.map → layout-Cl0NhlQB.js.map} +1 -1
  63. package/dist/_chunks/{layout-Bxsv5mP7.mjs → layout-fQk1rMk9.mjs} +3 -3
  64. package/dist/_chunks/{layout-Bxsv5mP7.mjs.map → layout-fQk1rMk9.mjs.map} +1 -1
  65. package/dist/_chunks/{relations-BPZKAoEY.js → relations-BRfBxVbX.js} +2 -2
  66. package/dist/_chunks/{relations-BPZKAoEY.js.map → relations-BRfBxVbX.js.map} +1 -1
  67. package/dist/_chunks/{relations-o3pPhzY4.mjs → relations-BakOFl_1.mjs} +2 -2
  68. package/dist/_chunks/{relations-o3pPhzY4.mjs.map → relations-BakOFl_1.mjs.map} +1 -1
  69. package/dist/_chunks/{useDebounce-DmuSJIF3.mjs → usePrev-CZGy2Vjf.mjs} +11 -11
  70. package/dist/_chunks/usePrev-CZGy2Vjf.mjs.map +1 -0
  71. package/dist/_chunks/{useDebounce-CtcjDB3L.js → usePrev-D5J_2fEu.js} +8 -8
  72. package/dist/_chunks/usePrev-D5J_2fEu.js.map +1 -0
  73. package/dist/admin/index.js +2 -1
  74. package/dist/admin/index.js.map +1 -1
  75. package/dist/admin/index.mjs +6 -5
  76. package/dist/admin/src/exports.d.ts +1 -0
  77. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  78. package/dist/admin/src/hooks/useDocument.d.ts +19 -2
  79. package/dist/admin/src/pages/EditView/components/DocumentStatus.d.ts +1 -1
  80. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.d.ts +4 -1
  81. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/Field.d.ts +4 -1
  82. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +27 -0
  83. package/dist/admin/src/pages/EditView/utils/data.d.ts +1 -0
  84. package/dist/admin/src/preview/pages/Preview.d.ts +1 -1
  85. package/dist/admin/src/preview/services/preview.d.ts +1 -1
  86. package/dist/admin/src/services/api.d.ts +1 -1
  87. package/dist/admin/src/services/components.d.ts +2 -2
  88. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  89. package/dist/admin/src/services/documents.d.ts +16 -16
  90. package/dist/admin/src/services/init.d.ts +1 -1
  91. package/dist/admin/src/services/relations.d.ts +2 -2
  92. package/dist/admin/src/services/uid.d.ts +3 -3
  93. package/dist/server/index.js +156 -138
  94. package/dist/server/index.js.map +1 -1
  95. package/dist/server/index.mjs +157 -139
  96. package/dist/server/index.mjs.map +1 -1
  97. package/dist/server/src/controllers/utils/metadata.d.ts +1 -0
  98. package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
  99. package/dist/server/src/history/controllers/history-version.d.ts +1 -1
  100. package/dist/server/src/history/controllers/history-version.d.ts.map +1 -1
  101. package/dist/server/src/history/services/history.d.ts +3 -3
  102. package/dist/server/src/history/services/history.d.ts.map +1 -1
  103. package/dist/server/src/history/services/utils.d.ts +6 -10
  104. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  105. package/dist/server/src/index.d.ts +3 -2
  106. package/dist/server/src/index.d.ts.map +1 -1
  107. package/dist/server/src/services/document-metadata.d.ts +4 -2
  108. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  109. package/dist/server/src/services/index.d.ts +3 -2
  110. package/dist/server/src/services/index.d.ts.map +1 -1
  111. package/dist/server/src/services/utils/configuration/index.d.ts +2 -2
  112. package/dist/server/src/services/utils/configuration/layouts.d.ts +2 -2
  113. package/dist/server/src/services/utils/populate.d.ts +2 -2
  114. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  115. package/package.json +6 -7
  116. package/dist/_chunks/EditViewPage-BCjNxNlY.mjs.map +0 -1
  117. package/dist/_chunks/EditViewPage-wujOq90c.js.map +0 -1
  118. package/dist/_chunks/Field-B5QXnctJ.js.map +0 -1
  119. package/dist/_chunks/Field-Byr3mPTl.mjs.map +0 -1
  120. package/dist/_chunks/History-CqNgxkqK.mjs.map +0 -1
  121. package/dist/_chunks/History-DYl2A8Z_.js.map +0 -1
  122. package/dist/_chunks/Preview-BaYGJ0nb.mjs.map +0 -1
  123. package/dist/_chunks/Preview-DfNx8Ke-.js.map +0 -1
  124. package/dist/_chunks/index-BUWEmX8m.js.map +0 -1
  125. package/dist/_chunks/index-DVAIIsOs.mjs.map +0 -1
  126. package/dist/_chunks/useDebounce-CtcjDB3L.js.map +0 -1
  127. package/dist/_chunks/useDebounce-DmuSJIF3.mjs.map +0 -1
@@ -9,8 +9,9 @@ const reactIntl = require("react-intl");
9
9
  const reactRouterDom = require("react-router-dom");
10
10
  const styledComponents = require("styled-components");
11
11
  const yup = require("yup");
12
- const qs = require("qs");
12
+ const fractionalIndexing = require("fractional-indexing");
13
13
  const pipe = require("lodash/fp/pipe");
14
+ const qs = require("qs");
14
15
  const dateFns = require("date-fns");
15
16
  const toolkit = require("@reduxjs/toolkit");
16
17
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
@@ -187,6 +188,113 @@ const extractAndDedupeFields = (permissions = []) => permissions.flatMap((permis
187
188
  (field, index2, arr) => arr.indexOf(field) === index2 && typeof field === "string"
188
189
  );
189
190
  const removeNumericalStrings = (arr) => arr.filter((item) => isNaN(Number(item)));
191
+ const BLOCK_LIST_ATTRIBUTE_KEYS = ["__component", "__temp_key__"];
192
+ const traverseData = (predicate, transform) => (schema, components = {}) => (data = {}) => {
193
+ const traverse = (datum, attributes) => {
194
+ return Object.entries(datum).reduce((acc, [key, value]) => {
195
+ const attribute = attributes[key];
196
+ if (BLOCK_LIST_ATTRIBUTE_KEYS.includes(key) || value === null || value === void 0) {
197
+ acc[key] = value;
198
+ return acc;
199
+ }
200
+ if (attribute.type === "component") {
201
+ if (attribute.repeatable) {
202
+ const componentValue = predicate(attribute, value) ? transform(value, attribute) : value;
203
+ acc[key] = componentValue.map(
204
+ (componentData) => traverse(componentData, components[attribute.component]?.attributes ?? {})
205
+ );
206
+ } else {
207
+ const componentValue = predicate(attribute, value) ? transform(value, attribute) : value;
208
+ acc[key] = traverse(componentValue, components[attribute.component]?.attributes ?? {});
209
+ }
210
+ } else if (attribute.type === "dynamiczone") {
211
+ const dynamicZoneValue = predicate(attribute, value) ? transform(value, attribute) : value;
212
+ acc[key] = dynamicZoneValue.map(
213
+ (componentData) => traverse(componentData, components[componentData.__component]?.attributes ?? {})
214
+ );
215
+ } else if (predicate(attribute, value)) {
216
+ acc[key] = transform(value, attribute);
217
+ } else {
218
+ acc[key] = value;
219
+ }
220
+ return acc;
221
+ }, {});
222
+ };
223
+ return traverse(data, schema.attributes);
224
+ };
225
+ const removeProhibitedFields = (prohibitedFields) => traverseData(
226
+ (attribute) => prohibitedFields.includes(attribute.type),
227
+ () => ""
228
+ );
229
+ const prepareRelations = traverseData(
230
+ (attribute) => attribute.type === "relation",
231
+ () => ({
232
+ connect: [],
233
+ disconnect: []
234
+ })
235
+ );
236
+ const prepareTempKeys = traverseData(
237
+ (attribute) => attribute.type === "component" && attribute.repeatable || attribute.type === "dynamiczone",
238
+ (data) => {
239
+ if (Array.isArray(data) && data.length > 0) {
240
+ const keys = fractionalIndexing.generateNKeysBetween(void 0, void 0, data.length);
241
+ return data.map((datum, index2) => ({
242
+ ...datum,
243
+ __temp_key__: keys[index2]
244
+ }));
245
+ }
246
+ return data;
247
+ }
248
+ );
249
+ const removeFieldsThatDontExistOnSchema = (schema) => (data) => {
250
+ const schemaKeys = Object.keys(schema.attributes);
251
+ const dataKeys = Object.keys(data);
252
+ const keysToRemove = dataKeys.filter((key) => !schemaKeys.includes(key));
253
+ const revisedData = [...keysToRemove, ...DOCUMENT_META_FIELDS].reduce((acc, key) => {
254
+ delete acc[key];
255
+ return acc;
256
+ }, structuredClone(data));
257
+ return revisedData;
258
+ };
259
+ const removeNullValues = (data) => {
260
+ return Object.entries(data).reduce((acc, [key, value]) => {
261
+ if (value === null) {
262
+ return acc;
263
+ }
264
+ acc[key] = value;
265
+ return acc;
266
+ }, {});
267
+ };
268
+ const transformDocument = (schema, components = {}) => (document) => {
269
+ const transformations = pipe__default.default(
270
+ removeFieldsThatDontExistOnSchema(schema),
271
+ removeProhibitedFields(["password"])(schema, components),
272
+ removeNullValues,
273
+ prepareRelations(schema, components),
274
+ prepareTempKeys(schema, components)
275
+ );
276
+ return transformations(document);
277
+ };
278
+ const createDefaultForm = (contentType, components = {}) => {
279
+ const traverseSchema = (attributes) => {
280
+ return Object.entries(attributes).reduce((acc, [key, attribute]) => {
281
+ if ("default" in attribute) {
282
+ acc[key] = attribute.default;
283
+ } else if (attribute.type === "component" && attribute.required) {
284
+ const defaultComponentForm = traverseSchema(components[attribute.component].attributes);
285
+ if (attribute.repeatable) {
286
+ acc[key] = attribute.min ? [...Array(attribute.min).fill(defaultComponentForm)] : [];
287
+ } else {
288
+ acc[key] = defaultComponentForm;
289
+ }
290
+ } else if (attribute.type === "dynamiczone" && attribute.required) {
291
+ acc[key] = [];
292
+ }
293
+ return acc;
294
+ }, {});
295
+ };
296
+ return traverseSchema(contentType.attributes);
297
+ };
190
298
  const contentManagerApi = strapiAdmin.adminApi.enhanceEndpoints({
191
299
  addTagTypes: [
192
300
  "ComponentConfiguration",
@@ -196,7 +304,8 @@ const contentManagerApi = strapiAdmin.adminApi.enhanceEndpoints({
196
304
  "InitialData",
197
305
  "HistoryVersion",
198
306
  "Relations",
199
- "UidAvailability"
307
+ "UidAvailability",
308
+ "RecentDocumentList"
200
309
  ]
201
310
  });
202
311
  const documentApi = contentManagerApi.injectEndpoints({
@@ -214,7 +323,7 @@ const documentApi = contentManagerApi.injectEndpoints({
214
323
  if (error) {
215
324
  return [];
216
325
  }
217
- return [{ type: "Document", id: `${model}_LIST` }];
326
+ return [{ type: "Document", id: `${model}_LIST` }, "RecentDocumentList"];
218
327
  }
219
328
  }),
220
329
  cloneDocument: builder.mutation({
@@ -228,7 +337,8 @@ const documentApi = contentManagerApi.injectEndpoints({
228
337
  }),
229
338
  invalidatesTags: (_result, _error, { model }) => [
230
339
  { type: "Document", id: `${model}_LIST` },
231
- { type: "UidAvailability", id: model }
340
+ { type: "UidAvailability", id: model },
341
+ "RecentDocumentList"
232
342
  ]
233
343
  }),
234
344
  /**
@@ -247,8 +357,21 @@ const documentApi = contentManagerApi.injectEndpoints({
247
357
  invalidatesTags: (result, _error, { model }) => [
248
358
  { type: "Document", id: `${model}_LIST` },
249
359
  "Relations",
250
- { type: "UidAvailability", id: model }
251
- ]
360
+ { type: "UidAvailability", id: model },
361
+ "RecentDocumentList"
362
+ ],
363
+ transformResponse: (response, meta, arg) => {
364
+ if (!("data" in response) && arg.model === "plugin::users-permissions.user") {
365
+ return {
366
+ data: response,
367
+ meta: {
368
+ availableStatus: [],
369
+ availableLocales: []
370
+ }
371
+ };
372
+ }
373
+ return response;
374
+ }
252
375
  }),
253
376
  deleteDocument: builder.mutation({
254
377
  query: ({ collectionType, model, documentId, params }) => ({
@@ -259,7 +382,8 @@ const documentApi = contentManagerApi.injectEndpoints({
259
382
  }
260
383
  }),
261
384
  invalidatesTags: (_result, _error, { collectionType, model }) => [
262
- { type: "Document", id: collectionType !== SINGLE_TYPES ? `${model}_LIST` : model }
385
+ { type: "Document", id: collectionType !== SINGLE_TYPES ? `${model}_LIST` : model },
386
+ "RecentDocumentList"
263
387
  ]
264
388
  }),
265
389
  deleteManyDocuments: builder.mutation({
@@ -271,7 +395,10 @@ const documentApi = contentManagerApi.injectEndpoints({
271
395
  params
272
396
  }
273
397
  }),
274
- invalidatesTags: (_res, _error, { model }) => [{ type: "Document", id: `${model}_LIST` }]
398
+ invalidatesTags: (_res, _error, { model }) => [
399
+ { type: "Document", id: `${model}_LIST` },
400
+ "RecentDocumentList"
401
+ ]
275
402
  }),
276
403
  discardDocument: builder.mutation({
277
404
  query: ({ collectionType, model, documentId, params }) => ({
@@ -289,7 +416,8 @@ const documentApi = contentManagerApi.injectEndpoints({
289
416
  },
290
417
  { type: "Document", id: `${model}_LIST` },
291
418
  "Relations",
292
- { type: "UidAvailability", id: model }
419
+ { type: "UidAvailability", id: model },
420
+ "RecentDocumentList"
293
421
  ];
294
422
  }
295
423
  }),
@@ -384,7 +512,8 @@ const documentApi = contentManagerApi.injectEndpoints({
384
512
  id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model
385
513
  },
386
514
  { type: "Document", id: `${model}_LIST` },
387
- "Relations"
515
+ "Relations",
516
+ "RecentDocumentList"
388
517
  ];
389
518
  }
390
519
  }),
@@ -415,7 +544,9 @@ const documentApi = contentManagerApi.injectEndpoints({
415
544
  id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model
416
545
  },
417
546
  "Relations",
418
- { type: "UidAvailability", id: model }
547
+ { type: "UidAvailability", id: model },
548
+ "RecentDocumentList",
549
+ "RecentDocumentList"
419
550
  ];
420
551
  },
421
552
  async onQueryStarted({ data, ...patch }, { dispatch, queryFulfilled }) {
@@ -445,7 +576,8 @@ const documentApi = contentManagerApi.injectEndpoints({
445
576
  {
446
577
  type: "Document",
447
578
  id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model
448
- }
579
+ },
580
+ "RecentDocumentList"
449
581
  ];
450
582
  }
451
583
  }),
@@ -458,7 +590,10 @@ const documentApi = contentManagerApi.injectEndpoints({
458
590
  params
459
591
  }
460
592
  }),
461
- invalidatesTags: (_res, _error, { model, documentIds }) => documentIds.map((id) => ({ type: "Document", id: `${model}_${id}` }))
593
+ invalidatesTags: (_res, _error, { model, documentIds }) => [
594
+ ...documentIds.map((id) => ({ type: "Document", id: `${model}_${id}` })),
595
+ "RecentDocumentList"
596
+ ]
462
597
  })
463
598
  })
464
599
  });
@@ -1129,6 +1264,7 @@ const convertListLayoutToFieldLayouts = (columns, attributes = {}, metadatas, co
1129
1264
  const useDocument = (args, opts) => {
1130
1265
  const { toggleNotification } = strapiAdmin.useNotification();
1131
1266
  const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler();
1267
+ const { formatMessage } = reactIntl.useIntl();
1132
1268
  const {
1133
1269
  currentData: data,
1134
1270
  isLoading: isLoadingDocument,
@@ -1138,12 +1274,27 @@ const useDocument = (args, opts) => {
1138
1274
  ...opts,
1139
1275
  skip: !args.documentId && args.collectionType !== SINGLE_TYPES || opts?.skip
1140
1276
  });
1277
+ const document = data?.data;
1278
+ const meta = data?.meta;
1141
1279
  const {
1142
1280
  components,
1143
1281
  schema,
1144
1282
  schemas,
1145
1283
  isLoading: isLoadingSchema
1146
1284
  } = useContentTypeSchema(args.model);
1285
+ const isSingleType = schema?.kind === "singleType";
1286
+ const getTitle = (mainField) => {
1287
+ if (mainField !== "id" && document?.[mainField]) {
1288
+ return document[mainField];
1289
+ }
1290
+ if (isSingleType && schema?.info.displayName) {
1291
+ return schema.info.displayName;
1292
+ }
1293
+ return formatMessage({
1294
+ id: "content-manager.containers.untitled",
1295
+ defaultMessage: "Untitled"
1296
+ });
1297
+ };
1147
1298
  React__namespace.useEffect(() => {
1148
1299
  if (error) {
1149
1300
  toggleNotification({
@@ -1159,14 +1310,14 @@ const useDocument = (args, opts) => {
1159
1310
  return createYupSchema(schema.attributes, components);
1160
1311
  }, [schema, components]);
1161
1312
  const validate = React__namespace.useCallback(
1162
- (document) => {
1313
+ (document2) => {
1163
1314
  if (!validationSchema) {
1164
1315
  throw new Error(
1165
1316
  "There is no validation schema generated, this is likely due to the schema not being loaded yet."
1166
1317
  );
1167
1318
  }
1168
1319
  try {
1169
- validationSchema.validateSync(document, { abortEarly: false, strict: true });
1320
+ validationSchema.validateSync(document2, { abortEarly: false, strict: true });
1170
1321
  return null;
1171
1322
  } catch (error2) {
1172
1323
  if (error2 instanceof yup.ValidationError) {
@@ -1177,17 +1328,29 @@ const useDocument = (args, opts) => {
1177
1328
  },
1178
1329
  [validationSchema]
1179
1330
  );
1331
+ const getInitialFormValues = React__namespace.useCallback(
1332
+ (isCreatingDocument = false) => {
1333
+ if (!document && !isCreatingDocument && !isSingleType || !schema) {
1334
+ return void 0;
1335
+ }
1336
+ const form = document?.id ? document : createDefaultForm(schema, components);
1337
+ return transformDocument(schema, components)(form);
1338
+ },
1339
+ [document, isSingleType, schema, components]
1340
+ );
1180
1341
  const isLoading = isLoadingDocument || isFetchingDocument || isLoadingSchema;
1181
1342
  const hasError = !!error;
1182
1343
  return {
1183
1344
  components,
1184
- document: data?.data,
1185
- meta: data?.meta,
1345
+ document,
1346
+ meta,
1186
1347
  isLoading,
1187
1348
  hasError,
1188
1349
  schema,
1189
1350
  schemas,
1190
- validate
1351
+ validate,
1352
+ getTitle,
1353
+ getInitialFormValues
1191
1354
  };
1192
1355
  };
1193
1356
  const useDoc = () => {
@@ -1688,7 +1851,7 @@ const useDocumentActions = () => {
1688
1851
  };
1689
1852
  };
1690
1853
  const ProtectedHistoryPage = React__namespace.lazy(
1691
- () => Promise.resolve().then(() => require("./History-DYl2A8Z_.js")).then((mod) => ({ default: mod.ProtectedHistoryPage }))
1854
+ () => Promise.resolve().then(() => require("./History-DTm8UCCQ.js")).then((mod) => ({ default: mod.ProtectedHistoryPage }))
1692
1855
  );
1693
1856
  const routes$2 = [
1694
1857
  {
@@ -1701,7 +1864,7 @@ const routes$2 = [
1701
1864
  }
1702
1865
  ];
1703
1866
  const ProtectedPreviewPage = React__namespace.lazy(
1704
- () => Promise.resolve().then(() => require("./Preview-DfNx8Ke-.js")).then((mod) => ({ default: mod.ProtectedPreviewPage }))
1867
+ () => Promise.resolve().then(() => require("./Preview-Cxq-uI6D.js")).then((mod) => ({ default: mod.ProtectedPreviewPage }))
1705
1868
  );
1706
1869
  const routes$1 = [
1707
1870
  {
@@ -1714,31 +1877,31 @@ const routes$1 = [
1714
1877
  }
1715
1878
  ];
1716
1879
  const ProtectedEditViewPage = React.lazy(
1717
- () => Promise.resolve().then(() => require("./EditViewPage-wujOq90c.js")).then((mod) => ({ default: mod.ProtectedEditViewPage }))
1880
+ () => Promise.resolve().then(() => require("./EditViewPage-D4yFJET6.js")).then((mod) => ({ default: mod.ProtectedEditViewPage }))
1718
1881
  );
1719
1882
  const ProtectedListViewPage = React.lazy(
1720
- () => Promise.resolve().then(() => require("./ListViewPage-BtSi8C1l.js")).then((mod) => ({ default: mod.ProtectedListViewPage }))
1883
+ () => Promise.resolve().then(() => require("./ListViewPage-DTuuxU3n.js")).then((mod) => ({ default: mod.ProtectedListViewPage }))
1721
1884
  );
1722
1885
  const ProtectedListConfiguration = React.lazy(
1723
- () => Promise.resolve().then(() => require("./ListConfigurationPage-BXnu_OoY.js")).then((mod) => ({
1886
+ () => Promise.resolve().then(() => require("./ListConfigurationPage-ysFMjKI3.js")).then((mod) => ({
1724
1887
  default: mod.ProtectedListConfiguration
1725
1888
  }))
1726
1889
  );
1727
1890
  const ProtectedEditConfigurationPage = React.lazy(
1728
- () => Promise.resolve().then(() => require("./EditConfigurationPage-z39Wv3E6.js")).then((mod) => ({
1891
+ () => Promise.resolve().then(() => require("./EditConfigurationPage-Bl_U2JgH.js")).then((mod) => ({
1729
1892
  default: mod.ProtectedEditConfigurationPage
1730
1893
  }))
1731
1894
  );
1732
1895
  const ProtectedComponentConfigurationPage = React.lazy(
1733
- () => Promise.resolve().then(() => require("./ComponentConfigurationPage-BTR_hQow.js")).then((mod) => ({
1896
+ () => Promise.resolve().then(() => require("./ComponentConfigurationPage-DBSh-kET.js")).then((mod) => ({
1734
1897
  default: mod.ProtectedComponentConfigurationPage
1735
1898
  }))
1736
1899
  );
1737
1900
  const NoPermissions = React.lazy(
1738
- () => Promise.resolve().then(() => require("./NoPermissionsPage-DzgWz0M-.js")).then((mod) => ({ default: mod.NoPermissions }))
1901
+ () => Promise.resolve().then(() => require("./NoPermissionsPage-v7I599vC.js")).then((mod) => ({ default: mod.NoPermissions }))
1739
1902
  );
1740
1903
  const NoContentType = React.lazy(
1741
- () => Promise.resolve().then(() => require("./NoContentTypePage-CitJeOq4.js")).then((mod) => ({ default: mod.NoContentType }))
1904
+ () => Promise.resolve().then(() => require("./NoContentTypePage-CL7VVeYs.js")).then((mod) => ({ default: mod.NoContentType }))
1742
1905
  );
1743
1906
  const CollectionTypePages = () => {
1744
1907
  const { collectionType } = reactRouterDom.useParams();
@@ -3133,7 +3296,7 @@ const ConfirmBulkActionDialog = ({
3133
3296
  ] })
3134
3297
  ] }) });
3135
3298
  };
3136
- const BoldChunk$1 = (chunks) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "bold", children: chunks });
3299
+ const BoldChunk = (chunks) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "bold", children: chunks });
3137
3300
  const ConfirmDialogPublishAll = ({
3138
3301
  isOpen,
3139
3302
  onToggleDialog,
@@ -3182,7 +3345,7 @@ const ConfirmDialogPublishAll = ({
3182
3345
  defaultMessage: "<b>{count} {count, plural, one { relation } other { relations } } out of {entities} { entities, plural, one { entry } other { entries } } {count, plural, one { is } other { are } }</b> not published yet and might lead to unexpected behavior. "
3183
3346
  },
3184
3347
  {
3185
- b: BoldChunk$1,
3348
+ b: BoldChunk,
3186
3349
  count: countDraftRelations,
3187
3350
  entities: selectedEntries.length
3188
3351
  }
@@ -3221,6 +3384,16 @@ const ConfirmDialogPublishAll = ({
3221
3384
  const TypographyMaxWidth = styledComponents.styled(designSystem.Typography)`
3222
3385
  max-width: 300px;
3223
3386
  `;
3387
+ const TableComponent = styledComponents.styled(designSystem.RawTable)`
3388
+ width: 100%;
3389
+ table-layout: fixed;
3390
+ td:first-child {
3391
+ border-right: 1px solid ${({ theme }) => theme.colors.neutral150};
3392
+ }
3393
+ td:first-of-type {
3394
+ padding: ${({ theme }) => theme.spaces[4]};
3395
+ }
3396
+ `;
3224
3397
  const formatErrorMessages = (errors, parentKey, formatMessage) => {
3225
3398
  const messages = [];
3226
3399
  Object.entries(errors).forEach(([key, value]) => {
@@ -3325,7 +3498,7 @@ const SelectedEntriesTableContent = ({
3325
3498
  )
3326
3499
  ] }),
3327
3500
  /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Table.Loading, {}),
3328
- /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Table.Body, { children: rowsToDisplay.map((row, index2) => /* @__PURE__ */ jsxRuntime.jsxs(strapiAdmin.Table.Row, { children: [
3501
+ /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Table.Body, { children: rowsToDisplay.map((row) => /* @__PURE__ */ jsxRuntime.jsxs(strapiAdmin.Table.Row, { children: [
3329
3502
  /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Table.CheckboxCell, { id: row.id }),
3330
3503
  /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Table.Cell, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: row.id }) }),
3331
3504
  shouldDisplayMainField && /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Table.Cell, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: row[mainField] }) }),
@@ -3365,7 +3538,73 @@ const SelectedEntriesTableContent = ({
3365
3538
  ] }, row.id)) })
3366
3539
  ] });
3367
3540
  };
3368
- const BoldChunk = (chunks) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "bold", children: chunks });
3541
+ const PublicationStatusSummary = ({ count, icon, message }) => {
3542
+ return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { justifyContent: "space-between", flex: 1, gap: 3, children: [
3543
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, children: [
3544
+ icon,
3545
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: message })
3546
+ ] }),
3547
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "bold", children: count })
3548
+ ] });
3549
+ };
3550
+ const PublicationStatusGrid = ({
3551
+ entriesReadyToPublishCount,
3552
+ entriesPublishedCount,
3553
+ entriesModifiedCount,
3554
+ entriesWithErrorsCount
3555
+ }) => {
3556
+ const { formatMessage } = reactIntl.useIntl();
3557
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { hasRadius: true, borderColor: "neutral150", children: /* @__PURE__ */ jsxRuntime.jsx(TableComponent, { colCount: 2, rowCount: 2, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tbody, { children: [
3558
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tr, { children: [
3559
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { children: /* @__PURE__ */ jsxRuntime.jsx(
3560
+ PublicationStatusSummary,
3561
+ {
3562
+ count: entriesReadyToPublishCount,
3563
+ icon: /* @__PURE__ */ jsxRuntime.jsx(Icons.CheckCircle, { fill: "success600" }),
3564
+ message: formatMessage({
3565
+ id: "app.utils.ready-to-publish",
3566
+ defaultMessage: "Ready to publish"
3567
+ })
3568
+ }
3569
+ ) }),
3570
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { children: /* @__PURE__ */ jsxRuntime.jsx(
3571
+ PublicationStatusSummary,
3572
+ {
3573
+ count: entriesPublishedCount,
3574
+ icon: /* @__PURE__ */ jsxRuntime.jsx(Icons.CheckCircle, { fill: "success600" }),
3575
+ message: formatMessage({
3576
+ id: "app.utils.already-published",
3577
+ defaultMessage: "Already published"
3578
+ })
3579
+ }
3580
+ ) })
3581
+ ] }),
3582
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tr, { children: [
3583
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { children: /* @__PURE__ */ jsxRuntime.jsx(
3584
+ PublicationStatusSummary,
3585
+ {
3586
+ count: entriesModifiedCount,
3587
+ icon: /* @__PURE__ */ jsxRuntime.jsx(Icons.ArrowsCounterClockwise, { fill: "alternative600" }),
3588
+ message: formatMessage({
3589
+ id: "content-manager.bulk-publish.modified",
3590
+ defaultMessage: "Ready to publish changes"
3591
+ })
3592
+ }
3593
+ ) }),
3594
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { children: /* @__PURE__ */ jsxRuntime.jsx(
3595
+ PublicationStatusSummary,
3596
+ {
3597
+ count: entriesWithErrorsCount,
3598
+ icon: /* @__PURE__ */ jsxRuntime.jsx(Icons.CrossCircle, { fill: "danger600" }),
3599
+ message: formatMessage({
3600
+ id: "content-manager.bulk-publish.waiting-for-action",
3601
+ defaultMessage: "Waiting for action"
3602
+ })
3603
+ }
3604
+ ) })
3605
+ ] })
3606
+ ] }) }) });
3607
+ };
3369
3608
  const SelectedEntriesModalContent = ({
3370
3609
  listViewSelectedEntries,
3371
3610
  toggleModal,
@@ -3424,7 +3663,6 @@ const SelectedEntriesModalContent = ({
3424
3663
  validationErrors: {}
3425
3664
  };
3426
3665
  }, [components, data, schema]);
3427
- const [publishedCount, setPublishedCount] = React__namespace.useState(0);
3428
3666
  const [isDialogOpen, setIsDialogOpen] = React__namespace.useState(false);
3429
3667
  const { publishMany: bulkPublishAction } = useDocumentActions();
3430
3668
  const [, { isLoading: isSubmittingForm }] = usePublishManyDocumentsMutation();
@@ -3436,53 +3674,36 @@ const SelectedEntriesModalContent = ({
3436
3674
  const selectedEntriesWithErrorsCount = selectedEntries.filter(
3437
3675
  ({ documentId }) => validationErrors[documentId]
3438
3676
  ).length;
3439
- const selectedEntriesPublished = selectedEntries.filter(
3677
+ const selectedEntriesPublishedCount = selectedEntries.filter(
3440
3678
  ({ status }) => status === "published"
3441
3679
  ).length;
3442
- const selectedEntriesWithNoErrorsCount = selectedEntries.length - selectedEntriesWithErrorsCount - selectedEntriesPublished;
3680
+ const selectedEntriesModifiedCount = selectedEntries.filter(
3681
+ ({ status, documentId }) => status === "modified" && !validationErrors[documentId]
3682
+ ).length;
3683
+ const selectedEntriesWithNoErrorsCount = selectedEntries.length - selectedEntriesWithErrorsCount - selectedEntriesPublishedCount;
3443
3684
  const toggleDialog = () => setIsDialogOpen((prev) => !prev);
3444
3685
  const handleConfirmBulkPublish = async () => {
3445
3686
  toggleDialog();
3446
3687
  const res = await bulkPublishAction({ model, documentIds: entriesToPublish, params });
3447
3688
  if (!("error" in res)) {
3448
- setPublishedCount(res.count);
3449
3689
  const unpublishedEntries = rows.filter((row) => {
3450
3690
  return !entriesToPublish.includes(row.documentId);
3451
3691
  });
3452
3692
  setListViewSelectedDocuments(unpublishedEntries);
3453
3693
  }
3454
3694
  };
3455
- const getFormattedCountMessage = () => {
3456
- if (publishedCount) {
3457
- return formatMessage(
3458
- {
3459
- id: getTranslation("containers.list.selectedEntriesModal.publishedCount"),
3460
- defaultMessage: "<b>{publishedCount}</b> {publishedCount, plural, =0 {entries} one {entry} other {entries}} published. <b>{withErrorsCount}</b> {withErrorsCount, plural, =0 {entries} one {entry} other {entries}} waiting for action."
3461
- },
3462
- {
3463
- publishedCount,
3464
- withErrorsCount: selectedEntriesWithErrorsCount,
3465
- b: BoldChunk
3466
- }
3467
- );
3468
- }
3469
- return formatMessage(
3470
- {
3471
- id: getTranslation("containers.list.selectedEntriesModal.selectedCount"),
3472
- defaultMessage: "<b>{alreadyPublishedCount}</b> {alreadyPublishedCount, plural, =0 {entries} one {entry} other {entries}} already published. <b>{readyToPublishCount}</b> {readyToPublishCount, plural, =0 {entries} one {entry} other {entries}} ready to publish. <b>{withErrorsCount}</b> {withErrorsCount, plural, =0 {entries} one {entry} other {entries}} waiting for action."
3473
- },
3474
- {
3475
- readyToPublishCount: selectedEntriesWithNoErrorsCount,
3476
- withErrorsCount: selectedEntriesWithErrorsCount,
3477
- alreadyPublishedCount: selectedEntriesPublished,
3478
- b: BoldChunk
3479
- }
3480
- );
3481
- };
3482
3695
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3483
3696
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Body, { children: [
3484
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: getFormattedCountMessage() }),
3485
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { marginTop: 5, children: /* @__PURE__ */ jsxRuntime.jsx(
3697
+ /* @__PURE__ */ jsxRuntime.jsx(
3698
+ PublicationStatusGrid,
3699
+ {
3700
+ entriesReadyToPublishCount: selectedEntriesWithNoErrorsCount - selectedEntriesModifiedCount,
3701
+ entriesPublishedCount: selectedEntriesPublishedCount,
3702
+ entriesModifiedCount: selectedEntriesModifiedCount,
3703
+ entriesWithErrorsCount: selectedEntriesWithErrorsCount
3704
+ }
3705
+ ),
3706
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { marginTop: 7, children: /* @__PURE__ */ jsxRuntime.jsx(
3486
3707
  SelectedEntriesTableContent,
3487
3708
  {
3488
3709
  isPublishing: isSubmittingForm,
@@ -3503,7 +3724,7 @@ const SelectedEntriesModalContent = ({
3503
3724
  designSystem.Button,
3504
3725
  {
3505
3726
  onClick: toggleDialog,
3506
- disabled: selectedEntries.length === 0 || selectedEntries.length === selectedEntriesWithErrorsCount || selectedEntriesPublished === selectedEntries.length || isLoading,
3727
+ disabled: selectedEntries.length === 0 || selectedEntries.length === selectedEntriesWithErrorsCount || selectedEntriesPublishedCount === selectedEntries.length || isLoading,
3507
3728
  loading: isSubmittingForm,
3508
3729
  children: formatMessage({ id: "app.utils.publish", defaultMessage: "Publish" })
3509
3730
  }
@@ -4193,7 +4414,7 @@ const index = {
4193
4414
  app.router.addRoute({
4194
4415
  path: "content-manager/*",
4195
4416
  lazy: async () => {
4196
- const { Layout } = await Promise.resolve().then(() => require("./layout-C3fN7Ejz.js"));
4417
+ const { Layout } = await Promise.resolve().then(() => require("./layout-Cl0NhlQB.js"));
4197
4418
  return {
4198
4419
  Component: Layout
4199
4420
  };
@@ -4213,7 +4434,7 @@ const index = {
4213
4434
  async registerTrads({ locales }) {
4214
4435
  const importedTrads = await Promise.all(
4215
4436
  locales.map((locale) => {
4216
- return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => Promise.resolve().then(() => require("./ar-BUUWXIYu.js")), "./translations/ca.json": () => Promise.resolve().then(() => require("./ca-Cmk45QO6.js")), "./translations/cs.json": () => Promise.resolve().then(() => require("./cs-CkJy6B2v.js")), "./translations/de.json": () => Promise.resolve().then(() => require("./de-CCEmbAah.js")), "./translations/en.json": () => Promise.resolve().then(() => require("./en-BK8Xyl5I.js")), "./translations/es.json": () => Promise.resolve().then(() => require("./es-9K52xZIr.js")), "./translations/eu.json": () => Promise.resolve().then(() => require("./eu-VDH-3ovk.js")), "./translations/fr.json": () => Promise.resolve().then(() => require("./fr-B2Kyv8Z9.js")), "./translations/gu.json": () => Promise.resolve().then(() => require("./gu-BRmF601H.js")), "./translations/hi.json": () => Promise.resolve().then(() => require("./hi-CCJBptSq.js")), "./translations/hu.json": () => Promise.resolve().then(() => require("./hu-sNV_yLYy.js")), "./translations/id.json": () => Promise.resolve().then(() => require("./id-B5Ser98A.js")), "./translations/it.json": () => Promise.resolve().then(() => require("./it-DkBIs7vD.js")), "./translations/ja.json": () => Promise.resolve().then(() => require("./ja-7sfIbjxE.js")), "./translations/ko.json": () => Promise.resolve().then(() => require("./ko-woFZPmLk.js")), "./translations/ml.json": () => Promise.resolve().then(() => require("./ml-C2W8N8k1.js")), "./translations/ms.json": () => Promise.resolve().then(() => require("./ms-BuFotyP_.js")), "./translations/nl.json": () => Promise.resolve().then(() => require("./nl-bbEOHChV.js")), "./translations/pl.json": () => Promise.resolve().then(() => require("./pl-uzwG-hk7.js")), "./translations/pt-BR.json": () => Promise.resolve().then(() => require("./pt-BR-BiOz37D9.js")), "./translations/pt.json": () => Promise.resolve().then(() => require("./pt-CeXQuq50.js")), "./translations/ru.json": () => Promise.resolve().then(() => require("./ru-BT3ybNny.js")), "./translations/sa.json": () => Promise.resolve().then(() => require("./sa-CcvkYInH.js")), "./translations/sk.json": () => Promise.resolve().then(() => require("./sk-CvY09Xjv.js")), "./translations/sv.json": () => Promise.resolve().then(() => require("./sv-MYDuzgvT.js")), "./translations/th.json": () => Promise.resolve().then(() => require("./th-D9_GfAjc.js")), "./translations/tr.json": () => Promise.resolve().then(() => require("./tr-D9UH-O_R.js")), "./translations/uk.json": () => Promise.resolve().then(() => require("./uk-C8EiqJY7.js")), "./translations/vi.json": () => Promise.resolve().then(() => require("./vi-CJlYDheJ.js")), "./translations/zh-Hans.json": () => Promise.resolve().then(() => require("./zh-Hans-9kOncHGw.js")), "./translations/zh.json": () => Promise.resolve().then(() => require("./zh-CQQfszqR.js")) }), `./translations/${locale}.json`, 3).then(({ default: data }) => {
4437
+ return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => Promise.resolve().then(() => require("./ar-BUUWXIYu.js")), "./translations/ca.json": () => Promise.resolve().then(() => require("./ca-Cmk45QO6.js")), "./translations/cs.json": () => Promise.resolve().then(() => require("./cs-CkJy6B2v.js")), "./translations/de.json": () => Promise.resolve().then(() => require("./de-CCEmbAah.js")), "./translations/en.json": () => Promise.resolve().then(() => require("./en-BR48D_RH.js")), "./translations/es.json": () => Promise.resolve().then(() => require("./es-9K52xZIr.js")), "./translations/eu.json": () => Promise.resolve().then(() => require("./eu-VDH-3ovk.js")), "./translations/fr.json": () => Promise.resolve().then(() => require("./fr-C43IbhA_.js")), "./translations/gu.json": () => Promise.resolve().then(() => require("./gu-BRmF601H.js")), "./translations/hi.json": () => Promise.resolve().then(() => require("./hi-CCJBptSq.js")), "./translations/hu.json": () => Promise.resolve().then(() => require("./hu-sNV_yLYy.js")), "./translations/id.json": () => Promise.resolve().then(() => require("./id-B5Ser98A.js")), "./translations/it.json": () => Promise.resolve().then(() => require("./it-DkBIs7vD.js")), "./translations/ja.json": () => Promise.resolve().then(() => require("./ja-7sfIbjxE.js")), "./translations/ko.json": () => Promise.resolve().then(() => require("./ko-woFZPmLk.js")), "./translations/ml.json": () => Promise.resolve().then(() => require("./ml-C2W8N8k1.js")), "./translations/ms.json": () => Promise.resolve().then(() => require("./ms-BuFotyP_.js")), "./translations/nl.json": () => Promise.resolve().then(() => require("./nl-bbEOHChV.js")), "./translations/pl.json": () => Promise.resolve().then(() => require("./pl-uzwG-hk7.js")), "./translations/pt-BR.json": () => Promise.resolve().then(() => require("./pt-BR-BiOz37D9.js")), "./translations/pt.json": () => Promise.resolve().then(() => require("./pt-CeXQuq50.js")), "./translations/ru.json": () => Promise.resolve().then(() => require("./ru-BT3ybNny.js")), "./translations/sa.json": () => Promise.resolve().then(() => require("./sa-CcvkYInH.js")), "./translations/sk.json": () => Promise.resolve().then(() => require("./sk-CvY09Xjv.js")), "./translations/sv.json": () => Promise.resolve().then(() => require("./sv-MYDuzgvT.js")), "./translations/th.json": () => Promise.resolve().then(() => require("./th-D9_GfAjc.js")), "./translations/tr.json": () => Promise.resolve().then(() => require("./tr-D9UH-O_R.js")), "./translations/uk.json": () => Promise.resolve().then(() => require("./uk-C8EiqJY7.js")), "./translations/vi.json": () => Promise.resolve().then(() => require("./vi-CJlYDheJ.js")), "./translations/zh-Hans.json": () => Promise.resolve().then(() => require("./zh-Hans-9kOncHGw.js")), "./translations/zh.json": () => Promise.resolve().then(() => require("./zh-CQQfszqR.js")) }), `./translations/${locale}.json`, 3).then(({ default: data }) => {
4217
4438
  return {
4218
4439
  data: prefixPluginTranslations(data, PLUGIN_ID),
4219
4440
  locale
@@ -4235,7 +4456,6 @@ exports.CLONE_PATH = CLONE_PATH;
4235
4456
  exports.COLLECTION_TYPES = COLLECTION_TYPES;
4236
4457
  exports.CREATOR_FIELDS = CREATOR_FIELDS;
4237
4458
  exports.DEFAULT_SETTINGS = DEFAULT_SETTINGS;
4238
- exports.DOCUMENT_META_FIELDS = DOCUMENT_META_FIELDS;
4239
4459
  exports.DocumentRBAC = DocumentRBAC;
4240
4460
  exports.DocumentStatus = DocumentStatus;
4241
4461
  exports.HOOKS = HOOKS;
@@ -4252,13 +4472,17 @@ exports.checkIfAttributeIsDisplayable = checkIfAttributeIsDisplayable;
4252
4472
  exports.contentManagerApi = contentManagerApi;
4253
4473
  exports.convertEditLayoutToFieldLayouts = convertEditLayoutToFieldLayouts;
4254
4474
  exports.convertListLayoutToFieldLayouts = convertListLayoutToFieldLayouts;
4475
+ exports.createDefaultForm = createDefaultForm;
4255
4476
  exports.createYupSchema = createYupSchema;
4256
4477
  exports.extractContentTypeComponents = extractContentTypeComponents;
4257
4478
  exports.getDisplayName = getDisplayName;
4258
4479
  exports.getMainField = getMainField;
4259
4480
  exports.getTranslation = getTranslation;
4260
4481
  exports.index = index;
4482
+ exports.prepareTempKeys = prepareTempKeys;
4483
+ exports.removeFieldsThatDontExistOnSchema = removeFieldsThatDontExistOnSchema;
4261
4484
  exports.setInitialData = setInitialData;
4485
+ exports.transformDocument = transformDocument;
4262
4486
  exports.useContentManagerContext = useContentManagerContext;
4263
4487
  exports.useContentTypeSchema = useContentTypeSchema;
4264
4488
  exports.useDoc = useDoc;
@@ -4273,4 +4497,4 @@ exports.useGetContentTypeConfigurationQuery = useGetContentTypeConfigurationQuer
4273
4497
  exports.useGetInitialDataQuery = useGetInitialDataQuery;
4274
4498
  exports.useGetPreviewUrlQuery = useGetPreviewUrlQuery;
4275
4499
  exports.useUpdateContentTypeConfigurationMutation = useUpdateContentTypeConfigurationMutation;
4276
- //# sourceMappingURL=index-BUWEmX8m.js.map
4500
+ //# sourceMappingURL=index-DQsvBb_N.js.map