@flozy/editor 1.9.9 → 2.0.1
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/Editor/CommonEditor.js +2 -0
- package/dist/Editor/DialogWrapper.js +7 -2
- package/dist/Editor/Editor.css +1 -1
- package/dist/Editor/Elements/Accordion/Accordion.js +12 -4
- package/dist/Editor/Elements/Accordion/AccordionSummary.js +3 -1
- package/dist/Editor/Elements/Button/EditorButton.js +13 -12
- package/dist/Editor/Elements/ChipText/ChipText.js +5 -9
- package/dist/Editor/Elements/Embed/Image.js +15 -13
- package/dist/Editor/Elements/Embed/Video.js +14 -13
- package/dist/Editor/Elements/Form/Form.js +12 -14
- package/dist/Editor/Elements/Form/FormElements/FormEmail.js +4 -8
- package/dist/Editor/Elements/Form/FormElements/FormText.js +4 -8
- package/dist/Editor/Elements/Form/FormElements/FormTextArea.js +4 -8
- package/dist/Editor/Elements/Grid/Grid.js +14 -12
- package/dist/Editor/Elements/Grid/GridItem.js +12 -11
- package/dist/Editor/Elements/InlineIcon/InlineIcon.js +8 -9
- package/dist/Editor/Elements/Table/Table.js +4 -2
- package/dist/Editor/Elements/Table/TableCell.js +3 -1
- package/dist/Editor/Elements/TopBanner/TopBanner.js +2 -1
- package/dist/Editor/Styles/EditorStyles.js +16 -0
- package/dist/Editor/common/Section/index.js +7 -9
- package/dist/Editor/common/StyleBuilder/buttonStyle.js +5 -0
- package/dist/Editor/common/StyleBuilder/embedImageStyle.js +5 -0
- package/dist/Editor/common/StyleBuilder/embedVideoStyle.js +5 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +1 -1
- package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +13 -4
- package/dist/Editor/common/StyleBuilder/gridItemStyle.js +5 -0
- package/dist/Editor/common/StyleBuilder/gridStyle.js +5 -0
- package/dist/Editor/commonStyle.js +5 -0
- package/dist/Editor/helper/theme.js +3 -0
- package/dist/Editor/hooks/useMouseMove.js +17 -1
- package/package.json +1 -1
|
@@ -338,7 +338,9 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
338
338
|
};
|
|
339
339
|
return /*#__PURE__*/_jsx(EditorProvider, {
|
|
340
340
|
theme: theme,
|
|
341
|
+
editor: editor,
|
|
341
342
|
children: /*#__PURE__*/_jsx(DialogWrapper, {
|
|
343
|
+
classes: classes,
|
|
342
344
|
...props,
|
|
343
345
|
fullScreen: fullScreen,
|
|
344
346
|
footer: footer || "",
|
|
@@ -9,7 +9,8 @@ const DialogWrapper = props => {
|
|
|
9
9
|
const {
|
|
10
10
|
fullScreen,
|
|
11
11
|
onClose,
|
|
12
|
-
children
|
|
12
|
+
children,
|
|
13
|
+
classes
|
|
13
14
|
} = props;
|
|
14
15
|
return fullScreen ? /*#__PURE__*/_jsxs(Dialog, {
|
|
15
16
|
className: `dialogComp`,
|
|
@@ -19,6 +20,7 @@ const DialogWrapper = props => {
|
|
|
19
20
|
style: {
|
|
20
21
|
zIndex: 1000
|
|
21
22
|
},
|
|
23
|
+
sx: classes.fullScreenWrapper,
|
|
22
24
|
children: [/*#__PURE__*/_jsx(DialogTitle, {
|
|
23
25
|
style: {
|
|
24
26
|
padding: "6px 8px"
|
|
@@ -31,13 +33,16 @@ const DialogWrapper = props => {
|
|
|
31
33
|
},
|
|
32
34
|
children: /*#__PURE__*/_jsx(IconButton, {
|
|
33
35
|
onClick: onClose,
|
|
36
|
+
style: {
|
|
37
|
+
background: "rgba(255,255,255,0.5)"
|
|
38
|
+
},
|
|
34
39
|
children: /*#__PURE__*/_jsx(CloseIcon, {})
|
|
35
40
|
})
|
|
36
41
|
})
|
|
37
42
|
})
|
|
38
43
|
}), /*#__PURE__*/_jsx(DialogContent, {
|
|
39
44
|
style: {
|
|
40
|
-
|
|
45
|
+
paddingTop: "12px"
|
|
41
46
|
},
|
|
42
47
|
children: children
|
|
43
48
|
})]
|
package/dist/Editor/Editor.css
CHANGED
|
@@ -2,10 +2,11 @@ import React, { useState } from "react";
|
|
|
2
2
|
import { Transforms } from "slate";
|
|
3
3
|
import { useSelected, useSlateStatic, ReactEditor } from "slate-react";
|
|
4
4
|
import AccordionBtnPopup from "./AccordionBtnPopup";
|
|
5
|
-
import { IconButton, Tooltip } from "@mui/material";
|
|
5
|
+
import { IconButton, Tooltip, Box } from "@mui/material";
|
|
6
6
|
import DeleteIcon from "@mui/icons-material/Delete";
|
|
7
7
|
import { GridSettingsIcon } from "../../common/iconslist";
|
|
8
8
|
import Icon from "../../common/Icon";
|
|
9
|
+
import { useEditorSelection } from "../../hooks/useMouseMove";
|
|
9
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
11
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
12
|
const Accordion = props => {
|
|
@@ -21,6 +22,7 @@ const Accordion = props => {
|
|
|
21
22
|
const [toggle, setToggle] = useState(false);
|
|
22
23
|
const [openSetttings, setOpenSettings] = useState(false);
|
|
23
24
|
const editor = useSlateStatic();
|
|
25
|
+
const [showTool] = useEditorSelection(editor);
|
|
24
26
|
const selected = useSelected();
|
|
25
27
|
const path = ReactEditor.findPath(editor, element);
|
|
26
28
|
const {
|
|
@@ -31,7 +33,7 @@ const Accordion = props => {
|
|
|
31
33
|
setToggle(!toggle);
|
|
32
34
|
};
|
|
33
35
|
const ToolBar = () => {
|
|
34
|
-
return selected ? /*#__PURE__*/_jsxs("div", {
|
|
36
|
+
return selected && !showTool ? /*#__PURE__*/_jsxs("div", {
|
|
35
37
|
className: "element-toolbar hr",
|
|
36
38
|
contentEditable: false,
|
|
37
39
|
style: {
|
|
@@ -94,13 +96,19 @@ const Accordion = props => {
|
|
|
94
96
|
backgroundColor: bgColor
|
|
95
97
|
},
|
|
96
98
|
onClick: onToggle,
|
|
97
|
-
children: [/*#__PURE__*/_jsx(
|
|
99
|
+
children: [/*#__PURE__*/_jsx(Box, {
|
|
100
|
+
role: "button",
|
|
98
101
|
className: "accordion-summary-collapse-btn",
|
|
99
102
|
contentEditable: false,
|
|
100
103
|
sx: {
|
|
104
|
+
display: "flex",
|
|
105
|
+
alignItems: "center",
|
|
106
|
+
justifyContent: "center",
|
|
107
|
+
userSelect: "none",
|
|
101
108
|
"& svg": {
|
|
102
109
|
fill: textColor
|
|
103
|
-
}
|
|
110
|
+
},
|
|
111
|
+
cursor: "pointer"
|
|
104
112
|
},
|
|
105
113
|
children: !toggle ? /*#__PURE__*/_jsx(Icon, {
|
|
106
114
|
icon: "accordionArrow"
|
|
@@ -4,6 +4,7 @@ import { useSelected, useSlateStatic, ReactEditor } from "slate-react";
|
|
|
4
4
|
import AccordionTitlePopup from "./AccordionTitlePopup";
|
|
5
5
|
import { IconButton, Tooltip } from "@mui/material";
|
|
6
6
|
import { GridSettingsIcon } from "../../common/iconslist";
|
|
7
|
+
import { useEditorSelection } from "../../hooks/useMouseMove";
|
|
7
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
9
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
10
|
const AccordionSummary = props => {
|
|
@@ -18,6 +19,7 @@ const AccordionSummary = props => {
|
|
|
18
19
|
} = customProps;
|
|
19
20
|
const [openSetttings, setOpenSettings] = useState(false);
|
|
20
21
|
const editor = useSlateStatic();
|
|
22
|
+
const [showTool] = useEditorSelection(editor);
|
|
21
23
|
const selected = useSelected();
|
|
22
24
|
const path = ReactEditor.findPath(editor, element);
|
|
23
25
|
const {
|
|
@@ -26,7 +28,7 @@ const AccordionSummary = props => {
|
|
|
26
28
|
borderColor
|
|
27
29
|
} = element;
|
|
28
30
|
const ToolBar = () => {
|
|
29
|
-
return selected ? /*#__PURE__*/_jsx("div", {
|
|
31
|
+
return selected && !showTool ? /*#__PURE__*/_jsx("div", {
|
|
30
32
|
className: "element-toolbar hr",
|
|
31
33
|
contentEditable: false,
|
|
32
34
|
style: {
|
|
@@ -9,7 +9,7 @@ import DeleteIcon from "@mui/icons-material/Delete";
|
|
|
9
9
|
import ButtonPopup from "./ButtonPopup";
|
|
10
10
|
import { actionButtonRedirect } from "../../service/actionTrigger";
|
|
11
11
|
import { WorkflowIcon } from "../../common/iconslist";
|
|
12
|
-
import { getTRBLBreakPoints } from "../../helper/theme";
|
|
12
|
+
import { getTRBLBreakPoints, getBreakPointsValue } from "../../helper/theme";
|
|
13
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
14
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
15
|
const EditorButton = props => {
|
|
@@ -44,19 +44,14 @@ const EditorButton = props => {
|
|
|
44
44
|
borderStyle,
|
|
45
45
|
borderWidth,
|
|
46
46
|
borderColor,
|
|
47
|
-
alignment
|
|
47
|
+
alignment,
|
|
48
|
+
xsHidden
|
|
48
49
|
} = element;
|
|
49
50
|
const {
|
|
50
51
|
linkType,
|
|
51
52
|
redirectOnURLResult
|
|
52
53
|
} = buttonLink || {};
|
|
53
54
|
const isTrigger = linkType === "actionTrigger";
|
|
54
|
-
const {
|
|
55
|
-
topLeft,
|
|
56
|
-
topRight,
|
|
57
|
-
bottomLeft,
|
|
58
|
-
bottomRight
|
|
59
|
-
} = borderRadius || {};
|
|
60
55
|
const BtnIcon = buttonIcon ? fIcons[buttonIcon] : null;
|
|
61
56
|
const onClick = async e => {
|
|
62
57
|
if (readOnly) {
|
|
@@ -149,10 +144,14 @@ const EditorButton = props => {
|
|
|
149
144
|
textAlign: alignment || textAlign || "left"
|
|
150
145
|
},
|
|
151
146
|
contentEditable: false,
|
|
152
|
-
children: [/*#__PURE__*/_jsx(
|
|
147
|
+
children: [/*#__PURE__*/_jsx(Box, {
|
|
148
|
+
component: "div",
|
|
153
149
|
className: "editor-btn-wrapper-inner",
|
|
154
|
-
|
|
155
|
-
display:
|
|
150
|
+
sx: {
|
|
151
|
+
display: {
|
|
152
|
+
lg: "inline",
|
|
153
|
+
xs: xsHidden ? "none" : "inline"
|
|
154
|
+
}
|
|
156
155
|
},
|
|
157
156
|
children: /*#__PURE__*/_jsxs("span", {
|
|
158
157
|
style: {
|
|
@@ -165,7 +164,9 @@ const EditorButton = props => {
|
|
|
165
164
|
borderBlockStyle: "solid",
|
|
166
165
|
borderColor: borderColor || "transparent",
|
|
167
166
|
borderWidth: borderWidth || "1px",
|
|
168
|
-
borderRadius:
|
|
167
|
+
borderRadius: {
|
|
168
|
+
...getBreakPointsValue(borderRadius || {}, null, "overrideBorderRadius", true)
|
|
169
|
+
},
|
|
169
170
|
borderStyle: borderStyle || "solid",
|
|
170
171
|
padding: {
|
|
171
172
|
...getTRBLBreakPoints(bannerSpacing)
|
|
@@ -2,9 +2,9 @@ import React, { useState } from "react";
|
|
|
2
2
|
import { Transforms } from "slate";
|
|
3
3
|
import { useSlateStatic, ReactEditor } from "slate-react";
|
|
4
4
|
import * as fIcons from "@mui/icons-material";
|
|
5
|
-
import ChipTextPopup from "./ChipTextPopup";
|
|
6
|
-
import { getTRBLBreakPoints } from "../../helper/theme";
|
|
7
5
|
import { Box } from "@mui/material";
|
|
6
|
+
import ChipTextPopup from "./ChipTextPopup";
|
|
7
|
+
import { getTRBLBreakPoints, getBreakPointsValue } from "../../helper/theme";
|
|
8
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
9
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
10
|
const ChipText = props => {
|
|
@@ -26,12 +26,6 @@ const ChipText = props => {
|
|
|
26
26
|
buttonIcon,
|
|
27
27
|
textSize
|
|
28
28
|
} = element;
|
|
29
|
-
const {
|
|
30
|
-
topLeft,
|
|
31
|
-
topRight,
|
|
32
|
-
bottomLeft,
|
|
33
|
-
bottomRight
|
|
34
|
-
} = borderRadius || {};
|
|
35
29
|
const BtnIcon = buttonIcon ? fIcons[buttonIcon] : fIcons["Check"];
|
|
36
30
|
const [openSetttings, setOpenSettings] = useState(false);
|
|
37
31
|
const editor = useSlateStatic();
|
|
@@ -82,7 +76,9 @@ const ChipText = props => {
|
|
|
82
76
|
...getTRBLBreakPoints(bannerSpacing)
|
|
83
77
|
},
|
|
84
78
|
border: borderColor ? `1px solid ${borderColor}` : "none",
|
|
85
|
-
borderRadius:
|
|
79
|
+
borderRadius: {
|
|
80
|
+
...getBreakPointsValue(borderRadius || {}, null, "overrideBorderRadius", true)
|
|
81
|
+
},
|
|
86
82
|
background: bgColor || "#CCC",
|
|
87
83
|
color: textColor
|
|
88
84
|
},
|
|
@@ -6,7 +6,7 @@ import useResize from "../../utils/customHooks/useResize";
|
|
|
6
6
|
import EmbedPopup from "./EmbedPopup";
|
|
7
7
|
import { IconButton, Tooltip, Box } from "@mui/material";
|
|
8
8
|
import { GridSettingsIcon } from "../../common/iconslist";
|
|
9
|
-
import { useEditorContext } from "../../hooks/useMouseMove";
|
|
9
|
+
import { useEditorContext, useEditorSelection } from "../../hooks/useMouseMove";
|
|
10
10
|
import { getTRBLBreakPoints, getBreakPointsValue } from "../../helper/theme";
|
|
11
11
|
import Icon from "../../common/Icon";
|
|
12
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -26,17 +26,12 @@ const Image = ({
|
|
|
26
26
|
borderColor,
|
|
27
27
|
borderRadius,
|
|
28
28
|
boxShadow,
|
|
29
|
-
width: oldWidth
|
|
29
|
+
width: oldWidth,
|
|
30
|
+
xsHidden
|
|
30
31
|
} = element;
|
|
31
32
|
const {
|
|
32
33
|
readOnly
|
|
33
34
|
} = customProps;
|
|
34
|
-
const {
|
|
35
|
-
topLeft,
|
|
36
|
-
topRight,
|
|
37
|
-
bottomLeft,
|
|
38
|
-
bottomRight
|
|
39
|
-
} = borderRadius || {};
|
|
40
35
|
const {
|
|
41
36
|
vertical,
|
|
42
37
|
horizantal
|
|
@@ -48,6 +43,7 @@ const Image = ({
|
|
|
48
43
|
const [parentDOM, setParentDOM] = useState(null);
|
|
49
44
|
const [openSetttings, setOpenSettings] = useState(false);
|
|
50
45
|
const path = ReactEditor.findPath(editor, element);
|
|
46
|
+
const [showTool] = useEditorSelection(editor);
|
|
51
47
|
const getSize = () => {
|
|
52
48
|
if (element?.size === undefined) {
|
|
53
49
|
return {
|
|
@@ -111,7 +107,7 @@ const Image = ({
|
|
|
111
107
|
});
|
|
112
108
|
};
|
|
113
109
|
const ToolBar = () => {
|
|
114
|
-
return selected ? /*#__PURE__*/_jsx("div", {
|
|
110
|
+
return selected && !showTool ? /*#__PURE__*/_jsx("div", {
|
|
115
111
|
className: "element-toolbar visible-on-hover",
|
|
116
112
|
contentEditable: false,
|
|
117
113
|
children: /*#__PURE__*/_jsx(Tooltip, {
|
|
@@ -133,9 +129,12 @@ const Image = ({
|
|
|
133
129
|
children: [/*#__PURE__*/_jsx(Icon, {
|
|
134
130
|
icon: "image"
|
|
135
131
|
}), "Add Image"]
|
|
136
|
-
}) : /*#__PURE__*/_jsx(
|
|
137
|
-
|
|
138
|
-
|
|
132
|
+
}) : /*#__PURE__*/_jsx(Box, {
|
|
133
|
+
component: "img",
|
|
134
|
+
sx: {
|
|
135
|
+
borderRadius: {
|
|
136
|
+
...getBreakPointsValue(borderRadius || {}, null, "overrideBorderRadius", true)
|
|
137
|
+
},
|
|
139
138
|
objectFit: "cover",
|
|
140
139
|
boxShadow: boxShadow || "none"
|
|
141
140
|
},
|
|
@@ -164,7 +163,10 @@ const Image = ({
|
|
|
164
163
|
component: "div",
|
|
165
164
|
className: "embed has-hover",
|
|
166
165
|
sx: {
|
|
167
|
-
display:
|
|
166
|
+
display: {
|
|
167
|
+
lg: "flex",
|
|
168
|
+
xs: xsHidden ? "none" : "flex"
|
|
169
|
+
},
|
|
168
170
|
width: `100%`,
|
|
169
171
|
maxWidth: "100%",
|
|
170
172
|
padding: {
|
|
@@ -26,7 +26,8 @@ const Video = ({
|
|
|
26
26
|
borderWidth,
|
|
27
27
|
borderColor,
|
|
28
28
|
borderStyle,
|
|
29
|
-
url
|
|
29
|
+
url,
|
|
30
|
+
xsHidden
|
|
30
31
|
} = element;
|
|
31
32
|
const editor = useSlateStatic();
|
|
32
33
|
const [openSetttings, setOpenSettings] = useState(false);
|
|
@@ -52,12 +53,6 @@ const Video = ({
|
|
|
52
53
|
});
|
|
53
54
|
const arr = Array.from(Node.elements(editor));
|
|
54
55
|
const ele = arr.find(([elem]) => element === elem);
|
|
55
|
-
const {
|
|
56
|
-
topLeft,
|
|
57
|
-
topRight,
|
|
58
|
-
bottomLeft,
|
|
59
|
-
bottomRight
|
|
60
|
-
} = borderRadius || {};
|
|
61
56
|
useEffect(() => {
|
|
62
57
|
if (editor && ele && ele[1] !== undefined) {
|
|
63
58
|
const dom = ReactEditor.toDOMNode(editor, Node.get(editor, ele[1]));
|
|
@@ -140,9 +135,10 @@ const Video = ({
|
|
|
140
135
|
children: /*#__PURE__*/_jsx(Icon, {
|
|
141
136
|
icon: "videoPlayer"
|
|
142
137
|
})
|
|
143
|
-
}) : /*#__PURE__*/_jsx(
|
|
138
|
+
}) : /*#__PURE__*/_jsx(Box, {
|
|
139
|
+
component: "iframe",
|
|
144
140
|
className: "embedd-iframe",
|
|
145
|
-
|
|
141
|
+
sx: {
|
|
146
142
|
border: "none",
|
|
147
143
|
position: "absolute",
|
|
148
144
|
width: "100%",
|
|
@@ -151,7 +147,9 @@ const Video = ({
|
|
|
151
147
|
left: "0px",
|
|
152
148
|
...(gradientBorder(borderColor) || {}),
|
|
153
149
|
borderWidth: borderWidth || "1px",
|
|
154
|
-
borderRadius:
|
|
150
|
+
borderRadius: {
|
|
151
|
+
...getBreakPointsValue(borderRadius || {}, null, "overrideBorderRadius", true)
|
|
152
|
+
},
|
|
155
153
|
borderStyle: borderStyle || "solid"
|
|
156
154
|
},
|
|
157
155
|
src: embedURL,
|
|
@@ -168,11 +166,14 @@ const Video = ({
|
|
|
168
166
|
}), "Embed Video or Other"]
|
|
169
167
|
}) : /*#__PURE__*/_jsx(VideoContent, {});
|
|
170
168
|
};
|
|
171
|
-
return /*#__PURE__*/_jsxs(
|
|
169
|
+
return /*#__PURE__*/_jsxs(Box, {
|
|
172
170
|
...attributes,
|
|
173
171
|
className: "embed has-hover video",
|
|
174
|
-
|
|
175
|
-
display:
|
|
172
|
+
sx: {
|
|
173
|
+
display: {
|
|
174
|
+
lg: "flex",
|
|
175
|
+
xs: xsHidden ? "none" : "flex"
|
|
176
|
+
},
|
|
176
177
|
flexDirection: "row",
|
|
177
178
|
width: `100%`,
|
|
178
179
|
justifyContent: horizantal,
|
|
@@ -11,7 +11,7 @@ import { formField } from "../../utils/formfield";
|
|
|
11
11
|
import { formSubmit } from "../../service/formSubmit";
|
|
12
12
|
import formButtonStyle from "../../common/StyleBuilder/formButtonStyle";
|
|
13
13
|
import Workflow from "./Workflow";
|
|
14
|
-
import { getTRBLBreakPoints } from "../../helper/theme";
|
|
14
|
+
import { getTRBLBreakPoints, getBreakPointsValue } from "../../helper/theme";
|
|
15
15
|
import { validation } from "./FormElements/validations";
|
|
16
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
17
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -41,12 +41,6 @@ const Form = props => {
|
|
|
41
41
|
fontFamily,
|
|
42
42
|
textAlign
|
|
43
43
|
} = element;
|
|
44
|
-
const {
|
|
45
|
-
topLeft,
|
|
46
|
-
topRight,
|
|
47
|
-
bottomLeft,
|
|
48
|
-
bottomRight
|
|
49
|
-
} = borderRadius || {};
|
|
50
44
|
const btnR = buttonProps?.borderRadius || {};
|
|
51
45
|
const btnSpacing = buttonProps?.bannerSpacing || {};
|
|
52
46
|
const btnAlign = buttonProps?.alignment || {};
|
|
@@ -66,7 +60,7 @@ const Form = props => {
|
|
|
66
60
|
} : {
|
|
67
61
|
borderColor: buttonProps?.borderColor || "none"
|
|
68
62
|
};
|
|
69
|
-
const getFieldProps = (key =
|
|
63
|
+
const getFieldProps = (key = "", val = "") => {
|
|
70
64
|
return element?.children?.find(obj => obj && obj[key] === val);
|
|
71
65
|
};
|
|
72
66
|
const handleSubmit = async (event, test = false) => {
|
|
@@ -77,14 +71,14 @@ const Form = props => {
|
|
|
77
71
|
const formData = new FormData(formEle?.current);
|
|
78
72
|
setLoading(true);
|
|
79
73
|
let response = {};
|
|
80
|
-
const emailObject = getFieldProps(
|
|
81
|
-
let user_email =
|
|
74
|
+
const emailObject = getFieldProps("field_type", "email");
|
|
75
|
+
let user_email = "";
|
|
82
76
|
const validations = [];
|
|
83
77
|
for (let pair of formData.entries()) {
|
|
84
78
|
if (emailObject?.name === pair[0]) {
|
|
85
79
|
user_email = pair[1];
|
|
86
80
|
}
|
|
87
|
-
const fieldData = getFieldProps(
|
|
81
|
+
const fieldData = getFieldProps("name", pair[0]);
|
|
88
82
|
let rule = [];
|
|
89
83
|
if (fieldData?.required) {
|
|
90
84
|
rule.push(`isRequired`);
|
|
@@ -92,7 +86,7 @@ const Form = props => {
|
|
|
92
86
|
if (fieldData?.field_type === "email") {
|
|
93
87
|
rule.push(`isEmail`);
|
|
94
88
|
}
|
|
95
|
-
if (fieldData?.required || fieldData?.field_type ===
|
|
89
|
+
if (fieldData?.required || fieldData?.field_type === "email") {
|
|
96
90
|
validations.push({
|
|
97
91
|
name: pair[0],
|
|
98
92
|
value: pair[1],
|
|
@@ -274,7 +268,9 @@ const Form = props => {
|
|
|
274
268
|
color: textColor || "#FFF",
|
|
275
269
|
borderColor: borderColor || "transparent",
|
|
276
270
|
borderWidth: borderWidth || "1px",
|
|
277
|
-
borderRadius:
|
|
271
|
+
borderRadius: {
|
|
272
|
+
...getBreakPointsValue(borderRadius || {}, null, "overrideBorderRadius", true)
|
|
273
|
+
},
|
|
278
274
|
borderStyle: borderStyle || "solid",
|
|
279
275
|
background: bgColor || "transparent",
|
|
280
276
|
padding: {
|
|
@@ -317,7 +313,9 @@ const Form = props => {
|
|
|
317
313
|
borderWidth: "1px",
|
|
318
314
|
borderBlockStyle: "solid",
|
|
319
315
|
...btnBorderStyle,
|
|
320
|
-
borderRadius:
|
|
316
|
+
borderRadius: {
|
|
317
|
+
...getBreakPointsValue(btnR || {}, null, "overrideBorderRadius", true)
|
|
318
|
+
},
|
|
321
319
|
padding: {
|
|
322
320
|
...getTRBLBreakPoints(btnSpacing)
|
|
323
321
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { getTRBLBreakPoints } from "../../../helper/theme";
|
|
3
2
|
import { Box } from "@mui/material";
|
|
3
|
+
import { getTRBLBreakPoints, getBreakPointsValue } from "../../../helper/theme";
|
|
4
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
5
|
const FormEmail = props => {
|
|
6
6
|
const {
|
|
@@ -18,12 +18,6 @@ const FormEmail = props => {
|
|
|
18
18
|
lockSpacing,
|
|
19
19
|
...rest
|
|
20
20
|
} = fieldProps;
|
|
21
|
-
const {
|
|
22
|
-
topLeft,
|
|
23
|
-
topRight,
|
|
24
|
-
bottomLeft,
|
|
25
|
-
bottomRight
|
|
26
|
-
} = borderRadius || {};
|
|
27
21
|
const onChange = e => {
|
|
28
22
|
e.preventDefault();
|
|
29
23
|
};
|
|
@@ -48,7 +42,9 @@ const FormEmail = props => {
|
|
|
48
42
|
height: height || "auto",
|
|
49
43
|
borderColor: borderColor || "transparent",
|
|
50
44
|
borderWidth: borderWidth || "1px",
|
|
51
|
-
borderRadius:
|
|
45
|
+
borderRadius: {
|
|
46
|
+
...getBreakPointsValue(borderRadius || {}, null, "overrideBorderRadius", true)
|
|
47
|
+
},
|
|
52
48
|
borderStyle: borderStyle || "solid",
|
|
53
49
|
color: textColor || "#000",
|
|
54
50
|
background: bgColor || "transparent"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { getTRBLBreakPoints } from "../../../helper/theme";
|
|
3
2
|
import { Box } from "@mui/material";
|
|
3
|
+
import { getTRBLBreakPoints, getBreakPointsValue } from "../../../helper/theme";
|
|
4
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
5
|
const FormText = props => {
|
|
6
6
|
const {
|
|
@@ -18,12 +18,6 @@ const FormText = props => {
|
|
|
18
18
|
lockSpacing,
|
|
19
19
|
...rest
|
|
20
20
|
} = fieldProps;
|
|
21
|
-
const {
|
|
22
|
-
topLeft,
|
|
23
|
-
topRight,
|
|
24
|
-
bottomLeft,
|
|
25
|
-
bottomRight
|
|
26
|
-
} = borderRadius || {};
|
|
27
21
|
const onChange = e => {
|
|
28
22
|
e.preventDefault();
|
|
29
23
|
};
|
|
@@ -46,7 +40,9 @@ const FormText = props => {
|
|
|
46
40
|
height: height || "auto",
|
|
47
41
|
borderColor: borderColor || "transparent",
|
|
48
42
|
borderWidth: borderWidth || "1px",
|
|
49
|
-
borderRadius:
|
|
43
|
+
borderRadius: {
|
|
44
|
+
...getBreakPointsValue(borderRadius || {}, null, "overrideBorderRadius", true)
|
|
45
|
+
},
|
|
50
46
|
borderStyle: borderStyle || "solid",
|
|
51
47
|
color: textColor || "#000",
|
|
52
48
|
background: bgColor || "transparent"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { Box } from "@mui/material";
|
|
3
|
-
import { getTRBLBreakPoints } from "../../../helper/theme";
|
|
3
|
+
import { getTRBLBreakPoints, getBreakPointsValue } from "../../../helper/theme";
|
|
4
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
5
|
const FormTextArea = props => {
|
|
6
6
|
const {
|
|
@@ -17,12 +17,6 @@ const FormTextArea = props => {
|
|
|
17
17
|
bgColor,
|
|
18
18
|
...rest
|
|
19
19
|
} = fieldProps;
|
|
20
|
-
const {
|
|
21
|
-
topLeft,
|
|
22
|
-
topRight,
|
|
23
|
-
bottomLeft,
|
|
24
|
-
bottomRight
|
|
25
|
-
} = borderRadius || {};
|
|
26
20
|
const onChange = e => {
|
|
27
21
|
e.preventDefault();
|
|
28
22
|
};
|
|
@@ -45,7 +39,9 @@ const FormTextArea = props => {
|
|
|
45
39
|
height: height || "150px",
|
|
46
40
|
borderColor: borderColor || "transparent",
|
|
47
41
|
borderWidth: borderWidth || "1px",
|
|
48
|
-
borderRadius:
|
|
42
|
+
borderRadius: {
|
|
43
|
+
...getBreakPointsValue(borderRadius || {}, null, "overrideBorderRadius", true)
|
|
44
|
+
},
|
|
49
45
|
borderStyle: borderStyle || "solid",
|
|
50
46
|
color: textColor || "#000",
|
|
51
47
|
background: bgColor || "transparent"
|
|
@@ -11,7 +11,7 @@ import { GridAddGridIcon, GridAddSectionIcon, GridSettingsIcon } from "../../com
|
|
|
11
11
|
import GridPopup from "./GridPopup";
|
|
12
12
|
import SectionPopup from "./SectionPopup";
|
|
13
13
|
import { gridItem } from "../../utils/gridItem";
|
|
14
|
-
import { useEditorContext } from "../../hooks/useMouseMove";
|
|
14
|
+
import { useEditorContext, useEditorSelection } from "../../hooks/useMouseMove";
|
|
15
15
|
import { getTRBLBreakPoints, getBreakPointsValue } from "../../helper/theme";
|
|
16
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
17
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
@@ -43,25 +43,21 @@ const Grid = props => {
|
|
|
43
43
|
borderColor,
|
|
44
44
|
borderStyle,
|
|
45
45
|
borderRadius,
|
|
46
|
-
flexWrap
|
|
46
|
+
flexWrap,
|
|
47
|
+
xsHidden
|
|
47
48
|
} = element;
|
|
48
49
|
const {
|
|
49
50
|
vertical,
|
|
50
51
|
horizantal,
|
|
51
52
|
flexDirection
|
|
52
53
|
} = alignment || {};
|
|
53
|
-
const {
|
|
54
|
-
topLeft,
|
|
55
|
-
topRight,
|
|
56
|
-
bottomLeft,
|
|
57
|
-
bottomRight
|
|
58
|
-
} = borderRadius || {};
|
|
59
54
|
const editor = useSlateStatic();
|
|
60
55
|
const path = ReactEditor.findPath(editor, element);
|
|
61
56
|
const {
|
|
62
57
|
hoverPath
|
|
63
58
|
} = useEditorContext();
|
|
64
59
|
const selected = hoverPath === path.join(",");
|
|
60
|
+
const [showTool] = useEditorSelection(editor);
|
|
65
61
|
const onAddGridItem = () => {
|
|
66
62
|
const currentPath = editor.selection?.anchor?.path;
|
|
67
63
|
const ancestorsPath = Path.ancestors(currentPath, {
|
|
@@ -174,7 +170,7 @@ const Grid = props => {
|
|
|
174
170
|
};
|
|
175
171
|
const PoupComp = GridSettingsPoupComp[openSetttings];
|
|
176
172
|
const NewLineButtons = () => {
|
|
177
|
-
return !readOnly && selected && path.length === 2 ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
173
|
+
return !readOnly && selected && path.length === 2 && !showTool ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
178
174
|
children: [/*#__PURE__*/_jsx("div", {
|
|
179
175
|
className: "element-selector-ctrl tc",
|
|
180
176
|
children: /*#__PURE__*/_jsx(Tooltip, {
|
|
@@ -199,7 +195,7 @@ const Grid = props => {
|
|
|
199
195
|
}) : null;
|
|
200
196
|
};
|
|
201
197
|
const GridToolBar = () => {
|
|
202
|
-
return selected ? /*#__PURE__*/_jsxs("div", {
|
|
198
|
+
return selected && !showTool ? /*#__PURE__*/_jsxs("div", {
|
|
203
199
|
className: "grid-container-toolbar",
|
|
204
200
|
contentEditable: false,
|
|
205
201
|
children: [/*#__PURE__*/_jsx(Tooltip, {
|
|
@@ -253,13 +249,19 @@ const Grid = props => {
|
|
|
253
249
|
className: `grid-container ${grid} has-hover element-root`,
|
|
254
250
|
...attributes,
|
|
255
251
|
...sectionId,
|
|
256
|
-
|
|
252
|
+
sx: {
|
|
253
|
+
display: {
|
|
254
|
+
lg: "flex",
|
|
255
|
+
xs: xsHidden ? "none" : "flex"
|
|
256
|
+
},
|
|
257
257
|
background: bgColor,
|
|
258
258
|
alignContent: vertical,
|
|
259
259
|
...bgImage,
|
|
260
260
|
borderColor: borderColor || "transparent",
|
|
261
261
|
borderWidth: borderWidth || "1px",
|
|
262
|
-
borderRadius:
|
|
262
|
+
borderRadius: {
|
|
263
|
+
...getBreakPointsValue(borderRadius || {}, null, "overrideBorderRadius", true)
|
|
264
|
+
},
|
|
263
265
|
borderStyle: borderStyle || "solid"
|
|
264
266
|
},
|
|
265
267
|
"data-path": path.join(","),
|
|
@@ -5,7 +5,7 @@ import { useSlateStatic, ReactEditor } from "slate-react";
|
|
|
5
5
|
import GridItemPopup from "./GridItemPopup";
|
|
6
6
|
import { IconButton, Tooltip, Box, Grid as Item } from "@mui/material";
|
|
7
7
|
import { GridSettingsIcon } from "../../common/iconslist";
|
|
8
|
-
import { useEditorContext } from "../../hooks/useMouseMove";
|
|
8
|
+
import { useEditorContext, useEditorSelection } from "../../hooks/useMouseMove";
|
|
9
9
|
import { getBreakPointsValue, getTRBLBreakPoints } from "../../helper/theme";
|
|
10
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
11
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -34,27 +34,23 @@ const GridItem = props => {
|
|
|
34
34
|
borderColorHover,
|
|
35
35
|
textColor,
|
|
36
36
|
animation,
|
|
37
|
-
cellGHeight
|
|
37
|
+
cellGHeight,
|
|
38
|
+
xsHidden
|
|
38
39
|
} = element;
|
|
39
40
|
const {
|
|
40
41
|
vertical,
|
|
41
42
|
horizantal,
|
|
42
43
|
flexDirection
|
|
43
44
|
} = alignment || {};
|
|
44
|
-
const {
|
|
45
|
-
topLeft,
|
|
46
|
-
topRight,
|
|
47
|
-
bottomLeft,
|
|
48
|
-
bottomRight
|
|
49
|
-
} = borderRadius || {};
|
|
50
45
|
const editor = useSlateStatic();
|
|
51
46
|
const path = ReactEditor.findPath(editor, element);
|
|
52
47
|
const {
|
|
53
48
|
hoverPath
|
|
54
49
|
} = useEditorContext();
|
|
55
50
|
const selected = hoverPath === path.join(",");
|
|
51
|
+
const [showTool] = useEditorSelection(editor);
|
|
56
52
|
const GridItemToolbar = () => {
|
|
57
|
-
return selected ? /*#__PURE__*/_jsx("div", {
|
|
53
|
+
return selected && !showTool ? /*#__PURE__*/_jsx("div", {
|
|
58
54
|
contentEditable: false,
|
|
59
55
|
className: "grid-item-toolbar",
|
|
60
56
|
style: {
|
|
@@ -108,12 +104,17 @@ const GridItem = props => {
|
|
|
108
104
|
height: {
|
|
109
105
|
...getBreakPointsValue(cellGHeight || "auto")
|
|
110
106
|
},
|
|
111
|
-
display:
|
|
107
|
+
display: {
|
|
108
|
+
lg: "flex",
|
|
109
|
+
xs: xsHidden ? "none" : "flex"
|
|
110
|
+
},
|
|
112
111
|
flexDirection: flexDirection || "column",
|
|
113
112
|
background: bgColor || "transparent",
|
|
114
113
|
borderColor: borderColor || "transparent",
|
|
115
114
|
borderWidth: borderWidth || "1px",
|
|
116
|
-
borderRadius:
|
|
115
|
+
borderRadius: {
|
|
116
|
+
...getBreakPointsValue(borderRadius || {}, null, "overrideBorderRadius", true)
|
|
117
|
+
},
|
|
117
118
|
borderStyle: borderStyle || "solid",
|
|
118
119
|
alignItems: horizantal,
|
|
119
120
|
justifyContent: vertical,
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import * as fIcons from "@mui/icons-material";
|
|
3
|
+
import { Box } from "@mui/material";
|
|
4
|
+
import { getBreakPointsValue } from "../../helper/theme";
|
|
3
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
6
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
7
|
const InlineIcon = props => {
|
|
@@ -21,25 +23,22 @@ const InlineIcon = props => {
|
|
|
21
23
|
right,
|
|
22
24
|
bottom
|
|
23
25
|
} = bannerSpacing || {};
|
|
24
|
-
const {
|
|
25
|
-
topLeft,
|
|
26
|
-
topRight,
|
|
27
|
-
bottomLeft,
|
|
28
|
-
bottomRight
|
|
29
|
-
} = borderRadius || {};
|
|
30
26
|
const BtnIcon = fIcons["Check"];
|
|
31
|
-
return /*#__PURE__*/_jsxs(
|
|
27
|
+
return /*#__PURE__*/_jsxs(Box, {
|
|
32
28
|
...attributes,
|
|
33
29
|
className: "editor-icon-text",
|
|
34
30
|
contentEditable: false,
|
|
35
|
-
|
|
31
|
+
component: "button",
|
|
32
|
+
sx: {
|
|
36
33
|
display: "inline",
|
|
37
34
|
paddingLeft: `${left}px`,
|
|
38
35
|
paddingRight: `${right}px`,
|
|
39
36
|
paddingTop: `${top}px`,
|
|
40
37
|
paddingBottom: `${bottom}px`,
|
|
41
38
|
border: borderColor ? `1px solid ${borderColor}` : "none",
|
|
42
|
-
borderRadius:
|
|
39
|
+
borderRadius: {
|
|
40
|
+
...getBreakPointsValue(borderRadius || {}, null, "overrideBorderRadius", true)
|
|
41
|
+
},
|
|
43
42
|
background: bgColor || "#CCC",
|
|
44
43
|
color: textColor
|
|
45
44
|
},
|
|
@@ -13,8 +13,9 @@ import DeleteCellIcon from "./DeleteCellIcon";
|
|
|
13
13
|
import DeleteRowIcon from "./DeleteRowIcon";
|
|
14
14
|
import { TableUtil } from "../../utils/table";
|
|
15
15
|
import TablePopup from "./TablePopup";
|
|
16
|
-
import "
|
|
16
|
+
import { useEditorSelection } from "../../hooks/useMouseMove";
|
|
17
17
|
import TableStyles from "./Styles";
|
|
18
|
+
import "./table.css";
|
|
18
19
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
19
20
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
20
21
|
const TABLE_MENUS = [{
|
|
@@ -91,6 +92,7 @@ const Table = props => {
|
|
|
91
92
|
const selected = useSelected();
|
|
92
93
|
const table = new TableUtil(editor);
|
|
93
94
|
const tableProps = table.getTableProps();
|
|
95
|
+
const [showTool] = useEditorSelection(editor);
|
|
94
96
|
const handleAction = ({
|
|
95
97
|
type,
|
|
96
98
|
position
|
|
@@ -125,7 +127,7 @@ const Table = props => {
|
|
|
125
127
|
setExpandTools(!exandTools);
|
|
126
128
|
};
|
|
127
129
|
const ToolBar = () => {
|
|
128
|
-
return selected ? /*#__PURE__*/_jsxs(Box, {
|
|
130
|
+
return selected && !showTool ? /*#__PURE__*/_jsxs(Box, {
|
|
129
131
|
component: "div",
|
|
130
132
|
contentEditable: false,
|
|
131
133
|
className: `tableToolBar ${exandTools ? "active" : ""}`,
|
|
@@ -5,6 +5,7 @@ import { useSlateStatic, ReactEditor } from "slate-react";
|
|
|
5
5
|
import useTableResize from "../../utils/customHooks/useTableResize";
|
|
6
6
|
import { TableUtil } from "../../utils/table";
|
|
7
7
|
import TableStyles from "./Styles";
|
|
8
|
+
import { useEditorSelection } from "../../hooks/useMouseMove";
|
|
8
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
10
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
10
11
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -45,6 +46,7 @@ const TableCell = props => {
|
|
|
45
46
|
} = element;
|
|
46
47
|
const [parentDOM, setParentDOM] = useState(null);
|
|
47
48
|
const editor = useSlateStatic();
|
|
49
|
+
const [showTool] = useEditorSelection(editor);
|
|
48
50
|
const path = ReactEditor.findPath(editor, element);
|
|
49
51
|
const isHeader = path.length >= 2 ? path[path.length - 2] === 0 : false;
|
|
50
52
|
const [size, onMouseDown, resizing, onLoad] = useTableResize({
|
|
@@ -119,7 +121,7 @@ const TableCell = props => {
|
|
|
119
121
|
border: `3px solid ${cellBorderColor}`,
|
|
120
122
|
...(sizeProps || {})
|
|
121
123
|
},
|
|
122
|
-
children: [children, isHeader && !readOnly && tableSize?.height ? /*#__PURE__*/_jsx(Resizer, {
|
|
124
|
+
children: [children, isHeader && !readOnly && tableSize?.height && !showTool ? /*#__PURE__*/_jsx(Resizer, {
|
|
123
125
|
classes: classes,
|
|
124
126
|
onMouseDown: onMouseDown,
|
|
125
127
|
height: tableSize?.height
|
|
@@ -73,7 +73,7 @@ const TopBanner = props => {
|
|
|
73
73
|
...attributes,
|
|
74
74
|
style: {
|
|
75
75
|
position: "relative",
|
|
76
|
-
height: "
|
|
76
|
+
height: "296px",
|
|
77
77
|
textAlign: "center"
|
|
78
78
|
},
|
|
79
79
|
contentEditable: false,
|
|
@@ -81,6 +81,7 @@ const TopBanner = props => {
|
|
|
81
81
|
children: [/*#__PURE__*/_jsx("img", {
|
|
82
82
|
src: url,
|
|
83
83
|
alt: "Top Banner",
|
|
84
|
+
className: "top-banner-wrpr-ele",
|
|
84
85
|
style: {
|
|
85
86
|
width: "100%",
|
|
86
87
|
height: "280px",
|
|
@@ -28,6 +28,11 @@ const editorStyles = ({
|
|
|
28
28
|
flexDirection: "column",
|
|
29
29
|
alignItems: "center",
|
|
30
30
|
color: "#0f172a",
|
|
31
|
+
"& .has-topbanner": {
|
|
32
|
+
"& .doc-title-ele-wrpr": {
|
|
33
|
+
marginTop: "12px"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
31
36
|
"&.no-color": {
|
|
32
37
|
backgroundColor: theme?.palette?.editor?.background,
|
|
33
38
|
color: theme?.palette?.editor?.textColor,
|
|
@@ -206,6 +211,17 @@ const editorStyles = ({
|
|
|
206
211
|
textAlign: "center",
|
|
207
212
|
border: "1px solid #CFD8F5"
|
|
208
213
|
}
|
|
214
|
+
},
|
|
215
|
+
fullScreenWrapper: {
|
|
216
|
+
"& .MuiPaper-root": {
|
|
217
|
+
borderRadius: "0px !important",
|
|
218
|
+
"& .MuiDialogTitle-root": {
|
|
219
|
+
position: "absolute",
|
|
220
|
+
top: 0,
|
|
221
|
+
right: "12px",
|
|
222
|
+
zIndex: 100
|
|
223
|
+
}
|
|
224
|
+
}
|
|
209
225
|
}
|
|
210
226
|
});
|
|
211
227
|
export default editorStyles;
|
|
@@ -6,6 +6,7 @@ import TuneIcon from "@mui/icons-material/Tune";
|
|
|
6
6
|
import SectionPopup from "../../Elements/Grid/SectionPopup";
|
|
7
7
|
import { getBreakPointsValue, getTRBLBreakPoints } from "../../helper/theme";
|
|
8
8
|
import DragHandle from "../DnD/DragHandleButton";
|
|
9
|
+
import { useEditorSelection } from "../../hooks/useMouseMove";
|
|
9
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
11
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
12
|
const SectionStyle = () => ({
|
|
@@ -33,6 +34,7 @@ const Section = props => {
|
|
|
33
34
|
readOnly
|
|
34
35
|
} = customProps;
|
|
35
36
|
const editor = useSlateStatic();
|
|
37
|
+
const [showTool] = useEditorSelection(editor);
|
|
36
38
|
const [openSetttings, setOpenSettings] = useState(false);
|
|
37
39
|
const {
|
|
38
40
|
sectionBgColor,
|
|
@@ -42,12 +44,6 @@ const Section = props => {
|
|
|
42
44
|
sectionGridSize,
|
|
43
45
|
sectionAlignment
|
|
44
46
|
} = element;
|
|
45
|
-
const {
|
|
46
|
-
topLeft: ssTopLeft,
|
|
47
|
-
topRight: ssTopRight,
|
|
48
|
-
bottomLeft: ssBottomLeft,
|
|
49
|
-
bottomRight: ssBottomRight
|
|
50
|
-
} = sectionBorderRadius || {};
|
|
51
47
|
const {
|
|
52
48
|
vertical,
|
|
53
49
|
horizantal,
|
|
@@ -58,7 +54,7 @@ const Section = props => {
|
|
|
58
54
|
setOpenSettings(true);
|
|
59
55
|
};
|
|
60
56
|
const Toolbar = () => {
|
|
61
|
-
return !readOnly ? /*#__PURE__*/_jsx(Box, {
|
|
57
|
+
return !readOnly && !showTool ? /*#__PURE__*/_jsx(Box, {
|
|
62
58
|
component: "div",
|
|
63
59
|
className: "element-toolbar no-border-button ss hr section-tw",
|
|
64
60
|
style: {
|
|
@@ -108,7 +104,9 @@ const Section = props => {
|
|
|
108
104
|
padding: {
|
|
109
105
|
...getTRBLBreakPoints(sectionBannerSpacing)
|
|
110
106
|
},
|
|
111
|
-
borderRadius:
|
|
107
|
+
borderRadius: {
|
|
108
|
+
...getBreakPointsValue(sectionBorderRadius || {}, null, "overrideBorderRadius", true)
|
|
109
|
+
},
|
|
112
110
|
flexDirection: flexDirection || "column",
|
|
113
111
|
alignItems: horizantal,
|
|
114
112
|
justifyContent: vertical
|
|
@@ -121,7 +119,7 @@ const Section = props => {
|
|
|
121
119
|
...getBreakPointsValue(sectionGridSize || 8, null, "overrideGridSize", true)
|
|
122
120
|
}
|
|
123
121
|
},
|
|
124
|
-
children: [!readOnly ? /*#__PURE__*/_jsx(DragHandle, {
|
|
122
|
+
children: [!readOnly && !showTool ? /*#__PURE__*/_jsx(DragHandle, {
|
|
125
123
|
...props
|
|
126
124
|
}) : null, children, /*#__PURE__*/_jsx(Toolbar, {})]
|
|
127
125
|
}), openSetttings ? /*#__PURE__*/_jsx(SectionPopup, {
|
|
@@ -62,6 +62,11 @@ const buttonStyle = [{
|
|
|
62
62
|
tab: "Banner Spacing",
|
|
63
63
|
value: "bannerSpacing",
|
|
64
64
|
fields: [{
|
|
65
|
+
label: "Hide on Mobile",
|
|
66
|
+
key: "xsHidden",
|
|
67
|
+
type: "selectBox",
|
|
68
|
+
placeholder: "Hide on Mobile"
|
|
69
|
+
}, {
|
|
65
70
|
label: "Banner Spacing",
|
|
66
71
|
key: "bannerSpacing",
|
|
67
72
|
type: "bannerSpacing"
|
|
@@ -31,6 +31,11 @@ const embedImageStyle = [{
|
|
|
31
31
|
tab: "Position",
|
|
32
32
|
value: "position",
|
|
33
33
|
fields: [{
|
|
34
|
+
label: "Hide on Mobile",
|
|
35
|
+
key: "xsHidden",
|
|
36
|
+
type: "selectBox",
|
|
37
|
+
placeholder: "Hide on Mobile"
|
|
38
|
+
}, {
|
|
34
39
|
label: "Set Postion (Vertical & Horizantal)",
|
|
35
40
|
key: "alignment",
|
|
36
41
|
type: "alignment"
|
|
@@ -11,6 +11,11 @@ const embedVideoStyle = [{
|
|
|
11
11
|
tab: "Position",
|
|
12
12
|
value: "position",
|
|
13
13
|
fields: [{
|
|
14
|
+
label: "Hide on Mobile",
|
|
15
|
+
key: "xsHidden",
|
|
16
|
+
type: "selectBox",
|
|
17
|
+
placeholder: "Hide on Mobile"
|
|
18
|
+
}, {
|
|
14
19
|
label: "Set Postion (Vertical & Horizantal)",
|
|
15
20
|
key: "alignment",
|
|
16
21
|
type: "alignment"
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { Grid, Typography, Slider, FormControlLabel, Checkbox, Box } from "@mui/material";
|
|
3
3
|
import { radiusStyle } from "./radiusStyle";
|
|
4
|
+
import useWindowResize from "../../../hooks/useWindowResize";
|
|
5
|
+
import { getBreakPointsValue } from "../../../helper/theme";
|
|
4
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
7
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
8
|
const BORDER_RADIUS_KEYS = ["topLeft", "topRight", "bottomLeft", "bottomRight"];
|
|
7
9
|
const BorderRadius = props => {
|
|
8
10
|
const {
|
|
9
|
-
value,
|
|
11
|
+
value: val,
|
|
10
12
|
data,
|
|
11
13
|
onChange,
|
|
12
14
|
elementProps,
|
|
@@ -21,6 +23,8 @@ const BorderRadius = props => {
|
|
|
21
23
|
const {
|
|
22
24
|
key
|
|
23
25
|
} = data;
|
|
26
|
+
const [size] = useWindowResize();
|
|
27
|
+
const value = getBreakPointsValue(val, size?.device);
|
|
24
28
|
const handleChange = e => {
|
|
25
29
|
let changeAll = {};
|
|
26
30
|
if (lockRadius) {
|
|
@@ -30,9 +34,11 @@ const BorderRadius = props => {
|
|
|
30
34
|
}
|
|
31
35
|
onChange({
|
|
32
36
|
[key]: {
|
|
33
|
-
...
|
|
34
|
-
[
|
|
35
|
-
|
|
37
|
+
...getBreakPointsValue(val, null),
|
|
38
|
+
[size?.device]: {
|
|
39
|
+
...changeAll,
|
|
40
|
+
[e.target.name]: e.target.value
|
|
41
|
+
}
|
|
36
42
|
}
|
|
37
43
|
});
|
|
38
44
|
};
|
|
@@ -63,15 +69,18 @@ const BorderRadius = props => {
|
|
|
63
69
|
disabled: !lockRadius,
|
|
64
70
|
className: "spacingSlider",
|
|
65
71
|
defaultValue: value?.topLeft || 0,
|
|
72
|
+
value: value?.topLeft || 0,
|
|
66
73
|
"aria-label": "Default",
|
|
67
74
|
valueLabelDisplay: "auto",
|
|
68
75
|
max: 100,
|
|
76
|
+
name: "topLeft",
|
|
69
77
|
onChange: handleChange
|
|
70
78
|
}), /*#__PURE__*/_jsx(Box, {
|
|
71
79
|
sx: classes.sapcingInput,
|
|
72
80
|
component: "input",
|
|
73
81
|
value: !lockRadius ? "" : value?.topLeft || 0,
|
|
74
82
|
className: "sliderInput",
|
|
83
|
+
name: "topLeft",
|
|
75
84
|
disabled: !lockRadius,
|
|
76
85
|
onChange: handleChange
|
|
77
86
|
})]
|
|
@@ -15,6 +15,11 @@ const gridItemStyle = [{
|
|
|
15
15
|
tab: "Position",
|
|
16
16
|
value: "position",
|
|
17
17
|
fields: [{
|
|
18
|
+
label: "Hide on Mobile",
|
|
19
|
+
key: "xsHidden",
|
|
20
|
+
type: "selectBox",
|
|
21
|
+
placeholder: "Hide on Mobile"
|
|
22
|
+
}, {
|
|
18
23
|
label: "Set Postion (Vertical & Horizantal)",
|
|
19
24
|
key: "alignment",
|
|
20
25
|
type: "alignment"
|
|
@@ -40,6 +40,11 @@ const gridStyle = [{
|
|
|
40
40
|
tab: "Position",
|
|
41
41
|
value: "position",
|
|
42
42
|
fields: [{
|
|
43
|
+
label: "Hide on Mobile",
|
|
44
|
+
key: "xsHidden",
|
|
45
|
+
type: "selectBox",
|
|
46
|
+
placeholder: "Hide on Mobile"
|
|
47
|
+
}, {
|
|
43
48
|
label: "Set Postion (Vertical & Horizantal)",
|
|
44
49
|
key: "alignment",
|
|
45
50
|
type: "alignment"
|
|
@@ -43,6 +43,9 @@ const overrides = {
|
|
|
43
43
|
},
|
|
44
44
|
overrideReSizeH: val => {
|
|
45
45
|
return `${val?.height}px`;
|
|
46
|
+
},
|
|
47
|
+
overrideBorderRadius: val => {
|
|
48
|
+
return `${val?.topLeft}px ${val?.topRight}px ${val?.bottomLeft}px ${val?.bottomRight}px`;
|
|
46
49
|
}
|
|
47
50
|
};
|
|
48
51
|
export const getBreakPointsValue = (value, breakpoint, ot = null, ov = false) => {
|
|
@@ -1,7 +1,23 @@
|
|
|
1
1
|
import { useEffect, useState, createContext, useContext, useMemo } from "react";
|
|
2
|
+
import { getSelectedText } from "../utils/helper";
|
|
2
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
4
|
const EditorContext = /*#__PURE__*/createContext();
|
|
5
|
+
export const useEditorSelection = editor => {
|
|
6
|
+
const [textSelected, setTextSelected] = useState(false);
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
if (editor?.selection) {
|
|
9
|
+
const text = getSelectedText(editor);
|
|
10
|
+
if (text?.length > 0) {
|
|
11
|
+
setTextSelected(true);
|
|
12
|
+
} else {
|
|
13
|
+
setTextSelected(false);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}, [editor?.selection]);
|
|
17
|
+
return [textSelected];
|
|
18
|
+
};
|
|
4
19
|
export const EditorProvider = ({
|
|
20
|
+
editor,
|
|
5
21
|
theme,
|
|
6
22
|
children
|
|
7
23
|
}) => {
|
|
@@ -23,7 +39,7 @@ export const EditorProvider = ({
|
|
|
23
39
|
hoverPath: previous
|
|
24
40
|
};
|
|
25
41
|
}
|
|
26
|
-
}, [path]);
|
|
42
|
+
}, [path, editor?.selection]);
|
|
27
43
|
return /*#__PURE__*/_jsx(EditorContext.Provider, {
|
|
28
44
|
value: {
|
|
29
45
|
...(value || {}),
|