@strapi/content-manager 0.0.0-experimental.745741d19e90275ca6f7c928ca19f9bb0fd9d933 → 0.0.0-experimental.779667bd163026468f566293decf331a0246fff9

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 (79) hide show
  1. package/dist/_chunks/{ComponentConfigurationPage-DHNM3YBz.mjs → ComponentConfigurationPage-B1bIXVuX.mjs} +3 -3
  2. package/dist/_chunks/{ComponentConfigurationPage-DHNM3YBz.mjs.map → ComponentConfigurationPage-B1bIXVuX.mjs.map} +1 -1
  3. package/dist/_chunks/{ComponentConfigurationPage-BvHtG7uH.js → ComponentConfigurationPage-Bqgx7Mes.js} +3 -3
  4. package/dist/_chunks/{ComponentConfigurationPage-BvHtG7uH.js.map → ComponentConfigurationPage-Bqgx7Mes.js.map} +1 -1
  5. package/dist/_chunks/{EditConfigurationPage-DOmfCEMo.js → EditConfigurationPage-BFEwvdMW.js} +3 -3
  6. package/dist/_chunks/{EditConfigurationPage-DOmfCEMo.js.map → EditConfigurationPage-BFEwvdMW.js.map} +1 -1
  7. package/dist/_chunks/{EditConfigurationPage-Cp6HAEzN.mjs → EditConfigurationPage-ZO0vOO8q.mjs} +3 -3
  8. package/dist/_chunks/{EditConfigurationPage-Cp6HAEzN.mjs.map → EditConfigurationPage-ZO0vOO8q.mjs.map} +1 -1
  9. package/dist/_chunks/{EditViewPage-BqNpC6hO.js → EditViewPage-DA95Ha6J.js} +3 -3
  10. package/dist/_chunks/{EditViewPage-BqNpC6hO.js.map → EditViewPage-DA95Ha6J.js.map} +1 -1
  11. package/dist/_chunks/{EditViewPage-BtkEx339.mjs → EditViewPage-DlLEyUL6.mjs} +3 -3
  12. package/dist/_chunks/{EditViewPage-BtkEx339.mjs.map → EditViewPage-DlLEyUL6.mjs.map} +1 -1
  13. package/dist/_chunks/{Field-lsPFnAmH.js → Field-CnK8dO8N.js} +74 -49
  14. package/dist/_chunks/Field-CnK8dO8N.js.map +1 -0
  15. package/dist/_chunks/{Field-R5NbffTB.mjs → Field-Dq7bDnuh.mjs} +74 -49
  16. package/dist/_chunks/Field-Dq7bDnuh.mjs.map +1 -0
  17. package/dist/_chunks/{Form-BHmXSfyy.mjs → Form-B_JE0dbz.mjs} +2 -2
  18. package/dist/_chunks/{Form-BHmXSfyy.mjs.map → Form-B_JE0dbz.mjs.map} +1 -1
  19. package/dist/_chunks/{Form-CcGboku8.js → Form-BpiR4piS.js} +2 -2
  20. package/dist/_chunks/{Form-CcGboku8.js.map → Form-BpiR4piS.js.map} +1 -1
  21. package/dist/_chunks/{History-ByUPL3T3.mjs → History-CBNGU7a-.mjs} +11 -11
  22. package/dist/_chunks/History-CBNGU7a-.mjs.map +1 -0
  23. package/dist/_chunks/{History-Bsud8jwh.js → History-DdIstl8b.js} +11 -11
  24. package/dist/_chunks/History-DdIstl8b.js.map +1 -0
  25. package/dist/_chunks/{ListConfigurationPage-Bm5HACXf.mjs → ListConfigurationPage-5dr4qpue.mjs} +8 -6
  26. package/dist/_chunks/ListConfigurationPage-5dr4qpue.mjs.map +1 -0
  27. package/dist/_chunks/{ListConfigurationPage-DiT463qx.js → ListConfigurationPage-DkKRparB.js} +8 -6
  28. package/dist/_chunks/ListConfigurationPage-DkKRparB.js.map +1 -0
  29. package/dist/_chunks/{ListViewPage-JSyNAAYu.mjs → ListViewPage-DecLrYV6.mjs} +3 -3
  30. package/dist/_chunks/{ListViewPage-JSyNAAYu.mjs.map → ListViewPage-DecLrYV6.mjs.map} +1 -1
  31. package/dist/_chunks/{ListViewPage-CsrC9L_d.js → ListViewPage-wE0lXqoD.js} +3 -3
  32. package/dist/_chunks/{ListViewPage-CsrC9L_d.js.map → ListViewPage-wE0lXqoD.js.map} +1 -1
  33. package/dist/_chunks/{NoContentTypePage-CsrQUpBE.mjs → NoContentTypePage-CiIcfYsd.mjs} +2 -2
  34. package/dist/_chunks/{NoContentTypePage-CsrQUpBE.mjs.map → NoContentTypePage-CiIcfYsd.mjs.map} +1 -1
  35. package/dist/_chunks/{NoContentTypePage-Bsvng4II.js → NoContentTypePage-DEKR6tf9.js} +2 -2
  36. package/dist/_chunks/{NoContentTypePage-Bsvng4II.js.map → NoContentTypePage-DEKR6tf9.js.map} +1 -1
  37. package/dist/_chunks/{NoPermissionsPage-DNmf_pj0.mjs → NoPermissionsPage-CM5UD8ee.mjs} +2 -2
  38. package/dist/_chunks/{NoPermissionsPage-DNmf_pj0.mjs.map → NoPermissionsPage-CM5UD8ee.mjs.map} +1 -1
  39. package/dist/_chunks/{NoPermissionsPage-CdHNJtEf.js → NoPermissionsPage-DmNfF2Bb.js} +2 -2
  40. package/dist/_chunks/{NoPermissionsPage-CdHNJtEf.js.map → NoPermissionsPage-DmNfF2Bb.js.map} +1 -1
  41. package/dist/_chunks/{Relations-u8-37jK0.mjs → Relations-Dqz0C1fz.mjs} +3 -3
  42. package/dist/_chunks/Relations-Dqz0C1fz.mjs.map +1 -0
  43. package/dist/_chunks/{Relations-CghaPv2D.js → Relations-L0xYRoSQ.js} +3 -3
  44. package/dist/_chunks/Relations-L0xYRoSQ.js.map +1 -0
  45. package/dist/_chunks/{en-Ux26r5pl.mjs → en-BrCTWlZv.mjs} +5 -4
  46. package/dist/_chunks/{en-Ux26r5pl.mjs.map → en-BrCTWlZv.mjs.map} +1 -1
  47. package/dist/_chunks/{en-fbKQxLGn.js → en-uOUIxfcQ.js} +5 -4
  48. package/dist/_chunks/{en-fbKQxLGn.js.map → en-uOUIxfcQ.js.map} +1 -1
  49. package/dist/_chunks/{index-CaE6NG4a.mjs → index-BSn97i8U.mjs} +224 -109
  50. package/dist/_chunks/index-BSn97i8U.mjs.map +1 -0
  51. package/dist/_chunks/{index-BOZx6IMg.js → index-DyvUPg1a.js} +222 -107
  52. package/dist/_chunks/index-DyvUPg1a.js.map +1 -0
  53. package/dist/_chunks/{layout-Bx7svTbY.mjs → layout-DPaHUusj.mjs} +4 -4
  54. package/dist/_chunks/layout-DPaHUusj.mjs.map +1 -0
  55. package/dist/_chunks/{layout-Ciz224q5.js → layout-TPqF2oJ5.js} +4 -4
  56. package/dist/_chunks/layout-TPqF2oJ5.js.map +1 -0
  57. package/dist/_chunks/{relations-CP8sB2YZ.js → relations-BWYS9gkn.js} +2 -2
  58. package/dist/_chunks/{relations-CP8sB2YZ.js.map → relations-BWYS9gkn.js.map} +1 -1
  59. package/dist/_chunks/{relations-Cxc1cEv3.mjs → relations-Ck7-ecDT.mjs} +2 -2
  60. package/dist/_chunks/{relations-Cxc1cEv3.mjs.map → relations-Ck7-ecDT.mjs.map} +1 -1
  61. package/dist/admin/index.js +1 -1
  62. package/dist/admin/index.mjs +1 -1
  63. package/dist/admin/src/history/index.d.ts +3 -0
  64. package/dist/admin/src/index.d.ts +1 -0
  65. package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +1 -0
  66. package/dist/admin/src/pages/EditView/components/FormInputs/Relations.d.ts +20 -0
  67. package/package.json +6 -6
  68. package/dist/_chunks/Field-R5NbffTB.mjs.map +0 -1
  69. package/dist/_chunks/Field-lsPFnAmH.js.map +0 -1
  70. package/dist/_chunks/History-Bsud8jwh.js.map +0 -1
  71. package/dist/_chunks/History-ByUPL3T3.mjs.map +0 -1
  72. package/dist/_chunks/ListConfigurationPage-Bm5HACXf.mjs.map +0 -1
  73. package/dist/_chunks/ListConfigurationPage-DiT463qx.js.map +0 -1
  74. package/dist/_chunks/Relations-CghaPv2D.js.map +0 -1
  75. package/dist/_chunks/Relations-u8-37jK0.mjs.map +0 -1
  76. package/dist/_chunks/index-BOZx6IMg.js.map +0 -1
  77. package/dist/_chunks/index-CaE6NG4a.mjs.map +0 -1
  78. package/dist/_chunks/layout-Bx7svTbY.mjs.map +0 -1
  79. package/dist/_chunks/layout-Ciz224q5.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-BOZx6IMg.js");
8
+ const index = require("./index-DyvUPg1a.js");
9
9
  const fractionalIndexing = require("fractional-indexing");
10
- const Relations = require("./Relations-CghaPv2D.js");
10
+ const Relations = require("./Relations-L0xYRoSQ.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
  );
@@ -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;
@@ -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-lsPFnAmH.js.map
5523
+ //# sourceMappingURL=Field-CnK8dO8N.js.map