@strapi/content-manager 0.0.0-experimental.145e7d7ddefd1aef71aaf3d9bb86440d013035bf → 0.0.0-experimental.1610404a03d98b65f497f9adda35815021b8fd76
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.
- package/dist/_chunks/{ComponentConfigurationPage-DJEJ49QD.mjs → ComponentConfigurationPage-C5xJlht8.mjs} +4 -4
- package/dist/_chunks/{ComponentConfigurationPage-DJEJ49QD.mjs.map → ComponentConfigurationPage-C5xJlht8.mjs.map} +1 -1
- package/dist/_chunks/{ComponentConfigurationPage-D_g11bYV.js → ComponentConfigurationPage-CyzIs3Wp.js} +5 -6
- package/dist/_chunks/{ComponentConfigurationPage-D_g11bYV.js.map → ComponentConfigurationPage-CyzIs3Wp.js.map} +1 -1
- package/dist/_chunks/{ComponentIcon-BXdiCGQp.js → ComponentIcon-CRbtQEUV.js} +2 -3
- package/dist/_chunks/{ComponentIcon-BXdiCGQp.js.map → ComponentIcon-CRbtQEUV.js.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-QBZdUYyG.mjs → EditConfigurationPage-B1JTGbDa.mjs} +4 -4
- package/dist/_chunks/{EditConfigurationPage-QBZdUYyG.mjs.map → EditConfigurationPage-B1JTGbDa.mjs.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-CeL712KW.js → EditConfigurationPage-BoY4_TQp.js} +5 -6
- package/dist/_chunks/{EditConfigurationPage-CeL712KW.js.map → EditConfigurationPage-BoY4_TQp.js.map} +1 -1
- package/dist/_chunks/{EditViewPage-CvRUUpVh.mjs → EditViewPage-B8Uz26ZK.mjs} +15 -5
- package/dist/_chunks/EditViewPage-B8Uz26ZK.mjs.map +1 -0
- package/dist/_chunks/{EditViewPage-g5TwrgRY.js → EditViewPage-DxszpwJd.js} +16 -7
- package/dist/_chunks/EditViewPage-DxszpwJd.js.map +1 -0
- package/dist/_chunks/{Field-reyvfnop.mjs → Field-CquZadQb.mjs} +93 -78
- package/dist/_chunks/Field-CquZadQb.mjs.map +1 -0
- package/dist/_chunks/{Field-ncdInvxS.js → Field-DzgX4ael.js} +99 -85
- package/dist/_chunks/Field-DzgX4ael.js.map +1 -0
- package/dist/_chunks/{Form-BJ7bYiUx.js → Form-C8a2ftQg.js} +17 -12
- package/dist/_chunks/Form-C8a2ftQg.js.map +1 -0
- package/dist/_chunks/{Form-DoMGsYxH.mjs → Form-DuJm__5A.mjs} +15 -9
- package/dist/_chunks/Form-DuJm__5A.mjs.map +1 -0
- package/dist/_chunks/{History-pbhkxIrf.js → History-B1sa22d-.js} +25 -13
- package/dist/_chunks/History-B1sa22d-.js.map +1 -0
- package/dist/_chunks/{History-BseDJOrj.mjs → History-C7xPTX16.mjs} +25 -12
- package/dist/_chunks/History-C7xPTX16.mjs.map +1 -0
- package/dist/_chunks/{ListConfigurationPage-DWE_fr5B.mjs → ListConfigurationPage-C6zgYhFZ.mjs} +4 -4
- package/dist/_chunks/{ListConfigurationPage-DWE_fr5B.mjs.map → ListConfigurationPage-C6zgYhFZ.mjs.map} +1 -1
- package/dist/_chunks/{ListConfigurationPage-Bna8zfjr.js → ListConfigurationPage-CYWB9ZNc.js} +5 -6
- package/dist/_chunks/{ListConfigurationPage-Bna8zfjr.js.map → ListConfigurationPage-CYWB9ZNc.js.map} +1 -1
- package/dist/_chunks/{ListViewPage-lQ-VLV2G.mjs → ListViewPage-BkzGZ8pS.mjs} +36 -13
- package/dist/_chunks/ListViewPage-BkzGZ8pS.mjs.map +1 -0
- package/dist/_chunks/{ListViewPage-Dymsvnv6.js → ListViewPage-D7jZkQ1q.js} +41 -19
- package/dist/_chunks/ListViewPage-D7jZkQ1q.js.map +1 -0
- package/dist/_chunks/{NoContentTypePage-B4t_OsDR.js → NoContentTypePage-C-eluJ5b.js} +2 -2
- package/dist/_chunks/{NoContentTypePage-B4t_OsDR.js.map → NoContentTypePage-C-eluJ5b.js.map} +1 -1
- package/dist/_chunks/{NoContentTypePage-VCQOMwlf.mjs → NoContentTypePage-CNTp9Je-.mjs} +2 -2
- package/dist/_chunks/{NoContentTypePage-VCQOMwlf.mjs.map → NoContentTypePage-CNTp9Je-.mjs.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-BOwB6hki.js → NoPermissionsPage-5BRSh_ql.js} +2 -2
- package/dist/_chunks/{NoPermissionsPage-BOwB6hki.js.map → NoPermissionsPage-5BRSh_ql.js.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-TV830k4P.mjs → NoPermissionsPage-B1-Nl_T8.mjs} +2 -2
- package/dist/_chunks/{NoPermissionsPage-TV830k4P.mjs.map → NoPermissionsPage-B1-Nl_T8.mjs.map} +1 -1
- package/dist/_chunks/{Relations-DdlstXTu.js → Relations-CXy88hPa.js} +72 -42
- package/dist/_chunks/Relations-CXy88hPa.js.map +1 -0
- package/dist/_chunks/{Relations-D6NAlnsl.mjs → Relations-DqHS7-Cx.mjs} +72 -41
- package/dist/_chunks/Relations-DqHS7-Cx.mjs.map +1 -0
- package/dist/_chunks/{en-Cf41pH5f.js → en-Bm0D0IWz.js} +9 -9
- package/dist/_chunks/{en-Cf41pH5f.js.map → en-Bm0D0IWz.js.map} +1 -1
- package/dist/_chunks/{en-DCszE74t.mjs → en-DKV44jRb.mjs} +9 -9
- package/dist/_chunks/{en-DCszE74t.mjs.map → en-DKV44jRb.mjs.map} +1 -1
- package/dist/_chunks/{index-CQos-KS0.js → index-BwWfprNi.js} +1905 -1763
- package/dist/_chunks/index-BwWfprNi.js.map +1 -0
- package/dist/_chunks/{index-BYSWwHBJ.mjs → index-LwSbWlvf.mjs} +1906 -1764
- package/dist/_chunks/index-LwSbWlvf.mjs.map +1 -0
- package/dist/_chunks/{layout-0TY7UtKO.mjs → layout-BS7u3JUZ.mjs} +6 -5
- package/dist/_chunks/{layout-0TY7UtKO.mjs.map → layout-BS7u3JUZ.mjs.map} +1 -1
- package/dist/_chunks/{layout-B4XAqu1v.js → layout-a7hNwceU.js} +7 -7
- package/dist/_chunks/{layout-B4XAqu1v.js.map → layout-a7hNwceU.js.map} +1 -1
- package/dist/_chunks/{objects-gigeqt7s.js → objects-BcXOv6_9.js} +2 -4
- package/dist/_chunks/{objects-gigeqt7s.js.map → objects-BcXOv6_9.js.map} +1 -1
- package/dist/_chunks/{objects-mKMAmfec.mjs → objects-D6yBsdmx.mjs} +2 -4
- package/dist/_chunks/{objects-mKMAmfec.mjs.map → objects-D6yBsdmx.mjs.map} +1 -1
- package/dist/_chunks/{relations-xZ2tMj1G.js → relations-DedckVWc.js} +3 -7
- package/dist/_chunks/relations-DedckVWc.js.map +1 -0
- package/dist/_chunks/{relations-DFDWfa0s.mjs → relations-L9TlNEnv.mjs} +3 -7
- package/dist/_chunks/relations-L9TlNEnv.mjs.map +1 -0
- package/dist/_chunks/{usePrev-B9w_-eYc.js → useDebounce-CtcjDB3L.js} +14 -1
- package/dist/_chunks/useDebounce-CtcjDB3L.js.map +1 -0
- package/dist/_chunks/useDebounce-DmuSJIF3.mjs +29 -0
- package/dist/_chunks/useDebounce-DmuSJIF3.mjs.map +1 -0
- package/dist/_chunks/{useDragAndDrop-J0TUUbR6.js → useDragAndDrop-BMtgCYzL.js} +5 -9
- package/dist/_chunks/{useDragAndDrop-J0TUUbR6.js.map → useDragAndDrop-BMtgCYzL.js.map} +1 -1
- package/dist/_chunks/{useDragAndDrop-DdHgKsqq.mjs → useDragAndDrop-DJ6jqvZN.mjs} +4 -7
- package/dist/_chunks/{useDragAndDrop-DdHgKsqq.mjs.map → useDragAndDrop-DJ6jqvZN.mjs.map} +1 -1
- package/dist/admin/index.js +2 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +3 -2
- package/dist/admin/src/exports.d.ts +1 -1
- package/dist/admin/src/hooks/useDocument.d.ts +32 -1
- package/dist/admin/src/pages/EditView/components/Header.d.ts +11 -11
- package/dist/admin/src/preview/constants.d.ts +1 -0
- package/dist/admin/src/preview/index.d.ts +4 -0
- package/dist/server/index.js +104 -69
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +103 -67
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/bootstrap.d.ts.map +1 -1
- package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
- package/dist/server/src/controllers/relations.d.ts.map +1 -1
- package/dist/server/src/controllers/utils/metadata.d.ts +15 -1
- package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
- package/dist/server/src/history/services/history.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +4 -4
- package/dist/server/src/preview/constants.d.ts +2 -0
- package/dist/server/src/preview/constants.d.ts.map +1 -0
- package/dist/server/src/preview/index.d.ts +4 -0
- package/dist/server/src/preview/index.d.ts.map +1 -0
- package/dist/server/src/services/document-metadata.d.ts +8 -8
- package/dist/server/src/services/document-metadata.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +4 -4
- package/dist/server/src/services/utils/configuration/index.d.ts +2 -2
- package/dist/server/src/services/utils/configuration/layouts.d.ts +2 -2
- package/dist/server/src/utils/index.d.ts +2 -0
- package/dist/server/src/utils/index.d.ts.map +1 -1
- package/package.json +13 -13
- package/dist/_chunks/EditViewPage-CvRUUpVh.mjs.map +0 -1
- package/dist/_chunks/EditViewPage-g5TwrgRY.js.map +0 -1
- package/dist/_chunks/Field-ncdInvxS.js.map +0 -1
- package/dist/_chunks/Field-reyvfnop.mjs.map +0 -1
- package/dist/_chunks/Form-BJ7bYiUx.js.map +0 -1
- package/dist/_chunks/Form-DoMGsYxH.mjs.map +0 -1
- package/dist/_chunks/History-BseDJOrj.mjs.map +0 -1
- package/dist/_chunks/History-pbhkxIrf.js.map +0 -1
- package/dist/_chunks/ListViewPage-Dymsvnv6.js.map +0 -1
- package/dist/_chunks/ListViewPage-lQ-VLV2G.mjs.map +0 -1
- package/dist/_chunks/Relations-D6NAlnsl.mjs.map +0 -1
- package/dist/_chunks/Relations-DdlstXTu.js.map +0 -1
- package/dist/_chunks/index-BYSWwHBJ.mjs.map +0 -1
- package/dist/_chunks/index-CQos-KS0.js.map +0 -1
- package/dist/_chunks/relations-DFDWfa0s.mjs.map +0 -1
- package/dist/_chunks/relations-xZ2tMj1G.js.map +0 -1
- package/dist/_chunks/usePrev-B9w_-eYc.js.map +0 -1
- package/dist/_chunks/usePrev-DH6iah0A.mjs +0 -16
- package/dist/_chunks/usePrev-DH6iah0A.mjs.map +0 -1
- package/strapi-server.js +0 -3
@@ -5,19 +5,19 @@ 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-
|
8
|
+
const index = require("./index-BwWfprNi.js");
|
9
9
|
const fractionalIndexing = require("fractional-indexing");
|
10
|
-
const Relations = require("./Relations-
|
10
|
+
const Relations = require("./Relations-CXy88hPa.js");
|
11
11
|
const Icons = require("@strapi/icons");
|
12
12
|
const styledComponents = require("styled-components");
|
13
|
-
const ComponentIcon = require("./ComponentIcon-
|
13
|
+
const ComponentIcon = require("./ComponentIcon-CRbtQEUV.js");
|
14
14
|
const reactDndHtml5Backend = require("react-dnd-html5-backend");
|
15
|
-
const useDragAndDrop = require("./useDragAndDrop-
|
16
|
-
const objects = require("./objects-
|
15
|
+
const useDragAndDrop = require("./useDragAndDrop-BMtgCYzL.js");
|
16
|
+
const objects = require("./objects-BcXOv6_9.js");
|
17
17
|
const slate = require("slate");
|
18
18
|
const slateHistory = require("slate-history");
|
19
19
|
const slateReact = require("slate-react");
|
20
|
-
const
|
20
|
+
const useDebounce = require("./useDebounce-CtcjDB3L.js");
|
21
21
|
const Toolbar = require("@radix-ui/react-toolbar");
|
22
22
|
const reactRouterDom = require("react-router-dom");
|
23
23
|
const CodeMirror = require("codemirror5");
|
@@ -37,8 +37,7 @@ require("highlight.js/styles/solarized-dark.css");
|
|
37
37
|
require("codemirror5/addon/display/placeholder");
|
38
38
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
39
39
|
function _interopNamespace(e) {
|
40
|
-
if (e && e.__esModule)
|
41
|
-
return e;
|
40
|
+
if (e && e.__esModule) return e;
|
42
41
|
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
43
42
|
if (e) {
|
44
43
|
for (const k in e) {
|
@@ -731,8 +730,7 @@ const ImageDialog = () => {
|
|
731
730
|
const [isOpen, setIsOpen] = React__namespace.useState(true);
|
732
731
|
const { editor } = useBlocksEditorContext("ImageDialog");
|
733
732
|
const components = strapiAdmin.useStrapiApp("ImageDialog", (state) => state.components);
|
734
|
-
if (!components || !isOpen)
|
735
|
-
return null;
|
733
|
+
if (!components || !isOpen) return null;
|
736
734
|
const MediaLibraryDialog = components["media-library"];
|
737
735
|
const insertImages = (images) => {
|
738
736
|
slate.Transforms.unwrapNodes(editor, {
|
@@ -741,14 +739,12 @@ const ImageDialog = () => {
|
|
741
739
|
});
|
742
740
|
const nodeEntryBeingReplaced = slate.Editor.above(editor, {
|
743
741
|
match(node) {
|
744
|
-
if (slate.Editor.isEditor(node))
|
745
|
-
return false;
|
742
|
+
if (slate.Editor.isEditor(node)) return false;
|
746
743
|
const isInlineNode = ["text", "link"].includes(node.type);
|
747
744
|
return !isInlineNode;
|
748
745
|
}
|
749
746
|
});
|
750
|
-
if (!nodeEntryBeingReplaced)
|
751
|
-
return;
|
747
|
+
if (!nodeEntryBeingReplaced) return;
|
752
748
|
const [, pathToInsert] = nodeEntryBeingReplaced;
|
753
749
|
slate.Transforms.removeNodes(editor);
|
754
750
|
const nodesToInsert = images.map((image) => {
|
@@ -768,7 +764,7 @@ const ImageDialog = () => {
|
|
768
764
|
const nodeImage = {
|
769
765
|
...expectedImage,
|
770
766
|
alternativeText: expectedImage.alternativeText || expectedImage.name,
|
771
|
-
url:
|
767
|
+
url: useDebounce.prefixFileUrlWithBackendUrl(image.url)
|
772
768
|
};
|
773
769
|
return nodeImage;
|
774
770
|
});
|
@@ -926,8 +922,7 @@ const LinkContent = React__namespace.forwardRef(
|
|
926
922
|
slateReact.ReactEditor.focus(editor);
|
927
923
|
};
|
928
924
|
React__namespace.useEffect(() => {
|
929
|
-
if (popoverOpen)
|
930
|
-
linkInputRef.current?.focus();
|
925
|
+
if (popoverOpen) linkInputRef.current?.focus();
|
931
926
|
}, [popoverOpen]);
|
932
927
|
const inputNotDirty = !linkText || !linkUrl || link.url && link.url === linkUrl && elementText && elementText === linkText;
|
933
928
|
return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Popover.Root, { open: popoverOpen, children: [
|
@@ -1082,8 +1077,7 @@ const isText$1 = (node) => {
|
|
1082
1077
|
return slate.Node.isNode(node) && !slate.Editor.isEditor(node) && node.type === "text";
|
1083
1078
|
};
|
1084
1079
|
const handleBackspaceKeyOnList = (editor, event) => {
|
1085
|
-
if (!editor.selection)
|
1086
|
-
return;
|
1080
|
+
if (!editor.selection) return;
|
1087
1081
|
const [currentListItem, currentListItemPath] = slate.Editor.parent(editor, editor.selection.anchor);
|
1088
1082
|
const [currentList, currentListPath] = slate.Editor.parent(editor, currentListItemPath);
|
1089
1083
|
const isListEmpty = currentList.children.length === 1 && isText$1(currentListItem.children[0]) && currentListItem.children[0].text === "";
|
@@ -1192,8 +1186,7 @@ const handleEnterKeyOnList = (editor) => {
|
|
1192
1186
|
};
|
1193
1187
|
const handleConvertToList = (editor, format) => {
|
1194
1188
|
const convertedPath = baseHandleConvert(editor, { type: "list-item" });
|
1195
|
-
if (!convertedPath)
|
1196
|
-
return;
|
1189
|
+
if (!convertedPath) return;
|
1197
1190
|
slate.Transforms.wrapNodes(editor, { type: "list", format, children: [] }, { at: convertedPath });
|
1198
1191
|
};
|
1199
1192
|
const handleTabOnList = (editor) => {
|
@@ -1205,8 +1198,7 @@ const handleTabOnList = (editor) => {
|
|
1205
1198
|
}
|
1206
1199
|
const [currentListItem, currentListItemPath] = currentListItemEntry;
|
1207
1200
|
const [currentList] = slate.Editor.parent(editor, currentListItemPath);
|
1208
|
-
if (currentListItem === currentList.children[0])
|
1209
|
-
return;
|
1201
|
+
if (currentListItem === currentList.children[0]) return;
|
1210
1202
|
const currentListItemIndex = currentList.children.findIndex((item) => item === currentListItem);
|
1211
1203
|
const previousNode = currentList.children[currentListItemIndex - 1];
|
1212
1204
|
if (previousNode.type === "list") {
|
@@ -1573,8 +1565,7 @@ const isListNode = (node) => {
|
|
1573
1565
|
const ListButton = ({ block, format }) => {
|
1574
1566
|
const { editor, disabled, blocks } = useBlocksEditorContext("ListButton");
|
1575
1567
|
const isListActive = () => {
|
1576
|
-
if (!editor.selection)
|
1577
|
-
return false;
|
1568
|
+
if (!editor.selection) return false;
|
1578
1569
|
const currentListEntry = slate.Editor.above(editor, {
|
1579
1570
|
match: (node) => !slate.Editor.isEditor(node) && node.type === "list",
|
1580
1571
|
at: editor.selection.anchor
|
@@ -1648,8 +1639,7 @@ const LinkButton = ({ disabled }) => {
|
|
1648
1639
|
const { editor } = useBlocksEditorContext("LinkButton");
|
1649
1640
|
const isLinkActive = () => {
|
1650
1641
|
const { selection } = editor;
|
1651
|
-
if (!selection)
|
1652
|
-
return false;
|
1642
|
+
if (!selection) return false;
|
1653
1643
|
const [match] = Array.from(
|
1654
1644
|
slate.Editor.nodes(editor, {
|
1655
1645
|
at: slate.Editor.unhangRange(editor, selection),
|
@@ -1783,6 +1773,7 @@ const DragItem = styledComponents.styled(designSystem.Flex)`
|
|
1783
1773
|
}
|
1784
1774
|
`;
|
1785
1775
|
const DragIconButton = styledComponents.styled(designSystem.IconButton)`
|
1776
|
+
user-select: none;
|
1786
1777
|
display: flex;
|
1787
1778
|
align-items: center;
|
1788
1779
|
justify-content: center;
|
@@ -1854,8 +1845,7 @@ const DragAndDropElement = ({
|
|
1854
1845
|
displayedValue: children
|
1855
1846
|
},
|
1856
1847
|
onDropItem(currentIndex, newIndex) {
|
1857
|
-
if (newIndex)
|
1858
|
-
handleMoveBlock(newIndex, currentIndex);
|
1848
|
+
if (newIndex) handleMoveBlock(newIndex, currentIndex);
|
1859
1849
|
}
|
1860
1850
|
});
|
1861
1851
|
const composedBoxRefs = designSystem.useComposedRefs(blockRef, dropRef);
|
@@ -1911,6 +1901,7 @@ const DragAndDropElement = ({
|
|
1911
1901
|
DragIconButton,
|
1912
1902
|
{
|
1913
1903
|
tag: "div",
|
1904
|
+
contentEditable: false,
|
1914
1905
|
role: "button",
|
1915
1906
|
tabIndex: 0,
|
1916
1907
|
withTooltip: false,
|
@@ -1998,8 +1989,7 @@ const BlocksContent = ({ placeholder, ariaLabelId }) => {
|
|
1998
1989
|
[modifiers2]
|
1999
1990
|
);
|
2000
1991
|
const handleMoveBlocks = (editor2, event) => {
|
2001
|
-
if (!editor2.selection)
|
2002
|
-
return;
|
1992
|
+
if (!editor2.selection) return;
|
2003
1993
|
const start = slate.Range.start(editor2.selection);
|
2004
1994
|
const currentIndex = [start.path[0]];
|
2005
1995
|
let newIndexPosition = 0;
|
@@ -2136,8 +2126,7 @@ const BlocksContent = ({ placeholder, ariaLabelId }) => {
|
|
2136
2126
|
}
|
2137
2127
|
};
|
2138
2128
|
const handleScrollSelectionIntoView = () => {
|
2139
|
-
if (!editor.selection)
|
2140
|
-
return;
|
2129
|
+
if (!editor.selection) return;
|
2141
2130
|
const domRange = slateReact.ReactEditor.toDOMRange(editor, editor.selection);
|
2142
2131
|
const domRect = domRange.getBoundingClientRect();
|
2143
2132
|
const blocksInput = blocksRef.current;
|
@@ -2331,8 +2320,7 @@ const InlineCode = styledComponents.styled.code`
|
|
2331
2320
|
`;
|
2332
2321
|
const baseCheckIsActive = (editor, name2) => {
|
2333
2322
|
const marks = slate.Editor.marks(editor);
|
2334
|
-
if (!marks)
|
2335
|
-
return false;
|
2323
|
+
if (!marks) return false;
|
2336
2324
|
return Boolean(marks[name2]);
|
2337
2325
|
};
|
2338
2326
|
const baseHandleToggle = (editor, name2) => {
|
@@ -2736,13 +2724,34 @@ const RepeatableComponent = ({
|
|
2736
2724
|
const { search: searchString } = reactRouterDom.useLocation();
|
2737
2725
|
const search = React__namespace.useMemo(() => new URLSearchParams(searchString), [searchString]);
|
2738
2726
|
const { components } = index.useDoc();
|
2739
|
-
const {
|
2727
|
+
const {
|
2728
|
+
value = [],
|
2729
|
+
error,
|
2730
|
+
rawError
|
2731
|
+
} = strapiAdmin.useField(name2);
|
2740
2732
|
const addFieldRow = strapiAdmin.useForm("RepeatableComponent", (state) => state.addFieldRow);
|
2741
2733
|
const moveFieldRow = strapiAdmin.useForm("RepeatableComponent", (state) => state.moveFieldRow);
|
2742
2734
|
const removeFieldRow = strapiAdmin.useForm("RepeatableComponent", (state) => state.removeFieldRow);
|
2743
2735
|
const { max = Infinity } = attribute;
|
2744
2736
|
const [collapseToOpen, setCollapseToOpen] = React__namespace.useState("");
|
2745
2737
|
const [liveText, setLiveText] = React__namespace.useState("");
|
2738
|
+
React__namespace.useEffect(() => {
|
2739
|
+
const hasNestedErrors = rawError && Array.isArray(rawError) && rawError.length > 0;
|
2740
|
+
const hasNestedValue = value && Array.isArray(value) && value.length > 0;
|
2741
|
+
if (hasNestedErrors && hasNestedValue) {
|
2742
|
+
const errorOpenItems = rawError.map((_, idx) => {
|
2743
|
+
return value[idx] ? value[idx].__temp_key__ : null;
|
2744
|
+
}).filter((value2) => !!value2);
|
2745
|
+
if (errorOpenItems && errorOpenItems.length > 0) {
|
2746
|
+
setCollapseToOpen((collapseToOpen2) => {
|
2747
|
+
if (!errorOpenItems.includes(collapseToOpen2)) {
|
2748
|
+
return errorOpenItems[0];
|
2749
|
+
}
|
2750
|
+
return collapseToOpen2;
|
2751
|
+
});
|
2752
|
+
}
|
2753
|
+
}
|
2754
|
+
}, [rawError, value]);
|
2746
2755
|
const componentTmpKeyWithFocussedField = React__namespace.useMemo(() => {
|
2747
2756
|
if (search.has("field")) {
|
2748
2757
|
const fieldParam = search.get("field");
|
@@ -2757,7 +2766,7 @@ const RepeatableComponent = ({
|
|
2757
2766
|
}
|
2758
2767
|
return void 0;
|
2759
2768
|
}, [search, name2, value]);
|
2760
|
-
const prevValue =
|
2769
|
+
const prevValue = useDebounce.usePrev(value);
|
2761
2770
|
React__namespace.useEffect(() => {
|
2762
2771
|
if (prevValue && prevValue.length < value.length) {
|
2763
2772
|
setCollapseToOpen(value[value.length - 1].__temp_key__);
|
@@ -3290,18 +3299,6 @@ const NotAllowedInput = ({ hint, label, required, name: name2 }) => {
|
|
3290
3299
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Hint, {})
|
3291
3300
|
] });
|
3292
3301
|
};
|
3293
|
-
function useDebounce(value, delay) {
|
3294
|
-
const [debouncedValue, setDebouncedValue] = React.useState(value);
|
3295
|
-
React.useEffect(() => {
|
3296
|
-
const handler = setTimeout(() => {
|
3297
|
-
setDebouncedValue(value);
|
3298
|
-
}, delay);
|
3299
|
-
return () => {
|
3300
|
-
clearTimeout(handler);
|
3301
|
-
};
|
3302
|
-
}, [value, delay]);
|
3303
|
-
return debouncedValue;
|
3304
|
-
}
|
3305
3302
|
const uidApi = index.contentManagerApi.injectEndpoints({
|
3306
3303
|
endpoints: (builder) => ({
|
3307
3304
|
getDefaultUID: builder.query({
|
@@ -3353,7 +3350,7 @@ const UIDInput = React__namespace.forwardRef(
|
|
3353
3350
|
const [showRegenerate, setShowRegenerate] = React__namespace.useState(false);
|
3354
3351
|
const isCloning = reactRouterDom.useMatch(index.CLONE_PATH) !== null;
|
3355
3352
|
const field = strapiAdmin.useField(name2);
|
3356
|
-
const debouncedValue = useDebounce(field.value, 300);
|
3353
|
+
const debouncedValue = useDebounce.useDebounce(field.value, 300);
|
3357
3354
|
const hasChanged = debouncedValue !== field.initialValue;
|
3358
3355
|
const { toggleNotification } = strapiAdmin.useNotification();
|
3359
3356
|
const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler();
|
@@ -3759,8 +3756,7 @@ const Wrapper = styledComponents.styled.div`
|
|
3759
3756
|
`;
|
3760
3757
|
var listRE = /^(\s*)(>[> ]*|[*+-] \[[x ]\]\s|[*+-]\s|(\d+)([.)]))(\s*)/, emptyListRE = /^(\s*)(>[> ]*|[*+-] \[[x ]\]|[*+-]|(\d+)[.)])(\s*)$/, unorderedListRE = /[*+-]\s/;
|
3761
3758
|
function newlineAndIndentContinueMarkdownList(cm) {
|
3762
|
-
if (cm.getOption("disableInput"))
|
3763
|
-
return CodeMirror__default.default.Pass;
|
3759
|
+
if (cm.getOption("disableInput")) return CodeMirror__default.default.Pass;
|
3764
3760
|
var ranges = cm.listSelections(), replacements = [];
|
3765
3761
|
for (var i = 0; i < ranges.length; i++) {
|
3766
3762
|
var pos = ranges[i].head;
|
@@ -3794,8 +3790,7 @@ function newlineAndIndentContinueMarkdownList(cm) {
|
|
3794
3790
|
var numbered = !(unorderedListRE.test(match[2]) || match[2].indexOf(">") >= 0);
|
3795
3791
|
var bullet = numbered ? parseInt(match[3], 10) + 1 + match[4] : match[2].replace("x", " ");
|
3796
3792
|
replacements[i] = "\n" + indent + bullet + after;
|
3797
|
-
if (numbered)
|
3798
|
-
incrementRemainingMarkdownListNumbers(cm, pos);
|
3793
|
+
if (numbered) incrementRemainingMarkdownListNumbers(cm, pos);
|
3799
3794
|
}
|
3800
3795
|
}
|
3801
3796
|
cm.replaceSelections(replacements);
|
@@ -3813,10 +3808,8 @@ function incrementRemainingMarkdownListNumbers(cm, pos) {
|
|
3813
3808
|
var newNumber = parseInt(startItem[3], 10) + lookAhead - skipCount;
|
3814
3809
|
var nextNumber = parseInt(nextItem[3], 10), itemNumber = nextNumber;
|
3815
3810
|
if (startIndent === nextIndent && !isNaN(nextNumber)) {
|
3816
|
-
if (newNumber === nextNumber)
|
3817
|
-
|
3818
|
-
if (newNumber > nextNumber)
|
3819
|
-
itemNumber = newNumber + 1;
|
3811
|
+
if (newNumber === nextNumber) itemNumber = nextNumber + 1;
|
3812
|
+
if (newNumber > nextNumber) itemNumber = newNumber + 1;
|
3820
3813
|
cm.replaceRange(
|
3821
3814
|
nextLine.replace(listRE, nextIndent + itemNumber + nextItem[4] + nextItem[5]),
|
3822
3815
|
{
|
@@ -3829,10 +3822,8 @@ function incrementRemainingMarkdownListNumbers(cm, pos) {
|
|
3829
3822
|
}
|
3830
3823
|
);
|
3831
3824
|
} else {
|
3832
|
-
if (startIndent.length > nextIndent.length)
|
3833
|
-
|
3834
|
-
if (startIndent.length < nextIndent.length && lookAhead === 1)
|
3835
|
-
return;
|
3825
|
+
if (startIndent.length > nextIndent.length) return;
|
3826
|
+
if (startIndent.length < nextIndent.length && lookAhead === 1) return;
|
3836
3827
|
skipCount += 1;
|
3837
3828
|
}
|
3838
3829
|
}
|
@@ -4910,7 +4901,7 @@ const Wysiwyg = React__namespace.forwardRef(
|
|
4910
4901
|
const handleSelectAssets = (files) => {
|
4911
4902
|
const formattedFiles = files.map((f) => ({
|
4912
4903
|
alt: f.alternativeText || f.name,
|
4913
|
-
url:
|
4904
|
+
url: useDebounce.prefixFileUrlWithBackendUrl(f.url),
|
4914
4905
|
mime: f.mime
|
4915
4906
|
}));
|
4916
4907
|
insertFile(editorRef, formattedFiles);
|
@@ -4969,15 +4960,19 @@ const Wysiwyg = React__namespace.forwardRef(
|
|
4969
4960
|
);
|
4970
4961
|
const MemoizedWysiwyg = React__namespace.memo(Wysiwyg);
|
4971
4962
|
const InputRenderer = ({ visible, hint: providedHint, ...props }) => {
|
4972
|
-
const { id } = index.useDoc();
|
4963
|
+
const { id, document: document2, collectionType } = index.useDoc();
|
4973
4964
|
const isFormDisabled = strapiAdmin.useForm("InputRenderer", (state) => state.disabled);
|
4974
4965
|
const isInDynamicZone = useDynamicZone("isInDynamicZone", (state) => state.isInDynamicZone);
|
4975
4966
|
const canCreateFields = index.useDocumentRBAC("InputRenderer", (rbac) => rbac.canCreateFields);
|
4976
4967
|
const canReadFields = index.useDocumentRBAC("InputRenderer", (rbac) => rbac.canReadFields);
|
4977
4968
|
const canUpdateFields = index.useDocumentRBAC("InputRenderer", (rbac) => rbac.canUpdateFields);
|
4978
4969
|
const canUserAction = index.useDocumentRBAC("InputRenderer", (rbac) => rbac.canUserAction);
|
4979
|
-
|
4980
|
-
|
4970
|
+
let idToCheck = id;
|
4971
|
+
if (collectionType === index.SINGLE_TYPES) {
|
4972
|
+
idToCheck = document2?.documentId;
|
4973
|
+
}
|
4974
|
+
const editableFields = idToCheck ? canUpdateFields : canCreateFields;
|
4975
|
+
const readableFields = idToCheck ? canReadFields : canCreateFields;
|
4981
4976
|
const canUserReadField = canUserAction(props.name, readableFields, props.type);
|
4982
4977
|
const canUserEditField = canUserAction(props.name, editableFields, props.type);
|
4983
4978
|
const fields = strapiAdmin.useStrapiApp("InputRenderer", (app) => app.fields);
|
@@ -4988,6 +4983,7 @@ const InputRenderer = ({ visible, hint: providedHint, ...props }) => {
|
|
4988
4983
|
const {
|
4989
4984
|
edit: { components }
|
4990
4985
|
} = index.useDocLayout();
|
4986
|
+
const field = strapiAdmin.useField(props.name);
|
4991
4987
|
if (!visible) {
|
4992
4988
|
return null;
|
4993
4989
|
}
|
@@ -4998,7 +4994,7 @@ const InputRenderer = ({ visible, hint: providedHint, ...props }) => {
|
|
4998
4994
|
if (attributeHasCustomFieldProperty(props.attribute)) {
|
4999
4995
|
const CustomInput = lazyComponentStore[props.attribute.customField];
|
5000
4996
|
if (CustomInput) {
|
5001
|
-
return /* @__PURE__ */ jsxRuntime.jsx(CustomInput, { ...props, hint, disabled: fieldIsDisabled });
|
4997
|
+
return /* @__PURE__ */ jsxRuntime.jsx(CustomInput, { ...props, ...field, hint, disabled: fieldIsDisabled });
|
5002
4998
|
}
|
5003
4999
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
5004
5000
|
strapiAdmin.InputRenderer,
|
@@ -5159,6 +5155,14 @@ const DynamicComponent = ({
|
|
5159
5155
|
React__namespace.useEffect(() => {
|
5160
5156
|
dragPreviewRef(reactDndHtml5Backend.getEmptyImage(), { captureDraggingState: false });
|
5161
5157
|
}, [dragPreviewRef, index$1]);
|
5158
|
+
const accordionValue = React__namespace.useId();
|
5159
|
+
const { value = [], rawError } = strapiAdmin.useField(`${name2}.${index$1}`);
|
5160
|
+
const [collapseToOpen, setCollapseToOpen] = React__namespace.useState("");
|
5161
|
+
React__namespace.useEffect(() => {
|
5162
|
+
if (rawError && value) {
|
5163
|
+
setCollapseToOpen(accordionValue);
|
5164
|
+
}
|
5165
|
+
}, [rawError, value, accordionValue]);
|
5162
5166
|
const composedBoxRefs = designSystem.useComposedRefs(boxRef, dropRef);
|
5163
5167
|
const accordionActions = disabled ? null : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
5164
5168
|
/* @__PURE__ */ jsxRuntime.jsx(
|
@@ -5224,10 +5228,9 @@ const DynamicComponent = ({
|
|
5224
5228
|
] })
|
5225
5229
|
] });
|
5226
5230
|
const accordionTitle = title ? `${displayName} ${title}` : displayName;
|
5227
|
-
const accordionValue = React__namespace.useId();
|
5228
5231
|
return /* @__PURE__ */ jsxRuntime.jsxs(ComponentContainer, { tag: "li", width: "100%", children: [
|
5229
5232
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(Rectangle, { background: "neutral200" }) }),
|
5230
|
-
/* @__PURE__ */ jsxRuntime.jsx(StyledBox, { ref: composedBoxRefs, hasRadius: true, children: isDragging ? /* @__PURE__ */ jsxRuntime.jsx(Preview, {}) : /* @__PURE__ */ jsxRuntime.jsx(designSystem.Accordion.Root, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Accordion.Item, { value: accordionValue, children: [
|
5233
|
+
/* @__PURE__ */ jsxRuntime.jsx(StyledBox, { ref: composedBoxRefs, hasRadius: true, children: isDragging ? /* @__PURE__ */ jsxRuntime.jsx(Preview, {}) : /* @__PURE__ */ jsxRuntime.jsx(designSystem.Accordion.Root, { value: collapseToOpen, onValueChange: setCollapseToOpen, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Accordion.Item, { value: accordionValue, children: [
|
5231
5234
|
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Accordion.Header, { children: [
|
5232
5235
|
/* @__PURE__ */ jsxRuntime.jsx(
|
5233
5236
|
designSystem.Accordion.Trigger,
|
@@ -5238,21 +5241,32 @@ const DynamicComponent = ({
|
|
5238
5241
|
),
|
5239
5242
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Accordion.Actions, { children: accordionActions })
|
5240
5243
|
] }),
|
5241
|
-
/* @__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:
|
5242
|
-
|
5243
|
-
|
5244
|
-
|
5245
|
-
|
5246
|
-
|
5247
|
-
|
5248
|
-
|
5249
|
-
|
5250
|
-
|
5251
|
-
|
5252
|
-
|
5253
|
-
|
5254
|
-
|
5255
|
-
|
5244
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Accordion.Content, { children: /* @__PURE__ */ jsxRuntime.jsx(AccordionContentRadius, { background: "neutral0", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingLeft: 6, paddingRight: 6, paddingTop: 6, paddingBottom: 6, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: components[componentUid]?.layout?.map((row, rowInd) => /* @__PURE__ */ jsxRuntime.jsx(
|
5245
|
+
designSystem.Grid.Item,
|
5246
|
+
{
|
5247
|
+
col: 12,
|
5248
|
+
s: 12,
|
5249
|
+
xs: 12,
|
5250
|
+
direction: "column",
|
5251
|
+
alignItems: "stretch",
|
5252
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
|
5253
|
+
const fieldName = `${name2}.${index$1}.${field.name}`;
|
5254
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
5255
|
+
designSystem.Grid.Item,
|
5256
|
+
{
|
5257
|
+
col: size,
|
5258
|
+
s: 12,
|
5259
|
+
xs: 12,
|
5260
|
+
direction: "column",
|
5261
|
+
alignItems: "stretch",
|
5262
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(MemoizedInputRenderer, { ...field, name: fieldName })
|
5263
|
+
},
|
5264
|
+
fieldName
|
5265
|
+
);
|
5266
|
+
}) })
|
5267
|
+
},
|
5268
|
+
rowInd
|
5269
|
+
)) }) }) }) })
|
5256
5270
|
] }) }) })
|
5257
5271
|
] });
|
5258
5272
|
};
|
@@ -5558,4 +5572,4 @@ exports.transformDocument = transformDocument;
|
|
5558
5572
|
exports.useDynamicZone = useDynamicZone;
|
5559
5573
|
exports.useFieldHint = useFieldHint;
|
5560
5574
|
exports.useLazyComponents = useLazyComponents;
|
5561
|
-
//# sourceMappingURL=Field-
|
5575
|
+
//# sourceMappingURL=Field-DzgX4ael.js.map
|