@strapi/content-manager 0.0.0-experimental.afa3b513b8f95459043f33fb94f4bac03af1474f → 0.0.0-experimental.b0db56479de441dfe8feb37a43c7f6f6fecf75c1

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 (168) hide show
  1. package/dist/_chunks/{ComponentConfigurationPage-G4EIirP8.js → ComponentConfigurationPage-Cjr64OS0.js} +4 -4
  2. package/dist/_chunks/{ComponentConfigurationPage-G4EIirP8.js.map → ComponentConfigurationPage-Cjr64OS0.js.map} +1 -1
  3. package/dist/_chunks/{ComponentConfigurationPage-CnL10QYC.mjs → ComponentConfigurationPage-DKuCF_uX.mjs} +4 -4
  4. package/dist/_chunks/{ComponentConfigurationPage-CnL10QYC.mjs.map → ComponentConfigurationPage-DKuCF_uX.mjs.map} +1 -1
  5. package/dist/_chunks/{EditConfigurationPage-B2AA1kVF.js → EditConfigurationPage-BeikGxvq.js} +4 -4
  6. package/dist/_chunks/{EditConfigurationPage-B2AA1kVF.js.map → EditConfigurationPage-BeikGxvq.js.map} +1 -1
  7. package/dist/_chunks/{EditConfigurationPage-I2kKh9dx.mjs → EditConfigurationPage-CyqSP6ru.mjs} +4 -4
  8. package/dist/_chunks/{EditConfigurationPage-I2kKh9dx.mjs.map → EditConfigurationPage-CyqSP6ru.mjs.map} +1 -1
  9. package/dist/_chunks/{EditViewPage-zFjJK0s8.mjs → EditViewPage-PrPHZN_9.mjs} +50 -10
  10. package/dist/_chunks/EditViewPage-PrPHZN_9.mjs.map +1 -0
  11. package/dist/_chunks/{EditViewPage-CHgoNwlc.js → EditViewPage-pyqEgLgP.js} +49 -9
  12. package/dist/_chunks/EditViewPage-pyqEgLgP.js.map +1 -0
  13. package/dist/_chunks/{Field-DPAzUS1M.mjs → Field-DuAYQka5.mjs} +93 -29
  14. package/dist/_chunks/Field-DuAYQka5.mjs.map +1 -0
  15. package/dist/_chunks/{Field-9DePZh-0.js → Field-fKtb7rWK.js} +93 -29
  16. package/dist/_chunks/Field-fKtb7rWK.js.map +1 -0
  17. package/dist/_chunks/{Form-DPm-KZ1A.js → Form-BPXw-S-J.js} +3 -3
  18. package/dist/_chunks/Form-BPXw-S-J.js.map +1 -0
  19. package/dist/_chunks/{Form-CEkENbkF.mjs → Form-Dxh71ckp.mjs} +3 -3
  20. package/dist/_chunks/Form-Dxh71ckp.mjs.map +1 -0
  21. package/dist/_chunks/{History-DXSbTWez.js → History-BGGn9JGY.js} +38 -97
  22. package/dist/_chunks/History-BGGn9JGY.js.map +1 -0
  23. package/dist/_chunks/{History-utls71em.mjs → History-CGblSVMc.mjs} +39 -98
  24. package/dist/_chunks/History-CGblSVMc.mjs.map +1 -0
  25. package/dist/_chunks/{ListConfigurationPage-D5C7ACZ_.js → ListConfigurationPage-D3Avyi4t.js} +3 -3
  26. package/dist/_chunks/{ListConfigurationPage-D5C7ACZ_.js.map → ListConfigurationPage-D3Avyi4t.js.map} +1 -1
  27. package/dist/_chunks/{ListConfigurationPage-CuMXWWqb.mjs → ListConfigurationPage-TIM0JveM.mjs} +3 -3
  28. package/dist/_chunks/{ListConfigurationPage-CuMXWWqb.mjs.map → ListConfigurationPage-TIM0JveM.mjs.map} +1 -1
  29. package/dist/_chunks/{ListViewPage-CdKd-PS_.mjs → ListViewPage-C975eW-t.mjs} +29 -7
  30. package/dist/_chunks/{ListViewPage-CdKd-PS_.mjs.map → ListViewPage-C975eW-t.mjs.map} +1 -1
  31. package/dist/_chunks/{ListViewPage-DfuwH1tt.js → ListViewPage-DtAHWFMV.js} +29 -7
  32. package/dist/_chunks/ListViewPage-DtAHWFMV.js.map +1 -0
  33. package/dist/_chunks/{NoContentTypePage-BIxlkWWi.js → NoContentTypePage-BFjWZX0i.js} +2 -2
  34. package/dist/_chunks/{NoContentTypePage-BIxlkWWi.js.map → NoContentTypePage-BFjWZX0i.js.map} +1 -1
  35. package/dist/_chunks/{NoContentTypePage-DkToTT7u.mjs → NoContentTypePage-SgNTVGjF.mjs} +2 -2
  36. package/dist/_chunks/{NoContentTypePage-DkToTT7u.mjs.map → NoContentTypePage-SgNTVGjF.mjs.map} +1 -1
  37. package/dist/_chunks/{NoPermissionsPage-DlWi4BAH.mjs → NoPermissionsPage-D4XYRoPf.mjs} +2 -2
  38. package/dist/_chunks/{NoPermissionsPage-DlWi4BAH.mjs.map → NoPermissionsPage-D4XYRoPf.mjs.map} +1 -1
  39. package/dist/_chunks/{NoPermissionsPage-Bu4GWYb-.js → NoPermissionsPage-j7oulOpl.js} +2 -2
  40. package/dist/_chunks/{NoPermissionsPage-Bu4GWYb-.js.map → NoPermissionsPage-j7oulOpl.js.map} +1 -1
  41. package/dist/_chunks/Preview-Bx1WfmKJ.js +256 -0
  42. package/dist/_chunks/Preview-Bx1WfmKJ.js.map +1 -0
  43. package/dist/_chunks/Preview-Cy6fuAnd.mjs +237 -0
  44. package/dist/_chunks/Preview-Cy6fuAnd.mjs.map +1 -0
  45. package/dist/_chunks/{Relations-CFjTESWQ.js → Relations-CXQqwRXC.js} +71 -35
  46. package/dist/_chunks/Relations-CXQqwRXC.js.map +1 -0
  47. package/dist/_chunks/{Relations-QP5yn9_z.mjs → Relations-DUrYWw0N.mjs} +72 -36
  48. package/dist/_chunks/Relations-DUrYWw0N.mjs.map +1 -0
  49. package/dist/_chunks/{en-CPTj6CjC.mjs → en-69jRDM9j.mjs} +20 -10
  50. package/dist/_chunks/{en-CPTj6CjC.mjs.map → en-69jRDM9j.mjs.map} +1 -1
  51. package/dist/_chunks/{en-BVzUkPxZ.js → en-DAgtrRoa.js} +20 -10
  52. package/dist/_chunks/{en-BVzUkPxZ.js.map → en-DAgtrRoa.js.map} +1 -1
  53. package/dist/_chunks/{es-EUonQTon.js → es-9K52xZIr.js} +2 -2
  54. package/dist/_chunks/{ja-CcFe8diO.js.map → es-9K52xZIr.js.map} +1 -1
  55. package/dist/_chunks/{es-CeXiYflN.mjs → es-D34tqjMw.mjs} +2 -2
  56. package/dist/_chunks/{es-CeXiYflN.mjs.map → es-D34tqjMw.mjs.map} +1 -1
  57. package/dist/_chunks/{fr-CD9VFbPM.mjs → fr--pg5jUbt.mjs} +13 -3
  58. package/dist/_chunks/{fr-CD9VFbPM.mjs.map → fr--pg5jUbt.mjs.map} +1 -1
  59. package/dist/_chunks/{fr-B7kGGg3E.js → fr-B2Kyv8Z9.js} +13 -3
  60. package/dist/_chunks/{fr-B7kGGg3E.js.map → fr-B2Kyv8Z9.js.map} +1 -1
  61. package/dist/_chunks/{index-BHfS6_D5.mjs → index-Ta--2bRa.mjs} +858 -722
  62. package/dist/_chunks/index-Ta--2bRa.mjs.map +1 -0
  63. package/dist/_chunks/{index-DXiHxy70.js → index-_j7lH3CO.js} +855 -718
  64. package/dist/_chunks/index-_j7lH3CO.js.map +1 -0
  65. package/dist/_chunks/{ja-CcFe8diO.js → ja-7sfIbjxE.js} +2 -2
  66. package/dist/_chunks/{es-EUonQTon.js.map → ja-7sfIbjxE.js.map} +1 -1
  67. package/dist/_chunks/{ja-CtsUxOvk.mjs → ja-BHqhDq4V.mjs} +2 -2
  68. package/dist/_chunks/{ja-CtsUxOvk.mjs.map → ja-BHqhDq4V.mjs.map} +1 -1
  69. package/dist/_chunks/{layout-bE-WUnQ0.js → layout-BDwU2I_y.js} +3 -3
  70. package/dist/_chunks/{layout-bE-WUnQ0.js.map → layout-BDwU2I_y.js.map} +1 -1
  71. package/dist/_chunks/{layout-DX_52HSH.mjs → layout-C8H4oKDo.mjs} +3 -3
  72. package/dist/_chunks/{layout-DX_52HSH.mjs.map → layout-C8H4oKDo.mjs.map} +1 -1
  73. package/dist/_chunks/{objects-gigeqt7s.js → objects-BcXOv6_9.js} +2 -4
  74. package/dist/_chunks/{objects-gigeqt7s.js.map → objects-BcXOv6_9.js.map} +1 -1
  75. package/dist/_chunks/{objects-mKMAmfec.mjs → objects-D6yBsdmx.mjs} +2 -4
  76. package/dist/_chunks/{objects-mKMAmfec.mjs.map → objects-D6yBsdmx.mjs.map} +1 -1
  77. package/dist/_chunks/{relations-D706vblp.js → relations-CPfMNzM6.js} +6 -7
  78. package/dist/_chunks/relations-CPfMNzM6.js.map +1 -0
  79. package/dist/_chunks/{relations-SCVAL_aJ.mjs → relations-Ch70q86O.mjs} +6 -7
  80. package/dist/_chunks/relations-Ch70q86O.mjs.map +1 -0
  81. package/dist/admin/index.js +2 -1
  82. package/dist/admin/index.js.map +1 -1
  83. package/dist/admin/index.mjs +4 -3
  84. package/dist/admin/src/exports.d.ts +1 -1
  85. package/dist/admin/src/hooks/useDocument.d.ts +32 -1
  86. package/dist/admin/src/pages/EditView/EditViewPage.d.ts +9 -1
  87. package/dist/admin/src/pages/EditView/components/DocumentStatus.d.ts +2 -2
  88. package/dist/admin/src/pages/EditView/components/Header.d.ts +1 -0
  89. package/dist/admin/src/preview/components/PreviewContent.d.ts +2 -0
  90. package/dist/admin/src/preview/components/PreviewHeader.d.ts +2 -0
  91. package/dist/admin/src/preview/components/PreviewSidePanel.d.ts +3 -0
  92. package/dist/admin/src/preview/constants.d.ts +1 -0
  93. package/dist/admin/src/preview/index.d.ts +4 -0
  94. package/dist/admin/src/preview/pages/Preview.d.ts +11 -0
  95. package/dist/admin/src/preview/routes.d.ts +3 -0
  96. package/dist/admin/src/preview/services/preview.d.ts +3 -0
  97. package/dist/admin/src/router.d.ts +1 -1
  98. package/dist/server/index.js +371 -158
  99. package/dist/server/index.js.map +1 -1
  100. package/dist/server/index.mjs +371 -158
  101. package/dist/server/index.mjs.map +1 -1
  102. package/dist/server/src/bootstrap.d.ts.map +1 -1
  103. package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
  104. package/dist/server/src/controllers/index.d.ts.map +1 -1
  105. package/dist/server/src/controllers/relations.d.ts.map +1 -1
  106. package/dist/server/src/controllers/utils/metadata.d.ts +15 -1
  107. package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
  108. package/dist/server/src/history/services/history.d.ts.map +1 -1
  109. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  110. package/dist/server/src/history/services/utils.d.ts +2 -3
  111. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  112. package/dist/server/src/index.d.ts +4 -4
  113. package/dist/server/src/preview/constants.d.ts +2 -0
  114. package/dist/server/src/preview/constants.d.ts.map +1 -0
  115. package/dist/server/src/preview/controllers/index.d.ts +2 -0
  116. package/dist/server/src/preview/controllers/index.d.ts.map +1 -0
  117. package/dist/server/src/preview/controllers/preview.d.ts +13 -0
  118. package/dist/server/src/preview/controllers/preview.d.ts.map +1 -0
  119. package/dist/server/src/preview/controllers/validation/preview.d.ts +6 -0
  120. package/dist/server/src/preview/controllers/validation/preview.d.ts.map +1 -0
  121. package/dist/server/src/preview/index.d.ts +4 -0
  122. package/dist/server/src/preview/index.d.ts.map +1 -0
  123. package/dist/server/src/preview/routes/index.d.ts +8 -0
  124. package/dist/server/src/preview/routes/index.d.ts.map +1 -0
  125. package/dist/server/src/preview/routes/preview.d.ts +4 -0
  126. package/dist/server/src/preview/routes/preview.d.ts.map +1 -0
  127. package/dist/server/src/preview/services/index.d.ts +15 -0
  128. package/dist/server/src/preview/services/index.d.ts.map +1 -0
  129. package/dist/server/src/preview/services/preview-config.d.ts +30 -0
  130. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -0
  131. package/dist/server/src/preview/services/preview.d.ts +12 -0
  132. package/dist/server/src/preview/services/preview.d.ts.map +1 -0
  133. package/dist/server/src/preview/utils.d.ts +18 -0
  134. package/dist/server/src/preview/utils.d.ts.map +1 -0
  135. package/dist/server/src/routes/index.d.ts.map +1 -1
  136. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  137. package/dist/server/src/services/document-metadata.d.ts +8 -8
  138. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  139. package/dist/server/src/services/index.d.ts +4 -4
  140. package/dist/server/src/services/index.d.ts.map +1 -1
  141. package/dist/server/src/services/utils/configuration/index.d.ts +2 -2
  142. package/dist/server/src/services/utils/configuration/layouts.d.ts +2 -2
  143. package/dist/server/src/utils/index.d.ts +2 -0
  144. package/dist/server/src/utils/index.d.ts.map +1 -1
  145. package/dist/shared/contracts/index.d.ts +1 -0
  146. package/dist/shared/contracts/index.d.ts.map +1 -1
  147. package/dist/shared/contracts/preview.d.ts +27 -0
  148. package/dist/shared/contracts/preview.d.ts.map +1 -0
  149. package/dist/shared/index.js +4 -0
  150. package/dist/shared/index.js.map +1 -1
  151. package/dist/shared/index.mjs +4 -0
  152. package/dist/shared/index.mjs.map +1 -1
  153. package/package.json +10 -10
  154. package/dist/_chunks/EditViewPage-CHgoNwlc.js.map +0 -1
  155. package/dist/_chunks/EditViewPage-zFjJK0s8.mjs.map +0 -1
  156. package/dist/_chunks/Field-9DePZh-0.js.map +0 -1
  157. package/dist/_chunks/Field-DPAzUS1M.mjs.map +0 -1
  158. package/dist/_chunks/Form-CEkENbkF.mjs.map +0 -1
  159. package/dist/_chunks/Form-DPm-KZ1A.js.map +0 -1
  160. package/dist/_chunks/History-DXSbTWez.js.map +0 -1
  161. package/dist/_chunks/History-utls71em.mjs.map +0 -1
  162. package/dist/_chunks/ListViewPage-DfuwH1tt.js.map +0 -1
  163. package/dist/_chunks/Relations-CFjTESWQ.js.map +0 -1
  164. package/dist/_chunks/Relations-QP5yn9_z.mjs.map +0 -1
  165. package/dist/_chunks/index-BHfS6_D5.mjs.map +0 -1
  166. package/dist/_chunks/index-DXiHxy70.js.map +0 -1
  167. package/dist/_chunks/relations-D706vblp.js.map +0 -1
  168. package/dist/_chunks/relations-SCVAL_aJ.mjs.map +0 -1
@@ -5,15 +5,15 @@ const strapiAdmin = require("@strapi/admin/strapi-admin");
5
5
  const designSystem = require("@strapi/design-system");
6
6
  const pipe$1 = require("lodash/fp/pipe");
7
7
  const reactIntl = require("react-intl");
8
- const index = require("./index-DXiHxy70.js");
8
+ const index = require("./index-_j7lH3CO.js");
9
9
  const fractionalIndexing = require("fractional-indexing");
10
- const Relations = require("./Relations-CFjTESWQ.js");
10
+ const Relations = require("./Relations-CXQqwRXC.js");
11
11
  const Icons = require("@strapi/icons");
12
12
  const styledComponents = require("styled-components");
13
13
  const ComponentIcon = require("./ComponentIcon-BXdiCGQp.js");
14
14
  const reactDndHtml5Backend = require("react-dnd-html5-backend");
15
15
  const useDragAndDrop = require("./useDragAndDrop-J0TUUbR6.js");
16
- const objects = require("./objects-gigeqt7s.js");
16
+ const objects = require("./objects-BcXOv6_9.js");
17
17
  const slate = require("slate");
18
18
  const slateHistory = require("slate-history");
19
19
  const slateReact = require("slate-react");
@@ -2670,7 +2670,7 @@ const Initializer = ({ disabled, name: name2, onClick }) => {
2670
2670
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(CircleIcon, {}) }),
2671
2671
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "primary600", variant: "pi", fontWeight: "bold", children: formatMessage({
2672
2672
  id: index.getTranslation("components.empty-repeatable"),
2673
- defaultMessage: "No entry yet. Click on the button below to add one."
2673
+ defaultMessage: "No entry yet. Click to add one."
2674
2674
  }) }) })
2675
2675
  ] })
2676
2676
  }
@@ -2692,6 +2692,7 @@ const NonRepeatableComponent = ({
2692
2692
  children,
2693
2693
  layout
2694
2694
  }) => {
2695
+ const { formatMessage } = reactIntl.useIntl();
2695
2696
  const { value } = strapiAdmin.useField(name2);
2696
2697
  const level = Relations.useComponent("NonRepeatableComponent", (state) => state.level);
2697
2698
  const isNested = level > 0;
@@ -2708,6 +2709,10 @@ const NonRepeatableComponent = ({
2708
2709
  children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 6, children: layout.map((row, index2) => {
2709
2710
  return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
2710
2711
  const completeFieldName = `${name2}.${field.name}`;
2712
+ const translatedLabel = formatMessage({
2713
+ id: `content-manager.components.${attribute.component}.${field.name}`,
2714
+ defaultMessage: field.label
2715
+ });
2711
2716
  return /* @__PURE__ */ jsxRuntime.jsx(
2712
2717
  designSystem.Grid.Item,
2713
2718
  {
@@ -2716,7 +2721,7 @@ const NonRepeatableComponent = ({
2716
2721
  xs: 12,
2717
2722
  direction: "column",
2718
2723
  alignItems: "stretch",
2719
- children: children({ ...field, name: completeFieldName })
2724
+ children: children({ ...field, label: translatedLabel, name: completeFieldName })
2720
2725
  },
2721
2726
  completeFieldName
2722
2727
  );
@@ -2738,13 +2743,34 @@ const RepeatableComponent = ({
2738
2743
  const { search: searchString } = reactRouterDom.useLocation();
2739
2744
  const search = React__namespace.useMemo(() => new URLSearchParams(searchString), [searchString]);
2740
2745
  const { components } = index.useDoc();
2741
- const { value = [], error } = strapiAdmin.useField(name2);
2746
+ const {
2747
+ value = [],
2748
+ error,
2749
+ rawError
2750
+ } = strapiAdmin.useField(name2);
2742
2751
  const addFieldRow = strapiAdmin.useForm("RepeatableComponent", (state) => state.addFieldRow);
2743
2752
  const moveFieldRow = strapiAdmin.useForm("RepeatableComponent", (state) => state.moveFieldRow);
2744
2753
  const removeFieldRow = strapiAdmin.useForm("RepeatableComponent", (state) => state.removeFieldRow);
2745
2754
  const { max = Infinity } = attribute;
2746
2755
  const [collapseToOpen, setCollapseToOpen] = React__namespace.useState("");
2747
2756
  const [liveText, setLiveText] = React__namespace.useState("");
2757
+ React__namespace.useEffect(() => {
2758
+ const hasNestedErrors = rawError && Array.isArray(rawError) && rawError.length > 0;
2759
+ const hasNestedValue = value && Array.isArray(value) && value.length > 0;
2760
+ if (hasNestedErrors && hasNestedValue) {
2761
+ const errorOpenItems = rawError.map((_, idx) => {
2762
+ return value[idx] ? value[idx].__temp_key__ : null;
2763
+ }).filter((value2) => !!value2);
2764
+ if (errorOpenItems && errorOpenItems.length > 0) {
2765
+ setCollapseToOpen((collapseToOpen2) => {
2766
+ if (!errorOpenItems.includes(collapseToOpen2)) {
2767
+ return errorOpenItems[0];
2768
+ }
2769
+ return collapseToOpen2;
2770
+ });
2771
+ }
2772
+ }
2773
+ }, [rawError, value]);
2748
2774
  const componentTmpKeyWithFocussedField = React__namespace.useMemo(() => {
2749
2775
  if (search.has("field")) {
2750
2776
  const fieldParam = search.get("field");
@@ -2897,6 +2923,10 @@ const RepeatableComponent = ({
2897
2923
  children: layout.map((row, index22) => {
2898
2924
  return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
2899
2925
  const completeFieldName = `${nameWithIndex}.${field.name}`;
2926
+ const translatedLabel = formatMessage({
2927
+ id: `content-manager.components.${attribute.component}.${field.name}`,
2928
+ defaultMessage: field.label
2929
+ });
2900
2930
  return /* @__PURE__ */ jsxRuntime.jsx(
2901
2931
  designSystem.Grid.Item,
2902
2932
  {
@@ -2905,7 +2935,11 @@ const RepeatableComponent = ({
2905
2935
  xs: 12,
2906
2936
  direction: "column",
2907
2937
  alignItems: "stretch",
2908
- children: children({ ...field, name: completeFieldName })
2938
+ children: children({
2939
+ ...field,
2940
+ label: translatedLabel,
2941
+ name: completeFieldName
2942
+ })
2909
2943
  },
2910
2944
  completeFieldName
2911
2945
  );
@@ -4959,15 +4993,19 @@ const Wysiwyg = React__namespace.forwardRef(
4959
4993
  );
4960
4994
  const MemoizedWysiwyg = React__namespace.memo(Wysiwyg);
4961
4995
  const InputRenderer = ({ visible, hint: providedHint, ...props }) => {
4962
- const { id } = index.useDoc();
4996
+ const { id, document: document2, collectionType } = index.useDoc();
4963
4997
  const isFormDisabled = strapiAdmin.useForm("InputRenderer", (state) => state.disabled);
4964
4998
  const isInDynamicZone = useDynamicZone("isInDynamicZone", (state) => state.isInDynamicZone);
4965
4999
  const canCreateFields = index.useDocumentRBAC("InputRenderer", (rbac) => rbac.canCreateFields);
4966
5000
  const canReadFields = index.useDocumentRBAC("InputRenderer", (rbac) => rbac.canReadFields);
4967
5001
  const canUpdateFields = index.useDocumentRBAC("InputRenderer", (rbac) => rbac.canUpdateFields);
4968
5002
  const canUserAction = index.useDocumentRBAC("InputRenderer", (rbac) => rbac.canUserAction);
4969
- const editableFields = id ? canUpdateFields : canCreateFields;
4970
- const readableFields = id ? canReadFields : canCreateFields;
5003
+ let idToCheck = id;
5004
+ if (collectionType === index.SINGLE_TYPES) {
5005
+ idToCheck = document2?.documentId;
5006
+ }
5007
+ const editableFields = idToCheck ? canUpdateFields : canCreateFields;
5008
+ const readableFields = idToCheck ? canReadFields : canCreateFields;
4971
5009
  const canUserReadField = canUserAction(props.name, readableFields, props.type);
4972
5010
  const canUserEditField = canUserAction(props.name, editableFields, props.type);
4973
5011
  const fields = strapiAdmin.useStrapiApp("InputRenderer", (app) => app.fields);
@@ -4978,6 +5016,7 @@ const InputRenderer = ({ visible, hint: providedHint, ...props }) => {
4978
5016
  const {
4979
5017
  edit: { components }
4980
5018
  } = index.useDocLayout();
5019
+ const field = strapiAdmin.useField(props.name);
4981
5020
  if (!visible) {
4982
5021
  return null;
4983
5022
  }
@@ -4988,7 +5027,7 @@ const InputRenderer = ({ visible, hint: providedHint, ...props }) => {
4988
5027
  if (attributeHasCustomFieldProperty(props.attribute)) {
4989
5028
  const CustomInput = lazyComponentStore[props.attribute.customField];
4990
5029
  if (CustomInput) {
4991
- return /* @__PURE__ */ jsxRuntime.jsx(CustomInput, { ...props, hint, disabled: fieldIsDisabled });
5030
+ return /* @__PURE__ */ jsxRuntime.jsx(CustomInput, { ...props, ...field, hint, disabled: fieldIsDisabled });
4992
5031
  }
4993
5032
  return /* @__PURE__ */ jsxRuntime.jsx(
4994
5033
  strapiAdmin.InputRenderer,
@@ -5149,6 +5188,14 @@ const DynamicComponent = ({
5149
5188
  React__namespace.useEffect(() => {
5150
5189
  dragPreviewRef(reactDndHtml5Backend.getEmptyImage(), { captureDraggingState: false });
5151
5190
  }, [dragPreviewRef, index$1]);
5191
+ const accordionValue = React__namespace.useId();
5192
+ const { value = [], rawError } = strapiAdmin.useField(`${name2}.${index$1}`);
5193
+ const [collapseToOpen, setCollapseToOpen] = React__namespace.useState("");
5194
+ React__namespace.useEffect(() => {
5195
+ if (rawError && value) {
5196
+ setCollapseToOpen(accordionValue);
5197
+ }
5198
+ }, [rawError, value, accordionValue]);
5152
5199
  const composedBoxRefs = designSystem.useComposedRefs(boxRef, dropRef);
5153
5200
  const accordionActions = disabled ? null : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5154
5201
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -5214,10 +5261,9 @@ const DynamicComponent = ({
5214
5261
  ] })
5215
5262
  ] });
5216
5263
  const accordionTitle = title ? `${displayName} ${title}` : displayName;
5217
- const accordionValue = React__namespace.useId();
5218
5264
  return /* @__PURE__ */ jsxRuntime.jsxs(ComponentContainer, { tag: "li", width: "100%", children: [
5219
5265
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(Rectangle, { background: "neutral200" }) }),
5220
- /* @__PURE__ */ jsxRuntime.jsx(StyledBox, { ref: composedBoxRefs, hasRadius: true, children: isDragging ? /* @__PURE__ */ jsxRuntime.jsx(Preview, {}) : /* @__PURE__ */ jsxRuntime.jsx(designSystem.Accordion.Root, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Accordion.Item, { value: accordionValue, children: [
5266
+ /* @__PURE__ */ jsxRuntime.jsx(StyledBox, { ref: composedBoxRefs, hasRadius: true, children: isDragging ? /* @__PURE__ */ jsxRuntime.jsx(Preview, {}) : /* @__PURE__ */ jsxRuntime.jsx(designSystem.Accordion.Root, { value: collapseToOpen, onValueChange: setCollapseToOpen, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Accordion.Item, { value: accordionValue, children: [
5221
5267
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Accordion.Header, { children: [
5222
5268
  /* @__PURE__ */ jsxRuntime.jsx(
5223
5269
  designSystem.Accordion.Trigger,
@@ -5228,21 +5274,39 @@ const DynamicComponent = ({
5228
5274
  ),
5229
5275
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Accordion.Actions, { children: accordionActions })
5230
5276
  ] }),
5231
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Accordion.Content, { children: /* @__PURE__ */ jsxRuntime.jsx(AccordionContentRadius, { background: "neutral0", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingLeft: 6, paddingRight: 6, paddingTop: 6, paddingBottom: 6, children: components[componentUid]?.layout?.map((row, rowInd) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
5232
- const fieldName = `${name2}.${index$1}.${field.name}`;
5233
- return /* @__PURE__ */ jsxRuntime.jsx(
5234
- designSystem.Grid.Item,
5235
- {
5236
- col: size,
5237
- s: 12,
5238
- xs: 12,
5239
- direction: "column",
5240
- alignItems: "stretch",
5241
- children: /* @__PURE__ */ jsxRuntime.jsx(MemoizedInputRenderer, { ...field, name: fieldName })
5242
- },
5243
- fieldName
5244
- );
5245
- }) }, rowInd)) }) }) })
5277
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Accordion.Content, { children: /* @__PURE__ */ jsxRuntime.jsx(AccordionContentRadius, { background: "neutral0", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingLeft: 6, paddingRight: 6, paddingTop: 6, paddingBottom: 6, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: components[componentUid]?.layout?.map((row, rowInd) => /* @__PURE__ */ jsxRuntime.jsx(
5278
+ designSystem.Grid.Item,
5279
+ {
5280
+ col: 12,
5281
+ s: 12,
5282
+ xs: 12,
5283
+ direction: "column",
5284
+ alignItems: "stretch",
5285
+ children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
5286
+ const fieldName = `${name2}.${index$1}.${field.name}`;
5287
+ const fieldWithTranslatedLabel = {
5288
+ ...field,
5289
+ label: formatMessage({
5290
+ id: `content-manager.components.${componentUid}.${field.name}`,
5291
+ defaultMessage: field.label
5292
+ })
5293
+ };
5294
+ return /* @__PURE__ */ jsxRuntime.jsx(
5295
+ designSystem.Grid.Item,
5296
+ {
5297
+ col: size,
5298
+ s: 12,
5299
+ xs: 12,
5300
+ direction: "column",
5301
+ alignItems: "stretch",
5302
+ children: /* @__PURE__ */ jsxRuntime.jsx(MemoizedInputRenderer, { ...fieldWithTranslatedLabel, name: fieldName })
5303
+ },
5304
+ fieldName
5305
+ );
5306
+ }) })
5307
+ },
5308
+ rowInd
5309
+ )) }) }) }) })
5246
5310
  ] }) }) })
5247
5311
  ] });
5248
5312
  };
@@ -5548,4 +5612,4 @@ exports.transformDocument = transformDocument;
5548
5612
  exports.useDynamicZone = useDynamicZone;
5549
5613
  exports.useFieldHint = useFieldHint;
5550
5614
  exports.useLazyComponents = useLazyComponents;
5551
- //# sourceMappingURL=Field-9DePZh-0.js.map
5615
+ //# sourceMappingURL=Field-fKtb7rWK.js.map