@strapi/content-manager 0.0.0-experimental.93a73ca8c7b85667fe8e46c0cb6627506570a02f → 0.0.0-experimental.9a23f06c0b3b13548dbd12feb3dc92d3c10bebb1

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 (105) hide show
  1. package/dist/_chunks/{ComponentConfigurationPage-B3yDbeU1.mjs → ComponentConfigurationPage-CpBFh6_r.mjs} +3 -3
  2. package/dist/_chunks/{ComponentConfigurationPage-B3yDbeU1.mjs.map → ComponentConfigurationPage-CpBFh6_r.mjs.map} +1 -1
  3. package/dist/_chunks/{ComponentConfigurationPage-KXSuLnQD.js → ComponentConfigurationPage-_zF8p6CY.js} +3 -3
  4. package/dist/_chunks/{ComponentConfigurationPage-KXSuLnQD.js.map → ComponentConfigurationPage-_zF8p6CY.js.map} +1 -1
  5. package/dist/_chunks/{EditConfigurationPage-D7PrLO8j.mjs → EditConfigurationPage-CE_yavTi.mjs} +3 -3
  6. package/dist/_chunks/{EditConfigurationPage-D7PrLO8j.mjs.map → EditConfigurationPage-CE_yavTi.mjs.map} +1 -1
  7. package/dist/_chunks/{EditConfigurationPage-BQ17--5R.js → EditConfigurationPage-_aG2DJSU.js} +3 -3
  8. package/dist/_chunks/{EditConfigurationPage-BQ17--5R.js.map → EditConfigurationPage-_aG2DJSU.js.map} +1 -1
  9. package/dist/_chunks/{EditViewPage-B7VgwJaG.mjs → EditViewPage-DeTn7rAF.mjs} +4 -4
  10. package/dist/_chunks/EditViewPage-DeTn7rAF.mjs.map +1 -0
  11. package/dist/_chunks/{EditViewPage-BgjdnGz2.js → EditViewPage-G9uNzwYL.js} +4 -4
  12. package/dist/_chunks/EditViewPage-G9uNzwYL.js.map +1 -0
  13. package/dist/_chunks/{Field-tHCw4lGA.mjs → Field-CnCKhI1R.mjs} +31 -62
  14. package/dist/_chunks/Field-CnCKhI1R.mjs.map +1 -0
  15. package/dist/_chunks/{Field-CdK7ZLmv.js → Field-DDHUWEfV.js} +34 -65
  16. package/dist/_chunks/Field-DDHUWEfV.js.map +1 -0
  17. package/dist/_chunks/{Form-C_0KTVvV.js → Form-DYETaKUX.js} +15 -7
  18. package/dist/_chunks/Form-DYETaKUX.js.map +1 -0
  19. package/dist/_chunks/{Form-BJxdTv3Q.mjs → Form-IvVVwqRL.mjs} +15 -7
  20. package/dist/_chunks/Form-IvVVwqRL.mjs.map +1 -0
  21. package/dist/_chunks/{History-DR2txJLE.mjs → History-BMunT-do.mjs} +4 -4
  22. package/dist/_chunks/{History-DR2txJLE.mjs.map → History-BMunT-do.mjs.map} +1 -1
  23. package/dist/_chunks/{History-nuEzM5qm.js → History-CnZDctSO.js} +4 -4
  24. package/dist/_chunks/{History-nuEzM5qm.js.map → History-CnZDctSO.js.map} +1 -1
  25. package/dist/_chunks/{ListConfigurationPage-CnB86Psm.js → ListConfigurationPage-BynalOp8.js} +2 -2
  26. package/dist/_chunks/{ListConfigurationPage-CnB86Psm.js.map → ListConfigurationPage-BynalOp8.js.map} +1 -1
  27. package/dist/_chunks/{ListConfigurationPage-voFVtXu6.mjs → ListConfigurationPage-CDqkCxgV.mjs} +2 -2
  28. package/dist/_chunks/{ListConfigurationPage-voFVtXu6.mjs.map → ListConfigurationPage-CDqkCxgV.mjs.map} +1 -1
  29. package/dist/_chunks/{ListViewPage-SXIXm-RM.js → ListViewPage-I88Ouzoq.js} +38 -38
  30. package/dist/_chunks/ListViewPage-I88Ouzoq.js.map +1 -0
  31. package/dist/_chunks/{ListViewPage-B_GaWgRH.mjs → ListViewPage-_5gS-DOF.mjs} +35 -35
  32. package/dist/_chunks/ListViewPage-_5gS-DOF.mjs.map +1 -0
  33. package/dist/_chunks/{NoContentTypePage-BzsQ3hLZ.js → NoContentTypePage-BaWQ7HsA.js} +2 -2
  34. package/dist/_chunks/{NoContentTypePage-BzsQ3hLZ.js.map → NoContentTypePage-BaWQ7HsA.js.map} +1 -1
  35. package/dist/_chunks/{NoContentTypePage-CYiGpsbj.mjs → NoContentTypePage-Dht-55hr.mjs} +2 -2
  36. package/dist/_chunks/{NoContentTypePage-CYiGpsbj.mjs.map → NoContentTypePage-Dht-55hr.mjs.map} +1 -1
  37. package/dist/_chunks/{NoPermissionsPage-B5baIHal.mjs → NoPermissionsPage-Bs8D5W_v.mjs} +2 -2
  38. package/dist/_chunks/{NoPermissionsPage-B5baIHal.mjs.map → NoPermissionsPage-Bs8D5W_v.mjs.map} +1 -1
  39. package/dist/_chunks/{NoPermissionsPage-IGkId4C5.js → NoPermissionsPage-DCVUh5at.js} +2 -2
  40. package/dist/_chunks/{NoPermissionsPage-IGkId4C5.js.map → NoPermissionsPage-DCVUh5at.js.map} +1 -1
  41. package/dist/_chunks/{Relations-Dhuurpx2.js → Relations-BPgFQeGj.js} +3 -3
  42. package/dist/_chunks/{Relations-Dhuurpx2.js.map → Relations-BPgFQeGj.js.map} +1 -1
  43. package/dist/_chunks/{Relations-CIYDdKU-.mjs → Relations-Chdt5qWc.mjs} +3 -3
  44. package/dist/_chunks/{Relations-CIYDdKU-.mjs.map → Relations-Chdt5qWc.mjs.map} +1 -1
  45. package/dist/_chunks/{en-uOUIxfcQ.js → en-BVzUkPxZ.js} +6 -5
  46. package/dist/_chunks/{en-uOUIxfcQ.js.map → en-BVzUkPxZ.js.map} +1 -1
  47. package/dist/_chunks/{en-BrCTWlZv.mjs → en-CPTj6CjC.mjs} +6 -5
  48. package/dist/_chunks/{en-BrCTWlZv.mjs.map → en-CPTj6CjC.mjs.map} +1 -1
  49. package/dist/_chunks/{index-CdT0kHZ8.js → index-BhbLFX4l.js} +164 -98
  50. package/dist/_chunks/index-BhbLFX4l.js.map +1 -0
  51. package/dist/_chunks/{index-C9TJPyni.mjs → index-D4UGPFZC.mjs} +183 -117
  52. package/dist/_chunks/index-D4UGPFZC.mjs.map +1 -0
  53. package/dist/_chunks/{layout-C6dxWYT7.js → layout-CYA7s0qO.js} +5 -4
  54. package/dist/_chunks/{layout-C6dxWYT7.js.map → layout-CYA7s0qO.js.map} +1 -1
  55. package/dist/_chunks/{layout-BNqvLR_b.mjs → layout-D4HI4_PS.mjs} +5 -4
  56. package/dist/_chunks/{layout-BNqvLR_b.mjs.map → layout-D4HI4_PS.mjs.map} +1 -1
  57. package/dist/_chunks/{relations-CkKqKw65.mjs → relations-1pXaYpBK.mjs} +2 -2
  58. package/dist/_chunks/{relations-CkKqKw65.mjs.map → relations-1pXaYpBK.mjs.map} +1 -1
  59. package/dist/_chunks/{relations-DtFaDnP1.js → relations-DDZ9OxNo.js} +2 -2
  60. package/dist/_chunks/{relations-DtFaDnP1.js.map → relations-DDZ9OxNo.js.map} +1 -1
  61. package/dist/_chunks/{usePrev-B9w_-eYc.js → useDebounce-CtcjDB3L.js} +14 -1
  62. package/dist/_chunks/useDebounce-CtcjDB3L.js.map +1 -0
  63. package/dist/_chunks/useDebounce-DmuSJIF3.mjs +29 -0
  64. package/dist/_chunks/useDebounce-DmuSJIF3.mjs.map +1 -0
  65. package/dist/admin/index.js +1 -1
  66. package/dist/admin/index.mjs +4 -4
  67. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  68. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +0 -32
  69. package/dist/admin/src/pages/EditView/components/Header.d.ts +10 -11
  70. package/dist/admin/src/services/api.d.ts +1 -1
  71. package/dist/admin/src/services/components.d.ts +2 -2
  72. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  73. package/dist/admin/src/services/documents.d.ts +19 -17
  74. package/dist/admin/src/services/init.d.ts +1 -1
  75. package/dist/admin/src/services/relations.d.ts +2 -2
  76. package/dist/admin/src/services/uid.d.ts +3 -3
  77. package/dist/admin/src/utils/validation.d.ts +4 -1
  78. package/dist/server/index.js +47 -23
  79. package/dist/server/index.js.map +1 -1
  80. package/dist/server/index.mjs +47 -23
  81. package/dist/server/index.mjs.map +1 -1
  82. package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
  83. package/dist/server/src/controllers/relations.d.ts.map +1 -1
  84. package/dist/server/src/history/services/history.d.ts.map +1 -1
  85. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  86. package/dist/server/src/history/services/utils.d.ts +1 -0
  87. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  88. package/dist/server/src/policies/hasPermissions.d.ts.map +1 -1
  89. package/dist/server/src/services/permission-checker.d.ts.map +1 -1
  90. package/dist/shared/contracts/collection-types.d.ts +3 -1
  91. package/dist/shared/contracts/collection-types.d.ts.map +1 -1
  92. package/package.json +9 -9
  93. package/dist/_chunks/EditViewPage-B7VgwJaG.mjs.map +0 -1
  94. package/dist/_chunks/EditViewPage-BgjdnGz2.js.map +0 -1
  95. package/dist/_chunks/Field-CdK7ZLmv.js.map +0 -1
  96. package/dist/_chunks/Field-tHCw4lGA.mjs.map +0 -1
  97. package/dist/_chunks/Form-BJxdTv3Q.mjs.map +0 -1
  98. package/dist/_chunks/Form-C_0KTVvV.js.map +0 -1
  99. package/dist/_chunks/ListViewPage-B_GaWgRH.mjs.map +0 -1
  100. package/dist/_chunks/ListViewPage-SXIXm-RM.js.map +0 -1
  101. package/dist/_chunks/index-C9TJPyni.mjs.map +0 -1
  102. package/dist/_chunks/index-CdT0kHZ8.js.map +0 -1
  103. package/dist/_chunks/usePrev-B9w_-eYc.js.map +0 -1
  104. package/dist/_chunks/usePrev-DH6iah0A.mjs +0 -16
  105. package/dist/_chunks/usePrev-DH6iah0A.mjs.map +0 -1
@@ -1,16 +1,16 @@
1
- import { CrossCircle, More, WarningCircle, ListPlus, Pencil, Trash, Check, CheckCircle, ArrowsCounterClockwise, ChevronRight, Duplicate, ClockCounterClockwise, Feather } from "@strapi/icons";
1
+ import { More, Cross, WarningCircle, ListPlus, Pencil, Trash, Check, CrossCircle, CheckCircle, ArrowsCounterClockwise, ChevronRight, Duplicate, ClockCounterClockwise, Feather } from "@strapi/icons";
2
2
  import { jsx, Fragment, jsxs } from "react/jsx-runtime";
3
3
  import { useStrapiApp, createContext, useAuth, useRBAC, Page, adminApi, translatedErrors, useNotification, useAPIErrorHandler, getYupValidationErrors, useQueryParams, useTracking, useForm, BackButton, DescriptionComponentRenderer, useTable, Table } from "@strapi/admin/strapi-admin";
4
4
  import * as React from "react";
5
5
  import { lazy } from "react";
6
- import { Menu, Button, VisuallyHidden, Flex, Typography, Dialog, Modal, Radio, Status, Box, SingleSelect, SingleSelectOption, Loader, IconButton, Tooltip, LinkButton } from "@strapi/design-system";
6
+ import { Button, Menu, VisuallyHidden, Flex, Typography, Dialog, Modal, Radio, Status, Box, SingleSelect, SingleSelectOption, IconButton, Loader, Tooltip, LinkButton } from "@strapi/design-system";
7
7
  import { useIntl } from "react-intl";
8
- import { useParams, Navigate, useNavigate, useMatch, useLocation, Link, NavLink } from "react-router-dom";
9
- import { styled } from "styled-components";
8
+ import { useParams, useNavigate, Navigate, useMatch, useLocation, Link, NavLink } from "react-router-dom";
10
9
  import * as yup from "yup";
11
10
  import { ValidationError } from "yup";
12
11
  import pipe from "lodash/fp/pipe";
13
12
  import { intervalToDuration, isPast } from "date-fns";
13
+ import { styled } from "styled-components";
14
14
  import { stringify } from "qs";
15
15
  import { createSlice, combineReducers } from "@reduxjs/toolkit";
16
16
  const __variableDynamicImportRuntimeHelper = (glob, path) => {
@@ -158,7 +158,8 @@ const contentManagerApi = adminApi.enhanceEndpoints({
158
158
  "Document",
159
159
  "InitialData",
160
160
  "HistoryVersion",
161
- "Relations"
161
+ "Relations",
162
+ "UidAvailability"
162
163
  ]
163
164
  });
164
165
  const documentApi = contentManagerApi.injectEndpoints({
@@ -188,7 +189,10 @@ const documentApi = contentManagerApi.injectEndpoints({
188
189
  params
189
190
  }
190
191
  }),
191
- invalidatesTags: (_result, _error, { model }) => [{ type: "Document", id: `${model}_LIST` }]
192
+ invalidatesTags: (_result, _error, { model }) => [
193
+ { type: "Document", id: `${model}_LIST` },
194
+ { type: "UidAvailability", id: model }
195
+ ]
192
196
  }),
193
197
  /**
194
198
  * Creates a new collection-type document. This should ONLY be used for collection-types.
@@ -205,7 +209,8 @@ const documentApi = contentManagerApi.injectEndpoints({
205
209
  }),
206
210
  invalidatesTags: (result, _error, { model }) => [
207
211
  { type: "Document", id: `${model}_LIST` },
208
- "Relations"
212
+ "Relations",
213
+ { type: "UidAvailability", id: model }
209
214
  ]
210
215
  }),
211
216
  deleteDocument: builder.mutation({
@@ -246,7 +251,8 @@ const documentApi = contentManagerApi.injectEndpoints({
246
251
  id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model
247
252
  },
248
253
  { type: "Document", id: `${model}_LIST` },
249
- "Relations"
254
+ "Relations",
255
+ { type: "UidAvailability", id: model }
250
256
  ];
251
257
  }
252
258
  }),
@@ -371,7 +377,8 @@ const documentApi = contentManagerApi.injectEndpoints({
371
377
  type: "Document",
372
378
  id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model
373
379
  },
374
- "Relations"
380
+ "Relations",
381
+ { type: "UidAvailability", id: model }
375
382
  ];
376
383
  },
377
384
  async onQueryStarted({ data, ...patch }, { dispatch, queryFulfilled }) {
@@ -454,7 +461,7 @@ const buildValidParams = (query) => {
454
461
  const isBaseQueryError = (error) => {
455
462
  return error.name !== void 0;
456
463
  };
457
- const createYupSchema = (attributes = {}, components = {}) => {
464
+ const createYupSchema = (attributes = {}, components = {}, options = { status: null }) => {
458
465
  const createModelSchema = (attributes2) => yup.object().shape(
459
466
  Object.entries(attributes2).reduce((acc, [name, attribute]) => {
460
467
  if (DOCUMENT_META_FIELDS.includes(name)) {
@@ -467,7 +474,7 @@ const createYupSchema = (attributes = {}, components = {}) => {
467
474
  addMinValidation,
468
475
  addMaxValidation,
469
476
  addRegexValidation
470
- ].map((fn) => fn(attribute));
477
+ ].map((fn) => fn(attribute, options));
471
478
  const transformSchema = pipe(...validations);
472
479
  switch (attribute.type) {
473
480
  case "component": {
@@ -594,13 +601,7 @@ const createAttributeSchema = (attribute) => {
594
601
  return yup.mixed();
595
602
  }
596
603
  };
597
- const addRequiredValidation = (attribute) => (schema) => {
598
- if ((attribute.type === "component" && attribute.repeatable || attribute.type === "dynamiczone") && attribute.required && "min" in schema) {
599
- return schema.min(1, translatedErrors.required);
600
- }
601
- if (attribute.required && attribute.type !== "relation") {
602
- return schema.required(translatedErrors.required);
603
- }
604
+ const nullableSchema = (schema) => {
604
605
  return schema?.nullable ? schema.nullable() : (
605
606
  // In some cases '.nullable' will not be available on the schema.
606
607
  // e.g. when the schema has been built using yup.lazy (e.g. for relations).
@@ -608,7 +609,22 @@ const addRequiredValidation = (attribute) => (schema) => {
608
609
  schema
609
610
  );
610
611
  };
611
- const addMinLengthValidation = (attribute) => (schema) => {
612
+ const addRequiredValidation = (attribute, options) => (schema) => {
613
+ if (options.status === "draft") {
614
+ return nullableSchema(schema);
615
+ }
616
+ if ((attribute.type === "component" && attribute.repeatable || attribute.type === "dynamiczone") && attribute.required && "min" in schema) {
617
+ return schema.min(1, translatedErrors.required);
618
+ }
619
+ if (attribute.required && attribute.type !== "relation") {
620
+ return schema.required(translatedErrors.required);
621
+ }
622
+ return nullableSchema(schema);
623
+ };
624
+ const addMinLengthValidation = (attribute, options) => (schema) => {
625
+ if (options.status === "draft") {
626
+ return schema;
627
+ }
612
628
  if ("minLength" in attribute && attribute.minLength && Number.isInteger(attribute.minLength) && "min" in schema) {
613
629
  return schema.min(attribute.minLength, {
614
630
  ...translatedErrors.minLength,
@@ -630,11 +646,11 @@ const addMaxLengthValidation = (attribute) => (schema) => {
630
646
  }
631
647
  return schema;
632
648
  };
633
- const addMinValidation = (attribute) => (schema) => {
649
+ const addMinValidation = (attribute, options) => (schema) => {
634
650
  if ("min" in attribute) {
635
651
  const min = toInteger(attribute.min);
636
652
  if (attribute.type === "component" && attribute.repeatable || attribute.type === "dynamiczone") {
637
- if (!attribute.required && "test" in schema && min) {
653
+ if (options.status !== "draft" && !attribute.required && "test" in schema && min) {
638
654
  return schema.test(
639
655
  "custom-min",
640
656
  {
@@ -870,6 +886,7 @@ const useDocumentActions = () => {
870
886
  const { formatMessage } = useIntl();
871
887
  const { trackUsage } = useTracking();
872
888
  const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
889
+ const navigate = useNavigate();
873
890
  const [deleteDocument] = useDeleteDocumentMutation();
874
891
  const _delete = React.useCallback(
875
892
  async ({ collectionType, model, documentId, params }, trackerProperty) => {
@@ -1223,7 +1240,7 @@ const useDocumentActions = () => {
1223
1240
  throw err;
1224
1241
  }
1225
1242
  },
1226
- [autoCloneDocument, formatAPIError, formatMessage, toggleNotification]
1243
+ [autoCloneDocument, formatMessage, toggleNotification]
1227
1244
  );
1228
1245
  const [cloneDocument] = useCloneDocumentMutation();
1229
1246
  const clone = React.useCallback(
@@ -1249,6 +1266,7 @@ const useDocumentActions = () => {
1249
1266
  defaultMessage: "Cloned document"
1250
1267
  })
1251
1268
  });
1269
+ navigate(`../../${res.data.data.documentId}`, { relative: "path" });
1252
1270
  return res.data;
1253
1271
  } catch (err) {
1254
1272
  toggleNotification({
@@ -1259,7 +1277,7 @@ const useDocumentActions = () => {
1259
1277
  throw err;
1260
1278
  }
1261
1279
  },
1262
- [cloneDocument, trackUsage, toggleNotification, formatMessage, formatAPIError]
1280
+ [cloneDocument, trackUsage, toggleNotification, formatMessage, formatAPIError, navigate]
1263
1281
  );
1264
1282
  const [getDoc] = useLazyGetDocumentQuery();
1265
1283
  const getDocument = React.useCallback(
@@ -1285,7 +1303,7 @@ const useDocumentActions = () => {
1285
1303
  };
1286
1304
  };
1287
1305
  const ProtectedHistoryPage = lazy(
1288
- () => import("./History-DR2txJLE.mjs").then((mod) => ({ default: mod.ProtectedHistoryPage }))
1306
+ () => import("./History-BMunT-do.mjs").then((mod) => ({ default: mod.ProtectedHistoryPage }))
1289
1307
  );
1290
1308
  const routes$1 = [
1291
1309
  {
@@ -1298,31 +1316,31 @@ const routes$1 = [
1298
1316
  }
1299
1317
  ];
1300
1318
  const ProtectedEditViewPage = lazy(
1301
- () => import("./EditViewPage-B7VgwJaG.mjs").then((mod) => ({ default: mod.ProtectedEditViewPage }))
1319
+ () => import("./EditViewPage-DeTn7rAF.mjs").then((mod) => ({ default: mod.ProtectedEditViewPage }))
1302
1320
  );
1303
1321
  const ProtectedListViewPage = lazy(
1304
- () => import("./ListViewPage-B_GaWgRH.mjs").then((mod) => ({ default: mod.ProtectedListViewPage }))
1322
+ () => import("./ListViewPage-_5gS-DOF.mjs").then((mod) => ({ default: mod.ProtectedListViewPage }))
1305
1323
  );
1306
1324
  const ProtectedListConfiguration = lazy(
1307
- () => import("./ListConfigurationPage-voFVtXu6.mjs").then((mod) => ({
1325
+ () => import("./ListConfigurationPage-CDqkCxgV.mjs").then((mod) => ({
1308
1326
  default: mod.ProtectedListConfiguration
1309
1327
  }))
1310
1328
  );
1311
1329
  const ProtectedEditConfigurationPage = lazy(
1312
- () => import("./EditConfigurationPage-D7PrLO8j.mjs").then((mod) => ({
1330
+ () => import("./EditConfigurationPage-CE_yavTi.mjs").then((mod) => ({
1313
1331
  default: mod.ProtectedEditConfigurationPage
1314
1332
  }))
1315
1333
  );
1316
1334
  const ProtectedComponentConfigurationPage = lazy(
1317
- () => import("./ComponentConfigurationPage-B3yDbeU1.mjs").then((mod) => ({
1335
+ () => import("./ComponentConfigurationPage-CpBFh6_r.mjs").then((mod) => ({
1318
1336
  default: mod.ProtectedComponentConfigurationPage
1319
1337
  }))
1320
1338
  );
1321
1339
  const NoPermissions = lazy(
1322
- () => import("./NoPermissionsPage-B5baIHal.mjs").then((mod) => ({ default: mod.NoPermissions }))
1340
+ () => import("./NoPermissionsPage-Bs8D5W_v.mjs").then((mod) => ({ default: mod.NoPermissions }))
1323
1341
  );
1324
1342
  const NoContentType = lazy(
1325
- () => import("./NoContentTypePage-CYiGpsbj.mjs").then((mod) => ({ default: mod.NoContentType }))
1343
+ () => import("./NoContentTypePage-Dht-55hr.mjs").then((mod) => ({ default: mod.NoContentType }))
1326
1344
  );
1327
1345
  const CollectionTypePages = () => {
1328
1346
  const { collectionType } = useParams();
@@ -1503,7 +1521,7 @@ const DocumentActionsMenu = ({
1503
1521
  };
1504
1522
  return /* @__PURE__ */ jsxs(Menu.Root, { open: isOpen, onOpenChange: setIsOpen, children: [
1505
1523
  /* @__PURE__ */ jsxs(
1506
- StyledMoreButton,
1524
+ Menu.Trigger,
1507
1525
  {
1508
1526
  disabled: isDisabled,
1509
1527
  size: "S",
@@ -1619,11 +1637,6 @@ const convertActionVariantToIconColor = (variant = "secondary") => {
1619
1637
  return "primary600";
1620
1638
  }
1621
1639
  };
1622
- const StyledMoreButton = styled(Menu.Trigger)`
1623
- & > span {
1624
- display: flex;
1625
- }
1626
- `;
1627
1640
  const DocumentActionConfirmDialog = ({
1628
1641
  onClose,
1629
1642
  onCancel,
@@ -1650,11 +1663,11 @@ const DocumentActionConfirmDialog = ({
1650
1663
  /* @__PURE__ */ jsx(Dialog.Header, { children: title }),
1651
1664
  /* @__PURE__ */ jsx(Dialog.Body, { children: content }),
1652
1665
  /* @__PURE__ */ jsxs(Dialog.Footer, { children: [
1653
- /* @__PURE__ */ jsx(Dialog.Cancel, { children: /* @__PURE__ */ jsx(Button, { variant: "tertiary", children: formatMessage({
1666
+ /* @__PURE__ */ jsx(Dialog.Cancel, { children: /* @__PURE__ */ jsx(Button, { variant: "tertiary", fullWidth: true, children: formatMessage({
1654
1667
  id: "app.components.Button.cancel",
1655
1668
  defaultMessage: "Cancel"
1656
1669
  }) }) }),
1657
- /* @__PURE__ */ jsx(Button, { onClick: handleConfirm, variant, children: formatMessage({
1670
+ /* @__PURE__ */ jsx(Button, { onClick: handleConfirm, variant, fullWidth: true, children: formatMessage({
1658
1671
  id: "app.components.Button.confirm",
1659
1672
  defaultMessage: "Confirm"
1660
1673
  }) })
@@ -1693,12 +1706,10 @@ const PublishAction$1 = ({
1693
1706
  const navigate = useNavigate();
1694
1707
  const { toggleNotification } = useNotification();
1695
1708
  const { _unstableFormatValidationErrors: formatValidationErrors } = useAPIErrorHandler();
1709
+ const isListView = useMatch(LIST_PATH) !== null;
1696
1710
  const isCloning = useMatch(CLONE_PATH) !== null;
1697
1711
  const { formatMessage } = useIntl();
1698
- const { canPublish, canCreate, canUpdate } = useDocumentRBAC(
1699
- "PublishAction",
1700
- ({ canPublish: canPublish2, canCreate: canCreate2, canUpdate: canUpdate2 }) => ({ canPublish: canPublish2, canCreate: canCreate2, canUpdate: canUpdate2 })
1701
- );
1712
+ const canPublish = useDocumentRBAC("PublishAction", ({ canPublish: canPublish2 }) => canPublish2);
1702
1713
  const { publish } = useDocumentActions();
1703
1714
  const [
1704
1715
  countDraftRelations,
@@ -1750,24 +1761,25 @@ const PublishAction$1 = ({
1750
1761
  }
1751
1762
  }, [documentId, modified, formValues, setLocalCountOfDraftRelations]);
1752
1763
  React.useEffect(() => {
1753
- if (documentId) {
1754
- const fetchDraftRelationsCount = async () => {
1755
- const { data, error } = await countDraftRelations({
1756
- collectionType,
1757
- model,
1758
- documentId,
1759
- params
1760
- });
1761
- if (error) {
1762
- throw error;
1763
- }
1764
- if (data) {
1765
- setServerCountOfDraftRelations(data.data);
1766
- }
1767
- };
1768
- fetchDraftRelationsCount();
1764
+ if (!document || !document.documentId || isListView) {
1765
+ return;
1769
1766
  }
1770
- }, [documentId, countDraftRelations, collectionType, model, params]);
1767
+ const fetchDraftRelationsCount = async () => {
1768
+ const { data, error } = await countDraftRelations({
1769
+ collectionType,
1770
+ model,
1771
+ documentId,
1772
+ params
1773
+ });
1774
+ if (error) {
1775
+ throw error;
1776
+ }
1777
+ if (data) {
1778
+ setServerCountOfDraftRelations(data.data);
1779
+ }
1780
+ };
1781
+ fetchDraftRelationsCount();
1782
+ }, [isListView, document, documentId, countDraftRelations, collectionType, model, params]);
1771
1783
  const isDocumentPublished = (document?.[PUBLISHED_AT_ATTRIBUTE_NAME] || meta?.availableStatus.some((doc) => doc[PUBLISHED_AT_ATTRIBUTE_NAME] !== null)) && document?.status !== "modified";
1772
1784
  if (!schema?.options?.draftAndPublish) {
1773
1785
  return null;
@@ -1808,7 +1820,8 @@ const PublishAction$1 = ({
1808
1820
  }
1809
1821
  };
1810
1822
  const totalDraftRelations = localCountOfDraftRelations + serverCountOfDraftRelations;
1811
- const hasDraftRelations = totalDraftRelations > 0;
1823
+ const enableDraftRelationsCount = false;
1824
+ const hasDraftRelations = enableDraftRelationsCount;
1812
1825
  return {
1813
1826
  /**
1814
1827
  * Disabled when:
@@ -1825,9 +1838,6 @@ const PublishAction$1 = ({
1825
1838
  defaultMessage: "Publish"
1826
1839
  }),
1827
1840
  onClick: async () => {
1828
- if (hasDraftRelations) {
1829
- return;
1830
- }
1831
1841
  await performPublish();
1832
1842
  },
1833
1843
  dialog: hasDraftRelations ? {
@@ -1866,10 +1876,6 @@ const UpdateAction = ({
1866
1876
  const cloneMatch = useMatch(CLONE_PATH);
1867
1877
  const isCloning = cloneMatch !== null;
1868
1878
  const { formatMessage } = useIntl();
1869
- useDocumentRBAC("UpdateAction", ({ canCreate: canCreate2, canUpdate: canUpdate2 }) => ({
1870
- canCreate: canCreate2,
1871
- canUpdate: canUpdate2
1872
- }));
1873
1879
  const { create, update, clone } = useDocumentActions();
1874
1880
  const [{ query, rawQuery }] = useQueryParams();
1875
1881
  const params = React.useMemo(() => buildValidParams(query), [query]);
@@ -1895,16 +1901,18 @@ const UpdateAction = ({
1895
1901
  onClick: async () => {
1896
1902
  setSubmitting(true);
1897
1903
  try {
1898
- const { errors } = await validate();
1899
- if (errors) {
1900
- toggleNotification({
1901
- type: "danger",
1902
- message: formatMessage({
1903
- id: "content-manager.validation.error",
1904
- defaultMessage: "There are validation errors in your document. Please fix them before saving."
1905
- })
1906
- });
1907
- return;
1904
+ if (activeTab !== "draft") {
1905
+ const { errors } = await validate();
1906
+ if (errors) {
1907
+ toggleNotification({
1908
+ type: "danger",
1909
+ message: formatMessage({
1910
+ id: "content-manager.validation.error",
1911
+ defaultMessage: "There are validation errors in your document. Please fix them before saving."
1912
+ })
1913
+ });
1914
+ return;
1915
+ }
1908
1916
  }
1909
1917
  if (isCloning) {
1910
1918
  const res = await clone(
@@ -2000,7 +2008,7 @@ const UnpublishAction$1 = ({
2000
2008
  id: "app.utils.unpublish",
2001
2009
  defaultMessage: "Unpublish"
2002
2010
  }),
2003
- icon: /* @__PURE__ */ jsx(StyledCrossCircle, {}),
2011
+ icon: /* @__PURE__ */ jsx(Cross, {}),
2004
2012
  onClick: async () => {
2005
2013
  if (!documentId && collectionType !== SINGLE_TYPES || isDocumentModified) {
2006
2014
  if (!documentId) {
@@ -2112,7 +2120,7 @@ const DiscardAction = ({
2112
2120
  id: "content-manager.actions.discard.label",
2113
2121
  defaultMessage: "Discard changes"
2114
2122
  }),
2115
- icon: /* @__PURE__ */ jsx(StyledCrossCircle, {}),
2123
+ icon: /* @__PURE__ */ jsx(Cross, {}),
2116
2124
  position: ["panel", "table-row"],
2117
2125
  variant: "danger",
2118
2126
  dialog: {
@@ -2140,11 +2148,6 @@ const DiscardAction = ({
2140
2148
  };
2141
2149
  };
2142
2150
  DiscardAction.type = "discard";
2143
- const StyledCrossCircle = styled(CrossCircle)`
2144
- path {
2145
- fill: currentColor;
2146
- }
2147
- `;
2148
2151
  const DEFAULT_ACTIONS = [PublishAction$1, UpdateAction, UnpublishAction$1, DiscardAction];
2149
2152
  const intervals = ["years", "months", "days", "hours", "minutes", "seconds"];
2150
2153
  const RelativeTime = React.forwardRef(
@@ -2192,7 +2195,7 @@ const getDisplayName = ({
2192
2195
  };
2193
2196
  const capitalise = (str) => str.charAt(0).toUpperCase() + str.slice(1);
2194
2197
  const DocumentStatus = ({ status = "draft", ...restProps }) => {
2195
- const statusVariant = status === "draft" ? "primary" : status === "published" ? "success" : "alternative";
2198
+ const statusVariant = status === "draft" ? "secondary" : status === "published" ? "success" : "alternative";
2196
2199
  return /* @__PURE__ */ jsx(Status, { ...restProps, showBullet: false, size: "S", variant: statusVariant, children: /* @__PURE__ */ jsx(Typography, { tag: "span", variant: "omega", fontWeight: "bold", children: capitalise(status) }) });
2197
2200
  };
2198
2201
  const Header = ({ isCreating, status, title: documentTitle = "Untitled" }) => {
@@ -2375,8 +2378,22 @@ const Information = ({ activeTab }) => {
2375
2378
  );
2376
2379
  };
2377
2380
  const HeaderActions = ({ actions: actions2 }) => {
2378
- return /* @__PURE__ */ jsx(Flex, { children: actions2.map((action) => {
2379
- if ("options" in action) {
2381
+ const [dialogId, setDialogId] = React.useState(null);
2382
+ const handleClick = (action) => async (e) => {
2383
+ if (!("options" in action)) {
2384
+ const { onClick = () => false, dialog, id } = action;
2385
+ const muteDialog = await onClick(e);
2386
+ if (dialog && !muteDialog) {
2387
+ e.preventDefault();
2388
+ setDialogId(id);
2389
+ }
2390
+ }
2391
+ };
2392
+ const handleClose = () => {
2393
+ setDialogId(null);
2394
+ };
2395
+ return /* @__PURE__ */ jsx(Flex, { gap: 1, children: actions2.map((action) => {
2396
+ if (action.options) {
2380
2397
  return /* @__PURE__ */ jsx(
2381
2398
  SingleSelect,
2382
2399
  {
@@ -2390,10 +2407,49 @@ const HeaderActions = ({ actions: actions2 }) => {
2390
2407
  action.id
2391
2408
  );
2392
2409
  } else {
2393
- return null;
2410
+ if (action.type === "icon") {
2411
+ return /* @__PURE__ */ jsxs(React.Fragment, { children: [
2412
+ /* @__PURE__ */ jsx(
2413
+ IconButton,
2414
+ {
2415
+ disabled: action.disabled,
2416
+ label: action.label,
2417
+ size: "S",
2418
+ onClick: handleClick(action),
2419
+ children: action.icon
2420
+ }
2421
+ ),
2422
+ action.dialog ? /* @__PURE__ */ jsx(
2423
+ HeaderActionDialog,
2424
+ {
2425
+ ...action.dialog,
2426
+ isOpen: dialogId === action.id,
2427
+ onClose: handleClose
2428
+ }
2429
+ ) : null
2430
+ ] }, action.id);
2431
+ }
2394
2432
  }
2395
2433
  }) });
2396
2434
  };
2435
+ const HeaderActionDialog = ({
2436
+ onClose,
2437
+ onCancel,
2438
+ title,
2439
+ content: Content,
2440
+ isOpen
2441
+ }) => {
2442
+ const handleClose = async () => {
2443
+ if (onCancel) {
2444
+ await onCancel();
2445
+ }
2446
+ onClose();
2447
+ };
2448
+ return /* @__PURE__ */ jsx(Dialog.Root, { open: isOpen, onOpenChange: handleClose, children: /* @__PURE__ */ jsxs(Dialog.Content, { children: [
2449
+ /* @__PURE__ */ jsx(Dialog.Header, { children: title }),
2450
+ typeof Content === "function" ? /* @__PURE__ */ jsx(Content, { onClose: handleClose }) : Content
2451
+ ] }) });
2452
+ };
2397
2453
  const ConfigureTheViewAction = ({ collectionType, model }) => {
2398
2454
  const navigate = useNavigate();
2399
2455
  const { formatMessage } = useIntl();
@@ -2529,7 +2585,7 @@ const ActionsPanel = () => {
2529
2585
  return {
2530
2586
  title: formatMessage({
2531
2587
  id: "content-manager.containers.edit.panels.default.title",
2532
- defaultMessage: "Document"
2588
+ defaultMessage: "Entry"
2533
2589
  }),
2534
2590
  content: /* @__PURE__ */ jsx(ActionsPanelContent, {})
2535
2591
  };
@@ -2773,7 +2829,8 @@ const formatEditLayout = (data, {
2773
2829
  layout: convertEditLayoutToFieldLayouts(
2774
2830
  configuration.layouts.edit,
2775
2831
  components[uid].attributes,
2776
- configuration.metadatas
2832
+ configuration.metadatas,
2833
+ { configurations: data.components, schemas: components }
2777
2834
  ),
2778
2835
  settings: {
2779
2836
  ...configuration.settings,
@@ -2930,6 +2987,7 @@ const ConfirmDialogPublishAll = ({
2930
2987
  const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler(getTranslation);
2931
2988
  const { model, schema } = useDoc();
2932
2989
  const [{ query }] = useQueryParams();
2990
+ const enableDraftRelationsCount = false;
2933
2991
  const {
2934
2992
  data: countDraftRelations = 0,
2935
2993
  isLoading,
@@ -2941,7 +2999,7 @@ const ConfirmDialogPublishAll = ({
2941
2999
  locale: query?.plugins?.i18n?.locale
2942
3000
  },
2943
3001
  {
2944
- skip: selectedEntries.length === 0
3002
+ skip: !enableDraftRelationsCount
2945
3003
  }
2946
3004
  );
2947
3005
  React.useEffect(() => {
@@ -3126,7 +3184,7 @@ const SelectedEntriesTableContent = ({
3126
3184
  status: row.status
3127
3185
  }
3128
3186
  ) }),
3129
- /* @__PURE__ */ jsx(Table.Cell, { children: /* @__PURE__ */ jsx(
3187
+ /* @__PURE__ */ jsx(Table.Cell, { children: /* @__PURE__ */ jsx(Flex, { children: /* @__PURE__ */ jsx(
3130
3188
  IconButton,
3131
3189
  {
3132
3190
  tag: Link,
@@ -3149,9 +3207,10 @@ const SelectedEntriesTableContent = ({
3149
3207
  ),
3150
3208
  target: "_blank",
3151
3209
  marginLeft: "auto",
3152
- children: /* @__PURE__ */ jsx(Pencil, {})
3210
+ variant: "ghost",
3211
+ children: /* @__PURE__ */ jsx(Pencil, { width: "1.6rem", height: "1.6rem" })
3153
3212
  }
3154
- ) })
3213
+ ) }) })
3155
3214
  ] }, row.id)) })
3156
3215
  ] });
3157
3216
  };
@@ -3188,7 +3247,13 @@ const SelectedEntriesModalContent = ({
3188
3247
  );
3189
3248
  const { rows, validationErrors } = React.useMemo(() => {
3190
3249
  if (data.length > 0 && schema) {
3191
- const validate = createYupSchema(schema.attributes, components);
3250
+ const validate = createYupSchema(
3251
+ schema.attributes,
3252
+ components,
3253
+ // Since this is the "Publish" action, the validation
3254
+ // schema must enforce the rules for published entities
3255
+ { status: "published" }
3256
+ );
3192
3257
  const validationErrors2 = {};
3193
3258
  const rows2 = data.map((entry) => {
3194
3259
  try {
@@ -3538,7 +3603,7 @@ const TableActions = ({ document }) => {
3538
3603
  DescriptionComponentRenderer,
3539
3604
  {
3540
3605
  props,
3541
- descriptions: plugins["content-manager"].apis.getDocumentActions(),
3606
+ descriptions: plugins["content-manager"].apis.getDocumentActions().filter((action) => action.name !== "PublishAction"),
3542
3607
  children: (actions2) => {
3543
3608
  const tableRowActions = actions2.filter((action) => {
3544
3609
  const positions = Array.isArray(action.position) ? action.position : [action.position];
@@ -3649,7 +3714,7 @@ const CloneAction = ({ model, documentId }) => {
3649
3714
  }),
3650
3715
  content: /* @__PURE__ */ jsx(AutoCloneFailureModalBody, { prohibitedFields }),
3651
3716
  footer: ({ onClose }) => {
3652
- return /* @__PURE__ */ jsxs(Flex, { justifyContent: "space-between", children: [
3717
+ return /* @__PURE__ */ jsxs(Modal.Footer, { children: [
3653
3718
  /* @__PURE__ */ jsx(Button, { onClick: onClose, variant: "tertiary", children: formatMessage({
3654
3719
  id: "cancel",
3655
3720
  defaultMessage: "Cancel"
@@ -3880,7 +3945,7 @@ const index = {
3880
3945
  app.router.addRoute({
3881
3946
  path: "content-manager/*",
3882
3947
  lazy: async () => {
3883
- const { Layout } = await import("./layout-BNqvLR_b.mjs");
3948
+ const { Layout } = await import("./layout-D4HI4_PS.mjs");
3884
3949
  return {
3885
3950
  Component: Layout
3886
3951
  };
@@ -3897,7 +3962,7 @@ const index = {
3897
3962
  async registerTrads({ locales }) {
3898
3963
  const importedTrads = await Promise.all(
3899
3964
  locales.map((locale) => {
3900
- return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => import("./ar-CCEVvqGG.mjs"), "./translations/ca.json": () => import("./ca-5U32ON2v.mjs"), "./translations/cs.json": () => import("./cs-CM2aBUar.mjs"), "./translations/de.json": () => import("./de-C72KDNOl.mjs"), "./translations/en.json": () => import("./en-BrCTWlZv.mjs"), "./translations/es.json": () => import("./es-CeXiYflN.mjs"), "./translations/eu.json": () => import("./eu-CdALomew.mjs"), "./translations/fr.json": () => import("./fr-CD9VFbPM.mjs"), "./translations/gu.json": () => import("./gu-CNpaMDpH.mjs"), "./translations/hi.json": () => import("./hi-Dwvd04m3.mjs"), "./translations/hu.json": () => import("./hu-CeYvaaO0.mjs"), "./translations/id.json": () => import("./id-BtwA9WJT.mjs"), "./translations/it.json": () => import("./it-BrVPqaf1.mjs"), "./translations/ja.json": () => import("./ja-CtsUxOvk.mjs"), "./translations/ko.json": () => import("./ko-HVQRlfUI.mjs"), "./translations/ml.json": () => import("./ml-BihZwQit.mjs"), "./translations/ms.json": () => import("./ms-m_WjyWx7.mjs"), "./translations/nl.json": () => import("./nl-D4R9gHx5.mjs"), "./translations/pl.json": () => import("./pl-sbx9mSt_.mjs"), "./translations/pt-BR.json": () => import("./pt-BR-C71iDxnh.mjs"), "./translations/pt.json": () => import("./pt-BsaFvS8-.mjs"), "./translations/ru.json": () => import("./ru-BE6A4Exp.mjs"), "./translations/sa.json": () => import("./sa-Dag0k-Z8.mjs"), "./translations/sk.json": () => import("./sk-BFg-R8qJ.mjs"), "./translations/sv.json": () => import("./sv-CUnfWGsh.mjs"), "./translations/th.json": () => import("./th-BqbI8lIT.mjs"), "./translations/tr.json": () => import("./tr-CgeK3wJM.mjs"), "./translations/uk.json": () => import("./uk-CR-zDhAY.mjs"), "./translations/vi.json": () => import("./vi-DUXIk_fw.mjs"), "./translations/zh-Hans.json": () => import("./zh-Hans-BPQcRIyH.mjs"), "./translations/zh.json": () => import("./zh-BWZspA60.mjs") }), `./translations/${locale}.json`).then(({ default: data }) => {
3965
+ return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => import("./ar-CCEVvqGG.mjs"), "./translations/ca.json": () => import("./ca-5U32ON2v.mjs"), "./translations/cs.json": () => import("./cs-CM2aBUar.mjs"), "./translations/de.json": () => import("./de-C72KDNOl.mjs"), "./translations/en.json": () => import("./en-CPTj6CjC.mjs"), "./translations/es.json": () => import("./es-CeXiYflN.mjs"), "./translations/eu.json": () => import("./eu-CdALomew.mjs"), "./translations/fr.json": () => import("./fr-CD9VFbPM.mjs"), "./translations/gu.json": () => import("./gu-CNpaMDpH.mjs"), "./translations/hi.json": () => import("./hi-Dwvd04m3.mjs"), "./translations/hu.json": () => import("./hu-CeYvaaO0.mjs"), "./translations/id.json": () => import("./id-BtwA9WJT.mjs"), "./translations/it.json": () => import("./it-BrVPqaf1.mjs"), "./translations/ja.json": () => import("./ja-CtsUxOvk.mjs"), "./translations/ko.json": () => import("./ko-HVQRlfUI.mjs"), "./translations/ml.json": () => import("./ml-BihZwQit.mjs"), "./translations/ms.json": () => import("./ms-m_WjyWx7.mjs"), "./translations/nl.json": () => import("./nl-D4R9gHx5.mjs"), "./translations/pl.json": () => import("./pl-sbx9mSt_.mjs"), "./translations/pt-BR.json": () => import("./pt-BR-C71iDxnh.mjs"), "./translations/pt.json": () => import("./pt-BsaFvS8-.mjs"), "./translations/ru.json": () => import("./ru-BE6A4Exp.mjs"), "./translations/sa.json": () => import("./sa-Dag0k-Z8.mjs"), "./translations/sk.json": () => import("./sk-BFg-R8qJ.mjs"), "./translations/sv.json": () => import("./sv-CUnfWGsh.mjs"), "./translations/th.json": () => import("./th-BqbI8lIT.mjs"), "./translations/tr.json": () => import("./tr-CgeK3wJM.mjs"), "./translations/uk.json": () => import("./uk-CR-zDhAY.mjs"), "./translations/vi.json": () => import("./vi-DUXIk_fw.mjs"), "./translations/zh-Hans.json": () => import("./zh-Hans-BPQcRIyH.mjs"), "./translations/zh.json": () => import("./zh-BWZspA60.mjs") }), `./translations/${locale}.json`).then(({ default: data }) => {
3901
3966
  return {
3902
3967
  data: prefixPluginTranslations(data, PLUGIN_ID),
3903
3968
  locale
@@ -3918,13 +3983,14 @@ export {
3918
3983
  BulkActionsRenderer as B,
3919
3984
  COLLECTION_TYPES as C,
3920
3985
  DocumentStatus as D,
3921
- DEFAULT_SETTINGS as E,
3922
- convertEditLayoutToFieldLayouts as F,
3923
- useDocument as G,
3986
+ extractContentTypeComponents as E,
3987
+ DEFAULT_SETTINGS as F,
3988
+ convertEditLayoutToFieldLayouts as G,
3924
3989
  HOOKS as H,
3925
3990
  InjectionZone as I,
3926
- index as J,
3927
- useDocumentActions as K,
3991
+ useDocument as J,
3992
+ index as K,
3993
+ useDocumentActions as L,
3928
3994
  Panels as P,
3929
3995
  RelativeTime as R,
3930
3996
  SINGLE_TYPES as S,
@@ -3942,18 +4008,18 @@ export {
3942
4008
  PERMISSIONS as k,
3943
4009
  DocumentRBAC as l,
3944
4010
  DOCUMENT_META_FIELDS as m,
3945
- useDocLayout as n,
3946
- useGetContentTypeConfigurationQuery as o,
3947
- CREATOR_FIELDS as p,
3948
- getMainField as q,
3949
- getDisplayName as r,
4011
+ CLONE_PATH as n,
4012
+ useDocLayout as o,
4013
+ useGetContentTypeConfigurationQuery as p,
4014
+ CREATOR_FIELDS as q,
4015
+ getMainField as r,
3950
4016
  setInitialData as s,
3951
- checkIfAttributeIsDisplayable as t,
4017
+ getDisplayName as t,
3952
4018
  useContentTypeSchema as u,
3953
- useGetAllDocumentsQuery as v,
3954
- convertListLayoutToFieldLayouts as w,
3955
- capitalise as x,
3956
- useUpdateContentTypeConfigurationMutation as y,
3957
- extractContentTypeComponents as z
4019
+ checkIfAttributeIsDisplayable as v,
4020
+ useGetAllDocumentsQuery as w,
4021
+ convertListLayoutToFieldLayouts as x,
4022
+ capitalise as y,
4023
+ useUpdateContentTypeConfigurationMutation as z
3958
4024
  };
3959
- //# sourceMappingURL=index-C9TJPyni.mjs.map
4025
+ //# sourceMappingURL=index-D4UGPFZC.mjs.map