@flozy/editor 1.8.3 → 1.8.5
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 +11 -9
- package/dist/Editor/Editor.css +15 -12
- package/dist/Editor/Elements/AppHeader/AppHeader.js +5 -11
- package/dist/Editor/Elements/Button/EditorButton.js +4 -10
- package/dist/Editor/Elements/Carousel/Arrows.js +16 -2
- package/dist/Editor/Elements/Carousel/Carousel.js +1 -1
- package/dist/Editor/Elements/Carousel/slick-theme.min.css +1 -0
- package/dist/Editor/Elements/ChipText/ChipText.js +8 -12
- package/dist/Editor/Elements/Color Picker/ColorPicker.js +5 -3
- package/dist/Editor/Elements/Color Picker/Styles.js +3 -17
- package/dist/Editor/Elements/Color Picker/colorWheel.png +0 -0
- package/dist/Editor/Elements/Embed/Embed.css +48 -45
- package/dist/Editor/Elements/Embed/Image.js +8 -14
- package/dist/Editor/Elements/Embed/Video.js +1 -7
- package/dist/Editor/Elements/Form/Form.js +17 -23
- package/dist/Editor/Elements/Form/FormElements/FormText.js +8 -12
- package/dist/Editor/Elements/Form/FormElements/FormTextArea.js +8 -12
- package/dist/Editor/Elements/Grid/Grid.js +12 -20
- package/dist/Editor/Elements/Grid/GridItem.js +18 -24
- package/dist/Editor/Elements/Grid/templates/carousel_item.js +2 -3
- package/dist/Editor/Elements/Grid/templates/default_grid.js +2 -2
- package/dist/Editor/Elements/SimpleText.js +0 -1
- package/dist/Editor/Elements/Table/Table.js +3 -1
- package/dist/Editor/Elements/TopBanner/TopBanner.js +3 -1
- package/dist/Editor/IframeEditor.js +30 -0
- package/dist/Editor/MiniEditor.js +6 -8
- package/dist/Editor/Styles/EditorStyles.js +13 -3
- package/dist/Editor/Toolbar/Basic/index.js +3 -1
- package/dist/Editor/Toolbar/FormatTools/TextSize.js +30 -13
- package/dist/Editor/Toolbar/Mini/MiniToolbar.js +7 -1
- package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +3 -0
- package/dist/Editor/Toolbar/PopupTool/index.js +4 -2
- package/dist/Editor/common/Icon.js +3 -0
- package/dist/Editor/common/Section/index.js +13 -16
- package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +13 -4
- package/dist/Editor/common/StyleBuilder/fieldTypes/gridSize.js +10 -3
- package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +18 -4
- package/dist/Editor/common/StyleBuilder/formStyle.js +3 -0
- package/dist/Editor/common/StyleBuilder/gridItemStyle.js +18 -1
- package/dist/Editor/common/StyleBuilder/gridStyle.js +19 -1
- package/dist/Editor/common/StyleBuilder/sectionStyle.js +1 -1
- package/dist/Editor/helper/theme.js +83 -0
- package/dist/Editor/hooks/useWindowMessage.js +35 -0
- package/dist/Editor/hooks/useWindowResize.js +5 -2
- package/dist/Editor/plugins/withLayout.js +42 -27
- package/dist/Editor/utils/SlateUtilityFunctions.js +22 -5
- package/dist/Editor/utils/pageSettings.js +17 -0
- package/dist/index.js +3 -1
- package/package.json +1 -1
- package/dist/Editor/Elements/Color Picker/LogoIcon.js +0 -25
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import { getTRBLBreakPoints } from "../../../helper/theme";
|
|
3
|
+
import { Box } from "@mui/material";
|
|
2
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
5
|
const FormText = props => {
|
|
4
6
|
const {
|
|
@@ -16,12 +18,6 @@ const FormText = props => {
|
|
|
16
18
|
lockSpacing,
|
|
17
19
|
...rest
|
|
18
20
|
} = fieldProps;
|
|
19
|
-
const {
|
|
20
|
-
left,
|
|
21
|
-
top,
|
|
22
|
-
right,
|
|
23
|
-
bottom
|
|
24
|
-
} = bannerSpacing || {};
|
|
25
21
|
const {
|
|
26
22
|
topLeft,
|
|
27
23
|
topRight,
|
|
@@ -37,16 +33,16 @@ const FormText = props => {
|
|
|
37
33
|
display: "flex"
|
|
38
34
|
},
|
|
39
35
|
contentEditable: false,
|
|
40
|
-
children: /*#__PURE__*/_jsx(
|
|
36
|
+
children: /*#__PURE__*/_jsx(Box, {
|
|
37
|
+
component: "input",
|
|
41
38
|
...rest,
|
|
42
39
|
onChange: onChange,
|
|
43
|
-
|
|
40
|
+
sx: {
|
|
44
41
|
width: "100%",
|
|
45
42
|
border: `1px solid ${borderColor || "#FFF"}`,
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
paddingBottom: `${bottom || 8}px`,
|
|
43
|
+
padding: {
|
|
44
|
+
...getTRBLBreakPoints(bannerSpacing)
|
|
45
|
+
},
|
|
50
46
|
height: height || "auto",
|
|
51
47
|
borderColor: borderColor || "transparent",
|
|
52
48
|
borderWidth: borderWidth || "1px",
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import { Box } from "@mui/material";
|
|
3
|
+
import { getTRBLBreakPoints } from "../../../helper/theme";
|
|
2
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
5
|
const FormTextArea = props => {
|
|
4
6
|
const {
|
|
@@ -15,12 +17,6 @@ const FormTextArea = props => {
|
|
|
15
17
|
bgColor,
|
|
16
18
|
...rest
|
|
17
19
|
} = fieldProps;
|
|
18
|
-
const {
|
|
19
|
-
left,
|
|
20
|
-
top,
|
|
21
|
-
right,
|
|
22
|
-
bottom
|
|
23
|
-
} = bannerSpacing || {};
|
|
24
20
|
const {
|
|
25
21
|
topLeft,
|
|
26
22
|
topRight,
|
|
@@ -36,16 +32,16 @@ const FormTextArea = props => {
|
|
|
36
32
|
display: "flex"
|
|
37
33
|
},
|
|
38
34
|
contentEditable: false,
|
|
39
|
-
children: /*#__PURE__*/_jsx(
|
|
35
|
+
children: /*#__PURE__*/_jsx(Box, {
|
|
36
|
+
component: "textarea",
|
|
40
37
|
...rest,
|
|
41
38
|
onChange: onChange,
|
|
42
|
-
|
|
39
|
+
sx: {
|
|
43
40
|
width: "100%",
|
|
44
41
|
border: `1px solid ${borderColor || "#FFF"}`,
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
paddingBottom: `${bottom || 8}px`,
|
|
42
|
+
padding: {
|
|
43
|
+
...getTRBLBreakPoints(bannerSpacing)
|
|
44
|
+
},
|
|
49
45
|
height: height || "150px",
|
|
50
46
|
borderColor: borderColor || "transparent",
|
|
51
47
|
borderWidth: borderWidth || "1px",
|
|
@@ -12,6 +12,7 @@ import GridPopup from "./GridPopup";
|
|
|
12
12
|
import SectionPopup from "./SectionPopup";
|
|
13
13
|
import { gridItem } from "../../utils/gridItem";
|
|
14
14
|
import { useEditorContext } from "../../hooks/useMouseMove";
|
|
15
|
+
import { getTRBLBreakPoints, getBreakPointsValue } from "../../helper/theme";
|
|
15
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
16
17
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
17
18
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -42,14 +43,8 @@ const Grid = props => {
|
|
|
42
43
|
borderColor,
|
|
43
44
|
borderStyle,
|
|
44
45
|
borderRadius,
|
|
45
|
-
|
|
46
|
+
flexWrap
|
|
46
47
|
} = element;
|
|
47
|
-
const {
|
|
48
|
-
left,
|
|
49
|
-
top,
|
|
50
|
-
right,
|
|
51
|
-
bottom
|
|
52
|
-
} = bannerSpacing || {};
|
|
53
48
|
const {
|
|
54
49
|
vertical,
|
|
55
50
|
horizantal,
|
|
@@ -267,11 +262,7 @@ const Grid = props => {
|
|
|
267
262
|
borderRadius: `${topLeft}px ${topRight}px ${bottomLeft}px ${bottomRight}px`,
|
|
268
263
|
borderStyle: borderStyle || "solid"
|
|
269
264
|
},
|
|
270
|
-
"data-path": path.join(",")
|
|
271
|
-
// sx={{
|
|
272
|
-
// width: `${((gridSize || 12) / 12) * 100}%`,
|
|
273
|
-
// }}
|
|
274
|
-
,
|
|
265
|
+
"data-path": path.join(","),
|
|
275
266
|
children: [fgColor && /*#__PURE__*/_jsx("div", {
|
|
276
267
|
style: {
|
|
277
268
|
position: "absolute",
|
|
@@ -305,19 +296,20 @@ const Grid = props => {
|
|
|
305
296
|
onDelete: onDelete,
|
|
306
297
|
customProps: customProps
|
|
307
298
|
}) : null, /*#__PURE__*/_jsx(GridContainer, {
|
|
308
|
-
|
|
309
|
-
xs: 12,
|
|
299
|
+
container: true,
|
|
310
300
|
className: "grid-c-wrpr",
|
|
311
|
-
|
|
301
|
+
sx: {
|
|
312
302
|
display: "flex",
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
paddingBottom: `${bottom}px`,
|
|
303
|
+
padding: {
|
|
304
|
+
...getTRBLBreakPoints(bannerSpacing)
|
|
305
|
+
},
|
|
317
306
|
alignItems: vertical || "start",
|
|
318
307
|
justifyContent: horizantal || "start",
|
|
319
308
|
flexDirection: flexDirection || "row",
|
|
320
|
-
width: "100%"
|
|
309
|
+
width: "100%",
|
|
310
|
+
flexWrap: {
|
|
311
|
+
...getBreakPointsValue(flexWrap || "wrap")
|
|
312
|
+
}
|
|
321
313
|
},
|
|
322
314
|
"data-path": path.join(","),
|
|
323
315
|
children: children
|
|
@@ -6,6 +6,7 @@ import GridItemPopup from "./GridItemPopup";
|
|
|
6
6
|
import { IconButton, Tooltip, Box, Grid as Item } from "@mui/material";
|
|
7
7
|
import { GridSettingsIcon } from "../../common/iconslist";
|
|
8
8
|
import { useEditorContext } from "../../hooks/useMouseMove";
|
|
9
|
+
import { getBreakPointsValue, getTRBLBreakPoints } from "../../helper/theme";
|
|
9
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
11
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
12
|
const GridItem = props => {
|
|
@@ -24,7 +25,6 @@ const GridItem = props => {
|
|
|
24
25
|
bannerSpacing,
|
|
25
26
|
bgColor,
|
|
26
27
|
alignment,
|
|
27
|
-
gridHeight,
|
|
28
28
|
borderRadius,
|
|
29
29
|
borderStyle,
|
|
30
30
|
borderWidth,
|
|
@@ -33,14 +33,9 @@ const GridItem = props => {
|
|
|
33
33
|
bgColorHover,
|
|
34
34
|
borderColorHover,
|
|
35
35
|
textColor,
|
|
36
|
-
animation
|
|
36
|
+
animation,
|
|
37
|
+
cellGHeight
|
|
37
38
|
} = element;
|
|
38
|
-
const {
|
|
39
|
-
left,
|
|
40
|
-
top,
|
|
41
|
-
right,
|
|
42
|
-
bottom
|
|
43
|
-
} = bannerSpacing || {};
|
|
44
39
|
const {
|
|
45
40
|
vertical,
|
|
46
41
|
horizantal,
|
|
@@ -53,7 +48,6 @@ const GridItem = props => {
|
|
|
53
48
|
bottomRight
|
|
54
49
|
} = borderRadius || {};
|
|
55
50
|
const editor = useSlateStatic();
|
|
56
|
-
const itemWidth = (grid || 6) / 12 * 100;
|
|
57
51
|
const path = ReactEditor.findPath(editor, element);
|
|
58
52
|
const {
|
|
59
53
|
hoverPath
|
|
@@ -104,11 +98,16 @@ const GridItem = props => {
|
|
|
104
98
|
};
|
|
105
99
|
return /*#__PURE__*/_jsxs(Item, {
|
|
106
100
|
item: true,
|
|
107
|
-
xs: grid,
|
|
108
101
|
component: "div",
|
|
109
|
-
className: `grid-item
|
|
102
|
+
className: `grid-item element-root gi-top-wrpr content-editable`,
|
|
110
103
|
...attributes,
|
|
111
104
|
sx: {
|
|
105
|
+
width: {
|
|
106
|
+
...getBreakPointsValue(grid, null, "overrideGridSize", true)
|
|
107
|
+
},
|
|
108
|
+
height: {
|
|
109
|
+
...getBreakPointsValue(cellGHeight || "auto")
|
|
110
|
+
},
|
|
112
111
|
display: "flex",
|
|
113
112
|
flexDirection: flexDirection || "column",
|
|
114
113
|
background: bgColor || "transparent",
|
|
@@ -118,15 +117,12 @@ const GridItem = props => {
|
|
|
118
117
|
borderStyle: borderStyle || "solid",
|
|
119
118
|
alignItems: horizantal,
|
|
120
119
|
justifyContent: vertical,
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
marginTop: `${margin?.top || 0}px`,
|
|
125
|
-
marginBottom: `${margin?.bottom || 0}px`,
|
|
120
|
+
margin: {
|
|
121
|
+
...getTRBLBreakPoints(margin)
|
|
122
|
+
},
|
|
126
123
|
"&:hover": {
|
|
127
124
|
background: `${bgColorHover || bgColor || "transparent"}`
|
|
128
|
-
}
|
|
129
|
-
height: "100%"
|
|
125
|
+
}
|
|
130
126
|
},
|
|
131
127
|
"data-path": path.join(","),
|
|
132
128
|
style: {
|
|
@@ -159,13 +155,11 @@ const GridItem = props => {
|
|
|
159
155
|
sx: {
|
|
160
156
|
display: "flex",
|
|
161
157
|
flexDirection: flexDirection || "column",
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
paddingBottom: `${bottom}px`,
|
|
166
|
-
justifyContent: vertical,
|
|
167
|
-
height: gridHeight || "100%",
|
|
158
|
+
padding: {
|
|
159
|
+
...getTRBLBreakPoints(bannerSpacing)
|
|
160
|
+
},
|
|
168
161
|
width: "100%",
|
|
162
|
+
height: "100%",
|
|
169
163
|
color: textColor || "#000",
|
|
170
164
|
"&:hover": {
|
|
171
165
|
borderColor: borderColorHover || borderColor || "transparent"
|
|
@@ -31,7 +31,6 @@ const carousel_item = itemNo => ({
|
|
|
31
31
|
}]
|
|
32
32
|
}]
|
|
33
33
|
}],
|
|
34
|
-
bgColor: "#ECF4FF",
|
|
35
34
|
lockSpacing: true,
|
|
36
35
|
borderRadius: {
|
|
37
36
|
topLeft: 8,
|
|
@@ -50,6 +49,7 @@ const carousel_item = itemNo => ({
|
|
|
50
49
|
horizontal: "center"
|
|
51
50
|
}
|
|
52
51
|
}],
|
|
52
|
+
bgColor: "#ECF4FF",
|
|
53
53
|
alignment: {
|
|
54
54
|
flexDirection: "row"
|
|
55
55
|
},
|
|
@@ -59,8 +59,7 @@ const carousel_item = itemNo => ({
|
|
|
59
59
|
left: "16",
|
|
60
60
|
right: "16",
|
|
61
61
|
bottom: "16"
|
|
62
|
-
}
|
|
63
|
-
bgColor: "transparent"
|
|
62
|
+
}
|
|
64
63
|
}]
|
|
65
64
|
});
|
|
66
65
|
export default carousel_item;
|
|
@@ -3,7 +3,7 @@ const default_grid = [{
|
|
|
3
3
|
grid: "container",
|
|
4
4
|
children: [{
|
|
5
5
|
type: "grid-item",
|
|
6
|
-
grid:
|
|
6
|
+
grid: 6,
|
|
7
7
|
children: [{
|
|
8
8
|
type: "alignLeft",
|
|
9
9
|
children: [{
|
|
@@ -63,7 +63,7 @@ const default_grid = [{
|
|
|
63
63
|
}
|
|
64
64
|
}, {
|
|
65
65
|
type: "grid-item",
|
|
66
|
-
grid:
|
|
66
|
+
grid: 6,
|
|
67
67
|
children: [{
|
|
68
68
|
type: "alignLeft",
|
|
69
69
|
children: [{
|
|
@@ -176,7 +176,9 @@ const Table = props => {
|
|
|
176
176
|
style: {
|
|
177
177
|
minWidth: "100%",
|
|
178
178
|
maxWidth: "100%",
|
|
179
|
-
position: "relative"
|
|
179
|
+
position: "relative",
|
|
180
|
+
overflowX: "auto",
|
|
181
|
+
overflowY: "hidden"
|
|
180
182
|
},
|
|
181
183
|
children: [/*#__PURE__*/_jsx(TableComp, {
|
|
182
184
|
sx: classes.table,
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import CommonEditor from "./CommonEditor";
|
|
3
|
+
import useWindowMessage from "./hooks/useWindowMessage";
|
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
const IframeEditor = () => {
|
|
6
|
+
const [message, sendMessage] = useWindowMessage({
|
|
7
|
+
type: "editorProps"
|
|
8
|
+
});
|
|
9
|
+
const onSave = (a, b) => {
|
|
10
|
+
sendMessage({
|
|
11
|
+
type: "Editor:onSave",
|
|
12
|
+
payload: {
|
|
13
|
+
a,
|
|
14
|
+
b
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
if (message?.id && message?.content_status) {
|
|
19
|
+
return /*#__PURE__*/_jsx(CommonEditor, {
|
|
20
|
+
...message,
|
|
21
|
+
isIframe: true,
|
|
22
|
+
onSave: onSave
|
|
23
|
+
});
|
|
24
|
+
} else {
|
|
25
|
+
return /*#__PURE__*/_jsx("div", {
|
|
26
|
+
children: "Waiting to receive data"
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
export default IframeEditor;
|
|
@@ -10,20 +10,16 @@ import withCommon from "./hooks/withCommon";
|
|
|
10
10
|
import "./Editor.css";
|
|
11
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
12
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
-
const initialValue = [{
|
|
14
|
-
type: "paragraph",
|
|
15
|
-
children: [{
|
|
16
|
-
text: ""
|
|
17
|
-
}]
|
|
18
|
-
}];
|
|
19
13
|
const MiniEditor = props => {
|
|
20
14
|
const {
|
|
21
15
|
id,
|
|
22
|
-
|
|
16
|
+
content,
|
|
17
|
+
handleEditorChange,
|
|
23
18
|
// onSave,
|
|
24
19
|
// editor: collaborativeEditor,
|
|
25
20
|
readOnly,
|
|
26
21
|
miniEditorPlaceholder,
|
|
22
|
+
className,
|
|
27
23
|
otherProps
|
|
28
24
|
} = props;
|
|
29
25
|
const {
|
|
@@ -103,10 +99,12 @@ const MiniEditor = props => {
|
|
|
103
99
|
}, []);
|
|
104
100
|
return /*#__PURE__*/_jsxs(Slate, {
|
|
105
101
|
editor: editor,
|
|
106
|
-
initialValue:
|
|
102
|
+
initialValue: content,
|
|
103
|
+
onChange: handleEditorChange,
|
|
107
104
|
children: [/*#__PURE__*/_jsx(BasicToolbar, {
|
|
108
105
|
...props
|
|
109
106
|
}), /*#__PURE__*/_jsx(Editable, {
|
|
107
|
+
className: className || "mini-editor-cls",
|
|
110
108
|
renderElement: renderElement,
|
|
111
109
|
renderLeaf: renderLeaf,
|
|
112
110
|
onKeyDown: onKeyDown
|
|
@@ -7,7 +7,15 @@ const editorStyles = ({
|
|
|
7
7
|
position: "relative",
|
|
8
8
|
padding: "0px",
|
|
9
9
|
alignItems: "center",
|
|
10
|
-
justifyContent: "center"
|
|
10
|
+
justifyContent: "center",
|
|
11
|
+
"*": {
|
|
12
|
+
boxSizing: "border-box"
|
|
13
|
+
},
|
|
14
|
+
"&.iframe-editor": {
|
|
15
|
+
"& .mini-tool-wrpr-ei": {
|
|
16
|
+
display: "none"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
11
19
|
},
|
|
12
20
|
slateWrapper: {
|
|
13
21
|
paddingTop: "0px",
|
|
@@ -33,7 +41,6 @@ const editorStyles = ({
|
|
|
33
41
|
"& .editor-wrapper": {
|
|
34
42
|
maxWidth: "100%",
|
|
35
43
|
height: "100%",
|
|
36
|
-
backgroundColor: "#FFF",
|
|
37
44
|
overflow: "visible",
|
|
38
45
|
"& .section-wrapper-fluid": {
|
|
39
46
|
"& .grid-container": {
|
|
@@ -109,7 +116,7 @@ const editorStyles = ({
|
|
|
109
116
|
display: "none"
|
|
110
117
|
}
|
|
111
118
|
},
|
|
112
|
-
"
|
|
119
|
+
"&.needHover:before": {
|
|
113
120
|
content: '" "',
|
|
114
121
|
position: "absolute",
|
|
115
122
|
width: "calc(100% - 2px)",
|
|
@@ -168,6 +175,9 @@ const editorStyles = ({
|
|
|
168
175
|
}
|
|
169
176
|
}
|
|
170
177
|
},
|
|
178
|
+
"& .carousel-item": {
|
|
179
|
+
padding: "12px 32px"
|
|
180
|
+
},
|
|
171
181
|
"& .slick-arrow": {
|
|
172
182
|
borderRadius: "50%",
|
|
173
183
|
backgroundColor: "#F8FAFF",
|
|
@@ -3,6 +3,9 @@ import { TextField, IconButton } from "@mui/material";
|
|
|
3
3
|
import { addMarkData, activeMark } from "../../utils/SlateUtilityFunctions.js";
|
|
4
4
|
import { sizeMap } from "../../utils/font.js";
|
|
5
5
|
import { TextMinusIcon, TextPlusIcon } from "../../common/iconslist.js";
|
|
6
|
+
import { getBreakPointsValue } from "../../helper/theme.js";
|
|
7
|
+
import useWindowResize from "../../hooks/useWindowResize.js";
|
|
8
|
+
import { BREAKPOINTS_DEVICES } from "../../helper/theme.js";
|
|
6
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
10
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
11
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
@@ -11,15 +14,35 @@ const TextSize = ({
|
|
|
11
14
|
format,
|
|
12
15
|
fullWidth
|
|
13
16
|
}) => {
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
const [size] = useWindowResize();
|
|
18
|
+
const val = activeMark(editor, format);
|
|
19
|
+
const value = getBreakPointsValue(val, size?.device);
|
|
20
|
+
const updateMarkData = newVal => {
|
|
21
|
+
let upData = {
|
|
22
|
+
...getBreakPointsValue(val),
|
|
23
|
+
[size?.device]: `${newVal}px`
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
// if desktop update to all other devices
|
|
27
|
+
// to avoid default normal size
|
|
28
|
+
if (size?.device === "lg") {
|
|
29
|
+
upData = BREAKPOINTS_DEVICES.reduce((a, b) => {
|
|
30
|
+
a[b] = `${newVal}px`;
|
|
31
|
+
return a;
|
|
32
|
+
}, {});
|
|
33
|
+
}
|
|
18
34
|
addMarkData(editor, {
|
|
19
35
|
format,
|
|
20
|
-
value:
|
|
36
|
+
value: {
|
|
37
|
+
...upData
|
|
38
|
+
}
|
|
21
39
|
});
|
|
22
40
|
};
|
|
41
|
+
const onChangeSize = e => {
|
|
42
|
+
let inc = parseInt(e.target.value) || 8;
|
|
43
|
+
inc = inc > 200 ? 200 : inc;
|
|
44
|
+
updateMarkData(inc || 8);
|
|
45
|
+
};
|
|
23
46
|
const getSizeVal = () => {
|
|
24
47
|
try {
|
|
25
48
|
const size = `${value}`?.indexOf("px") >= 0 ? value : sizeMap[value] || value;
|
|
@@ -32,17 +55,11 @@ const TextSize = ({
|
|
|
32
55
|
const onIncreaseSize = () => {
|
|
33
56
|
let inc = (combinedOldVal || 0) + 1;
|
|
34
57
|
inc = inc > 200 ? 200 : inc;
|
|
35
|
-
|
|
36
|
-
format,
|
|
37
|
-
value: `${inc}px`
|
|
38
|
-
});
|
|
58
|
+
updateMarkData(inc);
|
|
39
59
|
};
|
|
40
60
|
const onDecreaseSize = () => {
|
|
41
61
|
const newVal = combinedOldVal - 1 < 0 ? 0 : combinedOldVal - 1;
|
|
42
|
-
|
|
43
|
-
format,
|
|
44
|
-
value: `${newVal}px`
|
|
45
|
-
});
|
|
62
|
+
updateMarkData(newVal);
|
|
46
63
|
};
|
|
47
64
|
return /*#__PURE__*/_jsx(_Fragment, {
|
|
48
65
|
children: /*#__PURE__*/_jsx(TextField, {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useState } from "react";
|
|
1
|
+
import React, { useEffect, useState } from "react";
|
|
2
2
|
import { useSlate } from "slate-react";
|
|
3
3
|
import { Box, Dialog, IconButton, Paper, Popper, Tooltip } from "@mui/material";
|
|
4
4
|
import MENU_OPTIONS from "./Options/Options";
|
|
@@ -37,6 +37,11 @@ const MiniToolbar = props => {
|
|
|
37
37
|
const PopupComponent = POPUP_TYPES[popper] || null;
|
|
38
38
|
const open = Boolean(PopupComponent);
|
|
39
39
|
const DialogComp = !fullScreen ? Popper : Dialog;
|
|
40
|
+
useEffect(() => {
|
|
41
|
+
if (popper) {
|
|
42
|
+
setPopper(null);
|
|
43
|
+
}
|
|
44
|
+
}, [editor.selection]);
|
|
40
45
|
const handleClick = type => e => {
|
|
41
46
|
setPopper(type);
|
|
42
47
|
setAnchorEl(e.currentTarget);
|
|
@@ -51,6 +56,7 @@ const MiniToolbar = props => {
|
|
|
51
56
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
52
57
|
children: [/*#__PURE__*/_jsx(Box, {
|
|
53
58
|
component: "div",
|
|
59
|
+
className: "mini-tool-wrpr-ei",
|
|
54
60
|
sx: classes.root,
|
|
55
61
|
children: MENU_OPTIONS.map(({
|
|
56
62
|
type,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useEffect, useState } from "react";
|
|
2
|
-
import { Popper, Fade, Paper } from "@mui/material";
|
|
2
|
+
import { Popper, Fade, Paper, Popover } from "@mui/material";
|
|
3
3
|
import { Editor, Range } from "slate";
|
|
4
4
|
import { useSlate, useFocused } from "slate-react";
|
|
5
5
|
import TextFormat from "./TextFormat";
|
|
@@ -7,6 +7,7 @@ import usePopupStyle from "./PopupToolStyle";
|
|
|
7
7
|
import useDrag from "../../hooks/useDrag";
|
|
8
8
|
import PopperHeader from "./PopperHeader";
|
|
9
9
|
import { TableUtil } from "../../utils/table";
|
|
10
|
+
import useWindowResize from "../../hooks/useWindowResize";
|
|
10
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
12
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
13
|
const PopupTool = props => {
|
|
@@ -21,6 +22,7 @@ const PopupTool = props => {
|
|
|
21
22
|
const [event] = useDrag(anchorEl);
|
|
22
23
|
const id = open ? "popup-edit-tool" : "";
|
|
23
24
|
const table = new TableUtil(editor);
|
|
25
|
+
const [size] = useWindowResize();
|
|
24
26
|
useEffect(() => {
|
|
25
27
|
if (event === "end" && anchorEl && !open) {
|
|
26
28
|
// for table cell selection
|
|
@@ -66,7 +68,7 @@ const PopupTool = props => {
|
|
|
66
68
|
transition: true,
|
|
67
69
|
placement: "auto-end",
|
|
68
70
|
sx: classes.popupWrapper,
|
|
69
|
-
className:
|
|
71
|
+
className: `tools-drawer ${size?.device}`,
|
|
70
72
|
children: ({
|
|
71
73
|
TransitionProps
|
|
72
74
|
}) => /*#__PURE__*/_jsx(Fade, {
|
|
@@ -185,6 +185,9 @@ const iconList = {
|
|
|
185
185
|
moreHorizantal: /*#__PURE__*/_jsx(MoreHorizontal, {}),
|
|
186
186
|
docsUpload: /*#__PURE__*/_jsx(DocsUpload, {}),
|
|
187
187
|
colorbox: /*#__PURE__*/_jsx(BsFillMenuButtonWideFill, {
|
|
188
|
+
style: {
|
|
189
|
+
fill: "#64748B"
|
|
190
|
+
},
|
|
188
191
|
size: 20
|
|
189
192
|
}),
|
|
190
193
|
leftArrow: /*#__PURE__*/_jsx(LeftArrow, {}),
|
|
@@ -4,6 +4,7 @@ import { ReactEditor, useSlateStatic } from "slate-react";
|
|
|
4
4
|
import { Box, IconButton, Tooltip } from "@mui/material";
|
|
5
5
|
import TuneIcon from "@mui/icons-material/Tune";
|
|
6
6
|
import SectionPopup from "../../Elements/Grid/SectionPopup";
|
|
7
|
+
import { getBreakPointsValue, getTRBLBreakPoints } from "../../helper/theme";
|
|
7
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
9
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
10
|
const Section = props => {
|
|
@@ -25,12 +26,6 @@ const Section = props => {
|
|
|
25
26
|
sectionGridSize,
|
|
26
27
|
sectionAlignment
|
|
27
28
|
} = element;
|
|
28
|
-
const {
|
|
29
|
-
left: ssleft,
|
|
30
|
-
top: sstop,
|
|
31
|
-
right: ssright,
|
|
32
|
-
bottom: ssbottom
|
|
33
|
-
} = sectionBannerSpacing || {};
|
|
34
29
|
const {
|
|
35
30
|
topLeft: ssTopLeft,
|
|
36
31
|
topRight: ssTopRight,
|
|
@@ -49,9 +44,9 @@ const Section = props => {
|
|
|
49
44
|
const Toolbar = () => {
|
|
50
45
|
return !readOnly ? /*#__PURE__*/_jsx(Box, {
|
|
51
46
|
component: "div",
|
|
52
|
-
className: "element-toolbar ss hr section-tw",
|
|
47
|
+
className: "element-toolbar no-border-button ss hr section-tw",
|
|
53
48
|
style: {
|
|
54
|
-
left: "
|
|
49
|
+
left: "-28px",
|
|
55
50
|
top: "0px"
|
|
56
51
|
},
|
|
57
52
|
children: /*#__PURE__*/_jsx(Tooltip, {
|
|
@@ -83,20 +78,19 @@ const Section = props => {
|
|
|
83
78
|
at: path
|
|
84
79
|
});
|
|
85
80
|
};
|
|
81
|
+
const needHover = element?.children?.find(f => f.type === "grid") ? "needHover" : "";
|
|
86
82
|
const sectionBgImage = sectionBackgroundImage && sectionBackgroundImage !== "none" ? {
|
|
87
83
|
backgroundImage: `url(${sectionBackgroundImage})`
|
|
88
84
|
} : {};
|
|
89
85
|
return path.length === 1 ? /*#__PURE__*/_jsxs(Box, {
|
|
90
86
|
component: "section",
|
|
91
|
-
className: `ed-section-wrapper ${readOnly ? "" : "hselect"}`,
|
|
92
|
-
|
|
93
|
-
position: "relative",
|
|
87
|
+
className: `ed-section-wrapper ${readOnly ? "" : "hselect"} ${needHover}`,
|
|
88
|
+
sx: {
|
|
94
89
|
background: sectionBgColor,
|
|
95
90
|
...sectionBgImage,
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
paddingBottom: `${ssbottom || 2}px`,
|
|
91
|
+
padding: {
|
|
92
|
+
...getTRBLBreakPoints(sectionBannerSpacing)
|
|
93
|
+
},
|
|
100
94
|
borderRadius: `${ssTopLeft}px ${ssTopRight}px ${ssBottomLeft}px ${ssBottomRight}px`,
|
|
101
95
|
flexDirection: flexDirection || "column",
|
|
102
96
|
alignItems: horizantal,
|
|
@@ -105,7 +99,10 @@ const Section = props => {
|
|
|
105
99
|
children: [/*#__PURE__*/_jsxs(Box, {
|
|
106
100
|
className: "ed-section-inner",
|
|
107
101
|
sx: {
|
|
108
|
-
|
|
102
|
+
position: "relative",
|
|
103
|
+
width: {
|
|
104
|
+
...getBreakPointsValue(sectionGridSize || 8, null, "overrideGridSize", true)
|
|
105
|
+
}
|
|
109
106
|
},
|
|
110
107
|
children: [children, /*#__PURE__*/_jsx(Toolbar, {})]
|
|
111
108
|
}), openSetttings ? /*#__PURE__*/_jsx(SectionPopup, {
|