@strapi/content-manager 0.0.0-experimental.6d27139261823fc4b18da9f3c10b271d5010dbf0 → 0.0.0-experimental.702fcf7aec9be82c4485a8bd49e235293c37f022
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-DyDkPajU.js → ComponentConfigurationPage-BaGEn2nd.js} +4 -4
- package/dist/_chunks/{ComponentConfigurationPage-DyDkPajU.js.map → ComponentConfigurationPage-BaGEn2nd.js.map} +1 -1
- package/dist/_chunks/{ComponentConfigurationPage-9lRmRdIr.mjs → ComponentConfigurationPage-EIYRzIr6.mjs} +4 -4
- package/dist/_chunks/{ComponentConfigurationPage-9lRmRdIr.mjs.map → ComponentConfigurationPage-EIYRzIr6.mjs.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-DValmA0m.js → EditConfigurationPage-BQGdJb6Z.js} +4 -4
- package/dist/_chunks/{EditConfigurationPage-DValmA0m.js.map → EditConfigurationPage-BQGdJb6Z.js.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-Bk893vVY.mjs → EditConfigurationPage-ByaNUj_q.mjs} +4 -4
- package/dist/_chunks/{EditConfigurationPage-Bk893vVY.mjs.map → EditConfigurationPage-ByaNUj_q.mjs.map} +1 -1
- package/dist/_chunks/{EditViewPage-DiNFdFqP.mjs → EditViewPage-BgeC8L9X.mjs} +50 -10
- package/dist/_chunks/EditViewPage-BgeC8L9X.mjs.map +1 -0
- package/dist/_chunks/{EditViewPage-Dk7Eaft4.js → EditViewPage-s_qVLiC6.js} +49 -9
- package/dist/_chunks/EditViewPage-s_qVLiC6.js.map +1 -0
- package/dist/_chunks/{Field-DH2OaqUP.js → Field-0AdG2t0D.js} +100 -46
- package/dist/_chunks/Field-0AdG2t0D.js.map +1 -0
- package/dist/_chunks/{Field-Dv_HTFTa.mjs → Field-DbpDop_h.mjs} +96 -42
- package/dist/_chunks/Field-DbpDop_h.mjs.map +1 -0
- package/dist/_chunks/{Form-B_dUDizM.js → Form-BpC9hWi-.js} +16 -8
- package/dist/_chunks/Form-BpC9hWi-.js.map +1 -0
- package/dist/_chunks/{Form-Dy6P4HgH.mjs → Form-Xb-u04dn.mjs} +16 -8
- package/dist/_chunks/Form-Xb-u04dn.mjs.map +1 -0
- package/dist/_chunks/{History-DrwsD1Vc.mjs → History-DLl10NEN.mjs} +42 -99
- package/dist/_chunks/History-DLl10NEN.mjs.map +1 -0
- package/dist/_chunks/{History-BT4w83Oa.js → History-sJ61vusJ.js} +40 -97
- package/dist/_chunks/History-sJ61vusJ.js.map +1 -0
- package/dist/_chunks/{ListConfigurationPage-CuYrMcW3.js → ListConfigurationPage-C00guBjQ.js} +5 -4
- package/dist/_chunks/ListConfigurationPage-C00guBjQ.js.map +1 -0
- package/dist/_chunks/{ListConfigurationPage-BxIP0jRy.mjs → ListConfigurationPage-mbZQmEZ3.mjs} +6 -5
- package/dist/_chunks/ListConfigurationPage-mbZQmEZ3.mjs.map +1 -0
- package/dist/_chunks/{ListViewPage-BvpwNur7.js → ListViewPage-DDVpN1ql.js} +53 -19
- package/dist/_chunks/ListViewPage-DDVpN1ql.js.map +1 -0
- package/dist/_chunks/{ListViewPage-5a1vw-OK.mjs → ListViewPage-iRJ5AUjS.mjs} +49 -15
- package/dist/_chunks/ListViewPage-iRJ5AUjS.mjs.map +1 -0
- package/dist/_chunks/{NoContentTypePage-UqEiWKkM.js → NoContentTypePage-BvkII4H4.js} +2 -2
- package/dist/_chunks/{NoContentTypePage-UqEiWKkM.js.map → NoContentTypePage-BvkII4H4.js.map} +1 -1
- package/dist/_chunks/{NoContentTypePage-Bm6tRcd3.mjs → NoContentTypePage-DI8VWkVK.mjs} +2 -2
- package/dist/_chunks/{NoContentTypePage-Bm6tRcd3.mjs.map → NoContentTypePage-DI8VWkVK.mjs.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-C_vGRo8Q.js → NoPermissionsPage-BZjHQTpb.js} +2 -2
- package/dist/_chunks/{NoPermissionsPage-C_vGRo8Q.js.map → NoPermissionsPage-BZjHQTpb.js.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-BHPqn_tQ.mjs → NoPermissionsPage-DckHN3oZ.mjs} +2 -2
- package/dist/_chunks/{NoPermissionsPage-BHPqn_tQ.mjs.map → NoPermissionsPage-DckHN3oZ.mjs.map} +1 -1
- package/dist/_chunks/Preview-BDOUHeaW.mjs +267 -0
- package/dist/_chunks/Preview-BDOUHeaW.mjs.map +1 -0
- package/dist/_chunks/Preview-CS2aV-BU.js +286 -0
- package/dist/_chunks/Preview-CS2aV-BU.js.map +1 -0
- package/dist/_chunks/{Relations-CznVF6LS.js → Relations-DEIQO39t.js} +71 -35
- package/dist/_chunks/Relations-DEIQO39t.js.map +1 -0
- package/dist/_chunks/{Relations-C7fPyh5P.mjs → Relations-J-8HC3zX.mjs} +72 -36
- package/dist/_chunks/Relations-J-8HC3zX.mjs.map +1 -0
- package/dist/_chunks/{en-CbaIuYoB.mjs → en-CfIXaZf9.mjs} +25 -13
- package/dist/_chunks/{en-CbaIuYoB.mjs.map → en-CfIXaZf9.mjs.map} +1 -1
- package/dist/_chunks/{en-otD_UBJi.js → en-DTWPCdTS.js} +25 -13
- package/dist/_chunks/{en-otD_UBJi.js.map → en-DTWPCdTS.js.map} +1 -1
- package/dist/_chunks/{es-EUonQTon.js → es-9K52xZIr.js} +2 -2
- package/dist/_chunks/{ja-CcFe8diO.js.map → es-9K52xZIr.js.map} +1 -1
- package/dist/_chunks/{es-CeXiYflN.mjs → es-D34tqjMw.mjs} +2 -2
- package/dist/_chunks/{es-CeXiYflN.mjs.map → es-D34tqjMw.mjs.map} +1 -1
- package/dist/_chunks/{fr-CD9VFbPM.mjs → fr--pg5jUbt.mjs} +13 -3
- package/dist/_chunks/{fr-CD9VFbPM.mjs.map → fr--pg5jUbt.mjs.map} +1 -1
- package/dist/_chunks/{fr-B7kGGg3E.js → fr-B2Kyv8Z9.js} +13 -3
- package/dist/_chunks/{fr-B7kGGg3E.js.map → fr-B2Kyv8Z9.js.map} +1 -1
- package/dist/_chunks/{index-BJ6uTqLL.mjs → index-DzTs9ga-.mjs} +1122 -911
- package/dist/_chunks/index-DzTs9ga-.mjs.map +1 -0
- package/dist/_chunks/{index-D9UmmBcM.js → index-uXHSvmlw.js} +1118 -906
- package/dist/_chunks/index-uXHSvmlw.js.map +1 -0
- package/dist/_chunks/{ja-CcFe8diO.js → ja-7sfIbjxE.js} +2 -2
- package/dist/_chunks/{es-EUonQTon.js.map → ja-7sfIbjxE.js.map} +1 -1
- package/dist/_chunks/{ja-CtsUxOvk.mjs → ja-BHqhDq4V.mjs} +2 -2
- package/dist/_chunks/{ja-CtsUxOvk.mjs.map → ja-BHqhDq4V.mjs.map} +1 -1
- package/dist/_chunks/{layout-uomiIGbG.mjs → layout-BhIZkPuB.mjs} +5 -4
- package/dist/_chunks/{layout-uomiIGbG.mjs.map → layout-BhIZkPuB.mjs.map} +1 -1
- package/dist/_chunks/{layout-kfu5Wtix.js → layout-zA_F2rU4.js} +5 -4
- package/dist/_chunks/{layout-kfu5Wtix.js.map → layout-zA_F2rU4.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-DiDufGSA.mjs → relations-BoCufH_z.mjs} +6 -7
- package/dist/_chunks/relations-BoCufH_z.mjs.map +1 -0
- package/dist/_chunks/{relations-DKENrxko.js → relations-DnUyZQaL.js} +6 -7
- package/dist/_chunks/relations-DnUyZQaL.js.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/admin/index.js +2 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +4 -3
- 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/EditViewPage.d.ts +9 -1
- package/dist/admin/src/pages/EditView/components/DocumentStatus.d.ts +2 -2
- package/dist/admin/src/pages/EditView/components/Header.d.ts +11 -11
- package/dist/admin/src/preview/components/PreviewContent.d.ts +2 -0
- package/dist/admin/src/preview/components/PreviewHeader.d.ts +2 -0
- package/dist/admin/src/preview/components/PreviewSidePanel.d.ts +3 -0
- package/dist/admin/src/preview/constants.d.ts +1 -0
- package/dist/admin/src/preview/index.d.ts +4 -0
- package/dist/admin/src/preview/pages/Preview.d.ts +11 -0
- package/dist/admin/src/preview/routes.d.ts +3 -0
- package/dist/admin/src/preview/services/preview.d.ts +3 -0
- package/dist/admin/src/router.d.ts +1 -1
- package/dist/admin/src/services/documents.d.ts +3 -1
- package/dist/server/index.js +378 -162
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +378 -162
- 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/index.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/history/services/lifecycles.d.ts.map +1 -1
- package/dist/server/src/history/services/utils.d.ts +2 -3
- package/dist/server/src/history/services/utils.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/controllers/index.d.ts +2 -0
- package/dist/server/src/preview/controllers/index.d.ts.map +1 -0
- package/dist/server/src/preview/controllers/preview.d.ts +13 -0
- package/dist/server/src/preview/controllers/preview.d.ts.map +1 -0
- package/dist/server/src/preview/controllers/validation/preview.d.ts +6 -0
- package/dist/server/src/preview/controllers/validation/preview.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/preview/routes/index.d.ts +8 -0
- package/dist/server/src/preview/routes/index.d.ts.map +1 -0
- package/dist/server/src/preview/routes/preview.d.ts +4 -0
- package/dist/server/src/preview/routes/preview.d.ts.map +1 -0
- package/dist/server/src/preview/services/index.d.ts +15 -0
- package/dist/server/src/preview/services/index.d.ts.map +1 -0
- package/dist/server/src/preview/services/preview-config.d.ts +30 -0
- package/dist/server/src/preview/services/preview-config.d.ts.map +1 -0
- package/dist/server/src/preview/services/preview.d.ts +12 -0
- package/dist/server/src/preview/services/preview.d.ts.map +1 -0
- package/dist/server/src/preview/utils.d.ts +18 -0
- package/dist/server/src/preview/utils.d.ts.map +1 -0
- package/dist/server/src/routes/index.d.ts.map +1 -1
- package/dist/server/src/services/document-manager.d.ts.map +1 -1
- 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/index.d.ts.map +1 -1
- 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/dist/shared/contracts/collection-types.d.ts +3 -1
- package/dist/shared/contracts/collection-types.d.ts.map +1 -1
- package/dist/shared/contracts/index.d.ts +1 -0
- package/dist/shared/contracts/index.d.ts.map +1 -1
- package/dist/shared/contracts/preview.d.ts +27 -0
- package/dist/shared/contracts/preview.d.ts.map +1 -0
- package/dist/shared/index.js +4 -0
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/index.mjs +4 -0
- package/dist/shared/index.mjs.map +1 -1
- package/package.json +14 -14
- package/dist/_chunks/EditViewPage-DiNFdFqP.mjs.map +0 -1
- package/dist/_chunks/EditViewPage-Dk7Eaft4.js.map +0 -1
- package/dist/_chunks/Field-DH2OaqUP.js.map +0 -1
- package/dist/_chunks/Field-Dv_HTFTa.mjs.map +0 -1
- package/dist/_chunks/Form-B_dUDizM.js.map +0 -1
- package/dist/_chunks/Form-Dy6P4HgH.mjs.map +0 -1
- package/dist/_chunks/History-BT4w83Oa.js.map +0 -1
- package/dist/_chunks/History-DrwsD1Vc.mjs.map +0 -1
- package/dist/_chunks/ListConfigurationPage-BxIP0jRy.mjs.map +0 -1
- package/dist/_chunks/ListConfigurationPage-CuYrMcW3.js.map +0 -1
- package/dist/_chunks/ListViewPage-5a1vw-OK.mjs.map +0 -1
- package/dist/_chunks/ListViewPage-BvpwNur7.js.map +0 -1
- package/dist/_chunks/Relations-C7fPyh5P.mjs.map +0 -1
- package/dist/_chunks/Relations-CznVF6LS.js.map +0 -1
- package/dist/_chunks/index-BJ6uTqLL.mjs.map +0 -1
- package/dist/_chunks/index-D9UmmBcM.js.map +0 -1
- package/dist/_chunks/relations-DKENrxko.js.map +0 -1
- package/dist/_chunks/relations-DiDufGSA.mjs.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 @@ import { useStrapiApp, createContext, useField, useNotification, useForm, useAPI
|
|
5
5
|
import { Box, SingleSelect, SingleSelectOption, Typography, Flex, BaseLink, Button, Popover, Field, Tooltip, IconButton, useComposedRefs, Portal, FocusTrap, Divider, VisuallyHidden, Grid as Grid$1, Accordion, TextButton, TextInput, IconButtonGroup, Menu, MenuItem } from "@strapi/design-system";
|
6
6
|
import pipe$1 from "lodash/fp/pipe";
|
7
7
|
import { useIntl } from "react-intl";
|
8
|
-
import { m as DOCUMENT_META_FIELDS, g as getTranslation, c as useDoc, e as contentManagerApi, n as CLONE_PATH, d as buildValidParams, f as useDocumentRBAC, o as useDocLayout } from "./index-
|
8
|
+
import { m as DOCUMENT_META_FIELDS, g as getTranslation, c as useDoc, e as contentManagerApi, n as CLONE_PATH, d as buildValidParams, f as useDocumentRBAC, S as SINGLE_TYPES, o as useDocLayout } from "./index-DzTs9ga-.mjs";
|
9
9
|
import { generateNKeysBetween } from "fractional-indexing";
|
10
|
-
import { u as useComponent, C as ComponentProvider, M as MemoizedRelationsField } from "./Relations-
|
10
|
+
import { u as useComponent, C as ComponentProvider, M as MemoizedRelationsField } from "./Relations-J-8HC3zX.mjs";
|
11
11
|
import { Code, HeadingOne, HeadingTwo, HeadingThree, HeadingFour, HeadingFive, HeadingSix, Image as Image$1, NumberList, BulletList, Paragraph, Quotes, Link as Link$1, Drag, Collapse, Bold, Italic, Underline, StrikeThrough, Expand, PlusCircle, Plus, Trash, EyeStriked, CheckCircle, WarningCircle, Loader, ArrowClockwise, More } from "@strapi/icons";
|
12
12
|
import { styled, css, keyframes } from "styled-components";
|
13
13
|
import { C as ComponentIcon, a as COMPONENT_ICONS } from "./ComponentIcon-u4bIXTFY.mjs";
|
14
14
|
import { getEmptyImage } from "react-dnd-html5-backend";
|
15
15
|
import { a as DIRECTIONS, u as useDragAndDrop, I as ItemTypes } from "./useDragAndDrop-DdHgKsqq.mjs";
|
16
|
-
import { g as getIn } from "./objects-
|
16
|
+
import { g as getIn } from "./objects-D6yBsdmx.mjs";
|
17
17
|
import { Editor as Editor$1, Transforms, Node, Element, Range, Path, Point, createEditor } from "slate";
|
18
18
|
import { withHistory } from "slate-history";
|
19
19
|
import { useFocused, useSelected, ReactEditor, Editable, useSlate, Slate, withReact } from "slate-react";
|
20
|
-
import { p as prefixFileUrlWithBackendUrl, u as usePrev } from "./
|
20
|
+
import { p as prefixFileUrlWithBackendUrl, u as usePrev, a as useDebounce } from "./useDebounce-DmuSJIF3.mjs";
|
21
21
|
import * as Toolbar from "@radix-ui/react-toolbar";
|
22
22
|
import { useLocation, useMatch } from "react-router-dom";
|
23
23
|
import CodeMirror from "codemirror5";
|
@@ -1749,6 +1749,7 @@ const DragItem = styled(Flex)`
|
|
1749
1749
|
}
|
1750
1750
|
`;
|
1751
1751
|
const DragIconButton = styled(IconButton)`
|
1752
|
+
user-select: none;
|
1752
1753
|
display: flex;
|
1753
1754
|
align-items: center;
|
1754
1755
|
justify-content: center;
|
@@ -1877,6 +1878,7 @@ const DragAndDropElement = ({
|
|
1877
1878
|
DragIconButton,
|
1878
1879
|
{
|
1879
1880
|
tag: "div",
|
1881
|
+
contentEditable: false,
|
1880
1882
|
role: "button",
|
1881
1883
|
tabIndex: 0,
|
1882
1884
|
withTooltip: false,
|
@@ -2634,7 +2636,7 @@ const Initializer = ({ disabled, name: name2, onClick }) => {
|
|
2634
2636
|
/* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(CircleIcon, {}) }),
|
2635
2637
|
/* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Typography, { textColor: "primary600", variant: "pi", fontWeight: "bold", children: formatMessage({
|
2636
2638
|
id: getTranslation("components.empty-repeatable"),
|
2637
|
-
defaultMessage: "No entry yet. Click
|
2639
|
+
defaultMessage: "No entry yet. Click to add one."
|
2638
2640
|
}) }) })
|
2639
2641
|
] })
|
2640
2642
|
}
|
@@ -2656,6 +2658,7 @@ const NonRepeatableComponent = ({
|
|
2656
2658
|
children,
|
2657
2659
|
layout
|
2658
2660
|
}) => {
|
2661
|
+
const { formatMessage } = useIntl();
|
2659
2662
|
const { value } = useField(name2);
|
2660
2663
|
const level = useComponent("NonRepeatableComponent", (state) => state.level);
|
2661
2664
|
const isNested = level > 0;
|
@@ -2672,6 +2675,10 @@ const NonRepeatableComponent = ({
|
|
2672
2675
|
children: /* @__PURE__ */ jsx(Flex, { direction: "column", alignItems: "stretch", gap: 6, children: layout.map((row, index) => {
|
2673
2676
|
return /* @__PURE__ */ jsx(Grid$1.Root, { gap: 4, children: row.map(({ size, ...field }) => {
|
2674
2677
|
const completeFieldName = `${name2}.${field.name}`;
|
2678
|
+
const translatedLabel = formatMessage({
|
2679
|
+
id: `content-manager.components.${attribute.component}.${field.name}`,
|
2680
|
+
defaultMessage: field.label
|
2681
|
+
});
|
2675
2682
|
return /* @__PURE__ */ jsx(
|
2676
2683
|
Grid$1.Item,
|
2677
2684
|
{
|
@@ -2680,7 +2687,7 @@ const NonRepeatableComponent = ({
|
|
2680
2687
|
xs: 12,
|
2681
2688
|
direction: "column",
|
2682
2689
|
alignItems: "stretch",
|
2683
|
-
children: children({ ...field, name: completeFieldName })
|
2690
|
+
children: children({ ...field, label: translatedLabel, name: completeFieldName })
|
2684
2691
|
},
|
2685
2692
|
completeFieldName
|
2686
2693
|
);
|
@@ -2702,13 +2709,34 @@ const RepeatableComponent = ({
|
|
2702
2709
|
const { search: searchString } = useLocation();
|
2703
2710
|
const search = React.useMemo(() => new URLSearchParams(searchString), [searchString]);
|
2704
2711
|
const { components } = useDoc();
|
2705
|
-
const {
|
2712
|
+
const {
|
2713
|
+
value = [],
|
2714
|
+
error,
|
2715
|
+
rawError
|
2716
|
+
} = useField(name2);
|
2706
2717
|
const addFieldRow = useForm("RepeatableComponent", (state) => state.addFieldRow);
|
2707
2718
|
const moveFieldRow = useForm("RepeatableComponent", (state) => state.moveFieldRow);
|
2708
2719
|
const removeFieldRow = useForm("RepeatableComponent", (state) => state.removeFieldRow);
|
2709
2720
|
const { max = Infinity } = attribute;
|
2710
2721
|
const [collapseToOpen, setCollapseToOpen] = React.useState("");
|
2711
2722
|
const [liveText, setLiveText] = React.useState("");
|
2723
|
+
React.useEffect(() => {
|
2724
|
+
const hasNestedErrors = rawError && Array.isArray(rawError) && rawError.length > 0;
|
2725
|
+
const hasNestedValue = value && Array.isArray(value) && value.length > 0;
|
2726
|
+
if (hasNestedErrors && hasNestedValue) {
|
2727
|
+
const errorOpenItems = rawError.map((_, idx) => {
|
2728
|
+
return value[idx] ? value[idx].__temp_key__ : null;
|
2729
|
+
}).filter((value2) => !!value2);
|
2730
|
+
if (errorOpenItems && errorOpenItems.length > 0) {
|
2731
|
+
setCollapseToOpen((collapseToOpen2) => {
|
2732
|
+
if (!errorOpenItems.includes(collapseToOpen2)) {
|
2733
|
+
return errorOpenItems[0];
|
2734
|
+
}
|
2735
|
+
return collapseToOpen2;
|
2736
|
+
});
|
2737
|
+
}
|
2738
|
+
}
|
2739
|
+
}, [rawError, value]);
|
2712
2740
|
const componentTmpKeyWithFocussedField = React.useMemo(() => {
|
2713
2741
|
if (search.has("field")) {
|
2714
2742
|
const fieldParam = search.get("field");
|
@@ -2861,6 +2889,10 @@ const RepeatableComponent = ({
|
|
2861
2889
|
children: layout.map((row, index2) => {
|
2862
2890
|
return /* @__PURE__ */ jsx(Grid$1.Root, { gap: 4, children: row.map(({ size, ...field }) => {
|
2863
2891
|
const completeFieldName = `${nameWithIndex}.${field.name}`;
|
2892
|
+
const translatedLabel = formatMessage({
|
2893
|
+
id: `content-manager.components.${attribute.component}.${field.name}`,
|
2894
|
+
defaultMessage: field.label
|
2895
|
+
});
|
2864
2896
|
return /* @__PURE__ */ jsx(
|
2865
2897
|
Grid$1.Item,
|
2866
2898
|
{
|
@@ -2869,7 +2901,11 @@ const RepeatableComponent = ({
|
|
2869
2901
|
xs: 12,
|
2870
2902
|
direction: "column",
|
2871
2903
|
alignItems: "stretch",
|
2872
|
-
children: children({
|
2904
|
+
children: children({
|
2905
|
+
...field,
|
2906
|
+
label: translatedLabel,
|
2907
|
+
name: completeFieldName
|
2908
|
+
})
|
2873
2909
|
},
|
2874
2910
|
completeFieldName
|
2875
2911
|
);
|
@@ -3256,18 +3292,6 @@ const NotAllowedInput = ({ hint, label, required, name: name2 }) => {
|
|
3256
3292
|
/* @__PURE__ */ jsx(Field.Hint, {})
|
3257
3293
|
] });
|
3258
3294
|
};
|
3259
|
-
function useDebounce(value, delay) {
|
3260
|
-
const [debouncedValue, setDebouncedValue] = useState(value);
|
3261
|
-
useEffect(() => {
|
3262
|
-
const handler = setTimeout(() => {
|
3263
|
-
setDebouncedValue(value);
|
3264
|
-
}, delay);
|
3265
|
-
return () => {
|
3266
|
-
clearTimeout(handler);
|
3267
|
-
};
|
3268
|
-
}, [value, delay]);
|
3269
|
-
return debouncedValue;
|
3270
|
-
}
|
3271
3295
|
const uidApi = contentManagerApi.injectEndpoints({
|
3272
3296
|
endpoints: (builder) => ({
|
3273
3297
|
getDefaultUID: builder.query({
|
@@ -4935,15 +4959,19 @@ const Wysiwyg = React.forwardRef(
|
|
4935
4959
|
);
|
4936
4960
|
const MemoizedWysiwyg = React.memo(Wysiwyg);
|
4937
4961
|
const InputRenderer = ({ visible, hint: providedHint, ...props }) => {
|
4938
|
-
const { id } = useDoc();
|
4962
|
+
const { id, document: document2, collectionType } = useDoc();
|
4939
4963
|
const isFormDisabled = useForm("InputRenderer", (state) => state.disabled);
|
4940
4964
|
const isInDynamicZone = useDynamicZone("isInDynamicZone", (state) => state.isInDynamicZone);
|
4941
4965
|
const canCreateFields = useDocumentRBAC("InputRenderer", (rbac) => rbac.canCreateFields);
|
4942
4966
|
const canReadFields = useDocumentRBAC("InputRenderer", (rbac) => rbac.canReadFields);
|
4943
4967
|
const canUpdateFields = useDocumentRBAC("InputRenderer", (rbac) => rbac.canUpdateFields);
|
4944
4968
|
const canUserAction = useDocumentRBAC("InputRenderer", (rbac) => rbac.canUserAction);
|
4945
|
-
|
4946
|
-
|
4969
|
+
let idToCheck = id;
|
4970
|
+
if (collectionType === SINGLE_TYPES) {
|
4971
|
+
idToCheck = document2?.documentId;
|
4972
|
+
}
|
4973
|
+
const editableFields = idToCheck ? canUpdateFields : canCreateFields;
|
4974
|
+
const readableFields = idToCheck ? canReadFields : canCreateFields;
|
4947
4975
|
const canUserReadField = canUserAction(props.name, readableFields, props.type);
|
4948
4976
|
const canUserEditField = canUserAction(props.name, editableFields, props.type);
|
4949
4977
|
const fields = useStrapiApp("InputRenderer", (app) => app.fields);
|
@@ -4954,6 +4982,7 @@ const InputRenderer = ({ visible, hint: providedHint, ...props }) => {
|
|
4954
4982
|
const {
|
4955
4983
|
edit: { components }
|
4956
4984
|
} = useDocLayout();
|
4985
|
+
const field = useField(props.name);
|
4957
4986
|
if (!visible) {
|
4958
4987
|
return null;
|
4959
4988
|
}
|
@@ -4964,7 +4993,7 @@ const InputRenderer = ({ visible, hint: providedHint, ...props }) => {
|
|
4964
4993
|
if (attributeHasCustomFieldProperty(props.attribute)) {
|
4965
4994
|
const CustomInput = lazyComponentStore[props.attribute.customField];
|
4966
4995
|
if (CustomInput) {
|
4967
|
-
return /* @__PURE__ */ jsx(CustomInput, { ...props, hint, disabled: fieldIsDisabled });
|
4996
|
+
return /* @__PURE__ */ jsx(CustomInput, { ...props, ...field, hint, disabled: fieldIsDisabled });
|
4968
4997
|
}
|
4969
4998
|
return /* @__PURE__ */ jsx(
|
4970
4999
|
InputRenderer$1,
|
@@ -5125,6 +5154,14 @@ const DynamicComponent = ({
|
|
5125
5154
|
React.useEffect(() => {
|
5126
5155
|
dragPreviewRef(getEmptyImage(), { captureDraggingState: false });
|
5127
5156
|
}, [dragPreviewRef, index]);
|
5157
|
+
const accordionValue = React.useId();
|
5158
|
+
const { value = [], rawError } = useField(`${name2}.${index}`);
|
5159
|
+
const [collapseToOpen, setCollapseToOpen] = React.useState("");
|
5160
|
+
React.useEffect(() => {
|
5161
|
+
if (rawError && value) {
|
5162
|
+
setCollapseToOpen(accordionValue);
|
5163
|
+
}
|
5164
|
+
}, [rawError, value, accordionValue]);
|
5128
5165
|
const composedBoxRefs = useComposedRefs(boxRef, dropRef);
|
5129
5166
|
const accordionActions = disabled ? null : /* @__PURE__ */ jsxs(Fragment, { children: [
|
5130
5167
|
/* @__PURE__ */ jsx(
|
@@ -5190,10 +5227,9 @@ const DynamicComponent = ({
|
|
5190
5227
|
] })
|
5191
5228
|
] });
|
5192
5229
|
const accordionTitle = title ? `${displayName} ${title}` : displayName;
|
5193
|
-
const accordionValue = React.useId();
|
5194
5230
|
return /* @__PURE__ */ jsxs(ComponentContainer, { tag: "li", width: "100%", children: [
|
5195
5231
|
/* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Rectangle, { background: "neutral200" }) }),
|
5196
|
-
/* @__PURE__ */ jsx(StyledBox, { ref: composedBoxRefs, hasRadius: true, children: isDragging ? /* @__PURE__ */ jsx(Preview, {}) : /* @__PURE__ */ jsx(Accordion.Root, { children: /* @__PURE__ */ jsxs(Accordion.Item, { value: accordionValue, children: [
|
5232
|
+
/* @__PURE__ */ jsx(StyledBox, { ref: composedBoxRefs, hasRadius: true, children: isDragging ? /* @__PURE__ */ jsx(Preview, {}) : /* @__PURE__ */ jsx(Accordion.Root, { value: collapseToOpen, onValueChange: setCollapseToOpen, children: /* @__PURE__ */ jsxs(Accordion.Item, { value: accordionValue, children: [
|
5197
5233
|
/* @__PURE__ */ jsxs(Accordion.Header, { children: [
|
5198
5234
|
/* @__PURE__ */ jsx(
|
5199
5235
|
Accordion.Trigger,
|
@@ -5204,21 +5240,39 @@ const DynamicComponent = ({
|
|
5204
5240
|
),
|
5205
5241
|
/* @__PURE__ */ jsx(Accordion.Actions, { children: accordionActions })
|
5206
5242
|
] }),
|
5207
|
-
/* @__PURE__ */ jsx(Accordion.Content, { children: /* @__PURE__ */ jsx(AccordionContentRadius, { background: "neutral0", children: /* @__PURE__ */ jsx(Box, { paddingLeft: 6, paddingRight: 6, paddingTop: 6, paddingBottom: 6, children:
|
5208
|
-
|
5209
|
-
|
5210
|
-
|
5211
|
-
|
5212
|
-
|
5213
|
-
|
5214
|
-
|
5215
|
-
|
5216
|
-
|
5217
|
-
|
5218
|
-
|
5219
|
-
|
5220
|
-
|
5221
|
-
|
5243
|
+
/* @__PURE__ */ jsx(Accordion.Content, { children: /* @__PURE__ */ jsx(AccordionContentRadius, { background: "neutral0", children: /* @__PURE__ */ jsx(Box, { paddingLeft: 6, paddingRight: 6, paddingTop: 6, paddingBottom: 6, children: /* @__PURE__ */ jsx(Grid$1.Root, { gap: 4, children: components[componentUid]?.layout?.map((row, rowInd) => /* @__PURE__ */ jsx(
|
5244
|
+
Grid$1.Item,
|
5245
|
+
{
|
5246
|
+
col: 12,
|
5247
|
+
s: 12,
|
5248
|
+
xs: 12,
|
5249
|
+
direction: "column",
|
5250
|
+
alignItems: "stretch",
|
5251
|
+
children: /* @__PURE__ */ jsx(Grid$1.Root, { gap: 4, children: row.map(({ size, ...field }) => {
|
5252
|
+
const fieldName = `${name2}.${index}.${field.name}`;
|
5253
|
+
const fieldWithTranslatedLabel = {
|
5254
|
+
...field,
|
5255
|
+
label: formatMessage({
|
5256
|
+
id: `content-manager.components.${componentUid}.${field.name}`,
|
5257
|
+
defaultMessage: field.label
|
5258
|
+
})
|
5259
|
+
};
|
5260
|
+
return /* @__PURE__ */ jsx(
|
5261
|
+
Grid$1.Item,
|
5262
|
+
{
|
5263
|
+
col: size,
|
5264
|
+
s: 12,
|
5265
|
+
xs: 12,
|
5266
|
+
direction: "column",
|
5267
|
+
alignItems: "stretch",
|
5268
|
+
children: /* @__PURE__ */ jsx(MemoizedInputRenderer, { ...fieldWithTranslatedLabel, name: fieldName })
|
5269
|
+
},
|
5270
|
+
fieldName
|
5271
|
+
);
|
5272
|
+
}) })
|
5273
|
+
},
|
5274
|
+
rowInd
|
5275
|
+
)) }) }) }) })
|
5222
5276
|
] }) }) })
|
5223
5277
|
] });
|
5224
5278
|
};
|
@@ -5526,4 +5580,4 @@ export {
|
|
5526
5580
|
transformDocument as t,
|
5527
5581
|
useLazyComponents as u
|
5528
5582
|
};
|
5529
|
-
//# sourceMappingURL=Field-
|
5583
|
+
//# sourceMappingURL=Field-DbpDop_h.mjs.map
|