@strapi/content-manager 5.0.0-rc.3 → 5.0.0-rc.30

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 (120) hide show
  1. package/dist/_chunks/{ComponentConfigurationPage-BAgyHiMm.mjs → ComponentConfigurationPage-DfFSZQxe.mjs} +3 -3
  2. package/dist/_chunks/{ComponentConfigurationPage-BAgyHiMm.mjs.map → ComponentConfigurationPage-DfFSZQxe.mjs.map} +1 -1
  3. package/dist/_chunks/{ComponentConfigurationPage-5ukroXAh.js → ComponentConfigurationPage-FqfsxQ1j.js} +3 -3
  4. package/dist/_chunks/{ComponentConfigurationPage-5ukroXAh.js.map → ComponentConfigurationPage-FqfsxQ1j.js.map} +1 -1
  5. package/dist/_chunks/{EditConfigurationPage-Xp7lun0f.js → EditConfigurationPage-Cn0e8t3I.js} +3 -3
  6. package/dist/_chunks/{EditConfigurationPage-Xp7lun0f.js.map → EditConfigurationPage-Cn0e8t3I.js.map} +1 -1
  7. package/dist/_chunks/{EditConfigurationPage-DmoXawIh.mjs → EditConfigurationPage-DdPNAbl3.mjs} +3 -3
  8. package/dist/_chunks/{EditConfigurationPage-DmoXawIh.mjs.map → EditConfigurationPage-DdPNAbl3.mjs.map} +1 -1
  9. package/dist/_chunks/{EditViewPage-BLsjc5F-.mjs → EditViewPage-B82x_x1b.mjs} +30 -9
  10. package/dist/_chunks/EditViewPage-B82x_x1b.mjs.map +1 -0
  11. package/dist/_chunks/{EditViewPage-C-ukDOB7.js → EditViewPage-DlxEHhUt.js} +30 -9
  12. package/dist/_chunks/EditViewPage-DlxEHhUt.js.map +1 -0
  13. package/dist/_chunks/{Field-Bfph5SOd.js → Field-COL25JiC.js} +174 -102
  14. package/dist/_chunks/Field-COL25JiC.js.map +1 -0
  15. package/dist/_chunks/{Field-Cs7duwWd.mjs → Field-DufHXW17.mjs} +172 -100
  16. package/dist/_chunks/Field-DufHXW17.mjs.map +1 -0
  17. package/dist/_chunks/{Form-CPYqIWDG.js → Form-BssUwrTO.js} +36 -17
  18. package/dist/_chunks/Form-BssUwrTO.js.map +1 -0
  19. package/dist/_chunks/{Form-Dg_GS5TQ.mjs → Form-u_kAOhwB.mjs} +36 -17
  20. package/dist/_chunks/Form-u_kAOhwB.mjs.map +1 -0
  21. package/dist/_chunks/{History-DNQkXANT.js → History-C9t9UqpO.js} +23 -10
  22. package/dist/_chunks/History-C9t9UqpO.js.map +1 -0
  23. package/dist/_chunks/{History-wrnHqf09.mjs → History-DRwA3oMM.mjs} +24 -11
  24. package/dist/_chunks/History-DRwA3oMM.mjs.map +1 -0
  25. package/dist/_chunks/{ListConfigurationPage-CUQxfpjT.js → ListConfigurationPage-BXYPohh-.js} +14 -4
  26. package/dist/_chunks/ListConfigurationPage-BXYPohh-.js.map +1 -0
  27. package/dist/_chunks/{ListConfigurationPage-DScmJVkW.mjs → ListConfigurationPage-BxfQJzPk.mjs} +14 -4
  28. package/dist/_chunks/ListConfigurationPage-BxfQJzPk.mjs.map +1 -0
  29. package/dist/_chunks/{ListViewPage-C4IvrMgY.mjs → ListViewPage-CELx2ysp.mjs} +47 -38
  30. package/dist/_chunks/ListViewPage-CELx2ysp.mjs.map +1 -0
  31. package/dist/_chunks/{ListViewPage-BsLiH2-2.js → ListViewPage-D2VD8Szg.js} +49 -40
  32. package/dist/_chunks/ListViewPage-D2VD8Szg.js.map +1 -0
  33. package/dist/_chunks/{NoContentTypePage-BZ-PnGAf.js → NoContentTypePage-BV9IjJSM.js} +2 -2
  34. package/dist/_chunks/{NoContentTypePage-BZ-PnGAf.js.map → NoContentTypePage-BV9IjJSM.js.map} +1 -1
  35. package/dist/_chunks/{NoContentTypePage-Djg8nPlj.mjs → NoContentTypePage-DtJ9jcfk.mjs} +2 -2
  36. package/dist/_chunks/{NoContentTypePage-Djg8nPlj.mjs.map → NoContentTypePage-DtJ9jcfk.mjs.map} +1 -1
  37. package/dist/_chunks/{NoPermissionsPage-DSP7R-hv.mjs → NoPermissionsPage-DWleVYK7.mjs} +2 -2
  38. package/dist/_chunks/{NoPermissionsPage-DSP7R-hv.mjs.map → NoPermissionsPage-DWleVYK7.mjs.map} +1 -1
  39. package/dist/_chunks/{NoPermissionsPage-_lUqjGW3.js → NoPermissionsPage-Dp8NpF9I.js} +2 -2
  40. package/dist/_chunks/{NoPermissionsPage-_lUqjGW3.js.map → NoPermissionsPage-Dp8NpF9I.js.map} +1 -1
  41. package/dist/_chunks/{Relations-BZr8tL0R.mjs → Relations-BTcf5xaw.mjs} +33 -24
  42. package/dist/_chunks/Relations-BTcf5xaw.mjs.map +1 -0
  43. package/dist/_chunks/{Relations-CtELXYIK.js → Relations-DR7EUgyC.js} +33 -24
  44. package/dist/_chunks/Relations-DR7EUgyC.js.map +1 -0
  45. package/dist/_chunks/{en-uOUIxfcQ.js → en-Bm0D0IWz.js} +13 -12
  46. package/dist/_chunks/{en-uOUIxfcQ.js.map → en-Bm0D0IWz.js.map} +1 -1
  47. package/dist/_chunks/{en-BrCTWlZv.mjs → en-DKV44jRb.mjs} +13 -12
  48. package/dist/_chunks/{en-BrCTWlZv.mjs.map → en-DKV44jRb.mjs.map} +1 -1
  49. package/dist/_chunks/{index-OerGjbAN.js → index-BdMf2lfT.js} +1921 -1758
  50. package/dist/_chunks/index-BdMf2lfT.js.map +1 -0
  51. package/dist/_chunks/{index-c_5DdJi-.mjs → index-wnqzm4Q8.mjs} +1941 -1778
  52. package/dist/_chunks/index-wnqzm4Q8.mjs.map +1 -0
  53. package/dist/_chunks/{layout-oPBiO7RY.mjs → layout-2CfjL0T9.mjs} +22 -9
  54. package/dist/_chunks/layout-2CfjL0T9.mjs.map +1 -0
  55. package/dist/_chunks/{layout-Ci7qHlFb.js → layout-B2MyZU-_.js} +21 -8
  56. package/dist/_chunks/layout-B2MyZU-_.js.map +1 -0
  57. package/dist/_chunks/{relations-COBpStiF.js → relations-BH7JJGGe.js} +2 -2
  58. package/dist/_chunks/{relations-COBpStiF.js.map → relations-BH7JJGGe.js.map} +1 -1
  59. package/dist/_chunks/{relations-BIdWFjdq.mjs → relations-C0w0GcXi.mjs} +2 -2
  60. package/dist/_chunks/{relations-BIdWFjdq.mjs.map → relations-C0w0GcXi.mjs.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 +2 -1
  66. package/dist/admin/index.js.map +1 -1
  67. package/dist/admin/index.mjs +5 -4
  68. package/dist/admin/src/exports.d.ts +1 -1
  69. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  70. package/dist/admin/src/hooks/useDocument.d.ts +32 -1
  71. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.d.ts +2 -2
  72. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.d.ts +2 -2
  73. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +4 -48
  74. package/dist/admin/src/pages/EditView/components/Header.d.ts +11 -11
  75. package/dist/admin/src/services/api.d.ts +1 -1
  76. package/dist/admin/src/services/components.d.ts +2 -2
  77. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  78. package/dist/admin/src/services/documents.d.ts +19 -17
  79. package/dist/admin/src/services/init.d.ts +1 -1
  80. package/dist/admin/src/services/relations.d.ts +2 -2
  81. package/dist/admin/src/services/uid.d.ts +3 -3
  82. package/dist/admin/src/utils/validation.d.ts +4 -1
  83. package/dist/server/index.js +170 -92
  84. package/dist/server/index.js.map +1 -1
  85. package/dist/server/index.mjs +171 -93
  86. package/dist/server/index.mjs.map +1 -1
  87. package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
  88. package/dist/server/src/controllers/relations.d.ts.map +1 -1
  89. package/dist/server/src/history/services/history.d.ts.map +1 -1
  90. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  91. package/dist/server/src/history/services/utils.d.ts +2 -1
  92. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  93. package/dist/server/src/policies/hasPermissions.d.ts.map +1 -1
  94. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  95. package/dist/server/src/services/permission-checker.d.ts.map +1 -1
  96. package/dist/shared/contracts/collection-types.d.ts +3 -1
  97. package/dist/shared/contracts/collection-types.d.ts.map +1 -1
  98. package/package.json +12 -12
  99. package/dist/_chunks/EditViewPage-BLsjc5F-.mjs.map +0 -1
  100. package/dist/_chunks/EditViewPage-C-ukDOB7.js.map +0 -1
  101. package/dist/_chunks/Field-Bfph5SOd.js.map +0 -1
  102. package/dist/_chunks/Field-Cs7duwWd.mjs.map +0 -1
  103. package/dist/_chunks/Form-CPYqIWDG.js.map +0 -1
  104. package/dist/_chunks/Form-Dg_GS5TQ.mjs.map +0 -1
  105. package/dist/_chunks/History-DNQkXANT.js.map +0 -1
  106. package/dist/_chunks/History-wrnHqf09.mjs.map +0 -1
  107. package/dist/_chunks/ListConfigurationPage-CUQxfpjT.js.map +0 -1
  108. package/dist/_chunks/ListConfigurationPage-DScmJVkW.mjs.map +0 -1
  109. package/dist/_chunks/ListViewPage-BsLiH2-2.js.map +0 -1
  110. package/dist/_chunks/ListViewPage-C4IvrMgY.mjs.map +0 -1
  111. package/dist/_chunks/Relations-BZr8tL0R.mjs.map +0 -1
  112. package/dist/_chunks/Relations-CtELXYIK.js.map +0 -1
  113. package/dist/_chunks/index-OerGjbAN.js.map +0 -1
  114. package/dist/_chunks/index-c_5DdJi-.mjs.map +0 -1
  115. package/dist/_chunks/layout-Ci7qHlFb.js.map +0 -1
  116. package/dist/_chunks/layout-oPBiO7RY.mjs.map +0 -1
  117. package/dist/_chunks/usePrev-B9w_-eYc.js.map +0 -1
  118. package/dist/_chunks/usePrev-DH6iah0A.mjs +0 -16
  119. package/dist/_chunks/usePrev-DH6iah0A.mjs.map +0 -1
  120. package/strapi-server.js +0 -3
@@ -2,12 +2,12 @@ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
3
  import { useState, useEffect, useCallback, memo } from "react";
4
4
  import { useStrapiApp, createContext, useField, useNotification, useForm, useAPIErrorHandler, useQueryParams, useFocusInputField, InputRenderer as InputRenderer$1 } from "@strapi/admin/strapi-admin";
5
- import { Box, SingleSelect, SingleSelectOption, Typography, Flex, BaseLink, Button, Popover, Field, Tooltip, IconButton, useComposedRefs, Portal, FocusTrap, Divider, VisuallyHidden, Grid as Grid$1, Accordion, TextButton, BaseButton, TextInput, IconButtonGroup, Menu, MenuItem } from "@strapi/design-system";
5
+ import { Box, SingleSelect, SingleSelectOption, Typography, Flex, BaseLink, Button, Popover, Field, Tooltip, IconButton, useComposedRefs, Portal, FocusTrap, Divider, VisuallyHidden, Grid as Grid$1, Accordion, TextButton, TextInput, IconButtonGroup, Menu, MenuItem } from "@strapi/design-system";
6
6
  import pipe$1 from "lodash/fp/pipe";
7
7
  import { useIntl } from "react-intl";
8
- import { m as DOCUMENT_META_FIELDS, g as getTranslation, c as useDoc, e as contentManagerApi, d as buildValidParams, f as useDocumentRBAC, n as useDocLayout } from "./index-c_5DdJi-.mjs";
8
+ import { m as DOCUMENT_META_FIELDS, g as getTranslation, c as useDoc, e as contentManagerApi, n as CLONE_PATH, d as buildValidParams, f as useDocumentRBAC, S as SINGLE_TYPES, o as useDocLayout } from "./index-wnqzm4Q8.mjs";
9
9
  import { generateNKeysBetween } from "fractional-indexing";
10
- import { u as useComponent, C as ComponentProvider, M as MemoizedRelationsField } from "./Relations-BZr8tL0R.mjs";
10
+ import { u as useComponent, C as ComponentProvider, M as MemoizedRelationsField } from "./Relations-BTcf5xaw.mjs";
11
11
  import { Code, HeadingOne, HeadingTwo, HeadingThree, HeadingFour, HeadingFive, HeadingSix, Image as Image$1, NumberList, BulletList, Paragraph, Quotes, Link as Link$1, Drag, Collapse, Bold, Italic, Underline, StrikeThrough, Expand, PlusCircle, Plus, Trash, EyeStriked, CheckCircle, WarningCircle, Loader, ArrowClockwise, More } from "@strapi/icons";
12
12
  import { styled, css, keyframes } from "styled-components";
13
13
  import { C as ComponentIcon, a as COMPONENT_ICONS } from "./ComponentIcon-u4bIXTFY.mjs";
@@ -17,9 +17,9 @@ import { g as getIn } from "./objects-mKMAmfec.mjs";
17
17
  import { Editor as Editor$1, Transforms, Node, Element, Range, Path, Point, createEditor } from "slate";
18
18
  import { withHistory } from "slate-history";
19
19
  import { useFocused, useSelected, ReactEditor, Editable, useSlate, Slate, withReact } from "slate-react";
20
- import { p as prefixFileUrlWithBackendUrl, u as usePrev } from "./usePrev-DH6iah0A.mjs";
20
+ import { p as prefixFileUrlWithBackendUrl, u as usePrev, a as useDebounce } from "./useDebounce-DmuSJIF3.mjs";
21
21
  import * as Toolbar from "@radix-ui/react-toolbar";
22
- import { useLocation } from "react-router-dom";
22
+ import { useLocation, useMatch } from "react-router-dom";
23
23
  import CodeMirror from "codemirror5";
24
24
  import sanitizeHtml from "sanitize-html";
25
25
  import { getLanguage, highlight, highlightAuto } from "highlight.js";
@@ -1407,7 +1407,7 @@ const ToolbarButton = ({
1407
1407
  width: 7,
1408
1408
  height: 7,
1409
1409
  hasRadius: true,
1410
- children: /* @__PURE__ */ jsx(Icon, { width: "1.2rem", height: "1.2rem", fill: disabled ? "neutral300" : enabledColor })
1410
+ children: /* @__PURE__ */ jsx(Icon, { fill: disabled ? "neutral300" : enabledColor })
1411
1411
  }
1412
1412
  )
1413
1413
  }
@@ -1749,6 +1749,7 @@ const DragItem = styled(Flex)`
1749
1749
  }
1750
1750
  `;
1751
1751
  const DragIconButton = styled(IconButton)`
1752
+ user-select: none;
1752
1753
  display: flex;
1753
1754
  align-items: center;
1754
1755
  justify-content: center;
@@ -1877,6 +1878,7 @@ const DragAndDropElement = ({
1877
1878
  DragIconButton,
1878
1879
  {
1879
1880
  tag: "div",
1881
+ contentEditable: false,
1880
1882
  role: "button",
1881
1883
  tabIndex: 0,
1882
1884
  withTooltip: false,
@@ -2672,7 +2674,18 @@ const NonRepeatableComponent = ({
2672
2674
  children: /* @__PURE__ */ jsx(Flex, { direction: "column", alignItems: "stretch", gap: 6, children: layout.map((row, index) => {
2673
2675
  return /* @__PURE__ */ jsx(Grid$1.Root, { gap: 4, children: row.map(({ size, ...field }) => {
2674
2676
  const completeFieldName = `${name2}.${field.name}`;
2675
- return /* @__PURE__ */ jsx(Grid$1.Item, { col: size, s: 12, xs: 12, children: children({ ...field, name: completeFieldName }) }, completeFieldName);
2677
+ return /* @__PURE__ */ jsx(
2678
+ Grid$1.Item,
2679
+ {
2680
+ col: size,
2681
+ s: 12,
2682
+ xs: 12,
2683
+ direction: "column",
2684
+ alignItems: "stretch",
2685
+ children: children({ ...field, name: completeFieldName })
2686
+ },
2687
+ completeFieldName
2688
+ );
2676
2689
  }) }, index);
2677
2690
  }) })
2678
2691
  }
@@ -2691,13 +2704,34 @@ const RepeatableComponent = ({
2691
2704
  const { search: searchString } = useLocation();
2692
2705
  const search = React.useMemo(() => new URLSearchParams(searchString), [searchString]);
2693
2706
  const { components } = useDoc();
2694
- const { value = [], error } = useField(name2);
2707
+ const {
2708
+ value = [],
2709
+ error,
2710
+ rawError
2711
+ } = useField(name2);
2695
2712
  const addFieldRow = useForm("RepeatableComponent", (state) => state.addFieldRow);
2696
2713
  const moveFieldRow = useForm("RepeatableComponent", (state) => state.moveFieldRow);
2697
2714
  const removeFieldRow = useForm("RepeatableComponent", (state) => state.removeFieldRow);
2698
2715
  const { max = Infinity } = attribute;
2699
2716
  const [collapseToOpen, setCollapseToOpen] = React.useState("");
2700
2717
  const [liveText, setLiveText] = React.useState("");
2718
+ React.useEffect(() => {
2719
+ const hasNestedErrors = rawError && Array.isArray(rawError) && rawError.length > 0;
2720
+ const hasNestedValue = value && Array.isArray(value) && value.length > 0;
2721
+ if (hasNestedErrors && hasNestedValue) {
2722
+ const errorOpenItems = rawError.map((_, idx) => {
2723
+ return value[idx] ? value[idx].__temp_key__ : null;
2724
+ }).filter((value2) => !!value2);
2725
+ if (errorOpenItems && errorOpenItems.length > 0) {
2726
+ setCollapseToOpen((collapseToOpen2) => {
2727
+ if (!errorOpenItems.includes(collapseToOpen2)) {
2728
+ return errorOpenItems[0];
2729
+ }
2730
+ return collapseToOpen2;
2731
+ });
2732
+ }
2733
+ }
2734
+ }, [rawError, value]);
2701
2735
  const componentTmpKeyWithFocussedField = React.useMemo(() => {
2702
2736
  if (search.has("field")) {
2703
2737
  const fieldParam = search.get("field");
@@ -2850,7 +2884,18 @@ const RepeatableComponent = ({
2850
2884
  children: layout.map((row, index2) => {
2851
2885
  return /* @__PURE__ */ jsx(Grid$1.Root, { gap: 4, children: row.map(({ size, ...field }) => {
2852
2886
  const completeFieldName = `${nameWithIndex}.${field.name}`;
2853
- return /* @__PURE__ */ jsx(Grid$1.Item, { col: size, s: 12, xs: 12, children: children({ ...field, name: completeFieldName }) }, completeFieldName);
2887
+ return /* @__PURE__ */ jsx(
2888
+ Grid$1.Item,
2889
+ {
2890
+ col: size,
2891
+ s: 12,
2892
+ xs: 12,
2893
+ direction: "column",
2894
+ alignItems: "stretch",
2895
+ children: children({ ...field, name: completeFieldName })
2896
+ },
2897
+ completeFieldName
2898
+ );
2854
2899
  }) }, index2);
2855
2900
  })
2856
2901
  }
@@ -2945,7 +2990,7 @@ const Component = ({
2945
2990
  /* @__PURE__ */ jsx(
2946
2991
  IconButton,
2947
2992
  {
2948
- borderWidth: 0,
2993
+ variant: "ghost",
2949
2994
  onClick: onDeleteComponent,
2950
2995
  label: formatMessage({
2951
2996
  id: getTranslation("containers.Edit.delete"),
@@ -2958,7 +3003,7 @@ const Component = ({
2958
3003
  IconButton,
2959
3004
  {
2960
3005
  ref: composedAccordionRefs,
2961
- borderWidth: 0,
3006
+ variant: "ghost",
2962
3007
  onClick: (e) => e.stopPropagation(),
2963
3008
  "data-handler-id": handlerId,
2964
3009
  label: formatMessage({
@@ -3028,7 +3073,7 @@ const ComponentInput = ({
3028
3073
  id: getTranslation("components.reset-entry"),
3029
3074
  defaultMessage: "Reset Entry"
3030
3075
  }),
3031
- borderWidth: 0,
3076
+ variant: "ghost",
3032
3077
  onClick: () => {
3033
3078
  field.onChange(name2, null);
3034
3079
  },
@@ -3057,11 +3102,8 @@ const AddComponentButton = ({
3057
3102
  onClick,
3058
3103
  disabled: isDisabled,
3059
3104
  background: "neutral0",
3060
- paddingTop: 3,
3061
- paddingBottom: 3,
3062
- paddingLeft: 4,
3063
- paddingRight: 4,
3064
3105
  style: { cursor: isDisabled ? "not-allowed" : "pointer" },
3106
+ variant: "tertiary",
3065
3107
  children: /* @__PURE__ */ jsxs(Flex, { tag: "span", gap: 2, children: [
3066
3108
  /* @__PURE__ */ jsx(StyledAddIcon, { "aria-hidden": true, $isOpen: isOpen, $hasError: hasError && !isOpen }),
3067
3109
  /* @__PURE__ */ jsx(
@@ -3090,10 +3132,11 @@ const StyledAddIcon = styled(PlusCircle)`
3090
3132
  }
3091
3133
  `;
3092
3134
  const AddComponentTitle = styled(Typography)``;
3093
- const StyledButton = styled(BaseButton)`
3135
+ const StyledButton = styled(Button)`
3094
3136
  border-radius: 26px;
3095
3137
  border-color: ${({ theme }) => theme.colors.neutral150};
3096
3138
  box-shadow: ${({ theme }) => theme.shadows.filterShadow};
3139
+ height: 5rem;
3097
3140
 
3098
3141
  &:hover {
3099
3142
  ${AddComponentTitle} {
@@ -3105,7 +3148,7 @@ const StyledButton = styled(BaseButton)`
3105
3148
  fill: ${({ theme }) => theme.colors.primary600};
3106
3149
  }
3107
3150
  > path {
3108
- fill: ${({ theme }) => theme.colors.neutral100};
3151
+ fill: ${({ theme }) => theme.colors.primary600};
3109
3152
  }
3110
3153
  }
3111
3154
  }
@@ -3236,18 +3279,6 @@ const NotAllowedInput = ({ hint, label, required, name: name2 }) => {
3236
3279
  /* @__PURE__ */ jsx(Field.Hint, {})
3237
3280
  ] });
3238
3281
  };
3239
- function useDebounce(value, delay) {
3240
- const [debouncedValue, setDebouncedValue] = useState(value);
3241
- useEffect(() => {
3242
- const handler = setTimeout(() => {
3243
- setDebouncedValue(value);
3244
- }, delay);
3245
- return () => {
3246
- clearTimeout(handler);
3247
- };
3248
- }, [value, delay]);
3249
- return debouncedValue;
3250
- }
3251
3282
  const uidApi = contentManagerApi.injectEndpoints({
3252
3283
  endpoints: (builder) => ({
3253
3284
  getDefaultUID: builder.query({
@@ -3282,7 +3313,10 @@ const uidApi = contentManagerApi.injectEndpoints({
3282
3313
  config: {
3283
3314
  params
3284
3315
  }
3285
- })
3316
+ }),
3317
+ providesTags: (_res, _error, params) => [
3318
+ { type: "UidAvailability", id: params.contentTypeUID }
3319
+ ]
3286
3320
  })
3287
3321
  })
3288
3322
  });
@@ -3294,8 +3328,10 @@ const UIDInput = React.forwardRef(
3294
3328
  const allFormValues = useForm("InputUID", (form) => form.values);
3295
3329
  const [availability, setAvailability] = React.useState();
3296
3330
  const [showRegenerate, setShowRegenerate] = React.useState(false);
3331
+ const isCloning = useMatch(CLONE_PATH) !== null;
3297
3332
  const field = useField(name2);
3298
3333
  const debouncedValue = useDebounce(field.value, 300);
3334
+ const hasChanged = debouncedValue !== field.initialValue;
3299
3335
  const { toggleNotification } = useNotification();
3300
3336
  const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
3301
3337
  const { formatMessage } = useIntl();
@@ -3371,8 +3407,9 @@ const UIDInput = React.forwardRef(
3371
3407
  params
3372
3408
  },
3373
3409
  {
3410
+ // Don't check availability if the value is empty or wasn't changed
3374
3411
  skip: !Boolean(
3375
- debouncedValue !== field.initialValue && debouncedValue && UID_REGEX.test(debouncedValue.trim())
3412
+ (hasChanged || isCloning) && debouncedValue && UID_REGEX.test(debouncedValue.trim())
3376
3413
  )
3377
3414
  }
3378
3415
  );
@@ -3401,6 +3438,7 @@ const UIDInput = React.forwardRef(
3401
3438
  const isLoading = isGeneratingDefaultUID || isGeneratingUID || isCheckingAvailability;
3402
3439
  const fieldRef = useFocusInputField(name2);
3403
3440
  const composedRefs = useComposedRefs(ref, fieldRef);
3441
+ const shouldShowAvailability = (hasChanged || isCloning) && debouncedValue != null && availability && !showRegenerate;
3404
3442
  return /* @__PURE__ */ jsxs(Field.Root, { hint, name: name2, error: field.error, required, children: [
3405
3443
  /* @__PURE__ */ jsx(Field.Label, { action: labelAction, children: label }),
3406
3444
  /* @__PURE__ */ jsx(
@@ -3409,7 +3447,7 @@ const UIDInput = React.forwardRef(
3409
3447
  ref: composedRefs,
3410
3448
  disabled: props.disabled,
3411
3449
  endAction: /* @__PURE__ */ jsxs(Flex, { position: "relative", gap: 1, children: [
3412
- availability && !showRegenerate && /* @__PURE__ */ jsxs(
3450
+ shouldShowAvailability && /* @__PURE__ */ jsxs(
3413
3451
  TextValidation,
3414
3452
  {
3415
3453
  alignItems: "center",
@@ -4243,7 +4281,7 @@ const EditorLayout = ({
4243
4281
  justifyContent: "flex-end",
4244
4282
  shrink: 0,
4245
4283
  width: "100%",
4246
- children: /* @__PURE__ */ jsxs(ExpandButton$1, { onClick: onCollapse, children: [
4284
+ children: /* @__PURE__ */ jsxs(ExpandButton$1, { onClick: onCollapse, variant: "tertiary", size: "M", children: [
4247
4285
  /* @__PURE__ */ jsx(Typography, { children: formatMessage({
4248
4286
  id: "components.Wysiwyg.collapse",
4249
4287
  defaultMessage: "Collapse"
@@ -4261,12 +4299,14 @@ const EditorLayout = ({
4261
4299
  ) }) });
4262
4300
  }
4263
4301
  return /* @__PURE__ */ jsx(
4264
- Box,
4302
+ Flex,
4265
4303
  {
4266
4304
  borderColor: error ? "danger600" : "neutral200",
4267
4305
  borderStyle: "solid",
4268
4306
  borderWidth: "1px",
4269
4307
  hasRadius: true,
4308
+ direction: "column",
4309
+ alignItems: "stretch",
4270
4310
  children
4271
4311
  }
4272
4312
  );
@@ -4277,11 +4317,19 @@ const ExpandWrapper = styled(Flex)`
4277
4317
  const BoxWithBorder = styled(Box)`
4278
4318
  border-right: 1px solid ${({ theme }) => theme.colors.neutral200};
4279
4319
  `;
4280
- const ExpandButton$1 = styled(BaseButton)`
4320
+ const ExpandButton$1 = styled(Button)`
4281
4321
  background-color: transparent;
4282
4322
  border: none;
4283
4323
  align-items: center;
4284
4324
 
4325
+ & > span {
4326
+ display: flex;
4327
+ justify-content: space-between;
4328
+ align-items: center;
4329
+ width: 100%;
4330
+ font-weight: ${({ theme }) => theme.fontWeights.regular};
4331
+ }
4332
+
4285
4333
  svg {
4286
4334
  margin-left: ${({ theme }) => `${theme.spaces[2]}`};
4287
4335
 
@@ -4548,40 +4596,28 @@ const quoteAndCodeHandler = (editor, markdownType) => {
4548
4596
  insertWithoutTextToEdit(editor, markdownType, line, contentLength);
4549
4597
  }
4550
4598
  };
4551
- const CustomIconButton = styled(IconButton)`
4552
- padding: ${({ theme }) => theme.spaces[2]};
4553
-
4554
- svg {
4555
- width: 1.8rem;
4556
- height: 1.8rem;
4557
- }
4558
- `;
4559
- const CustomLinkIconButton = styled(CustomIconButton)`
4560
- svg {
4561
- width: 0.8rem;
4562
- height: 0.8rem;
4563
- }
4564
- `;
4565
4599
  const MainButtons = styled(IconButtonGroup)`
4566
4600
  margin-left: ${({ theme }) => theme.spaces[4]};
4567
4601
  `;
4568
4602
  const MoreButton = styled(IconButton)`
4569
4603
  margin: ${({ theme }) => `0 ${theme.spaces[2]}`};
4570
- padding: ${({ theme }) => theme.spaces[2]};
4571
-
4572
- svg {
4573
- width: 1.8rem;
4574
- height: 1.8rem;
4575
- }
4576
4604
  `;
4577
4605
  const IconButtonGroupMargin = styled(IconButtonGroup)`
4578
4606
  margin-right: ${({ theme }) => `${theme.spaces[2]}`};
4579
4607
  `;
4580
- const ExpandButton = styled(BaseButton)`
4608
+ const ExpandButton = styled(Button)`
4581
4609
  background-color: transparent;
4582
4610
  border: none;
4583
4611
  align-items: center;
4584
4612
 
4613
+ & > span {
4614
+ display: flex;
4615
+ justify-content: space-between;
4616
+ align-items: center;
4617
+ width: 100%;
4618
+ font-weight: ${({ theme }) => theme.fontWeights.regular};
4619
+ }
4620
+
4585
4621
  svg {
4586
4622
  margin-left: ${({ theme }) => `${theme.spaces[2]}`};
4587
4623
  path {
@@ -4593,7 +4629,7 @@ const ExpandButton = styled(BaseButton)`
4593
4629
  `;
4594
4630
  const WysiwygFooter = ({ onToggleExpand }) => {
4595
4631
  const { formatMessage } = useIntl();
4596
- return /* @__PURE__ */ jsx(Box, { padding: 2, background: "neutral100", borderRadius: `0 0 0.4rem 0.4rem`, children: /* @__PURE__ */ jsx(Flex, { justifyContent: "flex-end", alignItems: "flex-end", children: /* @__PURE__ */ jsxs(ExpandButton, { id: "expand", onClick: onToggleExpand, children: [
4632
+ return /* @__PURE__ */ jsx(Box, { padding: 2, background: "neutral100", borderRadius: `0 0 0.4rem 0.4rem`, children: /* @__PURE__ */ jsx(Flex, { justifyContent: "flex-end", alignItems: "flex-end", children: /* @__PURE__ */ jsxs(ExpandButton, { id: "expand", onClick: onToggleExpand, variant: "tertiary", size: "M", children: [
4597
4633
  /* @__PURE__ */ jsx(Typography, { textColor: "neutral800", children: formatMessage({
4598
4634
  id: "components.WysiwygBottomControls.fullscreen",
4599
4635
  defaultMessage: "Expand"
@@ -4630,18 +4666,27 @@ const WysiwygNav = ({
4630
4666
  borderRadius: `0.4rem 0.4rem 0 0`,
4631
4667
  children: [
4632
4668
  /* @__PURE__ */ jsxs(Flex, { children: [
4633
- /* @__PURE__ */ jsx(Field.Root, { children: /* @__PURE__ */ jsxs(SingleSelect, { disabled: true, placeholder: selectPlaceholder, "aria-label": selectPlaceholder, children: [
4634
- /* @__PURE__ */ jsx(SingleSelectOption, { value: "h1", children: "h1" }),
4635
- /* @__PURE__ */ jsx(SingleSelectOption, { value: "h2", children: "h2" }),
4636
- /* @__PURE__ */ jsx(SingleSelectOption, { value: "h3", children: "h3" }),
4637
- /* @__PURE__ */ jsx(SingleSelectOption, { value: "h4", children: "h4" }),
4638
- /* @__PURE__ */ jsx(SingleSelectOption, { value: "h5", children: "h5" }),
4639
- /* @__PURE__ */ jsx(SingleSelectOption, { value: "h6", children: "h6" })
4640
- ] }) }),
4669
+ /* @__PURE__ */ jsx(Field.Root, { children: /* @__PURE__ */ jsxs(
4670
+ SingleSelect,
4671
+ {
4672
+ disabled: true,
4673
+ placeholder: selectPlaceholder,
4674
+ "aria-label": selectPlaceholder,
4675
+ size: "S",
4676
+ children: [
4677
+ /* @__PURE__ */ jsx(SingleSelectOption, { value: "h1", children: "h1" }),
4678
+ /* @__PURE__ */ jsx(SingleSelectOption, { value: "h2", children: "h2" }),
4679
+ /* @__PURE__ */ jsx(SingleSelectOption, { value: "h3", children: "h3" }),
4680
+ /* @__PURE__ */ jsx(SingleSelectOption, { value: "h4", children: "h4" }),
4681
+ /* @__PURE__ */ jsx(SingleSelectOption, { value: "h5", children: "h5" }),
4682
+ /* @__PURE__ */ jsx(SingleSelectOption, { value: "h6", children: "h6" })
4683
+ ]
4684
+ }
4685
+ ) }),
4641
4686
  /* @__PURE__ */ jsxs(MainButtons, { children: [
4642
- /* @__PURE__ */ jsx(CustomIconButton, { disabled: true, label: "Bold", name: "Bold", children: /* @__PURE__ */ jsx(Bold, {}) }),
4643
- /* @__PURE__ */ jsx(CustomIconButton, { disabled: true, label: "Italic", name: "Italic", children: /* @__PURE__ */ jsx(Italic, {}) }),
4644
- /* @__PURE__ */ jsx(CustomIconButton, { disabled: true, label: "Underline", name: "Underline", children: /* @__PURE__ */ jsx(Underline, {}) })
4687
+ /* @__PURE__ */ jsx(IconButton, { disabled: true, label: "Bold", name: "Bold", children: /* @__PURE__ */ jsx(Bold, {}) }),
4688
+ /* @__PURE__ */ jsx(IconButton, { disabled: true, label: "Italic", name: "Italic", children: /* @__PURE__ */ jsx(Italic, {}) }),
4689
+ /* @__PURE__ */ jsx(IconButton, { disabled: true, label: "Underline", name: "Underline", children: /* @__PURE__ */ jsx(Underline, {}) })
4645
4690
  ] }),
4646
4691
  /* @__PURE__ */ jsx(MoreButton, { disabled: true, label: "More", children: /* @__PURE__ */ jsx(More, {}) })
4647
4692
  ] }),
@@ -4668,6 +4713,7 @@ const WysiwygNav = ({
4668
4713
  placeholder: selectPlaceholder,
4669
4714
  "aria-label": selectPlaceholder,
4670
4715
  onChange: (value) => onActionClick(value, editorRef),
4716
+ size: "S",
4671
4717
  children: [
4672
4718
  /* @__PURE__ */ jsx(SingleSelectOption, { value: "h1", children: "h1" }),
4673
4719
  /* @__PURE__ */ jsx(SingleSelectOption, { value: "h2", children: "h2" }),
@@ -4679,17 +4725,9 @@ const WysiwygNav = ({
4679
4725
  }
4680
4726
  ) }),
4681
4727
  /* @__PURE__ */ jsxs(MainButtons, { children: [
4728
+ /* @__PURE__ */ jsx(IconButton, { onClick: () => onActionClick("Bold", editorRef), label: "Bold", name: "Bold", children: /* @__PURE__ */ jsx(Bold, {}) }),
4682
4729
  /* @__PURE__ */ jsx(
4683
- CustomIconButton,
4684
- {
4685
- onClick: () => onActionClick("Bold", editorRef),
4686
- label: "Bold",
4687
- name: "Bold",
4688
- children: /* @__PURE__ */ jsx(Bold, {})
4689
- }
4690
- ),
4691
- /* @__PURE__ */ jsx(
4692
- CustomIconButton,
4730
+ IconButton,
4693
4731
  {
4694
4732
  onClick: () => onActionClick("Italic", editorRef),
4695
4733
  label: "Italic",
@@ -4698,7 +4736,7 @@ const WysiwygNav = ({
4698
4736
  }
4699
4737
  ),
4700
4738
  /* @__PURE__ */ jsx(
4701
- CustomIconButton,
4739
+ IconButton,
4702
4740
  {
4703
4741
  onClick: () => onActionClick("Underline", editorRef),
4704
4742
  label: "Underline",
@@ -4712,7 +4750,7 @@ const WysiwygNav = ({
4712
4750
  /* @__PURE__ */ jsx(Popover.Content, { sideOffset: 12, children: /* @__PURE__ */ jsxs(Flex, { padding: 2, children: [
4713
4751
  /* @__PURE__ */ jsxs(IconButtonGroupMargin, { children: [
4714
4752
  /* @__PURE__ */ jsx(
4715
- CustomIconButton,
4753
+ IconButton,
4716
4754
  {
4717
4755
  onClick: () => onActionClick("Strikethrough", editorRef, handleTogglePopover),
4718
4756
  label: "Strikethrough",
@@ -4721,7 +4759,7 @@ const WysiwygNav = ({
4721
4759
  }
4722
4760
  ),
4723
4761
  /* @__PURE__ */ jsx(
4724
- CustomIconButton,
4762
+ IconButton,
4725
4763
  {
4726
4764
  onClick: () => onActionClick("BulletList", editorRef, handleTogglePopover),
4727
4765
  label: "BulletList",
@@ -4730,7 +4768,7 @@ const WysiwygNav = ({
4730
4768
  }
4731
4769
  ),
4732
4770
  /* @__PURE__ */ jsx(
4733
- CustomIconButton,
4771
+ IconButton,
4734
4772
  {
4735
4773
  onClick: () => onActionClick("NumberList", editorRef, handleTogglePopover),
4736
4774
  label: "NumberList",
@@ -4741,7 +4779,7 @@ const WysiwygNav = ({
4741
4779
  ] }),
4742
4780
  /* @__PURE__ */ jsxs(IconButtonGroup, { children: [
4743
4781
  /* @__PURE__ */ jsx(
4744
- CustomIconButton,
4782
+ IconButton,
4745
4783
  {
4746
4784
  onClick: () => onActionClick("Code", editorRef, handleTogglePopover),
4747
4785
  label: "Code",
@@ -4750,7 +4788,7 @@ const WysiwygNav = ({
4750
4788
  }
4751
4789
  ),
4752
4790
  /* @__PURE__ */ jsx(
4753
- CustomIconButton,
4791
+ IconButton,
4754
4792
  {
4755
4793
  onClick: () => {
4756
4794
  handleTogglePopover();
@@ -4762,7 +4800,7 @@ const WysiwygNav = ({
4762
4800
  }
4763
4801
  ),
4764
4802
  /* @__PURE__ */ jsx(
4765
- CustomLinkIconButton,
4803
+ IconButton,
4766
4804
  {
4767
4805
  onClick: () => onActionClick("Link", editorRef, handleTogglePopover),
4768
4806
  label: "Link",
@@ -4771,7 +4809,7 @@ const WysiwygNav = ({
4771
4809
  }
4772
4810
  ),
4773
4811
  /* @__PURE__ */ jsx(
4774
- CustomIconButton,
4812
+ IconButton,
4775
4813
  {
4776
4814
  onClick: () => onActionClick("Quote", editorRef, handleTogglePopover),
4777
4815
  label: "Quote",
@@ -4908,15 +4946,19 @@ const Wysiwyg = React.forwardRef(
4908
4946
  );
4909
4947
  const MemoizedWysiwyg = React.memo(Wysiwyg);
4910
4948
  const InputRenderer = ({ visible, hint: providedHint, ...props }) => {
4911
- const { id } = useDoc();
4949
+ const { id, document: document2, collectionType } = useDoc();
4912
4950
  const isFormDisabled = useForm("InputRenderer", (state) => state.disabled);
4913
4951
  const isInDynamicZone = useDynamicZone("isInDynamicZone", (state) => state.isInDynamicZone);
4914
4952
  const canCreateFields = useDocumentRBAC("InputRenderer", (rbac) => rbac.canCreateFields);
4915
4953
  const canReadFields = useDocumentRBAC("InputRenderer", (rbac) => rbac.canReadFields);
4916
4954
  const canUpdateFields = useDocumentRBAC("InputRenderer", (rbac) => rbac.canUpdateFields);
4917
4955
  const canUserAction = useDocumentRBAC("InputRenderer", (rbac) => rbac.canUserAction);
4918
- const editableFields = id ? canUpdateFields : canCreateFields;
4919
- const readableFields = id ? canReadFields : canCreateFields;
4956
+ let idToCheck = id;
4957
+ if (collectionType === SINGLE_TYPES) {
4958
+ idToCheck = document2?.documentId;
4959
+ }
4960
+ const editableFields = idToCheck ? canUpdateFields : canCreateFields;
4961
+ const readableFields = idToCheck ? canReadFields : canCreateFields;
4920
4962
  const canUserReadField = canUserAction(props.name, readableFields, props.type);
4921
4963
  const canUserEditField = canUserAction(props.name, editableFields, props.type);
4922
4964
  const fields = useStrapiApp("InputRenderer", (app) => app.fields);
@@ -4927,6 +4969,7 @@ const InputRenderer = ({ visible, hint: providedHint, ...props }) => {
4927
4969
  const {
4928
4970
  edit: { components }
4929
4971
  } = useDocLayout();
4972
+ const field = useField(props.name);
4930
4973
  if (!visible) {
4931
4974
  return null;
4932
4975
  }
@@ -4937,7 +4980,7 @@ const InputRenderer = ({ visible, hint: providedHint, ...props }) => {
4937
4980
  if (attributeHasCustomFieldProperty(props.attribute)) {
4938
4981
  const CustomInput = lazyComponentStore[props.attribute.customField];
4939
4982
  if (CustomInput) {
4940
- return /* @__PURE__ */ jsx(CustomInput, { ...props, hint, disabled: fieldIsDisabled });
4983
+ return /* @__PURE__ */ jsx(CustomInput, { ...props, ...field, hint, disabled: fieldIsDisabled });
4941
4984
  }
4942
4985
  return /* @__PURE__ */ jsx(
4943
4986
  InputRenderer$1,
@@ -5098,12 +5141,20 @@ const DynamicComponent = ({
5098
5141
  React.useEffect(() => {
5099
5142
  dragPreviewRef(getEmptyImage(), { captureDraggingState: false });
5100
5143
  }, [dragPreviewRef, index]);
5144
+ const accordionValue = React.useId();
5145
+ const { value = [], rawError } = useField(`${name2}.${index}`);
5146
+ const [collapseToOpen, setCollapseToOpen] = React.useState("");
5147
+ React.useEffect(() => {
5148
+ if (rawError && value) {
5149
+ setCollapseToOpen(accordionValue);
5150
+ }
5151
+ }, [rawError, value, accordionValue]);
5101
5152
  const composedBoxRefs = useComposedRefs(boxRef, dropRef);
5102
5153
  const accordionActions = disabled ? null : /* @__PURE__ */ jsxs(Fragment, { children: [
5103
5154
  /* @__PURE__ */ jsx(
5104
5155
  IconButton,
5105
5156
  {
5106
- borderWidth: 0,
5157
+ variant: "ghost",
5107
5158
  label: formatMessage(
5108
5159
  {
5109
5160
  id: getTranslation("components.DynamicZone.delete-label"),
@@ -5118,7 +5169,7 @@ const DynamicComponent = ({
5118
5169
  /* @__PURE__ */ jsx(
5119
5170
  IconButton,
5120
5171
  {
5121
- borderWidth: 0,
5172
+ variant: "ghost",
5122
5173
  onClick: (e) => e.stopPropagation(),
5123
5174
  "data-handler-id": handlerId,
5124
5175
  ref: dragRef,
@@ -5163,10 +5214,9 @@ const DynamicComponent = ({
5163
5214
  ] })
5164
5215
  ] });
5165
5216
  const accordionTitle = title ? `${displayName} ${title}` : displayName;
5166
- const accordionValue = React.useId();
5167
5217
  return /* @__PURE__ */ jsxs(ComponentContainer, { tag: "li", width: "100%", children: [
5168
5218
  /* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Rectangle, { background: "neutral200" }) }),
5169
- /* @__PURE__ */ jsx(StyledBox, { ref: composedBoxRefs, hasRadius: true, children: isDragging ? /* @__PURE__ */ jsx(Preview, {}) : /* @__PURE__ */ jsx(Accordion.Root, { children: /* @__PURE__ */ jsxs(Accordion.Item, { value: accordionValue, children: [
5219
+ /* @__PURE__ */ jsx(StyledBox, { ref: composedBoxRefs, hasRadius: true, children: isDragging ? /* @__PURE__ */ jsx(Preview, {}) : /* @__PURE__ */ jsx(Accordion.Root, { value: collapseToOpen, onValueChange: setCollapseToOpen, children: /* @__PURE__ */ jsxs(Accordion.Item, { value: accordionValue, children: [
5170
5220
  /* @__PURE__ */ jsxs(Accordion.Header, { children: [
5171
5221
  /* @__PURE__ */ jsx(
5172
5222
  Accordion.Trigger,
@@ -5177,10 +5227,32 @@ const DynamicComponent = ({
5177
5227
  ),
5178
5228
  /* @__PURE__ */ jsx(Accordion.Actions, { children: accordionActions })
5179
5229
  ] }),
5180
- /* @__PURE__ */ jsx(Accordion.Content, { children: /* @__PURE__ */ jsx(AccordionContentRadius, { background: "neutral0", children: /* @__PURE__ */ jsx(Box, { paddingLeft: 6, paddingRight: 6, paddingTop: 6, paddingBottom: 6, children: components[componentUid]?.layout?.map((row, rowInd) => /* @__PURE__ */ jsx(Grid$1.Root, { gap: 4, children: row.map(({ size, ...field }) => {
5181
- const fieldName = `${name2}.${index}.${field.name}`;
5182
- return /* @__PURE__ */ jsx(Grid$1.Item, { col: size, s: 12, xs: 12, children: /* @__PURE__ */ jsx(MemoizedInputRenderer, { ...field, name: fieldName }) }, fieldName);
5183
- }) }, rowInd)) }) }) })
5230
+ /* @__PURE__ */ jsx(Accordion.Content, { children: /* @__PURE__ */ jsx(AccordionContentRadius, { background: "neutral0", children: /* @__PURE__ */ jsx(Box, { paddingLeft: 6, paddingRight: 6, paddingTop: 6, paddingBottom: 6, children: /* @__PURE__ */ jsx(Grid$1.Root, { gap: 4, children: components[componentUid]?.layout?.map((row, rowInd) => /* @__PURE__ */ jsx(
5231
+ Grid$1.Item,
5232
+ {
5233
+ col: 12,
5234
+ s: 12,
5235
+ xs: 12,
5236
+ direction: "column",
5237
+ alignItems: "stretch",
5238
+ children: /* @__PURE__ */ jsx(Grid$1.Root, { gap: 4, children: row.map(({ size, ...field }) => {
5239
+ const fieldName = `${name2}.${index}.${field.name}`;
5240
+ return /* @__PURE__ */ jsx(
5241
+ Grid$1.Item,
5242
+ {
5243
+ col: size,
5244
+ s: 12,
5245
+ xs: 12,
5246
+ direction: "column",
5247
+ alignItems: "stretch",
5248
+ children: /* @__PURE__ */ jsx(MemoizedInputRenderer, { ...field, name: fieldName })
5249
+ },
5250
+ fieldName
5251
+ );
5252
+ }) })
5253
+ },
5254
+ rowInd
5255
+ )) }) }) }) })
5184
5256
  ] }) }) })
5185
5257
  ] });
5186
5258
  };
@@ -5488,4 +5560,4 @@ export {
5488
5560
  transformDocument as t,
5489
5561
  useLazyComponents as u
5490
5562
  };
5491
- //# sourceMappingURL=Field-Cs7duwWd.mjs.map
5563
+ //# sourceMappingURL=Field-DufHXW17.mjs.map