@flozy/editor 9.1.4 → 9.1.6
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 +2 -19
- package/dist/Editor/CommonEditor.js +37 -104
- package/dist/Editor/DialogWrapper.js +25 -31
- package/dist/Editor/Editor.css +3 -21
- package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
- package/dist/Editor/Elements/Button/EditorButton.js +9 -25
- package/dist/Editor/Elements/Color Picker/ColorButtons.js +12 -57
- package/dist/Editor/Elements/Color Picker/ColorPicker.css +1 -25
- package/dist/Editor/Elements/Color Picker/ColorPicker.js +5 -5
- package/dist/Editor/Elements/Color Picker/Styles.js +1 -1
- package/dist/Editor/Elements/DataView/Layouts/ColumnView.js +1 -4
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +4 -3
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/styles.js +1 -6
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/DateType.js +9 -19
- package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +2 -32
- package/dist/Editor/Elements/DataView/Layouts/TableView.js +29 -126
- package/dist/Editor/Elements/DataView/Layouts/ViewData.js +3 -3
- package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +1 -1
- package/dist/Editor/Elements/DataView/styles.js +8 -8
- package/dist/Editor/Elements/Embed/Image.js +2 -2
- package/dist/Editor/Elements/FreeGrid/FreeGrid.js +14 -0
- package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +1 -2
- package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +1 -2
- package/dist/Editor/Elements/FreeGrid/styles.js +0 -3
- package/dist/Editor/Elements/Grid/GridItem.js +3 -2
- package/dist/Editor/Elements/Link/Link.js +43 -70
- package/dist/Editor/Elements/SimpleText/index.js +1 -0
- package/dist/Editor/Elements/SimpleText/style.js +2 -2
- package/dist/Editor/Elements/Table/Table.js +27 -43
- package/dist/Editor/Elements/Table/TableCell.js +5 -5
- package/dist/Editor/Elements/Title/title.js +31 -13
- package/dist/Editor/Elements/Variables/Style.js +2 -28
- package/dist/Editor/Elements/Variables/VariableButton.js +4 -17
- package/dist/Editor/Styles/EditorStyles.js +5 -5
- package/dist/Editor/Toolbar/FormatTools/Dropdown.js +3 -27
- package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +3 -4
- package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
- package/dist/Editor/Toolbar/FormatTools/TextSize.js +15 -7
- package/dist/Editor/Toolbar/Mini/MiniToolbar.js +0 -1
- package/dist/Editor/Toolbar/PopupTool/AddTemplates.js +8 -9
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +13 -6
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +85 -210
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +1 -2
- package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +12 -16
- package/dist/Editor/Toolbar/PopupTool/TextFormat.js +7 -54
- package/dist/Editor/Toolbar/PopupTool/index.js +17 -6
- package/dist/Editor/Toolbar/toolbarGroups.js +6 -48
- package/dist/Editor/common/ColorPickerButton.js +9 -35
- package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
- package/dist/Editor/common/DnD/Draggable.js +1 -0
- package/dist/Editor/common/FontLoader/FontLoader.js +0 -3
- package/dist/Editor/common/Icon.js +0 -28
- package/dist/Editor/common/ImageSelector/Options/Upload.js +1 -1
- package/dist/Editor/common/ImageSelector/Styles.js +9 -3
- package/dist/Editor/common/ImageSelector/UploadStyles.js +10 -9
- package/dist/Editor/common/MentionsPopup/Styles.js +12 -6
- package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +1 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +2 -4
- package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/styles.js +1 -0
- package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +2 -8
- package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +10 -31
- package/dist/Editor/common/RnD/Utils/gridDropItem.js +4 -5
- package/dist/Editor/common/RnD/Utils/index.js +0 -45
- package/dist/Editor/common/RnD/VirtualElement/index.js +2 -1
- package/dist/Editor/common/RnD/index.js +3 -23
- package/dist/Editor/common/Shorthands/elements.js +0 -54
- package/dist/Editor/common/StyleBuilder/buttonStyle.js +2 -4
- package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +0 -5
- package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +2 -12
- package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +7 -15
- package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +2 -10
- package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +11 -35
- package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +4 -13
- package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +7 -15
- package/dist/Editor/common/Uploader.js +0 -8
- package/dist/Editor/commonStyle.js +69 -114
- package/dist/Editor/helper/index.js +12 -8
- package/dist/Editor/helper/theme.js +2 -200
- package/dist/Editor/hooks/useDrag.js +11 -17
- package/dist/Editor/hooks/useEditorScroll.js +6 -10
- package/dist/Editor/hooks/useMouseMove.js +13 -25
- package/dist/Editor/hooks/useTable.js +1 -1
- package/dist/Editor/plugins/withEmbeds.js +1 -1
- package/dist/Editor/plugins/withHTML.js +16 -20
- package/dist/Editor/plugins/withLayout.js +1 -1
- package/dist/Editor/plugins/withTable.js +1 -1
- package/dist/Editor/theme/ThemeList.js +173 -50
- package/dist/Editor/utils/SlateUtilityFunctions.js +37 -150
- package/dist/Editor/utils/button.js +14 -0
- package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +0 -23
- package/dist/Editor/utils/draftToSlate.js +2 -3
- package/dist/Editor/utils/font.js +37 -40
- package/dist/Editor/utils/helper.js +27 -59
- package/dist/Editor/utils/link.js +1 -1
- package/dist/Editor/utils/table.js +0 -8
- package/package.json +3 -6
- package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +0 -438
- package/dist/Editor/assets/svg/ThemeIcons.js +0 -291
- package/dist/Editor/common/CustomColorPicker/index.js +0 -106
- package/dist/Editor/common/CustomColorPicker/style.js +0 -53
- package/dist/Editor/common/CustomDialog/index.js +0 -90
- package/dist/Editor/common/CustomDialog/styles.js +0 -80
- package/dist/Editor/common/CustomDialog2/index.js +0 -94
- package/dist/Editor/common/CustomDialog2/style.js +0 -67
- package/dist/Editor/common/CustomSelect.js +0 -33
- package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +0 -17
- package/dist/Editor/hooks/useEditorTheme.js +0 -153
- package/dist/Editor/theme/index.js +0 -144
- package/dist/Editor/themeSettings/ActiveTheme.js +0 -72
- package/dist/Editor/themeSettings/buttons/index.js +0 -283
- package/dist/Editor/themeSettings/buttons/style.js +0 -21
- package/dist/Editor/themeSettings/colorTheme/index.js +0 -292
- package/dist/Editor/themeSettings/colorTheme/style.js +0 -77
- package/dist/Editor/themeSettings/fonts/PreviewElement.js +0 -121
- package/dist/Editor/themeSettings/fonts/index.js +0 -220
- package/dist/Editor/themeSettings/fonts/style.js +0 -44
- package/dist/Editor/themeSettings/icons.js +0 -60
- package/dist/Editor/themeSettings/index.js +0 -320
- package/dist/Editor/themeSettings/style.js +0 -152
- package/dist/Editor/themeSettingsAI/icons.js +0 -96
- package/dist/Editor/themeSettingsAI/index.js +0 -356
- package/dist/Editor/themeSettingsAI/saveTheme.js +0 -197
- package/dist/Editor/themeSettingsAI/style.js +0 -250
@@ -8,8 +8,7 @@ const ButtonSettings = props => {
|
|
8
8
|
const {
|
9
9
|
editor,
|
10
10
|
path,
|
11
|
-
customProps
|
12
|
-
onClose
|
11
|
+
customProps
|
13
12
|
} = props;
|
14
13
|
const item_path = path?.split("|").map(m => parseInt(m));
|
15
14
|
const element_path = [...item_path, 0];
|
@@ -29,7 +28,7 @@ const ButtonSettings = props => {
|
|
29
28
|
});
|
30
29
|
};
|
31
30
|
const handleClose = () => {
|
32
|
-
|
31
|
+
console.log("close");
|
33
32
|
};
|
34
33
|
return /*#__PURE__*/_jsx(Box, {
|
35
34
|
component: "div",
|
@@ -8,8 +8,7 @@ const CodeSettings = props => {
|
|
8
8
|
const {
|
9
9
|
editor,
|
10
10
|
path,
|
11
|
-
customProps
|
12
|
-
onClose
|
11
|
+
customProps
|
13
12
|
} = props;
|
14
13
|
const item_path = path?.split("|").map(m => parseInt(m));
|
15
14
|
const element_path = [...item_path, 0];
|
@@ -28,7 +27,7 @@ const CodeSettings = props => {
|
|
28
27
|
});
|
29
28
|
};
|
30
29
|
const handleClose = () => {
|
31
|
-
|
30
|
+
console.log("close");
|
32
31
|
};
|
33
32
|
return /*#__PURE__*/_jsx(Box, {
|
34
33
|
component: "div",
|
@@ -12,8 +12,7 @@ const FormSettings = props => {
|
|
12
12
|
const {
|
13
13
|
editor,
|
14
14
|
path,
|
15
|
-
customProps
|
16
|
-
onClose
|
15
|
+
customProps
|
17
16
|
} = props;
|
18
17
|
const item_path = path?.split("|").map(m => parseInt(m));
|
19
18
|
const element_path = [...item_path];
|
@@ -56,14 +55,13 @@ const FormSettings = props => {
|
|
56
55
|
}
|
57
56
|
};
|
58
57
|
const handleClose = () => {
|
59
|
-
|
58
|
+
console.log("close");
|
60
59
|
};
|
61
60
|
const muiTheme = createTheme({
|
62
61
|
components: {
|
63
62
|
MuiAccordion: {
|
64
63
|
styleOverrides: {
|
65
64
|
root: {
|
66
|
-
background: theme?.palette?.editor?.miniToolBarBackground,
|
67
65
|
"& .MuiAccordionSummary-root": {
|
68
66
|
flexDirection: "row-reverse",
|
69
67
|
"& .MuiSvgIcon-root": {
|
@@ -8,8 +8,7 @@ const ImageSettings = props => {
|
|
8
8
|
const {
|
9
9
|
editor,
|
10
10
|
path,
|
11
|
-
customProps
|
12
|
-
onClose
|
11
|
+
customProps
|
13
12
|
} = props;
|
14
13
|
const item_path = path?.split("|").map(m => parseInt(m));
|
15
14
|
const element_path = [...item_path, 0];
|
@@ -28,7 +27,7 @@ const ImageSettings = props => {
|
|
28
27
|
});
|
29
28
|
};
|
30
29
|
const handleClose = () => {
|
31
|
-
|
30
|
+
console.log("close");
|
32
31
|
};
|
33
32
|
return /*#__PURE__*/_jsx(Box, {
|
34
33
|
component: "div",
|
@@ -9,8 +9,7 @@ const TableSettings = props => {
|
|
9
9
|
const {
|
10
10
|
editor,
|
11
11
|
path,
|
12
|
-
customProps
|
13
|
-
onClose
|
12
|
+
customProps
|
14
13
|
} = props;
|
15
14
|
const item_path = path?.split("|").map(m => parseInt(m));
|
16
15
|
const element_path = [...item_path, 0];
|
@@ -58,7 +57,7 @@ const TableSettings = props => {
|
|
58
57
|
}
|
59
58
|
};
|
60
59
|
const handleClose = () => {
|
61
|
-
|
60
|
+
console.log("close");
|
62
61
|
};
|
63
62
|
return /*#__PURE__*/_jsx(Box, {
|
64
63
|
component: "div",
|
@@ -8,8 +8,7 @@ const VideoSettings = props => {
|
|
8
8
|
const {
|
9
9
|
editor,
|
10
10
|
path,
|
11
|
-
customProps
|
12
|
-
onClose
|
11
|
+
customProps
|
13
12
|
} = props;
|
14
13
|
const item_path = path?.split("|").map(m => parseInt(m));
|
15
14
|
const element_path = [...item_path, 0];
|
@@ -29,7 +28,7 @@ const VideoSettings = props => {
|
|
29
28
|
});
|
30
29
|
};
|
31
30
|
const handleClose = () => {
|
32
|
-
|
31
|
+
console.log("close");
|
33
32
|
};
|
34
33
|
return /*#__PURE__*/_jsx(Box, {
|
35
34
|
component: "div",
|
@@ -58,6 +58,7 @@ const useElementSettingsStyle = theme => ({
|
|
58
58
|
maxHeight: "500px",
|
59
59
|
overflowX: "hidden",
|
60
60
|
overflowY: "auto",
|
61
|
+
paddingLeft: "4px",
|
61
62
|
background: theme?.palette?.editor?.background,
|
62
63
|
paddingLeft: "4px",
|
63
64
|
"& .MuiTypography-root, .MuiInputBase-root, input": {
|
@@ -9,23 +9,17 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
9
|
const SwitchViewport = props => {
|
10
10
|
const {
|
11
11
|
breakpoint,
|
12
|
-
onChange
|
13
|
-
show
|
12
|
+
onChange
|
14
13
|
} = props;
|
15
14
|
const classes = useSwitchViewport();
|
16
15
|
const {
|
17
|
-
setSelectedElement,
|
18
16
|
setActiveBreakPoint
|
19
17
|
} = useEditorContext();
|
20
18
|
useEffect(() => {
|
21
|
-
|
22
|
-
setSelectedElement({});
|
19
|
+
console.log(breakpoint);
|
23
20
|
}, [breakpoint]);
|
24
21
|
return /*#__PURE__*/_jsxs(Box, {
|
25
22
|
sx: classes.root,
|
26
|
-
style: {
|
27
|
-
display: show ? "block" : "none"
|
28
|
-
},
|
29
23
|
children: [/*#__PURE__*/_jsx(Tooltip, {
|
30
24
|
title: "Desktop View",
|
31
25
|
children: /*#__PURE__*/_jsx(IconButton, {
|
@@ -1,20 +1,9 @@
|
|
1
1
|
import React from "react";
|
2
|
-
import { useTheme, createTheme } from "@mui/material";
|
2
|
+
import { useTheme, ThemeProvider, createTheme } from "@mui/material";
|
3
3
|
import { isStimulator, STIMULATOR_MOCK } from "../../../hooks/useBreakpoints";
|
4
|
-
import MainThemeProvider from "./MainThemeProvider";
|
5
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
6
|
-
const isPdf = () => {
|
7
|
-
try {
|
8
|
-
const hash = window.location.hash;
|
9
|
-
const queryString = hash.split("?")[1]; // Get part after "?"
|
10
|
-
const params = new URLSearchParams(queryString);
|
11
|
-
return params.get("isPdf");
|
12
|
-
} catch (err) {
|
13
|
-
console.log(err);
|
14
|
-
}
|
15
|
-
};
|
16
4
|
|
17
5
|
// Custom breakpoints functions
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
18
7
|
const customUp = (key, breakpoints) => {
|
19
8
|
const MOCK_BREAKPOINT = isStimulator();
|
20
9
|
if (key === "xs") {
|
@@ -49,35 +38,25 @@ const customOnly = (key, breakpoints) => {
|
|
49
38
|
}
|
50
39
|
return `@media (min-width: ${breakpoints[key]}px) and (max-width: ${breakpoints[key + 1]}px)`;
|
51
40
|
};
|
52
|
-
|
53
|
-
|
41
|
+
|
42
|
+
// Extend the existing theme with custom breakpoint functions
|
43
|
+
const extendedTheme = prevTheme => createTheme({
|
44
|
+
...prevTheme,
|
45
|
+
breakpoints: {
|
54
46
|
...prevTheme.breakpoints,
|
55
47
|
up: key => customUp(key, prevTheme.breakpoints.values),
|
56
48
|
down: key => customDown(key, prevTheme.breakpoints.values),
|
57
49
|
between: (start, end) => customBetween(start, end, prevTheme.breakpoints.values),
|
58
50
|
only: key => customOnly(key, prevTheme.breakpoints.values)
|
59
|
-
}
|
60
|
-
};
|
61
|
-
|
62
|
-
// Extend the existing theme with custom breakpoint functions
|
63
|
-
const extendedTheme = prevTheme => createTheme({
|
64
|
-
...prevTheme,
|
65
|
-
breakpoints: isPdf() ? {
|
66
|
-
values: {
|
67
|
-
...prevTheme.breakpoints.values,
|
68
|
-
md: 400 // To resolve, while taking pdf on A4 size, it is getting mobile view because of breakpoint
|
69
|
-
}
|
70
|
-
} : getBreakPoints(prevTheme)
|
51
|
+
}
|
71
52
|
});
|
72
53
|
const ViewportStimulator = ({
|
73
|
-
children
|
74
|
-
selectedTheme
|
54
|
+
children
|
75
55
|
}) => {
|
76
56
|
const theme = useTheme();
|
77
57
|
const viewportTheme = extendedTheme(theme);
|
78
|
-
return /*#__PURE__*/_jsx(
|
58
|
+
return /*#__PURE__*/_jsx(ThemeProvider, {
|
79
59
|
theme: viewportTheme,
|
80
|
-
userSelectedTheme: selectedTheme,
|
81
60
|
children: children
|
82
61
|
});
|
83
62
|
};
|
@@ -2,11 +2,10 @@ import { Transforms, Node, Path } from "slate";
|
|
2
2
|
import { ReactEditor } from "slate-react";
|
3
3
|
import { handleNegativeInteger } from "../../../utils/helper";
|
4
4
|
export const ROW_HEIGHT = 50;
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
// };
|
5
|
+
const MARGIN_OF = {
|
6
|
+
xs: 160,
|
7
|
+
lg: 490
|
8
|
+
};
|
10
9
|
|
11
10
|
/**
|
12
11
|
* This method will update the grid template rows of parent section based on height
|
@@ -1,9 +1,6 @@
|
|
1
1
|
import { Transforms, Node } from "slate";
|
2
2
|
import { ReactEditor } from "slate-react";
|
3
3
|
import { getNearestItem } from "./calculateDropItem";
|
4
|
-
import { ROW_HEIGHT, getBorderWidth } from "./gridDropItem";
|
5
|
-
import { handleNegativeInteger } from "../../../utils/helper";
|
6
|
-
import { getDevice } from "../../../helper/theme";
|
7
4
|
const GUIDE_LINE_THRESHOLD = 5;
|
8
5
|
const GUIDE_LINE_OVERLAP_THRESHOLD = 5;
|
9
6
|
const handleMoveNode = (editor, path, newPath, {
|
@@ -251,46 +248,4 @@ export function getParentSectionPath(props, closestClass) {
|
|
251
248
|
} catch (err) {
|
252
249
|
console.log(err);
|
253
250
|
}
|
254
|
-
}
|
255
|
-
export function getAbsolutePositionX(currentEle) {
|
256
|
-
const isMobile = getDevice(window.innerWidth) === "xs";
|
257
|
-
const {
|
258
|
-
left: currElementLeft
|
259
|
-
} = currentEle?.getBoundingClientRect() || {};
|
260
|
-
let parentBoxDom = currentEle?.closest(".fgi_type_box");
|
261
|
-
if (isMobile && !parentBoxDom) {
|
262
|
-
parentBoxDom = currentEle?.closest(".freegrid-section");
|
263
|
-
}
|
264
|
-
const relativeElementX = parentBoxDom || document.querySelector(".rnd-guideline-lv");
|
265
|
-
const {
|
266
|
-
left
|
267
|
-
} = relativeElementX?.getBoundingClientRect() || {};
|
268
|
-
const borderLeftWidth = getBorderWidth(relativeElementX, "borderLeftWidth");
|
269
|
-
const absolutePositionX = parseInt(currElementLeft - left - borderLeftWidth);
|
270
|
-
return {
|
271
|
-
absolutePositionX
|
272
|
-
};
|
273
|
-
}
|
274
|
-
export function getAbsolutePositionY(currentEle) {
|
275
|
-
const {
|
276
|
-
top: currElementTop
|
277
|
-
} = currentEle?.getBoundingClientRect() || {};
|
278
|
-
const relativeElementY = currentEle?.closest(".freegrid-container-parent");
|
279
|
-
const borderTopWidth = getBorderWidth(relativeElementY, "borderTopWidth");
|
280
|
-
const rect = relativeElementY.getBoundingClientRect();
|
281
|
-
const absolutePositionY = handleNegativeInteger(currElementTop - rect.top - borderTopWidth);
|
282
|
-
|
283
|
-
// Calculate grid position
|
284
|
-
const row = Math.floor(absolutePositionY / ROW_HEIGHT) + 1;
|
285
|
-
|
286
|
-
// Update grid area
|
287
|
-
const gridArea = `${row} / 1 / ${row + 1} / 2`;
|
288
|
-
|
289
|
-
// to calculate difference inside the grid
|
290
|
-
const marginTop = Math.abs((row - 1) * ROW_HEIGHT - absolutePositionY);
|
291
|
-
return {
|
292
|
-
absolutePositionY,
|
293
|
-
gridArea,
|
294
|
-
marginTop
|
295
|
-
};
|
296
251
|
}
|
@@ -75,12 +75,13 @@ const VirtualElement = props => {
|
|
75
75
|
const virtualRef = useRef();
|
76
76
|
useEffect(() => {
|
77
77
|
if (virtualRef?.current) {
|
78
|
-
setTimeout(() => {
|
78
|
+
const timeoutId = setTimeout(() => {
|
79
79
|
const allData = calculateProps(path, virtualRef?.current, ROOT_ITEM_CLASS, []);
|
80
80
|
const groupData = groupByPathAndCalculateHeight(allData);
|
81
81
|
// it should trigger by auto alignment or on clicking mobile view change
|
82
82
|
updateAutoProps(editor, allData, "xs", groupData);
|
83
83
|
}, 100);
|
84
|
+
return () => clearTimeout(timeoutId);
|
84
85
|
}
|
85
86
|
}, [updated_at, virtualRef?.current]);
|
86
87
|
const calculateProps = (curPath, dom, domClass, allData) => {
|
@@ -6,7 +6,7 @@ import Handles from "./TransformHandles";
|
|
6
6
|
import { useEditorContext } from "../../hooks/useMouseMove";
|
7
7
|
import ElementOptions from "./ElementOptions";
|
8
8
|
import ElementSettings from "./ElementSettings";
|
9
|
-
import {
|
9
|
+
import { getClosestDraggable, getParentSectionPath } from "./Utils";
|
10
10
|
import DragInfo from "./DragInfo";
|
11
11
|
import GuideLines from "./GuideLines";
|
12
12
|
import ShadowElement from "./ShadowElement";
|
@@ -425,26 +425,9 @@ const RnD = props => {
|
|
425
425
|
};
|
426
426
|
const onResizeStop = (e, direction, ref, d, position) => {
|
427
427
|
e.preventDefault();
|
428
|
-
let updatedPosition = {};
|
429
|
-
if (type !== "parent") {
|
430
|
-
// update element position while resizing, (for free grid box and item)
|
431
|
-
const {
|
432
|
-
absolutePositionX
|
433
|
-
} = getAbsolutePositionX(ref);
|
434
|
-
const {
|
435
|
-
gridArea,
|
436
|
-
marginTop
|
437
|
-
} = getAbsolutePositionY(ref);
|
438
|
-
updatedPosition = {
|
439
|
-
left: absolutePositionX,
|
440
|
-
gridArea: gridArea,
|
441
|
-
marginTop: marginTop
|
442
|
-
};
|
443
|
-
}
|
444
428
|
const updatedSize = {
|
445
429
|
width: delta?.width + d.width,
|
446
|
-
height: delta?.height + d.height
|
447
|
-
...updatedPosition
|
430
|
+
height: delta?.height + d.height
|
448
431
|
};
|
449
432
|
onChange({
|
450
433
|
...updatedSize
|
@@ -522,10 +505,7 @@ const RnD = props => {
|
|
522
505
|
ref: c => {
|
523
506
|
positionRef.current = c;
|
524
507
|
},
|
525
|
-
className: `${className || ""} ${dragInfoOpen ? "active-drag" : "inactive-drag"} enable-${enable} type_${childType} section_type_${type || "parent"}
|
526
|
-
// Fix rerender issue (remove-resize-styles): After resizing, click close button on a free grid-selected element
|
527
|
-
// doesn't remove the default `transform` style from react-rnd. Removing it manually.
|
528
|
-
}`,
|
508
|
+
className: `${className || ""} ${dragInfoOpen ? "active-drag" : "inactive-drag"} enable-${enable} type_${childType} section_type_${type || "parent"}`,
|
529
509
|
"data-path": str_path,
|
530
510
|
style: {
|
531
511
|
position: "relative",
|
@@ -43,60 +43,6 @@ const ELEMENTS_LIST = [{
|
|
43
43
|
icon: "headingThree"
|
44
44
|
}),
|
45
45
|
onInsert: editor => toggleBlock(editor, "headingThree", false)
|
46
|
-
}, {
|
47
|
-
name: "Heading 4",
|
48
|
-
desc: "",
|
49
|
-
group: "Text",
|
50
|
-
type: "headingFour",
|
51
|
-
icon: /*#__PURE__*/_jsx(Icon, {
|
52
|
-
icon: "headingFour"
|
53
|
-
}),
|
54
|
-
onInsert: editor => toggleBlock(editor, "headingFour", false)
|
55
|
-
}, {
|
56
|
-
name: "Heading 5",
|
57
|
-
desc: "",
|
58
|
-
group: "Text",
|
59
|
-
type: "headingFive",
|
60
|
-
icon: /*#__PURE__*/_jsx(Icon, {
|
61
|
-
icon: "headingFive"
|
62
|
-
}),
|
63
|
-
onInsert: editor => toggleBlock(editor, "headingFive", false)
|
64
|
-
}, {
|
65
|
-
name: "Heading 6",
|
66
|
-
desc: "",
|
67
|
-
group: "Text",
|
68
|
-
type: "headingSix",
|
69
|
-
icon: /*#__PURE__*/_jsx(Icon, {
|
70
|
-
icon: "headingSix"
|
71
|
-
}),
|
72
|
-
onInsert: editor => toggleBlock(editor, "headingSix", false)
|
73
|
-
}, {
|
74
|
-
name: "Paragraph 1",
|
75
|
-
desc: "",
|
76
|
-
group: "Text",
|
77
|
-
type: "paragraphOne",
|
78
|
-
icon: /*#__PURE__*/_jsx(Icon, {
|
79
|
-
icon: "paragraphOne"
|
80
|
-
}),
|
81
|
-
onInsert: editor => toggleBlock(editor, "paragraphOne", false)
|
82
|
-
}, {
|
83
|
-
name: "Paragraph 2",
|
84
|
-
desc: "",
|
85
|
-
group: "Text",
|
86
|
-
type: "paragraphTwo",
|
87
|
-
icon: /*#__PURE__*/_jsx(Icon, {
|
88
|
-
icon: "paragraphTwo"
|
89
|
-
}),
|
90
|
-
onInsert: editor => toggleBlock(editor, "paragraphTwo", false)
|
91
|
-
}, {
|
92
|
-
name: "Paragraph 3",
|
93
|
-
desc: "",
|
94
|
-
group: "Text",
|
95
|
-
type: "paragraphThree",
|
96
|
-
icon: /*#__PURE__*/_jsx(Icon, {
|
97
|
-
icon: "paragraphThree"
|
98
|
-
}),
|
99
|
-
onInsert: editor => toggleBlock(editor, "paragraphThree", false)
|
100
46
|
}, {
|
101
47
|
name: "Quote",
|
102
48
|
desc: "",
|
@@ -21,8 +21,7 @@ const buttonStyle = [{
|
|
21
21
|
},
|
22
22
|
children: option.text
|
23
23
|
});
|
24
|
-
}
|
25
|
-
themeEnabled: true
|
24
|
+
}
|
26
25
|
}, {
|
27
26
|
label: "Font Size",
|
28
27
|
key: "textSize",
|
@@ -46,8 +45,7 @@ const buttonStyle = [{
|
|
46
45
|
}, {
|
47
46
|
label: "Button Color",
|
48
47
|
key: "bgColor",
|
49
|
-
type: "color"
|
50
|
-
themeEnabled: true
|
48
|
+
type: "color"
|
51
49
|
}, {
|
52
50
|
label: "Border Color",
|
53
51
|
key: "borderColor",
|
@@ -73,11 +73,6 @@ const BackgroundImage = props => {
|
|
73
73
|
children: "REMOVE"
|
74
74
|
}) : /*#__PURE__*/_jsx(Grid, {
|
75
75
|
className: "uploadImageText",
|
76
|
-
sx: {
|
77
|
-
padding: 0,
|
78
|
-
background: `${theme?.palette?.editor?.inputFieldBgColor}`,
|
79
|
-
border: `1px solid ${theme?.palette?.editor?.inputFieldBorder}`
|
80
|
-
},
|
81
76
|
children: /*#__PURE__*/_jsxs(Button, {
|
82
77
|
component: "label",
|
83
78
|
variant: "text",
|
@@ -3,13 +3,13 @@ import { Checkbox, FormControlLabel, Grid, Slider, Typography, Box, IconButton }
|
|
3
3
|
import { squreStyle } from "./radiusStyle";
|
4
4
|
import { getBreakPointsValue } from "../../../helper/theme";
|
5
5
|
import useWindowResize from "../../../hooks/useWindowResize";
|
6
|
-
import { useEditorTheme } from "../../../hooks/useEditorTheme";
|
7
6
|
import { CheckedBoxCheckIcon } from "../../iconListV2";
|
8
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
9
8
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
10
9
|
const BANNER_SPACING_KEYS = ["top", "left", "right", "bottom"];
|
11
10
|
const BannerSpacing = props => {
|
12
11
|
const {
|
12
|
+
value: val,
|
13
13
|
data,
|
14
14
|
onChange,
|
15
15
|
elementProps,
|
@@ -19,17 +19,7 @@ const BannerSpacing = props => {
|
|
19
19
|
key
|
20
20
|
} = data;
|
21
21
|
const lockKeyVal = `lock${key}`;
|
22
|
-
|
23
|
-
selectedTheme
|
24
|
-
} = useEditorTheme();
|
25
|
-
const {
|
26
|
-
bannerSpacing,
|
27
|
-
lockbannerSpacing
|
28
|
-
} = selectedTheme?.elementProps?.button || {};
|
29
|
-
const isUserValue = Object.keys(props?.value || {})?.length;
|
30
|
-
const isUserLockedSpacing = typeof elementProps[lockKeyVal] === "boolean";
|
31
|
-
const val = isUserValue ? props?.value : bannerSpacing;
|
32
|
-
let lockSpacing = isUserLockedSpacing ? elementProps[lockKeyVal] : lockbannerSpacing;
|
22
|
+
let lockSpacing = elementProps[lockKeyVal];
|
33
23
|
if (lockSpacing === undefined) {
|
34
24
|
lockSpacing = true;
|
35
25
|
}
|
@@ -3,36 +3,28 @@ import { Grid, Typography, Slider, FormControlLabel, Checkbox, Box, IconButton }
|
|
3
3
|
import { radiusStyle } from "./radiusStyle";
|
4
4
|
import useWindowResize from "../../../hooks/useWindowResize";
|
5
5
|
import { getBreakPointsValue, getCustomizationValue } from "../../../helper/theme";
|
6
|
-
import { useEditorTheme } from "../../../hooks/useEditorTheme";
|
7
6
|
import { CheckedBoxCheckIcon } from "../../iconListV2";
|
8
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
9
8
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
10
9
|
const BORDER_RADIUS_KEYS = ["topLeft", "topRight", "bottomLeft", "bottomRight"];
|
11
10
|
const BorderRadius = props => {
|
12
11
|
const {
|
12
|
+
value: val,
|
13
13
|
data,
|
14
14
|
onChange,
|
15
15
|
elementProps,
|
16
16
|
classes
|
17
17
|
} = props;
|
18
|
+
let {
|
19
|
+
lockRadius
|
20
|
+
} = elementProps;
|
21
|
+
if (lockRadius === undefined) {
|
22
|
+
lockRadius = true;
|
23
|
+
}
|
18
24
|
const {
|
19
25
|
key
|
20
26
|
} = data;
|
21
27
|
const [size] = useWindowResize();
|
22
|
-
const {
|
23
|
-
selectedTheme
|
24
|
-
} = useEditorTheme();
|
25
|
-
const {
|
26
|
-
borderRadius,
|
27
|
-
lockRadius: themeLockRadius
|
28
|
-
} = selectedTheme?.elementProps?.button || {};
|
29
|
-
const isUserValue = Object.keys(props?.value || {})?.length;
|
30
|
-
const isUserLockedRadius = typeof elementProps?.lockRadius === "boolean";
|
31
|
-
const val = isUserValue ? props?.value : borderRadius;
|
32
|
-
let lockRadius = isUserLockedRadius ? elementProps?.lockRadius : themeLockRadius;
|
33
|
-
if (lockRadius === undefined) {
|
34
|
-
lockRadius = true;
|
35
|
-
}
|
36
28
|
const value = getBreakPointsValue(val, size?.device);
|
37
29
|
const handleChange = e => {
|
38
30
|
let changeAll = {};
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import { Box, Card, Checkbox, FormControlLabel, Grid, Tooltip, Typography } from "@mui/material";
|
2
2
|
import React from "react";
|
3
3
|
import Icon from "../../Icon";
|
4
|
-
import { useEditorContext } from "../../../hooks/useMouseMove";
|
5
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
6
5
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
7
6
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
@@ -16,10 +15,7 @@ const RenderCard = ({
|
|
16
15
|
return /*#__PURE__*/_jsx(Card, {
|
17
16
|
sx: {
|
18
17
|
position: 'relative',
|
19
|
-
padding: "10px"
|
20
|
-
'& .MuiCheckbox-root svg': {
|
21
|
-
fill: 'unset !important'
|
22
|
-
}
|
18
|
+
padding: "10px"
|
23
19
|
},
|
24
20
|
children: /*#__PURE__*/_jsx(FormControlLabel, {
|
25
21
|
control: /*#__PURE__*/_jsx(Checkbox, {
|
@@ -85,9 +81,6 @@ const CardsMapping = props => {
|
|
85
81
|
selectedCard,
|
86
82
|
infoIcon
|
87
83
|
} = data;
|
88
|
-
const {
|
89
|
-
theme
|
90
|
-
} = useEditorContext();
|
91
84
|
const activeCard = value === selectedCard;
|
92
85
|
const handleChange = e => {
|
93
86
|
if (selectedCard === data?.value) {
|
@@ -106,8 +99,7 @@ const CardsMapping = props => {
|
|
106
99
|
sx: {
|
107
100
|
marginBottom: "12px",
|
108
101
|
"& .MuiPaper-root": {
|
109
|
-
|
110
|
-
border: activeCard ? "1px solid #2563EB" : `1px solid ${theme?.palette?.editor?.inputFieldBorder}`,
|
102
|
+
border: activeCard ? "1px solid #2563EB" : "1px solid #C8D8FA",
|
111
103
|
borderRadius: "8px",
|
112
104
|
boxShadow: activeCard ? "0px 4px 16px 0px #2563EB40" : "unset"
|
113
105
|
}
|
@@ -1,23 +1,14 @@
|
|
1
|
-
import React, { useEffect,
|
1
|
+
import React, { useEffect, useState } from "react";
|
2
2
|
import { Grid, TextField, InputAdornment, Typography, Tooltip } from "@mui/material";
|
3
3
|
import ColorPickerButton from "../../ColorPickerButton";
|
4
|
-
import { useSlateStatic } from "slate-react";
|
5
|
-
import { getElementStyle, getVariableValue } from "../../../helper/theme";
|
6
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
7
5
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
8
|
-
const MAP_STYLE_PROPS = {
|
9
|
-
bgColor: "background-color",
|
10
|
-
textColor: "color"
|
11
|
-
};
|
12
6
|
const Color = props => {
|
13
7
|
const {
|
14
|
-
value
|
8
|
+
value,
|
15
9
|
data,
|
16
10
|
onChange,
|
17
|
-
classes
|
18
|
-
elementProps,
|
19
|
-
handleClose,
|
20
|
-
customProps
|
11
|
+
classes
|
21
12
|
} = props;
|
22
13
|
const {
|
23
14
|
key,
|
@@ -25,20 +16,7 @@ const Color = props => {
|
|
25
16
|
hideGradient
|
26
17
|
} = data;
|
27
18
|
const [recentColors, setRecentColors] = useState({});
|
28
|
-
const
|
29
|
-
const {
|
30
|
-
value,
|
31
|
-
inputValue
|
32
|
-
} = useMemo(() => {
|
33
|
-
const isVariable = val && val.startsWith("var");
|
34
|
-
const value = isVariable ? val : getElementStyle(editor, elementProps, MAP_STYLE_PROPS[key]);
|
35
|
-
const inputValue = isVariable ? getVariableValue(val) : getElementStyle(editor, elementProps, MAP_STYLE_PROPS[key]);
|
36
|
-
return {
|
37
|
-
value: value || val,
|
38
|
-
inputValue: inputValue || val
|
39
|
-
};
|
40
|
-
}, [editor, val]);
|
41
|
-
const getLable = label === "Text" ? "Select text color" : label === "Background" ? "Select background color" : label;
|
19
|
+
const getLable = label === 'Text' ? 'Select text color' : label === 'Background' ? 'Select background color' : label;
|
42
20
|
useEffect(() => {
|
43
21
|
const storedColors = JSON.parse(localStorage.getItem("recentColors"));
|
44
22
|
if (storedColors) {
|
@@ -76,11 +54,11 @@ const Color = props => {
|
|
76
54
|
fontSize: "14px",
|
77
55
|
fontWeight: 500,
|
78
56
|
marginBottom: "5px",
|
79
|
-
display:
|
80
|
-
alignItems:
|
81
|
-
|
82
|
-
width:
|
83
|
-
height:
|
57
|
+
display: 'flex',
|
58
|
+
alignItems: 'center',
|
59
|
+
'& svg': {
|
60
|
+
width: '20px',
|
61
|
+
height: '20px'
|
84
62
|
}
|
85
63
|
},
|
86
64
|
children: [label, data?.infoIcon ? /*#__PURE__*/_jsx(Tooltip, {
|
@@ -88,14 +66,14 @@ const Color = props => {
|
|
88
66
|
title: "Note: If color gradient is used, divider styles will not apply",
|
89
67
|
children: /*#__PURE__*/_jsx("span", {
|
90
68
|
style: {
|
91
|
-
display:
|
69
|
+
display: 'inline-block'
|
92
70
|
},
|
93
71
|
children: data?.infoIcon
|
94
72
|
})
|
95
73
|
}) : null]
|
96
74
|
}), /*#__PURE__*/_jsx(TextField, {
|
97
75
|
fullWidth: true,
|
98
|
-
value:
|
76
|
+
value: value,
|
99
77
|
placeholder: getLable || `${label} color code`,
|
100
78
|
InputLabelProps: {
|
101
79
|
shrink: true
|
@@ -108,8 +86,6 @@ const Color = props => {
|
|
108
86
|
value: value,
|
109
87
|
onSave: onSave,
|
110
88
|
recentColors: recentColors[key],
|
111
|
-
handleClose: handleClose,
|
112
|
-
disableEditTheme: customProps?.disableEditTheme,
|
113
89
|
hideGradient: hideGradient
|
114
90
|
})
|
115
91
|
})
|