@strapi/content-manager 0.0.0-experimental.16eaafeff6bd4cd49d56f3c31d002cad71a1134a → 0.0.0-experimental.1bca8e0e074de8b0775bcddc7656fbc9e9f1393b

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 (93) hide show
  1. package/LICENSE +18 -3
  2. package/dist/_chunks/{ComponentConfigurationPage-Tqd-Ji_E.js → ComponentConfigurationPage-5ukroXAh.js} +3 -3
  3. package/dist/_chunks/{ComponentConfigurationPage-Tqd-Ji_E.js.map → ComponentConfigurationPage-5ukroXAh.js.map} +1 -1
  4. package/dist/_chunks/{ComponentConfigurationPage-B5mDY7I0.mjs → ComponentConfigurationPage-BAgyHiMm.mjs} +3 -3
  5. package/dist/_chunks/{ComponentConfigurationPage-B5mDY7I0.mjs.map → ComponentConfigurationPage-BAgyHiMm.mjs.map} +1 -1
  6. package/dist/_chunks/{EditConfigurationPage-B8UqkdtD.mjs → EditConfigurationPage-DmoXawIh.mjs} +3 -3
  7. package/dist/_chunks/{EditConfigurationPage-B8UqkdtD.mjs.map → EditConfigurationPage-DmoXawIh.mjs.map} +1 -1
  8. package/dist/_chunks/{EditConfigurationPage-C28IfcPs.js → EditConfigurationPage-Xp7lun0f.js} +3 -3
  9. package/dist/_chunks/{EditConfigurationPage-C28IfcPs.js.map → EditConfigurationPage-Xp7lun0f.js.map} +1 -1
  10. package/dist/_chunks/{EditViewPage-DQUCbpW-.mjs → EditViewPage-BLsjc5F-.mjs} +3 -3
  11. package/dist/_chunks/{EditViewPage-DQUCbpW-.mjs.map → EditViewPage-BLsjc5F-.mjs.map} +1 -1
  12. package/dist/_chunks/{EditViewPage-BDL9cM0Q.js → EditViewPage-C-ukDOB7.js} +3 -3
  13. package/dist/_chunks/{EditViewPage-BDL9cM0Q.js.map → EditViewPage-C-ukDOB7.js.map} +1 -1
  14. package/dist/_chunks/{Field-D8I8rXr9.js → Field-Bfph5SOd.js} +79 -54
  15. package/dist/_chunks/Field-Bfph5SOd.js.map +1 -0
  16. package/dist/_chunks/{Field-DSGnyyoh.mjs → Field-Cs7duwWd.mjs} +79 -54
  17. package/dist/_chunks/Field-Cs7duwWd.mjs.map +1 -0
  18. package/dist/_chunks/{Form-DVvv6Hst.js → Form-CPYqIWDG.js} +2 -2
  19. package/dist/_chunks/{Form-DVvv6Hst.js.map → Form-CPYqIWDG.js.map} +1 -1
  20. package/dist/_chunks/{Form-DZGlZ79l.mjs → Form-Dg_GS5TQ.mjs} +2 -2
  21. package/dist/_chunks/{Form-DZGlZ79l.mjs.map → Form-Dg_GS5TQ.mjs.map} +1 -1
  22. package/dist/_chunks/{History-CQl54kNG.js → History-DNQkXANT.js} +44 -19
  23. package/dist/_chunks/History-DNQkXANT.js.map +1 -0
  24. package/dist/_chunks/{History-DOWk7MB4.mjs → History-wrnHqf09.mjs} +44 -19
  25. package/dist/_chunks/History-wrnHqf09.mjs.map +1 -0
  26. package/dist/_chunks/{ListConfigurationPage-G_22rTAp.js → ListConfigurationPage-CUQxfpjT.js} +8 -6
  27. package/dist/_chunks/ListConfigurationPage-CUQxfpjT.js.map +1 -0
  28. package/dist/_chunks/{ListConfigurationPage-lN3NMkhK.mjs → ListConfigurationPage-DScmJVkW.mjs} +8 -6
  29. package/dist/_chunks/ListConfigurationPage-DScmJVkW.mjs.map +1 -0
  30. package/dist/_chunks/{ListViewPage-BIEXJtcz.js → ListViewPage-BsLiH2-2.js} +15 -6
  31. package/dist/_chunks/ListViewPage-BsLiH2-2.js.map +1 -0
  32. package/dist/_chunks/{ListViewPage-D_MY3zjg.mjs → ListViewPage-C4IvrMgY.mjs} +15 -6
  33. package/dist/_chunks/ListViewPage-C4IvrMgY.mjs.map +1 -0
  34. package/dist/_chunks/{NoContentTypePage-P-gvTfgg.js → NoContentTypePage-BZ-PnGAf.js} +2 -2
  35. package/dist/_chunks/{NoContentTypePage-P-gvTfgg.js.map → NoContentTypePage-BZ-PnGAf.js.map} +1 -1
  36. package/dist/_chunks/{NoContentTypePage-CUrrV_mP.mjs → NoContentTypePage-Djg8nPlj.mjs} +2 -2
  37. package/dist/_chunks/{NoContentTypePage-CUrrV_mP.mjs.map → NoContentTypePage-Djg8nPlj.mjs.map} +1 -1
  38. package/dist/_chunks/{NoPermissionsPage-B-DP9Ht4.mjs → NoPermissionsPage-DSP7R-hv.mjs} +2 -2
  39. package/dist/_chunks/{NoPermissionsPage-B-DP9Ht4.mjs.map → NoPermissionsPage-DSP7R-hv.mjs.map} +1 -1
  40. package/dist/_chunks/{NoPermissionsPage-CIFc7iTR.js → NoPermissionsPage-_lUqjGW3.js} +2 -2
  41. package/dist/_chunks/{NoPermissionsPage-CIFc7iTR.js.map → NoPermissionsPage-_lUqjGW3.js.map} +1 -1
  42. package/dist/_chunks/{Relations-CSzJbIBP.mjs → Relations-BZr8tL0R.mjs} +3 -3
  43. package/dist/_chunks/Relations-BZr8tL0R.mjs.map +1 -0
  44. package/dist/_chunks/{Relations-BqSXkgPb.js → Relations-CtELXYIK.js} +3 -3
  45. package/dist/_chunks/Relations-CtELXYIK.js.map +1 -0
  46. package/dist/_chunks/{en-Ux26r5pl.mjs → en-BrCTWlZv.mjs} +5 -4
  47. package/dist/_chunks/{en-Ux26r5pl.mjs.map → en-BrCTWlZv.mjs.map} +1 -1
  48. package/dist/_chunks/{en-fbKQxLGn.js → en-uOUIxfcQ.js} +5 -4
  49. package/dist/_chunks/{en-fbKQxLGn.js.map → en-uOUIxfcQ.js.map} +1 -1
  50. package/dist/_chunks/{index-iXGIUU_l.js → index-OerGjbAN.js} +259 -119
  51. package/dist/_chunks/index-OerGjbAN.js.map +1 -0
  52. package/dist/_chunks/{index-BYpa_5O9.mjs → index-c_5DdJi-.mjs} +261 -121
  53. package/dist/_chunks/index-c_5DdJi-.mjs.map +1 -0
  54. package/dist/_chunks/{layout-BLa_DTtQ.js → layout-Ci7qHlFb.js} +6 -6
  55. package/dist/_chunks/layout-Ci7qHlFb.js.map +1 -0
  56. package/dist/_chunks/{layout-DT9g7_U1.mjs → layout-oPBiO7RY.mjs} +6 -6
  57. package/dist/_chunks/layout-oPBiO7RY.mjs.map +1 -0
  58. package/dist/_chunks/{relations-CHM_mYAI.mjs → relations-BIdWFjdq.mjs} +2 -2
  59. package/dist/_chunks/{relations-CHM_mYAI.mjs.map → relations-BIdWFjdq.mjs.map} +1 -1
  60. package/dist/_chunks/{relations--l5ixWIN.js → relations-COBpStiF.js} +2 -2
  61. package/dist/_chunks/{relations--l5ixWIN.js.map → relations-COBpStiF.js.map} +1 -1
  62. package/dist/admin/index.js +1 -1
  63. package/dist/admin/index.mjs +1 -1
  64. package/dist/admin/src/history/index.d.ts +3 -0
  65. package/dist/admin/src/index.d.ts +1 -0
  66. package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +1 -0
  67. package/dist/admin/src/pages/EditView/components/FormInputs/Relations.d.ts +20 -0
  68. package/dist/server/index.js +37 -28
  69. package/dist/server/index.js.map +1 -1
  70. package/dist/server/index.mjs +37 -28
  71. package/dist/server/index.mjs.map +1 -1
  72. package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
  73. package/dist/server/src/controllers/uid.d.ts.map +1 -1
  74. package/dist/server/src/controllers/validation/dimensions.d.ts +4 -2
  75. package/dist/server/src/controllers/validation/dimensions.d.ts.map +1 -1
  76. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  77. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  78. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  79. package/package.json +6 -6
  80. package/dist/_chunks/Field-D8I8rXr9.js.map +0 -1
  81. package/dist/_chunks/Field-DSGnyyoh.mjs.map +0 -1
  82. package/dist/_chunks/History-CQl54kNG.js.map +0 -1
  83. package/dist/_chunks/History-DOWk7MB4.mjs.map +0 -1
  84. package/dist/_chunks/ListConfigurationPage-G_22rTAp.js.map +0 -1
  85. package/dist/_chunks/ListConfigurationPage-lN3NMkhK.mjs.map +0 -1
  86. package/dist/_chunks/ListViewPage-BIEXJtcz.js.map +0 -1
  87. package/dist/_chunks/ListViewPage-D_MY3zjg.mjs.map +0 -1
  88. package/dist/_chunks/Relations-BqSXkgPb.js.map +0 -1
  89. package/dist/_chunks/Relations-CSzJbIBP.mjs.map +0 -1
  90. package/dist/_chunks/index-BYpa_5O9.mjs.map +0 -1
  91. package/dist/_chunks/index-iXGIUU_l.js.map +0 -1
  92. package/dist/_chunks/layout-BLa_DTtQ.js.map +0 -1
  93. package/dist/_chunks/layout-DT9g7_U1.mjs.map +0 -1
@@ -5,9 +5,9 @@ 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-iXGIUU_l.js");
8
+ const index = require("./index-OerGjbAN.js");
9
9
  const fractionalIndexing = require("fractional-indexing");
10
- const Relations = require("./Relations-BqSXkgPb.js");
10
+ const Relations = require("./Relations-CtELXYIK.js");
11
11
  const Icons = require("@strapi/icons");
12
12
  const styledComponents = require("styled-components");
13
13
  const ComponentIcon = require("./ComponentIcon-BXdiCGQp.js");
@@ -894,20 +894,8 @@ const LinkContent = React__namespace.forwardRef(
894
894
  const [linkText, setLinkText] = React__namespace.useState(elementText);
895
895
  const [linkUrl, setLinkUrl] = React__namespace.useState(link.url);
896
896
  const linkInputRef = React__namespace.useRef(null);
897
- const [showRemoveButton, setShowRemoveButton] = React__namespace.useState(false);
897
+ const isLastInsertedLink = editor.lastInsertedLinkPath ? !slate.Path.equals(path, editor.lastInsertedLinkPath) : true;
898
898
  const [isSaveDisabled, setIsSaveDisabled] = React__namespace.useState(false);
899
- const handleOpenChange = (isOpen) => {
900
- if (isOpen) {
901
- setPopoverOpen(isOpen);
902
- setShowRemoveButton(isOpen);
903
- } else {
904
- setPopoverOpen(isOpen);
905
- if (link.url === "") {
906
- removeLink(editor);
907
- }
908
- slateReact.ReactEditor.focus(editor);
909
- }
910
- };
911
899
  const onLinkChange = (e) => {
912
900
  setIsSaveDisabled(false);
913
901
  setLinkUrl(e.target.value);
@@ -928,15 +916,33 @@ const LinkContent = React__namespace.forwardRef(
928
916
  editLink(editor, { url: linkUrl, text: linkText });
929
917
  setPopoverOpen(false);
930
918
  editor.lastInsertedLinkPath = null;
919
+ slateReact.ReactEditor.focus(editor);
920
+ };
921
+ const handleClose = () => {
922
+ if (link.url === "") {
923
+ removeLink(editor);
924
+ }
925
+ setPopoverOpen(false);
926
+ slateReact.ReactEditor.focus(editor);
931
927
  };
932
928
  React__namespace.useEffect(() => {
933
929
  if (popoverOpen)
934
930
  linkInputRef.current?.focus();
935
931
  }, [popoverOpen]);
936
932
  const inputNotDirty = !linkText || !linkUrl || link.url && link.url === linkUrl && elementText && elementText === linkText;
937
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Popover.Root, { onOpenChange: handleOpenChange, open: popoverOpen, children: [
938
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(StyledBaseLink, { ...attributes, ref: forwardedRef, href: link.url, color: "primary600", children }) }),
939
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Content, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { padding: 4, tag: "form", onSubmit: handleSave, direction: "column", gap: 4, children: [
933
+ return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Popover.Root, { open: popoverOpen, children: [
934
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(
935
+ StyledBaseLink,
936
+ {
937
+ ...attributes,
938
+ ref: forwardedRef,
939
+ href: link.url,
940
+ onClick: () => setPopoverOpen(true),
941
+ color: "primary600",
942
+ children
943
+ }
944
+ ) }),
945
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Content, { onPointerDownOutside: handleClose, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { padding: 4, direction: "column", gap: 4, children: [
940
946
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Root, { width: "368px", children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 1, alignItems: "stretch", children: [
941
947
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: formatMessage({
942
948
  id: "components.Blocks.popover.text",
@@ -982,7 +988,7 @@ const LinkContent = React__namespace.forwardRef(
982
988
  {
983
989
  variant: "danger-light",
984
990
  onClick: () => removeLink(editor),
985
- $visible: showRemoveButton,
991
+ $visible: isLastInsertedLink,
986
992
  children: formatMessage({
987
993
  id: "components.Blocks.popover.remove",
988
994
  defaultMessage: "Remove"
@@ -990,11 +996,11 @@ const LinkContent = React__namespace.forwardRef(
990
996
  }
991
997
  ),
992
998
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, children: [
993
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "tertiary", onClick: () => handleOpenChange(false), children: formatMessage({
999
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "tertiary", onClick: handleClose, children: formatMessage({
994
1000
  id: "components.Blocks.popover.cancel",
995
1001
  defaultMessage: "Cancel"
996
1002
  }) }),
997
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { type: "submit", disabled: Boolean(inputNotDirty) || isSaveDisabled, children: formatMessage({
1003
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { disabled: Boolean(inputNotDirty) || isSaveDisabled, onClick: handleSave, children: formatMessage({
998
1004
  id: "components.Blocks.popover.save",
999
1005
  defaultMessage: "Save"
1000
1006
  }) })
@@ -1580,6 +1586,26 @@ const ListButton = ({ block, format }) => {
1580
1586
  }
1581
1587
  return false;
1582
1588
  };
1589
+ const isListDisabled = () => {
1590
+ if (disabled) {
1591
+ return true;
1592
+ }
1593
+ if (!editor.selection) {
1594
+ return false;
1595
+ }
1596
+ const anchorNodeEntry = slate.Editor.above(editor, {
1597
+ at: editor.selection.anchor,
1598
+ match: (node) => !slate.Editor.isEditor(node) && node.type !== "text"
1599
+ });
1600
+ const focusNodeEntry = slate.Editor.above(editor, {
1601
+ at: editor.selection.focus,
1602
+ match: (node) => !slate.Editor.isEditor(node) && node.type !== "text"
1603
+ });
1604
+ if (!anchorNodeEntry || !focusNodeEntry) {
1605
+ return false;
1606
+ }
1607
+ return anchorNodeEntry[0] !== focusNodeEntry[0];
1608
+ };
1583
1609
  const toggleList = (format2) => {
1584
1610
  let currentListEntry;
1585
1611
  if (editor.selection) {
@@ -1613,7 +1639,7 @@ const ListButton = ({ block, format }) => {
1613
1639
  name: format,
1614
1640
  label: block.label,
1615
1641
  isActive: isListActive(),
1616
- disabled,
1642
+ disabled: isListDisabled(),
1617
1643
  handleClick: () => toggleList(format)
1618
1644
  }
1619
1645
  );
@@ -1780,7 +1806,7 @@ const DragIconButton = styledComponents.styled(designSystem.IconButton)`
1780
1806
  }
1781
1807
  svg {
1782
1808
  height: auto;
1783
- width: ${({ theme }) => theme.spaces[3]};
1809
+ min-width: ${({ theme }) => theme.spaces[3]};
1784
1810
 
1785
1811
  path {
1786
1812
  fill: ${({ theme }) => theme.colors.neutral700};
@@ -1897,7 +1923,7 @@ const DragAndDropElement = ({
1897
1923
  disabled,
1898
1924
  draggable: true,
1899
1925
  $dragHandleTopMargin: dragHandleTopMargin,
1900
- children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Drag, { color: "neutral600" })
1926
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Drag, { color: "primary500" })
1901
1927
  }
1902
1928
  ),
1903
1929
  children
@@ -2221,7 +2247,7 @@ const EditorLayout$1 = ({
2221
2247
  /* @__PURE__ */ jsxRuntime.jsx(
2222
2248
  CollapseIconButton,
2223
2249
  {
2224
- "aria-label": formatMessage({
2250
+ label: formatMessage({
2225
2251
  id: index.getTranslation("components.Blocks.collapse"),
2226
2252
  defaultMessage: "Collapse"
2227
2253
  }),
@@ -2560,7 +2586,7 @@ const BlocksEditor = React__namespace.forwardRef(
2560
2586
  !isExpandedMode && /* @__PURE__ */ jsxRuntime.jsx(
2561
2587
  ExpandIconButton,
2562
2588
  {
2563
- "aria-label": formatMessage({
2589
+ label: formatMessage({
2564
2590
  id: index.getTranslation("components.Blocks.expand"),
2565
2591
  defaultMessage: "Expand"
2566
2592
  }),
@@ -2626,30 +2652,27 @@ const createDefaultForm = (contentType, components = {}) => {
2626
2652
  const Initializer = ({ disabled, name: name2, onClick }) => {
2627
2653
  const { formatMessage } = reactIntl.useIntl();
2628
2654
  const field = strapiAdmin.useField(name2);
2629
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2630
- /* @__PURE__ */ jsxRuntime.jsx(
2631
- designSystem.Box,
2632
- {
2633
- tag: "button",
2634
- background: "neutral100",
2635
- borderColor: field.error ? "danger600" : "neutral200",
2636
- hasRadius: true,
2637
- disabled,
2638
- onClick,
2639
- paddingTop: 9,
2640
- paddingBottom: 9,
2641
- type: "button",
2642
- children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 2, children: [
2643
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(CircleIcon, {}) }),
2644
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "primary600", variant: "pi", fontWeight: "bold", children: formatMessage({
2645
- id: index.getTranslation("components.empty-repeatable"),
2646
- defaultMessage: "No entry yet. Click on the button below to add one."
2647
- }) }) })
2648
- ] })
2649
- }
2650
- ),
2651
- field.error && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "danger600", variant: "pi", children: field.error })
2652
- ] });
2655
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsx(
2656
+ designSystem.Box,
2657
+ {
2658
+ tag: "button",
2659
+ background: "neutral100",
2660
+ borderColor: field.error ? "danger600" : "neutral200",
2661
+ hasRadius: true,
2662
+ disabled,
2663
+ onClick,
2664
+ paddingTop: 9,
2665
+ paddingBottom: 9,
2666
+ type: "button",
2667
+ children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 2, children: [
2668
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(CircleIcon, {}) }),
2669
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "primary600", variant: "pi", fontWeight: "bold", children: formatMessage({
2670
+ id: index.getTranslation("components.empty-repeatable"),
2671
+ defaultMessage: "No entry yet. Click on the button below to add one."
2672
+ }) }) })
2673
+ ] })
2674
+ }
2675
+ ) });
2653
2676
  };
2654
2677
  const CircleIcon = styledComponents.styled(Icons.PlusCircle)`
2655
2678
  width: 2.4rem;
@@ -4605,7 +4628,7 @@ const ExpandButton = styledComponents.styled(designSystem.BaseButton)`
4605
4628
  const WysiwygFooter = ({ onToggleExpand }) => {
4606
4629
  const { formatMessage } = reactIntl.useIntl();
4607
4630
  return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { padding: 2, background: "neutral100", borderRadius: `0 0 0.4rem 0.4rem`, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "flex-end", alignItems: "flex-end", children: /* @__PURE__ */ jsxRuntime.jsxs(ExpandButton, { id: "expand", onClick: onToggleExpand, children: [
4608
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: formatMessage({
4631
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "neutral800", children: formatMessage({
4609
4632
  id: "components.WysiwygBottomControls.fullscreen",
4610
4633
  defaultMessage: "Expand"
4611
4634
  }) }),
@@ -5018,7 +5041,9 @@ const useFieldHint = (hint = void 0, attribute) => {
5018
5041
  if (!maximum && !minimum) {
5019
5042
  return hint;
5020
5043
  }
5021
- const units = !["biginteger", "integer", "number"].includes(attribute.type) ? formatMessage(
5044
+ const units = !["biginteger", "integer", "number", "dynamiczone", "component"].includes(
5045
+ attribute.type
5046
+ ) ? formatMessage(
5022
5047
  {
5023
5048
  id: "content-manager.form.Input.hint.character.unit",
5024
5049
  defaultMessage: "{maxValue, plural, one { character} other { characters}}"
@@ -5381,7 +5406,7 @@ const DynamicZone = ({
5381
5406
  const handleRemoveComponent = (name22, currentIndex) => () => {
5382
5407
  removeFieldRow(name22, currentIndex);
5383
5408
  };
5384
- const hasError = error !== void 0 || dynamicDisplayedComponentsLength < min || dynamicDisplayedComponentsLength > max;
5409
+ const hasError = error !== void 0;
5385
5410
  const renderButtonLabel = () => {
5386
5411
  if (addComponentIsOpen) {
5387
5412
  return formatMessage({ id: "app.utils.close-label", defaultMessage: "Close" });
@@ -5495,4 +5520,4 @@ exports.transformDocument = transformDocument;
5495
5520
  exports.useDynamicZone = useDynamicZone;
5496
5521
  exports.useFieldHint = useFieldHint;
5497
5522
  exports.useLazyComponents = useLazyComponents;
5498
- //# sourceMappingURL=Field-D8I8rXr9.js.map
5523
+ //# sourceMappingURL=Field-Bfph5SOd.js.map