@strapi/content-manager 5.0.0-beta.9 → 5.0.0-rc.1

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 (97) hide show
  1. package/LICENSE +18 -3
  2. package/dist/_chunks/{ComponentConfigurationPage-y_7iLdmB.js → ComponentConfigurationPage-D8RyVgJC.js} +3 -3
  3. package/dist/_chunks/{ComponentConfigurationPage-y_7iLdmB.js.map → ComponentConfigurationPage-D8RyVgJC.js.map} +1 -1
  4. package/dist/_chunks/{ComponentConfigurationPage-BMajAl1u.mjs → ComponentConfigurationPage-DLuACgva.mjs} +3 -3
  5. package/dist/_chunks/{ComponentConfigurationPage-BMajAl1u.mjs.map → ComponentConfigurationPage-DLuACgva.mjs.map} +1 -1
  6. package/dist/_chunks/{EditConfigurationPage-CcOoD26O.mjs → EditConfigurationPage-CuCAsHWR.mjs} +3 -3
  7. package/dist/_chunks/{EditConfigurationPage-CcOoD26O.mjs.map → EditConfigurationPage-CuCAsHWR.mjs.map} +1 -1
  8. package/dist/_chunks/{EditConfigurationPage-CPVB8Uqc.js → EditConfigurationPage-fOm5AebB.js} +3 -3
  9. package/dist/_chunks/{EditConfigurationPage-CPVB8Uqc.js.map → EditConfigurationPage-fOm5AebB.js.map} +1 -1
  10. package/dist/_chunks/{EditViewPage-DWb0DE7R.mjs → EditViewPage-BqDlT9w0.mjs} +46 -46
  11. package/dist/_chunks/EditViewPage-BqDlT9w0.mjs.map +1 -0
  12. package/dist/_chunks/{EditViewPage-CTTDHKkQ.js → EditViewPage-Or0fpTwh.js} +45 -45
  13. package/dist/_chunks/EditViewPage-Or0fpTwh.js.map +1 -0
  14. package/dist/_chunks/{Field-C5Z1Ivdv.js → Field-Bix2HU_O.js} +421 -141
  15. package/dist/_chunks/Field-Bix2HU_O.js.map +1 -0
  16. package/dist/_chunks/{Field-DnStdvQw.mjs → Field-OfBJ6x59.mjs} +422 -142
  17. package/dist/_chunks/Field-OfBJ6x59.mjs.map +1 -0
  18. package/dist/_chunks/{Form-B81OtW-k.js → Form-Bv5ABnqE.js} +25 -26
  19. package/dist/_chunks/Form-Bv5ABnqE.js.map +1 -0
  20. package/dist/_chunks/{Form-DqGgE55Q.mjs → Form-DyMXqj_v.mjs} +27 -28
  21. package/dist/_chunks/Form-DyMXqj_v.mjs.map +1 -0
  22. package/dist/_chunks/{History-4NbOq2dX.js → History-fnln26gA.js} +51 -28
  23. package/dist/_chunks/History-fnln26gA.js.map +1 -0
  24. package/dist/_chunks/{History-DS6-HCYX.mjs → History-rvLnluF0.mjs} +52 -29
  25. package/dist/_chunks/History-rvLnluF0.mjs.map +1 -0
  26. package/dist/_chunks/{ListConfigurationPage-CpfstlYY.js → ListConfigurationPage-BtCBP_L_.js} +48 -47
  27. package/dist/_chunks/ListConfigurationPage-BtCBP_L_.js.map +1 -0
  28. package/dist/_chunks/{ListConfigurationPage-DQJJltko.mjs → ListConfigurationPage-DdKfJRdq.mjs} +49 -49
  29. package/dist/_chunks/ListConfigurationPage-DdKfJRdq.mjs.map +1 -0
  30. package/dist/_chunks/{ListViewPage-nQrOQuVo.mjs → ListViewPage-B8cPO1bK.mjs} +60 -68
  31. package/dist/_chunks/ListViewPage-B8cPO1bK.mjs.map +1 -0
  32. package/dist/_chunks/{ListViewPage-CA3I75m5.js → ListViewPage-CGZWD2qn.js} +59 -67
  33. package/dist/_chunks/ListViewPage-CGZWD2qn.js.map +1 -0
  34. package/dist/_chunks/{NoContentTypePage-DbnHE22g.mjs → NoContentTypePage-CVqYTeML.mjs} +2 -2
  35. package/dist/_chunks/{NoContentTypePage-DbnHE22g.mjs.map → NoContentTypePage-CVqYTeML.mjs.map} +1 -1
  36. package/dist/_chunks/{NoContentTypePage-Dldu-_Mx.js → NoContentTypePage-oJxX0WCQ.js} +2 -2
  37. package/dist/_chunks/{NoContentTypePage-Dldu-_Mx.js.map → NoContentTypePage-oJxX0WCQ.js.map} +1 -1
  38. package/dist/_chunks/{NoPermissionsPage-CO2MK200.js → NoPermissionsPage-BB11jqM_.js} +2 -2
  39. package/dist/_chunks/{NoPermissionsPage-CO2MK200.js.map → NoPermissionsPage-BB11jqM_.js.map} +1 -1
  40. package/dist/_chunks/{NoPermissionsPage-fOIkQM0v.mjs → NoPermissionsPage-mlXqh8p6.mjs} +2 -2
  41. package/dist/_chunks/{NoPermissionsPage-fOIkQM0v.mjs.map → NoPermissionsPage-mlXqh8p6.mjs.map} +1 -1
  42. package/dist/_chunks/{Relations-DG2jnOcr.js → Relations-6xIumgbN.js} +3 -3
  43. package/dist/_chunks/Relations-6xIumgbN.js.map +1 -0
  44. package/dist/_chunks/{Relations-BDRl99Ux.mjs → Relations-DWscdjKO.mjs} +3 -3
  45. package/dist/_chunks/Relations-DWscdjKO.mjs.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-BZoNZMXL.js → index-BzUwgKUj.js} +347 -373
  51. package/dist/_chunks/index-BzUwgKUj.js.map +1 -0
  52. package/dist/_chunks/{index-Drt2DN7v.mjs → index-JSJrqmB9.mjs} +362 -388
  53. package/dist/_chunks/index-JSJrqmB9.mjs.map +1 -0
  54. package/dist/_chunks/{layout-BzAbmoO6.mjs → layout-Dewoec1b.mjs} +8 -8
  55. package/dist/_chunks/layout-Dewoec1b.mjs.map +1 -0
  56. package/dist/_chunks/{layout-DEYBqgF1.js → layout-U4xJd8Oi.js} +7 -7
  57. package/dist/_chunks/layout-U4xJd8Oi.js.map +1 -0
  58. package/dist/_chunks/{relations-D0eZ4VWw.js → relations-BifGhhuo.js} +2 -2
  59. package/dist/_chunks/{relations-D0eZ4VWw.js.map → relations-BifGhhuo.js.map} +1 -1
  60. package/dist/_chunks/{relations-D26zVRdi.mjs → relations-DMxeUp5V.mjs} +2 -2
  61. package/dist/_chunks/{relations-D26zVRdi.mjs.map → relations-DMxeUp5V.mjs.map} +1 -1
  62. package/dist/admin/index.js +1 -1
  63. package/dist/admin/index.mjs +4 -4
  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 +8 -3
  67. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/constants.d.ts +4 -0
  68. package/dist/admin/src/pages/EditView/components/FormInputs/Relations.d.ts +20 -0
  69. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +2 -10
  70. package/dist/admin/src/pages/ListView/components/BulkActions/Actions.d.ts +3 -30
  71. package/dist/admin/src/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.d.ts +2 -2
  72. package/dist/server/index.js +15 -6
  73. package/dist/server/index.js.map +1 -1
  74. package/dist/server/index.mjs +15 -6
  75. package/dist/server/index.mjs.map +1 -1
  76. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  77. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  78. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  79. package/package.json +8 -8
  80. package/dist/_chunks/EditViewPage-CTTDHKkQ.js.map +0 -1
  81. package/dist/_chunks/EditViewPage-DWb0DE7R.mjs.map +0 -1
  82. package/dist/_chunks/Field-C5Z1Ivdv.js.map +0 -1
  83. package/dist/_chunks/Field-DnStdvQw.mjs.map +0 -1
  84. package/dist/_chunks/Form-B81OtW-k.js.map +0 -1
  85. package/dist/_chunks/Form-DqGgE55Q.mjs.map +0 -1
  86. package/dist/_chunks/History-4NbOq2dX.js.map +0 -1
  87. package/dist/_chunks/History-DS6-HCYX.mjs.map +0 -1
  88. package/dist/_chunks/ListConfigurationPage-CpfstlYY.js.map +0 -1
  89. package/dist/_chunks/ListConfigurationPage-DQJJltko.mjs.map +0 -1
  90. package/dist/_chunks/ListViewPage-CA3I75m5.js.map +0 -1
  91. package/dist/_chunks/ListViewPage-nQrOQuVo.mjs.map +0 -1
  92. package/dist/_chunks/Relations-BDRl99Ux.mjs.map +0 -1
  93. package/dist/_chunks/Relations-DG2jnOcr.js.map +0 -1
  94. package/dist/_chunks/index-BZoNZMXL.js.map +0 -1
  95. package/dist/_chunks/index-Drt2DN7v.mjs.map +0 -1
  96. package/dist/_chunks/layout-BzAbmoO6.mjs.map +0 -1
  97. package/dist/_chunks/layout-DEYBqgF1.js.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-BZoNZMXL.js");
8
+ const index = require("./index-BzUwgKUj.js");
9
9
  const fractionalIndexing = require("fractional-indexing");
10
- const Relations = require("./Relations-DG2jnOcr.js");
10
+ const Relations = require("./Relations-6xIumgbN.js");
11
11
  const Icons = require("@strapi/icons");
12
12
  const styledComponents = require("styled-components");
13
13
  const ComponentIcon = require("./ComponentIcon-BXdiCGQp.js");
@@ -194,6 +194,220 @@ const useLazyComponents = (componentUids = []) => {
194
194
  }, []);
195
195
  return { isLazyLoading: loading, lazyComponentStore, cleanup };
196
196
  };
197
+ const codeLanguages = [
198
+ {
199
+ value: "asm",
200
+ label: "Assembly"
201
+ },
202
+ {
203
+ value: "bash",
204
+ label: "Bash"
205
+ },
206
+ {
207
+ value: "c",
208
+ label: "C"
209
+ },
210
+ {
211
+ value: "clojure",
212
+ label: "Clojure"
213
+ },
214
+ {
215
+ value: "cobol",
216
+ label: "COBOL"
217
+ },
218
+ {
219
+ value: "cpp",
220
+ label: "C++"
221
+ },
222
+ {
223
+ value: "csharp",
224
+ label: "C#"
225
+ },
226
+ {
227
+ value: "css",
228
+ label: "CSS"
229
+ },
230
+ {
231
+ value: "dart",
232
+ label: "Dart"
233
+ },
234
+ {
235
+ value: "dockerfile",
236
+ label: "Dockerfile"
237
+ },
238
+ {
239
+ value: "elixir",
240
+ label: "Elixir"
241
+ },
242
+ {
243
+ value: "erlang",
244
+ label: "Erlang"
245
+ },
246
+ {
247
+ value: "fortran",
248
+ label: "Fortran"
249
+ },
250
+ {
251
+ value: "fsharp",
252
+ label: "F#"
253
+ },
254
+ {
255
+ value: "go",
256
+ label: "Go"
257
+ },
258
+ {
259
+ value: "graphql",
260
+ label: "GraphQL"
261
+ },
262
+ {
263
+ value: "groovy",
264
+ label: "Groovy"
265
+ },
266
+ {
267
+ value: "haskell",
268
+ label: "Haskell"
269
+ },
270
+ {
271
+ value: "haxe",
272
+ label: "Haxe"
273
+ },
274
+ {
275
+ value: "html",
276
+ label: "HTML"
277
+ },
278
+ {
279
+ value: "ini",
280
+ label: "INI"
281
+ },
282
+ {
283
+ value: "java",
284
+ label: "Java"
285
+ },
286
+ {
287
+ value: "javascript",
288
+ label: "JavaScript"
289
+ },
290
+ {
291
+ value: "jsx",
292
+ label: "JavaScript (React)"
293
+ },
294
+ {
295
+ value: "json",
296
+ label: "JSON"
297
+ },
298
+ {
299
+ value: "julia",
300
+ label: "Julia"
301
+ },
302
+ {
303
+ value: "kotlin",
304
+ label: "Kotlin"
305
+ },
306
+ {
307
+ value: "latex",
308
+ label: "LaTeX"
309
+ },
310
+ {
311
+ value: "lua",
312
+ label: "Lua"
313
+ },
314
+ {
315
+ value: "markdown",
316
+ label: "Markdown"
317
+ },
318
+ {
319
+ value: "matlab",
320
+ label: "MATLAB"
321
+ },
322
+ {
323
+ value: "makefile",
324
+ label: "Makefile"
325
+ },
326
+ {
327
+ value: "objectivec",
328
+ label: "Objective-C"
329
+ },
330
+ {
331
+ value: "perl",
332
+ label: "Perl"
333
+ },
334
+ {
335
+ value: "php",
336
+ label: "PHP"
337
+ },
338
+ {
339
+ value: "plaintext",
340
+ label: "Plain text"
341
+ },
342
+ {
343
+ value: "powershell",
344
+ label: "PowerShell"
345
+ },
346
+ {
347
+ value: "python",
348
+ label: "Python"
349
+ },
350
+ {
351
+ value: "r",
352
+ label: "R"
353
+ },
354
+ {
355
+ value: "ruby",
356
+ label: "Ruby"
357
+ },
358
+ {
359
+ value: "rust",
360
+ label: "Rust"
361
+ },
362
+ {
363
+ value: "sas",
364
+ label: "SAS"
365
+ },
366
+ {
367
+ value: "scala",
368
+ label: "Scala"
369
+ },
370
+ {
371
+ value: "scheme",
372
+ label: "Scheme"
373
+ },
374
+ {
375
+ value: "shell",
376
+ label: "Shell"
377
+ },
378
+ {
379
+ value: "sql",
380
+ label: "SQL"
381
+ },
382
+ {
383
+ value: "stata",
384
+ label: "Stata"
385
+ },
386
+ {
387
+ value: "swift",
388
+ label: "Swift"
389
+ },
390
+ {
391
+ value: "typescript",
392
+ label: "TypeScript"
393
+ },
394
+ {
395
+ value: "tsx",
396
+ label: "TypeScript (React)"
397
+ },
398
+ {
399
+ value: "vbnet",
400
+ label: "VB.NET"
401
+ },
402
+ {
403
+ value: "xml",
404
+ label: "XML"
405
+ },
406
+ {
407
+ value: "yaml",
408
+ label: "YAML"
409
+ }
410
+ ];
197
411
  const baseHandleConvert = (editor, attributesToSet) => {
198
412
  const [_, lastNodePath] = slate.Editor.last(editor, []);
199
413
  slate.Transforms.unwrapNodes(editor, {
@@ -264,6 +478,7 @@ const CodeBlock = styledComponents.styled.pre`
264
478
  overflow: auto;
265
479
  padding: ${({ theme }) => `${theme.spaces[3]} ${theme.spaces[4]}`};
266
480
  flex-shrink: 1;
481
+
267
482
  & > code {
268
483
  font-family: 'SF Mono', SFMono-Regular, ui-monospace, 'DejaVu Sans Mono', Menlo, Consolas,
269
484
  monospace;
@@ -272,9 +487,61 @@ const CodeBlock = styledComponents.styled.pre`
272
487
  max-width: 100%;
273
488
  }
274
489
  `;
490
+ const CodeEditor = (props) => {
491
+ const { editor } = useBlocksEditorContext("ImageDialog");
492
+ const editorIsFocused = slateReact.useFocused();
493
+ const imageIsSelected = slateReact.useSelected();
494
+ const { formatMessage } = reactIntl.useIntl();
495
+ const [isSelectOpen, setIsSelectOpen] = React__namespace.useState(false);
496
+ const shouldDisplayLanguageSelect = editorIsFocused && imageIsSelected || isSelectOpen;
497
+ return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { position: "relative", width: "100%", children: [
498
+ /* @__PURE__ */ jsxRuntime.jsx(CodeBlock, { ...props.attributes, children: /* @__PURE__ */ jsxRuntime.jsx("code", { children: props.children }) }),
499
+ shouldDisplayLanguageSelect && /* @__PURE__ */ jsxRuntime.jsx(
500
+ designSystem.Box,
501
+ {
502
+ position: "absolute",
503
+ background: "neutral0",
504
+ borderColor: "neutral150",
505
+ borderStyle: "solid",
506
+ borderWidth: "0.5px",
507
+ shadow: "tableShadow",
508
+ top: "100%",
509
+ marginTop: 1,
510
+ right: 0,
511
+ padding: 1,
512
+ hasRadius: true,
513
+ children: /* @__PURE__ */ jsxRuntime.jsx(
514
+ designSystem.SingleSelect,
515
+ {
516
+ onChange: (open) => {
517
+ slate.Transforms.setNodes(
518
+ editor,
519
+ { language: open.toString() },
520
+ { match: (node) => !slate.Editor.isEditor(node) && node.type === "code" }
521
+ );
522
+ },
523
+ value: props.element.type === "code" && props.element.language || "plaintext",
524
+ onOpenChange: (open) => {
525
+ setIsSelectOpen(open);
526
+ if (!open) {
527
+ slateReact.ReactEditor.focus(editor);
528
+ }
529
+ },
530
+ onCloseAutoFocus: (e) => e.preventDefault(),
531
+ "aria-label": formatMessage({
532
+ id: "components.Blocks.blocks.code.languageLabel",
533
+ defaultMessage: "Select a language"
534
+ }),
535
+ children: codeLanguages.map(({ value, label }) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value, children: label }, value))
536
+ }
537
+ )
538
+ }
539
+ )
540
+ ] });
541
+ };
275
542
  const codeBlocks = {
276
543
  code: {
277
- renderElement: (props) => /* @__PURE__ */ jsxRuntime.jsx(CodeBlock, { ...props.attributes, children: /* @__PURE__ */ jsxRuntime.jsx("code", { children: props.children }) }),
544
+ renderElement: (props) => /* @__PURE__ */ jsxRuntime.jsx(CodeEditor, { ...props }),
278
545
  icon: Icons.Code,
279
546
  label: {
280
547
  id: "components.Blocks.blocks.code",
@@ -283,7 +550,7 @@ const codeBlocks = {
283
550
  matchNode: (node) => node.type === "code",
284
551
  isInBlocksSelector: true,
285
552
  handleConvert(editor) {
286
- baseHandleConvert(editor, { type: "code" });
553
+ baseHandleConvert(editor, { type: "code", language: "plaintext" });
287
554
  },
288
555
  handleEnterKey(editor) {
289
556
  pressEnterTwiceToExit(editor);
@@ -623,18 +890,12 @@ const LinkContent = React__namespace.forwardRef(
623
890
  const [popoverOpen, setPopoverOpen] = React__namespace.useState(
624
891
  editor.lastInsertedLinkPath ? slate.Path.equals(path, editor.lastInsertedLinkPath) : false
625
892
  );
626
- const linkRef = React__namespace.useRef(null);
627
893
  const elementText = link.children.map((child) => child.text).join("");
628
894
  const [linkText, setLinkText] = React__namespace.useState(elementText);
629
895
  const [linkUrl, setLinkUrl] = React__namespace.useState(link.url);
630
896
  const linkInputRef = React__namespace.useRef(null);
631
- const [showRemoveButton, setShowRemoveButton] = React__namespace.useState(false);
897
+ const isLastInsertedLink = editor.lastInsertedLinkPath ? !slate.Path.equals(path, editor.lastInsertedLinkPath) : true;
632
898
  const [isSaveDisabled, setIsSaveDisabled] = React__namespace.useState(false);
633
- const handleOpenEditPopover = (e) => {
634
- e.preventDefault();
635
- setPopoverOpen(true);
636
- setShowRemoveButton(true);
637
- };
638
899
  const onLinkChange = (e) => {
639
900
  setIsSaveDisabled(false);
640
901
  setLinkUrl(e.target.value);
@@ -655,33 +916,33 @@ const LinkContent = React__namespace.forwardRef(
655
916
  editLink(editor, { url: linkUrl, text: linkText });
656
917
  setPopoverOpen(false);
657
918
  editor.lastInsertedLinkPath = null;
919
+ slateReact.ReactEditor.focus(editor);
658
920
  };
659
- const handleDismiss = () => {
660
- setPopoverOpen(false);
921
+ const handleClose = () => {
661
922
  if (link.url === "") {
662
923
  removeLink(editor);
663
924
  }
925
+ setPopoverOpen(false);
664
926
  slateReact.ReactEditor.focus(editor);
665
927
  };
666
- const inputNotDirty = !linkText || !linkUrl || link.url && link.url === linkUrl && elementText && elementText === linkText;
667
- const composedRefs = designSystem.useComposedRefs(linkRef, forwardedRef);
668
928
  React__namespace.useEffect(() => {
669
929
  if (popoverOpen)
670
930
  linkInputRef.current?.focus();
671
931
  }, [popoverOpen]);
672
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
673
- /* @__PURE__ */ jsxRuntime.jsx(
932
+ const inputNotDirty = !linkText || !linkUrl || link.url && link.url === linkUrl && elementText && elementText === linkText;
933
+ return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Popover.Root, { open: popoverOpen, children: [
934
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(
674
935
  StyledBaseLink,
675
936
  {
676
937
  ...attributes,
677
- ref: composedRefs,
938
+ ref: forwardedRef,
678
939
  href: link.url,
679
- onClick: handleOpenEditPopover,
940
+ onClick: () => setPopoverOpen(true),
680
941
  color: "primary600",
681
942
  children
682
943
  }
683
- ),
684
- popoverOpen && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover, { source: linkRef, onDismiss: handleDismiss, padding: 4, contentEditable: false, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { tag: "form", onSubmit: handleSave, direction: "column", gap: 4, children: [
944
+ ) }),
945
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Content, { onPointerDownOutside: handleClose, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { padding: 4, direction: "column", gap: 4, children: [
685
946
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Root, { width: "368px", children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 1, alignItems: "stretch", children: [
686
947
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: formatMessage({
687
948
  id: "components.Blocks.popover.text",
@@ -727,7 +988,7 @@ const LinkContent = React__namespace.forwardRef(
727
988
  {
728
989
  variant: "danger-light",
729
990
  onClick: () => removeLink(editor),
730
- $visible: showRemoveButton,
991
+ $visible: isLastInsertedLink,
731
992
  children: formatMessage({
732
993
  id: "components.Blocks.popover.remove",
733
994
  defaultMessage: "Remove"
@@ -735,11 +996,11 @@ const LinkContent = React__namespace.forwardRef(
735
996
  }
736
997
  ),
737
998
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, children: [
738
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "tertiary", onClick: handleDismiss, children: formatMessage({
999
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "tertiary", onClick: handleClose, children: formatMessage({
739
1000
  id: "components.Blocks.popover.cancel",
740
1001
  defaultMessage: "Cancel"
741
1002
  }) }),
742
- /* @__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({
743
1004
  id: "components.Blocks.popover.save",
744
1005
  defaultMessage: "Save"
745
1006
  }) })
@@ -1325,6 +1586,26 @@ const ListButton = ({ block, format }) => {
1325
1586
  }
1326
1587
  return false;
1327
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
+ };
1328
1609
  const toggleList = (format2) => {
1329
1610
  let currentListEntry;
1330
1611
  if (editor.selection) {
@@ -1358,7 +1639,7 @@ const ListButton = ({ block, format }) => {
1358
1639
  name: format,
1359
1640
  label: block.label,
1360
1641
  isActive: isListActive(),
1361
- disabled,
1642
+ disabled: isListDisabled(),
1362
1643
  handleClick: () => toggleList(format)
1363
1644
  }
1364
1645
  );
@@ -1525,7 +1806,7 @@ const DragIconButton = styledComponents.styled(designSystem.IconButton)`
1525
1806
  }
1526
1807
  svg {
1527
1808
  height: auto;
1528
- width: ${({ theme }) => theme.spaces[3]};
1809
+ min-width: ${({ theme }) => theme.spaces[3]};
1529
1810
 
1530
1811
  path {
1531
1812
  fill: ${({ theme }) => theme.colors.neutral700};
@@ -1642,7 +1923,7 @@ const DragAndDropElement = ({
1642
1923
  disabled,
1643
1924
  draggable: true,
1644
1925
  $dragHandleTopMargin: dragHandleTopMargin,
1645
- children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Drag, { color: "neutral600" })
1926
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Drag, { color: "primary500" })
1646
1927
  }
1647
1928
  ),
1648
1929
  children
@@ -1966,7 +2247,7 @@ const EditorLayout$1 = ({
1966
2247
  /* @__PURE__ */ jsxRuntime.jsx(
1967
2248
  CollapseIconButton,
1968
2249
  {
1969
- "aria-label": formatMessage({
2250
+ label: formatMessage({
1970
2251
  id: index.getTranslation("components.Blocks.collapse"),
1971
2252
  defaultMessage: "Collapse"
1972
2253
  }),
@@ -2305,7 +2586,7 @@ const BlocksEditor = React__namespace.forwardRef(
2305
2586
  !isExpandedMode && /* @__PURE__ */ jsxRuntime.jsx(
2306
2587
  ExpandIconButton,
2307
2588
  {
2308
- "aria-label": formatMessage({
2589
+ label: formatMessage({
2309
2590
  id: index.getTranslation("components.Blocks.expand"),
2310
2591
  defaultMessage: "Expand"
2311
2592
  }),
@@ -2371,30 +2652,27 @@ const createDefaultForm = (contentType, components = {}) => {
2371
2652
  const Initializer = ({ disabled, name: name2, onClick }) => {
2372
2653
  const { formatMessage } = reactIntl.useIntl();
2373
2654
  const field = strapiAdmin.useField(name2);
2374
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2375
- /* @__PURE__ */ jsxRuntime.jsx(
2376
- designSystem.Box,
2377
- {
2378
- tag: "button",
2379
- background: "neutral100",
2380
- borderColor: field.error ? "danger600" : "neutral200",
2381
- hasRadius: true,
2382
- disabled,
2383
- onClick,
2384
- paddingTop: 9,
2385
- paddingBottom: 9,
2386
- type: "button",
2387
- children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 2, children: [
2388
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(CircleIcon, {}) }),
2389
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "primary600", variant: "pi", fontWeight: "bold", children: formatMessage({
2390
- id: index.getTranslation("components.empty-repeatable"),
2391
- defaultMessage: "No entry yet. Click on the button below to add one."
2392
- }) }) })
2393
- ] })
2394
- }
2395
- ),
2396
- field.error && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "danger600", variant: "pi", children: field.error })
2397
- ] });
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
+ ) });
2398
2676
  };
2399
2677
  const CircleIcon = styledComponents.styled(Icons.PlusCircle)`
2400
2678
  width: 2.4rem;
@@ -2426,9 +2704,9 @@ const NonRepeatableComponent = ({
2426
2704
  hasRadius: isNested,
2427
2705
  borderColor: isNested ? "neutral200" : void 0,
2428
2706
  children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 6, children: layout.map((row, index2) => {
2429
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid, { gap: 4, children: row.map(({ size, ...field }) => {
2707
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
2430
2708
  const completeFieldName = `${name2}.${field.name}`;
2431
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { col: size, s: 12, xs: 12, children: children({ ...field, name: completeFieldName }) }, completeFieldName);
2709
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: size, s: 12, xs: 12, children: children({ ...field, name: completeFieldName }) }, completeFieldName);
2432
2710
  }) }, index2);
2433
2711
  }) })
2434
2712
  }
@@ -2604,9 +2882,9 @@ const RepeatableComponent = ({
2604
2882
  onGrabItem: handleGrabItem,
2605
2883
  __temp_key__: key,
2606
2884
  children: layout.map((row, index22) => {
2607
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid, { gap: 4, children: row.map(({ size, ...field }) => {
2885
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
2608
2886
  const completeFieldName = `${nameWithIndex}.${field.name}`;
2609
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { col: size, s: 12, xs: 12, children: children({ ...field, name: completeFieldName }) }, completeFieldName);
2887
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: size, s: 12, xs: 12, children: children({ ...field, name: completeFieldName }) }, completeFieldName);
2610
2888
  }) }, index22);
2611
2889
  })
2612
2890
  }
@@ -2651,7 +2929,7 @@ const TextButtonCustom = styledComponents.styled(designSystem.TextButton)`
2651
2929
  }
2652
2930
 
2653
2931
  @media (prefers-reduced-motion: no-preference) {
2654
- transition: background-color 120ms ${(props) => props.theme.easings.easeOutQuad};
2932
+ transition: background-color 120ms ${(props) => props.theme.motion.easings.easeOutQuad};
2655
2933
  }
2656
2934
  `;
2657
2935
  const Component = ({
@@ -2919,7 +3197,7 @@ const ComponentBox = styledComponents.styled(designSystem.Flex)`
2919
3197
  cursor: pointer;
2920
3198
 
2921
3199
  @media (prefers-reduced-motion: no-preference) {
2922
- transition: color 120ms ${(props) => props.theme.easings.easeOutQuad};
3200
+ transition: color 120ms ${(props) => props.theme.motion.easings.easeOutQuad};
2923
3201
  }
2924
3202
 
2925
3203
  &:focus,
@@ -4306,8 +4584,6 @@ const quoteAndCodeHandler = (editor, markdownType) => {
4306
4584
  };
4307
4585
  const CustomIconButton = styledComponents.styled(designSystem.IconButton)`
4308
4586
  padding: ${({ theme }) => theme.spaces[2]};
4309
- /* Trick to prevent the outline from overflowing because of the general outline-offset */
4310
- outline-offset: -2px !important;
4311
4587
 
4312
4588
  svg {
4313
4589
  width: 1.8rem;
@@ -4352,7 +4628,7 @@ const ExpandButton = styledComponents.styled(designSystem.BaseButton)`
4352
4628
  const WysiwygFooter = ({ onToggleExpand }) => {
4353
4629
  const { formatMessage } = reactIntl.useIntl();
4354
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: [
4355
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: formatMessage({
4631
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "neutral800", children: formatMessage({
4356
4632
  id: "components.WysiwygBottomControls.fullscreen",
4357
4633
  defaultMessage: "Expand"
4358
4634
  }) }),
@@ -4374,7 +4650,7 @@ const WysiwygNav = ({
4374
4650
  id: "components.Wysiwyg.selectOptions.title",
4375
4651
  defaultMessage: "Add a title"
4376
4652
  });
4377
- const buttonMoreRef = React__namespace.useRef(null);
4653
+ React__namespace.useRef(null);
4378
4654
  const handleTogglePopover = () => {
4379
4655
  setVisiblePopover((prev) => !prev);
4380
4656
  };
@@ -4465,79 +4741,81 @@ const WysiwygNav = ({
4465
4741
  }
4466
4742
  )
4467
4743
  ] }),
4468
- /* @__PURE__ */ jsxRuntime.jsx(MoreButton, { ref: buttonMoreRef, onClick: handleTogglePopover, label: "More", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.More, {}) }),
4469
- visiblePopover && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover, { onDismiss: handleTogglePopover, centered: true, source: buttonMoreRef, spacing: 4, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { children: [
4470
- /* @__PURE__ */ jsxRuntime.jsxs(IconButtonGroupMargin, { children: [
4471
- /* @__PURE__ */ jsxRuntime.jsx(
4472
- CustomIconButton,
4473
- {
4474
- onClick: () => onActionClick("Strikethrough", editorRef, handleTogglePopover),
4475
- label: "Strikethrough",
4476
- name: "Strikethrough",
4477
- children: /* @__PURE__ */ jsxRuntime.jsx(Icons.StrikeThrough, {})
4478
- }
4479
- ),
4480
- /* @__PURE__ */ jsxRuntime.jsx(
4481
- CustomIconButton,
4482
- {
4483
- onClick: () => onActionClick("BulletList", editorRef, handleTogglePopover),
4484
- label: "BulletList",
4485
- name: "BulletList",
4486
- children: /* @__PURE__ */ jsxRuntime.jsx(Icons.BulletList, {})
4487
- }
4488
- ),
4489
- /* @__PURE__ */ jsxRuntime.jsx(
4490
- CustomIconButton,
4491
- {
4492
- onClick: () => onActionClick("NumberList", editorRef, handleTogglePopover),
4493
- label: "NumberList",
4494
- name: "NumberList",
4495
- children: /* @__PURE__ */ jsxRuntime.jsx(Icons.NumberList, {})
4496
- }
4497
- )
4498
- ] }),
4499
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.IconButtonGroup, { children: [
4500
- /* @__PURE__ */ jsxRuntime.jsx(
4501
- CustomIconButton,
4502
- {
4503
- onClick: () => onActionClick("Code", editorRef, handleTogglePopover),
4504
- label: "Code",
4505
- name: "Code",
4506
- children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Code, {})
4507
- }
4508
- ),
4509
- /* @__PURE__ */ jsxRuntime.jsx(
4510
- CustomIconButton,
4511
- {
4512
- onClick: () => {
4513
- handleTogglePopover();
4514
- onToggleMediaLib();
4515
- },
4516
- label: "Image",
4517
- name: "Image",
4518
- children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Image, {})
4519
- }
4520
- ),
4521
- /* @__PURE__ */ jsxRuntime.jsx(
4522
- CustomLinkIconButton,
4523
- {
4524
- onClick: () => onActionClick("Link", editorRef, handleTogglePopover),
4525
- label: "Link",
4526
- name: "Link",
4527
- children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Link, {})
4528
- }
4529
- ),
4530
- /* @__PURE__ */ jsxRuntime.jsx(
4531
- CustomIconButton,
4532
- {
4533
- onClick: () => onActionClick("Quote", editorRef, handleTogglePopover),
4534
- label: "Quote",
4535
- name: "Quote",
4536
- children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Quotes, {})
4537
- }
4538
- )
4539
- ] })
4540
- ] }) })
4744
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Popover.Root, { children: [
4745
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(MoreButton, { label: "More", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.More, {}) }) }),
4746
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Content, { sideOffset: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { padding: 2, children: [
4747
+ /* @__PURE__ */ jsxRuntime.jsxs(IconButtonGroupMargin, { children: [
4748
+ /* @__PURE__ */ jsxRuntime.jsx(
4749
+ CustomIconButton,
4750
+ {
4751
+ onClick: () => onActionClick("Strikethrough", editorRef, handleTogglePopover),
4752
+ label: "Strikethrough",
4753
+ name: "Strikethrough",
4754
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icons.StrikeThrough, {})
4755
+ }
4756
+ ),
4757
+ /* @__PURE__ */ jsxRuntime.jsx(
4758
+ CustomIconButton,
4759
+ {
4760
+ onClick: () => onActionClick("BulletList", editorRef, handleTogglePopover),
4761
+ label: "BulletList",
4762
+ name: "BulletList",
4763
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icons.BulletList, {})
4764
+ }
4765
+ ),
4766
+ /* @__PURE__ */ jsxRuntime.jsx(
4767
+ CustomIconButton,
4768
+ {
4769
+ onClick: () => onActionClick("NumberList", editorRef, handleTogglePopover),
4770
+ label: "NumberList",
4771
+ name: "NumberList",
4772
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icons.NumberList, {})
4773
+ }
4774
+ )
4775
+ ] }),
4776
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.IconButtonGroup, { children: [
4777
+ /* @__PURE__ */ jsxRuntime.jsx(
4778
+ CustomIconButton,
4779
+ {
4780
+ onClick: () => onActionClick("Code", editorRef, handleTogglePopover),
4781
+ label: "Code",
4782
+ name: "Code",
4783
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Code, {})
4784
+ }
4785
+ ),
4786
+ /* @__PURE__ */ jsxRuntime.jsx(
4787
+ CustomIconButton,
4788
+ {
4789
+ onClick: () => {
4790
+ handleTogglePopover();
4791
+ onToggleMediaLib();
4792
+ },
4793
+ label: "Image",
4794
+ name: "Image",
4795
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Image, {})
4796
+ }
4797
+ ),
4798
+ /* @__PURE__ */ jsxRuntime.jsx(
4799
+ CustomLinkIconButton,
4800
+ {
4801
+ onClick: () => onActionClick("Link", editorRef, handleTogglePopover),
4802
+ label: "Link",
4803
+ name: "Link",
4804
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Link, {})
4805
+ }
4806
+ ),
4807
+ /* @__PURE__ */ jsxRuntime.jsx(
4808
+ CustomIconButton,
4809
+ {
4810
+ onClick: () => onActionClick("Quote", editorRef, handleTogglePopover),
4811
+ label: "Quote",
4812
+ name: "Quote",
4813
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Quotes, {})
4814
+ }
4815
+ )
4816
+ ] })
4817
+ ] }) })
4818
+ ] })
4541
4819
  ] }),
4542
4820
  onTogglePreviewMode && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: onTogglePreviewMode, variant: "tertiary", children: formatMessage({
4543
4821
  id: "components.Wysiwyg.ToggleMode.preview-mode",
@@ -4763,7 +5041,9 @@ const useFieldHint = (hint = void 0, attribute) => {
4763
5041
  if (!maximum && !minimum) {
4764
5042
  return hint;
4765
5043
  }
4766
- const units = !["biginteger", "integer", "number"].includes(attribute.type) ? formatMessage(
5044
+ const units = !["biginteger", "integer", "number", "dynamiczone", "component"].includes(
5045
+ attribute.type
5046
+ ) ? formatMessage(
4767
5047
  {
4768
5048
  id: "content-manager.form.Input.hint.character.unit",
4769
5049
  defaultMessage: "{maxValue, plural, one { character} other { characters}}"
@@ -4931,9 +5211,9 @@ const DynamicComponent = ({
4931
5211
  ),
4932
5212
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Accordion.Actions, { children: accordionActions })
4933
5213
  ] }),
4934
- /* @__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, { gap: 4, children: row.map(({ size, ...field }) => {
5214
+ /* @__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 }) => {
4935
5215
  const fieldName = `${name2}.${index$1}.${field.name}`;
4936
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { col: size, s: 12, xs: 12, children: /* @__PURE__ */ jsxRuntime.jsx(MemoizedInputRenderer, { ...field, name: fieldName }) }, fieldName);
5216
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: size, s: 12, xs: 12, children: /* @__PURE__ */ jsxRuntime.jsx(MemoizedInputRenderer, { ...field, name: fieldName }) }, fieldName);
4937
5217
  }) }, rowInd)) }) }) })
4938
5218
  ] }) }) })
4939
5219
  ] });
@@ -5126,7 +5406,7 @@ const DynamicZone = ({
5126
5406
  const handleRemoveComponent = (name22, currentIndex) => () => {
5127
5407
  removeFieldRow(name22, currentIndex);
5128
5408
  };
5129
- const hasError = error !== void 0 || dynamicDisplayedComponentsLength < min || dynamicDisplayedComponentsLength > max;
5409
+ const hasError = error !== void 0;
5130
5410
  const renderButtonLabel = () => {
5131
5411
  if (addComponentIsOpen) {
5132
5412
  return formatMessage({ id: "app.utils.close-label", defaultMessage: "Close" });
@@ -5240,4 +5520,4 @@ exports.transformDocument = transformDocument;
5240
5520
  exports.useDynamicZone = useDynamicZone;
5241
5521
  exports.useFieldHint = useFieldHint;
5242
5522
  exports.useLazyComponents = useLazyComponents;
5243
- //# sourceMappingURL=Field-C5Z1Ivdv.js.map
5523
+ //# sourceMappingURL=Field-Bix2HU_O.js.map