@flozy/editor 3.8.8 → 3.8.9
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/ChatEditor.js +31 -57
- package/dist/Editor/CommonEditor.js +69 -8
- package/dist/Editor/DialogWrapper.js +4 -3
- package/dist/Editor/Editor.css +5 -12
- package/dist/Editor/Elements/AI/PopoverAIInput.js +47 -36
- package/dist/Editor/Elements/Accordion/Accordion.js +1 -1
- package/dist/Editor/Elements/Accordion/AccordionSummary.js +6 -20
- package/dist/Editor/Elements/AppHeader/AppHeader.js +36 -23
- package/dist/Editor/Elements/Button/EditorButton.js +23 -16
- package/dist/Editor/Elements/Embed/Image.js +15 -14
- package/dist/Editor/Elements/Embed/Video.js +12 -8
- package/dist/Editor/Elements/Emoji/EmojiButton.js +11 -7
- package/dist/Editor/Elements/Emoji/EmojiPicker.js +2 -4
- package/dist/Editor/Elements/Form/Form.js +1 -1
- package/dist/Editor/Elements/FreeGrid/FreeGrid.js +391 -0
- package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +193 -0
- package/dist/Editor/Elements/FreeGrid/FreeGridButton.js +23 -0
- package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +184 -0
- package/dist/Editor/Elements/FreeGrid/Options/AddElement.js +36 -0
- package/dist/Editor/Elements/FreeGrid/Options/More.js +24 -0
- package/dist/Editor/Elements/FreeGrid/Options/SectionSettings.js +47 -0
- package/dist/Editor/Elements/FreeGrid/Options/sectionItemOptions.js +11 -0
- package/dist/Editor/Elements/FreeGrid/breakpointConstants.js +75 -0
- package/dist/Editor/Elements/FreeGrid/styles.js +159 -0
- package/dist/Editor/Elements/Grid/Grid.js +12 -8
- package/dist/Editor/Elements/Grid/GridItem.js +31 -21
- package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +1 -5
- package/dist/Editor/Elements/SimpleText/index.js +9 -8
- package/dist/Editor/Elements/SimpleText/style.js +37 -0
- package/dist/Editor/ErrorBoundary.js +30 -0
- package/dist/Editor/Styles/EditorStyles.js +23 -0
- package/dist/Editor/Toolbar/Mini/MiniToolbar.js +1 -25
- package/dist/Editor/Toolbar/PopupTool/TextFormat.js +1 -0
- package/dist/Editor/Toolbar/PopupTool/index.js +8 -0
- package/dist/Editor/Toolbar/Toolbar.js +7 -0
- package/dist/Editor/Toolbar/toolbarGroups.js +5 -0
- package/dist/Editor/common/Icon.js +9 -2
- package/dist/Editor/common/MentionsPopup/MentionsListCard.js +1 -6
- package/dist/Editor/common/MentionsPopup/index.js +12 -8
- package/dist/Editor/common/RnD/ContextMenu/CMenus.js +105 -0
- package/dist/Editor/common/RnD/ContextMenu/index.js +38 -0
- package/dist/Editor/common/RnD/ContextMenu/styles.js +21 -0
- package/dist/Editor/common/RnD/DragInfo/index.js +31 -0
- package/dist/Editor/common/RnD/DragInfo/styles.js +15 -0
- package/dist/Editor/common/RnD/DragOver/index.js +46 -0
- package/dist/Editor/common/RnD/DragOver/styles.js +23 -0
- package/dist/Editor/common/RnD/ElementOptions/Actions.js +82 -0
- package/dist/Editor/common/RnD/ElementOptions/Icons/LinkIcon.js +26 -0
- package/dist/Editor/common/RnD/ElementOptions/index.js +93 -0
- package/dist/Editor/common/RnD/ElementOptions/styles.js +41 -0
- package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Link.js +153 -0
- package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +58 -0
- package/dist/Editor/common/RnD/ElementSettings/OtherSettings/index.js +7 -0
- package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +46 -0
- package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +46 -0
- package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +46 -0
- package/dist/Editor/common/RnD/ElementSettings/Settings/TextSettings.js +30 -0
- package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +46 -0
- package/dist/Editor/common/RnD/ElementSettings/Settings/index.js +13 -0
- package/dist/Editor/common/RnD/ElementSettings/index.js +17 -0
- package/dist/Editor/common/RnD/ElementSettings/settingsConstants.js +14 -0
- package/dist/Editor/common/RnD/ElementSettings/styles.js +76 -0
- package/dist/Editor/common/RnD/GuideLines/BoundaryLine.js +52 -0
- package/dist/Editor/common/RnD/GuideLines/index.js +33 -0
- package/dist/Editor/common/RnD/GuideLines/styles.js +60 -0
- package/dist/Editor/common/RnD/OptionsPopup/index.js +50 -0
- package/dist/Editor/common/RnD/OptionsPopup/style.js +36 -0
- package/dist/Editor/common/RnD/RnDCopy.js +23 -0
- package/dist/Editor/common/RnD/ShadowElement.js +34 -0
- package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +40 -0
- package/dist/Editor/common/RnD/SwitchViewport/styles.js +24 -0
- package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +63 -0
- package/dist/Editor/common/RnD/TransformHandles/CornerHandle.js +19 -0
- package/dist/Editor/common/RnD/TransformHandles/Icons/BottomRightIcon.js +13 -0
- package/dist/Editor/common/RnD/TransformHandles/SizeHandle.js +18 -0
- package/dist/Editor/common/RnD/TransformHandles/index.js +62 -0
- package/dist/Editor/common/RnD/Utils/alignmentDetection.js +26 -0
- package/dist/Editor/common/RnD/Utils/calculateDropItem.js +98 -0
- package/dist/Editor/common/RnD/Utils/collisionDetection.js +52 -0
- package/dist/Editor/common/RnD/Utils/gridDropItem.js +148 -0
- package/dist/Editor/common/RnD/Utils/index.js +251 -0
- package/dist/Editor/common/RnD/VirtualElement/index.js +76 -0
- package/dist/Editor/common/RnD/VirtualElement/styles.js +27 -0
- package/dist/Editor/common/RnD/VirtualElement/updateAutoProps.js +28 -0
- package/dist/Editor/common/RnD/index.js +503 -0
- package/dist/Editor/common/RnD/styles.js +4 -0
- package/dist/Editor/common/Section/index.js +21 -12
- package/dist/Editor/common/Section/styles.js +6 -1
- package/dist/Editor/common/Shorthands/elements.js +12 -0
- package/dist/Editor/common/StyleBuilder/boxStyle.js +30 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +32 -31
- package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +16 -18
- package/dist/Editor/common/StyleBuilder/fieldTypes/selectBox.js +3 -14
- package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +4 -2
- package/dist/Editor/common/StyleBuilder/index.js +2 -2
- package/dist/Editor/common/StyleBuilder/sectionStyle.js +13 -2
- package/dist/Editor/helper/RnD/focusOnNewItem.js +39 -0
- package/dist/Editor/helper/RnD/scrollToNewSection.js +24 -0
- package/dist/Editor/helper/breakpoint.js +5 -0
- package/dist/Editor/helper/index.js +139 -22
- package/dist/Editor/helper/theme.js +50 -2
- package/dist/Editor/hooks/useBreakpoints.js +34 -0
- package/dist/Editor/hooks/useMouseMove.js +36 -8
- package/dist/Editor/hooks/withCommon.js +2 -1
- package/dist/Editor/hooks/withErrorHandling.js +14 -0
- package/dist/Editor/utils/RnD/RnDCtrlCmds.js +168 -0
- package/dist/Editor/utils/SlateUtilityFunctions.js +31 -5
- package/dist/Editor/utils/draftToSlate.js +1 -1
- package/dist/Editor/utils/events.js +5 -0
- package/dist/Editor/utils/freegrid.js +49 -0
- package/dist/Editor/utils/helper.js +29 -0
- package/package.json +5 -2
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
const useFreeGridStyles = ({
|
|
2
|
+
theme,
|
|
3
|
+
MAX_DEVICE_WIDTH
|
|
4
|
+
}) => ({
|
|
5
|
+
root: {
|
|
6
|
+
"&.freegrid-container": {
|
|
7
|
+
display: "grid",
|
|
8
|
+
gridTemplateColumns: "var(--cols)",
|
|
9
|
+
gridTemplateRows: "var(--rows)",
|
|
10
|
+
gridGap: "0px",
|
|
11
|
+
backgroundColor: "#FFF",
|
|
12
|
+
padding: "0px",
|
|
13
|
+
height: "100%",
|
|
14
|
+
position: "static",
|
|
15
|
+
overflow: "hidden",
|
|
16
|
+
"& .freegrid-item, & .freegrid-box-item": {
|
|
17
|
+
gridArea: "var(--gridArea)",
|
|
18
|
+
left: "var(--left)",
|
|
19
|
+
marginTop: "var(--marginTop)",
|
|
20
|
+
marginLeft: `calc((100% - ${MAX_DEVICE_WIDTH}px) * 0.5)`,
|
|
21
|
+
zIndex: "var(--zIndex) !important",
|
|
22
|
+
"&.active-drag": {},
|
|
23
|
+
"&.inactive-drag": {},
|
|
24
|
+
"& .editor-blocker": {
|
|
25
|
+
position: "absolute",
|
|
26
|
+
left: 0,
|
|
27
|
+
top: 0,
|
|
28
|
+
width: "100%",
|
|
29
|
+
height: "100%",
|
|
30
|
+
background: "rgba(0,0,0,0)",
|
|
31
|
+
border: 0,
|
|
32
|
+
outline: 0
|
|
33
|
+
},
|
|
34
|
+
"&.enable-1, &.enable-2": {
|
|
35
|
+
"&.type_text": {
|
|
36
|
+
// height: "fit-content !important",
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"&.enable-1:before, &.enable-2:before": {
|
|
40
|
+
position: "absolute",
|
|
41
|
+
content: "attr(placeholder)",
|
|
42
|
+
top: "-22px",
|
|
43
|
+
left: "-2px",
|
|
44
|
+
padding: "2px 4px",
|
|
45
|
+
backgroundColor: "#2563EB",
|
|
46
|
+
color: "#FFF",
|
|
47
|
+
fontSize: "12px",
|
|
48
|
+
borderTopLeftRadius: "2px",
|
|
49
|
+
borderTopRightRadius: "2px",
|
|
50
|
+
width: "auto",
|
|
51
|
+
height: "16px"
|
|
52
|
+
},
|
|
53
|
+
"&:hover": {
|
|
54
|
+
"& .debug-info": {
|
|
55
|
+
opacity: 1
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"& .debug-info": {
|
|
59
|
+
position: "absolute",
|
|
60
|
+
top: "calc(100% + 8px)",
|
|
61
|
+
pointerEvents: "none",
|
|
62
|
+
left: 0,
|
|
63
|
+
background: "rgba(0,0,0,0.2)",
|
|
64
|
+
color: "red",
|
|
65
|
+
width: "100%",
|
|
66
|
+
padding: "6px",
|
|
67
|
+
opacity: 0
|
|
68
|
+
},
|
|
69
|
+
"&.enable-1": {
|
|
70
|
+
"&.type_text": {
|
|
71
|
+
"*": {
|
|
72
|
+
"::selection": {
|
|
73
|
+
backgroundColor: "transparent !important",
|
|
74
|
+
color: "inherit !important"
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
/** for element items */
|
|
80
|
+
"& .fgi_type_image, & .fgi_type_video": {
|
|
81
|
+
height: "100%",
|
|
82
|
+
"& .embed": {
|
|
83
|
+
height: "100%",
|
|
84
|
+
"& .embed-image-wrpr, & .embed-video-wrpr-in, & .element-empty-btn": {
|
|
85
|
+
height: "100%"
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
"& .fgi_type_button": {
|
|
90
|
+
height: "100%",
|
|
91
|
+
"& .editor-btn-wrapper": {
|
|
92
|
+
height: "100%",
|
|
93
|
+
"& .editor-btn-wrapper-inner": {
|
|
94
|
+
width: "100%",
|
|
95
|
+
height: "100%",
|
|
96
|
+
"& span": {
|
|
97
|
+
width: "100%",
|
|
98
|
+
height: "100%"
|
|
99
|
+
},
|
|
100
|
+
"& .btn": {
|
|
101
|
+
width: "100%",
|
|
102
|
+
height: "100%",
|
|
103
|
+
"&.textAlign-left": {
|
|
104
|
+
justifyContent: "start"
|
|
105
|
+
},
|
|
106
|
+
"&.textAlign-right": {
|
|
107
|
+
justifyContent: "end"
|
|
108
|
+
},
|
|
109
|
+
"&.textAlign-center": {
|
|
110
|
+
justifyContent: "center"
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
"& .fgi_type_box": {
|
|
117
|
+
width: "100%",
|
|
118
|
+
height: "100%"
|
|
119
|
+
},
|
|
120
|
+
/** element toolbar hide */
|
|
121
|
+
"& .element-toolbar": {
|
|
122
|
+
display: "none"
|
|
123
|
+
},
|
|
124
|
+
[theme.breakpoints.between("xs", "md")]: {
|
|
125
|
+
marginLeft: `calc((100% - 320px) * 0.5)`
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
sectionPopper: {
|
|
131
|
+
zIndex: 1200,
|
|
132
|
+
width: "40px",
|
|
133
|
+
left: "-40px !important",
|
|
134
|
+
"& .papper-root": {
|
|
135
|
+
fontFamily: "sans-serif",
|
|
136
|
+
background: "#FFF",
|
|
137
|
+
"& .MuiIconButton-root": {
|
|
138
|
+
padding: "10px",
|
|
139
|
+
color: "#000",
|
|
140
|
+
background: "#FFF",
|
|
141
|
+
"& svg": {
|
|
142
|
+
width: "20px",
|
|
143
|
+
height: "20px"
|
|
144
|
+
},
|
|
145
|
+
"&.active,&:hover ": {}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
sectionSettingsPopper: {
|
|
150
|
+
"&.style-settings-wrpr": {
|
|
151
|
+
height: "300px",
|
|
152
|
+
overflowY: "auto",
|
|
153
|
+
overflowX: "hidden",
|
|
154
|
+
padding: "8px 8px 12px 12px",
|
|
155
|
+
marginBotton: "12px"
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
export default useFreeGridStyles;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import React, { useState } from "react";
|
|
3
3
|
import { Transforms, Path } from "slate";
|
|
4
4
|
import { useSlateStatic, ReactEditor } from "slate-react";
|
|
5
|
-
import { IconButton, Tooltip, Grid as GridContainer } from "@mui/material";
|
|
5
|
+
import { IconButton, Tooltip, Grid as GridContainer, useTheme } from "@mui/material";
|
|
6
6
|
import ArrowUpwardIcon from "@mui/icons-material/ArrowUpward";
|
|
7
7
|
import ArrowDownwardIcon from "@mui/icons-material/ArrowDownward";
|
|
8
8
|
import KeyboardReturnIcon from "@mui/icons-material/KeyboardReturn";
|
|
@@ -13,7 +13,7 @@ import GridPopup from "./GridPopup";
|
|
|
13
13
|
import SectionPopup from "./SectionPopup";
|
|
14
14
|
import { gridItem } from "../../utils/gridItem";
|
|
15
15
|
import { useEditorContext, useEditorSelection } from "../../hooks/useMouseMove";
|
|
16
|
-
import { getTRBLBreakPoints, getBreakPointsValue } from "../../helper/theme";
|
|
16
|
+
import { getTRBLBreakPoints, getBreakPointsValue, groupByBreakpoint } from "../../helper/theme";
|
|
17
17
|
import useWindowResize from "../../hooks/useWindowResize";
|
|
18
18
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
19
19
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
@@ -75,6 +75,7 @@ const GridToolBar = ({
|
|
|
75
75
|
}) : null;
|
|
76
76
|
};
|
|
77
77
|
const Grid = props => {
|
|
78
|
+
const theme = useTheme();
|
|
78
79
|
const {
|
|
79
80
|
attributes,
|
|
80
81
|
children,
|
|
@@ -275,6 +276,14 @@ const Grid = props => {
|
|
|
275
276
|
bottomLeft,
|
|
276
277
|
bottomRight
|
|
277
278
|
} = getBreakPointsValue(borderRadius, size?.device) || {};
|
|
279
|
+
const gridcwrprProps = groupByBreakpoint({
|
|
280
|
+
padding: {
|
|
281
|
+
...getTRBLBreakPoints(bannerSpacing)
|
|
282
|
+
},
|
|
283
|
+
flexWrap: {
|
|
284
|
+
...getBreakPointsValue(flexWrap || "wrap")
|
|
285
|
+
}
|
|
286
|
+
}, theme);
|
|
278
287
|
return /*#__PURE__*/_jsxs(GridContainer, {
|
|
279
288
|
container: true,
|
|
280
289
|
className: `grid-container ${grid} has-hover element-root dpath`,
|
|
@@ -340,16 +349,11 @@ const Grid = props => {
|
|
|
340
349
|
className: "grid-c-wrpr",
|
|
341
350
|
sx: {
|
|
342
351
|
display: "flex",
|
|
343
|
-
|
|
344
|
-
...getTRBLBreakPoints(bannerSpacing)
|
|
345
|
-
},
|
|
352
|
+
...gridcwrprProps,
|
|
346
353
|
alignItems: vertical || "start",
|
|
347
354
|
justifyContent: horizantal || "start",
|
|
348
355
|
flexDirection: flexDirection || "row",
|
|
349
356
|
width: "100%",
|
|
350
|
-
flexWrap: {
|
|
351
|
-
...getBreakPointsValue(flexWrap || "wrap")
|
|
352
|
-
},
|
|
353
357
|
height: "auto"
|
|
354
358
|
},
|
|
355
359
|
"data-path": path.join(","),
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
/* eslint-disable no-unused-vars */
|
|
2
2
|
import React, { useState } from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { useTheme } from "@mui/material";
|
|
4
|
+
import { Transforms } from "slate";
|
|
4
5
|
import { useSlateStatic, ReactEditor } from "slate-react";
|
|
5
6
|
import GridItemPopup from "./GridItemPopup";
|
|
6
7
|
import { IconButton, Tooltip, Box, Grid as Item } from "@mui/material";
|
|
7
8
|
import { GridSettingsIcon } from "../../common/iconslist";
|
|
8
9
|
import { useEditorContext, useEditorSelection } from "../../hooks/useMouseMove";
|
|
9
|
-
import { getBreakPointsValue, getTRBLBreakPoints } from "../../helper/theme";
|
|
10
|
+
import { groupByBreakpoint, getBreakPointsValue, getBRValue, getTRBLBreakPoints } from "../../helper/theme";
|
|
10
11
|
import { isEmptyNode } from "../../utils/helper";
|
|
12
|
+
import { wrapThemeBreakpoints } from "../FreeGrid/breakpointConstants";
|
|
11
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
14
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
15
|
const GridItemToolbar = ({
|
|
@@ -34,6 +36,7 @@ const GridItemToolbar = ({
|
|
|
34
36
|
}) : null;
|
|
35
37
|
};
|
|
36
38
|
const GridItem = props => {
|
|
39
|
+
const theme = useTheme();
|
|
37
40
|
const {
|
|
38
41
|
attributes,
|
|
39
42
|
children,
|
|
@@ -102,35 +105,44 @@ const GridItem = props => {
|
|
|
102
105
|
const getBorderColor = () => {
|
|
103
106
|
return borderColor || "transparent";
|
|
104
107
|
};
|
|
108
|
+
const getBRProps = groupByBreakpoint({
|
|
109
|
+
display: {
|
|
110
|
+
xs: xsHidden ? "none" : "inline-block",
|
|
111
|
+
lg: "inline-block"
|
|
112
|
+
},
|
|
113
|
+
width: {
|
|
114
|
+
...getBreakPointsValue(grid, null, "overrideGridSize", true)
|
|
115
|
+
},
|
|
116
|
+
height: {
|
|
117
|
+
...getBreakPointsValue(cellGHeight || "auto")
|
|
118
|
+
},
|
|
119
|
+
borderRadius: {
|
|
120
|
+
...getBreakPointsValue(borderRadius || {}, null, "overrideBorderRadius", true)
|
|
121
|
+
},
|
|
122
|
+
margin: {
|
|
123
|
+
...getTRBLBreakPoints(margin)
|
|
124
|
+
}
|
|
125
|
+
}, theme);
|
|
126
|
+
const giInProps = groupByBreakpoint({
|
|
127
|
+
padding: {
|
|
128
|
+
...getTRBLBreakPoints(bannerSpacing)
|
|
129
|
+
}
|
|
130
|
+
}, theme);
|
|
105
131
|
return /*#__PURE__*/_jsxs(Item, {
|
|
106
132
|
item: true,
|
|
107
133
|
component: "div",
|
|
108
134
|
className: `grid-item element-root gi-top-wrpr dpath`,
|
|
109
135
|
...attributes,
|
|
110
136
|
sx: {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
},
|
|
114
|
-
height: {
|
|
115
|
-
...getBreakPointsValue(cellGHeight || "auto")
|
|
116
|
-
},
|
|
117
|
-
display: {
|
|
118
|
-
lg: "flex",
|
|
119
|
-
xs: xsHidden ? "none" : "flex"
|
|
120
|
-
},
|
|
137
|
+
...getBRProps,
|
|
138
|
+
display: "flex",
|
|
121
139
|
flexDirection: flexDirection || "column",
|
|
122
140
|
background: bgColor || "transparent",
|
|
123
141
|
borderColor: getBorderColor(),
|
|
124
142
|
borderWidth: borderWidth || "1px",
|
|
125
|
-
borderRadius: {
|
|
126
|
-
...getBreakPointsValue(borderRadius || {}, null, "overrideBorderRadius", true)
|
|
127
|
-
},
|
|
128
143
|
borderStyle: borderStyle || "solid",
|
|
129
144
|
alignItems: horizantal,
|
|
130
145
|
justifyContent: vertical,
|
|
131
|
-
margin: {
|
|
132
|
-
...getTRBLBreakPoints(margin)
|
|
133
|
-
},
|
|
134
146
|
"&:hover": {
|
|
135
147
|
background: `${bgColorHover || bgColor || "transparent"}`
|
|
136
148
|
}
|
|
@@ -169,9 +181,7 @@ const GridItem = props => {
|
|
|
169
181
|
sx: {
|
|
170
182
|
display: "flex",
|
|
171
183
|
flexDirection: flexDirection || "column",
|
|
172
|
-
|
|
173
|
-
...getTRBLBreakPoints(bannerSpacing)
|
|
174
|
-
},
|
|
184
|
+
...giInProps,
|
|
175
185
|
width: "100%",
|
|
176
186
|
height: "100%",
|
|
177
187
|
color: textColor || "#000",
|
|
@@ -11,9 +11,7 @@ const PageSettingsButton = props => {
|
|
|
11
11
|
const {
|
|
12
12
|
customProps,
|
|
13
13
|
icoBtnType,
|
|
14
|
-
from
|
|
15
|
-
closePopper,
|
|
16
|
-
setToolTip
|
|
14
|
+
from
|
|
17
15
|
} = props;
|
|
18
16
|
const [openSetttings, setOpenSettings] = useState(false);
|
|
19
17
|
const editor = useSlateStatic();
|
|
@@ -40,8 +38,6 @@ const PageSettingsButton = props => {
|
|
|
40
38
|
}
|
|
41
39
|
};
|
|
42
40
|
const onClose = () => {
|
|
43
|
-
closePopper(true);
|
|
44
|
-
setToolTip(false);
|
|
45
41
|
setOpenSettings(false);
|
|
46
42
|
};
|
|
47
43
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
@@ -6,7 +6,7 @@ import { isTextSelected } from "../../utils/helper";
|
|
|
6
6
|
import { useEditorContext } from "../../hooks/useMouseMove";
|
|
7
7
|
import SimpleTextStyle from "./style";
|
|
8
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
-
import {
|
|
9
|
+
import { createElement as _createElement } from "react";
|
|
10
10
|
const SimpleText = props => {
|
|
11
11
|
const {
|
|
12
12
|
theme,
|
|
@@ -38,15 +38,16 @@ const SimpleText = props => {
|
|
|
38
38
|
const showPlaceHolder = !readOnly && path.length === 1 && isEmpty;
|
|
39
39
|
const isEmptyEditor = !readOnly && isEmpty && editor.children.length === 1 && !selected;
|
|
40
40
|
const opacity = !isTextSelected(editor?.selection);
|
|
41
|
-
|
|
41
|
+
const nextType = element?.children[0]?.type;
|
|
42
|
+
return /*#__PURE__*/_createElement(Box, {
|
|
42
43
|
...element.attr,
|
|
43
44
|
...attributes,
|
|
44
|
-
className: `simple-text`,
|
|
45
|
+
className: `simple-text ${nextType}`,
|
|
45
46
|
sx: classes.root,
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
});
|
|
47
|
+
key: `para_${path.join("|")}`
|
|
48
|
+
}, children, openAI ? null : /*#__PURE__*/_jsx("span", {
|
|
49
|
+
className: "placeholder-simple-text",
|
|
50
|
+
children: isEmptyEditor ? editorPlaceholder || "Write Something..." : showPlaceHolder ? opacity && selected ? "Type / to browse elements" : "" : ""
|
|
51
|
+
}));
|
|
51
52
|
};
|
|
52
53
|
export default SimpleText;
|
|
@@ -23,6 +23,43 @@ const SimpleTextStyle = ({
|
|
|
23
23
|
background: "transparent",
|
|
24
24
|
color: invertColor(pageColor)
|
|
25
25
|
}
|
|
26
|
+
},
|
|
27
|
+
"& .freegrid-section": {
|
|
28
|
+
"&.enable-1:before": {
|
|
29
|
+
content: "' '",
|
|
30
|
+
pointerEvents: "none",
|
|
31
|
+
position: "absolute",
|
|
32
|
+
left: "2px",
|
|
33
|
+
top: "2px",
|
|
34
|
+
width: "calc(100% - 4px)",
|
|
35
|
+
height: "calc(100% - 4px)",
|
|
36
|
+
outline: "2px solid #2563EB",
|
|
37
|
+
zIndex: 1
|
|
38
|
+
},
|
|
39
|
+
"&:hover, &.enable-1": {
|
|
40
|
+
"& .freegrid-section-infos": {
|
|
41
|
+
pointerEvents: "none",
|
|
42
|
+
position: "absolute",
|
|
43
|
+
top: 0,
|
|
44
|
+
left: 0,
|
|
45
|
+
width: "100%",
|
|
46
|
+
zIndex: 1,
|
|
47
|
+
":before": {
|
|
48
|
+
position: "absolute",
|
|
49
|
+
content: "attr(placeholder)",
|
|
50
|
+
left: "0px",
|
|
51
|
+
top: "0px",
|
|
52
|
+
width: "auto",
|
|
53
|
+
height: "auto",
|
|
54
|
+
backgroundColor: "#8360FD",
|
|
55
|
+
padding: "4px 6px",
|
|
56
|
+
fontSize: "12px",
|
|
57
|
+
fontWeight: "500",
|
|
58
|
+
color: "#FFF",
|
|
59
|
+
lineHeight: "12px"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
26
63
|
}
|
|
27
64
|
},
|
|
28
65
|
section: {
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React, { Component } from "react";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
class ErrorBoundary extends Component {
|
|
4
|
+
constructor(props) {
|
|
5
|
+
super(props);
|
|
6
|
+
this.state = {
|
|
7
|
+
hasError: false
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
static getDerivedStateFromError(error) {
|
|
11
|
+
// Update state so the next render will show the fallback UI.
|
|
12
|
+
return {
|
|
13
|
+
hasError: true
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
componentDidCatch(error, errorInfo) {
|
|
17
|
+
// You can also log the error to an error reporting service
|
|
18
|
+
console.error("Error caught in Error Boundary: ", error, errorInfo);
|
|
19
|
+
}
|
|
20
|
+
render() {
|
|
21
|
+
if (this.state.hasError) {
|
|
22
|
+
// You can render any custom fallback UI
|
|
23
|
+
return /*#__PURE__*/_jsx("h1", {
|
|
24
|
+
children: "Something went wrong."
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
return this.props.children;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export default ErrorBoundary;
|
|
@@ -29,6 +29,28 @@ const editorStyles = ({
|
|
|
29
29
|
"& .MuiOutlinedInput-input": {
|
|
30
30
|
color: theme?.palette?.editor?.textColor || "black"
|
|
31
31
|
}
|
|
32
|
+
},
|
|
33
|
+
"&.stimulate-xs": {
|
|
34
|
+
":before": {
|
|
35
|
+
content: '" "',
|
|
36
|
+
position: "absolute",
|
|
37
|
+
top: 0,
|
|
38
|
+
left: 0,
|
|
39
|
+
width: "calc(50% - 162px)",
|
|
40
|
+
height: "100%",
|
|
41
|
+
pointerEvents: "none",
|
|
42
|
+
backgroundColor: "#FFF"
|
|
43
|
+
},
|
|
44
|
+
":after": {
|
|
45
|
+
content: '" "',
|
|
46
|
+
position: "absolute",
|
|
47
|
+
top: 0,
|
|
48
|
+
right: 0,
|
|
49
|
+
width: "calc(50% - 160px)",
|
|
50
|
+
height: "100%",
|
|
51
|
+
pointerEvents: "none",
|
|
52
|
+
backgroundColor: "#FFF"
|
|
53
|
+
}
|
|
32
54
|
}
|
|
33
55
|
},
|
|
34
56
|
slateWrapper: {
|
|
@@ -243,6 +265,7 @@ const editorStyles = ({
|
|
|
243
265
|
}
|
|
244
266
|
},
|
|
245
267
|
"&.hideScroll": {
|
|
268
|
+
overflowAnchor: "none",
|
|
246
269
|
"&::-webkit-scrollbar-track": {
|
|
247
270
|
background: "none !important"
|
|
248
271
|
},
|
|
@@ -9,7 +9,6 @@ import miniToolbarStyles from "./Styles";
|
|
|
9
9
|
import usePopupStyle from "../PopupTool/PopupToolStyle";
|
|
10
10
|
import PopperHeader from "../PopupTool/PopperHeader";
|
|
11
11
|
import { useEditorContext } from "../../hooks/useMouseMove";
|
|
12
|
-
import PageSettingsButton from "../../Elements/PageSettings/PageSettingsButton";
|
|
13
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
13
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
14
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
@@ -48,23 +47,12 @@ const MiniToolbar = props => {
|
|
|
48
47
|
const {
|
|
49
48
|
popupType
|
|
50
49
|
} = useEditorContext();
|
|
51
|
-
const [toolTip, setToolTip] = useState(false);
|
|
52
|
-
const [data, setData] = useState(null);
|
|
53
|
-
useEffect(() => {
|
|
54
|
-
if (data) {
|
|
55
|
-
setToolTip(false);
|
|
56
|
-
setData(null);
|
|
57
|
-
}
|
|
58
|
-
}, [data]);
|
|
59
50
|
useEffect(() => {
|
|
60
51
|
if (popper) {
|
|
61
52
|
setPopper(null);
|
|
62
53
|
}
|
|
63
54
|
}, [editor.selection]);
|
|
64
55
|
const handleClick = type => e => {
|
|
65
|
-
if (type === "page-settings") {
|
|
66
|
-
setToolTip(true);
|
|
67
|
-
}
|
|
68
56
|
setPopper(type);
|
|
69
57
|
setAnchorEl(e.currentTarget);
|
|
70
58
|
};
|
|
@@ -78,10 +66,6 @@ const MiniToolbar = props => {
|
|
|
78
66
|
const onSearch = e => {
|
|
79
67
|
setSearch(e?.target?.value || "");
|
|
80
68
|
};
|
|
81
|
-
const closePopper = data => {
|
|
82
|
-
setData(data);
|
|
83
|
-
setToolTip("false");
|
|
84
|
-
};
|
|
85
69
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
86
70
|
children: [/*#__PURE__*/_jsx(Box, {
|
|
87
71
|
component: "div",
|
|
@@ -97,19 +81,11 @@ const MiniToolbar = props => {
|
|
|
97
81
|
return /*#__PURE__*/_jsx(Tooltip, {
|
|
98
82
|
arrow: true,
|
|
99
83
|
title: label,
|
|
100
|
-
disableHoverListener: toolTip,
|
|
101
84
|
children: /*#__PURE__*/_jsx(IconButton, {
|
|
102
85
|
className: type === popper ? "active" : "",
|
|
103
86
|
onClick: handleClick(type),
|
|
104
87
|
disabled: isDisabled,
|
|
105
|
-
children:
|
|
106
|
-
from: "miniToolBar",
|
|
107
|
-
icoBtnType: "mini",
|
|
108
|
-
customProps: customProps,
|
|
109
|
-
editor: editor,
|
|
110
|
-
closePopper: closePopper,
|
|
111
|
-
setToolTip: setToolTip
|
|
112
|
-
}) : /*#__PURE__*/_jsx(Icon, {
|
|
88
|
+
children: /*#__PURE__*/_jsx(Icon, {
|
|
113
89
|
from: "miniToolBar",
|
|
114
90
|
icoBtnType: "mini",
|
|
115
91
|
customProps: customProps,
|
|
@@ -31,6 +31,9 @@ const PopupTool = props => {
|
|
|
31
31
|
const id = open ? "popup-edit-tool" : "";
|
|
32
32
|
const table = new TableUtil(editor);
|
|
33
33
|
const [size] = useWindowResize();
|
|
34
|
+
const {
|
|
35
|
+
selectedElement
|
|
36
|
+
} = useEditorContext();
|
|
34
37
|
useEffect(() => {
|
|
35
38
|
if (event === "end" && anchorEl && !open) {
|
|
36
39
|
// for table cell selection
|
|
@@ -53,6 +56,11 @@ const PopupTool = props => {
|
|
|
53
56
|
updateAnchorEl();
|
|
54
57
|
}
|
|
55
58
|
}, [selection]);
|
|
59
|
+
useEffect(() => {
|
|
60
|
+
if (selectedElement?.enable === 1) {
|
|
61
|
+
setAnchorEl(null);
|
|
62
|
+
}
|
|
63
|
+
}, [selection, selectedElement?.path, selectedElement?.enable]);
|
|
56
64
|
const updateAnchorEl = () => {
|
|
57
65
|
try {
|
|
58
66
|
const domSelection = window.getSelection();
|
|
@@ -31,6 +31,7 @@ import AttachmentsButton from "../Elements/Attachments/AttachmentsButton";
|
|
|
31
31
|
import ColorboxButton from "../Elements/Colorbox/ColorboxButton.js";
|
|
32
32
|
import DividerButton from "../Elements/Divider/DividerButton.js";
|
|
33
33
|
import EmbedScript from "../Elements/EmbedScript/EmbedScript.js";
|
|
34
|
+
import FreeGridButton from "../Elements/FreeGrid/FreeGridButton.js";
|
|
34
35
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
35
36
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
36
37
|
export const RenderToolbarIcon = props => {
|
|
@@ -133,6 +134,12 @@ export const RenderToolbarIcon = props => {
|
|
|
133
134
|
customProps: customProps,
|
|
134
135
|
icoBtnType: icoBtnType
|
|
135
136
|
}, element.id);
|
|
137
|
+
case "freegrid":
|
|
138
|
+
return /*#__PURE__*/_jsx(FreeGridButton, {
|
|
139
|
+
editor: editor,
|
|
140
|
+
customProps: customProps,
|
|
141
|
+
icoBtnType: icoBtnType
|
|
142
|
+
}, element.id);
|
|
136
143
|
case "newLine":
|
|
137
144
|
return /*#__PURE__*/_jsx(NewLineButton, {
|
|
138
145
|
editor: editor,
|
|
@@ -7,11 +7,12 @@ import { AiFillEdit, AiOutlineInsertRowBelow, AiOutlineInsertRowRight, AiOutline
|
|
|
7
7
|
import { SiLatex } from "react-icons/si";
|
|
8
8
|
import { RiDeleteColumn, RiDeleteRow } from "react-icons/ri";
|
|
9
9
|
import { IoIosImage } from "react-icons/io";
|
|
10
|
+
import { CiGrid32 } from "react-icons/ci";
|
|
10
11
|
import { GridIcon, AccordionIcon, SignatureIcon, ButtonIcon, Carousal, FormIcon, BoldIcon, FontFamilyIcon, FontSizeIcon, ImageIcon, ItalicIcon, LinkIcon, StrikethroughIcon, TableIcon, UnderLineIcon, VideoIcon, CheckboxIcon, AppHeader, MoreHorizontal, UploadImage, DocsUpload, LeftArrow, RightArrow, CheckListButton, CheckListButtonActive, ExcelIcon, CsvIcon, DividerIcon, CloseIcon, SearchIcon, ExpandIcon, CalendarIconNew, Text, TextAreaIcon, Phone, BriefCase, Bank, CalendarTick, DollarSquare, Checkbox, Description, RadioButtonIcon, CheckedIcon, UncheckedIcon, InfinityIcon, ResetIcon } from "./iconslist";
|
|
11
12
|
import ArrowRightIcon from "@mui/icons-material/ArrowRight";
|
|
12
13
|
import ArrowDropDownIcon from "@mui/icons-material/ArrowDropDown";
|
|
13
|
-
import EmailRoundedIcon from
|
|
14
|
-
import InfoOutlinedIcon from
|
|
14
|
+
import EmailRoundedIcon from "@mui/icons-material/EmailRounded";
|
|
15
|
+
import InfoOutlinedIcon from "@mui/icons-material/InfoOutlined";
|
|
15
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
16
17
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
18
|
const iconList = {
|
|
@@ -215,6 +216,12 @@ const iconList = {
|
|
|
215
216
|
}
|
|
216
217
|
}),
|
|
217
218
|
calenderNewIcon: /*#__PURE__*/_jsx(CalendarIconNew, {}),
|
|
219
|
+
freegrid: /*#__PURE__*/_jsx(CiGrid32, {
|
|
220
|
+
size: 20,
|
|
221
|
+
style: {
|
|
222
|
+
fill: "#64748B"
|
|
223
|
+
}
|
|
224
|
+
}),
|
|
218
225
|
text: /*#__PURE__*/_jsx(Text, {}),
|
|
219
226
|
textArea: /*#__PURE__*/_jsx(TextAreaIcon, {}),
|
|
220
227
|
phone: /*#__PURE__*/_jsx(Phone, {}),
|
|
@@ -39,12 +39,7 @@ const MentionsListCard = props => {
|
|
|
39
39
|
},
|
|
40
40
|
alt: name,
|
|
41
41
|
children: /*#__PURE__*/_jsx(Avatar, {
|
|
42
|
-
|
|
43
|
-
background: 'linear-gradient(90deg, #5351FC 0%, #19A9FC 100%)'
|
|
44
|
-
},
|
|
45
|
-
alt: name,
|
|
46
|
-
src: avatar_filename,
|
|
47
|
-
children: !avatar_filename && name && name.charAt(0).toUpperCase()
|
|
42
|
+
src: avatar_filename
|
|
48
43
|
})
|
|
49
44
|
}), /*#__PURE__*/_jsx(Box, {
|
|
50
45
|
sx: {
|