@strapi/content-manager 0.0.0-experimental.cb311d9fcfbd8e441f790aea232f0a39bdd90e16 → 0.0.0-experimental.cb74730ce5154c26404d4dccca14976a22319002
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/CardDragPreview-C0QyJgRA.js.map +1 -1
- package/dist/_chunks/CardDragPreview-DOxamsuj.mjs.map +1 -1
- package/dist/_chunks/{ComponentConfigurationPage-D0dyDTwq.mjs → ComponentConfigurationPage-BgCLcjXO.mjs} +4 -4
- package/dist/_chunks/{ComponentConfigurationPage-D0dyDTwq.mjs.map → ComponentConfigurationPage-BgCLcjXO.mjs.map} +1 -1
- package/dist/_chunks/{ComponentConfigurationPage-DL1MHO8i.js → ComponentConfigurationPage-DywpTZeV.js} +5 -6
- package/dist/_chunks/{ComponentConfigurationPage-DL1MHO8i.js.map → ComponentConfigurationPage-DywpTZeV.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/ComponentIcon-u4bIXTFY.mjs.map +1 -1
- package/dist/_chunks/{EditConfigurationPage-13b7S5Cq.mjs → EditConfigurationPage-BNjOAHNS.mjs} +4 -4
- package/dist/_chunks/{EditConfigurationPage-13b7S5Cq.mjs.map → EditConfigurationPage-BNjOAHNS.mjs.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-CMaOf-A-.js → EditConfigurationPage-CxRlP5if.js} +5 -6
- package/dist/_chunks/{EditConfigurationPage-CMaOf-A-.js.map → EditConfigurationPage-CxRlP5if.js.map} +1 -1
- package/dist/_chunks/{EditViewPage-BSVmMpRd.js → EditViewPage-BRewdTqE.js} +63 -13
- package/dist/_chunks/EditViewPage-BRewdTqE.js.map +1 -0
- package/dist/_chunks/{EditViewPage-C3tIZ8F5.mjs → EditViewPage-CD_hqc1J.mjs} +63 -12
- package/dist/_chunks/EditViewPage-CD_hqc1J.mjs.map +1 -0
- package/dist/_chunks/{Field-BvuT8cGL.mjs → Field-BPkQ-3Ku.mjs} +230 -158
- package/dist/_chunks/Field-BPkQ-3Ku.mjs.map +1 -0
- package/dist/_chunks/{Field-DUCVth4C.js → Field-DwvmENVf.js} +233 -162
- package/dist/_chunks/Field-DwvmENVf.js.map +1 -0
- package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs.map +1 -1
- package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js.map +1 -1
- package/dist/_chunks/{Form-Cpl4W1ak.js → Form-C_Gwv8P_.js} +39 -21
- package/dist/_chunks/Form-C_Gwv8P_.js.map +1 -0
- package/dist/_chunks/{Form-BZmDNVr9.mjs → Form-Czi0cf_2.mjs} +37 -18
- package/dist/_chunks/Form-Czi0cf_2.mjs.map +1 -0
- package/dist/_chunks/{History-D4U2YISB.js → History-C1TKAig-.js} +42 -100
- package/dist/_chunks/History-C1TKAig-.js.map +1 -0
- package/dist/_chunks/{History-Cq_Hrzuu.mjs → History-CIQHyi4T.mjs} +43 -100
- package/dist/_chunks/History-CIQHyi4T.mjs.map +1 -0
- package/dist/_chunks/{ListConfigurationPage-Bny6CdWe.js → ListConfigurationPage-D-NGRLYu.js} +19 -9
- package/dist/_chunks/ListConfigurationPage-D-NGRLYu.js.map +1 -0
- package/dist/_chunks/{ListConfigurationPage-W-KQHmBv.mjs → ListConfigurationPage-DcZsfyEL.mjs} +19 -8
- package/dist/_chunks/ListConfigurationPage-DcZsfyEL.mjs.map +1 -0
- package/dist/_chunks/{ListViewPage-HBBnJa8K.mjs → ListViewPage-C10McTK1.mjs} +99 -72
- package/dist/_chunks/ListViewPage-C10McTK1.mjs.map +1 -0
- package/dist/_chunks/{ListViewPage-O8F1pBJo.js → ListViewPage-xv5IQoZp.js} +103 -77
- package/dist/_chunks/ListViewPage-xv5IQoZp.js.map +1 -0
- package/dist/_chunks/{NoContentTypePage-B-gIhHWM.mjs → NoContentTypePage-CPc0Cd3S.mjs} +2 -2
- package/dist/_chunks/{NoContentTypePage-B-gIhHWM.mjs.map → NoContentTypePage-CPc0Cd3S.mjs.map} +1 -1
- package/dist/_chunks/{NoContentTypePage-CQWChGPw.js → NoContentTypePage-Dzw5Yj5u.js} +2 -2
- package/dist/_chunks/{NoContentTypePage-CQWChGPw.js.map → NoContentTypePage-Dzw5Yj5u.js.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-CY46zxnM.js → NoPermissionsPage-DAe5CDCC.js} +2 -2
- package/dist/_chunks/{NoPermissionsPage-CY46zxnM.js.map → NoPermissionsPage-DAe5CDCC.js.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-XhOPl8wx.mjs → NoPermissionsPage-wfPBh2_0.mjs} +2 -2
- package/dist/_chunks/{NoPermissionsPage-XhOPl8wx.mjs.map → NoPermissionsPage-wfPBh2_0.mjs.map} +1 -1
- package/dist/_chunks/Preview-B7LyGT_b.js +290 -0
- package/dist/_chunks/Preview-B7LyGT_b.js.map +1 -0
- package/dist/_chunks/Preview-BVFFm7uB.mjs +272 -0
- package/dist/_chunks/Preview-BVFFm7uB.mjs.map +1 -0
- package/dist/_chunks/{Relations-C4gGfZRv.js → Relations-BmYR1AjY.js} +76 -43
- package/dist/_chunks/Relations-BmYR1AjY.js.map +1 -0
- package/dist/_chunks/{Relations-vFZ6Wasg.mjs → Relations-JPhWxk-s.mjs} +76 -42
- package/dist/_chunks/Relations-JPhWxk-s.mjs.map +1 -0
- package/dist/_chunks/{en-uOUIxfcQ.js → en-BK8Xyl5I.js} +28 -15
- package/dist/_chunks/{en-uOUIxfcQ.js.map → en-BK8Xyl5I.js.map} +1 -1
- package/dist/_chunks/{en-BrCTWlZv.mjs → en-Dtk_ot79.mjs} +28 -15
- package/dist/_chunks/{en-BrCTWlZv.mjs.map → en-Dtk_ot79.mjs.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/hooks-BAaaKPS_.js.map +1 -1
- package/dist/_chunks/{index-5EMXLEM_.js → index-C2Q_PLWj.js} +1199 -927
- package/dist/_chunks/index-C2Q_PLWj.js.map +1 -0
- package/dist/_chunks/{index-Dpxg3ctD.mjs → index-DLIkNVnQ.mjs} +1217 -945
- package/dist/_chunks/index-DLIkNVnQ.mjs.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-P3eKO1Qy.js → layout-7AsWJzZJ.js} +10 -10
- package/dist/_chunks/layout-7AsWJzZJ.js.map +1 -0
- package/dist/_chunks/{layout-C0INpKap.mjs → layout-qE8qkNH_.mjs} +9 -8
- package/dist/_chunks/layout-qE8qkNH_.mjs.map +1 -0
- 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-FBRRBWeO.mjs → relations-BjHH_1Am.mjs} +6 -7
- package/dist/_chunks/relations-BjHH_1Am.mjs.map +1 -0
- package/dist/_chunks/{relations-B1y0K6LE.js → relations-EifVzf_2.js} +6 -7
- package/dist/_chunks/relations-EifVzf_2.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/_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 +5 -4
- package/dist/admin/src/exports.d.ts +1 -1
- package/dist/admin/src/history/services/historyVersion.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/FormInputs/Wysiwyg/EditorLayout.d.ts +2 -2
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.d.ts +2 -2
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +4 -48
- 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/api.d.ts +1 -1
- package/dist/admin/src/services/components.d.ts +2 -2
- package/dist/admin/src/services/contentTypes.d.ts +3 -3
- package/dist/admin/src/services/documents.d.ts +19 -20
- package/dist/admin/src/services/init.d.ts +1 -1
- package/dist/admin/src/services/relations.d.ts +2 -2
- package/dist/admin/src/services/uid.d.ts +3 -3
- package/dist/admin/src/utils/validation.d.ts +4 -1
- package/dist/server/index.js +486 -219
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +486 -218
- 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 +3 -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/policies/hasPermissions.d.ts.map +1 -1
- 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 +16 -0
- package/dist/server/src/preview/services/index.d.ts.map +1 -0
- package/dist/server/src/preview/services/preview-config.d.ts +32 -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 +19 -0
- package/dist/server/src/preview/utils.d.ts.map +1 -0
- package/dist/server/src/register.d.ts.map +1 -1
- 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/permission-checker.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 +15 -15
- package/dist/_chunks/EditViewPage-BSVmMpRd.js.map +0 -1
- package/dist/_chunks/EditViewPage-C3tIZ8F5.mjs.map +0 -1
- package/dist/_chunks/Field-BvuT8cGL.mjs.map +0 -1
- package/dist/_chunks/Field-DUCVth4C.js.map +0 -1
- package/dist/_chunks/Form-BZmDNVr9.mjs.map +0 -1
- package/dist/_chunks/Form-Cpl4W1ak.js.map +0 -1
- package/dist/_chunks/History-Cq_Hrzuu.mjs.map +0 -1
- package/dist/_chunks/History-D4U2YISB.js.map +0 -1
- package/dist/_chunks/ListConfigurationPage-Bny6CdWe.js.map +0 -1
- package/dist/_chunks/ListConfigurationPage-W-KQHmBv.mjs.map +0 -1
- package/dist/_chunks/ListViewPage-HBBnJa8K.mjs.map +0 -1
- package/dist/_chunks/ListViewPage-O8F1pBJo.js.map +0 -1
- package/dist/_chunks/Relations-C4gGfZRv.js.map +0 -1
- package/dist/_chunks/Relations-vFZ6Wasg.mjs.map +0 -1
- package/dist/_chunks/index-5EMXLEM_.js.map +0 -1
- package/dist/_chunks/index-Dpxg3ctD.mjs.map +0 -1
- package/dist/_chunks/layout-C0INpKap.mjs.map +0 -1
- package/dist/_chunks/layout-P3eKO1Qy.js.map +0 -1
- package/dist/_chunks/relations-B1y0K6LE.js.map +0 -1
- package/dist/_chunks/relations-FBRRBWeO.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 @@ 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-C2Q_PLWj.js");
|
9
9
|
const fractionalIndexing = require("fractional-indexing");
|
10
|
-
const Relations = require("./Relations-
|
10
|
+
const Relations = require("./Relations-BmYR1AjY.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) {
|
@@ -542,7 +541,7 @@ const CodeEditor = (props) => {
|
|
542
541
|
const codeBlocks = {
|
543
542
|
code: {
|
544
543
|
renderElement: (props) => /* @__PURE__ */ jsxRuntime.jsx(CodeEditor, { ...props }),
|
545
|
-
icon: Icons.
|
544
|
+
icon: Icons.CodeBlock,
|
546
545
|
label: {
|
547
546
|
id: "components.Blocks.blocks.code",
|
548
547
|
defaultMessage: "Code block"
|
@@ -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") {
|
@@ -1441,7 +1433,7 @@ const ToolbarButton = ({
|
|
1441
1433
|
width: 7,
|
1442
1434
|
height: 7,
|
1443
1435
|
hasRadius: true,
|
1444
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(Icon, {
|
1436
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { fill: disabled ? "neutral300" : enabledColor })
|
1445
1437
|
}
|
1446
1438
|
)
|
1447
1439
|
}
|
@@ -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) => {
|
@@ -2656,7 +2644,7 @@ const Initializer = ({ disabled, name: name2, onClick }) => {
|
|
2656
2644
|
designSystem.Box,
|
2657
2645
|
{
|
2658
2646
|
tag: "button",
|
2659
|
-
background: "neutral100",
|
2647
|
+
background: disabled ? "neutral150" : "neutral100",
|
2660
2648
|
borderColor: field.error ? "danger600" : "neutral200",
|
2661
2649
|
hasRadius: true,
|
2662
2650
|
disabled,
|
@@ -2664,32 +2652,32 @@ const Initializer = ({ disabled, name: name2, onClick }) => {
|
|
2664
2652
|
paddingTop: 9,
|
2665
2653
|
paddingBottom: 9,
|
2666
2654
|
type: "button",
|
2655
|
+
style: { cursor: disabled ? "not-allowed" : "pointer" },
|
2667
2656
|
children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 2, children: [
|
2668
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(
|
2669
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(
|
2670
|
-
|
2671
|
-
|
2672
|
-
|
2657
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", color: disabled ? "neutral500" : "primary600", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.PlusCircle, { width: "3.2rem", height: "3.2rem" }) }),
|
2658
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(
|
2659
|
+
designSystem.Typography,
|
2660
|
+
{
|
2661
|
+
textColor: disabled ? "neutral600" : "primary600",
|
2662
|
+
variant: "pi",
|
2663
|
+
fontWeight: "bold",
|
2664
|
+
children: formatMessage({
|
2665
|
+
id: index.getTranslation("components.empty-repeatable"),
|
2666
|
+
defaultMessage: "No entry yet. Click to add one."
|
2667
|
+
})
|
2668
|
+
}
|
2669
|
+
) })
|
2673
2670
|
] })
|
2674
2671
|
}
|
2675
2672
|
) });
|
2676
2673
|
};
|
2677
|
-
const CircleIcon = styledComponents.styled(Icons.PlusCircle)`
|
2678
|
-
width: 2.4rem;
|
2679
|
-
height: 2.4rem;
|
2680
|
-
> circle {
|
2681
|
-
fill: ${({ theme }) => theme.colors.primary200};
|
2682
|
-
}
|
2683
|
-
> path {
|
2684
|
-
fill: ${({ theme }) => theme.colors.primary600};
|
2685
|
-
}
|
2686
|
-
`;
|
2687
2674
|
const NonRepeatableComponent = ({
|
2688
2675
|
attribute,
|
2689
2676
|
name: name2,
|
2690
2677
|
children,
|
2691
2678
|
layout
|
2692
2679
|
}) => {
|
2680
|
+
const { formatMessage } = reactIntl.useIntl();
|
2693
2681
|
const { value } = strapiAdmin.useField(name2);
|
2694
2682
|
const level = Relations.useComponent("NonRepeatableComponent", (state) => state.level);
|
2695
2683
|
const isNested = level > 0;
|
@@ -2706,7 +2694,22 @@ const NonRepeatableComponent = ({
|
|
2706
2694
|
children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 6, children: layout.map((row, index2) => {
|
2707
2695
|
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
|
2708
2696
|
const completeFieldName = `${name2}.${field.name}`;
|
2709
|
-
|
2697
|
+
const translatedLabel = formatMessage({
|
2698
|
+
id: `content-manager.components.${attribute.component}.${field.name}`,
|
2699
|
+
defaultMessage: field.label
|
2700
|
+
});
|
2701
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
2702
|
+
designSystem.Grid.Item,
|
2703
|
+
{
|
2704
|
+
col: size,
|
2705
|
+
s: 12,
|
2706
|
+
xs: 12,
|
2707
|
+
direction: "column",
|
2708
|
+
alignItems: "stretch",
|
2709
|
+
children: children({ ...field, label: translatedLabel, name: completeFieldName })
|
2710
|
+
},
|
2711
|
+
completeFieldName
|
2712
|
+
);
|
2710
2713
|
}) }, index2);
|
2711
2714
|
}) })
|
2712
2715
|
}
|
@@ -2725,13 +2728,34 @@ const RepeatableComponent = ({
|
|
2725
2728
|
const { search: searchString } = reactRouterDom.useLocation();
|
2726
2729
|
const search = React__namespace.useMemo(() => new URLSearchParams(searchString), [searchString]);
|
2727
2730
|
const { components } = index.useDoc();
|
2728
|
-
const {
|
2731
|
+
const {
|
2732
|
+
value = [],
|
2733
|
+
error,
|
2734
|
+
rawError
|
2735
|
+
} = strapiAdmin.useField(name2);
|
2729
2736
|
const addFieldRow = strapiAdmin.useForm("RepeatableComponent", (state) => state.addFieldRow);
|
2730
2737
|
const moveFieldRow = strapiAdmin.useForm("RepeatableComponent", (state) => state.moveFieldRow);
|
2731
2738
|
const removeFieldRow = strapiAdmin.useForm("RepeatableComponent", (state) => state.removeFieldRow);
|
2732
2739
|
const { max = Infinity } = attribute;
|
2733
2740
|
const [collapseToOpen, setCollapseToOpen] = React__namespace.useState("");
|
2734
2741
|
const [liveText, setLiveText] = React__namespace.useState("");
|
2742
|
+
React__namespace.useEffect(() => {
|
2743
|
+
const hasNestedErrors = rawError && Array.isArray(rawError) && rawError.length > 0;
|
2744
|
+
const hasNestedValue = value && Array.isArray(value) && value.length > 0;
|
2745
|
+
if (hasNestedErrors && hasNestedValue) {
|
2746
|
+
const errorOpenItems = rawError.map((_, idx) => {
|
2747
|
+
return value[idx] ? value[idx].__temp_key__ : null;
|
2748
|
+
}).filter((value2) => !!value2);
|
2749
|
+
if (errorOpenItems && errorOpenItems.length > 0) {
|
2750
|
+
setCollapseToOpen((collapseToOpen2) => {
|
2751
|
+
if (!errorOpenItems.includes(collapseToOpen2)) {
|
2752
|
+
return errorOpenItems[0];
|
2753
|
+
}
|
2754
|
+
return collapseToOpen2;
|
2755
|
+
});
|
2756
|
+
}
|
2757
|
+
}
|
2758
|
+
}, [rawError, value]);
|
2735
2759
|
const componentTmpKeyWithFocussedField = React__namespace.useMemo(() => {
|
2736
2760
|
if (search.has("field")) {
|
2737
2761
|
const fieldParam = search.get("field");
|
@@ -2746,7 +2770,7 @@ const RepeatableComponent = ({
|
|
2746
2770
|
}
|
2747
2771
|
return void 0;
|
2748
2772
|
}, [search, name2, value]);
|
2749
|
-
const prevValue =
|
2773
|
+
const prevValue = useDebounce.usePrev(value);
|
2750
2774
|
React__namespace.useEffect(() => {
|
2751
2775
|
if (prevValue && prevValue.length < value.length) {
|
2752
2776
|
setCollapseToOpen(value[value.length - 1].__temp_key__);
|
@@ -2884,7 +2908,26 @@ const RepeatableComponent = ({
|
|
2884
2908
|
children: layout.map((row, index22) => {
|
2885
2909
|
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
|
2886
2910
|
const completeFieldName = `${nameWithIndex}.${field.name}`;
|
2887
|
-
|
2911
|
+
const translatedLabel = formatMessage({
|
2912
|
+
id: `content-manager.components.${attribute.component}.${field.name}`,
|
2913
|
+
defaultMessage: field.label
|
2914
|
+
});
|
2915
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
2916
|
+
designSystem.Grid.Item,
|
2917
|
+
{
|
2918
|
+
col: size,
|
2919
|
+
s: 12,
|
2920
|
+
xs: 12,
|
2921
|
+
direction: "column",
|
2922
|
+
alignItems: "stretch",
|
2923
|
+
children: children({
|
2924
|
+
...field,
|
2925
|
+
label: translatedLabel,
|
2926
|
+
name: completeFieldName
|
2927
|
+
})
|
2928
|
+
},
|
2929
|
+
completeFieldName
|
2930
|
+
);
|
2888
2931
|
}) }, index22);
|
2889
2932
|
})
|
2890
2933
|
}
|
@@ -2979,7 +3022,7 @@ const Component = ({
|
|
2979
3022
|
/* @__PURE__ */ jsxRuntime.jsx(
|
2980
3023
|
designSystem.IconButton,
|
2981
3024
|
{
|
2982
|
-
|
3025
|
+
variant: "ghost",
|
2983
3026
|
onClick: onDeleteComponent,
|
2984
3027
|
label: formatMessage({
|
2985
3028
|
id: index.getTranslation("containers.Edit.delete"),
|
@@ -2992,7 +3035,7 @@ const Component = ({
|
|
2992
3035
|
designSystem.IconButton,
|
2993
3036
|
{
|
2994
3037
|
ref: composedAccordionRefs,
|
2995
|
-
|
3038
|
+
variant: "ghost",
|
2996
3039
|
onClick: (e) => e.stopPropagation(),
|
2997
3040
|
"data-handler-id": handlerId,
|
2998
3041
|
label: formatMessage({
|
@@ -3062,7 +3105,7 @@ const ComponentInput = ({
|
|
3062
3105
|
id: index.getTranslation("components.reset-entry"),
|
3063
3106
|
defaultMessage: "Reset Entry"
|
3064
3107
|
}),
|
3065
|
-
|
3108
|
+
variant: "ghost",
|
3066
3109
|
onClick: () => {
|
3067
3110
|
field.onChange(name2, null);
|
3068
3111
|
},
|
@@ -3091,11 +3134,8 @@ const AddComponentButton = ({
|
|
3091
3134
|
onClick,
|
3092
3135
|
disabled: isDisabled,
|
3093
3136
|
background: "neutral0",
|
3094
|
-
paddingTop: 3,
|
3095
|
-
paddingBottom: 3,
|
3096
|
-
paddingLeft: 4,
|
3097
|
-
paddingRight: 4,
|
3098
3137
|
style: { cursor: isDisabled ? "not-allowed" : "pointer" },
|
3138
|
+
variant: "tertiary",
|
3099
3139
|
children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { tag: "span", gap: 2, children: [
|
3100
3140
|
/* @__PURE__ */ jsxRuntime.jsx(StyledAddIcon, { "aria-hidden": true, $isOpen: isOpen, $hasError: hasError && !isOpen }),
|
3101
3141
|
/* @__PURE__ */ jsxRuntime.jsx(
|
@@ -3124,10 +3164,11 @@ const StyledAddIcon = styledComponents.styled(Icons.PlusCircle)`
|
|
3124
3164
|
}
|
3125
3165
|
`;
|
3126
3166
|
const AddComponentTitle = styledComponents.styled(designSystem.Typography)``;
|
3127
|
-
const StyledButton = styledComponents.styled(designSystem.
|
3167
|
+
const StyledButton = styledComponents.styled(designSystem.Button)`
|
3128
3168
|
border-radius: 26px;
|
3129
3169
|
border-color: ${({ theme }) => theme.colors.neutral150};
|
3130
3170
|
box-shadow: ${({ theme }) => theme.shadows.filterShadow};
|
3171
|
+
height: 5rem;
|
3131
3172
|
|
3132
3173
|
&:hover {
|
3133
3174
|
${AddComponentTitle} {
|
@@ -3139,7 +3180,7 @@ const StyledButton = styledComponents.styled(designSystem.BaseButton)`
|
|
3139
3180
|
fill: ${({ theme }) => theme.colors.primary600};
|
3140
3181
|
}
|
3141
3182
|
> path {
|
3142
|
-
fill: ${({ theme }) => theme.colors.
|
3183
|
+
fill: ${({ theme }) => theme.colors.primary600};
|
3143
3184
|
}
|
3144
3185
|
}
|
3145
3186
|
}
|
@@ -3270,18 +3311,6 @@ const NotAllowedInput = ({ hint, label, required, name: name2 }) => {
|
|
3270
3311
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Hint, {})
|
3271
3312
|
] });
|
3272
3313
|
};
|
3273
|
-
function useDebounce(value, delay) {
|
3274
|
-
const [debouncedValue, setDebouncedValue] = React.useState(value);
|
3275
|
-
React.useEffect(() => {
|
3276
|
-
const handler = setTimeout(() => {
|
3277
|
-
setDebouncedValue(value);
|
3278
|
-
}, delay);
|
3279
|
-
return () => {
|
3280
|
-
clearTimeout(handler);
|
3281
|
-
};
|
3282
|
-
}, [value, delay]);
|
3283
|
-
return debouncedValue;
|
3284
|
-
}
|
3285
3314
|
const uidApi = index.contentManagerApi.injectEndpoints({
|
3286
3315
|
endpoints: (builder) => ({
|
3287
3316
|
getDefaultUID: builder.query({
|
@@ -3316,7 +3345,10 @@ const uidApi = index.contentManagerApi.injectEndpoints({
|
|
3316
3345
|
config: {
|
3317
3346
|
params
|
3318
3347
|
}
|
3319
|
-
})
|
3348
|
+
}),
|
3349
|
+
providesTags: (_res, _error, params) => [
|
3350
|
+
{ type: "UidAvailability", id: params.contentTypeUID }
|
3351
|
+
]
|
3320
3352
|
})
|
3321
3353
|
})
|
3322
3354
|
});
|
@@ -3328,8 +3360,10 @@ const UIDInput = React__namespace.forwardRef(
|
|
3328
3360
|
const allFormValues = strapiAdmin.useForm("InputUID", (form) => form.values);
|
3329
3361
|
const [availability, setAvailability] = React__namespace.useState();
|
3330
3362
|
const [showRegenerate, setShowRegenerate] = React__namespace.useState(false);
|
3363
|
+
const isCloning = reactRouterDom.useMatch(index.CLONE_PATH) !== null;
|
3331
3364
|
const field = strapiAdmin.useField(name2);
|
3332
|
-
const debouncedValue = useDebounce(field.value, 300);
|
3365
|
+
const debouncedValue = useDebounce.useDebounce(field.value, 300);
|
3366
|
+
const hasChanged = debouncedValue !== field.initialValue;
|
3333
3367
|
const { toggleNotification } = strapiAdmin.useNotification();
|
3334
3368
|
const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler();
|
3335
3369
|
const { formatMessage } = reactIntl.useIntl();
|
@@ -3405,8 +3439,9 @@ const UIDInput = React__namespace.forwardRef(
|
|
3405
3439
|
params
|
3406
3440
|
},
|
3407
3441
|
{
|
3442
|
+
// Don't check availability if the value is empty or wasn't changed
|
3408
3443
|
skip: !Boolean(
|
3409
|
-
|
3444
|
+
(hasChanged || isCloning) && debouncedValue && UID_REGEX.test(debouncedValue.trim())
|
3410
3445
|
)
|
3411
3446
|
}
|
3412
3447
|
);
|
@@ -3435,6 +3470,7 @@ const UIDInput = React__namespace.forwardRef(
|
|
3435
3470
|
const isLoading = isGeneratingDefaultUID || isGeneratingUID || isCheckingAvailability;
|
3436
3471
|
const fieldRef = strapiAdmin.useFocusInputField(name2);
|
3437
3472
|
const composedRefs = designSystem.useComposedRefs(ref, fieldRef);
|
3473
|
+
const shouldShowAvailability = (hasChanged || isCloning) && debouncedValue != null && availability && !showRegenerate;
|
3438
3474
|
return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Field.Root, { hint, name: name2, error: field.error, required, children: [
|
3439
3475
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { action: labelAction, children: label }),
|
3440
3476
|
/* @__PURE__ */ jsxRuntime.jsx(
|
@@ -3443,7 +3479,7 @@ const UIDInput = React__namespace.forwardRef(
|
|
3443
3479
|
ref: composedRefs,
|
3444
3480
|
disabled: props.disabled,
|
3445
3481
|
endAction: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { position: "relative", gap: 1, children: [
|
3446
|
-
|
3482
|
+
shouldShowAvailability && /* @__PURE__ */ jsxRuntime.jsxs(
|
3447
3483
|
TextValidation,
|
3448
3484
|
{
|
3449
3485
|
alignItems: "center",
|
@@ -3732,8 +3768,7 @@ const Wrapper = styledComponents.styled.div`
|
|
3732
3768
|
`;
|
3733
3769
|
var listRE = /^(\s*)(>[> ]*|[*+-] \[[x ]\]\s|[*+-]\s|(\d+)([.)]))(\s*)/, emptyListRE = /^(\s*)(>[> ]*|[*+-] \[[x ]\]|[*+-]|(\d+)[.)])(\s*)$/, unorderedListRE = /[*+-]\s/;
|
3734
3770
|
function newlineAndIndentContinueMarkdownList(cm) {
|
3735
|
-
if (cm.getOption("disableInput"))
|
3736
|
-
return CodeMirror__default.default.Pass;
|
3771
|
+
if (cm.getOption("disableInput")) return CodeMirror__default.default.Pass;
|
3737
3772
|
var ranges = cm.listSelections(), replacements = [];
|
3738
3773
|
for (var i = 0; i < ranges.length; i++) {
|
3739
3774
|
var pos = ranges[i].head;
|
@@ -3767,8 +3802,7 @@ function newlineAndIndentContinueMarkdownList(cm) {
|
|
3767
3802
|
var numbered = !(unorderedListRE.test(match[2]) || match[2].indexOf(">") >= 0);
|
3768
3803
|
var bullet = numbered ? parseInt(match[3], 10) + 1 + match[4] : match[2].replace("x", " ");
|
3769
3804
|
replacements[i] = "\n" + indent + bullet + after;
|
3770
|
-
if (numbered)
|
3771
|
-
incrementRemainingMarkdownListNumbers(cm, pos);
|
3805
|
+
if (numbered) incrementRemainingMarkdownListNumbers(cm, pos);
|
3772
3806
|
}
|
3773
3807
|
}
|
3774
3808
|
cm.replaceSelections(replacements);
|
@@ -3786,10 +3820,8 @@ function incrementRemainingMarkdownListNumbers(cm, pos) {
|
|
3786
3820
|
var newNumber = parseInt(startItem[3], 10) + lookAhead - skipCount;
|
3787
3821
|
var nextNumber = parseInt(nextItem[3], 10), itemNumber = nextNumber;
|
3788
3822
|
if (startIndent === nextIndent && !isNaN(nextNumber)) {
|
3789
|
-
if (newNumber === nextNumber)
|
3790
|
-
|
3791
|
-
if (newNumber > nextNumber)
|
3792
|
-
itemNumber = newNumber + 1;
|
3823
|
+
if (newNumber === nextNumber) itemNumber = nextNumber + 1;
|
3824
|
+
if (newNumber > nextNumber) itemNumber = newNumber + 1;
|
3793
3825
|
cm.replaceRange(
|
3794
3826
|
nextLine.replace(listRE, nextIndent + itemNumber + nextItem[4] + nextItem[5]),
|
3795
3827
|
{
|
@@ -3802,10 +3834,8 @@ function incrementRemainingMarkdownListNumbers(cm, pos) {
|
|
3802
3834
|
}
|
3803
3835
|
);
|
3804
3836
|
} else {
|
3805
|
-
if (startIndent.length > nextIndent.length)
|
3806
|
-
|
3807
|
-
if (startIndent.length < nextIndent.length && lookAhead === 1)
|
3808
|
-
return;
|
3837
|
+
if (startIndent.length > nextIndent.length) return;
|
3838
|
+
if (startIndent.length < nextIndent.length && lookAhead === 1) return;
|
3809
3839
|
skipCount += 1;
|
3810
3840
|
}
|
3811
3841
|
}
|
@@ -4277,7 +4307,7 @@ const EditorLayout = ({
|
|
4277
4307
|
justifyContent: "flex-end",
|
4278
4308
|
shrink: 0,
|
4279
4309
|
width: "100%",
|
4280
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(ExpandButton$1, { onClick: onCollapse, children: [
|
4310
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(ExpandButton$1, { onClick: onCollapse, variant: "tertiary", size: "M", children: [
|
4281
4311
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: formatMessage({
|
4282
4312
|
id: "components.Wysiwyg.collapse",
|
4283
4313
|
defaultMessage: "Collapse"
|
@@ -4295,12 +4325,14 @@ const EditorLayout = ({
|
|
4295
4325
|
) }) });
|
4296
4326
|
}
|
4297
4327
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
4298
|
-
designSystem.
|
4328
|
+
designSystem.Flex,
|
4299
4329
|
{
|
4300
4330
|
borderColor: error ? "danger600" : "neutral200",
|
4301
4331
|
borderStyle: "solid",
|
4302
4332
|
borderWidth: "1px",
|
4303
4333
|
hasRadius: true,
|
4334
|
+
direction: "column",
|
4335
|
+
alignItems: "stretch",
|
4304
4336
|
children
|
4305
4337
|
}
|
4306
4338
|
);
|
@@ -4311,11 +4343,19 @@ const ExpandWrapper = styledComponents.styled(designSystem.Flex)`
|
|
4311
4343
|
const BoxWithBorder = styledComponents.styled(designSystem.Box)`
|
4312
4344
|
border-right: 1px solid ${({ theme }) => theme.colors.neutral200};
|
4313
4345
|
`;
|
4314
|
-
const ExpandButton$1 = styledComponents.styled(designSystem.
|
4346
|
+
const ExpandButton$1 = styledComponents.styled(designSystem.Button)`
|
4315
4347
|
background-color: transparent;
|
4316
4348
|
border: none;
|
4317
4349
|
align-items: center;
|
4318
4350
|
|
4351
|
+
& > span {
|
4352
|
+
display: flex;
|
4353
|
+
justify-content: space-between;
|
4354
|
+
align-items: center;
|
4355
|
+
width: 100%;
|
4356
|
+
font-weight: ${({ theme }) => theme.fontWeights.regular};
|
4357
|
+
}
|
4358
|
+
|
4319
4359
|
svg {
|
4320
4360
|
margin-left: ${({ theme }) => `${theme.spaces[2]}`};
|
4321
4361
|
|
@@ -4582,40 +4622,28 @@ const quoteAndCodeHandler = (editor, markdownType) => {
|
|
4582
4622
|
insertWithoutTextToEdit(editor, markdownType, line, contentLength);
|
4583
4623
|
}
|
4584
4624
|
};
|
4585
|
-
const CustomIconButton = styledComponents.styled(designSystem.IconButton)`
|
4586
|
-
padding: ${({ theme }) => theme.spaces[2]};
|
4587
|
-
|
4588
|
-
svg {
|
4589
|
-
width: 1.8rem;
|
4590
|
-
height: 1.8rem;
|
4591
|
-
}
|
4592
|
-
`;
|
4593
|
-
const CustomLinkIconButton = styledComponents.styled(CustomIconButton)`
|
4594
|
-
svg {
|
4595
|
-
width: 0.8rem;
|
4596
|
-
height: 0.8rem;
|
4597
|
-
}
|
4598
|
-
`;
|
4599
4625
|
const MainButtons = styledComponents.styled(designSystem.IconButtonGroup)`
|
4600
4626
|
margin-left: ${({ theme }) => theme.spaces[4]};
|
4601
4627
|
`;
|
4602
4628
|
const MoreButton = styledComponents.styled(designSystem.IconButton)`
|
4603
4629
|
margin: ${({ theme }) => `0 ${theme.spaces[2]}`};
|
4604
|
-
padding: ${({ theme }) => theme.spaces[2]};
|
4605
|
-
|
4606
|
-
svg {
|
4607
|
-
width: 1.8rem;
|
4608
|
-
height: 1.8rem;
|
4609
|
-
}
|
4610
4630
|
`;
|
4611
4631
|
const IconButtonGroupMargin = styledComponents.styled(designSystem.IconButtonGroup)`
|
4612
4632
|
margin-right: ${({ theme }) => `${theme.spaces[2]}`};
|
4613
4633
|
`;
|
4614
|
-
const ExpandButton = styledComponents.styled(designSystem.
|
4634
|
+
const ExpandButton = styledComponents.styled(designSystem.Button)`
|
4615
4635
|
background-color: transparent;
|
4616
4636
|
border: none;
|
4617
4637
|
align-items: center;
|
4618
4638
|
|
4639
|
+
& > span {
|
4640
|
+
display: flex;
|
4641
|
+
justify-content: space-between;
|
4642
|
+
align-items: center;
|
4643
|
+
width: 100%;
|
4644
|
+
font-weight: ${({ theme }) => theme.fontWeights.regular};
|
4645
|
+
}
|
4646
|
+
|
4619
4647
|
svg {
|
4620
4648
|
margin-left: ${({ theme }) => `${theme.spaces[2]}`};
|
4621
4649
|
path {
|
@@ -4627,7 +4655,7 @@ const ExpandButton = styledComponents.styled(designSystem.BaseButton)`
|
|
4627
4655
|
`;
|
4628
4656
|
const WysiwygFooter = ({ onToggleExpand }) => {
|
4629
4657
|
const { formatMessage } = reactIntl.useIntl();
|
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: [
|
4658
|
+
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, variant: "tertiary", size: "M", children: [
|
4631
4659
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "neutral800", children: formatMessage({
|
4632
4660
|
id: "components.WysiwygBottomControls.fullscreen",
|
4633
4661
|
defaultMessage: "Expand"
|
@@ -4664,18 +4692,27 @@ const WysiwygNav = ({
|
|
4664
4692
|
borderRadius: `0.4rem 0.4rem 0 0`,
|
4665
4693
|
children: [
|
4666
4694
|
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { children: [
|
4667
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Root, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
4668
|
-
|
4669
|
-
|
4670
|
-
|
4671
|
-
|
4672
|
-
|
4673
|
-
|
4674
|
-
|
4695
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Root, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
4696
|
+
designSystem.SingleSelect,
|
4697
|
+
{
|
4698
|
+
disabled: true,
|
4699
|
+
placeholder: selectPlaceholder,
|
4700
|
+
"aria-label": selectPlaceholder,
|
4701
|
+
size: "S",
|
4702
|
+
children: [
|
4703
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: "h1", children: "h1" }),
|
4704
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: "h2", children: "h2" }),
|
4705
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: "h3", children: "h3" }),
|
4706
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: "h4", children: "h4" }),
|
4707
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: "h5", children: "h5" }),
|
4708
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: "h6", children: "h6" })
|
4709
|
+
]
|
4710
|
+
}
|
4711
|
+
) }),
|
4675
4712
|
/* @__PURE__ */ jsxRuntime.jsxs(MainButtons, { children: [
|
4676
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
4677
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
4678
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
4713
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.IconButton, { disabled: true, label: "Bold", name: "Bold", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Bold, {}) }),
|
4714
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.IconButton, { disabled: true, label: "Italic", name: "Italic", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Italic, {}) }),
|
4715
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.IconButton, { disabled: true, label: "Underline", name: "Underline", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Underline, {}) })
|
4679
4716
|
] }),
|
4680
4717
|
/* @__PURE__ */ jsxRuntime.jsx(MoreButton, { disabled: true, label: "More", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.More, {}) })
|
4681
4718
|
] }),
|
@@ -4702,6 +4739,7 @@ const WysiwygNav = ({
|
|
4702
4739
|
placeholder: selectPlaceholder,
|
4703
4740
|
"aria-label": selectPlaceholder,
|
4704
4741
|
onChange: (value) => onActionClick(value, editorRef),
|
4742
|
+
size: "S",
|
4705
4743
|
children: [
|
4706
4744
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: "h1", children: "h1" }),
|
4707
4745
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: "h2", children: "h2" }),
|
@@ -4713,17 +4751,9 @@ const WysiwygNav = ({
|
|
4713
4751
|
}
|
4714
4752
|
) }),
|
4715
4753
|
/* @__PURE__ */ jsxRuntime.jsxs(MainButtons, { children: [
|
4754
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.IconButton, { onClick: () => onActionClick("Bold", editorRef), label: "Bold", name: "Bold", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Bold, {}) }),
|
4716
4755
|
/* @__PURE__ */ jsxRuntime.jsx(
|
4717
|
-
|
4718
|
-
{
|
4719
|
-
onClick: () => onActionClick("Bold", editorRef),
|
4720
|
-
label: "Bold",
|
4721
|
-
name: "Bold",
|
4722
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Bold, {})
|
4723
|
-
}
|
4724
|
-
),
|
4725
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
4726
|
-
CustomIconButton,
|
4756
|
+
designSystem.IconButton,
|
4727
4757
|
{
|
4728
4758
|
onClick: () => onActionClick("Italic", editorRef),
|
4729
4759
|
label: "Italic",
|
@@ -4732,7 +4762,7 @@ const WysiwygNav = ({
|
|
4732
4762
|
}
|
4733
4763
|
),
|
4734
4764
|
/* @__PURE__ */ jsxRuntime.jsx(
|
4735
|
-
|
4765
|
+
designSystem.IconButton,
|
4736
4766
|
{
|
4737
4767
|
onClick: () => onActionClick("Underline", editorRef),
|
4738
4768
|
label: "Underline",
|
@@ -4746,7 +4776,7 @@ const WysiwygNav = ({
|
|
4746
4776
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Content, { sideOffset: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { padding: 2, children: [
|
4747
4777
|
/* @__PURE__ */ jsxRuntime.jsxs(IconButtonGroupMargin, { children: [
|
4748
4778
|
/* @__PURE__ */ jsxRuntime.jsx(
|
4749
|
-
|
4779
|
+
designSystem.IconButton,
|
4750
4780
|
{
|
4751
4781
|
onClick: () => onActionClick("Strikethrough", editorRef, handleTogglePopover),
|
4752
4782
|
label: "Strikethrough",
|
@@ -4755,7 +4785,7 @@ const WysiwygNav = ({
|
|
4755
4785
|
}
|
4756
4786
|
),
|
4757
4787
|
/* @__PURE__ */ jsxRuntime.jsx(
|
4758
|
-
|
4788
|
+
designSystem.IconButton,
|
4759
4789
|
{
|
4760
4790
|
onClick: () => onActionClick("BulletList", editorRef, handleTogglePopover),
|
4761
4791
|
label: "BulletList",
|
@@ -4764,7 +4794,7 @@ const WysiwygNav = ({
|
|
4764
4794
|
}
|
4765
4795
|
),
|
4766
4796
|
/* @__PURE__ */ jsxRuntime.jsx(
|
4767
|
-
|
4797
|
+
designSystem.IconButton,
|
4768
4798
|
{
|
4769
4799
|
onClick: () => onActionClick("NumberList", editorRef, handleTogglePopover),
|
4770
4800
|
label: "NumberList",
|
@@ -4775,7 +4805,7 @@ const WysiwygNav = ({
|
|
4775
4805
|
] }),
|
4776
4806
|
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.IconButtonGroup, { children: [
|
4777
4807
|
/* @__PURE__ */ jsxRuntime.jsx(
|
4778
|
-
|
4808
|
+
designSystem.IconButton,
|
4779
4809
|
{
|
4780
4810
|
onClick: () => onActionClick("Code", editorRef, handleTogglePopover),
|
4781
4811
|
label: "Code",
|
@@ -4784,7 +4814,7 @@ const WysiwygNav = ({
|
|
4784
4814
|
}
|
4785
4815
|
),
|
4786
4816
|
/* @__PURE__ */ jsxRuntime.jsx(
|
4787
|
-
|
4817
|
+
designSystem.IconButton,
|
4788
4818
|
{
|
4789
4819
|
onClick: () => {
|
4790
4820
|
handleTogglePopover();
|
@@ -4796,7 +4826,7 @@ const WysiwygNav = ({
|
|
4796
4826
|
}
|
4797
4827
|
),
|
4798
4828
|
/* @__PURE__ */ jsxRuntime.jsx(
|
4799
|
-
|
4829
|
+
designSystem.IconButton,
|
4800
4830
|
{
|
4801
4831
|
onClick: () => onActionClick("Link", editorRef, handleTogglePopover),
|
4802
4832
|
label: "Link",
|
@@ -4805,7 +4835,7 @@ const WysiwygNav = ({
|
|
4805
4835
|
}
|
4806
4836
|
),
|
4807
4837
|
/* @__PURE__ */ jsxRuntime.jsx(
|
4808
|
-
|
4838
|
+
designSystem.IconButton,
|
4809
4839
|
{
|
4810
4840
|
onClick: () => onActionClick("Quote", editorRef, handleTogglePopover),
|
4811
4841
|
label: "Quote",
|
@@ -4883,7 +4913,7 @@ const Wysiwyg = React__namespace.forwardRef(
|
|
4883
4913
|
const handleSelectAssets = (files) => {
|
4884
4914
|
const formattedFiles = files.map((f) => ({
|
4885
4915
|
alt: f.alternativeText || f.name,
|
4886
|
-
url:
|
4916
|
+
url: useDebounce.prefixFileUrlWithBackendUrl(f.url),
|
4887
4917
|
mime: f.mime
|
4888
4918
|
}));
|
4889
4919
|
insertFile(editorRef, formattedFiles);
|
@@ -4942,15 +4972,19 @@ const Wysiwyg = React__namespace.forwardRef(
|
|
4942
4972
|
);
|
4943
4973
|
const MemoizedWysiwyg = React__namespace.memo(Wysiwyg);
|
4944
4974
|
const InputRenderer = ({ visible, hint: providedHint, ...props }) => {
|
4945
|
-
const { id } = index.useDoc();
|
4975
|
+
const { id, document: document2, collectionType } = index.useDoc();
|
4946
4976
|
const isFormDisabled = strapiAdmin.useForm("InputRenderer", (state) => state.disabled);
|
4947
4977
|
const isInDynamicZone = useDynamicZone("isInDynamicZone", (state) => state.isInDynamicZone);
|
4948
4978
|
const canCreateFields = index.useDocumentRBAC("InputRenderer", (rbac) => rbac.canCreateFields);
|
4949
4979
|
const canReadFields = index.useDocumentRBAC("InputRenderer", (rbac) => rbac.canReadFields);
|
4950
4980
|
const canUpdateFields = index.useDocumentRBAC("InputRenderer", (rbac) => rbac.canUpdateFields);
|
4951
4981
|
const canUserAction = index.useDocumentRBAC("InputRenderer", (rbac) => rbac.canUserAction);
|
4952
|
-
|
4953
|
-
|
4982
|
+
let idToCheck = id;
|
4983
|
+
if (collectionType === index.SINGLE_TYPES) {
|
4984
|
+
idToCheck = document2?.documentId;
|
4985
|
+
}
|
4986
|
+
const editableFields = idToCheck ? canUpdateFields : canCreateFields;
|
4987
|
+
const readableFields = idToCheck ? canReadFields : canCreateFields;
|
4954
4988
|
const canUserReadField = canUserAction(props.name, readableFields, props.type);
|
4955
4989
|
const canUserEditField = canUserAction(props.name, editableFields, props.type);
|
4956
4990
|
const fields = strapiAdmin.useStrapiApp("InputRenderer", (app) => app.fields);
|
@@ -4961,6 +4995,7 @@ const InputRenderer = ({ visible, hint: providedHint, ...props }) => {
|
|
4961
4995
|
const {
|
4962
4996
|
edit: { components }
|
4963
4997
|
} = index.useDocLayout();
|
4998
|
+
const field = strapiAdmin.useField(props.name);
|
4964
4999
|
if (!visible) {
|
4965
5000
|
return null;
|
4966
5001
|
}
|
@@ -4971,7 +5006,7 @@ const InputRenderer = ({ visible, hint: providedHint, ...props }) => {
|
|
4971
5006
|
if (attributeHasCustomFieldProperty(props.attribute)) {
|
4972
5007
|
const CustomInput = lazyComponentStore[props.attribute.customField];
|
4973
5008
|
if (CustomInput) {
|
4974
|
-
return /* @__PURE__ */ jsxRuntime.jsx(CustomInput, { ...props, hint, disabled: fieldIsDisabled });
|
5009
|
+
return /* @__PURE__ */ jsxRuntime.jsx(CustomInput, { ...props, ...field, hint, disabled: fieldIsDisabled });
|
4975
5010
|
}
|
4976
5011
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
4977
5012
|
strapiAdmin.InputRenderer,
|
@@ -5132,12 +5167,20 @@ const DynamicComponent = ({
|
|
5132
5167
|
React__namespace.useEffect(() => {
|
5133
5168
|
dragPreviewRef(reactDndHtml5Backend.getEmptyImage(), { captureDraggingState: false });
|
5134
5169
|
}, [dragPreviewRef, index$1]);
|
5170
|
+
const accordionValue = React__namespace.useId();
|
5171
|
+
const { value = [], rawError } = strapiAdmin.useField(`${name2}.${index$1}`);
|
5172
|
+
const [collapseToOpen, setCollapseToOpen] = React__namespace.useState("");
|
5173
|
+
React__namespace.useEffect(() => {
|
5174
|
+
if (rawError && value) {
|
5175
|
+
setCollapseToOpen(accordionValue);
|
5176
|
+
}
|
5177
|
+
}, [rawError, value, accordionValue]);
|
5135
5178
|
const composedBoxRefs = designSystem.useComposedRefs(boxRef, dropRef);
|
5136
5179
|
const accordionActions = disabled ? null : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
5137
5180
|
/* @__PURE__ */ jsxRuntime.jsx(
|
5138
5181
|
designSystem.IconButton,
|
5139
5182
|
{
|
5140
|
-
|
5183
|
+
variant: "ghost",
|
5141
5184
|
label: formatMessage(
|
5142
5185
|
{
|
5143
5186
|
id: index.getTranslation("components.DynamicZone.delete-label"),
|
@@ -5152,7 +5195,7 @@ const DynamicComponent = ({
|
|
5152
5195
|
/* @__PURE__ */ jsxRuntime.jsx(
|
5153
5196
|
designSystem.IconButton,
|
5154
5197
|
{
|
5155
|
-
|
5198
|
+
variant: "ghost",
|
5156
5199
|
onClick: (e) => e.stopPropagation(),
|
5157
5200
|
"data-handler-id": handlerId,
|
5158
5201
|
ref: dragRef,
|
@@ -5197,10 +5240,9 @@ const DynamicComponent = ({
|
|
5197
5240
|
] })
|
5198
5241
|
] });
|
5199
5242
|
const accordionTitle = title ? `${displayName} ${title}` : displayName;
|
5200
|
-
const accordionValue = React__namespace.useId();
|
5201
5243
|
return /* @__PURE__ */ jsxRuntime.jsxs(ComponentContainer, { tag: "li", width: "100%", children: [
|
5202
5244
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(Rectangle, { background: "neutral200" }) }),
|
5203
|
-
/* @__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: [
|
5245
|
+
/* @__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: [
|
5204
5246
|
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Accordion.Header, { children: [
|
5205
5247
|
/* @__PURE__ */ jsxRuntime.jsx(
|
5206
5248
|
designSystem.Accordion.Trigger,
|
@@ -5211,10 +5253,39 @@ const DynamicComponent = ({
|
|
5211
5253
|
),
|
5212
5254
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Accordion.Actions, { children: accordionActions })
|
5213
5255
|
] }),
|
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:
|
5215
|
-
|
5216
|
-
|
5217
|
-
|
5256
|
+
/* @__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(
|
5257
|
+
designSystem.Grid.Item,
|
5258
|
+
{
|
5259
|
+
col: 12,
|
5260
|
+
s: 12,
|
5261
|
+
xs: 12,
|
5262
|
+
direction: "column",
|
5263
|
+
alignItems: "stretch",
|
5264
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
|
5265
|
+
const fieldName = `${name2}.${index$1}.${field.name}`;
|
5266
|
+
const fieldWithTranslatedLabel = {
|
5267
|
+
...field,
|
5268
|
+
label: formatMessage({
|
5269
|
+
id: `content-manager.components.${componentUid}.${field.name}`,
|
5270
|
+
defaultMessage: field.label
|
5271
|
+
})
|
5272
|
+
};
|
5273
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
5274
|
+
designSystem.Grid.Item,
|
5275
|
+
{
|
5276
|
+
col: size,
|
5277
|
+
s: 12,
|
5278
|
+
xs: 12,
|
5279
|
+
direction: "column",
|
5280
|
+
alignItems: "stretch",
|
5281
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(MemoizedInputRenderer, { ...fieldWithTranslatedLabel, name: fieldName })
|
5282
|
+
},
|
5283
|
+
fieldName
|
5284
|
+
);
|
5285
|
+
}) })
|
5286
|
+
},
|
5287
|
+
rowInd
|
5288
|
+
)) }) }) }) })
|
5218
5289
|
] }) }) })
|
5219
5290
|
] });
|
5220
5291
|
};
|
@@ -5520,4 +5591,4 @@ exports.transformDocument = transformDocument;
|
|
5520
5591
|
exports.useDynamicZone = useDynamicZone;
|
5521
5592
|
exports.useFieldHint = useFieldHint;
|
5522
5593
|
exports.useLazyComponents = useLazyComponents;
|
5523
|
-
//# sourceMappingURL=Field-
|
5594
|
+
//# sourceMappingURL=Field-DwvmENVf.js.map
|