@strapi/content-manager 0.0.0-experimental.afa3b513b8f95459043f33fb94f4bac03af1474f → 0.0.0-experimental.b0240412a007bea5d73c29b17c8ce04802fca919
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-G4EIirP8.js → ComponentConfigurationPage-BLWQy8ru.js} +5 -6
- package/dist/_chunks/{ComponentConfigurationPage-G4EIirP8.js.map → ComponentConfigurationPage-BLWQy8ru.js.map} +1 -1
- package/dist/_chunks/{ComponentConfigurationPage-CnL10QYC.mjs → ComponentConfigurationPage-CtIa3aa2.mjs} +4 -4
- package/dist/_chunks/{ComponentConfigurationPage-CnL10QYC.mjs.map → ComponentConfigurationPage-CtIa3aa2.mjs.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-I2kKh9dx.mjs → EditConfigurationPage-DsPR2DVk.mjs} +4 -4
- package/dist/_chunks/{EditConfigurationPage-I2kKh9dx.mjs.map → EditConfigurationPage-DsPR2DVk.mjs.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-B2AA1kVF.js → EditConfigurationPage-RQkymxCy.js} +5 -6
- package/dist/_chunks/{EditConfigurationPage-B2AA1kVF.js.map → EditConfigurationPage-RQkymxCy.js.map} +1 -1
- package/dist/_chunks/{EditViewPage-CHgoNwlc.js → EditViewPage-B-kExt8C.js} +50 -11
- package/dist/_chunks/EditViewPage-B-kExt8C.js.map +1 -0
- package/dist/_chunks/{EditViewPage-zFjJK0s8.mjs → EditViewPage-BPyVuPfM.mjs} +50 -10
- package/dist/_chunks/EditViewPage-BPyVuPfM.mjs.map +1 -0
- package/dist/_chunks/{Field-9DePZh-0.js → Field-DPIsQRre.js} +243 -144
- package/dist/_chunks/Field-DPIsQRre.js.map +1 -0
- package/dist/_chunks/{Field-DPAzUS1M.mjs → Field-Dltnt1km.mjs} +241 -142
- package/dist/_chunks/Field-Dltnt1km.mjs.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-DPm-KZ1A.js → Form-BFi4MXMT.js} +6 -7
- package/dist/_chunks/Form-BFi4MXMT.js.map +1 -0
- package/dist/_chunks/{Form-CEkENbkF.mjs → Form-C1IcWm1u.mjs} +4 -4
- package/dist/_chunks/Form-C1IcWm1u.mjs.map +1 -0
- package/dist/_chunks/{History-utls71em.mjs → History-04ChQ4pl.mjs} +71 -104
- package/dist/_chunks/History-04ChQ4pl.mjs.map +1 -0
- package/dist/_chunks/{History-DXSbTWez.js → History-wjcK4L0C.js} +70 -104
- package/dist/_chunks/History-wjcK4L0C.js.map +1 -0
- package/dist/_chunks/{ListConfigurationPage-CuMXWWqb.mjs → ListConfigurationPage-BYqPYLSU.mjs} +7 -6
- package/dist/_chunks/ListConfigurationPage-BYqPYLSU.mjs.map +1 -0
- package/dist/_chunks/{ListConfigurationPage-D5C7ACZ_.js → ListConfigurationPage-CRbxIC3J.js} +7 -7
- package/dist/_chunks/ListConfigurationPage-CRbxIC3J.js.map +1 -0
- package/dist/_chunks/{ListViewPage-DfuwH1tt.js → ListViewPage-D5NY9183.js} +64 -42
- package/dist/_chunks/ListViewPage-D5NY9183.js.map +1 -0
- package/dist/_chunks/{ListViewPage-CdKd-PS_.mjs → ListViewPage-FU2LBuhl.mjs} +63 -40
- package/dist/_chunks/ListViewPage-FU2LBuhl.mjs.map +1 -0
- package/dist/_chunks/{NoContentTypePage-BIxlkWWi.js → NoContentTypePage-BgQVE_Qb.js} +2 -2
- package/dist/_chunks/{NoContentTypePage-BIxlkWWi.js.map → NoContentTypePage-BgQVE_Qb.js.map} +1 -1
- package/dist/_chunks/{NoContentTypePage-DkToTT7u.mjs → NoContentTypePage-DCKUkwb8.mjs} +2 -2
- package/dist/_chunks/{NoContentTypePage-DkToTT7u.mjs.map → NoContentTypePage-DCKUkwb8.mjs.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-Bu4GWYb-.js → NoPermissionsPage-C5jwn70o.js} +2 -2
- package/dist/_chunks/{NoPermissionsPage-Bu4GWYb-.js.map → NoPermissionsPage-C5jwn70o.js.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-DlWi4BAH.mjs → NoPermissionsPage-jqve7C8l.mjs} +2 -2
- package/dist/_chunks/{NoPermissionsPage-DlWi4BAH.mjs.map → NoPermissionsPage-jqve7C8l.mjs.map} +1 -1
- package/dist/_chunks/Preview-BMYN548c.mjs +294 -0
- package/dist/_chunks/Preview-BMYN548c.mjs.map +1 -0
- package/dist/_chunks/Preview-DaOihysv.js +312 -0
- package/dist/_chunks/Preview-DaOihysv.js.map +1 -0
- package/dist/_chunks/{Relations-CFjTESWQ.js → Relations-CTGM7Hv5.js} +75 -42
- package/dist/_chunks/Relations-CTGM7Hv5.js.map +1 -0
- package/dist/_chunks/{Relations-QP5yn9_z.mjs → Relations-gscPkxjF.mjs} +75 -41
- package/dist/_chunks/Relations-gscPkxjF.mjs.map +1 -0
- package/dist/_chunks/{en-BVzUkPxZ.js → en-BzQmavmK.js} +28 -11
- package/dist/_chunks/{en-BVzUkPxZ.js.map → en-BzQmavmK.js.map} +1 -1
- package/dist/_chunks/{en-CPTj6CjC.mjs → en-CSxLmrh1.mjs} +28 -11
- package/dist/_chunks/{en-CPTj6CjC.mjs.map → en-CSxLmrh1.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-DXiHxy70.js → index-Ca7YWlAA.js} +981 -722
- package/dist/_chunks/index-Ca7YWlAA.js.map +1 -0
- package/dist/_chunks/{index-BHfS6_D5.mjs → index-DqasUQ6Q.mjs} +983 -724
- package/dist/_chunks/index-DqasUQ6Q.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-bE-WUnQ0.js → layout-BW80JSCd.js} +5 -6
- package/dist/_chunks/{layout-bE-WUnQ0.js.map → layout-BW80JSCd.js.map} +1 -1
- package/dist/_chunks/{layout-DX_52HSH.mjs → layout-W3clJSCy.mjs} +4 -4
- package/dist/_chunks/{layout-DX_52HSH.mjs.map → layout-W3clJSCy.mjs.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-SCVAL_aJ.mjs → relations-BlDkoeWh.mjs} +6 -7
- package/dist/_chunks/relations-BlDkoeWh.mjs.map +1 -0
- package/dist/_chunks/{relations-D706vblp.js → relations-C9Usz9k5.js} +6 -7
- package/dist/_chunks/relations-C9Usz9k5.js.map +1 -0
- package/dist/_chunks/useDebounce-CtcjDB3L.js.map +1 -1
- package/dist/_chunks/useDebounce-DmuSJIF3.mjs.map +1 -1
- 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 +3 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +5 -3
- package/dist/admin/src/content-manager.d.ts +3 -2
- package/dist/admin/src/exports.d.ts +2 -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/DocumentActions.d.ts +1 -1
- package/dist/admin/src/pages/EditView/components/DocumentStatus.d.ts +3 -3
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.d.ts +7 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/utils/prismLanguages.d.ts +49 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/constants.d.ts +1 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.d.ts +4 -1
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/Field.d.ts +4 -1
- package/dist/admin/src/pages/EditView/components/Header.d.ts +1 -0
- 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/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 +16 -19
- 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/server/index.js +587 -331
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +588 -331
- 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 +16 -1
- package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
- package/dist/server/src/history/controllers/history-version.d.ts +1 -1
- package/dist/server/src/history/controllers/history-version.d.ts.map +1 -1
- package/dist/server/src/history/services/history.d.ts +3 -3
- 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 +6 -11
- package/dist/server/src/history/services/utils.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +7 -6
- package/dist/server/src/index.d.ts.map +1 -1
- 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 +12 -10
- package/dist/server/src/services/document-metadata.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +7 -6
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/utils/populate.d.ts +2 -2
- package/dist/server/src/services/utils/populate.d.ts.map +1 -1
- 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/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 -13
- package/dist/_chunks/EditViewPage-CHgoNwlc.js.map +0 -1
- package/dist/_chunks/EditViewPage-zFjJK0s8.mjs.map +0 -1
- package/dist/_chunks/Field-9DePZh-0.js.map +0 -1
- package/dist/_chunks/Field-DPAzUS1M.mjs.map +0 -1
- package/dist/_chunks/Form-CEkENbkF.mjs.map +0 -1
- package/dist/_chunks/Form-DPm-KZ1A.js.map +0 -1
- package/dist/_chunks/History-DXSbTWez.js.map +0 -1
- package/dist/_chunks/History-utls71em.mjs.map +0 -1
- package/dist/_chunks/ListConfigurationPage-CuMXWWqb.mjs.map +0 -1
- package/dist/_chunks/ListConfigurationPage-D5C7ACZ_.js.map +0 -1
- package/dist/_chunks/ListViewPage-CdKd-PS_.mjs.map +0 -1
- package/dist/_chunks/ListViewPage-DfuwH1tt.js.map +0 -1
- package/dist/_chunks/Relations-CFjTESWQ.js.map +0 -1
- package/dist/_chunks/Relations-QP5yn9_z.mjs.map +0 -1
- package/dist/_chunks/index-BHfS6_D5.mjs.map +0 -1
- package/dist/_chunks/index-DXiHxy70.js.map +0 -1
- package/dist/_chunks/relations-D706vblp.js.map +0 -1
- package/dist/_chunks/relations-SCVAL_aJ.mjs.map +0 -1
@@ -5,18 +5,69 @@ 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-DqasUQ6Q.mjs";
|
9
9
|
import { generateNKeysBetween } from "fractional-indexing";
|
10
|
-
import { u as useComponent, C as ComponentProvider, M as MemoizedRelationsField } from "./Relations-
|
11
|
-
import {
|
10
|
+
import { u as useComponent, C as ComponentProvider, M as MemoizedRelationsField } from "./Relations-gscPkxjF.mjs";
|
11
|
+
import { CodeBlock as CodeBlock$1, HeadingOne, HeadingTwo, HeadingThree, HeadingFour, HeadingFive, HeadingSix, Image as Image$1, NumberList, BulletList, Paragraph, Quotes, Link as Link$1, Drag, Collapse, Bold, Italic, Underline, StrikeThrough, Code, 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
|
-
import { a as DIRECTIONS, u as useDragAndDrop, I as ItemTypes } from "./useDragAndDrop-
|
16
|
-
import { g as getIn } from "./objects-
|
15
|
+
import { a as DIRECTIONS, u as useDragAndDrop, I as ItemTypes } from "./useDragAndDrop-DJ6jqvZN.mjs";
|
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 * as Prism from "prismjs";
|
21
|
+
import "prismjs/themes/prism-solarizedlight.css";
|
22
|
+
import "prismjs/components/prism-asmatmel";
|
23
|
+
import "prismjs/components/prism-bash";
|
24
|
+
import "prismjs/components/prism-basic";
|
25
|
+
import "prismjs/components/prism-c";
|
26
|
+
import "prismjs/components/prism-clojure";
|
27
|
+
import "prismjs/components/prism-cobol";
|
28
|
+
import "prismjs/components/prism-cpp";
|
29
|
+
import "prismjs/components/prism-csharp";
|
30
|
+
import "prismjs/components/prism-dart";
|
31
|
+
import "prismjs/components/prism-docker";
|
32
|
+
import "prismjs/components/prism-elixir";
|
33
|
+
import "prismjs/components/prism-erlang";
|
34
|
+
import "prismjs/components/prism-fortran";
|
35
|
+
import "prismjs/components/prism-fsharp";
|
36
|
+
import "prismjs/components/prism-go";
|
37
|
+
import "prismjs/components/prism-graphql";
|
38
|
+
import "prismjs/components/prism-groovy";
|
39
|
+
import "prismjs/components/prism-haskell";
|
40
|
+
import "prismjs/components/prism-haxe";
|
41
|
+
import "prismjs/components/prism-ini";
|
42
|
+
import "prismjs/components/prism-java";
|
43
|
+
import "prismjs/components/prism-javascript";
|
44
|
+
import "prismjs/components/prism-jsx";
|
45
|
+
import "prismjs/components/prism-json";
|
46
|
+
import "prismjs/components/prism-julia";
|
47
|
+
import "prismjs/components/prism-kotlin";
|
48
|
+
import "prismjs/components/prism-latex";
|
49
|
+
import "prismjs/components/prism-lua";
|
50
|
+
import "prismjs/components/prism-markdown";
|
51
|
+
import "prismjs/components/prism-matlab";
|
52
|
+
import "prismjs/components/prism-makefile";
|
53
|
+
import "prismjs/components/prism-objectivec";
|
54
|
+
import "prismjs/components/prism-perl";
|
55
|
+
import "prismjs/components/prism-php";
|
56
|
+
import "prismjs/components/prism-powershell";
|
57
|
+
import "prismjs/components/prism-python";
|
58
|
+
import "prismjs/components/prism-r";
|
59
|
+
import "prismjs/components/prism-ruby";
|
60
|
+
import "prismjs/components/prism-rust";
|
61
|
+
import "prismjs/components/prism-sas";
|
62
|
+
import "prismjs/components/prism-scala";
|
63
|
+
import "prismjs/components/prism-scheme";
|
64
|
+
import "prismjs/components/prism-sql";
|
65
|
+
import "prismjs/components/prism-stata";
|
66
|
+
import "prismjs/components/prism-swift";
|
67
|
+
import "prismjs/components/prism-typescript";
|
68
|
+
import "prismjs/components/prism-tsx";
|
69
|
+
import "prismjs/components/prism-vbnet";
|
70
|
+
import "prismjs/components/prism-yaml";
|
20
71
|
import { p as prefixFileUrlWithBackendUrl, u as usePrev, a as useDebounce } from "./useDebounce-DmuSJIF3.mjs";
|
21
72
|
import * as Toolbar from "@radix-ui/react-toolbar";
|
22
73
|
import { useLocation, useMatch } from "react-router-dom";
|
@@ -163,7 +214,8 @@ const useLazyComponents = (componentUids = []) => {
|
|
163
214
|
const codeLanguages = [
|
164
215
|
{
|
165
216
|
value: "asm",
|
166
|
-
label: "Assembly"
|
217
|
+
label: "Assembly",
|
218
|
+
decorate: "asmatmel"
|
167
219
|
},
|
168
220
|
{
|
169
221
|
value: "bash",
|
@@ -199,7 +251,8 @@ const codeLanguages = [
|
|
199
251
|
},
|
200
252
|
{
|
201
253
|
value: "dockerfile",
|
202
|
-
label: "Dockerfile"
|
254
|
+
label: "Dockerfile",
|
255
|
+
decorate: "docker"
|
203
256
|
},
|
204
257
|
{
|
205
258
|
value: "elixir",
|
@@ -355,7 +408,8 @@ const codeLanguages = [
|
|
355
408
|
},
|
356
409
|
{
|
357
410
|
value: "typescript",
|
358
|
-
label: "TypeScript"
|
411
|
+
label: "TypeScript",
|
412
|
+
decorate: "ts"
|
359
413
|
},
|
360
414
|
{
|
361
415
|
value: "tsx",
|
@@ -371,7 +425,8 @@ const codeLanguages = [
|
|
371
425
|
},
|
372
426
|
{
|
373
427
|
value: "yaml",
|
374
|
-
label: "YAML"
|
428
|
+
label: "YAML",
|
429
|
+
decorate: "yml"
|
375
430
|
}
|
376
431
|
];
|
377
432
|
const baseHandleConvert = (editor, attributesToSet) => {
|
@@ -437,6 +492,29 @@ const pressEnterTwiceToExit = (editor) => {
|
|
437
492
|
});
|
438
493
|
}
|
439
494
|
};
|
495
|
+
const decorateCode = ([node, path]) => {
|
496
|
+
const ranges = [];
|
497
|
+
if (!Element.isElement(node) || node.type !== "code") return ranges;
|
498
|
+
const text = Node.string(node);
|
499
|
+
const language = codeLanguages.find((lang) => lang.value === node.language);
|
500
|
+
const decorateKey = language?.decorate ?? language?.value;
|
501
|
+
const selectedLanguage = Prism.languages[decorateKey || "plaintext"];
|
502
|
+
const tokens = Prism.tokenize(text, selectedLanguage);
|
503
|
+
let start = 0;
|
504
|
+
for (const token of tokens) {
|
505
|
+
const length = token.length;
|
506
|
+
const end = start + length;
|
507
|
+
if (typeof token !== "string") {
|
508
|
+
ranges.push({
|
509
|
+
anchor: { path, offset: start },
|
510
|
+
focus: { path, offset: end },
|
511
|
+
className: `token ${token.type}`
|
512
|
+
});
|
513
|
+
}
|
514
|
+
start = end;
|
515
|
+
}
|
516
|
+
return ranges;
|
517
|
+
};
|
440
518
|
const CodeBlock = styled.pre`
|
441
519
|
border-radius: ${({ theme }) => theme.borderRadius};
|
442
520
|
background-color: ${({ theme }) => theme.colors.neutral100};
|
@@ -508,7 +586,7 @@ const CodeEditor = (props) => {
|
|
508
586
|
const codeBlocks = {
|
509
587
|
code: {
|
510
588
|
renderElement: (props) => /* @__PURE__ */ jsx(CodeEditor, { ...props }),
|
511
|
-
icon:
|
589
|
+
icon: CodeBlock$1,
|
512
590
|
label: {
|
513
591
|
id: "components.Blocks.blocks.code",
|
514
592
|
defaultMessage: "Code block"
|
@@ -521,8 +599,7 @@ const codeBlocks = {
|
|
521
599
|
handleEnterKey(editor) {
|
522
600
|
pressEnterTwiceToExit(editor);
|
523
601
|
},
|
524
|
-
snippets: ["```"]
|
525
|
-
dragHandleTopMargin: "10px"
|
602
|
+
snippets: ["```"]
|
526
603
|
}
|
527
604
|
};
|
528
605
|
const H1 = styled(Typography).attrs({ tag: "h1" })`
|
@@ -697,8 +774,7 @@ const ImageDialog = () => {
|
|
697
774
|
const [isOpen, setIsOpen] = React.useState(true);
|
698
775
|
const { editor } = useBlocksEditorContext("ImageDialog");
|
699
776
|
const components = useStrapiApp("ImageDialog", (state) => state.components);
|
700
|
-
if (!components || !isOpen)
|
701
|
-
return null;
|
777
|
+
if (!components || !isOpen) return null;
|
702
778
|
const MediaLibraryDialog = components["media-library"];
|
703
779
|
const insertImages = (images) => {
|
704
780
|
Transforms.unwrapNodes(editor, {
|
@@ -707,14 +783,12 @@ const ImageDialog = () => {
|
|
707
783
|
});
|
708
784
|
const nodeEntryBeingReplaced = Editor$1.above(editor, {
|
709
785
|
match(node) {
|
710
|
-
if (Editor$1.isEditor(node))
|
711
|
-
return false;
|
786
|
+
if (Editor$1.isEditor(node)) return false;
|
712
787
|
const isInlineNode = ["text", "link"].includes(node.type);
|
713
788
|
return !isInlineNode;
|
714
789
|
}
|
715
790
|
});
|
716
|
-
if (!nodeEntryBeingReplaced)
|
717
|
-
return;
|
791
|
+
if (!nodeEntryBeingReplaced) return;
|
718
792
|
const [, pathToInsert] = nodeEntryBeingReplaced;
|
719
793
|
Transforms.removeNodes(editor);
|
720
794
|
const nodesToInsert = images.map((image) => {
|
@@ -892,8 +966,7 @@ const LinkContent = React.forwardRef(
|
|
892
966
|
ReactEditor.focus(editor);
|
893
967
|
};
|
894
968
|
React.useEffect(() => {
|
895
|
-
if (popoverOpen)
|
896
|
-
linkInputRef.current?.focus();
|
969
|
+
if (popoverOpen) linkInputRef.current?.focus();
|
897
970
|
}, [popoverOpen]);
|
898
971
|
const inputNotDirty = !linkText || !linkUrl || link.url && link.url === linkUrl && elementText && elementText === linkText;
|
899
972
|
return /* @__PURE__ */ jsxs(Popover.Root, { open: popoverOpen, children: [
|
@@ -963,11 +1036,11 @@ const LinkContent = React.forwardRef(
|
|
963
1036
|
),
|
964
1037
|
/* @__PURE__ */ jsxs(Flex, { gap: 2, children: [
|
965
1038
|
/* @__PURE__ */ jsx(Button, { variant: "tertiary", onClick: handleClose, children: formatMessage({
|
966
|
-
id: "
|
1039
|
+
id: "global.cancel",
|
967
1040
|
defaultMessage: "Cancel"
|
968
1041
|
}) }),
|
969
1042
|
/* @__PURE__ */ jsx(Button, { disabled: Boolean(inputNotDirty) || isSaveDisabled, onClick: handleSave, children: formatMessage({
|
970
|
-
id: "
|
1043
|
+
id: "global.save",
|
971
1044
|
defaultMessage: "Save"
|
972
1045
|
}) })
|
973
1046
|
] })
|
@@ -1048,8 +1121,7 @@ const isText$1 = (node) => {
|
|
1048
1121
|
return Node.isNode(node) && !Editor$1.isEditor(node) && node.type === "text";
|
1049
1122
|
};
|
1050
1123
|
const handleBackspaceKeyOnList = (editor, event) => {
|
1051
|
-
if (!editor.selection)
|
1052
|
-
return;
|
1124
|
+
if (!editor.selection) return;
|
1053
1125
|
const [currentListItem, currentListItemPath] = Editor$1.parent(editor, editor.selection.anchor);
|
1054
1126
|
const [currentList, currentListPath] = Editor$1.parent(editor, currentListItemPath);
|
1055
1127
|
const isListEmpty = currentList.children.length === 1 && isText$1(currentListItem.children[0]) && currentListItem.children[0].text === "";
|
@@ -1158,8 +1230,7 @@ const handleEnterKeyOnList = (editor) => {
|
|
1158
1230
|
};
|
1159
1231
|
const handleConvertToList = (editor, format) => {
|
1160
1232
|
const convertedPath = baseHandleConvert(editor, { type: "list-item" });
|
1161
|
-
if (!convertedPath)
|
1162
|
-
return;
|
1233
|
+
if (!convertedPath) return;
|
1163
1234
|
Transforms.wrapNodes(editor, { type: "list", format, children: [] }, { at: convertedPath });
|
1164
1235
|
};
|
1165
1236
|
const handleTabOnList = (editor) => {
|
@@ -1171,8 +1242,7 @@ const handleTabOnList = (editor) => {
|
|
1171
1242
|
}
|
1172
1243
|
const [currentListItem, currentListItemPath] = currentListItemEntry;
|
1173
1244
|
const [currentList] = Editor$1.parent(editor, currentListItemPath);
|
1174
|
-
if (currentListItem === currentList.children[0])
|
1175
|
-
return;
|
1245
|
+
if (currentListItem === currentList.children[0]) return;
|
1176
1246
|
const currentListItemIndex = currentList.children.findIndex((item) => item === currentListItem);
|
1177
1247
|
const previousNode = currentList.children[currentListItemIndex - 1];
|
1178
1248
|
if (previousNode.type === "list") {
|
@@ -1308,13 +1378,13 @@ const quoteBlocks = {
|
|
1308
1378
|
handleEnterKey(editor) {
|
1309
1379
|
pressEnterTwiceToExit(editor);
|
1310
1380
|
},
|
1311
|
-
snippets: [">"]
|
1312
|
-
dragHandleTopMargin: "6px"
|
1381
|
+
snippets: [">"]
|
1313
1382
|
}
|
1314
1383
|
};
|
1315
1384
|
const ToolbarWrapper = styled(Flex)`
|
1316
1385
|
&[aria-disabled='true'] {
|
1317
1386
|
cursor: not-allowed;
|
1387
|
+
background: ${({ theme }) => theme.colors.neutral150};
|
1318
1388
|
}
|
1319
1389
|
`;
|
1320
1390
|
const Separator = styled(Toolbar.Separator)`
|
@@ -1325,7 +1395,7 @@ const Separator = styled(Toolbar.Separator)`
|
|
1325
1395
|
const FlexButton = styled(Flex)`
|
1326
1396
|
// Inherit the not-allowed cursor from ToolbarWrapper when disabled
|
1327
1397
|
&[aria-disabled] {
|
1328
|
-
cursor:
|
1398
|
+
cursor: not-allowed;
|
1329
1399
|
}
|
1330
1400
|
|
1331
1401
|
&[aria-disabled='false'] {
|
@@ -1539,8 +1609,7 @@ const isListNode = (node) => {
|
|
1539
1609
|
const ListButton = ({ block, format }) => {
|
1540
1610
|
const { editor, disabled, blocks } = useBlocksEditorContext("ListButton");
|
1541
1611
|
const isListActive = () => {
|
1542
|
-
if (!editor.selection)
|
1543
|
-
return false;
|
1612
|
+
if (!editor.selection) return false;
|
1544
1613
|
const currentListEntry = Editor$1.above(editor, {
|
1545
1614
|
match: (node) => !Editor$1.isEditor(node) && node.type === "list",
|
1546
1615
|
at: editor.selection.anchor
|
@@ -1614,8 +1683,7 @@ const LinkButton = ({ disabled }) => {
|
|
1614
1683
|
const { editor } = useBlocksEditorContext("LinkButton");
|
1615
1684
|
const isLinkActive = () => {
|
1616
1685
|
const { selection } = editor;
|
1617
|
-
if (!selection)
|
1618
|
-
return false;
|
1686
|
+
if (!selection) return false;
|
1619
1687
|
const [match] = Array.from(
|
1620
1688
|
Editor$1.nodes(editor, {
|
1621
1689
|
at: Editor$1.unhangRange(editor, selection),
|
@@ -1679,7 +1747,7 @@ const BlocksToolbar = () => {
|
|
1679
1747
|
return false;
|
1680
1748
|
};
|
1681
1749
|
const isButtonDisabled = checkButtonDisabled();
|
1682
|
-
return /* @__PURE__ */ jsx(Toolbar.Root, { "aria-disabled": disabled, asChild: true, children: /* @__PURE__ */ jsxs(ToolbarWrapper, { gap: 2, padding: 2, children: [
|
1750
|
+
return /* @__PURE__ */ jsx(Toolbar.Root, { "aria-disabled": disabled, asChild: true, children: /* @__PURE__ */ jsxs(ToolbarWrapper, { gap: 2, padding: 2, width: "100%", children: [
|
1683
1751
|
/* @__PURE__ */ jsx(BlocksDropdown, {}),
|
1684
1752
|
/* @__PURE__ */ jsx(Separator, {}),
|
1685
1753
|
/* @__PURE__ */ jsx(Toolbar.ToggleGroup, { type: "multiple", asChild: true, children: /* @__PURE__ */ jsxs(Flex, { gap: 1, children: [
|
@@ -1753,30 +1821,32 @@ const DragIconButton = styled(IconButton)`
|
|
1753
1821
|
display: flex;
|
1754
1822
|
align-items: center;
|
1755
1823
|
justify-content: center;
|
1824
|
+
border: none;
|
1756
1825
|
border-radius: ${({ theme }) => theme.borderRadius};
|
1757
|
-
|
1758
|
-
|
1826
|
+
padding-left: ${({ theme }) => theme.spaces[0]};
|
1827
|
+
padding-right: ${({ theme }) => theme.spaces[0]};
|
1828
|
+
padding-top: ${({ theme }) => theme.spaces[1]};
|
1829
|
+
padding-bottom: ${({ theme }) => theme.spaces[1]};
|
1759
1830
|
visibility: hidden;
|
1760
1831
|
cursor: grab;
|
1761
1832
|
opacity: inherit;
|
1762
1833
|
margin-top: ${(props) => props.$dragHandleTopMargin ?? 0};
|
1763
1834
|
|
1764
1835
|
&:hover {
|
1765
|
-
background: ${({ theme }) => theme.colors.
|
1836
|
+
background: ${({ theme }) => theme.colors.neutral100};
|
1766
1837
|
}
|
1767
1838
|
&:active {
|
1768
1839
|
cursor: grabbing;
|
1840
|
+
background: ${({ theme }) => theme.colors.neutral150};
|
1769
1841
|
}
|
1770
1842
|
&[aria-disabled='true'] {
|
1771
|
-
|
1772
|
-
background: transparent;
|
1843
|
+
visibility: hidden;
|
1773
1844
|
}
|
1774
1845
|
svg {
|
1775
|
-
height: auto;
|
1776
1846
|
min-width: ${({ theme }) => theme.spaces[3]};
|
1777
1847
|
|
1778
1848
|
path {
|
1779
|
-
fill: ${({ theme }) => theme.colors.
|
1849
|
+
fill: ${({ theme }) => theme.colors.neutral500};
|
1780
1850
|
}
|
1781
1851
|
}
|
1782
1852
|
`;
|
@@ -1821,8 +1891,7 @@ const DragAndDropElement = ({
|
|
1821
1891
|
displayedValue: children
|
1822
1892
|
},
|
1823
1893
|
onDropItem(currentIndex, newIndex) {
|
1824
|
-
if (newIndex)
|
1825
|
-
handleMoveBlock(newIndex, currentIndex);
|
1894
|
+
if (newIndex) handleMoveBlock(newIndex, currentIndex);
|
1826
1895
|
}
|
1827
1896
|
});
|
1828
1897
|
const composedBoxRefs = useComposedRefs(blockRef, dropRef);
|
@@ -1928,7 +1997,7 @@ const baseRenderLeaf = (props, modifiers2) => {
|
|
1928
1997
|
}
|
1929
1998
|
return currentChildren;
|
1930
1999
|
}, props.children);
|
1931
|
-
return /* @__PURE__ */ jsx("span", { ...props.attributes, children: wrappedChildren });
|
2000
|
+
return /* @__PURE__ */ jsx("span", { ...props.attributes, className: props.leaf.className, children: wrappedChildren });
|
1932
2001
|
};
|
1933
2002
|
const baseRenderElement = ({
|
1934
2003
|
props,
|
@@ -1966,8 +2035,7 @@ const BlocksContent = ({ placeholder, ariaLabelId }) => {
|
|
1966
2035
|
[modifiers2]
|
1967
2036
|
);
|
1968
2037
|
const handleMoveBlocks = (editor2, event) => {
|
1969
|
-
if (!editor2.selection)
|
1970
|
-
return;
|
2038
|
+
if (!editor2.selection) return;
|
1971
2039
|
const start = Range.start(editor2.selection);
|
1972
2040
|
const currentIndex = [start.path[0]];
|
1973
2041
|
let newIndexPosition = 0;
|
@@ -2104,8 +2172,7 @@ const BlocksContent = ({ placeholder, ariaLabelId }) => {
|
|
2104
2172
|
}
|
2105
2173
|
};
|
2106
2174
|
const handleScrollSelectionIntoView = () => {
|
2107
|
-
if (!editor.selection)
|
2108
|
-
return;
|
2175
|
+
if (!editor.selection) return;
|
2109
2176
|
const domRange = ReactEditor.toDOMRange(editor, editor.selection);
|
2110
2177
|
const domRect = domRange.getBoundingClientRect();
|
2111
2178
|
const blocksInput = blocksRef.current;
|
@@ -2132,7 +2199,7 @@ const BlocksContent = ({ placeholder, ariaLabelId }) => {
|
|
2132
2199
|
background: "neutral0",
|
2133
2200
|
color: "neutral800",
|
2134
2201
|
lineHeight: 6,
|
2135
|
-
paddingRight:
|
2202
|
+
paddingRight: 7,
|
2136
2203
|
paddingTop: 6,
|
2137
2204
|
paddingBottom: 3,
|
2138
2205
|
children: [
|
@@ -2143,6 +2210,7 @@ const BlocksContent = ({ placeholder, ariaLabelId }) => {
|
|
2143
2210
|
readOnly: disabled,
|
2144
2211
|
placeholder,
|
2145
2212
|
isExpandedMode,
|
2213
|
+
decorate: decorateCode,
|
2146
2214
|
renderElement,
|
2147
2215
|
renderLeaf,
|
2148
2216
|
onKeyDown: handleKeyDown,
|
@@ -2299,8 +2367,7 @@ const InlineCode = styled.code`
|
|
2299
2367
|
`;
|
2300
2368
|
const baseCheckIsActive = (editor, name2) => {
|
2301
2369
|
const marks = Editor$1.marks(editor);
|
2302
|
-
if (!marks)
|
2303
|
-
return false;
|
2370
|
+
if (!marks) return false;
|
2304
2371
|
return Boolean(marks[name2]);
|
2305
2372
|
};
|
2306
2373
|
const baseHandleToggle = (editor, name2) => {
|
@@ -2466,6 +2533,7 @@ const ExpandIconButton = styled(IconButton)`
|
|
2466
2533
|
position: absolute;
|
2467
2534
|
bottom: 1.2rem;
|
2468
2535
|
right: 1.2rem;
|
2536
|
+
box-shadow: ${({ theme }) => theme.shadows.filterShadow};
|
2469
2537
|
`;
|
2470
2538
|
function useResetKey(value) {
|
2471
2539
|
const slateUpdatesCount = React.useRef(0);
|
@@ -2624,7 +2692,7 @@ const Initializer = ({ disabled, name: name2, onClick }) => {
|
|
2624
2692
|
Box,
|
2625
2693
|
{
|
2626
2694
|
tag: "button",
|
2627
|
-
background: "neutral100",
|
2695
|
+
background: disabled ? "neutral150" : "neutral100",
|
2628
2696
|
borderColor: field.error ? "danger600" : "neutral200",
|
2629
2697
|
hasRadius: true,
|
2630
2698
|
disabled,
|
@@ -2632,32 +2700,32 @@ const Initializer = ({ disabled, name: name2, onClick }) => {
|
|
2632
2700
|
paddingTop: 9,
|
2633
2701
|
paddingBottom: 9,
|
2634
2702
|
type: "button",
|
2703
|
+
style: { cursor: disabled ? "not-allowed" : "pointer" },
|
2635
2704
|
children: /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: 2, children: [
|
2636
|
-
/* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(
|
2637
|
-
/* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(
|
2638
|
-
|
2639
|
-
|
2640
|
-
|
2705
|
+
/* @__PURE__ */ jsx(Flex, { justifyContent: "center", color: disabled ? "neutral500" : "primary600", children: /* @__PURE__ */ jsx(PlusCircle, { width: "3.2rem", height: "3.2rem" }) }),
|
2706
|
+
/* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(
|
2707
|
+
Typography,
|
2708
|
+
{
|
2709
|
+
textColor: disabled ? "neutral600" : "primary600",
|
2710
|
+
variant: "pi",
|
2711
|
+
fontWeight: "bold",
|
2712
|
+
children: formatMessage({
|
2713
|
+
id: getTranslation("components.empty-repeatable"),
|
2714
|
+
defaultMessage: "No entry yet. Click to add one."
|
2715
|
+
})
|
2716
|
+
}
|
2717
|
+
) })
|
2641
2718
|
] })
|
2642
2719
|
}
|
2643
2720
|
) });
|
2644
2721
|
};
|
2645
|
-
const CircleIcon = styled(PlusCircle)`
|
2646
|
-
width: 2.4rem;
|
2647
|
-
height: 2.4rem;
|
2648
|
-
> circle {
|
2649
|
-
fill: ${({ theme }) => theme.colors.primary200};
|
2650
|
-
}
|
2651
|
-
> path {
|
2652
|
-
fill: ${({ theme }) => theme.colors.primary600};
|
2653
|
-
}
|
2654
|
-
`;
|
2655
2722
|
const NonRepeatableComponent = ({
|
2656
2723
|
attribute,
|
2657
2724
|
name: name2,
|
2658
2725
|
children,
|
2659
2726
|
layout
|
2660
2727
|
}) => {
|
2728
|
+
const { formatMessage } = useIntl();
|
2661
2729
|
const { value } = useField(name2);
|
2662
2730
|
const level = useComponent("NonRepeatableComponent", (state) => state.level);
|
2663
2731
|
const isNested = level > 0;
|
@@ -2674,6 +2742,10 @@ const NonRepeatableComponent = ({
|
|
2674
2742
|
children: /* @__PURE__ */ jsx(Flex, { direction: "column", alignItems: "stretch", gap: 6, children: layout.map((row, index) => {
|
2675
2743
|
return /* @__PURE__ */ jsx(Grid$1.Root, { gap: 4, children: row.map(({ size, ...field }) => {
|
2676
2744
|
const completeFieldName = `${name2}.${field.name}`;
|
2745
|
+
const translatedLabel = formatMessage({
|
2746
|
+
id: `content-manager.components.${attribute.component}.${field.name}`,
|
2747
|
+
defaultMessage: field.label
|
2748
|
+
});
|
2677
2749
|
return /* @__PURE__ */ jsx(
|
2678
2750
|
Grid$1.Item,
|
2679
2751
|
{
|
@@ -2682,7 +2754,7 @@ const NonRepeatableComponent = ({
|
|
2682
2754
|
xs: 12,
|
2683
2755
|
direction: "column",
|
2684
2756
|
alignItems: "stretch",
|
2685
|
-
children: children({ ...field, name: completeFieldName })
|
2757
|
+
children: children({ ...field, label: translatedLabel, name: completeFieldName })
|
2686
2758
|
},
|
2687
2759
|
completeFieldName
|
2688
2760
|
);
|
@@ -2704,13 +2776,34 @@ const RepeatableComponent = ({
|
|
2704
2776
|
const { search: searchString } = useLocation();
|
2705
2777
|
const search = React.useMemo(() => new URLSearchParams(searchString), [searchString]);
|
2706
2778
|
const { components } = useDoc();
|
2707
|
-
const {
|
2779
|
+
const {
|
2780
|
+
value = [],
|
2781
|
+
error,
|
2782
|
+
rawError
|
2783
|
+
} = useField(name2);
|
2708
2784
|
const addFieldRow = useForm("RepeatableComponent", (state) => state.addFieldRow);
|
2709
2785
|
const moveFieldRow = useForm("RepeatableComponent", (state) => state.moveFieldRow);
|
2710
2786
|
const removeFieldRow = useForm("RepeatableComponent", (state) => state.removeFieldRow);
|
2711
2787
|
const { max = Infinity } = attribute;
|
2712
2788
|
const [collapseToOpen, setCollapseToOpen] = React.useState("");
|
2713
2789
|
const [liveText, setLiveText] = React.useState("");
|
2790
|
+
React.useEffect(() => {
|
2791
|
+
const hasNestedErrors = rawError && Array.isArray(rawError) && rawError.length > 0;
|
2792
|
+
const hasNestedValue = value && Array.isArray(value) && value.length > 0;
|
2793
|
+
if (hasNestedErrors && hasNestedValue) {
|
2794
|
+
const errorOpenItems = rawError.map((_, idx) => {
|
2795
|
+
return value[idx] ? value[idx].__temp_key__ : null;
|
2796
|
+
}).filter((value2) => !!value2);
|
2797
|
+
if (errorOpenItems && errorOpenItems.length > 0) {
|
2798
|
+
setCollapseToOpen((collapseToOpen2) => {
|
2799
|
+
if (!errorOpenItems.includes(collapseToOpen2)) {
|
2800
|
+
return errorOpenItems[0];
|
2801
|
+
}
|
2802
|
+
return collapseToOpen2;
|
2803
|
+
});
|
2804
|
+
}
|
2805
|
+
}
|
2806
|
+
}, [rawError, value]);
|
2714
2807
|
const componentTmpKeyWithFocussedField = React.useMemo(() => {
|
2715
2808
|
if (search.has("field")) {
|
2716
2809
|
const fieldParam = search.get("field");
|
@@ -2863,6 +2956,10 @@ const RepeatableComponent = ({
|
|
2863
2956
|
children: layout.map((row, index2) => {
|
2864
2957
|
return /* @__PURE__ */ jsx(Grid$1.Root, { gap: 4, children: row.map(({ size, ...field }) => {
|
2865
2958
|
const completeFieldName = `${nameWithIndex}.${field.name}`;
|
2959
|
+
const translatedLabel = formatMessage({
|
2960
|
+
id: `content-manager.components.${attribute.component}.${field.name}`,
|
2961
|
+
defaultMessage: field.label
|
2962
|
+
});
|
2866
2963
|
return /* @__PURE__ */ jsx(
|
2867
2964
|
Grid$1.Item,
|
2868
2965
|
{
|
@@ -2871,7 +2968,11 @@ const RepeatableComponent = ({
|
|
2871
2968
|
xs: 12,
|
2872
2969
|
direction: "column",
|
2873
2970
|
alignItems: "stretch",
|
2874
|
-
children: children({
|
2971
|
+
children: children({
|
2972
|
+
...field,
|
2973
|
+
label: translatedLabel,
|
2974
|
+
name: completeFieldName
|
2975
|
+
})
|
2875
2976
|
},
|
2876
2977
|
completeFieldName
|
2877
2978
|
);
|
@@ -3086,11 +3187,11 @@ const AddComponentButton = ({
|
|
3086
3187
|
children: /* @__PURE__ */ jsxs(Flex, { tag: "span", gap: 2, children: [
|
3087
3188
|
/* @__PURE__ */ jsx(StyledAddIcon, { "aria-hidden": true, $isOpen: isOpen, $hasError: hasError && !isOpen }),
|
3088
3189
|
/* @__PURE__ */ jsx(
|
3089
|
-
|
3190
|
+
Typography,
|
3090
3191
|
{
|
3091
3192
|
variant: "pi",
|
3092
3193
|
fontWeight: "bold",
|
3093
|
-
textColor: hasError && !isOpen ? "danger600" : "
|
3194
|
+
textColor: hasError && !isOpen ? "danger600" : "neutral600",
|
3094
3195
|
children
|
3095
3196
|
}
|
3096
3197
|
)
|
@@ -3107,43 +3208,14 @@ const StyledAddIcon = styled(PlusCircle)`
|
|
3107
3208
|
fill: ${({ theme, $hasError }) => $hasError ? theme.colors.danger200 : theme.colors.neutral150};
|
3108
3209
|
}
|
3109
3210
|
> path {
|
3110
|
-
fill: ${({ theme, $hasError }) => $hasError ? theme.colors.danger600 : theme.colors.
|
3211
|
+
fill: ${({ theme, $hasError }) => $hasError ? theme.colors.danger600 : theme.colors.neutral500};
|
3111
3212
|
}
|
3112
3213
|
`;
|
3113
|
-
const AddComponentTitle = styled(Typography)``;
|
3114
3214
|
const StyledButton = styled(Button)`
|
3215
|
+
padding-left: ${({ theme }) => theme.spaces[3]};
|
3115
3216
|
border-radius: 26px;
|
3116
|
-
border-color: ${({ theme }) => theme.colors.neutral150};
|
3117
3217
|
box-shadow: ${({ theme }) => theme.shadows.filterShadow};
|
3118
3218
|
height: 5rem;
|
3119
|
-
|
3120
|
-
&:hover {
|
3121
|
-
${AddComponentTitle} {
|
3122
|
-
color: ${({ theme }) => theme.colors.primary600};
|
3123
|
-
}
|
3124
|
-
|
3125
|
-
${StyledAddIcon} {
|
3126
|
-
> circle {
|
3127
|
-
fill: ${({ theme }) => theme.colors.primary600};
|
3128
|
-
}
|
3129
|
-
> path {
|
3130
|
-
fill: ${({ theme }) => theme.colors.primary600};
|
3131
|
-
}
|
3132
|
-
}
|
3133
|
-
}
|
3134
|
-
&:active {
|
3135
|
-
${AddComponentTitle} {
|
3136
|
-
color: ${({ theme }) => theme.colors.primary600};
|
3137
|
-
}
|
3138
|
-
${StyledAddIcon} {
|
3139
|
-
> circle {
|
3140
|
-
fill: ${({ theme }) => theme.colors.primary600};
|
3141
|
-
}
|
3142
|
-
> path {
|
3143
|
-
fill: ${({ theme }) => theme.colors.neutral100};
|
3144
|
-
}
|
3145
|
-
}
|
3146
|
-
}
|
3147
3219
|
`;
|
3148
3220
|
const ComponentCategory = ({
|
3149
3221
|
category,
|
@@ -3715,8 +3787,7 @@ const Wrapper = styled.div`
|
|
3715
3787
|
`;
|
3716
3788
|
var listRE = /^(\s*)(>[> ]*|[*+-] \[[x ]\]\s|[*+-]\s|(\d+)([.)]))(\s*)/, emptyListRE = /^(\s*)(>[> ]*|[*+-] \[[x ]\]|[*+-]|(\d+)[.)])(\s*)$/, unorderedListRE = /[*+-]\s/;
|
3717
3789
|
function newlineAndIndentContinueMarkdownList(cm) {
|
3718
|
-
if (cm.getOption("disableInput"))
|
3719
|
-
return CodeMirror.Pass;
|
3790
|
+
if (cm.getOption("disableInput")) return CodeMirror.Pass;
|
3720
3791
|
var ranges = cm.listSelections(), replacements = [];
|
3721
3792
|
for (var i = 0; i < ranges.length; i++) {
|
3722
3793
|
var pos = ranges[i].head;
|
@@ -3750,8 +3821,7 @@ function newlineAndIndentContinueMarkdownList(cm) {
|
|
3750
3821
|
var numbered = !(unorderedListRE.test(match[2]) || match[2].indexOf(">") >= 0);
|
3751
3822
|
var bullet = numbered ? parseInt(match[3], 10) + 1 + match[4] : match[2].replace("x", " ");
|
3752
3823
|
replacements[i] = "\n" + indent + bullet + after;
|
3753
|
-
if (numbered)
|
3754
|
-
incrementRemainingMarkdownListNumbers(cm, pos);
|
3824
|
+
if (numbered) incrementRemainingMarkdownListNumbers(cm, pos);
|
3755
3825
|
}
|
3756
3826
|
}
|
3757
3827
|
cm.replaceSelections(replacements);
|
@@ -3769,10 +3839,8 @@ function incrementRemainingMarkdownListNumbers(cm, pos) {
|
|
3769
3839
|
var newNumber = parseInt(startItem[3], 10) + lookAhead - skipCount;
|
3770
3840
|
var nextNumber = parseInt(nextItem[3], 10), itemNumber = nextNumber;
|
3771
3841
|
if (startIndent === nextIndent && !isNaN(nextNumber)) {
|
3772
|
-
if (newNumber === nextNumber)
|
3773
|
-
|
3774
|
-
if (newNumber > nextNumber)
|
3775
|
-
itemNumber = newNumber + 1;
|
3842
|
+
if (newNumber === nextNumber) itemNumber = nextNumber + 1;
|
3843
|
+
if (newNumber > nextNumber) itemNumber = newNumber + 1;
|
3776
3844
|
cm.replaceRange(
|
3777
3845
|
nextLine.replace(listRE, nextIndent + itemNumber + nextItem[4] + nextItem[5]),
|
3778
3846
|
{
|
@@ -3785,10 +3853,8 @@ function incrementRemainingMarkdownListNumbers(cm, pos) {
|
|
3785
3853
|
}
|
3786
3854
|
);
|
3787
3855
|
} else {
|
3788
|
-
if (startIndent.length > nextIndent.length)
|
3789
|
-
|
3790
|
-
if (startIndent.length < nextIndent.length && lookAhead === 1)
|
3791
|
-
return;
|
3856
|
+
if (startIndent.length > nextIndent.length) return;
|
3857
|
+
if (startIndent.length < nextIndent.length && lookAhead === 1) return;
|
3792
3858
|
skipCount += 1;
|
3793
3859
|
}
|
3794
3860
|
}
|
@@ -4925,15 +4991,19 @@ const Wysiwyg = React.forwardRef(
|
|
4925
4991
|
);
|
4926
4992
|
const MemoizedWysiwyg = React.memo(Wysiwyg);
|
4927
4993
|
const InputRenderer = ({ visible, hint: providedHint, ...props }) => {
|
4928
|
-
const { id } = useDoc();
|
4994
|
+
const { id, document: document2, collectionType } = useDoc();
|
4929
4995
|
const isFormDisabled = useForm("InputRenderer", (state) => state.disabled);
|
4930
4996
|
const isInDynamicZone = useDynamicZone("isInDynamicZone", (state) => state.isInDynamicZone);
|
4931
4997
|
const canCreateFields = useDocumentRBAC("InputRenderer", (rbac) => rbac.canCreateFields);
|
4932
4998
|
const canReadFields = useDocumentRBAC("InputRenderer", (rbac) => rbac.canReadFields);
|
4933
4999
|
const canUpdateFields = useDocumentRBAC("InputRenderer", (rbac) => rbac.canUpdateFields);
|
4934
5000
|
const canUserAction = useDocumentRBAC("InputRenderer", (rbac) => rbac.canUserAction);
|
4935
|
-
|
4936
|
-
|
5001
|
+
let idToCheck = id;
|
5002
|
+
if (collectionType === SINGLE_TYPES) {
|
5003
|
+
idToCheck = document2?.documentId;
|
5004
|
+
}
|
5005
|
+
const editableFields = idToCheck ? canUpdateFields : canCreateFields;
|
5006
|
+
const readableFields = idToCheck ? canReadFields : canCreateFields;
|
4937
5007
|
const canUserReadField = canUserAction(props.name, readableFields, props.type);
|
4938
5008
|
const canUserEditField = canUserAction(props.name, editableFields, props.type);
|
4939
5009
|
const fields = useStrapiApp("InputRenderer", (app) => app.fields);
|
@@ -4944,6 +5014,7 @@ const InputRenderer = ({ visible, hint: providedHint, ...props }) => {
|
|
4944
5014
|
const {
|
4945
5015
|
edit: { components }
|
4946
5016
|
} = useDocLayout();
|
5017
|
+
const field = useField(props.name);
|
4947
5018
|
if (!visible) {
|
4948
5019
|
return null;
|
4949
5020
|
}
|
@@ -4954,7 +5025,7 @@ const InputRenderer = ({ visible, hint: providedHint, ...props }) => {
|
|
4954
5025
|
if (attributeHasCustomFieldProperty(props.attribute)) {
|
4955
5026
|
const CustomInput = lazyComponentStore[props.attribute.customField];
|
4956
5027
|
if (CustomInput) {
|
4957
|
-
return /* @__PURE__ */ jsx(CustomInput, { ...props, hint, disabled: fieldIsDisabled });
|
5028
|
+
return /* @__PURE__ */ jsx(CustomInput, { ...props, ...field, hint, disabled: fieldIsDisabled });
|
4958
5029
|
}
|
4959
5030
|
return /* @__PURE__ */ jsx(
|
4960
5031
|
InputRenderer$1,
|
@@ -5078,7 +5149,8 @@ const DynamicComponent = ({
|
|
5078
5149
|
onDropItem,
|
5079
5150
|
onCancel,
|
5080
5151
|
dynamicComponentsByCategory = {},
|
5081
|
-
onAddComponent
|
5152
|
+
onAddComponent,
|
5153
|
+
children
|
5082
5154
|
}) => {
|
5083
5155
|
const { formatMessage } = useIntl();
|
5084
5156
|
const formValues = useForm("DynamicComponent", (state) => state.values);
|
@@ -5115,6 +5187,14 @@ const DynamicComponent = ({
|
|
5115
5187
|
React.useEffect(() => {
|
5116
5188
|
dragPreviewRef(getEmptyImage(), { captureDraggingState: false });
|
5117
5189
|
}, [dragPreviewRef, index]);
|
5190
|
+
const accordionValue = React.useId();
|
5191
|
+
const { value = [], rawError } = useField(`${name2}.${index}`);
|
5192
|
+
const [collapseToOpen, setCollapseToOpen] = React.useState("");
|
5193
|
+
React.useEffect(() => {
|
5194
|
+
if (rawError && value) {
|
5195
|
+
setCollapseToOpen(accordionValue);
|
5196
|
+
}
|
5197
|
+
}, [rawError, value, accordionValue]);
|
5118
5198
|
const composedBoxRefs = useComposedRefs(boxRef, dropRef);
|
5119
5199
|
const accordionActions = disabled ? null : /* @__PURE__ */ jsxs(Fragment, { children: [
|
5120
5200
|
/* @__PURE__ */ jsx(
|
@@ -5180,10 +5260,9 @@ const DynamicComponent = ({
|
|
5180
5260
|
] })
|
5181
5261
|
] });
|
5182
5262
|
const accordionTitle = title ? `${displayName} ${title}` : displayName;
|
5183
|
-
const accordionValue = React.useId();
|
5184
5263
|
return /* @__PURE__ */ jsxs(ComponentContainer, { tag: "li", width: "100%", children: [
|
5185
5264
|
/* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Rectangle, { background: "neutral200" }) }),
|
5186
|
-
/* @__PURE__ */ jsx(StyledBox, { ref: composedBoxRefs, hasRadius: true, children: isDragging ? /* @__PURE__ */ jsx(Preview, {}) : /* @__PURE__ */ jsx(Accordion.Root, { children: /* @__PURE__ */ jsxs(Accordion.Item, { value: accordionValue, children: [
|
5265
|
+
/* @__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: [
|
5187
5266
|
/* @__PURE__ */ jsxs(Accordion.Header, { children: [
|
5188
5267
|
/* @__PURE__ */ jsx(
|
5189
5268
|
Accordion.Trigger,
|
@@ -5194,21 +5273,39 @@ const DynamicComponent = ({
|
|
5194
5273
|
),
|
5195
5274
|
/* @__PURE__ */ jsx(Accordion.Actions, { children: accordionActions })
|
5196
5275
|
] }),
|
5197
|
-
/* @__PURE__ */ jsx(Accordion.Content, { children: /* @__PURE__ */ jsx(AccordionContentRadius, { background: "neutral0", children: /* @__PURE__ */ jsx(Box, { paddingLeft: 6, paddingRight: 6, paddingTop: 6, paddingBottom: 6, children:
|
5198
|
-
|
5199
|
-
|
5200
|
-
|
5201
|
-
|
5202
|
-
|
5203
|
-
|
5204
|
-
|
5205
|
-
|
5206
|
-
|
5207
|
-
|
5208
|
-
|
5209
|
-
|
5210
|
-
|
5211
|
-
|
5276
|
+
/* @__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(
|
5277
|
+
Grid$1.Item,
|
5278
|
+
{
|
5279
|
+
col: 12,
|
5280
|
+
s: 12,
|
5281
|
+
xs: 12,
|
5282
|
+
direction: "column",
|
5283
|
+
alignItems: "stretch",
|
5284
|
+
children: /* @__PURE__ */ jsx(Grid$1.Root, { gap: 4, children: row.map(({ size, ...field }) => {
|
5285
|
+
const fieldName = `${name2}.${index}.${field.name}`;
|
5286
|
+
const fieldWithTranslatedLabel = {
|
5287
|
+
...field,
|
5288
|
+
label: formatMessage({
|
5289
|
+
id: `content-manager.components.${componentUid}.${field.name}`,
|
5290
|
+
defaultMessage: field.label
|
5291
|
+
})
|
5292
|
+
};
|
5293
|
+
return /* @__PURE__ */ jsx(
|
5294
|
+
Grid$1.Item,
|
5295
|
+
{
|
5296
|
+
col: size,
|
5297
|
+
s: 12,
|
5298
|
+
xs: 12,
|
5299
|
+
direction: "column",
|
5300
|
+
alignItems: "stretch",
|
5301
|
+
children: children ? children({ ...fieldWithTranslatedLabel, name: fieldName }) : /* @__PURE__ */ jsx(MemoizedInputRenderer, { ...fieldWithTranslatedLabel, name: fieldName })
|
5302
|
+
},
|
5303
|
+
fieldName
|
5304
|
+
);
|
5305
|
+
}) })
|
5306
|
+
},
|
5307
|
+
rowInd
|
5308
|
+
)) }) }) }) })
|
5212
5309
|
] }) }) })
|
5213
5310
|
] });
|
5214
5311
|
};
|
@@ -5287,7 +5384,8 @@ const DynamicZone = ({
|
|
5287
5384
|
label,
|
5288
5385
|
labelAction,
|
5289
5386
|
name: name2,
|
5290
|
-
required = false
|
5387
|
+
required = false,
|
5388
|
+
children
|
5291
5389
|
}) => {
|
5292
5390
|
const { max = Infinity, min = -Infinity } = attribute ?? {};
|
5293
5391
|
const [addComponentIsOpen, setAddComponentIsOpen] = React.useState(false);
|
@@ -5473,7 +5571,8 @@ const DynamicZone = ({
|
|
5473
5571
|
onDropItem: handleDropItem,
|
5474
5572
|
onGrabItem: handleGrabItem,
|
5475
5573
|
onAddComponent: handleAddComponent,
|
5476
|
-
dynamicComponentsByCategory
|
5574
|
+
dynamicComponentsByCategory,
|
5575
|
+
children
|
5477
5576
|
}
|
5478
5577
|
)
|
5479
5578
|
},
|
@@ -5516,4 +5615,4 @@ export {
|
|
5516
5615
|
transformDocument as t,
|
5517
5616
|
useLazyComponents as u
|
5518
5617
|
};
|
5519
|
-
//# sourceMappingURL=Field-
|
5618
|
+
//# sourceMappingURL=Field-Dltnt1km.mjs.map
|